@@background-color:orange;''Achtung!:''@@ Einige ätherische Öle (v.a. Zitrus-Öle) wirken phototoxisch.<br/>
Verantwortlich dafür sind vor allem „Furocumarine“. Als natürliche Bestandteile der jeweiligen Pflanze erfüllen sie auch wichtige Aufgaben. (In ätherischen Ölen bestimmen sie nicht nur deren Duft, sondern auch deren spezifische positive Wirkung. Körperlich wirken Cumarine stark muskelentkrampfend, entspannend, schmerzstillend, schlaffördernd und blutdruckregulierend. Auf der seelischen Ebene wirken sie entspannend und stark stimmungsaufhellend.)<br/>Phototoxisch wirkt ein Stoff, wenn er unter Einwirkung von UV-Strahlung (Sonnenlicht, Solarium) auf der Hautoberfläche vergiftende (toxische) Wirkungen auslöst. Die toxische Wirkung zeigt sich auf zwei Arten:<br/>__Photosensibilisierend/Phototoxisch:__ Je nach Schwere kann es zu verbrennungsähnlichen Symptomen mit Hautrötung, Juckreiz, Austrocknung, Schuppenbildung, Schwellung bis zur Blasenbildung kommen. Diese Reaktion ist oft verzögert und erreicht erst nach 36-72 Stunden ihren Höhepunkt. Der akuten Entzündung folgt eine Überpigmentierung, die Wochen oder Monate dauern kann. Die Schwere der Reaktion ist von der Menge an Furocumarinen und der Dauer und Intensität der UV-Bestrahlung abhängig.<br/>__Krebserregend (carcinogen):__ Furocumarine gehen unter UV-Einwirkung Bindungen mit den Pyrimidinbasen der DNA (unser Genmaterial) ein, vernetzen so die DNA-Doppelstränge miteinander und wirken dadurch krebserregend.
Folgende ätherische Öle wirken phototoxisch (__über__ der Maximal-Konzentration):
* + Grapefruit (Citrus paradisi), max. 4% also 80 Tropfen auf 100ml
* ++ Zitrone gepresst (Citrus limon), max. 2% also 40 Tropfen auf 100ml
* ++ Bitterorange (Citrus aurantium), max. 1,25% also 25 Tropfen auf 100ml
* +++ Angelikawurzel (Angelica archangelica), max. 0,8% also 16 Tropfen auf 100ml
* +++ Limette gepresst (Citrus aurantifolia), max. 0,7% also 14 Tropfen auf 100ml
* +++ Bergamotte (Citrus bergamia), max. 0,4% also 8 Tropfen auf 100ml
* +++ Kreuzkümmel (Cumin cyminum), max. 0,4% also 8 Tropfen auf 100ml
* ++++ Mandarinenblatt (Citrus reticulata fol), max. 0,17% also 3-4 Tropfen auf 100ml
* ++++ Raute (Ruta graveolens), max. 0,15% also 3 Tropfen auf 100ml
* ++++++ Tagetes (Tagetes minuta), max. 0,01% also 0,2 Tropfen auf 100ml
__Deshalb bei diesen ätherischen Ölen:__ Maximalkonzentration beachten, oder nach Anwendung 12-18 Stunden UV-Strahlung (Sonnenlicht, Solarium) meiden, oder die Haut bedecken!<br/>__Folgende (Zitrus-)Öle wirken nicht phototoxisch:__ Süße Orange kaltgepresst (Citrus sinensis), Mandarine/Tangerine kaltgepresst (Citrus reticulata), Satsuma kaltgepresst (Citrus unshio), Yuzu kaltgepresst (Citrus junos), Zitronenblatt (Citrus limon fol).
<div style="text-align: center"> @@font-family: 'Kaushan Script';font-size:2.3em;line-height:0.1em;color:Crimson;''Schön, dass Du zu meiner Seite gefunden hast :-)''@@</div>
Dieses Wiki hat 2 Bereiche (TiddlyWiki-Anleitung + Körperpflege- & Reinigungsmittel selbst herstellen)- Du kannst gleich direkt dorthin navigieren.<br/>
Es basiert auf Tiddlywiki ([[https://tiddlywiki.com/]]), einem unglaublich funktionsreichen, erweiterbaren & flexiblen Notizbuch.<br/>
@@color:red;__Achtung:__@@ Die Seitenleiste ist bei mobilen Geräten oben- sie funktioniert leider auf //manchen// Mobilgeräten nicht!
<div style="text-align: center"> __Die zwei Bereiche sind:__ </div>
<div style="border-left: 10px solid #EADDFE; border-right: 10px solid #EADDFE; border-bottom: 7px solid #EADDFE;
background-color: #EADDFE;"><div style="text-align: center">@@font-family: 'Kaushan Script';font-size:2.2em;line-height:1.5em;text-align:center;color:Purple;Tiddlywiki-Anleitung@@<br/>
@@font-size:0.9em;(Kannst Du überspringen, wenn Du Dich nur für die Selbstrührerei interessierst!)@@</div>
@@display: block;margin-left: auto;margin-right: auto;width: 30%;<$reveal type="nomatch" state="$:/state/SampleRevealHWTW-A" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHWTW-A" setTo="show">Tiddlywiki-Interessierte bitte hier klicken</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHWTW-A" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHWTW-A" setTo="hide">@@color:red;Verstecke "Tiddlywiki-Interessierte bitte hier klicken"@@</$button>
{{Tiddlywiki-Anleitung für Interessierte}}
</$reveal>
</div><br/>
<div style="border-left: 10px solid #DBFAFA; border-right: 10px solid #DBFAFA;
background-color: #DBFAFA;"><div style="text-align: center"> @@font-family: 'Kaushan Script';font-size:2.2em;line-height:1.5em;text-align:center;color:Purple;Körperpflege & Reinigungsmittel absolut Palmöl-frei selbst herstellen@@ </div><br/>
<style>
.tooltip {
position: relative;
display: inline-block;
}
.tooltip .tooltiptext {
width: 120px;
top: 100%;
left: 50%;
margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}
.tooltip .tooltiptext {
visibility: hidden;
width: 220px;
top: 100%;
left: 50%;
margin-left: -80px; /* Use half of the width (120/2 = 60), to center the tooltip */
background-color: Violet;
color: white;
text-align: center;
border-radius: 6px;
padding: 5px 0;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
</style>
<div style="text-align: center;">
<div class="tooltip">[img width=142 [https://share-your-photo.com/img/d56deb0b35.jpg]]
<span class="tooltiptext">[[Duschbar (Dusch-'Seife')]]</span></div>
<div class="tooltip">[img width=81 [https://share-your-photo.com/img/b8d0abe930.jpg]]
<span class="tooltiptext">[[Geruchsentferner-Spray- ideales Einsteiger-Rezept]]</span></div>
<div class="tooltip">[img width=141 [https://share-your-photo.com/img/5139cfcac4.jpg]]
<span class="tooltiptext">[[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]</span></div>
<div class="tooltip">[img width=116 [https://share-your-photo.com/img/db62248c60.jpg]]
<span class="tooltiptext">[[Handwaschbar für Handwerker, rückfettend]]</span></div>
<div class="tooltip">[img width=140 [https://share-your-photo.com/img/8832ccf3ca.jpg]]
<span class="tooltiptext">[[Handmelt (Handcreme am Stück)]]</span></div>
<div class="tooltip">[img width=126 [https://share-your-photo.com/img/b14f71bbb9.jpg]]
<span class="tooltiptext">[[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]]</span></div>
<div class="tooltip">[img width=126 [https://share-your-photo.com/img/53e30c5adb.jpg]]
<span class="tooltiptext">[[Handwaschbar Olivenschaf ('Handseife')]]</span></div> <br/><br/>
<div class="tooltip">[img width=90 [https://share-your-photo.com/img/66f5524dd1.jpg]]
<span class="tooltiptext">[[Allesreiniger- gutes Einsteiger-Rezept]]</span></div>
<div class="tooltip">[img width=142 [https://share-your-photo.com/img/a6610466ce.jpg]]
<span class="tooltiptext">[[Handwaschbar Kokos-Roggen ('Handseife')]]</span></div>
<div class="tooltip">[img width=142 [https://share-your-photo.com/img/5139cfcac4.jpg]]
<span class="tooltiptext">[[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]</span></div>
<div class="tooltip">[img width=80 [https://share-your-photo.com/img/83faad15c2.jpg]]
<span class="tooltiptext">[[Trockenshampoo]]</span></div>
<div class="tooltip">[img width=80 [https://share-your-photo.com/img/bc8e4b4957.jpg]]
<span class="tooltiptext">[[Fensterreiniger- perfektes Einsteigerrezept]]</span></div>
<div class="tooltip">[img width=80 [https://share-your-photo.com/img/f7156c5aa0.jpg]]
<span class="tooltiptext">[[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]</span></div>
<div class="tooltip">[img width=80 [https://share-your-photo.com/img/e3a88e57a7.jpg]]
<span class="tooltiptext">[[Kalkentferner- ideales Einsteiger-Rezept]]</span></div>
<div class="tooltip">[img width=80 [https://share-your-photo.com/img/217d971287.jpg]]
<span class="tooltiptext">[[Waschpulver (Buntwaschmittel)]]</span></div>
<div class="tooltip">[img width=80 [https://share-your-photo.com/img/110286a7ab.jpg]]
<span class="tooltiptext">[[Antibakterielle Mundspülung- ideales Einsteiger-Rezept]]</span></div> <br/><br/>
<div class="tooltip">[img width=141 [https://share-your-photo.com/img/aa32769515.jpg]]
<span class="tooltiptext">[[Massagebar]]</span></div>
<div class="tooltip">[img width=79 [https://share-your-photo.com/img/107404ea29.jpg]]
<span class="tooltiptext">[[Lippenpflegestift]]</span></div>
<div class="tooltip">[img width=79 [https://share-your-photo.com/img/72e684d838.jpg]]
<span class="tooltiptext">[[Cremespülung für feines trockenes Haar]]</span></div>
<div class="tooltip">[img width=120 [https://share-your-photo.com/img/d674a648ed.jpg]]
<span class="tooltiptext">[[Hair Repair / Haarspitzenfluid]]</span></div>
<div class="tooltip">[img width=140 [https://share-your-photo.com/img/4277dadc5c.jpg]]
<span class="tooltiptext">[[Zahnpasta]]</span></div>
<div class="tooltip">[img width=140 [https://share-your-photo.com/img/fe385a2259.jpg]]
<span class="tooltiptext">[[Deostick]]</span></div>
<div class="tooltip">[img width=140 [https://share-your-photo.com/img/85a80b410d.jpg]]
<span class="tooltiptext">[[Deocreme im Döschen- ideales Einsteiger-Rezept]]</span></div>
</div> <br/><br/>
<div style="text-align: center;font-size: 1.6em;line-height:1.1em;">''[[Zum Einstieg / Für Anfänger|5. Zum Einstieg / Für Anfänger]]''<br/>@@font-size:0.6em; (Link für Einsteiger-Rezepte & allgemeine Hinweise zur Selbstrührerei)@@</div><br/><br/>
<div style="text-align: center;font-size: 1.6em;">[[Benutzungstips für dieses Wiki|1. Benutzungstips für dieses Wiki]]<br/><br/>@@font-size:0.6em;line-height:0.8em; (Denn dieses Wiki funktioniert anders als typische Webseiten >> z.B. keine Navigation über "zurück", Ausklappfunktion der Unterkapitel in der Seitenleiste, was sind bitte "Tiddler", usw. In den Benutzungstips erfährst Du auch, wie Du die manchmal nervige Preview deaktivieren kannst)@@</div><br/><br/>
@@display: block;margin-left: auto;margin-right: auto;width: 48%;<$reveal type="nomatch" state="$:/state/SampleRevealHW2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW2" setTo="show">Warum Körperpflegemittel & Reinigungsmittel selbst herstellen?</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHW2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW2" setTo="hide">@@color:red;Verberge "Warum Körperpflegemittel & Reinigungsmittel selbst herstellen?"@@</$button>
Aus diesen Gründen stelle ich meine Mittel größtenteils selbst her:
* Palmölvermeidung
* Müllreduzierung / Plastikvermeidung
* Insgesamt umweltverträglicher
* Du kannst selbst entscheiden, was drin ist & was nicht oder in welcher Dosierung. Dadurch:
** hast Du die Möglichkeit, auf schädliche Substanzen zu verzichten, wie z.B. Parabene, Silikone, reizende Stoffe, Konservierungsmittel, Duftstoffe, Farbstoffe, etc. Dadurch gesünder für Dich.<br/>Übrigens: Wusstest Du, dass Der "keine-Tränen-mehr"-Effekt im Babyshampoo durch Laurylalkohol als Ausgangsstoff erreicht wird / wurde? Es betäubt die Augen, deshalb spüren die Babys / Kinder den Schmerz nicht mehr... War früher definitiv Bestandteil von Babyshampoos. Ob heute auch noch, konnte ich bis jetzt noch nicht herausfinden- aber, dass es nachwievor in einigen Erwachsenenshampoos enthalten ist. Das nur als Beispiel, wie unsere Verbraucherwünsche von der Industrie umgesetzt werden.
** und Du kannst Deine Mittel speziell auf Deine Bedürfnisse abstimmen. Sie sind individueller. Z.B. alle Körperpflegemittel mit demselben Duft versehen oder ganz ohne Duft.
* Macht Spaß
* Spart langfristig Geld
* Du hast wundervolle Geschenke für Deine Lieben
</$reveal>
@@display: block;margin-left: auto;margin-right: auto;width: 28%;<$reveal type="nomatch" state="$:/state/SampleRevealHW3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW3" setTo="show">Was ist denn so schlimm am Palmöl?</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHW3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW3" setTo="hide">@@color:red;Verberge "Was ist denn so schlimm am Palmöl?"@@</$button>
{{1. Was ist denn so schlimm am Palmöl?}}
</$reveal>
@@display: block;margin-left: auto;margin-right: auto;width: 44%;<$reveal type="nomatch" state="$:/state/SampleRevealHW4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW4" setTo="show">Aussichtslos? Nein, und der Aufwand ist gar nicht so groß!</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHW4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW4" setTo="hide">@@color:red;Verberge "Was ist denn so Aussichtslos? Nein, und der Aufwand ist gar nicht so groß!"@@</$button>
{{2. Aussichtslos? Nein, und der Aufwand ist gar nicht so groß!}}
</$reveal>
@@display: block;margin-left: auto;margin-right: auto;width: 32.5%;<$reveal type="nomatch" state="$:/state/SampleRevealHW5" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW5" setTo="show">Weitere Palmöl-Vermeidungsmöglichkeiten</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHW5" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW5" setTo="hide">@@color:red;Verberge "Weitere Palmöl-Vermeidungsmöglichkeiten"@@</$button>
{{3. Weitere Palmöl-Vermeidungsmöglichkeiten}}
</$reveal>
@@display: block;margin-left: auto;margin-right: auto;width: 40%;<$reveal type="nomatch" state="$:/state/SampleRevealHW6" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW6" setTo="show">Palmöl in den Zutatenlisten erkennen (Deklarationen)</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHW6" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW6" setTo="hide">@@color:red;Verberge "Palmöl in den Zutatenlisten erkennen (Deklarationen)"@@</$button>
{{4. Palmöl in den Zutatenlisten erkennen (Deklarationen)}}
</$reveal>
@@display: block;margin-left: auto;margin-right: auto;width: 31.5%;<$reveal type="nomatch" state="$:/state/SampleRevealHW7" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW7" setTo="show">Ziel: Statt Vermeidung- Faires Bio-Palmöl!</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHW7" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW7" setTo="hide">@@color:red;Verberge "Ziel: Statt Vermeidung- Faires Bio-Palmöl!"@@</$button>
{{4. Ziel: Statt Vermeidung- Faires Bio-Palmöl!}}
</$reveal>
<div style=>
!!<div style="text-align: center"> @@text-align:center;Charakter meiner Rezepte@@ </div>
Ich bin kein "meine Wäsche wasch ich mit gesammelten Kastanien oder Efeublättern"-Typ.<br/>
Sondern mir ist wichtig, dass die Selbstrührerei alltagstauglich & Arbeitnehmer-freundlich ist. Also
# die Herstellung zügig geht,
# die Rohstoffe ganzjährig erhältlich sind,
# das ganze einigermaßen haltbar ist und
# die Ergebnisse den käuflichen Produkten so gut wie ebenbürtig sind.
Und: Tatsächlich ist das, was ich bisher hergestellt habe, zu 95% mit den käuflichen Produkten vergleichbar :-)
@@display: block;margin-left: auto;margin-right: auto;width: 36%;<$reveal type="nomatch" state="$:/state/SampleRevealHWWIümR" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHWWIümR" setTo="show">Zeige Weitere Infos über meine Rezepte & mich</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHWWIümR" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHWWIümR" setTo="hide">@@color:red;Verberge "Weitere Infos über meine Rezepte & mich"@@</$button>
"""
''Wer bin ich?''
Ich bin Erzieherin. Habe also nicht das Fachwissen einer Ärztin, Kosmetikerin oder Chemikerin. Ich poste hier einzig & allein meine Erfahrungen und mein selbst angeeignetes Wissen von Beratungen (z.B. der Inhaberin von [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover) und angelesenes Wissen. Ich empfinde mich aber noch als Anfängerin in Sachen Selbstrührerei.
Auch bin ich keine Fotografin oder Designerin und habe auch nur wenig Wissen, was Computer/Software/Webdesign/"Computersprachen" angeht. Sieh mir also bitte eventuelle Mängel diesbezüglich nach.
''Wie hab ich die Kosten in den Rezepten berechnet?''
Die angegebenen Kosten sind nur als kleiner Anhaltspunkt zu verstehen, da es bei den meisten Produkten verschiedene Packungsgrößen gibt. Ich habe jeweils die Packungsgröße zum Berechnen genommen, welche ich selbst verwende. Bei Zutaten, die ich viel brauche, sind das große günstigere; bei Zutaten, die schnell verderblich sind / die ich wenig brauche, sind es kleine teurere. Ich kaufe hauptsächlich in Bioqualität ein.
''Bei allen Rezepten (v.a. für Haut- & Haarpflege) gilt:''
Jede Haut & jedes Haar reagiert anders. So ist eine z.B. eine Creme für trockene Haut nicht für alle Menschen mit trockener Haut perfekt. Es wird oftmals nicht ausbleiben, dass Du noch ein wenig experimentieren musst, bis Du das für Dich perfekte Rezept gefunden hast oder ein Rezept so verändert hast, bis es für Dich passt.
"""
</$reveal>
@@display: block;margin-left: auto;margin-right: auto;width: 41%;<$reveal type="nomatch" state="$:/state/SampleRevealHWWgehkRffS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHWWgehkRffS" setTo="show">Zeige "Warum gibt es hier kein Rezept für feste Seife?"</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealHWWgehkRffS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHWWgehkRffS" setTo="hide">@@color:red;Verberge "Warum gibt es hier kein Rezept für feste Seife?"@@</$button>
Palmölfrei kann man feste Seife nur herstellen, indem man Seife siedet. Und das ist
# Nicht ganz einfach (man muss bestimmte Zutatenproportionen zueinander vorher exakt ausrechnen & diese Mengen dann auch exakt einhalten, sonst kann die Seife unbrauchbar werden).
# Es ist nicht ganz ungefährlich (man kann sich die Augen verätzen, wenn man unvorsichtig ist).
# Es ist wesentlich aufwändiger als die "Rührerei".
# Die Seife muss nach der Herstellung noch 4-6 Wochen reifen.
Aber: Irgendwann werde ich mich auch an diese Königsdisziplin wagen :-) Bis jetzt traue ich mich aber noch nicht daran...
Allerdings habe ich nun eine Alternative gefunden: Duschbars / Shampoobars, die man einfach & schnell rühren kann. Zu benutzen wie Seife. Ich bin noch am Entwickeln von Rezepten- ich denke, in ein paar Wochen sind sie bereit zum Veröffentlichen :-)
</$reveal><br/>
<div style="border: 10px solid pink;
background-color:pink;">
@@font-size:1.3em;Es gibt 3 Möglichkeiten, nach Rezepten, Zubehör, Zutaten & Anbietern zu suchen:@@
# @@font-size:1.2em;Hier unten in diesem "Willkommen"-Tiddler. @@@@font-size:0.9em;Alles, was blau ist, sind Links. __@@color:darkred;Um in den entsprechenden Unterkategorien zu schauen, klicke den jeweiligen Pfeil {{$:/core/images/right-arrow}} links daneben an@@__. Du musst allerdings knapp links neben den Pfeil klicken, denn sonst öffnest Du den entsprechenden Tiddler anstatt die Unterkategorie sichtbar zu machen.@@<br/><br/>
# @@font-size:1.2em;Rechts in der Seitenleiste. @@@@font-size:0.9em;Eigentlich das gleiche wie unter Punkt 1. Nur, dass die Seitenleiste immer sichtbar ist- egal wo Du bist.@@<br/><br/>
# @@font-size:1.2em;Per multipler Tag-Suche mit dem <$button>
<$action-navigate $to="Erweiterte Suche per Multipler Tags"/>
[img width=18 [http://up.picr.de/31710437mv.jpg]]
</$button>-Button rechts oben in der Seitenleiste (funktioniert aber auch hier!). @@@@font-size:0.9em;Tags sind Schlagwörter / Stichwörter, mit deren Hilfe Du -auch in kombinierter Form- suchen kannst. Z.B.: "Finde alle Rezepte zur Haarpflege, aber nur für feine Haare und nur getestete Rezepte". Außerdem kannst Du dort auch nach Zutaten suchen, die bestimmte / mehrere Kriterien erfüllen. Z.B., um ein Rezept zu kreieren oder eine Zutat aus einem Rezept auszuwechseln.@@
</div><br/>
<div style="border-left: 10px solid #DBFAFA; border-right: 10px solid #DBFAFA;
background-color: #DBFAFA;"><br/>
<div style=> </div>
<div style="text-align: center"> @@text-align:center;font-size: 1.8em;line-height:1.1em;''[[Neuigkeiten|8. Neuigkeiten]]''@@<br/>@@font-size:0.85em; (Was sich in den letzten 365 Tagen hier getan hat)@@ </div><br/><br/>
@@font-size:1.4em;[[Wissen|6. Wissen]]@@
<div class="tc-table-of-contents">
<<toc-selective-expandable '6. Wissen' ![$:/temp/pptg-taggroup]sort[title]>>
</div><br/>
@@font-size:1.4em;[[Rechner|7. Rechner]]@@
<div class="tc-table-of-contents">
<<toc-selective-expandable '7. Rechner' ![$:/temp/pptg-taggroup]sort[title]>>
</div><br/>
@@font-size:1.4em;[[Palmölhaltige Zutaten, INCIs verstehen]]@@
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Palmölhaltige Zutaten, INCIs verstehen' ![$:/temp/pptg-taggroup]sort[title]>>
</div><br/>
@@font-size:1.4em;[[Rezepte]]@@
@@font-size:0.85em;So gut wie alle selbstkonservierend, ohne Aluminium, Parabene, Farbstoffe. Mit Fotos, Anleitung, Zubereitungszeit, Wirkungsweise, Links zu den Zutaten & benötigtem Zubehör und Kosten. Die Rezepte sind außerdem skalierbar. Es werden mit der Zeit noch mehr Rezepte dazu kommen :-)@@
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Rezepte' ![$:/temp/pptg-taggroup]sort[title]>>
</div><br/>
@@font-size:1.4em;[[Zubehör & Anbieter f. Zutaten / Zubehör]]@@
@@font-size:0.85em;Zubehör mit Fotos, "Erhältlich bei", möglichen Alternativen & Links zu den Rezepten, in welchen sie benötigt werden.
Anbieter mit Links und teilweise Zusatzinfo.@@
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Zubehör' ![$:/temp/pptg-taggroup]sort[title]>>
</div><br/>
@@font-size:1.4em;[[Zutaten (Palmölfrei, nach Zutatenart sortiert)|Zutaten 1 (Palmölfrei, nach Zutatenart sortiert)]]@@
@@font-size:0.85em;Alle Zutaten haben Listen, in welchen getesteten Rezepten und in welchen ungetesteten Rezepten sie benötigt werden. Zutaten aus getesteten Rezepten haben zusätzlich Fotos, Ursprung/Beschreibung, z.T. INCI-Bezeichnung, z.T. Inhaltsstoffe, Besonderheit/kosmetische Wirkung, z.T. Einsatzkonzentration, Verarbeitungstips, Lagerung, "Was muss ich beachten", "Erhältlich bei", Kauftips, Tips für die Verarbeitung und insbesondere bei Ölen/Fetten noch weitere Infos. Langfristig werden alle Zutaten diese ausführlichen Infos erhalten. Und ich werde langfristig auch noch viele weitere Zutaten listen!@@
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Zutaten 1 (Palmölfrei, nach Zutatenart sortiert)' ![$:/temp/pptg-taggroup]sort[title]>><br/>
@@font-size:1.4em;[[Zutaten (Palmölfrei, nach Einsatzgebiet sortiert)|Zutaten 2 (Palmölfrei, nach Einsatzgebiet sortiert)]]@@
@@font-size:0.85em;Siehe oben@@
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Zutaten 2 (Palmölfrei, nach Einsatzgebiet sortiert)' ![$:/temp/pptg-taggroup]sort[title]>><br/>
@@font-size:1.4em;[[Zutaten (Palmölfrei, nur nach A-Z sortiert)|Zutaten 3 (Palmölfrei, nur nach A-Z sortiert)]]@@
@@font-size:0.85em;Siehe oben@@<br/><br/>
{{ÄtherischeÖleParfümöle}}
<br/>
''Anbieter'': Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover und bei Spinnrad generell (online). Auch in manchen Bioläden.
!!Diese ätherischen Öle brauchst Du für die getesteten Rezepte:
<$list filter="[tag[1RezeptGetestet]tags[]tag[.ÄtherischeÖleParfümöle]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
* [[Parfumöl|.ÄtherischeÖleParfümöle]] @@font-size:0.9em;(Wenn Du möchtest, kannst Du alle Deine Rezepte beduften- musst Du aber natürlich nicht. Es gibt unendlich viele Düfte zur Auswahl, die Du wiederum untereinander kombinieren kannst- INDIVIDUAL TOTAL ;-)) )@@<br/><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[.ÄtherischeÖleParfümöle]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Die erwähnten ätherischen Öle kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[.ÄtherischeÖleParfümöle]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""10 gr Lanolin anhyd.
10 gr Calendulaöl
10 gr Shea
20 gr. dest. Wasser
5 gr Calendulaextrakt (ungefähr 2 ML)
1-2 Tropfen ätherisches Öl nach Wunsch; wir haben das Calendulaschaf unparfümiert und ohne zusätzliche Konservierung. (Siehe Anjas Rezept)
Zubereitung:
Zuerst das Lanolin allein schmelzen. Das destillierte Wasser abkochen und in einem eigenen Gefäss mit dem Lanolin im Wasserbad halten, damit beides in etwa die gleiche Wärme hat.
Wenn das Lanolin geschmolzen ist, aus dem Wasserbad nehmen, die Sheabutter vorsichtig drin aufschmelzen. Wenn Wasser und Lanolin-Shea-Mischung handwarm sind, beides zusammengiessen und kalt rühren. Lanolin gelingt (mir) besser, wenn ich geduldig rühre und auf die Temperatur der Wasserphase achte.
Wenn eine schöne Emulsion entstanden ist und die Basiscreme Zimmertemperatur hat, das Calendulaöl und den Calendula-Extrakt einrühren.
Parfümieren nach Wunsch.
Variationen:
Die Creme wird etwas matter mit 5 Plättchen gelbem Bienenwachs oder 0.5 gr Cethylalkohol im Lanolin aufgeschmolzen.
Ein Meßlöffel Honig im handwarmen Wasser aufgelöst tut ebenfalls sehr gut.
Ich habe das "Calendulaschaf" gerührt, in Ermangelung des Calendulaextraktes aber Manuka-Honig hinzugegeben .
Ich verwende sie als Handcreme und sie bekommt 100 Punkte dafür! Sie zieht relativ gut ein und macht zarte, geschmeidige Pfoten.
hab ich mich nun auch mal ans Calendula-Schaf gemacht, allerdings mit Urea und Glycerin. Suuuuper - zieht weg wie nix und macht superzarte Streichelpfötchen!
"""3,5 g Avocadoöl grün
4 g Reiskeimöl
1 g Emulsan
2 g Tego
1,5 g Sheabutter
28 g Wasser
Wirkstoffe:
1 ML Gurkenextrakt (selber angesetzt)
1 kl ML Harnstoff
1 kl ML Panthenol
1 Msp. Hyaluronsäure
Etwas von der Wasserphase abnehmen, erwärmen und darin den Harnstoff vorlösen, Hysäure in etwas Weingeist vorlösen und dazugeben.
Fettphase schmelzen wie gewohnt, Shea erst am Schluß ohne Hitze schmelzen lassen.
Mit der Wasserphase mischen, schön kaltrühren, dann die Wirkstoffe dazugeben.
Gibt eine leicht grünliche, sahnige Creme.
Ich habe übrigens zum ersten Mal mit Weingeist konserviert. Ich hab das Paraben zwar immer gut vertragen, aber vom Gefühl her bin ich mir nie so richtig einig gewesen.
Mal sehen, wie sich meine neue Tagespflege im Alltag bewährt.
Hab sie natürlich gleich probiert. 1. Eindruck: zieht schön ein und hinterläßt ein feines Gefühl auf der Haut.
Gurkenextrakt:
Für den Gurkenextrakt habe ich einfach ein Stück Salatgurke (vielleicht so 5 cm) grob geraspelt, in ein Glas mit Schraubdeckel gegeben, und das mit Wodka übergossen. Das ganze stand dann bei mir am Küchenfenster, so ca. 2 Wochen lang.
Nach den 2 Wochen erst durch ein grobes Teesieb abgießen und dann die Flüssigkeit durch einen Papier-Teefilter sieben.
Dann einfach in Braunglasfläschchen umfüllen.
Riecht dann gar nicht mehr so nach Alkohol, sondern ganz angenehm nach Gurke.
<<showmenu "$(currentTiddler)$">>
<<showmenu "$(currentTiddler)$">>
!!!Alle Tiddler, die mit ♥ getaggt sind:
<div style="margin-left:2em;">
<$list filter="[tag[♥]]" emptyMessage="Keine" >
<li><$link><<currentTiddler>></$link></li>
</$list>
</div>
.gcom_hook {position: relative; width: 110%;}
.gcom_form {position: absolute; left: -30px; top: -300px; clip:rect(310px 400px 540px 40px); overflow:hidden; display:inline-block;border:0px solid yellow;}
.gcom_heightfiller {height:11em;}
\define lingo-base() $:/language/EditTemplate/
\define config-title()
$:/config/EditTemplateFields/Visibility/$(currentField)$
\end
\define config-filter()
[[hide]] -[title{$(config-title)$}]
\end
\define new-field-inner()
<$reveal type="nomatch" text="" default=<<name>>>
<$button>
<$action-sendmessage $message="tm-add-field" $name=<<name>> $value=<<value>>/>
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
<<lingo Fields/Add/Button>>
</$button>
</$reveal>
<$reveal type="match" text="" default=<<name>>>
<$button>
<<lingo Fields/Add/Button>>
</$button>
</$reveal>
\end
\define new-field()
<$set name="name" value={{$:/temp/newfieldname}}>
<$set name="value" value={{$:/temp/newfieldvalue}}>
<<new-field-inner>>
</$set>
</$set>
\end
\define config-caption()
<$list filter="[<currentTiddler>has[$(currentField)$-caption]]">
<span style="color:gray;font-size:90%;">{{!!$(currentField)$-caption}}</span>
</$list>
\end
\define deleteTid()
<$action-deletetiddler $tiddler="$(tmpTid)$"/>
\end
\define setField()
<$action-setfield $tiddler=<<currentTiddler>>
$(configFld)$="""$(tempFieldValue)$""" />
\end
\define undoField()
<$action-deletefield $tiddler=<<tmpTid>> $(currentField)$ />
\end
<$list filter="[all[current]has[configs]]">
<$set name="tmpTid" value="$:/temp/ConfigsFields" >
<div class="tc-edit-fields">
<table class="tc-edit-fields">
<tbody>
<$list filter="[all[current]list[!!configs]]" variable="currentField">
<$list filter=<<config-filter>> variable="temp">
<tr class="tc-edit-field">
<td class="tc-edit-field-name" style="vertical-align: bottom;">
<$text text=<<currentField>>/>:</td>
<td class="tc-edit-field-value">
<<config-caption>>
<$list variable="placeholdervalue" filter="[all[current]get<currentField>]">
<$edit-text tiddler=<<tmpTid>> field=<<currentField>> placeholder=<<placeholdervalue>> />
</$list>
</td>
<td class="tc-edit-field-remove" style="vertical-align: bottom;">
<$button class="tc-btn-invisible">
<<undoField>>
<span style="padding-right:1em;">{{$:/core/images/refresh-button}}</span>
</$button>
</td>
</tr>
</$list>
</$list>
</tbody>
</table>
</div>
<$button style="float:right; margin-top:-.7em;">
<$list filter="[all[current]list[!!configs]]" variable="configFld">
<$list variable="tempFieldValue" emptyValue="oo"
filter="[<tmpTid>get<configFld>]">
<<setField>>
</$list>
<<deleteTid>>
</$list>
<$action-navigate $to=<<currentTiddler>>/>
Click to confirm
</$button>
</$set>
</$list>
\define config-title()
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
\define googtid()
https://docs.google.com/forms/$(form-id)$/viewform?entry.$(entry-id)$=$(tid)$&?embedded=true
\end
<$button popup=<<qualify "$:/state/popup/comment">> tooltip="Klick mich für eine Frage / Kommentar zu diesem Tiddler :-)" class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{img/comment}}
</$list>
</$button><$reveal state=<<qualify "$:/state/popup/comment">> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<div class="gcom_hook"><div class="gcom_form" >
<$vars tid={{!!title}}
form-id={{$:/_TWaddle/plugins/GComment!!form-id}}
entry-id={{$:/_TWaddle/plugins/GComment!!entry-id}}>
<iframe src=<<googtid>> scrolling="no" frameborder="1px" overflow="hidden" overflow-y="scroll" width="550px" height="500px" >Loading iframe...</iframe>
</$vars>
</div></div>
<div class="gcom_heightfiller"></div>
</div>
</$reveal>
/*\
title: $:/.tb/modules/filters/case.js
type: application/javascript
module-type: filteroperator
Filter operator modifying the case
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Export our filter function
*/
exports.case = function(source,operator,options) {
var results = [],
mode = operator.suffix;
source(function(tiddler,title) {
switch (mode) {
case "upper":
results.push(title.toUpperCase());
break;
case "lower":
results.push(title.toLowerCase());
break;
default:
results.push(title);
}
});
return results;
};
})();
/*\
title: $:/.tb/modules/macros/filterby.js
type: application/javascript
module-type: macro
<<filter-by variablename>>
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
A js macro retrieving a filter for selected options of categories
*/
exports.name = "filterby";
exports.params = [
{ name: "variable" },
{ name: "base" },
{ name: "join" },
{ name: "tiddler" }
];
/*
Run the macro
*/
exports.run = function(variable, base, join, tiddler) {
var mode,filter= "",self=this,
cats = this.getVariable(variable ? variable : "categories");
join = join || "tag";
base = this.getVariable(base ? base : "base");
tiddler = $tw.wiki.getTiddler(tiddler || this.getVariable("currentTiddler"));
mode = tiddler.getFieldString("filterby-mode");
$tw.utils.each(
$tw.utils.parseStringArray(cats),
function(c){
if(tiddler.getFieldString(c.toLowerCase()) !== "") {
$tw.utils.each(
self.wiki.getTiddlersWithTag(c),
function(o) {
if(tiddler.getFieldString(c.toLowerCase() + "-" + o.toLowerCase())) {
filter +=
(mode && filter ? "+" : "") +
"[" + base + join + "[" + o + "]]";
}
}
);
}
}
);
if(filter === "") {
filter = "[" + base + "]";
}
return filter;
};
})();
<dt><<lnk>></dt>
<dd>
<$list filter=<<categories>> variable="category">
<$list filter="[all[current]tags[]tag<category>]" variable="tag">
<$list filter="[<tag>] -[<mainCategory>] -[<subCategory>]">
@@font-size:0.8em;<<tag>>,@@
</$list>
</$list>
</$list>
<$list filter="[all[current]]">
@@font-size:0.8em;color:grey;(<$view field="created" format="date" template="DD.MM.YYYY"/>)@@
</$list>
</dd>
<$vars mainCategory=<<currentTiddler>>>
<$list filter="AlleRezepteGetestetUndUngetestet RezeptKategorie BedürfnisseProblemfelderEinsatzgebiete GetesteteRezepteMitDieserVerwendetenZutat " variable="category">
<$list filter="[all[current]tag<category>tagging[]limit[1]]" variable="none">
<h2>Rezepte</h2>
<dl>
<$list filter="[all[current]tag<category>tagging[]]" template="$:/.tb/templates/recipe-search"/>
</dl>
</$list>
<$list filter="[all[current]field:title<category>]">
<$list filter="[all[current]tagging[]]">
<$vars subCategory=<<currentTiddler>>>
<$list filter="[all[current]tagging[]limit[1]]" variable="none">
<h3><<lnk>></h3>
<dl>
<$list filter="[all[current]tagging[]]" template="$:/.tb/templates/recipe-search"/>
</dl>
</$list>
</$vars>
</$list>
</$list>
</$list>
</$vars>
<div class="tc-advanced-search">
<<tabs "[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]" "$:/core/ui/AdvancedSearch/System">>
</div>
Körperpflege/Reinigung-DIY
$:/core/ui/EditTemplate/tags
{
"tiddlers": {
"$:/Acknowledgements": {
"title": "$:/Acknowledgements",
"type": "text/vnd.tiddlywiki",
"text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
},
"$:/core/copyright.txt": {
"title": "$:/core/copyright.txt",
"type": "text/plain",
"text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2017, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
},
"$:/core/icon": {
"title": "$:/core/icon",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
},
"$:/core/images/advanced-search-button": {
"title": "$:/core/images/advanced-search-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M74.5651535,87.9848361 C66.9581537,93.0488876 57.8237115,96 48,96 C21.490332,96 0,74.509668 0,48 C0,21.490332 21.490332,0 48,0 C74.509668,0 96,21.490332 96,48 C96,57.8541369 93.0305793,67.0147285 87.9377231,74.6357895 L122.284919,108.982985 C125.978897,112.676963 125.973757,118.65366 122.284271,122.343146 C118.593975,126.033442 112.613238,126.032921 108.92411,122.343793 L74.5651535,87.9848361 Z M48,80 C65.673112,80 80,65.673112 80,48 C80,30.326888 65.673112,16 48,16 C30.326888,16 16,30.326888 16,48 C16,65.673112 30.326888,80 48,80 Z\"></path>\n <circle cx=\"48\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"28\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"68\" cy=\"48\" r=\"8\"></circle>\n </g>\n</svg>"
},
"$:/core/images/auto-height": {
"title": "$:/core/images/auto-height",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-auto-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M67.9867828,114.356363 L67.9579626,99.8785426 C67.9550688,98.4248183 67.1636987,97.087107 65.8909901,96.3845863 L49.9251455,87.5716209 L47.992126,95.0735397 L79.8995411,95.0735397 C84.1215894,95.0735397 85.4638131,89.3810359 81.686497,87.4948823 L49.7971476,71.5713518 L48.0101917,79.1500092 L79.992126,79.1500092 C84.2093753,79.1500092 85.5558421,73.4676733 81.7869993,71.5753162 L49.805065,55.517008 L48.0101916,63.0917009 L79.9921259,63.0917015 C84.2035118,63.0917016 85.5551434,57.4217887 81.7966702,55.5218807 L65.7625147,47.4166161 L67.9579705,50.9864368 L67.9579705,35.6148245 L77.1715737,44.8284272 C78.7336709,46.3905243 81.2663308,46.3905243 82.8284279,44.8284271 C84.390525,43.2663299 84.390525,40.7336699 82.8284278,39.1715728 L66.8284271,23.1715728 C65.2663299,21.6094757 62.73367,21.6094757 61.1715729,23.1715729 L45.1715729,39.1715729 C43.6094757,40.73367 43.6094757,43.26633 45.1715729,44.8284271 C46.73367,46.3905243 49.26633,46.3905243 50.8284271,44.8284271 L59.9579705,35.6988837 L59.9579705,50.9864368 C59.9579705,52.495201 60.806922,53.8755997 62.1534263,54.5562576 L78.1875818,62.6615223 L79.9921261,55.0917015 L48.0101917,55.0917009 C43.7929424,55.0917008 42.4464755,60.7740368 46.2153183,62.6663939 L78.1972526,78.7247021 L79.992126,71.1500092 L48.0101917,71.1500092 C43.7881433,71.1500092 42.4459197,76.842513 46.2232358,78.7286665 L78.1125852,94.6521971 L79.8995411,87.0735397 L47.992126,87.0735397 C43.8588276,87.0735397 42.4404876,92.5780219 46.0591064,94.5754586 L62.024951,103.388424 L59.9579785,99.8944677 L59.9867142,114.32986 L50.8284271,105.171573 C49.26633,103.609476 46.73367,103.609476 45.1715729,105.171573 C43.6094757,106.73367 43.6094757,109.26633 45.1715729,110.828427 L61.1715729,126.828427 C62.73367,128.390524 65.2663299,128.390524 66.8284271,126.828427 L82.8284278,110.828427 C84.390525,109.26633 84.390525,106.73367 82.8284279,105.171573 C81.2663308,103.609476 78.7336709,103.609476 77.1715737,105.171573 L67.9867828,114.356363 L67.9867828,114.356363 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n</svg>"
},
"$:/core/images/blank": {
"title": "$:/core/images/blank",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"></svg>"
},
"$:/core/images/bold": {
"title": "$:/core/images/bold",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-bold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M41.1456583,51.8095238 L41.1456583,21.8711485 L67.4985994,21.8711485 C70.0084159,21.8711485 72.4285598,22.0802967 74.7591036,22.4985994 C77.0896475,22.9169022 79.1512515,23.6638602 80.9439776,24.7394958 C82.7367036,25.8151314 84.170863,27.3090474 85.2464986,29.2212885 C86.3221342,31.1335296 86.859944,33.5835518 86.859944,36.5714286 C86.859944,41.9496067 85.2465147,45.8337882 82.0196078,48.2240896 C78.792701,50.614391 74.6694929,51.8095238 69.6498599,51.8095238 L41.1456583,51.8095238 Z M13,0 L13,128 L75.0280112,128 C80.7647346,128 86.3519803,127.28292 91.789916,125.848739 C97.2278517,124.414559 102.068139,122.203563 106.310924,119.215686 C110.553709,116.22781 113.929959,112.373506 116.439776,107.652661 C118.949592,102.931816 120.204482,97.3445701 120.204482,90.8907563 C120.204482,82.8832466 118.262391,76.0411115 114.378151,70.3641457 C110.493911,64.6871798 104.607883,60.7133634 96.719888,58.442577 C102.456611,55.6937304 106.788968,52.1680887 109.717087,47.8655462 C112.645206,43.5630037 114.109244,38.1849062 114.109244,31.7310924 C114.109244,25.7553389 113.123259,20.7357813 111.151261,16.6722689 C109.179262,12.6087565 106.400578,9.35201972 102.815126,6.90196078 C99.2296739,4.45190185 94.927196,2.68908101 89.907563,1.61344538 C84.8879301,0.537809748 79.3305627,0 73.2352941,0 L13,0 Z M41.1456583,106.128852 L41.1456583,70.9915966 L71.8011204,70.9915966 C77.896389,70.9915966 82.7964334,72.3958776 86.5014006,75.2044818 C90.2063677,78.0130859 92.0588235,82.7039821 92.0588235,89.2773109 C92.0588235,92.6237329 91.4911355,95.3725383 90.3557423,97.5238095 C89.2203491,99.6750808 87.6965548,101.378145 85.7843137,102.633053 C83.8720726,103.887961 81.661077,104.784311 79.1512605,105.322129 C76.641444,105.859947 74.0121519,106.128852 71.2633053,106.128852 L41.1456583,106.128852 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/cancel-button": {
"title": "$:/core/images/cancel-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n\t<g fill-rule=\"evenodd\">\n\t <path d=\"M64,76.3137085 L47.0294734,93.2842351 C43.9038742,96.4098343 38.8399231,96.4084656 35.7157288,93.2842712 C32.5978915,90.166434 32.5915506,85.0947409 35.7157649,81.9705266 L52.6862915,65 L35.7157649,48.0294734 C32.5901657,44.9038742 32.5915344,39.8399231 35.7157288,36.7157288 C38.833566,33.5978915 43.9052591,33.5915506 47.0294734,36.7157649 L64,53.6862915 L80.9705266,36.7157649 C84.0961258,33.5901657 89.1600769,33.5915344 92.2842712,36.7157288 C95.4021085,39.833566 95.4084494,44.9052591 92.2842351,48.0294734 L75.3137085,65 L92.2842351,81.9705266 C95.4098343,85.0961258 95.4084656,90.1600769 92.2842712,93.2842712 C89.166434,96.4021085 84.0947409,96.4084494 80.9705266,93.2842351 L64,76.3137085 Z M64,129 C99.346224,129 128,100.346224 128,65 C128,29.653776 99.346224,1 64,1 C28.653776,1 1.13686838e-13,29.653776 1.13686838e-13,65 C1.13686838e-13,100.346224 28.653776,129 64,129 Z M64,113 C90.509668,113 112,91.509668 112,65 C112,38.490332 90.509668,17 64,17 C37.490332,17 16,38.490332 16,65 C16,91.509668 37.490332,113 64,113 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-down": {
"title": "$:/core/images/chevron-down",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-down tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 40.500000) rotate(-270.000000) translate(-64.000000, -40.500000) translate(-22.500000, -26.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/chevron-left": {
"title": "$:/core/images/chevron-left",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\" version=\"1.1\">\n <g fill-rule=\"evenodd\" transform=\"translate(92.500000, 64.000000) rotate(-180.000000) translate(-92.500000, -64.000000) translate(6.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-right": {
"title": "$:/core/images/chevron-right",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-right tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-48.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-up": {
"title": "$:/core/images/chevron-up",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-up tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 89.500000) rotate(-90.000000) translate(-64.000000, -89.500000) translate(-22.500000, 22.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/clone-button": {
"title": "$:/core/images/clone-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-clone-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M32.2650915,96 L32.2650915,120.002359 C32.2650915,124.419334 35.8432884,128 40.2627323,128 L120.002359,128 C124.419334,128 128,124.421803 128,120.002359 L128,40.2627323 C128,35.8457573 124.421803,32.2650915 120.002359,32.2650915 L96,32.2650915 L96,48 L108.858899,48 C110.519357,48 111.853018,49.3405131 111.853018,50.9941198 L111.853018,108.858899 C111.853018,110.519357 110.512505,111.853018 108.858899,111.853018 L50.9941198,111.853018 C49.333661,111.853018 48,110.512505 48,108.858899 L48,96 L32.2650915,96 Z\"></path>\n <path d=\"M40,56 L32.0070969,56 C27.5881712,56 24,52.418278 24,48 C24,43.5907123 27.5848994,40 32.0070969,40 L40,40 L40,32.0070969 C40,27.5881712 43.581722,24 48,24 C52.4092877,24 56,27.5848994 56,32.0070969 L56,40 L63.9929031,40 C68.4118288,40 72,43.581722 72,48 C72,52.4092877 68.4151006,56 63.9929031,56 L56,56 L56,63.9929031 C56,68.4118288 52.418278,72 48,72 C43.5907123,72 40,68.4151006 40,63.9929031 L40,56 Z M7.9992458,0 C3.58138434,0 0,3.5881049 0,7.9992458 L0,88.0007542 C0,92.4186157 3.5881049,96 7.9992458,96 L88.0007542,96 C92.4186157,96 96,92.4118951 96,88.0007542 L96,7.9992458 C96,3.58138434 92.4118951,0 88.0007542,0 L7.9992458,0 Z M19.0010118,16 C17.3435988,16 16,17.336731 16,19.0010118 L16,76.9989882 C16,78.6564012 17.336731,80 19.0010118,80 L76.9989882,80 C78.6564012,80 80,78.663269 80,76.9989882 L80,19.0010118 C80,17.3435988 78.663269,16 76.9989882,16 L19.0010118,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/close-all-button": {
"title": "$:/core/images/close-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-23.000000, -23.000000)\">\n <path d=\"M43,131 L22.9976794,131 C18.5827987,131 15,127.418278 15,123 C15,118.590712 18.5806831,115 22.9976794,115 L43,115 L43,94.9976794 C43,90.5827987 46.581722,87 51,87 C55.4092877,87 59,90.5806831 59,94.9976794 L59,115 L79.0023206,115 C83.4172013,115 87,118.581722 87,123 C87,127.409288 83.4193169,131 79.0023206,131 L59,131 L59,151.002321 C59,155.417201 55.418278,159 51,159 C46.5907123,159 43,155.419317 43,151.002321 L43,131 Z\" transform=\"translate(51.000000, 123.000000) rotate(-45.000000) translate(-51.000000, -123.000000) \"></path>\n <path d=\"M43,59 L22.9976794,59 C18.5827987,59 15,55.418278 15,51 C15,46.5907123 18.5806831,43 22.9976794,43 L43,43 L43,22.9976794 C43,18.5827987 46.581722,15 51,15 C55.4092877,15 59,18.5806831 59,22.9976794 L59,43 L79.0023206,43 C83.4172013,43 87,46.581722 87,51 C87,55.4092877 83.4193169,59 79.0023206,59 L59,59 L59,79.0023206 C59,83.4172013 55.418278,87 51,87 C46.5907123,87 43,83.4193169 43,79.0023206 L43,59 Z\" transform=\"translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) \"></path>\n <path d=\"M115,59 L94.9976794,59 C90.5827987,59 87,55.418278 87,51 C87,46.5907123 90.5806831,43 94.9976794,43 L115,43 L115,22.9976794 C115,18.5827987 118.581722,15 123,15 C127.409288,15 131,18.5806831 131,22.9976794 L131,43 L151.002321,43 C155.417201,43 159,46.581722 159,51 C159,55.4092877 155.419317,59 151.002321,59 L131,59 L131,79.0023206 C131,83.4172013 127.418278,87 123,87 C118.590712,87 115,83.4193169 115,79.0023206 L115,59 Z\" transform=\"translate(123.000000, 51.000000) rotate(-45.000000) translate(-123.000000, -51.000000) \"></path>\n <path d=\"M115,131 L94.9976794,131 C90.5827987,131 87,127.418278 87,123 C87,118.590712 90.5806831,115 94.9976794,115 L115,115 L115,94.9976794 C115,90.5827987 118.581722,87 123,87 C127.409288,87 131,90.5806831 131,94.9976794 L131,115 L151.002321,115 C155.417201,115 159,118.581722 159,123 C159,127.409288 155.419317,131 151.002321,131 L131,131 L131,151.002321 C131,155.417201 127.418278,159 123,159 C118.590712,159 115,155.419317 115,151.002321 L115,131 Z\" transform=\"translate(123.000000, 123.000000) rotate(-45.000000) translate(-123.000000, -123.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/close-button": {
"title": "$:/core/images/close-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M65.0864256,75.4091629 L14.9727349,125.522854 C11.8515951,128.643993 6.78104858,128.64922 3.65685425,125.525026 C0.539017023,122.407189 0.5336324,117.334539 3.65902635,114.209145 L53.7727171,64.0954544 L3.65902635,13.9817637 C0.537886594,10.8606239 0.532659916,5.79007744 3.65685425,2.6658831 C6.77469148,-0.451954124 11.8473409,-0.457338747 14.9727349,2.66805521 L65.0864256,52.7817459 L115.200116,2.66805521 C118.321256,-0.453084553 123.391803,-0.458311231 126.515997,2.6658831 C129.633834,5.78372033 129.639219,10.8563698 126.513825,13.9817637 L76.4001341,64.0954544 L126.513825,114.209145 C129.634965,117.330285 129.640191,122.400831 126.515997,125.525026 C123.39816,128.642863 118.32551,128.648248 115.200116,125.522854 L65.0864256,75.4091629 L65.0864256,75.4091629 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/close-others-button": {
"title": "$:/core/images/close-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-others-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z M64,96 C81.673112,96 96,81.673112 96,64 C96,46.326888 81.673112,32 64,32 C46.326888,32 32,46.326888 32,64 C32,81.673112 46.326888,96 64,96 Z M64,80 C72.836556,80 80,72.836556 80,64 C80,55.163444 72.836556,48 64,48 C55.163444,48 48,55.163444 48,64 C48,72.836556 55.163444,80 64,80 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/copy-clipboard": {
"title": "$:/core/images/copy-clipboard",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-copy-clipboard tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\">\n\t\t<rect x=\"40\" y=\"40\" width=\"33\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"82\" width=\"17\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"54\" width=\"17\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"96\" width=\"33\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"68\" width=\"12\" height=\"8\" rx=\"4\"></rect>\n\t\t<path d=\"M40,16 L23.9992458,16 C19.5813843,16 16,19.5907123 16,24 C16,24.0016363 16.0000005,24.0032725 16.0000015,24.0049086 C16.0000005,24.0065441 16,24.0081803 16,24.0098166 L16,119.990183 C16,119.99182 16.0000005,119.993456 16.0000015,119.995092 C16.0000005,119.996727 16,119.998364 16,120 C16,124.409288 19.5813843,128 23.9992458,128 L104.000754,128 C106.205061,128 108.203844,127.105595 109.652065,125.659342 C111.102424,124.21251 112,122.214511 112,120.007595 L112,103.992405 C112,99.5776607 108.418278,96 104,96 C99.5907123,96 96,99.5783218 96,103.992405 L96,112 L32,112 L32,32 L96,32 L96,40.0075946 C96,44.4223393 99.581722,48 104,48 C108.409288,48 112,44.4216782 112,40.0075946 L112,23.9924054 C112,21.7851587 111.104671,19.7871591 109.657101,18.3409203 C108.203844,16.8944047 106.205061,16 104.000754,16 L88,16 C88,11.5907123 84.4151006,8 79.9929031,8 L48.0070969,8 C43.5881712,8 40,11.581722 40,16 Z M44,14.9958262 C44,12.7889923 45.7964248,11 48.0000255,11 L79.9999745,11 C82.2091276,11 84,12.7965212 84,14.9958262 L84,19.0041738 C84,21.2110077 82.2035752,23 79.9999745,23 L48.0000255,23 C45.7908724,23 44,21.2034788 44,19.0041738 L44,14.9958262 Z\"></path>\n\t\t<rect x=\"62\" y=\"64\" width=\"66\" height=\"16\" rx=\"8\"></rect>\n\t\t<path d=\"M60.6568542,85.6568542 L76.6568542,69.6568543 L65.3431458,69.6568542 L81.3431458,85.6568542 C84.4673401,88.7810486 89.5326599,88.7810486 92.6568542,85.6568542 C95.7810486,82.5326599 95.7810486,77.4673401 92.6568542,74.3431458 L76.6568542,58.3431458 C73.5326599,55.2189514 68.4673401,55.2189514 65.3431458,58.3431457 L49.3431458,74.3431457 C46.2189514,77.4673401 46.2189514,82.5326599 49.3431457,85.6568542 C52.4673401,88.7810486 57.5326599,88.7810486 60.6568542,85.6568542 L60.6568542,85.6568542 Z\" transform=\"translate(71.000000, 72.000000) rotate(-90.000000) translate(-71.000000, -72.000000) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/delete-button": {
"title": "$:/core/images/delete-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\" transform=\"translate(12.000000, 0.000000)\">\n <rect x=\"0\" y=\"11\" width=\"105\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"28\" y=\"0\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"112\" width=\"88\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"56\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"32\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n </g>\n</svg>"
},
"$:/core/images/done-button": {
"title": "$:/core/images/done-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M3.52445141,76.8322939 C2.07397484,75.3828178 1.17514421,73.3795385 1.17514421,71.1666288 L1.17514421,23.1836596 C1.17514421,18.7531992 4.75686621,15.1751442 9.17514421,15.1751442 C13.5844319,15.1751442 17.1751442,18.7606787 17.1751442,23.1836596 L17.1751442,63.1751442 L119.173716,63.1751442 C123.590457,63.1751442 127.175144,66.7568662 127.175144,71.1751442 C127.175144,75.5844319 123.592783,79.1751442 119.173716,79.1751442 L9.17657227,79.1751442 C6.96796403,79.1751442 4.9674142,78.279521 3.51911285,76.8315312 Z\" id=\"Rectangle-285\" transform=\"translate(64.175144, 47.175144) rotate(-45.000000) translate(-64.175144, -47.175144) \"></path>\n </g>\n</svg>"
},
"$:/core/images/down-arrow": {
"title": "$:/core/images/down-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <path d=\"M109.35638,81.3533152 C107.923899,82.7869182 105.94502,83.6751442 103.759224,83.6751442 L24.5910645,83.6751442 C20.225873,83.6751442 16.6751442,80.1307318 16.6751442,75.7584775 C16.6751442,71.3951199 20.2192225,67.8418109 24.5910645,67.8418109 L95.8418109,67.8418109 L95.8418109,-3.40893546 C95.8418109,-7.77412698 99.3862233,-11.3248558 103.758478,-11.3248558 C108.121835,-11.3248558 111.675144,-7.78077754 111.675144,-3.40893546 L111.675144,75.7592239 C111.675144,77.9416955 110.789142,79.9205745 109.356651,81.3538862 Z\" transform=\"translate(64.175144, 36.175144) rotate(45.000000) translate(-64.175144, -36.175144) \"></path>\n</svg>"
},
"$:/core/images/download-button": {
"title": "$:/core/images/download-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-download-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path class=\"tc-image-download-button-ring\" d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"/><path d=\"M34.3496823,66.4308767 L61.2415823,93.634668 C63.0411536,95.4551107 65.9588502,95.4551107 67.7584215,93.634668 L94.6503215,66.4308767 C96.4498928,64.610434 96.4498928,61.6588981 94.6503215,59.8384554 C93.7861334,58.9642445 92.6140473,58.4731195 91.3919019,58.4731195 L82.9324098,58.4731195 C80.3874318,58.4731195 78.3243078,56.3860674 78.3243078,53.8115729 L78.3243078,38.6615466 C78.3243078,36.0870521 76.2611837,34 73.7162058,34 L55.283798,34 C52.7388201,34 50.675696,36.0870521 50.675696,38.6615466 L50.675696,38.6615466 L50.675696,53.8115729 C50.675696,56.3860674 48.612572,58.4731195 46.0675941,58.4731195 L37.608102,58.4731195 C35.063124,58.4731195 33,60.5601716 33,63.134666 C33,64.3709859 33.4854943,65.5566658 34.3496823,66.4308767 L34.3496823,66.4308767 Z\"/></g></svg>"
},
"$:/core/images/edit-button": {
"title": "$:/core/images/edit-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M116.870058,45.3431458 L108.870058,45.3431458 L108.870058,45.3431458 L108.870058,61.3431458 L116.870058,61.3431458 L116.870058,45.3431458 Z M124.870058,45.3431458 L127.649881,45.3431458 C132.066101,45.3431458 135.656854,48.9248678 135.656854,53.3431458 C135.656854,57.7524334 132.07201,61.3431458 127.649881,61.3431458 L124.870058,61.3431458 L124.870058,45.3431458 Z M100.870058,45.3431458 L15.6638275,45.3431458 C15.5064377,45.3431458 15.3501085,45.3476943 15.1949638,45.3566664 L15.1949638,45.3566664 C15.0628002,45.3477039 14.928279,45.3431458 14.7913977,45.3431458 C6.68160973,45.3431458 -8.34314575,53.3431458 -8.34314575,53.3431458 C-8.34314575,53.3431458 6.85614548,61.3431458 14.7913977,61.3431458 C14.9266533,61.3431458 15.0596543,61.3384973 15.190398,61.3293588 C15.3470529,61.3385075 15.5049057,61.3431458 15.6638275,61.3431458 L100.870058,61.3431458 L100.870058,45.3431458 L100.870058,45.3431458 Z\" transform=\"translate(63.656854, 53.343146) rotate(-45.000000) translate(-63.656854, -53.343146) \"></path>\n <path d=\"M35.1714596,124.189544 C41.9594858,123.613403 49.068777,121.917633 58.85987,118.842282 C60.6854386,118.268877 62.4306907,117.705515 65.1957709,116.802278 C81.1962861,111.575575 87.0734839,109.994907 93.9414474,109.655721 C102.29855,109.242993 107.795169,111.785371 111.520478,118.355045 C112.610163,120.276732 115.051363,120.951203 116.97305,119.861518 C118.894737,118.771832 119.569207,116.330633 118.479522,114.408946 C113.146151,105.003414 104.734907,101.112919 93.5468356,101.66546 C85.6716631,102.054388 79.4899908,103.716944 62.7116783,109.197722 C59.9734132,110.092199 58.2519873,110.64787 56.4625698,111.20992 C37.002649,117.322218 25.6914684,118.282267 16.8654804,112.957098 C14.9739614,111.815848 12.5154166,112.424061 11.3741667,114.31558 C10.2329168,116.207099 10.84113,118.665644 12.7326489,119.806894 C19.0655164,123.627836 26.4866335,124.926678 35.1714596,124.189544 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/erase": {
"title": "$:/core/images/erase",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-erase tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60.0870401,127.996166 L123.102318,64.980888 C129.636723,58.4464827 129.629513,47.8655877 123.098967,41.3350425 L99.4657866,17.7018617 C92.927448,11.1635231 82.3486358,11.1698163 75.8199411,17.698511 L4.89768189,88.6207702 C-1.63672343,95.1551755 -1.6295126,105.736071 4.90103262,112.266616 L20.6305829,127.996166 L60.0870401,127.996166 Z M25.1375576,120.682546 L10.812569,106.357558 C7.5455063,103.090495 7.54523836,97.793808 10.8048093,94.5342371 L46.2691086,59.0699377 L81.7308914,94.5317205 L55.5800654,120.682546 L25.1375576,120.682546 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/excise": {
"title": "$:/core/images/excise",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-excise tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,107.313709 L53.6568542,109.656854 C50.5326599,112.781049 45.4673401,112.781049 42.3431457,109.656854 C39.2189514,106.53266 39.2189514,101.46734 42.3431458,98.3431457 L58.3431458,82.3431457 C61.4673401,79.2189514 66.5326599,79.2189514 69.6568542,82.3431458 L85.6568542,98.3431458 C88.7810486,101.46734 88.7810486,106.53266 85.6568542,109.656854 C82.5326599,112.781049 77.4673401,112.781049 74.3431458,109.656854 L72,107.313708 L72,121.597798 C72,125.133636 68.418278,128 64,128 C59.581722,128 56,125.133636 56,121.597798 L56,107.313709 Z M0,40.0070969 C0,35.5848994 3.59071231,32 8,32 C12.418278,32 16,35.5881712 16,40.0070969 L16,71.9929031 C16,76.4151006 12.4092877,80 8,80 C3.581722,80 0,76.4118288 0,71.9929031 L0,40.0070969 Z M32,40.0070969 C32,35.5848994 35.5907123,32 40,32 C44.418278,32 48,35.5881712 48,40.0070969 L48,71.9929031 C48,76.4151006 44.4092877,80 40,80 C35.581722,80 32,76.4118288 32,71.9929031 L32,40.0070969 Z M80,40.0070969 C80,35.5848994 83.5907123,32 88,32 C92.418278,32 96,35.5881712 96,40.0070969 L96,71.9929031 C96,76.4151006 92.4092877,80 88,80 C83.581722,80 80,76.4118288 80,71.9929031 L80,40.0070969 Z M56,8.00709688 C56,3.58489938 59.5907123,0 64,0 C68.418278,0 72,3.58817117 72,8.00709688 L72,39.9929031 C72,44.4151006 68.4092877,48 64,48 C59.581722,48 56,44.4118288 56,39.9929031 L56,8.00709688 Z M112,40.0070969 C112,35.5848994 115.590712,32 120,32 C124.418278,32 128,35.5881712 128,40.0070969 L128,71.9929031 C128,76.4151006 124.409288,80 120,80 C115.581722,80 112,76.4118288 112,71.9929031 L112,40.0070969 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/export-button": {
"title": "$:/core/images/export-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-export-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00348646,127.999999 C8.00464867,128 8.00581094,128 8.00697327,128 L119.993027,128 C122.205254,128 124.207939,127.101378 125.657096,125.651198 L125.656838,125.65759 C127.104563,124.210109 128,122.21009 128,119.999949 L128,56.0000511 C128,51.5817449 124.409288,48 120,48 C115.581722,48 112,51.5797863 112,56.0000511 L112,112 L16,112 L16,56.0000511 C16,51.5817449 12.4092877,48 8,48 C3.581722,48 7.10542736e-15,51.5797863 7.10542736e-15,56.0000511 L7.10542736e-15,119.999949 C7.10542736e-15,124.418255 3.59071231,128 8,128 C8.00116233,128 8.0023246,128 8.00348681,127.999999 Z M56.6235633,27.3113724 L47.6580188,36.2769169 C44.5333664,39.4015692 39.4634864,39.4061295 36.339292,36.2819351 C33.2214548,33.1640979 33.2173444,28.0901742 36.3443103,24.9632084 L58.9616908,2.34582788 C60.5248533,0.782665335 62.5748436,0.000361191261 64.624516,2.38225238e-14 L64.6193616,0.00151809229 C66.6695374,0.000796251595 68.7211167,0.781508799 70.2854358,2.34582788 L92.9028163,24.9632084 C96.0274686,28.0878607 96.0320289,33.1577408 92.9078345,36.2819351 C89.7899973,39.3997724 84.7160736,39.4038827 81.5891078,36.2769169 L72.6235633,27.3113724 L72.6235633,88.5669606 C72.6235633,92.9781015 69.0418413,96.5662064 64.6235633,96.5662064 C60.2142756,96.5662064 56.6235633,92.984822 56.6235633,88.5669606 L56.6235633,27.3113724 L56.6235633,27.3113724 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/file": {
"title": "$:/core/images/file",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-file tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M111.96811,30.5 L112,30.5 L112,119.999079 C112,124.417866 108.419113,128 104.000754,128 L23.9992458,128 C19.5813843,128 16,124.417687 16,119.999079 L16,8.00092105 C16,3.58213437 19.5808867,0 23.9992458,0 L81,0 L81,0.0201838424 C83.1589869,-0.071534047 85.3482153,0.707077645 86.9982489,2.35711116 L109.625176,24.9840387 C111.151676,26.510538 111.932942,28.4998414 111.96811,30.5 L111.96811,30.5 Z M81,8 L24,8 L24,120 L104,120 L104,30.5 L89.0003461,30.5 C84.5818769,30.5 81,26.9216269 81,22.4996539 L81,8 Z\"></path>\n <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"68\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"84\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"100\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n </g>\n</svg>"
},
"$:/core/images/fixed-height": {
"title": "$:/core/images/fixed-height",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fixed-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60,35.6568542 L50.8284271,44.8284271 C49.26633,46.3905243 46.73367,46.3905243 45.1715729,44.8284271 C43.6094757,43.26633 43.6094757,40.73367 45.1715729,39.1715729 L61.1715729,23.1715729 C62.73367,21.6094757 65.2663299,21.6094757 66.8284271,23.1715728 L82.8284278,39.1715728 C84.390525,40.7336699 84.390525,43.2663299 82.8284279,44.8284271 C81.2663308,46.3905243 78.7336709,46.3905243 77.1715737,44.8284272 L68,35.6568539 L68,93.3431461 L77.1715737,84.1715728 C78.7336709,82.6094757 81.2663308,82.6094757 82.8284279,84.1715729 C84.390525,85.7336701 84.390525,88.2663301 82.8284278,89.8284272 L66.8284271,105.828427 C65.2663299,107.390524 62.73367,107.390524 61.1715729,105.828427 L45.1715729,89.8284271 C43.6094757,88.26633 43.6094757,85.73367 45.1715729,84.1715729 C46.73367,82.6094757 49.26633,82.6094757 50.8284271,84.1715729 L60,93.3431458 L60,35.6568542 L60,35.6568542 Z M16,116 L112,116 C114.209139,116 116,114.209139 116,112 C116,109.790861 114.209139,108 112,108 L16,108 C13.790861,108 12,109.790861 12,112 C12,114.209139 13.790861,116 16,116 L16,116 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-all-button": {
"title": "$:/core/images/fold-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M64.0292774,58.6235628 C61.9791013,58.6242848 59.9275217,57.8435723 58.3632024,56.279253 L35.7458219,33.6618725 C32.6211696,30.5372202 32.6166093,25.4673401 35.7408036,22.3431458 C38.8586409,19.2253085 43.9325646,19.2211982 47.0595304,22.348164 L64.0250749,39.3137085 L80.9906194,22.348164 C84.1152717,19.2235117 89.1851518,19.2189514 92.3093461,22.3431458 C95.4271834,25.460983 95.4312937,30.5349067 92.3043279,33.6618725 L69.6869474,56.279253 C68.1237851,57.8424153 66.0737951,58.6247195 64.0241231,58.6250809 Z\" transform=\"translate(64.024316, 39.313708) scale(1, -1) translate(-64.024316, -39.313708) \"></path>\n <path d=\"M64.0292774,123.621227 C61.9791013,123.621949 59.9275217,122.841236 58.3632024,121.276917 L35.7458219,98.6595365 C32.6211696,95.5348842 32.6166093,90.4650041 35.7408036,87.3408098 C38.8586409,84.2229725 43.9325646,84.2188622 47.0595304,87.345828 L64.0250749,104.311373 L80.9906194,87.345828 C84.1152717,84.2211757 89.1851518,84.2166154 92.3093461,87.3408098 C95.4271834,90.458647 95.4312937,95.5325707 92.3043279,98.6595365 L69.6869474,121.276917 C68.1237851,122.840079 66.0737951,123.622383 64.0241231,123.622745 Z\" transform=\"translate(64.024316, 104.311372) scale(1, -1) translate(-64.024316, -104.311372) \"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-button": {
"title": "$:/core/images/fold-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M64.0292774,63.6235628 C61.9791013,63.6242848 59.9275217,62.8435723 58.3632024,61.279253 L35.7458219,38.6618725 C32.6211696,35.5372202 32.6166093,30.4673401 35.7408036,27.3431458 C38.8586409,24.2253085 43.9325646,24.2211982 47.0595304,27.348164 L64.0250749,44.3137085 L80.9906194,27.348164 C84.1152717,24.2235117 89.1851518,24.2189514 92.3093461,27.3431458 C95.4271834,30.460983 95.4312937,35.5349067 92.3043279,38.6618725 L69.6869474,61.279253 C68.1237851,62.8424153 66.0737951,63.6247195 64.0241231,63.6250809 Z\" transform=\"translate(64.024316, 44.313708) scale(1, -1) translate(-64.024316, -44.313708) \"></path>\n <path d=\"M64.0049614,105.998482 C61.9547853,105.999204 59.9032057,105.218491 58.3388864,103.654172 L35.7215059,81.0367916 C32.5968535,77.9121393 32.5922933,72.8422592 35.7164876,69.7180649 C38.8343248,66.6002276 43.9082485,66.5961173 47.0352144,69.7230831 L64.0007589,86.6886276 L80.9663034,69.7230831 C84.0909557,66.5984308 89.1608358,66.5938705 92.2850301,69.7180649 C95.4028673,72.8359021 95.4069777,77.9098258 92.2800119,81.0367916 L69.6626314,103.654172 C68.099469,105.217334 66.0494791,105.999639 63.999807,106 Z\" transform=\"translate(64.000000, 86.688628) scale(1, -1) translate(-64.000000, -86.688628) \"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-others-button": {
"title": "$:/core/images/fold-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold-others tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"56.0314331\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M101.657101,104.948818 C100.207918,103.498614 98.2051847,102.599976 95.9929031,102.599976 L72,102.599976 L72,78.6070725 C72,76.3964271 71.1036108,74.3936927 69.6545293,72.9441002 L69.6571005,72.9488183 C68.2079177,71.4986143 66.2051847,70.5999756 63.9929031,70.5999756 L32.0070969,70.5999756 C27.5881712,70.5999756 24,74.1816976 24,78.5999756 C24,83.0092633 27.5848994,86.5999756 32.0070969,86.5999756 L56,86.5999756 L56,110.592879 C56,112.803524 56.8963895,114.806259 58.3454713,116.255852 L58.3429,116.251133 C59.7920828,117.701337 61.7948156,118.599976 64.0070969,118.599976 L88,118.599976 L88,142.592879 C88,147.011804 91.581722,150.599976 96,150.599976 C100.409288,150.599976 104,147.015076 104,142.592879 L104,110.607072 C104,108.396427 103.103611,106.393693 101.654529,104.9441 Z\" transform=\"translate(64.000000, 110.599976) rotate(-45.000000) translate(-64.000000, -110.599976) \"></path>\n <path d=\"M101.725643,11.7488671 C100.27646,10.2986632 98.2737272,9.40002441 96.0614456,9.40002441 L72.0685425,9.40002441 L72.0685425,-14.5928787 C72.0685425,-16.8035241 71.1721533,-18.8062584 69.7230718,-20.255851 L69.725643,-20.2511329 C68.2764602,-21.7013368 66.2737272,-22.5999756 64.0614456,-22.5999756 L32.0756394,-22.5999756 C27.6567137,-22.5999756 24.0685425,-19.0182536 24.0685425,-14.5999756 C24.0685425,-10.1906879 27.6534419,-6.59997559 32.0756394,-6.59997559 L56.0685425,-6.59997559 L56.0685425,17.3929275 C56.0685425,19.6035732 56.964932,21.6063078 58.4140138,23.0559004 L58.4114425,23.0511823 C59.8606253,24.5013859 61.8633581,25.4000244 64.0756394,25.4000244 L88.0685425,25.4000244 L88.0685425,49.3929275 C88.0685425,53.8118532 91.6502645,57.4000244 96.0685425,57.4000244 C100.47783,57.4000244 104.068542,53.815125 104.068542,49.3929275 L104.068542,17.4071213 C104.068542,15.1964759 103.172153,13.1937416 101.723072,11.744149 Z\" transform=\"translate(64.068542, 17.400024) scale(1, -1) rotate(-45.000000) translate(-64.068542, -17.400024) \"></path>\n </g>\n</svg>"
},
"$:/core/images/folder": {
"title": "$:/core/images/folder",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-folder tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M55.6943257,128.000004 L7.99859666,128.000004 C3.5810937,128.000004 0,124.413822 0,119.996384 L0,48.0036243 C0,43.5833471 3.58387508,40.0000044 7.99859666,40.0000044 L16,40.0000044 L16,31.9999914 C16,27.5817181 19.5783731,24 24.0003461,24 L55.9996539,24 C60.4181231,24 64,27.5800761 64,31.9999914 L64,40.0000044 L104.001403,40.0000044 C108.418906,40.0000044 112,43.5861868 112,48.0036243 L112,59.8298353 L104,59.7475921 L104,51.9994189 C104,49.7887607 102.207895,48.0000044 99.9972215,48.0000044 L56,48.0000044 L56,36.0000255 C56,33.7898932 54.2072328,32 51.9957423,32 L28.0042577,32 C25.7890275,32 24,33.7908724 24,36.0000255 L24,48.0000044 L12.0027785,48.0000044 C9.78987688,48.0000044 8,49.7906032 8,51.9994189 L8,116.00059 C8,118.211248 9.79210499,120.000004 12.0027785,120.000004 L58.7630167,120.000004 L55.6943257,128.000004 L55.6943257,128.000004 Z\"></path>\n <path d=\"M23.8728955,55.5 L119.875702,55.5 C124.293205,55.5 126.87957,59.5532655 125.650111,64.5630007 L112.305967,118.936999 C111.077582,123.942356 106.497904,128 102.083183,128 L6.08037597,128 C1.66287302,128 -0.923492342,123.946735 0.305967145,118.936999 L13.650111,64.5630007 C14.878496,59.5576436 19.4581739,55.5 23.8728955,55.5 L23.8728955,55.5 L23.8728955,55.5 Z M25.6530124,64 L113.647455,64 C115.858129,64 117.151473,66.0930612 116.538306,68.6662267 L105.417772,115.333773 C104.803671,117.910859 102.515967,120 100.303066,120 L12.3086228,120 C10.0979492,120 8.8046054,117.906939 9.41777189,115.333773 L20.5383062,68.6662267 C21.1524069,66.0891409 23.4401107,64 25.6530124,64 L25.6530124,64 L25.6530124,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/full-screen-button": {
"title": "$:/core/images/full-screen-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-full-screen-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g>\n <g>\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 104.000000) rotate(-180.000000) translate(-104.000000, -104.000000) translate(80.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(24.000000, 104.000000) rotate(-90.000000) translate(-24.000000, -104.000000) translate(0.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 24.000000) rotate(90.000000) translate(-104.000000, -24.000000) translate(80.000000, 0.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n </g>\n</svg>"
},
"$:/core/images/github": {
"title": "$:/core/images/github",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-github tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M63.9383506,1.60695328 C28.6017227,1.60695328 -0.055756057,30.2970814 -0.055756057,65.6906208 C-0.055756057,94.003092 18.2804728,118.019715 43.7123154,126.493393 C46.9143781,127.083482 48.0812647,125.104717 48.0812647,123.405261 C48.0812647,121.886765 48.02626,117.85449 47.9948287,112.508284 C30.1929317,116.379268 26.4368926,103.916587 26.4368926,103.916587 C23.5255693,96.5129372 19.3294921,94.5420399 19.3294921,94.5420399 C13.5186324,90.5687739 19.7695302,90.6474524 19.7695302,90.6474524 C26.1933001,91.099854 29.5721638,97.2525155 29.5721638,97.2525155 C35.2808718,107.044059 44.5531024,104.215566 48.1991321,102.575118 C48.7806109,98.4366275 50.4346826,95.612068 52.2616263,94.0109598 C38.0507543,92.3941159 23.1091047,86.8944862 23.1091047,62.3389152 C23.1091047,55.3443933 25.6039634,49.6205298 29.6978889,45.1437211 C29.0378318,43.5229433 26.8415704,37.0044266 30.3265147,28.1845627 C30.3265147,28.1845627 35.6973364,26.4615028 47.9241083,34.7542205 C53.027764,33.330139 58.5046663,32.6220321 63.9462084,32.5944947 C69.3838216,32.6220321 74.856795,33.330139 79.9683085,34.7542205 C92.1872225,26.4615028 97.5501864,28.1845627 97.5501864,28.1845627 C101.042989,37.0044266 98.8467271,43.5229433 98.190599,45.1437211 C102.292382,49.6205298 104.767596,55.3443933 104.767596,62.3389152 C104.767596,86.9574291 89.8023734,92.3744463 75.5482834,93.9598188 C77.8427675,95.9385839 79.8897303,99.8489072 79.8897303,105.828476 C79.8897303,114.392635 79.8111521,121.304544 79.8111521,123.405261 C79.8111521,125.120453 80.966252,127.114954 84.2115327,126.489459 C109.623731,117.996111 127.944244,93.9952241 127.944244,65.6906208 C127.944244,30.2970814 99.2867652,1.60695328 63.9383506,1.60695328\"></path>\n </g>\n </svg>\n"
},
"$:/core/images/globe": {
"title": "$:/core/images/globe",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-globe tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M72.8111354,37.1275855 C72.8111354,37.9789875 72.8111354,38.8303894 72.8111354,39.6817913 C72.8111354,41.8784743 73.7885604,46.5631866 72.8111354,48.5143758 C71.3445471,51.4420595 68.1617327,52.0543531 66.4170946,54.3812641 C65.2352215,55.9575873 61.7987417,64.9821523 62.7262858,67.3005778 C66.6959269,77.2228204 74.26087,70.4881886 80.6887657,76.594328 C81.5527211,77.415037 83.5758191,78.8666631 83.985137,79.8899578 C87.2742852,88.1128283 76.4086873,94.8989524 87.7419325,106.189751 C88.9872885,107.430443 91.555495,102.372895 91.8205061,101.575869 C92.6726866,99.0129203 98.5458765,96.1267309 100.908882,94.5234439 C102.928056,93.1534443 105.782168,91.8557166 107.236936,89.7775886 C109.507391,86.5342557 108.717505,82.2640435 110.334606,79.0328716 C112.473794,74.7585014 114.163418,69.3979002 116.332726,65.0674086 C120.230862,57.2857361 121.054075,67.1596684 121.400359,67.5059523 C121.757734,67.8633269 122.411167,67.5059523 122.916571,67.5059523 C123.011132,67.5059523 124.364019,67.6048489 124.432783,67.5059523 C125.0832,66.5705216 123.390209,49.5852316 123.114531,48.2089091 C121.710578,41.1996597 116.17083,32.4278331 111.249523,27.7092761 C104.975994,21.6942076 104.160516,11.5121686 92.9912146,12.7547535 C92.7872931,12.7774397 87.906794,22.9027026 85.2136766,26.2672064 C81.486311,30.9237934 82.7434931,22.1144904 78.6876623,22.1144904 C78.6065806,22.1144904 77.5045497,22.0107615 77.4353971,22.1144904 C76.8488637,22.9942905 75.9952305,26.0101404 75.1288269,26.5311533 C74.8635477,26.6906793 73.4071369,26.2924966 73.2826811,26.5311533 C71.0401728,30.8313939 81.5394677,28.7427264 79.075427,34.482926 C76.7225098,39.9642538 72.747373,32.4860199 72.747373,43.0434079\"></path>\n <path d=\"M44.4668556,7.01044608 C54.151517,13.1403033 45.1489715,19.2084878 47.1611905,23.2253896 C48.8157833,26.5283781 51.4021933,28.6198851 48.8753629,33.038878 C46.8123257,36.6467763 42.0052989,37.0050492 39.251679,39.7621111 C36.2115749,42.8060154 33.7884281,48.7028116 32.4624592,52.6732691 C30.8452419,57.5158356 47.0088721,59.5388126 44.5246867,63.6811917 C43.1386839,65.9923513 37.7785192,65.1466282 36.0880227,63.8791519 C34.9234453,63.0059918 32.4946425,63.3331166 31.6713597,62.0997342 C29.0575851,58.1839669 29.4107339,54.0758543 28.0457962,49.9707786 C27.1076833,47.1493864 21.732611,47.8501656 20.2022714,49.3776393 C19.6790362,49.8998948 19.8723378,51.1703278 19.8723378,51.8829111 C19.8723378,57.1682405 26.9914913,55.1986414 26.9914913,58.3421973 C26.9914913,72.9792302 30.9191897,64.8771867 38.1313873,69.6793121 C48.1678018,76.3618966 45.9763926,76.981595 53.0777543,84.0829567 C56.7511941,87.7563965 60.8192437,87.7689005 62.503478,93.3767069 C64.1046972,98.7081071 53.1759798,98.7157031 50.786754,100.825053 C49.663965,101.816317 47.9736094,104.970571 46.5680513,105.439676 C44.7757187,106.037867 43.334221,105.93607 41.6242359,107.219093 C39.1967302,109.040481 37.7241465,112.151588 37.6034934,112.030935 C35.4555278,109.88297 34.0848666,96.5511248 33.7147244,93.7726273 C33.1258872,89.3524817 28.1241923,88.2337027 26.7275443,84.7420826 C25.1572737,80.8164061 28.2518481,75.223612 25.599097,70.9819941 C19.0797019,60.557804 13.7775712,56.4811506 10.2493953,44.6896152 C9.3074899,41.5416683 13.5912267,38.1609942 15.1264825,35.8570308 C17.0029359,33.0410312 17.7876232,30.0028946 19.8723378,27.2224065 C22.146793,24.1888519 40.8551166,9.46076832 43.8574051,8.63490613 L44.4668556,7.01044608 Z\"></path>\n <path d=\"M64,126 C98.2416545,126 126,98.2416545 126,64 C126,29.7583455 98.2416545,2 64,2 C29.7583455,2 2,29.7583455 2,64 C2,98.2416545 29.7583455,126 64,126 Z M64,120 C94.927946,120 120,94.927946 120,64 C120,33.072054 94.927946,8 64,8 C33.072054,8 8,33.072054 8,64 C8,94.927946 33.072054,120 64,120 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-1": {
"title": "$:/core/images/heading-1",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-1 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M14,30 L27.25,30 L27.25,60.104 L61.7,60.104 L61.7,30 L74.95,30 L74.95,105.684 L61.7,105.684 L61.7,71.552 L27.25,71.552 L27.25,105.684 L14,105.684 L14,30 Z M84.3350766,43.78 C86.8790893,43.78 89.3523979,43.5680021 91.7550766,43.144 C94.1577553,42.7199979 96.3307336,42.0133383 98.2740766,41.024 C100.21742,40.0346617 101.87807,38.7626744 103.256077,37.208 C104.634084,35.6533256 105.535075,33.7453446 105.959077,31.484 L115.817077,31.484 L115.817077,105.684 L102.567077,105.684 L102.567077,53.32 L84.3350766,53.32 L84.3350766,43.78 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-2": {
"title": "$:/core/images/heading-2",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-2 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M125.519077,105.684 L74.8510766,105.684 C74.9217436,99.5359693 76.4057288,94.1653563 79.3030766,89.572 C82.2004244,84.9786437 86.1577182,80.986017 91.1750766,77.594 C93.5777553,75.8273245 96.0863969,74.113675 98.7010766,72.453 C101.315756,70.792325 103.718399,69.0080095 105.909077,67.1 C108.099754,65.1919905 109.901736,63.1250111 111.315077,60.899 C112.728417,58.6729889 113.47041,56.1113478 113.541077,53.214 C113.541077,51.8713266 113.382078,50.4403409 113.064077,48.921 C112.746075,47.4016591 112.127748,45.9883399 111.209077,44.681 C110.290405,43.3736601 109.018418,42.2783377 107.393077,41.395 C105.767735,40.5116622 103.647756,40.07 101.033077,40.07 C98.6303979,40.07 96.6340846,40.5469952 95.0440766,41.501 C93.4540687,42.4550048 92.1820814,43.762325 91.2280766,45.423 C90.2740719,47.083675 89.5674123,49.0446554 89.1080766,51.306 C88.648741,53.5673446 88.3837436,56.0053203 88.3130766,58.62 L76.2290766,58.62 C76.2290766,54.5213128 76.7767378,50.7230175 77.8720766,47.225 C78.9674154,43.7269825 80.610399,40.7060127 82.8010766,38.162 C84.9917542,35.6179873 87.6593942,33.6216739 90.8040766,32.173 C93.948759,30.7243261 97.6057224,30 101.775077,30 C106.297766,30 110.078395,30.7419926 113.117077,32.226 C116.155758,33.7100074 118.611401,35.5826554 120.484077,37.844 C122.356753,40.1053446 123.681739,42.5609868 124.459077,45.211 C125.236414,47.8610133 125.625077,50.3873213 125.625077,52.79 C125.625077,55.7580148 125.165748,58.4433213 124.247077,60.846 C123.328405,63.2486787 122.091751,65.4569899 120.537077,67.471 C118.982402,69.4850101 117.215753,71.3399915 115.237077,73.036 C113.2584,74.7320085 111.209087,76.3219926 109.089077,77.806 C106.969066,79.2900074 104.849087,80.7033266 102.729077,82.046 C100.609066,83.3886734 98.6480856,84.7313266 96.8460766,86.074 C95.0440676,87.4166734 93.47175,88.8123261 92.1290766,90.261 C90.7864032,91.7096739 89.8677458,93.2466585 89.3730766,94.872 L125.519077,94.872 L125.519077,105.684 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-3": {
"title": "$:/core/images/heading-3",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-3 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M94.8850766,62.224 C96.8637532,62.294667 98.8424001,62.1533351 100.821077,61.8 C102.799753,61.4466649 104.566402,60.8283378 106.121077,59.945 C107.675751,59.0616623 108.930072,57.8426744 109.884077,56.288 C110.838081,54.7333256 111.315077,52.8253446 111.315077,50.564 C111.315077,47.3839841 110.237421,44.8400095 108.082077,42.932 C105.926733,41.0239905 103.153094,40.07 99.7610766,40.07 C97.641066,40.07 95.8037511,40.4939958 94.2490766,41.342 C92.6944022,42.1900042 91.4047484,43.3383261 90.3800766,44.787 C89.3554048,46.2356739 88.5957458,47.860991 88.1010766,49.663 C87.6064075,51.465009 87.3944096,53.3199905 87.4650766,55.228 L75.3810766,55.228 C75.5224107,51.623982 76.1937373,48.2850154 77.3950766,45.211 C78.596416,42.1369846 80.2393995,39.4693446 82.3240766,37.208 C84.4087537,34.9466554 86.9350618,33.1800064 89.9030766,31.908 C92.8710915,30.6359936 96.2277246,30 99.9730766,30 C102.870424,30 105.714729,30.4239958 108.506077,31.272 C111.297424,32.1200042 113.806065,33.3566585 116.032077,34.982 C118.258088,36.6073415 120.042403,38.6743208 121.385077,41.183 C122.72775,43.6916792 123.399077,46.5713171 123.399077,49.822 C123.399077,53.5673521 122.551085,56.8356527 120.855077,59.627 C119.159068,62.4183473 116.509095,64.4499936 112.905077,65.722 L112.905077,65.934 C117.145098,66.7820042 120.448731,68.8843166 122.816077,72.241 C125.183422,75.5976835 126.367077,79.6786426 126.367077,84.484 C126.367077,88.017351 125.660417,91.1796527 124.247077,93.971 C122.833736,96.7623473 120.925755,99.129657 118.523077,101.073 C116.120398,103.016343 113.329093,104.517995 110.149077,105.578 C106.969061,106.638005 103.612428,107.168 100.079077,107.168 C95.7683884,107.168 92.005426,106.549673 88.7900766,105.313 C85.5747272,104.076327 82.8894207,102.327345 80.7340766,100.066 C78.5787325,97.8046554 76.9357489,95.0840159 75.8050766,91.904 C74.6744043,88.7239841 74.0737436,85.1906861 74.0030766,81.304 L86.0870766,81.304 C85.9457426,85.8266893 87.0587315,89.5896517 89.4260766,92.593 C91.7934218,95.5963483 95.3443863,97.098 100.079077,97.098 C104.107097,97.098 107.481396,95.9496782 110.202077,93.653 C112.922757,91.3563219 114.283077,88.0880212 114.283077,83.848 C114.283077,80.9506522 113.717749,78.6540085 112.587077,76.958 C111.456404,75.2619915 109.972419,73.9723378 108.135077,73.089 C106.297734,72.2056623 104.230755,71.6580011 101.934077,71.446 C99.6373985,71.2339989 97.2877553,71.163333 94.8850766,71.234 L94.8850766,62.224 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-4": {
"title": "$:/core/images/heading-4",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-4 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8,30 L21.25,30 L21.25,60.104 L55.7,60.104 L55.7,30 L68.95,30 L68.95,105.684 L55.7,105.684 L55.7,71.552 L21.25,71.552 L21.25,105.684 L8,105.684 L8,30 Z M84.5890766,78.548 L107.061077,78.548 L107.061077,45.9 L106.849077,45.9 L84.5890766,78.548 Z M128.049077,88.088 L118.509077,88.088 L118.509077,105.684 L107.061077,105.684 L107.061077,88.088 L75.2610766,88.088 L75.2610766,76.11 L107.061077,31.484 L118.509077,31.484 L118.509077,78.548 L128.049077,78.548 L128.049077,88.088 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-5": {
"title": "$:/core/images/heading-5",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-5 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M83.7550766,31.484 L122.127077,31.484 L122.127077,42.296 L92.7650766,42.296 L88.9490766,61.164 L89.1610766,61.376 C90.7864181,59.5386575 92.8533974,58.1430048 95.3620766,57.189 C97.8707558,56.2349952 100.361731,55.758 102.835077,55.758 C106.509762,55.758 109.795729,56.3763272 112.693077,57.613 C115.590424,58.8496729 118.0284,60.5809889 120.007077,62.807 C121.985753,65.0330111 123.487405,67.6653181 124.512077,70.704 C125.536748,73.7426819 126.049077,77.028649 126.049077,80.562 C126.049077,83.5300148 125.572081,86.5863176 124.618077,89.731 C123.664072,92.8756824 122.144754,95.7376538 120.060077,98.317 C117.9754,100.896346 115.30776,103.016325 112.057077,104.677 C108.806394,106.337675 104.919766,107.168 100.397077,107.168 C96.7930586,107.168 93.454092,106.691005 90.3800766,105.737 C87.3060613,104.782995 84.6030883,103.35201 82.2710766,101.444 C79.939065,99.5359905 78.0840835,97.1863473 76.7060766,94.395 C75.3280697,91.6036527 74.5684107,88.3353521 74.4270766,84.59 L86.5110766,84.59 C86.8644117,88.6180201 88.2423979,91.7096559 90.6450766,93.865 C93.0477553,96.0203441 96.2277235,97.098 100.185077,97.098 C102.729089,97.098 104.884401,96.6740042 106.651077,95.826 C108.417752,94.9779958 109.848738,93.8120074 110.944077,92.328 C112.039415,90.8439926 112.816741,89.1126766 113.276077,87.134 C113.735412,85.1553234 113.965077,83.0353446 113.965077,80.774 C113.965077,78.7246564 113.682413,76.763676 113.117077,74.891 C112.55174,73.018324 111.703749,71.3753404 110.573077,69.962 C109.442404,68.5486596 107.976086,67.4180042 106.174077,66.57 C104.372068,65.7219958 102.269755,65.298 99.8670766,65.298 C97.3230639,65.298 94.9380878,65.7749952 92.7120766,66.729 C90.4860655,67.6830048 88.8784149,69.4673203 87.8890766,72.082 L75.8050766,72.082 L83.7550766,31.484 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-6": {
"title": "$:/core/images/heading-6",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-6 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M112.587077,50.246 C112.304409,47.2073181 111.226753,44.751676 109.354077,42.879 C107.481401,41.006324 104.955093,40.07 101.775077,40.07 C99.584399,40.07 97.6940846,40.4763293 96.1040766,41.289 C94.5140687,42.1016707 93.1714154,43.1793266 92.0760766,44.522 C90.9807378,45.8646734 90.0974133,47.401658 89.4260766,49.133 C88.7547399,50.864342 88.2070787,52.6839905 87.7830766,54.592 C87.3590745,56.5000095 87.0587442,58.390324 86.8820766,60.263 C86.7054091,62.135676 86.5464107,63.8846585 86.4050766,65.51 L86.6170766,65.722 C88.2424181,62.7539852 90.4860623,60.5456739 93.3480766,59.097 C96.2100909,57.6483261 99.3017267,56.924 102.623077,56.924 C106.297762,56.924 109.583729,57.5599936 112.481077,58.832 C115.378424,60.1040064 117.834067,61.8529889 119.848077,64.079 C121.862087,66.3050111 123.399071,68.9373181 124.459077,71.976 C125.519082,75.0146819 126.049077,78.300649 126.049077,81.834 C126.049077,85.438018 125.466082,88.7769846 124.300077,91.851 C123.134071,94.9250154 121.455754,97.6103219 119.265077,99.907 C117.074399,102.203678 114.459758,103.987994 111.421077,105.26 C108.382395,106.532006 105.025762,107.168 101.351077,107.168 C95.9097161,107.168 91.4400941,106.16101 87.9420766,104.147 C84.4440591,102.13299 81.6880867,99.3770175 79.6740766,95.879 C77.6600666,92.3809825 76.2644138,88.2823568 75.4870766,83.583 C74.7097394,78.8836432 74.3210766,73.8133605 74.3210766,68.372 C74.3210766,63.9199777 74.7980719,59.4326893 75.7520766,54.91 C76.7060814,50.3873107 78.278399,46.2710186 80.4690766,42.561 C82.6597542,38.8509815 85.5393921,35.8300117 89.1080766,33.498 C92.6767611,31.1659883 97.0757171,30 102.305077,30 C105.273091,30 108.064397,30.4946617 110.679077,31.484 C113.293756,32.4733383 115.608067,33.8513245 117.622077,35.618 C119.636087,37.3846755 121.27907,39.5046543 122.551077,41.978 C123.823083,44.4513457 124.529743,47.2073181 124.671077,50.246 L112.587077,50.246 Z M100.927077,97.098 C103.117754,97.098 105.025735,96.6563378 106.651077,95.773 C108.276418,94.8896623 109.636738,93.7413404 110.732077,92.328 C111.827415,90.9146596 112.640074,89.271676 113.170077,87.399 C113.700079,85.526324 113.965077,83.6006766 113.965077,81.622 C113.965077,79.6433234 113.700079,77.7353425 113.170077,75.898 C112.640074,74.0606575 111.827415,72.4530069 110.732077,71.075 C109.636738,69.6969931 108.276418,68.5840042 106.651077,67.736 C105.025735,66.8879958 103.117754,66.464 100.927077,66.464 C98.736399,66.464 96.8107516,66.8703293 95.1500766,67.683 C93.4894017,68.4956707 92.0937489,69.5909931 90.9630766,70.969 C89.8324043,72.3470069 88.9844128,73.9546575 88.4190766,75.792 C87.8537405,77.6293425 87.5710766,79.5726564 87.5710766,81.622 C87.5710766,83.6713436 87.8537405,85.6146575 88.4190766,87.452 C88.9844128,89.2893425 89.8324043,90.9323261 90.9630766,92.381 C92.0937489,93.8296739 93.4894017,94.9779958 95.1500766,95.826 C96.8107516,96.6740042 98.736399,97.098 100.927077,97.098 L100.927077,97.098 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/help": {
"title": "$:/core/images/help",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-help tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M36.0548906,111.44117 C30.8157418,115.837088 20.8865444,118.803477 9.5,118.803477 C7.86465619,118.803477 6.25937294,118.742289 4.69372699,118.624467 C12.612543,115.984876 18.7559465,110.02454 21.0611049,102.609942 C8.74739781,92.845129 1.04940554,78.9359851 1.04940554,63.5 C1.04940554,33.9527659 29.2554663,10 64.0494055,10 C98.8433448,10 127.049406,33.9527659 127.049406,63.5 C127.049406,93.0472341 98.8433448,117 64.0494055,117 C53.9936953,117 44.48824,114.999337 36.0548906,111.44117 L36.0548906,111.44117 Z M71.4042554,77.5980086 C71.406883,77.2865764 71.4095079,76.9382011 71.4119569,76.5610548 C71.4199751,75.3262169 71.4242825,74.0811293 71.422912,72.9158546 C71.4215244,71.736154 71.4143321,70.709635 71.4001396,69.8743525 C71.4078362,68.5173028 71.9951951,67.7870427 75.1273009,65.6385471 C75.2388969,65.5619968 76.2124091,64.8981068 76.5126553,64.6910879 C79.6062455,62.5580654 81.5345849,60.9050204 83.2750652,58.5038955 C85.6146327,55.2762841 86.8327108,51.426982 86.8327108,46.8554323 C86.8327108,33.5625756 76.972994,24.9029551 65.3778484,24.9029551 C54.2752771,24.9029551 42.8794554,34.5115163 41.3121702,47.1975534 C40.9043016,50.4989536 43.2499725,53.50591 46.5513726,53.9137786 C49.8527728,54.3216471 52.8597292,51.9759763 53.2675978,48.6745761 C54.0739246,42.1479456 60.2395837,36.9492759 65.3778484,36.9492759 C70.6427674,36.9492759 74.78639,40.5885487 74.78639,46.8554323 C74.78639,50.4892974 73.6853224,52.008304 69.6746221,54.7736715 C69.4052605,54.9593956 68.448509,55.6118556 68.3131127,55.7047319 C65.6309785,57.5445655 64.0858213,58.803255 62.6123358,60.6352315 C60.5044618,63.2559399 59.3714208,66.3518252 59.3547527,69.9487679 C59.3684999,70.8407274 59.3752803,71.8084521 59.3765995,72.9300232 C59.3779294,74.0607297 59.3737237,75.2764258 59.36589,76.482835 C59.3634936,76.8518793 59.3609272,77.1924914 59.3583633,77.4963784 C59.3568319,77.6778944 59.3556368,77.8074256 59.3549845,77.8730928 C59.3219814,81.1994287 61.9917551,83.9227111 65.318091,83.9557142 C68.644427,83.9887173 71.3677093,81.3189435 71.4007124,77.9926076 C71.4014444,77.9187458 71.402672,77.7856841 71.4042554,77.5980086 Z M65.3778489,102.097045 C69.5359735,102.097045 72.9067994,98.7262189 72.9067994,94.5680944 C72.9067994,90.4099698 69.5359735,87.0391439 65.3778489,87.0391439 C61.2197243,87.0391439 57.8488984,90.4099698 57.8488984,94.5680944 C57.8488984,98.7262189 61.2197243,102.097045 65.3778489,102.097045 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/home-button": {
"title": "$:/core/images/home-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112.9847,119.501583 C112.99485,119.336814 113,119.170705 113,119.003406 L113,67.56802 C116.137461,70.5156358 121.076014,70.4518569 124.133985,67.3938855 C127.25818,64.2696912 127.260618,59.2068102 124.131541,56.0777326 L70.3963143,2.34250601 C68.8331348,0.779326498 66.7828947,-0.000743167069 64.7337457,1.61675364e-05 C62.691312,-0.00409949529 60.6426632,0.777559815 59.077717,2.34250601 L33,28.420223 L33,28.420223 L33,8.00697327 C33,3.58484404 29.4092877,0 25,0 C20.581722,0 17,3.59075293 17,8.00697327 L17,44.420223 L5.3424904,56.0777326 C2.21694607,59.2032769 2.22220878,64.2760483 5.34004601,67.3938855 C8.46424034,70.5180798 13.5271213,70.5205187 16.6561989,67.3914411 L17,67.04764 L17,119.993027 C17,119.994189 17.0000002,119.995351 17.0000007,119.996514 C17.0000002,119.997675 17,119.998838 17,120 C17,124.418278 20.5881049,128 24.9992458,128 L105.000754,128 C109.418616,128 113,124.409288 113,120 C113,119.832611 112.99485,119.666422 112.9847,119.501583 Z M97,112 L97,51.5736087 L97,51.5736087 L64.7370156,19.3106244 L33,51.04764 L33,112 L97,112 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/import-button": {
"title": "$:/core/images/import-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-import-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M105.449437,94.2138951 C105.449437,94.2138951 110.049457,94.1897106 110.049457,99.4026111 C110.049457,104.615512 105.163246,104.615511 105.163246,104.615511 L45.0075072,105.157833 C45.0075072,105.157833 0.367531803,106.289842 0.367532368,66.6449212 C0.367532934,27.0000003 45.0428249,27.0000003 45.0428249,27.0000003 L105.532495,27.0000003 C105.532495,27.0000003 138.996741,25.6734987 138.996741,55.1771866 C138.996741,84.6808745 105.727102,82.8457535 105.727102,82.8457535 L56.1735087,82.8457535 C56.1735087,82.8457535 22.6899229,85.1500223 22.6899229,66.0913753 C22.6899229,47.0327282 56.1735087,49.3383013 56.1735087,49.3383013 L105.727102,49.3383013 C105.727102,49.3383013 111.245209,49.3383024 111.245209,54.8231115 C111.245209,60.3079206 105.727102,60.5074524 105.727102,60.5074524 L56.1735087,60.5074524 C56.1735087,60.5074524 37.48913,60.5074528 37.48913,66.6449195 C37.48913,72.7823862 56.1735087,71.6766023 56.1735087,71.6766023 L105.727102,71.6766029 C105.727102,71.6766029 127.835546,73.1411469 127.835546,55.1771866 C127.835546,35.5304025 105.727102,38.3035317 105.727102,38.3035317 L45.0428249,38.3035317 C45.0428249,38.3035317 11.5287276,38.3035313 11.5287276,66.6449208 C11.5287276,94.9863103 45.0428244,93.9579678 45.0428244,93.9579678 L105.449437,94.2138951 Z\" transform=\"translate(69.367532, 66.000000) rotate(-45.000000) translate(-69.367532, -66.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/info-button": {
"title": "$:/core/images/info-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <g transform=\"translate(0.049406, 0.000000)\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"></path>\n <circle cx=\"64\" cy=\"32\" r=\"8\"></circle>\n <rect x=\"56\" y=\"48\" width=\"16\" height=\"56\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>"
},
"$:/core/images/italic": {
"title": "$:/core/images/italic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-italic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <polygon points=\"66.7114846 0 89.1204482 0 62.4089636 128 40 128\"></polygon>\n </g>\n</svg>"
},
"$:/core/images/left-arrow": {
"created": "20150315234410875",
"modified": "20150315235324760",
"tags": "$:/tags/Image",
"title": "$:/core/images/left-arrow",
"text": "<svg class=\"tc-image-left-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path transform=\"rotate(135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25075c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056z\"/>\n</svg>\n"
},
"$:/core/images/line-width": {
"title": "$:/core/images/line-width",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-line-width tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M128,-97 L112.992786,-97 C112.452362,-97 112,-96.5522847 112,-96 C112,-95.4438648 112.444486,-95 112.992786,-95 L128,-95 L128,-97 Z M128,-78.6794919 L111.216185,-88.3696322 C110.748163,-88.6398444 110.132549,-88.4782926 109.856406,-88 C109.578339,-87.5183728 109.741342,-86.9117318 110.216185,-86.6375814 L128,-76.3700908 L128,-78.6794919 Z M78.6794919,-128 L88.3696322,-111.216185 C88.6437826,-110.741342 88.4816272,-110.134474 88,-109.856406 C87.5217074,-109.580264 86.9077936,-109.748163 86.6375814,-110.216185 L76.3700908,-128 L78.6794919,-128 Z M97,-128 L97,-112.992786 C97,-112.444486 96.5561352,-112 96,-112 C95.4477153,-112 95,-112.452362 95,-112.992786 L95,-128 L97,-128 Z M115.629909,-128 L105.362419,-110.216185 C105.088268,-109.741342 104.481627,-109.578339 104,-109.856406 C103.521707,-110.132549 103.360156,-110.748163 103.630368,-111.216185 L113.320508,-128 L115.629909,-128 Z M128,-113.320508 L111.216185,-103.630368 C110.741342,-103.356217 110.134474,-103.518373 109.856406,-104 C109.580264,-104.478293 109.748163,-105.092206 110.216185,-105.362419 L128,-115.629909 L128,-113.320508 Z M48,-96 C48,-96.5522847 48.4523621,-97 48.9927864,-97 L79.0072136,-97 C79.5555144,-97 80,-96.5561352 80,-96 C80,-95.4477153 79.5476379,-95 79.0072136,-95 L48.9927864,-95 C48.4444856,-95 48,-95.4438648 48,-96 Z M54.4307806,-120 C54.706923,-120.478293 55.3225377,-120.639844 55.7905589,-120.369632 L81.7838153,-105.362419 C82.2586577,-105.088268 82.4216611,-104.481627 82.1435935,-104 C81.8674512,-103.521707 81.2518365,-103.360156 80.7838153,-103.630368 L54.7905589,-118.637581 C54.3157165,-118.911732 54.152713,-119.518373 54.4307806,-120 Z M104,-82.1435935 C104.478293,-82.4197359 105.092206,-82.2518365 105.362419,-81.7838153 L120.369632,-55.7905589 C120.643783,-55.3157165 120.481627,-54.7088482 120,-54.4307806 C119.521707,-54.1546382 118.907794,-54.3225377 118.637581,-54.7905589 L103.630368,-80.7838153 C103.356217,-81.2586577 103.518373,-81.865526 104,-82.1435935 Z M96,-80 C96.5522847,-80 97,-79.5476379 97,-79.0072136 L97,-48.9927864 C97,-48.4444856 96.5561352,-48 96,-48 C95.4477153,-48 95,-48.4523621 95,-48.9927864 L95,-79.0072136 C95,-79.5555144 95.4438648,-80 96,-80 Z M88,-82.1435935 C88.4782926,-81.8674512 88.6398444,-81.2518365 88.3696322,-80.7838153 L73.3624186,-54.7905589 C73.0882682,-54.3157165 72.4816272,-54.152713 72,-54.4307806 C71.5217074,-54.706923 71.3601556,-55.3225377 71.6303678,-55.7905589 L86.6375814,-81.7838153 C86.9117318,-82.2586577 87.5183728,-82.4216611 88,-82.1435935 Z M82.1435935,-88 C82.4197359,-87.5217074 82.2518365,-86.9077936 81.7838153,-86.6375814 L55.7905589,-71.6303678 C55.3157165,-71.3562174 54.7088482,-71.5183728 54.4307806,-72 C54.1546382,-72.4782926 54.3225377,-73.0922064 54.7905589,-73.3624186 L80.7838153,-88.3696322 C81.2586577,-88.6437826 81.865526,-88.4816272 82.1435935,-88 Z M1.30626177e-08,-41.9868843 L15.0170091,-57.9923909 L20.7983821,-52.9749272 L44.7207091,-81.2095939 L73.4260467,-42.1002685 L85.984793,-56.6159488 L104.48741,-34.0310661 L127.969109,-47.4978019 L127.969109,7.99473128e-07 L1.30626177e-08,7.99473128e-07 L1.30626177e-08,-41.9868843 Z M96,-84 C102.627417,-84 108,-89.372583 108,-96 C108,-102.627417 102.627417,-108 96,-108 C89.372583,-108 84,-102.627417 84,-96 C84,-89.372583 89.372583,-84 96,-84 Z\"></path>\n <path d=\"M16,18 L112,18 C113.104569,18 114,17.1045695 114,16 C114,14.8954305 113.104569,14 112,14 L16,14 C14.8954305,14 14,14.8954305 14,16 C14,17.1045695 14.8954305,18 16,18 L16,18 Z M16,35 L112,35 C114.209139,35 116,33.209139 116,31 C116,28.790861 114.209139,27 112,27 L16,27 C13.790861,27 12,28.790861 12,31 C12,33.209139 13.790861,35 16,35 L16,35 Z M16,56 L112,56 C115.313708,56 118,53.3137085 118,50 C118,46.6862915 115.313708,44 112,44 L16,44 C12.6862915,44 10,46.6862915 10,50 C10,53.3137085 12.6862915,56 16,56 L16,56 Z M16,85 L112,85 C117.522847,85 122,80.5228475 122,75 C122,69.4771525 117.522847,65 112,65 L16,65 C10.4771525,65 6,69.4771525 6,75 C6,80.5228475 10.4771525,85 16,85 L16,85 Z M16,128 L112,128 C120.836556,128 128,120.836556 128,112 C128,103.163444 120.836556,96 112,96 L16,96 C7.163444,96 0,103.163444 0,112 C0,120.836556 7.163444,128 16,128 L16,128 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/link": {
"title": "$:/core/images/link",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-link tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M128.719999,57.568543 C130.219553,53.8628171 131.045202,49.8121445 131.045202,45.5685425 C131.045202,27.8915447 116.718329,13.5685425 99.0452364,13.5685425 L67.0451674,13.5685425 C49.3655063,13.5685425 35.0452019,27.8954305 35.0452019,45.5685425 C35.0452019,63.2455403 49.3720745,77.5685425 67.0451674,77.5685425 L99.0452364,77.5685425 C100.406772,77.5685425 101.748384,77.4835732 103.065066,77.3186499 C96.4792444,73.7895096 91.1190212,68.272192 87.7873041,61.5685425 L67.0506214,61.5685425 C58.2110723,61.5685425 51.0452019,54.4070414 51.0452019,45.5685425 C51.0452019,36.7319865 58.2005234,29.5685425 67.0506214,29.5685425 L99.0397824,29.5685425 C107.879331,29.5685425 115.045202,36.7300436 115.045202,45.5685425 C115.045202,48.9465282 113.99957,52.0800164 112.21335,54.6623005 C114.314383,56.4735917 117.050039,57.5685425 120.041423,57.5685425 L128.720003,57.5685425 Z\" transform=\"translate(83.045202, 45.568542) rotate(-225.000000) translate(-83.045202, -45.568542)\"></path>\n <path d=\"M-0.106255113,71.0452019 C-1.60580855,74.7509276 -2.43145751,78.8016001 -2.43145751,83.0452019 C-2.43145751,100.7222 11.8954151,115.045202 29.568508,115.045202 L61.568577,115.045202 C79.2482381,115.045202 93.5685425,100.718314 93.5685425,83.0452019 C93.5685425,65.3682041 79.2416699,51.0452019 61.568577,51.0452019 L29.568508,51.0452019 C28.206973,51.0452019 26.8653616,51.1301711 25.5486799,51.2950943 C32.1345,54.8242347 37.4947231,60.3415524 40.8264403,67.0452019 L61.563123,67.0452019 C70.4026721,67.0452019 77.5685425,74.206703 77.5685425,83.0452019 C77.5685425,91.8817579 70.413221,99.0452019 61.563123,99.0452019 L29.573962,99.0452019 C20.7344129,99.0452019 13.5685425,91.8837008 13.5685425,83.0452019 C13.5685425,79.6672162 14.6141741,76.533728 16.4003949,73.9514439 C14.2993609,72.1401527 11.5637054,71.0452019 8.5723215,71.0452019 L-0.106255113,71.0452019 Z\" transform=\"translate(45.568542, 83.045202) rotate(-225.000000) translate(-45.568542, -83.045202)\"></path>\n </g>\n</svg>"
},
"$:/core/images/list-bullet": {
"title": "$:/core/images/list-bullet",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list-bullet tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M11.6363636,40.2727273 C18.0629498,40.2727273 23.2727273,35.0629498 23.2727273,28.6363636 C23.2727273,22.2097775 18.0629498,17 11.6363636,17 C5.20977746,17 0,22.2097775 0,28.6363636 C0,35.0629498 5.20977746,40.2727273 11.6363636,40.2727273 Z M11.6363636,75.1818182 C18.0629498,75.1818182 23.2727273,69.9720407 23.2727273,63.5454545 C23.2727273,57.1188684 18.0629498,51.9090909 11.6363636,51.9090909 C5.20977746,51.9090909 0,57.1188684 0,63.5454545 C0,69.9720407 5.20977746,75.1818182 11.6363636,75.1818182 Z M11.6363636,110.090909 C18.0629498,110.090909 23.2727273,104.881132 23.2727273,98.4545455 C23.2727273,92.0279593 18.0629498,86.8181818 11.6363636,86.8181818 C5.20977746,86.8181818 0,92.0279593 0,98.4545455 C0,104.881132 5.20977746,110.090909 11.6363636,110.090909 Z M34.9090909,22.8181818 L128,22.8181818 L128,34.4545455 L34.9090909,34.4545455 L34.9090909,22.8181818 Z M34.9090909,57.7272727 L128,57.7272727 L128,69.3636364 L34.9090909,69.3636364 L34.9090909,57.7272727 Z M34.9090909,92.6363636 L128,92.6363636 L128,104.272727 L34.9090909,104.272727 L34.9090909,92.6363636 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/list-number": {
"title": "$:/core/images/list-number",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list-number tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M33.8390805,22.3563218 L128,22.3563218 L128,34.1264368 L33.8390805,34.1264368 L33.8390805,22.3563218 Z M33.8390805,57.6666667 L128,57.6666667 L128,69.4367816 L33.8390805,69.4367816 L33.8390805,57.6666667 Z M33.8390805,92.9770115 L128,92.9770115 L128,104.747126 L33.8390805,104.747126 L33.8390805,92.9770115 Z M0.379509711,42.6307008 L0.379509711,40.4082314 L1.37821948,40.4082314 C2.20382368,40.4082314 2.82301754,40.268077 3.23581964,39.9877642 C3.64862174,39.7074513 3.85501969,39.0400498 3.85501969,37.9855395 L3.85501969,22.7686318 C3.85501969,21.3270228 3.66193774,20.4327047 3.27576803,20.0856507 C2.88959832,19.7385967 1.79768657,19.5650723 0,19.5650723 L0,17.4226919 C3.50215975,17.2758613 6.25191314,16.4683055 8.24934266,15 L10.3666074,15 L10.3666074,37.865406 C10.3666074,38.786434 10.5164123,39.4404875 10.8160268,39.8275862 C11.1156412,40.2146849 11.764796,40.4082314 12.7635108,40.4082314 L13.7622206,40.4082314 L13.7622206,42.6307008 L0.379509711,42.6307008 Z M0.0798967812,77.9873934 L0.0798967812,76.0852799 C7.27064304,69.5312983 10.8659622,63.5046623 10.8659622,58.005191 C10.8659622,56.4434479 10.5397203,55.195407 9.88722667,54.2610308 C9.23473303,53.3266546 8.36253522,52.8594735 7.27060709,52.8594735 C6.3784219,52.8594735 5.61608107,53.1764892 4.98356173,53.8105302 C4.35104238,54.4445712 4.03478745,55.1753759 4.03478745,56.0029663 C4.03478745,56.9773871 4.28113339,57.8316611 4.77383268,58.5658139 C4.88036225,58.7259926 4.93362624,58.8461249 4.93362624,58.9262143 C4.93362624,59.0730449 4.77383427,59.2065252 4.45424555,59.3266593 C4.2411864,59.4067486 3.70188852,59.6336652 2.83633573,60.0074156 C1.99741533,60.3811661 1.47809145,60.5680386 1.2783485,60.5680386 C1.03865696,60.5680386 0.765679018,60.1976307 0.459406492,59.4568039 C0.153133966,58.715977 0,57.9184322 0,57.0641453 C0,55.1153036 0.848894811,53.5202138 2.5467099,52.2788283 C4.24452499,51.0374428 6.34512352,50.4167594 8.84856852,50.4167594 C11.3120649,50.4167594 13.3793735,51.0874979 15.0505562,52.4289952 C16.7217389,53.7704924 17.5573177,55.5224215 17.5573177,57.684835 C17.5573177,58.9662652 17.2743527,60.2076321 16.7084144,61.4089729 C16.142476,62.6103138 14.7875733,64.4623531 12.6436656,66.9651465 C10.4997579,69.4679398 8.40914641,71.7804862 6.3717683,73.902855 L17.8169822,73.902855 L16.7982982,79.6292176 L14.6810335,79.6292176 C14.7609307,79.3489048 14.8008787,79.0952922 14.8008787,78.8683723 C14.8008787,78.4812736 14.7010087,78.237672 14.5012658,78.1375603 C14.3015228,78.0374485 13.9020429,77.9873934 13.3028141,77.9873934 L0.0798967812,77.9873934 Z M12.2042333,97.1935484 C13.9486551,97.2335931 15.4400468,97.8309175 16.6784531,98.9855395 C17.9168594,100.140162 18.5360532,101.75861 18.5360532,103.840934 C18.5360532,106.830938 17.4041935,109.233584 15.14044,111.048943 C12.8766866,112.864303 10.1402492,113.771969 6.93104577,113.771969 C4.92030005,113.771969 3.26245842,113.388213 1.95747114,112.62069 C0.652483855,111.853166 0,110.848727 0,109.607341 C0,108.833144 0.26964894,108.209124 0.808954909,107.735261 C1.34826088,107.261399 1.93749375,107.024472 2.57667119,107.024472 C3.21584864,107.024472 3.73850152,107.224692 4.14464552,107.625139 C4.55078953,108.025586 4.92696644,108.67964 5.27318756,109.587319 C5.73925445,110.855401 6.51158227,111.489433 7.59019421,111.489433 C8.85523291,111.489433 9.87723568,111.012241 10.6562332,110.057842 C11.4352307,109.103444 11.8247236,107.371536 11.8247236,104.862069 C11.8247236,103.153495 11.7048796,101.838714 11.4651881,100.917686 C11.2254966,99.9966584 10.6728827,99.5361513 9.80732989,99.5361513 C9.22141723,99.5361513 8.62219737,99.843156 8.00965231,100.457175 C7.51695303,100.951059 7.07752513,101.197998 6.69135542,101.197998 C6.3584505,101.197998 6.08880156,101.051169 5.88240051,100.757508 C5.67599946,100.463847 5.57280049,100.183539 5.57280049,99.916574 C5.57280049,99.5962164 5.67599946,99.3225818 5.88240051,99.0956618 C6.08880156,98.8687419 6.57150646,98.5016711 7.33052967,97.9944383 C10.2068282,96.0722929 11.6449559,93.9766521 11.6449559,91.7074527 C11.6449559,90.5194601 11.3386879,89.615131 10.7261429,88.9944383 C10.1135978,88.3737455 9.37455999,88.0634038 8.5090072,88.0634038 C7.71003539,88.0634038 6.98431355,88.3270274 6.33181991,88.8542825 C5.67932627,89.3815377 5.35308434,90.0122321 5.35308434,90.7463849 C5.35308434,91.3871 5.60608828,91.9810874 6.11210376,92.5283648 C6.28521432,92.7285883 6.3717683,92.8954387 6.3717683,93.028921 C6.3717683,93.1490551 5.80250943,93.4560598 4.6639746,93.9499444 C3.52543978,94.4438289 2.80970494,94.6907675 2.51674861,94.6907675 C2.10394651,94.6907675 1.76771758,94.3570667 1.50805174,93.6896552 C1.24838591,93.0222436 1.11855494,92.4082342 1.11855494,91.8476085 C1.11855494,90.0989901 2.04734573,88.6240327 3.90495518,87.4226919 C5.76256463,86.2213511 7.86982116,85.6206897 10.226788,85.6206897 C12.2907985,85.6206897 14.0784711,86.0678487 15.5898594,86.9621802 C17.1012478,87.8565117 17.8569306,89.0778566 17.8569306,90.6262514 C17.8569306,91.987771 17.2876717,93.2491599 16.1491369,94.4104561 C15.0106021,95.5717522 13.6956474,96.4994404 12.2042333,97.1935484 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/list": {
"title": "$:/core/images/list",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M0.719999312,185.568543 C2.21955287,181.862817 3.0452019,177.812144 3.0452019,173.568542 C3.0452019,155.891545 -11.2816707,141.568542 -28.9547636,141.568542 L-60.9548326,141.568542 C-78.6344937,141.568542 -92.9547981,155.895431 -92.9547981,173.568542 C-92.9547981,191.24554 -78.6279255,205.568542 -60.9548326,205.568542 L-28.9547636,205.568542 C-27.593228,205.568542 -26.2516158,205.483573 -24.9349335,205.31865 C-31.5207556,201.78951 -36.8809788,196.272192 -40.2126959,189.568542 L-60.9493786,189.568542 C-69.7889277,189.568542 -76.9547981,182.407041 -76.9547981,173.568542 C-76.9547981,164.731986 -69.7994766,157.568542 -60.9493786,157.568542 L-28.9602176,157.568542 C-20.1206685,157.568542 -12.9547981,164.730044 -12.9547981,173.568542 C-12.9547981,176.946528 -14.0004297,180.080016 -15.7866505,182.6623 C-13.6856165,184.473592 -10.949961,185.568542 -7.9585771,185.568542 L0.720002586,185.568542 Z\" transform=\"translate(-44.954798, 173.568542) rotate(-225.000000) translate(44.954798, -173.568542) \"></path>\n <path d=\"M87.7480315,128 L23.9992458,128 C19.5813843,128 16,124.409247 16,119.993027 L16,8.00697327 C16,3.58484404 19.5881049,0 23.9992458,0 L104.000754,0 C108.418616,0 112,3.59075293 112,8.00697327 L112,104 L91.2492027,104 C90.2848199,104 89.410573,104.391703 88.7768998,105.025201 C88.1373658,105.661376 87.7480315,106.53563 87.7480315,107.501171 L87.7480315,128 Z M95.7480315,127.879386 L111.627417,112 L95.7480315,112 L95.7480315,127.879386 Z M40,15.5089165 C40,13.5709954 41.5636015,12 43.4998101,12 L98.5001899,12 C100.433082,12 102,13.5614718 102,15.5089165 L102,16.4910835 C102,18.4290046 100.436399,20 98.5001899,20 L43.4998101,20 C41.5669183,20 40,18.4385282 40,16.4910835 L40,15.5089165 Z M32,22 C35.3137085,22 38,19.3137085 38,16 C38,12.6862915 35.3137085,10 32,10 C28.6862915,10 26,12.6862915 26,16 C26,19.3137085 28.6862915,22 32,22 Z M40,31.5089165 C40,29.5709954 41.5636015,28 43.4998101,28 L98.5001899,28 C100.433082,28 102,29.5614718 102,31.5089165 L102,32.4910835 C102,34.4290046 100.436399,36 98.5001899,36 L43.4998101,36 C41.5669183,36 40,34.4385282 40,32.4910835 L40,31.5089165 Z M40,47.5089165 C40,45.5709954 41.5636015,44 43.4998101,44 L98.5001899,44 C100.433082,44 102,45.5614718 102,47.5089165 L102,48.4910835 C102,50.4290046 100.436399,52 98.5001899,52 L43.4998101,52 C41.5669183,52 40,50.4385282 40,48.4910835 L40,47.5089165 Z M40,63.5089165 C40,61.5709954 41.5636015,60 43.4998101,60 L98.5001899,60 C100.433082,60 102,61.5614718 102,63.5089165 L102,64.4910835 C102,66.4290046 100.436399,68 98.5001899,68 L43.4998101,68 C41.5669183,68 40,66.4385282 40,64.4910835 L40,63.5089165 Z M40,79.5089165 C40,77.5709954 41.5636015,76 43.4998101,76 L98.5001899,76 C100.433082,76 102,77.5614718 102,79.5089165 L102,80.4910835 C102,82.4290046 100.436399,84 98.5001899,84 L43.4998101,84 C41.5669183,84 40,82.4385282 40,80.4910835 L40,79.5089165 Z M40,95.5089165 C40,93.5709954 41.5636015,92 43.4998101,92 L98.5001899,92 C100.433082,92 102,93.5614718 102,95.5089165 L102,96.4910835 C102,98.4290046 100.436399,100 98.5001899,100 L43.4998101,100 C41.5669183,100 40,98.4385282 40,96.4910835 L40,95.5089165 Z M40,111.508916 C40,109.570995 41.5680474,108 43.4972017,108 L76.5027983,108 C78.4342495,108 80,109.561472 80,111.508916 L80,112.491084 C80,114.429005 78.4319526,116 76.5027983,116 L43.4972017,116 C41.5657505,116 40,114.438528 40,112.491084 L40,111.508916 Z M32,38 C35.3137085,38 38,35.3137085 38,32 C38,28.6862915 35.3137085,26 32,26 C28.6862915,26 26,28.6862915 26,32 C26,35.3137085 28.6862915,38 32,38 Z M32,54 C35.3137085,54 38,51.3137085 38,48 C38,44.6862915 35.3137085,42 32,42 C28.6862915,42 26,44.6862915 26,48 C26,51.3137085 28.6862915,54 32,54 Z M32,70 C35.3137085,70 38,67.3137085 38,64 C38,60.6862915 35.3137085,58 32,58 C28.6862915,58 26,60.6862915 26,64 C26,67.3137085 28.6862915,70 32,70 Z M32,86 C35.3137085,86 38,83.3137085 38,80 C38,76.6862915 35.3137085,74 32,74 C28.6862915,74 26,76.6862915 26,80 C26,83.3137085 28.6862915,86 32,86 Z M32,102 C35.3137085,102 38,99.3137085 38,96 C38,92.6862915 35.3137085,90 32,90 C28.6862915,90 26,92.6862915 26,96 C26,99.3137085 28.6862915,102 32,102 Z M32,118 C35.3137085,118 38,115.313708 38,112 C38,108.686292 35.3137085,106 32,106 C28.6862915,106 26,108.686292 26,112 C26,115.313708 28.6862915,118 32,118 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/locked-padlock": {
"title": "$:/core/images/locked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-locked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M96.4723753,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L32.0000269,64 C32.0028554,48.2766389 32.3030338,16.2688026 64.1594984,16.2688041 C95.9543927,16.2688056 96.4648869,48.325931 96.4723753,64 Z M80.5749059,64 L48.4413579,64 C48.4426205,47.71306 48.5829272,31.9999996 64.1595001,31.9999996 C79.8437473,31.9999996 81.1369461,48.1359182 80.5749059,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/mail": {
"title": "$:/core/images/mail",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mail tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M122.826782,104.894066 C121.945525,105.22777 120.990324,105.41043 119.993027,105.41043 L8.00697327,105.41043 C7.19458381,105.41043 6.41045219,105.289614 5.67161357,105.064967 L5.67161357,105.064967 L39.8346483,70.9019325 L60.6765759,91.7438601 C61.6118278,92.679112 62.8865166,93.0560851 64.0946097,92.8783815 C65.2975108,93.0473238 66.5641085,92.6696979 67.4899463,91.7438601 L88.5941459,70.6396605 C88.6693095,70.7292352 88.7490098,70.8162939 88.8332479,70.9005321 L122.826782,104.894066 Z M127.903244,98.6568194 C127.966933,98.2506602 128,97.8343714 128,97.4103789 L128,33.410481 C128,32.7414504 127.917877,32.0916738 127.763157,31.4706493 L94.2292399,65.0045665 C94.3188145,65.0797417 94.4058701,65.1594458 94.4901021,65.2436778 L127.903244,98.6568194 Z M0.205060636,99.2178117 C0.0709009529,98.6370366 0,98.0320192 0,97.4103789 L0,33.410481 C0,32.694007 0.0944223363,31.9995312 0.27147538,31.3387595 L0.27147538,31.3387595 L34.1777941,65.2450783 L0.205060636,99.2178117 L0.205060636,99.2178117 Z M5.92934613,25.6829218 C6.59211333,25.5051988 7.28862283,25.4104299 8.00697327,25.4104299 L119.993027,25.4104299 C120.759109,25.4104299 121.500064,25.5178649 122.201605,25.7184927 L122.201605,25.7184927 L64.0832611,83.8368368 L5.92934613,25.6829218 L5.92934613,25.6829218 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/menu-button": {
"title": "$:/core/images/menu-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <rect x=\"0\" y=\"16\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"56\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"96\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n</svg>"
},
"$:/core/images/mono-block": {
"title": "$:/core/images/mono-block",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mono-block tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M23.9653488,32.9670593 L24.3217888,32.9670593 C25.0766067,32.9670593 25.6497006,33.1592554 26.0410876,33.5436534 C26.4324747,33.9280514 26.6281653,34.4906619 26.6281653,35.2315017 C26.6281653,36.0562101 26.4219913,36.6502709 26.009637,37.0137017 C25.5972828,37.3771326 24.9158602,37.5588453 23.9653488,37.5588453 L17.6542639,37.5588453 C16.6897744,37.5588453 16.0048573,37.380627 15.5994921,37.0241852 C15.1941269,36.6677435 14.9914474,36.0701882 14.9914474,35.2315017 C14.9914474,34.4207713 15.1941269,33.8406885 15.5994921,33.4912358 C16.0048573,33.141783 16.6897744,32.9670593 17.6542639,32.9670593 L18.388111,32.9670593 L17.5284616,30.5139133 L8.47069195,30.5139133 L7.5691084,32.9670593 L8.30295547,32.9670593 C9.25346691,32.9670593 9.93488953,33.1452775 10.3472438,33.5017193 C10.759598,33.8581611 10.965772,34.4347494 10.965772,35.2315017 C10.965772,36.0562101 10.759598,36.6502709 10.3472438,37.0137017 C9.93488953,37.3771326 9.25346691,37.5588453 8.30295547,37.5588453 L2.89345418,37.5588453 C1.92896463,37.5588453 1.24404754,37.3771326 0.838682371,37.0137017 C0.433317198,36.6502709 0.230637652,36.0562101 0.230637652,35.2315017 C0.230637652,34.4906619 0.426328248,33.9280514 0.817715312,33.5436534 C1.20910238,33.1592554 1.78219626,32.9670593 2.53701417,32.9670593 L2.89345418,32.9670593 L8.51262607,17.3256331 L6.83526132,17.3256331 C5.88474988,17.3256331 5.20332727,17.1439204 4.79097304,16.7804895 C4.37861882,16.4170587 4.1724448,15.8299869 4.1724448,15.0192565 C4.1724448,14.1945481 4.37861882,13.6004873 4.79097304,13.2370565 C5.20332727,12.8736257 5.88474988,12.691913 6.83526132,12.691913 L14.6979086,12.691913 C15.9419603,12.691913 16.815579,13.3628521 17.318791,14.7047506 L17.318791,14.7676518 L23.9653488,32.9670593 Z M12.9786097,17.3256331 L9.9383861,26.1737321 L16.0188333,26.1737321 L12.9786097,17.3256331 Z M35.3809383,26.6979086 L35.3809383,33.0928616 L38.5259972,33.0928616 C40.7485166,33.0928616 42.3140414,32.8482484 43.2226185,32.3590146 C44.1311956,31.8697807 44.5854773,31.0520736 44.5854773,29.9058686 C44.5854773,28.7456855 44.1521624,27.9209895 43.2855197,27.4317556 C42.4188769,26.9425218 40.9022748,26.6979086 38.7356678,26.6979086 L35.3809383,26.6979086 Z M46.0741385,24.370565 C47.5977525,24.9296893 48.7159844,25.6949794 49.428868,26.666458 C50.1417516,27.6379366 50.498188,28.8784752 50.498188,30.388111 C50.498188,31.6601189 50.1906743,32.8202846 49.5756374,33.8686428 C48.9606006,34.917001 48.0799929,35.7766419 46.933788,36.4475911 C46.2628387,36.8389782 45.5115266,37.1220307 44.6798291,37.296757 C43.8481316,37.4714834 42.6704935,37.5588453 41.1468796,37.5588453 L39.3856466,37.5588453 L30.2020747,37.5588453 C29.2795194,37.5588453 28.6190637,37.3771326 28.2206876,37.0137017 C27.8223114,36.6502709 27.6231264,36.0562101 27.6231264,35.2315017 C27.6231264,34.4906619 27.811828,33.9280514 28.189237,33.5436534 C28.5666459,33.1592554 29.118773,32.9670593 29.8456347,32.9670593 L30.2020747,32.9670593 L30.2020747,17.3256331 L29.8456347,17.3256331 C29.118773,17.3256331 28.5666459,17.1299425 28.189237,16.7385554 C27.811828,16.3471683 27.6231264,15.7740744 27.6231264,15.0192565 C27.6231264,14.2085262 27.8258059,13.6179599 28.2311711,13.24754 C28.6365363,12.8771201 29.2934976,12.691913 30.2020747,12.691913 L39.8469219,12.691913 C42.796303,12.691913 45.0362615,13.2650068 46.5668644,14.4112118 C48.0974674,15.5574168 48.8627574,17.2347648 48.8627574,19.443306 C48.8627574,20.5335986 48.6286276,21.4945792 48.1603609,22.3262767 C47.6920943,23.1579742 46.9966938,23.8393968 46.0741385,24.370565 L46.0741385,24.370565 Z M35.3809383,17.1998307 L35.3809383,22.4835296 L38.2114913,22.4835296 C39.9307988,22.4835296 41.1433816,22.2808501 41.8492761,21.8754849 C42.5551706,21.4701197 42.9081126,20.7852027 42.9081126,19.8207131 C42.9081126,18.912136 42.5901154,18.2481858 41.9541114,17.8288425 C41.3181074,17.4094992 40.2872373,17.1998307 38.8614701,17.1998307 L35.3809383,17.1998307 Z M71.244119,13.3838259 C71.5236812,12.880614 71.8102281,12.5241775 72.1037684,12.3145059 C72.3973087,12.1048342 72.7677231,12 73.2150226,12 C73.8999499,12 74.3856819,12.1817127 74.6722332,12.5451435 C74.9587844,12.9085744 75.1020579,13.5305909 75.1020579,14.4112118 L75.143992,19.8626472 C75.143992,20.8271368 74.9867406,21.4771091 74.6722332,21.8125837 C74.3577257,22.1480584 73.7881263,22.3157932 72.9634178,22.3157932 C72.3763372,22.3157932 71.92555,22.1760142 71.6110425,21.896452 C71.2965351,21.6168898 71.0274605,21.0997075 70.8038107,20.3448896 C70.4403799,19.0169692 69.8602971,18.0629775 69.0635448,17.482886 C68.2667926,16.9027945 67.1625385,16.612753 65.7507494,16.612753 C63.5981206,16.612753 61.9487284,17.3396038 60.8025235,18.7933272 C59.6563185,20.2470506 59.0832246,22.3507245 59.0832246,25.104412 C59.0832246,27.8441215 59.6633074,29.9477954 60.8234905,31.4154969 C61.9836736,32.8831984 63.6400547,33.6170381 65.7926836,33.6170381 C67.2603851,33.6170381 68.878327,33.1278116 70.6465578,32.149344 C72.4147886,31.1708763 73.5295261,30.6816498 73.9908037,30.6816498 C74.53595,30.6816498 74.9937262,30.9122852 75.3641461,31.3735628 C75.734566,31.8348404 75.9197732,32.4079343 75.9197732,33.0928616 C75.9197732,34.3229353 74.836486,35.4831009 72.669879,36.5733935 C70.5032721,37.663686 68.0641285,38.2088241 65.3523753,38.2088241 C61.6901107,38.2088241 58.7267959,36.9997358 56.4623422,34.5815228 C54.1978885,32.1633099 53.0656786,29.0043046 53.0656786,25.104412 C53.0656786,21.3443006 54.2118664,18.22024 56.5042763,15.7321366 C58.7966863,13.2440331 61.7040894,12 65.226573,12 C66.2190187,12 67.1974717,12.1118232 68.1619613,12.3354729 C69.1264508,12.5591227 70.1538264,12.9085702 71.244119,13.3838259 L71.244119,13.3838259 Z M81.4645862,32.9670593 L81.4645862,17.3256331 L81.1081461,17.3256331 C80.3533282,17.3256331 79.7802344,17.1299425 79.3888473,16.7385554 C78.9974602,16.3471683 78.8017696,15.7740744 78.8017696,15.0192565 C78.8017696,14.2085262 79.0114381,13.6179599 79.4307814,13.24754 C79.8501247,12.8771201 80.5280528,12.691913 81.4645862,12.691913 L85.4063933,12.691913 L86.6434498,12.691913 C89.5648747,12.691913 91.7034933,12.8177141 93.0593699,13.06932 C94.4152465,13.320926 95.5684233,13.740263 96.5189347,14.3273436 C98.210286,15.3337675 99.5067362,16.7699967 100.408324,18.6360743 C101.309912,20.5021519 101.7607,22.6582429 101.7607,25.104412 C101.7607,27.6903623 101.247012,29.9512876 100.219621,31.8872557 C99.1922296,33.8232239 97.7350336,35.2874089 95.8479888,36.2798546 C94.9953241,36.7271541 93.9959043,37.0521403 92.8496993,37.2548229 C91.7034944,37.4575055 89.9981906,37.5588453 87.7337369,37.5588453 L85.4063933,37.5588453 L81.4645862,37.5588453 C80.5000966,37.5588453 79.8151795,37.380627 79.4098143,37.0241852 C79.0044492,36.6677435 78.8017696,36.0701882 78.8017696,35.2315017 C78.8017696,34.4906619 78.9974602,33.9280514 79.3888473,33.5436534 C79.7802344,33.1592554 80.3533282,32.9670593 81.1081461,32.9670593 L81.4645862,32.9670593 Z M86.8740874,17.2417648 L86.8740874,32.9670593 L88.0692098,32.9670593 C90.7110725,32.9670593 92.6609895,32.3205814 93.9190194,31.0276063 C95.1770492,29.7346312 95.8060547,27.7462749 95.8060547,25.0624779 C95.8060547,22.4206153 95.1665658,20.4497314 93.8875688,19.1497672 C92.6085718,17.849803 90.6831161,17.1998307 88.1111439,17.1998307 C87.7756693,17.1998307 87.5205727,17.2033252 87.3458463,17.2103142 C87.1711199,17.2173033 87.0138685,17.2277867 86.8740874,17.2417648 L86.8740874,17.2417648 Z M121.94052,17.1159625 L112.190837,17.1159625 L112.190837,22.4835296 L115.88104,22.4835296 L115.88104,22.2319249 C115.88104,21.4351727 116.055763,20.841112 116.405216,20.4497249 C116.754669,20.0583378 117.285829,19.8626472 117.998713,19.8626472 C118.627728,19.8626472 119.141415,20.0408655 119.539792,20.3973072 C119.938168,20.753749 120.137353,21.2045363 120.137353,21.7496826 C120.137353,21.7776388 120.144342,21.8684951 120.15832,22.0222543 C120.172298,22.1760135 120.179287,22.3297704 120.179287,22.4835296 L120.179287,26.8237109 C120.179287,27.7602442 120.011552,28.4311834 119.676077,28.8365486 C119.340603,29.2419138 118.795465,29.4445933 118.040647,29.4445933 C117.327763,29.4445933 116.789614,29.2558917 116.426183,28.8784827 C116.062752,28.5010738 115.88104,27.9419578 115.88104,27.201118 L115.88104,26.8237109 L112.190837,26.8237109 L112.190837,33.0928616 L121.94052,33.0928616 L121.94052,30.5977816 C121.94052,29.6612482 122.118738,28.9903091 122.47518,28.5849439 C122.831622,28.1795787 123.415199,27.9768992 124.225929,27.9768992 C125.022682,27.9768992 125.592281,28.1760842 125.934745,28.5744604 C126.277208,28.9728365 126.448438,29.6472701 126.448438,30.5977816 L126.448438,35.6718099 C126.448438,36.4266278 126.30167,36.9298322 126.008129,37.1814382 C125.714589,37.4330442 125.134506,37.5588453 124.267863,37.5588453 L107.095842,37.5588453 C106.173287,37.5588453 105.512831,37.3771326 105.114455,37.0137017 C104.716079,36.6502709 104.516894,36.0562101 104.516894,35.2315017 C104.516894,34.4906619 104.705595,33.9280514 105.083004,33.5436534 C105.460413,33.1592554 106.01254,32.9670593 106.739402,32.9670593 L107.095842,32.9670593 L107.095842,17.3256331 L106.739402,17.3256331 C106.026518,17.3256331 105.477886,17.126448 105.093488,16.7280719 C104.70909,16.3296957 104.516894,15.7600963 104.516894,15.0192565 C104.516894,14.2085262 104.719573,13.6179599 105.124938,13.24754 C105.530304,12.8771201 106.187265,12.691913 107.095842,12.691913 L124.267863,12.691913 C125.120528,12.691913 125.697116,12.8212085 125.997646,13.0798036 C126.298175,13.3383986 126.448438,13.8520864 126.448438,14.6208824 L126.448438,19.3175037 C126.448438,20.2680151 126.273714,20.9494377 125.924261,21.361792 C125.574808,21.7741462 125.008703,21.9803202 124.225929,21.9803202 C123.415199,21.9803202 122.831622,21.7706517 122.47518,21.3513084 C122.118738,20.9319652 121.94052,20.254037 121.94052,19.3175037 L121.94052,17.1159625 Z M19.7719369,47.6405477 C20.037521,47.1373358 20.3205734,46.7808993 20.6211028,46.5712277 C20.9216322,46.361556 21.295541,46.2567218 21.7428405,46.2567218 C22.4277678,46.2567218 22.9134998,46.4384345 23.2000511,46.8018653 C23.4866023,47.1652962 23.6298758,47.7873127 23.6298758,48.6679336 L23.6718099,54.119369 C23.6718099,55.0838586 23.5145586,55.7338309 23.2000511,56.0693055 C22.8855436,56.4047802 22.3089553,56.572515 21.4702687,56.572515 C20.8831881,56.572515 20.4254119,56.4292415 20.0969263,56.1426902 C19.7684407,55.856139 19.4993662,55.3424512 19.2896945,54.6016114 C18.9122856,53.2597129 18.3322027,52.3022267 17.5494286,51.7291243 C16.7666545,51.1560218 15.6693894,50.8694748 14.2576003,50.8694748 C12.1049715,50.8694748 10.4590738,51.5963256 9.31985785,53.050049 C8.18064193,54.5037724 7.61104252,56.6074463 7.61104252,59.3611338 C7.61104252,62.1148214 8.20859773,64.2429566 9.40372609,65.7456034 C10.5988544,67.2482501 12.2936748,67.9995623 14.488238,67.9995623 C14.9914499,67.9995623 15.5645438,67.9401562 16.2075368,67.8213423 C16.8505299,67.7025283 17.6053364,67.5173212 18.4719792,67.2657152 L18.4719792,63.9529198 L16.1027015,63.9529198 C15.1521901,63.9529198 14.4777564,63.7781961 14.0793803,63.4287433 C13.6810042,63.0792906 13.4818191,62.4992078 13.4818191,61.6884774 C13.4818191,60.8497908 13.6810042,60.2522356 14.0793803,59.8957938 C14.4777564,59.5393521 15.1521901,59.3611338 16.1027015,59.3611338 L23.6718099,59.3611338 C24.6502776,59.3611338 25.3386891,59.5358576 25.7370653,59.8853103 C26.1354414,60.2347631 26.3346265,60.8218348 26.3346265,61.6465433 C26.3346265,62.3873831 26.1354414,62.9569825 25.7370653,63.3553586 C25.3386891,63.7537347 24.7621008,63.9529198 24.0072829,63.9529198 L23.6718099,63.9529198 L23.6718099,68.9430799 L23.6718099,69.1946846 C23.6718099,69.6419841 23.6228873,69.9529924 23.5250405,70.1277188 C23.4271937,70.3024451 23.2315031,70.4806634 22.9379628,70.6623788 C22.1412106,71.1376345 20.8762107,71.5569715 19.1429251,71.9204023 C17.4096396,72.2838332 15.6554131,72.4655459 13.8801932,72.4655459 C10.2179286,72.4655459 7.25461383,71.2564576 4.99016011,68.8382446 C2.72570638,66.4200317 1.59349651,63.2610264 1.59349651,59.3611338 C1.59349651,55.6010224 2.73968428,52.4769618 5.03209423,49.9888583 C7.32450417,47.5007549 10.2319073,46.2567218 13.7543909,46.2567218 C14.7328585,46.2567218 15.7078171,46.368545 16.6792957,46.5921947 C17.6507743,46.8158445 18.6816444,47.165292 19.7719369,47.6405477 L19.7719369,47.6405477 Z M35.611576,51.5823548 L35.611576,56.4047785 L42.4678043,56.4047785 L42.4678043,51.5823548 L42.1323314,51.5823548 C41.3775135,51.5823548 40.8009251,51.3866642 40.402549,50.9952772 C40.0041729,50.6038901 39.8049878,50.0307962 39.8049878,49.2759783 C39.8049878,48.4512699 40.0111618,47.8572091 40.4235161,47.4937783 C40.8358703,47.1303474 41.5172929,46.9486347 42.4678043,46.9486347 L47.8773056,46.9486347 C48.8278171,46.9486347 49.5022507,47.1303474 49.9006269,47.4937783 C50.299003,47.8572091 50.498188,48.4512699 50.498188,49.2759783 C50.498188,50.0307962 50.3059919,50.6038901 49.9215939,50.9952772 C49.5371959,51.3866642 48.9745854,51.5823548 48.2337456,51.5823548 L47.8773056,51.5823548 L47.8773056,67.2237811 L48.2337456,67.2237811 C48.9885636,67.2237811 49.5616574,67.4159772 49.9530445,67.8003752 C50.3444316,68.1847732 50.5401222,68.7473837 50.5401222,69.4882235 C50.5401222,70.3129319 50.3374426,70.9069927 49.9320774,71.2704235 C49.5267123,71.6338543 48.8417952,71.815567 47.8773056,71.815567 L42.4678043,71.815567 C41.5033148,71.815567 40.8183977,71.6373488 40.4130325,71.280907 C40.0076674,70.9244652 39.8049878,70.32691 39.8049878,69.4882235 C39.8049878,68.7473837 40.0041729,68.1847732 40.402549,67.8003752 C40.8009251,67.4159772 41.3775135,67.2237811 42.1323314,67.2237811 L42.4678043,67.2237811 L42.4678043,61.0384986 L35.611576,61.0384986 L35.611576,67.2237811 L35.9470489,67.2237811 C36.7018668,67.2237811 37.2784552,67.4159772 37.6768313,67.8003752 C38.0752074,68.1847732 38.2743925,68.7473837 38.2743925,69.4882235 C38.2743925,70.3129319 38.0682185,70.9069927 37.6558642,71.2704235 C37.24351,71.6338543 36.5620874,71.815567 35.611576,71.815567 L30.2020747,71.815567 C29.2375851,71.815567 28.552668,71.6373488 28.1473029,71.280907 C27.7419377,70.9244652 27.5392581,70.32691 27.5392581,69.4882235 C27.5392581,68.7473837 27.7349487,68.1847732 28.1263358,67.8003752 C28.5177229,67.4159772 29.0908168,67.2237811 29.8456347,67.2237811 L30.2020747,67.2237811 L30.2020747,51.5823548 L29.8456347,51.5823548 C29.1047949,51.5823548 28.5421844,51.3866642 28.1577864,50.9952772 C27.7733884,50.6038901 27.5811923,50.0307962 27.5811923,49.2759783 C27.5811923,48.4512699 27.7803773,47.8572091 28.1787534,47.4937783 C28.5771296,47.1303474 29.2515632,46.9486347 30.2020747,46.9486347 L35.611576,46.9486347 C36.5481093,46.9486347 37.2260374,47.1303474 37.6453807,47.4937783 C38.064724,47.8572091 38.2743925,48.4512699 38.2743925,49.2759783 C38.2743925,50.0307962 38.0752074,50.6038901 37.6768313,50.9952772 C37.2784552,51.3866642 36.7018668,51.5823548 35.9470489,51.5823548 L35.611576,51.5823548 Z M67.365213,51.5823548 L67.365213,67.2237811 L70.887679,67.2237811 C71.8381904,67.2237811 72.519613,67.4019993 72.9319673,67.7584411 C73.3443215,68.1148829 73.5504955,68.6914712 73.5504955,69.4882235 C73.5504955,70.2989538 73.340827,70.8895201 72.9214837,71.25994 C72.5021404,71.6303599 71.8242123,71.815567 70.887679,71.815567 L58.4332458,71.815567 C57.4827343,71.815567 56.8013117,71.6338543 56.3889575,71.2704235 C55.9766033,70.9069927 55.7704292,70.3129319 55.7704292,69.4882235 C55.7704292,68.6774931 55.9731088,68.0974103 56.378474,67.7479575 C56.7838391,67.3985048 57.4687562,67.2237811 58.4332458,67.2237811 L61.9557117,67.2237811 L61.9557117,51.5823548 L58.4332458,51.5823548 C57.4827343,51.5823548 56.8013117,51.4006421 56.3889575,51.0372113 C55.9766033,50.6737805 55.7704292,50.0867087 55.7704292,49.2759783 C55.7704292,48.4512699 55.9731088,47.8641981 56.378474,47.5147453 C56.7838391,47.1652926 57.4687562,46.9905689 58.4332458,46.9905689 L70.887679,46.9905689 C71.8801247,46.9905689 72.5720308,47.1652926 72.9634178,47.5147453 C73.3548049,47.8641981 73.5504955,48.4512699 73.5504955,49.2759783 C73.5504955,50.0867087 73.347816,50.6737805 72.9424508,51.0372113 C72.5370856,51.4006421 71.8521685,51.5823548 70.887679,51.5823548 L67.365213,51.5823548 Z M97.8608265,51.5823548 L97.8608265,63.1771386 L97.8608265,63.5755127 C97.8608265,65.4485794 97.7385199,66.8044357 97.493903,67.6431222 C97.2492861,68.4818088 96.8404325,69.2296264 96.26733,69.8865976 C95.5264902,70.7392623 94.4991146,71.3822457 93.1851723,71.815567 C91.87123,72.2488884 90.2917273,72.4655459 88.4466169,72.4655459 C87.1466527,72.4655459 85.8921362,72.3397448 84.6830298,72.0881388 C83.4739233,71.8365328 82.3102631,71.4591296 81.1920144,70.9559176 C80.5769776,70.6763554 80.175113,70.31293 79.9864085,69.8656305 C79.797704,69.418331 79.7033532,68.6914802 79.7033532,67.6850564 L79.7033532,63.3658422 C79.7033532,62.1637247 79.8780769,61.3250508 80.2275297,60.849795 C80.5769824,60.3745393 81.185021,60.136915 82.0516638,60.136915 C83.2957156,60.136915 83.9806326,61.0524675 84.1064356,62.8835998 C84.1204137,63.2050963 84.1413806,63.4497096 84.1693368,63.6174469 C84.3370741,65.2389076 84.7144774,66.3466561 85.301558,66.9407258 C85.8886386,67.5347954 86.8251579,67.8318258 88.1111439,67.8318258 C89.7046484,67.8318258 90.8263749,67.4089943 91.476357,66.5633187 C92.126339,65.7176431 92.4513252,64.1765796 92.4513252,61.9400821 L92.4513252,51.5823548 L88.9288593,51.5823548 C87.9783478,51.5823548 87.2969252,51.4006421 86.884571,51.0372113 C86.4722168,50.6737805 86.2660427,50.0867087 86.2660427,49.2759783 C86.2660427,48.4512699 86.4652278,47.8641981 86.8636039,47.5147453 C87.26198,47.1652926 87.9503916,46.9905689 88.9288593,46.9905689 L99.6220595,46.9905689 C100.600527,46.9905689 101.288939,47.1652926 101.687315,47.5147453 C102.085691,47.8641981 102.284876,48.4512699 102.284876,49.2759783 C102.284876,50.0867087 102.078702,50.6737805 101.666348,51.0372113 C101.253994,51.4006421 100.572571,51.5823548 99.6220595,51.5823548 L97.8608265,51.5823548 Z M112.505343,51.5823548 L112.505343,57.9353738 L118.984165,51.4565525 C118.257303,51.3726838 117.747109,51.1665098 117.453569,50.8380242 C117.160029,50.5095387 117.013261,49.9888619 117.013261,49.2759783 C117.013261,48.4512699 117.212446,47.8572091 117.610822,47.4937783 C118.009198,47.1303474 118.683632,46.9486347 119.634143,46.9486347 L124.771073,46.9486347 C125.721584,46.9486347 126.396018,47.1303474 126.794394,47.4937783 C127.19277,47.8572091 127.391955,48.4512699 127.391955,49.2759783 C127.391955,50.0447743 127.19277,50.6213627 126.794394,51.0057607 C126.396018,51.3901587 125.812441,51.5823548 125.043645,51.5823548 L124.561402,51.5823548 L118.459988,57.641835 C119.592215,58.4805215 120.626579,59.5812811 121.563113,60.9441468 C122.499646,62.3070125 123.596911,64.400203 124.854941,67.2237811 L125.127513,67.2237811 L125.546854,67.2237811 C126.371563,67.2237811 126.98659,67.4124827 127.391955,67.7898917 C127.79732,68.1673006 128,68.7334056 128,69.4882235 C128,70.3129319 127.793826,70.9069927 127.381472,71.2704235 C126.969118,71.6338543 126.287695,71.815567 125.337183,71.815567 L122.758235,71.815567 C121.626008,71.815567 120.710456,71.0537715 120.01155,69.5301576 C119.885747,69.2505954 119.787902,69.026949 119.718012,68.8592117 C118.795456,66.9022764 117.949793,65.3926632 117.180997,64.3303269 C116.412201,63.2679906 115.510627,62.2965265 114.476247,61.4159056 L112.505343,63.302941 L112.505343,67.2237811 L112.840816,67.2237811 C113.595634,67.2237811 114.172222,67.4159772 114.570599,67.8003752 C114.968975,68.1847732 115.16816,68.7473837 115.16816,69.4882235 C115.16816,70.3129319 114.961986,70.9069927 114.549631,71.2704235 C114.137277,71.6338543 113.455855,71.815567 112.505343,71.815567 L107.095842,71.815567 C106.131352,71.815567 105.446435,71.6373488 105.04107,71.280907 C104.635705,70.9244652 104.433025,70.32691 104.433025,69.4882235 C104.433025,68.7473837 104.628716,68.1847732 105.020103,67.8003752 C105.41149,67.4159772 105.984584,67.2237811 106.739402,67.2237811 L107.095842,67.2237811 L107.095842,51.5823548 L106.739402,51.5823548 C105.998562,51.5823548 105.435952,51.3866642 105.051554,50.9952772 C104.667156,50.6038901 104.474959,50.0307962 104.474959,49.2759783 C104.474959,48.4512699 104.674145,47.8572091 105.072521,47.4937783 C105.470897,47.1303474 106.14533,46.9486347 107.095842,46.9486347 L112.505343,46.9486347 C113.441877,46.9486347 114.119805,47.1303474 114.539148,47.4937783 C114.958491,47.8572091 115.16816,48.4512699 115.16816,49.2759783 C115.16816,50.0307962 114.968975,50.6038901 114.570599,50.9952772 C114.172222,51.3866642 113.595634,51.5823548 112.840816,51.5823548 L112.505343,51.5823548 Z M13.439885,96.325622 L17.4445933,84.4372993 C17.6961993,83.6545252 18.0456468,83.0849258 18.4929463,82.728484 C18.9402458,82.3720422 19.5343065,82.193824 20.2751463,82.193824 L23.5460076,82.193824 C24.496519,82.193824 25.1779416,82.3755367 25.5902958,82.7389675 C26.0026501,83.1023984 26.2088241,83.6964591 26.2088241,84.5211676 C26.2088241,85.2759855 26.009639,85.8490794 25.6112629,86.2404664 C25.2128868,86.6318535 24.6362984,86.8275441 23.8814805,86.8275441 L23.5460076,86.8275441 L24.1330852,102.46897 L24.4895252,102.46897 C25.2443431,102.46897 25.8104481,102.661166 26.187857,103.045564 C26.565266,103.429962 26.7539676,103.992573 26.7539676,104.733413 C26.7539676,105.558121 26.5547826,106.152182 26.1564064,106.515613 C25.7580303,106.879044 25.0835967,107.060756 24.1330852,107.060756 L19.4154969,107.060756 C18.4649855,107.060756 17.7905518,106.882538 17.3921757,106.526096 C16.9937996,106.169654 16.7946145,105.572099 16.7946145,104.733413 C16.7946145,103.992573 16.9868106,103.429962 17.3712086,103.045564 C17.7556066,102.661166 18.325206,102.46897 19.0800239,102.46897 L19.4154969,102.46897 L19.1219581,89.6790642 L16.0607674,99.1981091 C15.8371177,99.9109927 15.5191204,100.42468 15.1067662,100.739188 C14.694412,101.053695 14.1248126,101.210947 13.3979509,101.210947 C12.6710892,101.210947 12.0945008,101.053695 11.6681685,100.739188 C11.2418362,100.42468 10.91685,99.9109927 10.6932002,99.1981091 L7.65297664,89.6790642 L7.35943781,102.46897 L7.69491075,102.46897 C8.44972866,102.46897 9.01932808,102.661166 9.40372609,103.045564 C9.78812409,103.429962 9.98032022,103.992573 9.98032022,104.733413 C9.98032022,105.558121 9.77764067,106.152182 9.3722755,106.515613 C8.96691032,106.879044 8.29597114,107.060756 7.35943781,107.060756 L2.62088241,107.060756 C1.68434908,107.060756 1.01340989,106.879044 0.608044719,106.515613 C0.202679546,106.152182 0,105.558121 0,104.733413 C0,103.992573 0.192196121,103.429962 0.57659413,103.045564 C0.960992139,102.661166 1.53059155,102.46897 2.28540946,102.46897 L2.62088241,102.46897 L3.22892713,86.8275441 L2.89345418,86.8275441 C2.13863627,86.8275441 1.56204791,86.6318535 1.16367179,86.2404664 C0.765295672,85.8490794 0.5661106,85.2759855 0.5661106,84.5211676 C0.5661106,83.6964591 0.772284622,83.1023984 1.18463885,82.7389675 C1.59699308,82.3755367 2.27841569,82.193824 3.22892713,82.193824 L6.49978838,82.193824 C7.22665007,82.193824 7.81022738,82.3685477 8.25053783,82.7180005 C8.69084827,83.0674532 9.05077919,83.6405471 9.33034138,84.4372993 L13.439885,96.325622 Z M43.8935644,98.3803938 L43.8935644,86.8275441 L42.7403761,86.8275441 C41.8178209,86.8275441 41.1573651,86.6458314 40.758989,86.2824006 C40.3606129,85.9189697 40.1614278,85.3318979 40.1614278,84.5211676 C40.1614278,83.7104372 40.3606129,83.119871 40.758989,82.7494511 C41.1573651,82.3790312 41.8178209,82.193824 42.7403761,82.193824 L48.6950209,82.193824 C49.6035981,82.193824 50.2605593,82.3790312 50.6659245,82.7494511 C51.0712897,83.119871 51.2739692,83.7104372 51.2739692,84.5211676 C51.2739692,85.2620074 51.0817731,85.8316068 50.6973751,86.2299829 C50.3129771,86.628359 49.7643445,86.8275441 49.051461,86.8275441 L48.6950209,86.8275441 L48.6950209,105.865634 C48.6950209,106.522605 48.6251315,106.934953 48.4853504,107.10269 C48.3455693,107.270428 48.0310665,107.354295 47.5418327,107.354295 L45.4451268,107.354295 C44.7741775,107.354295 44.3024234,107.284406 44.0298503,107.144625 C43.7572771,107.004843 43.5231473,106.76023 43.3274538,106.410777 L34.6051571,91.0838571 L34.6051571,102.46897 L35.8212466,102.46897 C36.7298237,102.46897 37.379796,102.643694 37.7711831,102.993147 C38.1625701,103.3426 38.3582607,103.922682 38.3582607,104.733413 C38.3582607,105.558121 38.1590757,106.152182 37.7606995,106.515613 C37.3623234,106.879044 36.7158456,107.060756 35.8212466,107.060756 L29.8037005,107.060756 C28.8951234,107.060756 28.2381621,106.879044 27.832797,106.515613 C27.4274318,106.152182 27.2247522,105.558121 27.2247522,104.733413 C27.2247522,103.992573 27.4134539,103.429962 27.7908629,103.045564 C28.1682718,102.661166 28.7273878,102.46897 29.4682276,102.46897 L29.8037005,102.46897 L29.8037005,86.8275441 L29.4682276,86.8275441 C28.755344,86.8275441 28.203217,86.628359 27.8118299,86.2299829 C27.4204428,85.8316068 27.2247522,85.2620074 27.2247522,84.5211676 C27.2247522,83.7104372 27.4309263,83.119871 27.8432805,82.7494511 C28.2556347,82.3790312 28.9091015,82.193824 29.8037005,82.193824 L33.2422983,82.193824 C34.0670067,82.193824 34.6261227,82.3021527 34.919663,82.5188134 C35.2132033,82.7354741 35.5416839,83.1722835 35.9051148,83.8292546 L43.8935644,98.3803938 Z M64.6604624,86.3662688 C62.8572863,86.3662688 61.4420239,87.0931196 60.4146329,88.546843 C59.3872418,90.0005663 58.873554,92.0203728 58.873554,94.6063231 C58.873554,97.1922733 59.3907363,99.2190688 60.4251164,100.68677 C61.4594965,102.154472 62.8712644,102.888312 64.6604624,102.888312 C66.4636385,102.888312 67.8823953,102.157966 68.9167754,100.697254 C69.9511555,99.2365414 70.4683378,97.2062514 70.4683378,94.6063231 C70.4683378,92.0203728 69.95465,90.0005663 68.9272589,88.546843 C67.8998679,87.0931196 66.4776166,86.3662688 64.6604624,86.3662688 L64.6604624,86.3662688 Z M64.6604624,81.501911 C68.0990773,81.501911 70.929602,82.7319662 73.1521214,85.1921135 C75.3746408,87.6522607 76.4858838,90.7902992 76.4858838,94.6063231 C76.4858838,98.4503032 75.3816297,101.595331 73.1730884,104.0415 C70.9645471,106.487669 68.1270335,107.710735 64.6604624,107.710735 C61.2358256,107.710735 58.4053009,106.477185 56.1688034,104.010049 C53.9323059,101.542913 52.8140739,98.4083688 52.8140739,94.6063231 C52.8140739,90.7763211 53.9218224,87.6347881 56.1373528,85.1816299 C58.3528831,82.7284717 61.1938912,81.501911 64.6604624,81.501911 L64.6604624,81.501911 Z M87.4611651,98.1707232 L87.4611651,102.46897 L89.6207722,102.46897 C90.5293493,102.46897 91.1758272,102.643694 91.5602252,102.993147 C91.9446232,103.3426 92.1368193,103.922682 92.1368193,104.733413 C92.1368193,105.558121 91.9411287,106.152182 91.5497417,106.515613 C91.1583546,106.879044 90.5153712,107.060756 89.6207722,107.060756 L82.3661697,107.060756 C81.4436145,107.060756 80.7831587,106.879044 80.3847826,106.515613 C79.9864065,106.152182 79.7872214,105.558121 79.7872214,104.733413 C79.7872214,103.992573 79.9759231,103.429962 80.353332,103.045564 C80.730741,102.661166 81.282868,102.46897 82.0097297,102.46897 L82.3661697,102.46897 L82.3661697,86.8275441 L82.0097297,86.8275441 C81.2968461,86.8275441 80.7482136,86.628359 80.3638155,86.2299829 C79.9794175,85.8316068 79.7872214,85.2620074 79.7872214,84.5211676 C79.7872214,83.7104372 79.989901,83.119871 80.3952661,82.7494511 C80.8006313,82.3790312 81.4575926,82.193824 82.3661697,82.193824 L91.0255652,82.193824 C94.450202,82.193824 97.0396079,82.8507853 98.7938606,84.1647276 C100.548113,85.4786699 101.425227,87.414609 101.425227,89.972603 C101.425227,92.6703781 100.551608,94.7111515 98.8043442,96.0949843 C97.0570805,97.4788171 94.4641801,98.1707232 91.0255652,98.1707232 L87.4611651,98.1707232 Z M87.4611651,86.8275441 L87.4611651,93.4531348 L90.4384875,93.4531348 C92.0879044,93.4531348 93.328443,93.1735768 94.1601405,92.6144525 C94.9918381,92.0553281 95.4076806,91.2166541 95.4076806,90.0984053 C95.4076806,89.0500471 94.9778602,88.2428234 94.1182064,87.67671 C93.2585527,87.1105966 92.031992,86.8275441 90.4384875,86.8275441 L87.4611651,86.8275441 Z M114.727851,107.396229 L113.092421,109.03166 C113.69348,108.835966 114.284046,108.689198 114.864137,108.591352 C115.444229,108.493505 116.013828,108.444582 116.572953,108.444582 C117.677223,108.444582 118.840883,108.608823 120.063968,108.937308 C121.287053,109.265794 122.031376,109.430034 122.29696,109.430034 C122.744259,109.430034 123.327837,109.279772 124.047709,108.979242 C124.767582,108.678713 125.253314,108.52845 125.50492,108.52845 C126.02211,108.52845 126.45193,108.727636 126.794394,109.126012 C127.136858,109.524388 127.308087,110.024098 127.308087,110.625156 C127.308087,111.421909 126.836333,112.099837 125.892811,112.658961 C124.949288,113.218086 123.792617,113.497643 122.422762,113.497643 C121.486229,113.497643 120.28413,113.277492 118.816428,112.837181 C117.348727,112.396871 116.286406,112.176719 115.629435,112.176719 C114.636989,112.176719 113.518757,112.449288 112.274706,112.994434 C111.030654,113.53958 110.261869,113.812149 109.968329,113.812149 C109.36727,113.812149 108.857077,113.612964 108.437734,113.214588 C108.01839,112.816212 107.808722,112.337469 107.808722,111.778345 C107.808722,111.386958 107.941512,110.971115 108.207096,110.530805 C108.47268,110.090494 108.94094,109.520895 109.611889,108.821989 L111.729562,106.683349 C109.395218,105.830685 107.536157,104.29661 106.152324,102.08108 C104.768491,99.8655494 104.076585,97.3180772 104.076585,94.4385866 C104.076585,90.6365409 105.180839,87.5299526 107.389381,85.1187288 C109.597922,82.7075049 112.442425,81.501911 115.922974,81.501911 C119.389545,81.501911 122.227059,82.7109994 124.4356,85.1292123 C126.644141,87.5474252 127.748395,90.650519 127.748395,94.4385866 C127.748395,98.2126762 126.65113,101.322759 124.456567,103.768928 C122.262004,106.215097 119.480402,107.438163 116.111677,107.438163 C115.888028,107.438163 115.660887,107.434669 115.430248,107.42768 C115.199609,107.420691 114.965479,107.410207 114.727851,107.396229 L114.727851,107.396229 Z M115.922974,86.3662688 C114.119798,86.3662688 112.704535,87.0931196 111.677144,88.546843 C110.649753,90.0005663 110.136065,92.0203728 110.136065,94.6063231 C110.136065,97.1922733 110.653248,99.2190688 111.687628,100.68677 C112.722008,102.154472 114.133776,102.888312 115.922974,102.888312 C117.72615,102.888312 119.144907,102.157966 120.179287,100.697254 C121.213667,99.2365414 121.730849,97.2062514 121.730849,94.6063231 C121.730849,92.0203728 121.217161,90.0005663 120.18977,88.546843 C119.162379,87.0931196 117.740128,86.3662688 115.922974,86.3662688 L115.922974,86.3662688 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/mono-line": {
"title": "$:/core/images/mono-line",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mono-line tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60.4374591,84.522627 L61.3450888,84.522627 C63.2671377,84.522627 64.7264493,85.0120303 65.7230673,85.9908515 C66.7196852,86.9696727 67.2179868,88.4022896 67.2179868,90.288745 C67.2179868,92.3887615 66.6929905,93.9014625 65.6429823,94.8268935 C64.5929741,95.7523244 62.857817,96.215033 60.4374591,96.215033 L44.3670747,96.215033 C41.9111232,96.215033 40.1670679,95.7612227 39.1348565,94.8535884 C38.102645,93.9459542 37.586547,92.424355 37.586547,90.288745 C37.586547,88.2243221 38.102645,86.747214 39.1348565,85.8573766 C40.1670679,84.9675391 41.9111232,84.522627 44.3670747,84.522627 L46.235724,84.522627 L44.0467348,78.2759992 L20.9822627,78.2759992 L18.6864935,84.522627 L20.5551429,84.522627 C22.9755008,84.522627 24.7106579,84.9764373 25.7606661,85.8840716 C26.8106743,86.7917058 27.3356705,88.2599156 27.3356705,90.288745 C27.3356705,92.3887615 26.8106743,93.9014625 25.7606661,94.8268935 C24.7106579,95.7523244 22.9755008,96.215033 20.5551429,96.215033 L6.78052766,96.215033 C4.32457622,96.215033 2.58052094,95.7523244 1.54830946,94.8268935 C0.516097994,93.9014625 0,92.3887615 0,90.288745 C0,88.4022896 0.498301511,86.9696727 1.49491948,85.9908515 C2.49153745,85.0120303 3.95084902,84.522627 5.87289797,84.522627 L6.78052766,84.522627 L21.0890427,44.6937008 L16.8178442,44.6937008 C14.3974863,44.6937008 12.6623292,44.2309922 11.612321,43.3055613 C10.5623128,42.3801303 10.0373165,40.8852258 10.0373165,38.8208028 C10.0373165,36.7207864 10.5623128,35.2080854 11.612321,34.2826544 C12.6623292,33.3572234 14.3974863,32.8945149 16.8178442,32.8945149 L36.8390873,32.8945149 C40.0069087,32.8945149 42.231469,34.6029772 43.512835,38.0199531 L43.512835,38.180123 L60.4374591,84.522627 Z M32.4611088,44.6937008 L24.7195615,67.224273 L40.2026561,67.224273 L32.4611088,44.6937008 Z M89.5058233,68.5590225 L89.5058233,84.8429669 L97.5143205,84.8429669 C103.173687,84.8429669 107.160099,84.22009 109.473676,82.9743176 C111.787254,81.7285451 112.944025,79.6463566 112.944025,76.7276897 C112.944025,73.7734293 111.840643,71.6734444 109.633846,70.4276719 C107.427049,69.1818994 103.565213,68.5590225 98.0482204,68.5590225 L89.5058233,68.5590225 Z M116.734714,62.6327346 C120.614405,64.0564746 123.461842,66.0051894 125.277111,68.4789376 C127.092379,70.9526857 128,74.1115614 128,77.9556593 C128,81.1946677 127.216955,84.1488838 125.650841,86.8183962 C124.084727,89.4879087 121.84237,91.676876 118.923703,93.385364 C117.215215,94.3819819 115.302093,95.1027395 113.18428,95.5476582 C111.066467,95.9925769 108.06776,96.215033 104.188068,96.215033 L99.7033098,96.215033 L76.3184979,96.215033 C73.9693269,96.215033 72.2875593,95.7523244 71.2731446,94.8268935 C70.2587299,93.9014625 69.7515301,92.3887615 69.7515301,90.288745 C69.7515301,88.4022896 70.2320352,86.9696727 71.1930596,85.9908515 C72.1540841,85.0120303 73.5600062,84.522627 75.4108682,84.522627 L76.3184979,84.522627 L76.3184979,44.6937008 L75.4108682,44.6937008 C73.5600062,44.6937008 72.1540841,44.1953993 71.1930596,43.1987813 C70.2320352,42.2021633 69.7515301,40.7428518 69.7515301,38.8208028 C69.7515301,36.7563799 70.2676281,35.2525771 71.2998396,34.3093494 C72.3320511,33.3661217 74.0049204,32.8945149 76.3184979,32.8945149 L100.877889,32.8945149 C108.388118,32.8945149 114.09189,34.3538264 117.989378,37.2724934 C121.886867,40.1911603 123.835581,44.4623161 123.835581,50.0860889 C123.835581,52.8623819 123.239399,55.3093982 122.047017,57.4272114 C120.854635,59.5450246 119.083885,61.2801816 116.734714,62.6327346 L116.734714,62.6327346 Z M89.5058233,44.3733609 L89.5058233,57.8276363 L96.7134708,57.8276363 C101.091471,57.8276363 104.179161,57.3115383 105.976633,56.2793268 C107.774104,55.2471153 108.672827,53.50306 108.672827,51.0471086 C108.672827,48.7335312 107.863087,47.0428653 106.243583,45.9750604 C104.624078,44.9072554 101.999097,44.3733609 98.3685602,44.3733609 L89.5058233,44.3733609 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-button": {
"title": "$:/core/images/new-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,72 L8.00697327,72 C3.59075293,72 0,68.418278 0,64 C0,59.5907123 3.58484404,56 8.00697327,56 L56,56 L56,8.00697327 C56,3.59075293 59.581722,0 64,0 C68.4092877,0 72,3.58484404 72,8.00697327 L72,56 L119.993027,56 C124.409247,56 128,59.581722 128,64 C128,68.4092877 124.415156,72 119.993027,72 L72,72 L72,119.993027 C72,124.409247 68.418278,128 64,128 C59.5907123,128 56,124.415156 56,119.993027 L56,72 L56,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-here-button": {
"title": "$:/core/images/new-here-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-here-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n \t<g transform=\"translate(52.233611, 64.389922) rotate(75.000000) translate(-52.233611, -64.389922) translate(-7.734417, 3.702450)\">\n\t <path d=\"M18.9270186,45.959338 L18.9080585,49.6521741 C18.8884833,53.4648378 21.0574548,58.7482162 23.7526408,61.4434022 L78.5671839,116.257945 C81.2617332,118.952495 85.6348701,118.950391 88.3334363,116.251825 L115.863237,88.7220241 C118.555265,86.0299959 118.564544,81.6509578 115.869358,78.9557717 L61.0548144,24.1412286 C58.3602652,21.4466794 53.0787224,19.2788426 49.2595808,19.3006519 L25.9781737,19.4336012 C22.1633003,19.4553862 19.0471195,22.5673232 19.0275223,26.3842526 L18.9871663,34.2443819 C19.0818862,34.255617 19.1779758,34.2665345 19.2754441,34.2771502 C22.6891275,34.6489512 27.0485594,34.2348566 31.513244,33.2285542 C31.7789418,32.8671684 32.075337,32.5211298 32.4024112,32.1940556 C34.8567584,29.7397084 38.3789778,29.0128681 41.4406288,30.0213822 C41.5958829,29.9543375 41.7503946,29.8866669 41.9041198,29.8183808 L42.1110981,30.2733467 C43.1114373,30.6972371 44.0473796,31.3160521 44.8614145,32.1300869 C48.2842088,35.5528813 48.2555691,41.130967 44.7974459,44.5890903 C41.4339531,47.952583 36.0649346,48.0717177 32.6241879,44.9262969 C27.8170558,45.8919233 23.0726921,46.2881596 18.9270186,45.959338 Z\"></path>\n\t <path d=\"M45.4903462,38.8768094 C36.7300141,42.6833154 26.099618,44.7997354 18.1909048,43.9383587 C7.2512621,42.7468685 1.50150083,35.8404432 4.66865776,24.7010202 C7.51507386,14.6896965 15.4908218,6.92103848 24.3842626,4.38423012 C34.1310219,1.60401701 42.4070208,6.15882777 42.4070209,16.3101169 L34.5379395,16.310117 C34.5379394,11.9285862 31.728784,10.3825286 26.5666962,11.8549876 C20.2597508,13.6540114 14.3453742,19.4148216 12.2444303,26.8041943 C10.4963869,32.9523565 12.6250796,35.5092726 19.0530263,36.2093718 C25.5557042,36.9176104 35.0513021,34.9907189 42.7038419,31.5913902 L42.7421786,31.6756595 C44.3874154,31.5384763 47.8846101,37.3706354 45.9274416,38.6772897 L45.9302799,38.6835285 C45.9166992,38.6895612 45.9031139,38.6955897 45.8895238,38.7016142 C45.8389288,38.7327898 45.7849056,38.7611034 45.7273406,38.7863919 C45.6506459,38.8200841 45.571574,38.8501593 45.4903462,38.8768094 Z\"></path>\n </g>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>"
},
"$:/core/images/new-image-button": {
"title": "$:/core/images/new-image-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.3619177,73.6270062 L97.1875317,46.2162388 C97.91364,44.9585822 97.4824378,43.3533085 96.2260476,42.6279312 L46.2162388,13.7547547 C44.9585822,13.0286463 43.3533085,13.4598485 42.6279312,14.7162388 L30.0575956,36.4886988 L40.0978909,31.2276186 C43.1404959,29.6333041 46.8692155,31.3421319 47.6479264,34.6877101 L51.2545483,52.3903732 L61.1353556,53.2399953 C63.2899974,53.4346096 65.1046382,54.9309951 65.706105,57.0091178 C65.7395572,57.1246982 65.8069154,57.3539875 65.9047035,57.6813669 C66.0696435,58.2335608 66.2581528,58.852952 66.4667073,59.5238092 C67.0618822,61.4383079 67.6960725,63.3742727 68.3393254,65.2021174 C68.5462918,65.7902259 68.7511789,66.3583016 68.953259,66.9034738 C69.5777086,68.5881157 70.1617856,70.0172008 70.6783305,71.110045 C70.9334784,71.6498566 71.1627732,72.0871602 71.4035746,72.5373068 C71.6178999,72.7492946 71.9508843,72.9623307 72.4151452,73.1586945 C73.5561502,73.6412938 75.1990755,73.899146 77.0720271,73.9171651 C77.9355886,73.9254732 78.7819239,73.8832103 79.5638842,73.8072782 C80.0123946,73.7637257 80.3172916,73.7224469 80.4352582,73.7027375 C80.7503629,73.6500912 81.0598053,73.6256267 81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 Z M37.4707881,2.64867269 C38.9217993,0.135447653 42.1388058,-0.723707984 44.6486727,0.725364314 L108.293614,37.4707881 C110.806839,38.9217993 111.665994,42.1388058 110.216922,44.6486727 L73.4714982,108.293614 C72.0204871,110.806839 68.8034805,111.665994 66.2936136,110.216922 L2.64867269,73.4714982 C0.135447653,72.0204871 -0.723707984,68.8034805 0.725364314,66.2936136 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 Z M80.3080975,53.1397764 C82.8191338,54.5895239 86.0299834,53.7291793 87.4797308,51.218143 C88.9294783,48.7071068 88.0691338,45.4962571 85.5580975,44.0465097 C83.0470612,42.5967622 79.8362116,43.4571068 78.3864641,45.968143 C76.9367166,48.4791793 77.7970612,51.6900289 80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 Z M96,112 L88.0070969,112 C83.5881712,112 80,108.418278 80,104 C80,99.5907123 83.5848994,96 88.0070969,96 L96,96 L96,88.0070969 C96,83.5881712 99.581722,80 104,80 C108.409288,80 112,83.5848994 112,88.0070969 L112,96 L119.992903,96 C124.411829,96 128,99.581722 128,104 C128,108.409288 124.415101,112 119.992903,112 L112,112 L112,119.992903 C112,124.411829 108.418278,128 104,128 C99.5907123,128 96,124.415101 96,119.992903 L96,112 L96,112 Z M33.3471097,51.7910932 C40.7754579,59.7394511 42.3564368,62.4818351 40.7958321,65.1848818 C39.2352273,67.8879286 26.9581062,62.8571718 24.7019652,66.7649227 C22.4458242,70.6726735 23.7947046,70.0228006 22.2648667,72.6725575 L41.9944593,84.0634431 C41.9944593,84.0634431 36.3904568,75.8079231 37.7602356,73.4353966 C40.2754811,69.0788636 46.5298923,72.1787882 48.1248275,69.4162793 C50.538989,65.234829 43.0222016,59.7770885 33.3471097,51.7910932 L33.3471097,51.7910932 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-journal-button": {
"title": "$:/core/images/new-journal-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-journal-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.545455,112.818182 L102.545455,124.636364 L102.545455,124.636364 L102.545455,124.636364 C102.545455,125.941761 103.630828,127 104.969697,127 L111.030303,127 C112.369172,127 113.454545,125.941761 113.454545,124.636364 L113.454545,112.818182 L125.575758,112.818182 C126.914626,112.818182 128,111.759982 128,110.454545 L128,104.545455 C128,103.240018 126.914626,102.181818 125.575758,102.181818 L113.454545,102.181818 L113.454545,90.3636364 C113.454545,89.0582 112.369172,88 111.030303,88 L104.969697,88 L104.969697,88 C103.630828,88 102.545455,89.0582 102.545455,90.3636364 L102.545455,102.181818 L90.4242424,102.181818 L90.4242424,102.181818 C89.0853705,102.181818 88,103.240018 88,104.545455 L88,110.454545 L88,110.454545 L88,110.454545 C88,111.759982 89.0853705,112.818182 90.4242424,112.818182 L102.545455,112.818182 Z\"></path>\n <g transform=\"translate(59.816987, 64.316987) rotate(30.000000) translate(-59.816987, -64.316987) translate(20.316987, 12.816987)\">\n <g transform=\"translate(0.000000, 0.000000)\">\n <path d=\"M9.99631148,0 C4.4755011,0 -2.27373675e-13,4.48070044 -2.27373675e-13,9.99759461 L-2.27373675e-13,91.6128884 C-2.27373675e-13,97.1344074 4.46966773,101.610483 9.99631148,101.610483 L68.9318917,101.610483 C74.4527021,101.610483 78.9282032,97.1297826 78.9282032,91.6128884 L78.9282032,9.99759461 C78.9282032,4.47607557 74.4585355,0 68.9318917,0 L9.99631148,0 Z M20.8885263,26 C24.2022348,26 26.8885263,23.3137085 26.8885263,20 C26.8885263,16.6862915 24.2022348,14 20.8885263,14 C17.5748178,14 14.8885263,16.6862915 14.8885263,20 C14.8885263,23.3137085 17.5748178,26 20.8885263,26 Z M57.3033321,25.6783342 C60.6170406,25.6783342 63.3033321,22.9920427 63.3033321,19.6783342 C63.3033321,16.3646258 60.6170406,13.6783342 57.3033321,13.6783342 C53.9896236,13.6783342 51.3033321,16.3646258 51.3033321,19.6783342 C51.3033321,22.9920427 53.9896236,25.6783342 57.3033321,25.6783342 Z\"></path>\n <text font-family=\"Helvetica\" font-size=\"47.1724138\" font-weight=\"bold\" fill=\"#FFFFFF\">\n <tspan x=\"42\" y=\"77.4847912\" text-anchor=\"middle\"><<now \"DD\">></tspan>\n </text>\n </g>\n </g>\n </g>\n</svg>"
},
"$:/core/images/opacity": {
"title": "$:/core/images/opacity",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-opacity tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.361773,65 C101.833691,67.051742 101.183534,69.0544767 100.419508,71 L82.5835324,71 C83.7602504,69.1098924 84.7666304,67.1027366 85.581205,65 L102.361773,65 Z M102.834311,63 C103.256674,61.0388326 103.568427,59.0365486 103.762717,57 L87.6555706,57 C87.3692052,59.0609452 86.9083652,61.0660782 86.2884493,63 L102.834311,63 Z M99.5852583,73 C98.6682925,75.0747721 97.6196148,77.0783056 96.4498253,79 L75.8124196,79 C77.8387053,77.2115633 79.6621163,75.1985844 81.2437158,73 L99.5852583,73 Z M95.1689122,81 C93.7449202,83.1155572 92.1695234,85.1207336 90.458251,87 L60.4614747,87 C65.1836162,85.86248 69.5430327,83.794147 73.3347255,81 L95.1689122,81 Z M87.6555706,47 L103.762717,47 C101.246684,20.6269305 79.0321807,0 52,0 C23.281193,0 0,23.281193 0,52 C0,77.2277755 17.9651296,98.2595701 41.8000051,103 L62.1999949,103 C67.8794003,101.870444 73.2255333,99.8158975 78.074754,97 L39,97 L39,95 L81.2493857,95 C83.8589242,93.2215015 86.2981855,91.2116653 88.5376609,89 L39,89 L39,87 L43.5385253,87 C27.7389671,83.1940333 16,68.967908 16,52 C16,32.117749 32.117749,16 52,16 C70.1856127,16 85.2217929,29.4843233 87.6555706,47 Z M87.8767787,49 L103.914907,49 C103.971379,49.9928025 104,50.9930589 104,52 C104,53.0069411 103.971379,54.0071975 103.914907,55 L87.8767787,55 C87.958386,54.0107999 88,53.0102597 88,52 C88,50.9897403 87.958386,49.9892001 87.8767787,49 Z\"></path>\n <path d=\"M76,128 C104.718807,128 128,104.718807 128,76 C128,47.281193 104.718807,24 76,24 C47.281193,24 24,47.281193 24,76 C24,104.718807 47.281193,128 76,128 L76,128 Z M76,112 C95.882251,112 112,95.882251 112,76 C112,56.117749 95.882251,40 76,40 C56.117749,40 40,56.117749 40,76 C40,95.882251 56.117749,112 76,112 L76,112 Z\"></path>\n <path d=\"M37,58 L90,58 L90,62 L37,62 L37,58 L37,58 Z M40,50 L93,50 L93,54 L40,54 L40,50 L40,50 Z M40,42 L93,42 L93,46 L40,46 L40,42 L40,42 Z M32,66 L85,66 L85,70 L32,70 L32,66 L32,66 Z M30,74 L83,74 L83,78 L30,78 L30,74 L30,74 Z M27,82 L80,82 L80,86 L27,86 L27,82 L27,82 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/open-window": {
"title": "$:/core/images/open-window",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-open-window tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M16,112 L104.993898,112 C108.863261,112 112,115.590712 112,120 C112,124.418278 108.858091,128 104.993898,128 L7.00610161,128 C3.13673853,128 0,124.409288 0,120 C0,119.998364 4.30952878e-07,119.996727 1.29273572e-06,119.995091 C4.89579306e-07,119.993456 0,119.99182 0,119.990183 L0,24.0098166 C0,19.586117 3.59071231,16 8,16 C12.418278,16 16,19.5838751 16,24.0098166 L16,112 Z\"></path>\n <path d=\"M96,43.1959595 L96,56 C96,60.418278 99.581722,64 104,64 C108.418278,64 112,60.418278 112,56 L112,24 C112,19.5907123 108.415101,16 103.992903,16 L72.0070969,16 C67.5881712,16 64,19.581722 64,24 C64,28.4092877 67.5848994,32 72.0070969,32 L84.5685425,32 L48.2698369,68.2987056 C45.1421332,71.4264093 45.1434327,76.4904296 48.267627,79.614624 C51.3854642,82.7324612 56.4581306,82.7378289 59.5835454,79.6124141 L96,43.1959595 Z M32,7.9992458 C32,3.58138434 35.5881049,0 39.9992458,0 L120.000754,0 C124.418616,0 128,3.5881049 128,7.9992458 L128,88.0007542 C128,92.4186157 124.411895,96 120.000754,96 L39.9992458,96 C35.5813843,96 32,92.4118951 32,88.0007542 L32,7.9992458 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/options-button": {
"title": "$:/core/images/options-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-options-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M110.48779,76.0002544 C109.354214,80.4045063 107.611262,84.5641217 105.354171,88.3838625 L105.354171,88.3838625 L112.07833,95.1080219 C115.20107,98.2307613 115.210098,103.299824 112.089164,106.420759 L106.420504,112.089418 C103.301049,115.208874 98.2346851,115.205502 95.1077675,112.078585 L88.3836082,105.354425 C84.5638673,107.611516 80.4042519,109.354468 76,110.488045 L76,110.488045 L76,119.993281 C76,124.409501 72.4220153,128.000254 68.0083475,128.000254 L59.9916525,128.000254 C55.5800761,128.000254 52,124.41541 52,119.993281 L52,110.488045 C47.5957481,109.354468 43.4361327,107.611516 39.6163918,105.354425 L32.8922325,112.078585 C29.7694931,115.201324 24.7004301,115.210353 21.5794957,112.089418 L15.9108363,106.420759 C12.7913807,103.301303 12.7947522,98.2349395 15.9216697,95.1080219 L22.6458291,88.3838625 C20.3887383,84.5641217 18.6457859,80.4045063 17.5122098,76.0002544 L8.00697327,76.0002544 C3.59075293,76.0002544 2.19088375e-16,72.4222697 4.89347582e-16,68.0086019 L9.80228577e-16,59.9919069 C1.25035972e-15,55.5803305 3.58484404,52.0002544 8.00697327,52.0002544 L17.5122098,52.0002544 C18.6457859,47.5960025 20.3887383,43.4363871 22.6458291,39.6166462 L15.9216697,32.8924868 C12.7989304,29.7697475 12.7899019,24.7006845 15.9108363,21.5797501 L21.5794957,15.9110907 C24.6989513,12.7916351 29.7653149,12.7950065 32.8922325,15.9219241 L39.6163918,22.6460835 C43.4361327,20.3889927 47.5957481,18.6460403 52,17.5124642 L52,8.00722764 C52,3.5910073 55.5779847,0.000254375069 59.9916525,0.000254375069 L68.0083475,0.000254375069 C72.4199239,0.000254375069 76,3.58509841 76,8.00722764 L76,17.5124642 C80.4042519,18.6460403 84.5638673,20.3889927 88.3836082,22.6460835 L95.1077675,15.9219241 C98.2305069,12.7991848 103.29957,12.7901562 106.420504,15.9110907 L112.089164,21.5797501 C115.208619,24.6992057 115.205248,29.7655693 112.07833,32.8924868 L105.354171,39.6166462 L105.354171,39.6166462 C107.611262,43.4363871 109.354214,47.5960025 110.48779,52.0002544 L119.993027,52.0002544 C124.409247,52.0002544 128,55.5782391 128,59.9919069 L128,68.0086019 C128,72.4201783 124.415156,76.0002544 119.993027,76.0002544 L110.48779,76.0002544 L110.48779,76.0002544 Z M64,96.0002544 C81.673112,96.0002544 96,81.6733664 96,64.0002544 C96,46.3271424 81.673112,32.0002544 64,32.0002544 C46.326888,32.0002544 32,46.3271424 32,64.0002544 C32,81.6733664 46.326888,96.0002544 64,96.0002544 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/paint": {
"title": "$:/core/images/paint",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-paint tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M83.5265806,76.1907935 C90.430962,69.2864121 91.8921169,59.0000433 87.9100453,50.6642209 L125.812763,12.7615036 C128.732035,9.84223095 128.72611,5.10322984 125.812796,2.18991592 C122.893542,-0.729338085 118.161775,-0.730617045 115.241209,2.18994966 L77.3384914,40.092667 C69.002669,36.1105954 58.7163002,37.5717503 51.8119188,44.4761317 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 Z M80.8836921,78.8336819 L49.1690303,47.1190201 C49.1690303,47.1190201 8.50573364,81.242543 0,80.2820711 C0,80.2820711 3.78222974,85.8744423 6.82737483,88.320684 C20.8514801,82.630792 44.1526049,63.720771 44.1526049,63.720771 L44.8144806,64.3803375 C44.8144806,64.3803375 19.450356,90.2231043 9.18040433,92.0477601 C10.4017154,93.4877138 13.5343883,96.1014812 15.4269991,97.8235871 C20.8439164,96.3356979 50.1595367,69.253789 50.1595367,69.253789 L50.8214124,69.9133555 L18.4136144,100.936036 L23.6993903,106.221812 L56.1060358,75.2002881 L56.7679115,75.8598546 C56.7679115,75.8598546 28.9040131,106.396168 28.0841366,108.291555 C28.0841366,108.291555 34.1159238,115.144621 35.6529617,116.115796 C36.3545333,113.280171 63.5365402,82.6307925 63.5365402,82.6307925 L64.1984159,83.290359 C64.1984159,83.290359 43.6013016,107.04575 39.2343772,120.022559 C42.443736,123.571575 46.7339155,125.159692 50.1595362,126.321151 C47.9699978,114.504469 80.8836921,78.8336819 80.8836921,78.8336819 L80.8836921,78.8336819 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/palette": {
"title": "$:/core/images/palette",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-palette tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.2470434,39.1821571 C75.0645698,38.2680897 69.6261555,37.7814854 64.0193999,37.7814854 C28.6624616,37.7814854 0,57.1324214 0,81.0030106 C0,90.644534 4.67604329,99.5487133 12.5805659,106.738252 C23.5031767,91.1899067 26.3405471,72.3946229 36.8885698,63.5622337 C52.0716764,50.8486559 63.4268694,55.7343343 63.4268694,55.7343343 L80.2470434,39.1821571 Z M106.781666,48.8370714 C119.830962,56.749628 128.0388,68.229191 128.0388,81.0030106 C128.0388,90.3534932 128.557501,98.4142085 116.165191,106.082518 C105.367708,112.763955 112.341384,99.546808 104.321443,95.1851533 C96.3015017,90.8234987 84.3749007,96.492742 86.1084305,103.091059 C89.3087234,115.272303 105.529892,114.54645 92.4224435,119.748569 C79.3149955,124.950687 74.2201582,124.224536 64.0193999,124.224536 C56.1979176,124.224536 48.7040365,123.277578 41.7755684,121.544216 C51.620343,117.347916 69.6563669,109.006202 75.129737,102.088562 C82.7876655,92.4099199 87.3713218,80.0000002 83.3235694,72.4837191 C83.1303943,72.1250117 94.5392656,60.81569 106.781666,48.8370714 Z M1.13430476,123.866563 C0.914084026,123.867944 0.693884185,123.868637 0.473712455,123.868637 C33.9526848,108.928928 22.6351223,59.642592 59.2924543,59.6425917 C59.6085574,61.0606542 59.9358353,62.5865065 60.3541977,64.1372318 C34.4465025,59.9707319 36.7873124,112.168427 1.13429588,123.866563 L1.13430476,123.866563 Z M1.84669213,123.859694 C40.7185279,123.354338 79.9985412,101.513051 79.9985401,79.0466836 C70.7284906,79.0466835 65.9257264,75.5670082 63.1833375,71.1051511 C46.585768,64.1019718 32.81846,116.819636 1.84665952,123.859695 L1.84669213,123.859694 Z M67.1980193,59.8524981 C62.748213,63.9666823 72.0838429,76.2846822 78.5155805,71.1700593 C89.8331416,59.8524993 112.468264,37.2173758 123.785825,25.8998146 C135.103386,14.5822535 123.785825,3.26469247 112.468264,14.5822535 C101.150703,25.8998144 78.9500931,48.9868127 67.1980193,59.8524981 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permalink-button": {
"title": "$:/core/images/permalink-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permalink-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.4834582,48 L73.0956761,80 L73.0956761,80 L47.5165418,80 L54.9043239,48 L80.4834582,48 Z M84.1773493,32 L89.8007299,7.64246248 C90.7941633,3.33942958 95.0918297,0.64641956 99.3968675,1.64031585 C103.693145,2.63218977 106.385414,6.93288901 105.390651,11.2416793 L100.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L96.9043239,48 L89.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L85.8226507,96 L80.1992701,120.357538 C79.2058367,124.66057 74.9081703,127.35358 70.6031325,126.359684 C66.3068546,125.36781 63.6145865,121.067111 64.6093491,116.758321 L69.401785,96 L43.8226507,96 L38.1992701,120.357538 C37.2058367,124.66057 32.9081703,127.35358 28.6031325,126.359684 C24.3068546,125.36781 21.6145865,121.067111 22.6093491,116.758321 L27.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L31.0956761,80 L38.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L42.1773493,32 L47.8007299,7.64246248 C48.7941633,3.33942958 53.0918297,0.64641956 57.3968675,1.64031585 C61.6931454,2.63218977 64.3854135,6.93288901 63.3906509,11.2416793 L58.598215,32 L84.1773493,32 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permaview-button": {
"title": "$:/core/images/permaview-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permaview-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.4834582,48 L79.6365127,56 L79.6365127,56 L74.0573784,56 L75.9043239,48 L81.4834582,48 Z M85.1773493,32 L90.8007299,7.64246248 C91.7941633,3.33942958 96.0918297,0.64641956 100.396867,1.64031585 C104.693145,2.63218977 107.385414,6.93288901 106.390651,11.2416793 L101.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L97.9043239,48 L96.0573784,56 L104.000754,56 C108.411895,56 112,59.581722 112,64 C112,68.4092877 108.418616,72 104.000754,72 L92.3634873,72 L90.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L86.8226507,96 L81.1992701,120.357538 C80.2058367,124.66057 75.9081703,127.35358 71.6031325,126.359684 C67.3068546,125.36781 64.6145865,121.067111 65.6093491,116.758321 L70.401785,96 L64.8226507,96 L59.1992701,120.357538 C58.2058367,124.66057 53.9081703,127.35358 49.6031325,126.359684 C45.3068546,125.36781 42.6145865,121.067111 43.6093491,116.758321 L48.401785,96 L42.8226507,96 L37.1992701,120.357538 C36.2058367,124.66057 31.9081703,127.35358 27.6031325,126.359684 C23.3068546,125.36781 20.6145865,121.067111 21.6093491,116.758321 L26.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L30.0956761,80 L31.9426216,72 L23.9992458,72 C19.5881049,72 16,68.418278 16,64 C16,59.5907123 19.5813843,56 23.9992458,56 L35.6365127,56 L37.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L41.1773493,32 L46.8007299,7.64246248 C47.7941633,3.33942958 52.0918297,0.64641956 56.3968675,1.64031585 C60.6931454,2.63218977 63.3854135,6.93288901 62.3906509,11.2416793 L57.598215,32 L63.1773493,32 L68.8007299,7.64246248 C69.7941633,3.33942958 74.0918297,0.64641956 78.3968675,1.64031585 C82.6931454,2.63218977 85.3854135,6.93288901 84.3906509,11.2416793 L79.598215,32 L85.1773493,32 Z M53.9043239,48 L52.0573784,56 L57.6365127,56 L59.4834582,48 L53.9043239,48 Z M75.9426216,72 L74.0956761,80 L74.0956761,80 L68.5165418,80 L70.3634873,72 L75.9426216,72 L75.9426216,72 Z M48.3634873,72 L46.5165418,80 L52.0956761,80 L53.9426216,72 L48.3634873,72 L48.3634873,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/picture": {
"title": "$:/core/images/picture",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-picture tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112,68.2332211 L112,20.0027785 C112,17.7898769 110.207895,16 107.997221,16 L20.0027785,16 C17.7898769,16 16,17.792105 16,20.0027785 L16,58.312373 L25.2413115,43.7197989 C28.041793,39.297674 34.2643908,38.7118128 37.8410347,42.5335275 L56.0882845,63.1470817 L69.7748997,56.7400579 C72.766567,55.3552503 76.3013751,55.9473836 78.678437,58.2315339 C78.8106437,58.3585731 79.0742301,58.609836 79.4527088,58.9673596 C80.0910923,59.570398 80.8117772,60.2441563 81.598127,60.9705595 C83.8422198,63.043576 86.1541548,65.1151944 88.3956721,67.0372264 C89.1168795,67.6556396 89.8200801,68.2492007 90.5021258,68.8146755 C92.6097224,70.5620551 94.4693308,72.0029474 95.9836366,73.0515697 C96.7316295,73.5695379 97.3674038,73.9719282 98.0281481,74.3824999 C98.4724987,74.4989557 99.0742374,74.5263881 99.8365134,74.4317984 C101.709944,74.1993272 104.074502,73.2878514 106.559886,71.8846196 C107.705822,71.2376318 108.790494,70.5370325 109.764561,69.8410487 C110.323259,69.4418522 110.694168,69.1550757 110.834827,69.0391868 C111.210545,68.7296319 111.600264,68.4615815 112,68.2332211 L112,68.2332211 Z M0,8.00697327 C0,3.58484404 3.59075293,0 8.00697327,0 L119.993027,0 C124.415156,0 128,3.59075293 128,8.00697327 L128,119.993027 C128,124.415156 124.409247,128 119.993027,128 L8.00697327,128 C3.58484404,128 0,124.409247 0,119.993027 L0,8.00697327 L0,8.00697327 Z M95,42 C99.418278,42 103,38.418278 103,34 C103,29.581722 99.418278,26 95,26 C90.581722,26 87,29.581722 87,34 C87,38.418278 90.581722,42 95,42 L95,42 Z M32,76 C47.8587691,80.8294182 52.0345556,83.2438712 52.0345556,88 C52.0345556,92.7561288 32,95.4712486 32,102.347107 C32,109.222965 33.2849191,107.337637 33.2849191,112 L67.999999,112 C67.999999,112 54.3147136,105.375255 54.3147136,101.200691 C54.3147136,93.535181 64.9302432,92.860755 64.9302432,88 C64.9302432,80.6425555 50.8523779,79.167282 32,76 L32,76 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-language": {
"title": "$:/core/images/plugin-generic-language",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M61.2072232,68.1369825 C56.8829239,70.9319564 54.2082892,74.793177 54.2082892,79.0581634 C54.2082892,86.9638335 63.3980995,93.4821994 75.2498076,94.3940006 C77.412197,98.2964184 83.8475284,101.178858 91.5684735,101.403106 C86.4420125,100.27851 82.4506393,97.6624107 80.9477167,94.3948272 C92.8046245,93.4861461 102,86.9662269 102,79.0581634 C102,70.5281905 91.3014611,63.6132813 78.1041446,63.6132813 C71.5054863,63.6132813 65.5315225,65.3420086 61.2072232,68.1369825 Z M74.001066,53.9793443 C69.6767667,56.7743182 63.7028029,58.5030456 57.1041446,58.5030456 C54.4851745,58.5030456 51.9646095,58.2307276 49.6065315,57.7275105 C46.2945155,59.9778212 41.2235699,61.4171743 35.5395922,61.4171743 C35.4545771,61.4171743 35.3696991,61.4168523 35.2849622,61.4162104 C39.404008,60.5235193 42.7961717,58.6691298 44.7630507,56.286533 C37.8379411,53.5817651 33.2082892,48.669413 33.2082892,43.0581634 C33.2082892,34.5281905 43.9068281,27.6132812 57.1041446,27.6132812 C70.3014611,27.6132812 81,34.5281905 81,43.0581634 C81,47.3231498 78.3253653,51.1843704 74.001066,53.9793443 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-plugin": {
"title": "$:/core/images/plugin-generic-plugin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M40.3972881,76.4456988 L40.3972881,95.3404069 L54.5170166,95.3404069 L54.5170166,95.3404069 C54.5165526,95.3385183 54.516089,95.3366295 54.515626,95.3347404 C54.6093153,95.3385061 54.7034848,95.3404069 54.7980982,95.3404069 C58.6157051,95.3404069 61.710487,92.245625 61.710487,88.4280181 C61.710487,86.6197822 61.01617,84.9737128 59.8795929,83.7418666 L59.8795929,83.7418666 C59.8949905,83.7341665 59.9104102,83.7265043 59.925852,83.7188798 C58.8840576,82.5086663 58.2542926,80.9336277 58.2542926,79.2114996 C58.2542926,75.3938927 61.3490745,72.2991108 65.1666814,72.2991108 C68.9842884,72.2991108 72.0790703,75.3938927 72.0790703,79.2114996 C72.0790703,81.1954221 71.2432806,82.9841354 69.9045961,84.2447446 L69.9045961,84.2447446 C69.9333407,84.2629251 69.9619885,84.281245 69.9905383,84.2997032 L69.9905383,84.2997032 C69.1314315,85.4516923 68.6228758,86.8804654 68.6228758,88.4280181 C68.6228758,91.8584969 71.1218232,94.7053153 74.3986526,95.2474079 C74.3913315,95.2784624 74.3838688,95.3094624 74.3762652,95.3404069 L95.6963988,95.3404069 L95.6963988,75.5678578 L95.6963988,75.5678578 C95.6466539,75.5808558 95.5967614,75.5934886 95.5467242,75.6057531 C95.5504899,75.5120637 95.5523907,75.4178943 95.5523907,75.3232809 C95.5523907,71.505674 92.4576088,68.4108921 88.6400019,68.4108921 C86.831766,68.4108921 85.1856966,69.105209 83.9538504,70.2417862 L83.9538504,70.2417862 C83.9461503,70.2263886 83.938488,70.2109688 83.9308636,70.1955271 C82.7206501,71.2373215 81.1456115,71.8670865 79.4234834,71.8670865 C75.6058765,71.8670865 72.5110946,68.7723046 72.5110946,64.9546976 C72.5110946,61.1370907 75.6058765,58.0423088 79.4234834,58.0423088 C81.4074059,58.0423088 83.1961192,58.8780985 84.4567284,60.2167829 L84.4567284,60.2167829 C84.4749089,60.1880383 84.4932288,60.1593906 84.511687,60.1308407 L84.511687,60.1308407 C85.6636761,60.9899475 87.0924492,61.4985032 88.6400019,61.4985032 C92.0704807,61.4985032 94.9172991,58.9995558 95.4593917,55.7227265 C95.538755,55.7414363 95.6177614,55.761071 95.6963988,55.7816184 L95.6963988,40.0412962 L74.3762652,40.0412962 L74.3762652,40.0412962 C74.3838688,40.0103516 74.3913315,39.9793517 74.3986526,39.9482971 L74.3986526,39.9482971 C71.1218232,39.4062046 68.6228758,36.5593862 68.6228758,33.1289073 C68.6228758,31.5813547 69.1314315,30.1525815 69.9905383,29.0005925 C69.9619885,28.9821342 69.9333407,28.9638143 69.9045961,28.9456339 C71.2432806,27.6850247 72.0790703,25.8963113 72.0790703,23.9123888 C72.0790703,20.0947819 68.9842884,17 65.1666814,17 C61.3490745,17 58.2542926,20.0947819 58.2542926,23.9123888 C58.2542926,25.6345169 58.8840576,27.2095556 59.925852,28.419769 L59.925852,28.419769 C59.9104102,28.4273935 59.8949905,28.4350558 59.8795929,28.4427558 C61.01617,29.674602 61.710487,31.3206715 61.710487,33.1289073 C61.710487,36.9465143 58.6157051,40.0412962 54.7980982,40.0412962 C54.7034848,40.0412962 54.6093153,40.0393953 54.515626,40.0356296 L54.515626,40.0356296 C54.516089,40.0375187 54.5165526,40.0394075 54.5170166,40.0412962 L40.3972881,40.0412962 L40.3972881,52.887664 L40.3972881,52.887664 C40.4916889,53.3430132 40.5412962,53.8147625 40.5412962,54.2980982 C40.5412962,58.1157051 37.4465143,61.210487 33.6289073,61.210487 C32.0813547,61.210487 30.6525815,60.7019313 29.5005925,59.8428245 C29.4821342,59.8713744 29.4638143,59.9000221 29.4456339,59.9287667 C28.1850247,58.5900823 26.3963113,57.7542926 24.4123888,57.7542926 C20.5947819,57.7542926 17.5,60.8490745 17.5,64.6666814 C17.5,68.4842884 20.5947819,71.5790703 24.4123888,71.5790703 C26.134517,71.5790703 27.7095556,70.9493053 28.919769,69.9075109 L28.919769,69.9075109 C28.9273935,69.9229526 28.9350558,69.9383724 28.9427558,69.95377 C30.174602,68.8171928 31.8206715,68.1228758 33.6289073,68.1228758 C37.4465143,68.1228758 40.5412962,71.2176578 40.5412962,75.0352647 C40.5412962,75.5186004 40.4916889,75.9903496 40.3972881,76.4456988 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-theme": {
"title": "$:/core/images/plugin-generic-theme",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M29.4078519,91.4716406 L51.4693474,69.4101451 L51.4646675,69.4054652 C50.5969502,68.5377479 50.5929779,67.1348725 51.4693474,66.2585029 C52.3396494,65.3882009 53.7499654,65.3874786 54.6163097,66.2538229 L64.0805963,75.7181095 C64.9483136,76.5858268 64.9522859,77.9887022 64.0759163,78.8650718 C63.2056143,79.7353737 61.7952984,79.736096 60.9289541,78.8697517 L60.9242741,78.8650718 L60.9242741,78.8650718 L38.8627786,100.926567 C36.2518727,103.537473 32.0187578,103.537473 29.4078519,100.926567 C26.796946,98.3156614 26.796946,94.0825465 29.4078519,91.4716406 Z M60.8017407,66.3810363 C58.3659178,63.6765806 56.3370667,61.2899536 54.9851735,59.5123615 C48.1295381,50.4979488 44.671561,55.2444054 40.7586738,59.5123614 C36.8457866,63.7803174 41.789473,67.2384487 38.0759896,70.2532832 C34.3625062,73.2681177 34.5917646,74.3131575 28.3243876,68.7977024 C22.0570105,63.2822473 21.6235306,61.7636888 24.5005999,58.6166112 C27.3776691,55.4695337 29.7823103,60.4247912 35.6595047,54.8320442 C41.5366991,49.2392972 36.5996215,44.2825646 36.5996215,44.2825646 C36.5996215,44.2825646 48.8365511,19.267683 65.1880231,21.1152173 C81.5394952,22.9627517 59.0022276,18.7228947 53.3962199,38.3410355 C50.9960082,46.7405407 53.8429162,44.7613399 58.3941742,48.3090467 C59.7875202,49.3951602 64.4244828,52.7100463 70.1884353,56.9943417 L90.8648751,36.3179019 L92.4795866,31.5515482 L100.319802,26.8629752 L103.471444,30.0146174 L98.782871,37.8548326 L94.0165173,39.4695441 L73.7934912,59.6925702 C86.4558549,69.2403631 102.104532,81.8392557 102.104532,86.4016913 C102.104533,93.6189834 99.0337832,97.9277545 92.5695848,95.5655717 C87.8765989,93.8506351 73.8015497,80.3744087 63.8173444,69.668717 L60.9242741,72.5617873 L57.7726319,69.4101451 L60.8017407,66.3810363 L60.8017407,66.3810363 Z M63.9533761,1.42108547e-13 L118.512977,32 L118.512977,96 L63.9533761,128 L9.39377563,96 L9.39377563,32 L63.9533761,1.42108547e-13 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/preview-closed": {
"title": "$:/core/images/preview-closed",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-preview-closed tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M0.0881363238,64 C-0.210292223,65.8846266 0.249135869,67.8634737 1.4664206,69.4579969 C16.2465319,88.8184886 39.1692554,100.414336 64,100.414336 C88.8307446,100.414336 111.753468,88.8184886 126.533579,69.4579969 C127.750864,67.8634737 128.210292,65.8846266 127.911864,64 C110.582357,78.4158332 88.3036732,87.0858436 64,87.0858436 C39.6963268,87.0858436 17.4176431,78.4158332 0.0881363238,64 Z\"></path>\n <rect x=\"62\" y=\"96\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(80.000000, 101.000000) rotate(-5.000000) translate(-80.000000, -101.000000) \" x=\"78\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(48.000000, 101.000000) rotate(-355.000000) translate(-48.000000, -101.000000) \" x=\"46\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(32.000000, 96.000000) rotate(-350.000000) translate(-32.000000, -96.000000) \" x=\"30\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(96.000000, 96.000000) rotate(-10.000000) translate(-96.000000, -96.000000) \" x=\"94\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(112.000000, 88.000000) rotate(-20.000000) translate(-112.000000, -88.000000) \" x=\"110\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(16.000000, 88.000000) rotate(-340.000000) translate(-16.000000, -88.000000) \" x=\"14\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n </g>\n</svg>"
},
"$:/core/images/preview-open": {
"title": "$:/core/images/preview-open",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-preview-open tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64.1099282,99.5876785 C39.2791836,99.5876785 16.3564602,87.9918313 1.57634884,68.6313396 C-0.378878622,66.070184 -0.378878622,62.5174945 1.57634884,59.9563389 C16.3564602,40.5958472 39.2791836,29 64.1099282,29 C88.9406729,29 111.863396,40.5958472 126.643508,59.9563389 C128.598735,62.5174945 128.598735,66.070184 126.643508,68.6313396 C111.863396,87.9918313 88.9406729,99.5876785 64.1099282,99.5876785 Z M110.213805,67.5808331 C111.654168,66.0569335 111.654168,63.9430665 110.213805,62.4191669 C99.3257042,50.8995835 82.4391647,44 64.1470385,44 C45.8549124,44 28.9683729,50.8995835 18.0802717,62.4191669 C16.6399094,63.9430665 16.6399094,66.0569335 18.0802717,67.5808331 C28.9683729,79.1004165 45.8549124,86 64.1470385,86 C82.4391647,86 99.3257042,79.1004165 110.213805,67.5808331 Z\"></path>\n <path d=\"M63.5,88 C76.4786916,88 87,77.4786916 87,64.5 C87,51.5213084 76.4786916,41 63.5,41 C50.5213084,41 40,51.5213084 40,64.5 C40,77.4786916 50.5213084,88 63.5,88 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/print-button": {
"title": "$:/core/images/print-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112,71 L112,30.5 L111.96811,30.5 L111.96811,30.5 C111.932942,28.4998414 111.151676,26.510538 109.625176,24.9840387 L86.9982489,2.35711116 C85.3482153,0.707077645 83.1589869,-0.071534047 81,0.0201838424 L81,0 L23.9992458,0 C19.5808867,0 16,3.58213437 16,8.00092105 L16,71 L24,71 L24,8 L81,8 L81,22.4996539 C81,26.9216269 84.5818769,30.5 89.0003461,30.5 L104,30.5 L104,71 L112,71 Z\"></path>\n <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n <path d=\"M0,80.0054195 C0,71.1658704 7.15611005,64 16.0008841,64 L111.999116,64 C120.83616,64 128,71.1553215 128,80.0054195 L128,111.99458 C128,120.83413 120.84389,128 111.999116,128 L16.0008841,128 C7.16383982,128 0,120.844679 0,111.99458 L0,80.0054195 Z M104,96 C108.418278,96 112,92.418278 112,88 C112,83.581722 108.418278,80 104,80 C99.581722,80 96,83.581722 96,88 C96,92.418278 99.581722,96 104,96 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/quote": {
"title": "$:/core/images/quote",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-quote tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M51.2188077,117.712501 L51.2188077,62.1993386 L27.4274524,62.1993386 C27.4274524,53.3075754 29.1096526,45.797753 32.4741035,39.669646 C35.8385544,33.541539 42.0867267,28.9154883 51.2188077,25.7913554 L51.2188077,2 C43.7689521,2.96127169 36.8599155,5.18417913 30.4914905,8.668789 C24.1230656,12.1533989 18.6559149,16.5391352 14.0898743,21.8261295 C9.52383382,27.1131238 5.97919764,33.2411389 3.45585945,40.2103586 C0.932521268,47.1795784 -0.208971741,54.6293222 0.0313461819,62.5598136 L0.0313461819,117.712501 L51.2188077,117.712501 Z M128,117.712501 L128,62.1993386 L104.208645,62.1993386 C104.208645,53.3075754 105.890845,45.797753 109.255296,39.669646 C112.619747,33.541539 118.867919,28.9154883 128,25.7913554 L128,2 C120.550144,2.96127169 113.641108,5.18417913 107.272683,8.668789 C100.904258,12.1533989 95.4371072,16.5391352 90.8710666,21.8261295 C86.3050261,27.1131238 82.7603899,33.2411389 80.2370517,40.2103586 C77.7137136,47.1795784 76.5722206,54.6293222 76.8125385,62.5598136 L76.8125385,117.712501 L128,117.712501 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/refresh-button": {
"title": "$:/core/images/refresh-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-refresh-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M106.369002,39.4325143 C116.529932,60.3119371 112.939592,86.1974934 95.5979797,103.539105 C73.7286194,125.408466 38.2713806,125.408466 16.4020203,103.539105 C-5.46734008,81.6697449 -5.46734008,46.2125061 16.4020203,24.3431458 C19.5262146,21.2189514 24.5915344,21.2189514 27.7157288,24.3431458 C30.8399231,27.4673401 30.8399231,32.5326599 27.7157288,35.6568542 C12.0947571,51.2778259 12.0947571,76.6044251 27.7157288,92.2253967 C43.3367004,107.846368 68.6632996,107.846368 84.2842712,92.2253967 C97.71993,78.7897379 99.5995262,58.1740623 89.9230597,42.729491 L83.4844861,54.9932839 C81.4307001,58.9052072 76.5945372,60.4115251 72.682614,58.3577391 C68.7706907,56.3039532 67.2643728,51.4677903 69.3181587,47.555867 L84.4354914,18.7613158 C86.4966389,14.8353707 91.3577499,13.3347805 95.273202,15.415792 L124.145886,30.7612457 C128.047354,32.8348248 129.52915,37.6785572 127.455571,41.5800249 C125.381992,45.4814927 120.53826,46.9632892 116.636792,44.8897102 L106.369002,39.4325143 Z M98.1470904,27.0648707 C97.9798954,26.8741582 97.811187,26.6843098 97.6409651,26.4953413 L98.6018187,26.1987327 L98.1470904,27.0648707 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/right-arrow": {
"title": "$:/core/images/right-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-right-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M80.3563798,109.353315 C78.9238993,110.786918 76.9450203,111.675144 74.7592239,111.675144 L-4.40893546,111.675144 C-8.77412698,111.675144 -12.3248558,108.130732 -12.3248558,103.758478 C-12.3248558,99.3951199 -8.78077754,95.8418109 -4.40893546,95.8418109 L66.8418109,95.8418109 L66.8418109,24.5910645 C66.8418109,20.225873 70.3862233,16.6751442 74.7584775,16.6751442 C79.1218352,16.6751442 82.6751442,20.2192225 82.6751442,24.5910645 L82.6751442,103.759224 C82.6751442,105.941695 81.7891419,107.920575 80.3566508,109.353886 Z\" transform=\"translate(35.175144, 64.175144) rotate(-45.000000) translate(-35.175144, -64.175144) \"></path>\n</svg>"
},
"$:/core/images/save-button": {
"title": "$:/core/images/save-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/size": {
"title": "$:/core/images/size",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-size tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M92.3431458,26 L83.1715729,35.1715729 C81.6094757,36.73367 81.6094757,39.26633 83.1715729,40.8284271 C84.73367,42.3905243 87.26633,42.3905243 88.8284271,40.8284271 L104.828427,24.8284271 C106.390524,23.26633 106.390524,20.73367 104.828427,19.1715729 L88.8284271,3.17157288 C87.26633,1.60947571 84.73367,1.60947571 83.1715729,3.17157288 C81.6094757,4.73367004 81.6094757,7.26632996 83.1715729,8.82842712 L92.3431457,18 L22,18 C19.790861,18 18,19.790861 18,22 L18,92.3431458 L8.82842712,83.1715729 C7.26632996,81.6094757 4.73367004,81.6094757 3.17157288,83.1715729 C1.60947571,84.73367 1.60947571,87.26633 3.17157288,88.8284271 L19.1715729,104.828427 C20.73367,106.390524 23.26633,106.390524 24.8284271,104.828427 L40.8284271,88.8284271 C42.3905243,87.26633 42.3905243,84.73367 40.8284271,83.1715729 C39.26633,81.6094757 36.73367,81.6094757 35.1715729,83.1715729 L26,92.3431458 L26,22 L22,26 L92.3431458,26 L92.3431458,26 Z M112,52 L112,116 L116,112 L52,112 C49.790861,112 48,113.790861 48,116 C48,118.209139 49.790861,120 52,120 L116,120 C118.209139,120 120,118.209139 120,116 L120,52 C120,49.790861 118.209139,48 116,48 C113.790861,48 112,49.790861 112,52 L112,52 Z\"></path>\n</svg>"
},
"$:/core/images/spiral": {
"title": "$:/core/images/spiral",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-spiral tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074.14-2.64-1.89-4.89-4.52-5.03-2.64-.14-4.89 1.88-5.03 4.52-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01-.02-.015-.054-.045-.094-.088-.06-.064-.12-.145-.17-.244-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"></path>\n </g>\n</svg>"
},
"$:/core/images/stamp": {
"title": "$:/core/images/stamp",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-stamp tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M49.7334301,64 L16.0098166,64 C11.5838751,64 8,67.5829053 8,72.002643 L8,74.4986785 L8,97 L120,97 L120,74.4986785 L120,72.002643 C120,67.5737547 116.413883,64 111.990183,64 L78.2665699,64 C76.502049,60.7519149 75.5,57.0311962 75.5,53.0769231 C75.5,46.6017951 78.1869052,40.7529228 82.5087769,36.5800577 C85.3313113,32.7688808 87,28.0549983 87,22.952183 C87,10.2760423 76.7025492,0 64,0 C51.2974508,0 41,10.2760423 41,22.952183 C41,28.0549983 42.6686887,32.7688808 45.4912231,36.5800577 C49.8130948,40.7529228 52.5,46.6017951 52.5,53.0769231 C52.5,57.0311962 51.497951,60.7519149 49.7334301,64 Z M8,104 L120,104 L120,112 L8,112 L8,104 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/star-filled": {
"title": "$:/core/images/star-filled",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-star-filled tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M61.8361286,96.8228569 L99.1627704,124.110219 C101.883827,126.099427 105.541968,123.420868 104.505636,120.198072 L90.2895569,75.9887263 L89.0292911,79.8977279 L126.314504,52.5528988 C129.032541,50.5595011 127.635256,46.2255025 124.273711,46.2229134 L78.1610486,46.1873965 L81.4604673,48.6032923 L67.1773543,4.41589688 C66.1361365,1.19470104 61.6144265,1.19470104 60.5732087,4.41589688 L46.2900957,48.6032923 L49.5895144,46.1873965 L3.47685231,46.2229134 C0.115307373,46.2255025 -1.28197785,50.5595011 1.43605908,52.5528988 L38.7212719,79.8977279 L37.4610061,75.9887263 L23.2449266,120.198072 C22.2085954,123.420868 25.8667356,126.099427 28.5877926,124.110219 L65.9144344,96.8228569 L61.8361286,96.8228569 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-classic": {
"title": "$:/core/images/storyview-classic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-classic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-pop": {
"title": "$:/core/images/storyview-pop",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-pop tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M16.0098166,56 C11.586117,56 8,59.5776607 8,63.9924054 L8,80.0075946 C8,84.4216782 11.5838751,88 16.0098166,88 L111.990183,88 C116.413883,88 120,84.4223393 120,80.0075946 L120,63.9924054 C120,59.5783218 116.416125,56 111.990183,56 L16.0098166,56 L16.0098166,56 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-zoomin": {
"title": "$:/core/images/storyview-zoomin",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-zoomin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.578055 16,24.0085154 L16,71.9914846 C16,76.4144655 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.421945 112,71.9914846 L112,24.0085154 C112,19.5855345 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/strikethrough": {
"title": "$:/core/images/strikethrough",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-strikethrough tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M92.793842,38.7255689 L108.215529,38.7255689 C107.987058,31.985687 106.70193,26.1883331 104.360107,21.3333333 C102.018284,16.4783336 98.8197436,12.4516001 94.7643909,9.25301205 C90.7090382,6.05442399 85.9969032,3.71263572 80.6278447,2.22757697 C75.2587862,0.742518233 69.4328739,0 63.1499331,0 C57.552404,0 52.0977508,0.713959839 46.7858099,2.14190094 C41.473869,3.56984203 36.7331757,5.74027995 32.5635877,8.65327979 C28.3939997,11.5662796 25.0526676,15.2788708 22.5394913,19.7911647 C20.026315,24.3034585 18.7697456,29.6438781 18.7697456,35.8125837 C18.7697456,41.4101128 19.883523,46.0651309 22.1111111,49.7777778 C24.3386992,53.4904246 27.3087722,56.5176144 31.021419,58.8594378 C34.7340659,61.2012612 38.9321497,63.0861151 43.6157965,64.5140562 C48.2994433,65.9419973 53.068695,67.1985666 57.9236948,68.2838019 C62.7786945,69.3690371 67.5479462,70.4256977 72.231593,71.4538153 C76.9152398,72.4819329 81.1133237,73.8241773 84.8259705,75.480589 C88.5386174,77.1370007 91.5086903,79.2788802 93.7362784,81.9062918 C95.9638666,84.5337035 97.0776439,87.9607107 97.0776439,92.1874163 C97.0776439,96.6425926 96.1637753,100.298067 94.3360107,103.153949 C92.5082461,106.009831 90.109341,108.265944 87.1392236,109.922356 C84.1691061,111.578768 80.827774,112.749662 77.1151272,113.435074 C73.4024803,114.120485 69.7184476,114.463186 66.0629183,114.463186 C61.4935068,114.463186 57.0383974,113.892018 52.6974565,112.749665 C48.3565156,111.607312 44.5582492,109.836692 41.3025435,107.437751 C38.0468378,105.03881 35.4194656,101.983062 33.4203481,98.270415 C31.4212305,94.5577681 30.4216867,90.1312171 30.4216867,84.9906292 L15,84.9906292 C15,92.4159229 16.3422445,98.8415614 19.0267738,104.267738 C21.711303,109.693914 25.3667774,114.149023 29.9933066,117.633199 C34.6198357,121.117376 39.9888137,123.71619 46.1004016,125.429719 C52.2119895,127.143248 58.6947448,128 65.5488621,128 C71.1463912,128 76.7723948,127.343157 82.4270415,126.029451 C88.0816882,124.715745 93.1936407,122.602424 97.7630522,119.689424 C102.332464,116.776425 106.073613,113.006717 108.986613,108.380187 C111.899613,103.753658 113.356091,98.1847715 113.356091,91.6733601 C113.356091,85.6188899 112.242314,80.5926126 110.014726,76.5943775 C107.787137,72.5961424 104.817065,69.2833688 101.104418,66.6559572 C97.3917708,64.0285455 93.193687,61.9437828 88.5100402,60.4016064 C83.8263934,58.85943 79.0571416,57.5171855 74.2021419,56.3748327 C69.3471422,55.2324798 64.5778904,54.1758192 59.8942436,53.2048193 C55.2105968,52.2338193 51.012513,51.0058084 47.2998661,49.5207497 C43.5872193,48.0356909 40.6171463,46.1222786 38.3895582,43.7804552 C36.1619701,41.4386318 35.0481928,38.3828836 35.0481928,34.6131191 C35.0481928,30.6148841 35.8192694,27.273552 37.3614458,24.5890228 C38.9036222,21.9044935 40.9598265,19.762614 43.5301205,18.1633199 C46.1004145,16.5640259 49.041929,15.4216902 52.3547523,14.7362784 C55.6675757,14.0508667 59.0374661,13.708166 62.4645248,13.708166 C70.9179361,13.708166 77.8576257,15.6786952 83.2838019,19.6198126 C88.709978,23.56093 91.8799597,29.9294518 92.793842,38.7255689 L92.793842,38.7255689 Z\"></path>\n <rect x=\"5\" y=\"54\" width=\"118\" height=\"16\"></rect>\n </g>\n</svg>"
},
"$:/core/images/subscript": {
"title": "$:/core/images/subscript",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-subscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,128.411516 L85.3276227,128.411516 C85.3870139,123.24448 86.6342108,118.730815 89.0692508,114.870386 C91.5042907,111.009956 94.8301491,107.654403 99.0469256,104.803624 C101.066227,103.318844 103.174584,101.878629 105.372059,100.482935 C107.569534,99.0872413 109.588805,97.5876355 111.429933,95.9840726 C113.271061,94.3805097 114.785514,92.6433426 115.973338,90.7725192 C117.161163,88.9016958 117.784761,86.7487964 117.844152,84.3137564 C117.844152,83.1853233 117.710524,81.9826691 117.443264,80.7057579 C117.176003,79.4288467 116.656338,78.2410402 115.884252,77.1423026 C115.112166,76.0435651 114.04314,75.123015 112.677142,74.3806248 C111.311144,73.6382345 109.529434,73.267045 107.331959,73.267045 C105.312658,73.267045 103.634881,73.6679297 102.298579,74.4697112 C100.962276,75.2714926 99.8932503,76.3702137 99.0914688,77.7659073 C98.2896874,79.161601 97.6957841,80.8096826 97.3097412,82.7102016 C96.9236982,84.6107206 96.7009845,86.6596869 96.6415933,88.857162 L86.4857457,88.857162 C86.4857457,85.4124713 86.9460207,82.2202411 87.8665846,79.2803758 C88.7871485,76.3405105 90.1679736,73.801574 92.0091014,71.6634901 C93.8502292,69.5254062 96.092214,67.8476295 98.7351233,66.6301095 C101.378033,65.4125895 104.451482,64.8038386 107.955564,64.8038386 C111.756602,64.8038386 114.933984,65.4274371 117.487807,66.6746527 C120.041629,67.9218683 122.105443,69.4957119 123.67931,71.3962309 C125.253178,73.2967499 126.366746,75.3605638 127.02005,77.5877345 C127.673353,79.8149053 128,81.9381095 128,83.9574109 C128,86.4518421 127.613963,88.7086746 126.841877,90.727976 C126.069791,92.7472774 125.03046,94.6032252 123.723854,96.2958749 C122.417247,97.9885247 120.932489,99.5475208 119.269534,100.97291 C117.60658,102.398299 115.884261,103.734582 114.102524,104.981797 C112.320788,106.229013 110.539078,107.416819 108.757341,108.545253 C106.975605,109.673686 105.327523,110.802102 103.813047,111.930535 C102.298571,113.058968 100.977136,114.231927 99.8487031,115.449447 C98.7202699,116.666967 97.9481956,117.958707 97.5324571,119.324705 L127.910914,119.324705 L127.910914,128.411516 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/superscript": {
"title": "$:/core/images/superscript",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-superscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,63.4115159 L85.3276227,63.4115159 C85.3870139,58.2444799 86.6342108,53.7308149 89.0692508,49.8703857 C91.5042907,46.0099565 94.8301491,42.654403 99.0469256,39.8036245 C101.066227,38.318844 103.174584,36.8786285 105.372059,35.4829349 C107.569534,34.0872413 109.588805,32.5876355 111.429933,30.9840726 C113.271061,29.3805097 114.785514,27.6433426 115.973338,25.7725192 C117.161163,23.9016958 117.784761,21.7487964 117.844152,19.3137564 C117.844152,18.1853233 117.710524,16.9826691 117.443264,15.7057579 C117.176003,14.4288467 116.656338,13.2410402 115.884252,12.1423026 C115.112166,11.0435651 114.04314,10.123015 112.677142,9.38062477 C111.311144,8.63823453 109.529434,8.26704499 107.331959,8.26704499 C105.312658,8.26704499 103.634881,8.6679297 102.298579,9.46971115 C100.962276,10.2714926 99.8932503,11.3702137 99.0914688,12.7659073 C98.2896874,14.161601 97.6957841,15.8096826 97.3097412,17.7102016 C96.9236982,19.6107206 96.7009845,21.6596869 96.6415933,23.857162 L86.4857457,23.857162 C86.4857457,20.4124713 86.9460207,17.2202411 87.8665846,14.2803758 C88.7871485,11.3405105 90.1679736,8.80157397 92.0091014,6.6634901 C93.8502292,4.52540622 96.092214,2.84762946 98.7351233,1.63010947 C101.378033,0.412589489 104.451482,-0.196161372 107.955564,-0.196161372 C111.756602,-0.196161372 114.933984,0.427437071 117.487807,1.67465266 C120.041629,2.92186826 122.105443,4.49571195 123.67931,6.39623095 C125.253178,8.29674995 126.366746,10.3605638 127.02005,12.5877345 C127.673353,14.8149053 128,16.9381095 128,18.9574109 C128,21.4518421 127.613963,23.7086746 126.841877,25.727976 C126.069791,27.7472774 125.03046,29.6032252 123.723854,31.2958749 C122.417247,32.9885247 120.932489,34.5475208 119.269534,35.97291 C117.60658,37.3982993 115.884261,38.7345816 114.102524,39.9817972 C112.320788,41.2290128 110.539078,42.4168194 108.757341,43.5452525 C106.975605,44.6736857 105.327523,45.8021019 103.813047,46.9305351 C102.298571,48.0589682 100.977136,49.2319272 99.8487031,50.4494472 C98.7202699,51.6669672 97.9481956,52.9587068 97.5324571,54.3247048 L127.910914,54.3247048 L127.910914,63.4115159 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/tag-button": {
"title": "$:/core/images/tag-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tag-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M18.1643182,47.6600756 L18.1677196,51.7651887 C18.1708869,55.5878829 20.3581578,60.8623899 23.0531352,63.5573673 L84.9021823,125.406414 C87.5996731,128.103905 91.971139,128.096834 94.6717387,125.396234 L125.766905,94.3010679 C128.473612,91.5943612 128.472063,87.2264889 125.777085,84.5315115 L63.9280381,22.6824644 C61.2305472,19.9849735 55.9517395,17.801995 52.1318769,17.8010313 L25.0560441,17.7942007 C21.2311475,17.7932358 18.1421354,20.8872832 18.1452985,24.7049463 L18.1535504,34.6641936 C18.2481119,34.6754562 18.3439134,34.6864294 18.4409623,34.6971263 C22.1702157,35.1081705 26.9295004,34.6530132 31.806204,33.5444844 C32.1342781,33.0700515 32.5094815,32.6184036 32.9318197,32.1960654 C35.6385117,29.4893734 39.5490441,28.718649 42.94592,29.8824694 C43.0432142,29.8394357 43.1402334,29.7961748 43.2369683,29.7526887 L43.3646982,30.0368244 C44.566601,30.5115916 45.6933052,31.2351533 46.6655958,32.2074439 C50.4612154,36.0030635 50.4663097,42.1518845 46.6769742,45.94122 C43.0594074,49.5587868 37.2914155,49.7181264 33.4734256,46.422636 C28.1082519,47.5454734 22.7987486,48.0186448 18.1643182,47.6600756 Z\"></path>\n <path d=\"M47.6333528,39.5324628 L47.6562932,39.5834939 C37.9670934,43.9391617 26.0718874,46.3819521 17.260095,45.4107025 C5.27267473,44.0894301 -1.02778744,36.4307276 2.44271359,24.0779512 C5.56175386,12.9761516 14.3014034,4.36129832 24.0466405,1.54817001 C34.7269254,-1.53487574 43.7955833,3.51606438 43.7955834,14.7730751 L35.1728168,14.7730752 C35.1728167,9.91428944 32.0946059,8.19982862 26.4381034,9.83267419 C19.5270911,11.8276553 13.046247,18.2159574 10.7440788,26.4102121 C8.82861123,33.2280582 11.161186,36.0634845 18.2047888,36.8398415 C25.3302805,37.6252244 35.7353482,35.4884477 44.1208333,31.7188498 L44.1475077,31.7781871 C44.159701,31.7725635 44.1718402,31.7671479 44.1839238,31.7619434 C45.9448098,31.0035157 50.4503245,38.3109156 47.7081571,39.5012767 C47.6834429,39.512005 47.6585061,39.5223987 47.6333528,39.5324628 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/theme-button": {
"title": "$:/core/images/theme-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-theme-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M55.854113,66.9453198 C54.3299482,65.1432292 53.0133883,63.518995 51.9542746,62.1263761 C40.8899947,47.578055 35.3091807,55.2383404 28.9941893,62.1263758 C22.6791979,69.0144112 30.6577916,74.5954741 24.6646171,79.4611023 C18.6714426,84.3267304 19.0414417,86.0133155 8.92654943,77.1119468 C-1.18834284,68.2105781 -1.88793412,65.7597832 2.7553553,60.6807286 C7.39864472,55.601674 11.2794845,63.5989423 20.7646627,54.5728325 C30.2498409,45.5467226 22.2819131,37.5470737 22.2819131,37.5470737 C22.2819131,37.5470737 42.0310399,-2.82433362 68.4206088,0.157393922 C94.8101776,3.13912147 58.4373806,-3.70356506 49.3898693,27.958066 C45.5161782,41.5139906 50.1107906,38.3197672 57.4560458,44.0453955 C59.1625767,45.3756367 63.8839488,48.777453 70.127165,53.3625321 C63.9980513,59.2416709 58.9704753,64.0315459 55.854113,66.9453198 Z M67.4952439,79.8919946 C83.5082212,96.9282402 105.237121,117.617674 112.611591,120.312493 C123.044132,124.12481 128.000001,117.170903 128,105.522947 C127.999999,98.3705516 104.170675,78.980486 84.0760493,63.7529565 C76.6683337,70.9090328 70.7000957,76.7055226 67.4952439,79.8919946 Z\"></path>\n <path d=\"M58.2852966,138.232794 L58.2852966,88.3943645 C56.318874,88.3923153 54.7254089,86.7952906 54.7254089,84.8344788 C54.7254089,82.8684071 56.3175932,81.2745911 58.2890859,81.2745911 L79.6408336,81.2745911 C81.608998,81.2745911 83.2045105,82.8724076 83.2045105,84.8344788 C83.2045105,86.7992907 81.614366,88.3923238 79.6446228,88.3943645 L79.6446228,88.3943646 L79.6446228,138.232794 C79.6446228,144.131009 74.8631748,148.912457 68.9649597,148.912457 C63.0667446,148.912457 58.2852966,144.131009 58.2852966,138.232794 Z M65.405072,-14.8423767 L72.5248474,-14.8423767 L76.0847351,-0.690681892 L72.5248474,6.51694947 L72.5248474,81.2745911 L65.405072,81.2745911 L65.405072,6.51694947 L61.8451843,-0.690681892 L65.405072,-14.8423767 Z\" transform=\"translate(68.964960, 67.035040) rotate(45.000000) translate(-68.964960, -67.035040) \"></path>\n </g>\n</svg>"
},
"$:/core/images/timestamp-off": {
"title": "$:/core/images/timestamp-off",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-timestamp-off tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/>\n </g>\n</svg>\n"
},
"$:/core/images/timestamp-on": {
"title": "$:/core/images/timestamp-on",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-timestamp-on tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178c-2.116 1.775-5.27 1.498-7.045-.613-1.772-2.11-1.498-5.27.616-7.047l9.95-8.348c2.115-1.774 5.27-1.5 7.045.618 1.775 2.108 1.498 5.27-.616 7.043l-9.95 8.348zM102.983 27.178c2.116 1.775 5.27 1.498 7.045-.613 1.772-2.11 1.498-5.27-.616-7.047l-9.95-8.348c-2.114-1.774-5.27-1.5-7.044.618-1.775 2.108-1.498 5.27.616 7.043l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/>\n </g>\n</svg>\n"
},
"$:/core/images/tip": {
"title": "$:/core/images/tip",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tip tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128.241818 C99.346224,128.241818 128,99.5880417 128,64.2418177 C128,28.8955937 99.346224,0.241817675 64,0.241817675 C28.653776,0.241817675 0,28.8955937 0,64.2418177 C0,99.5880417 28.653776,128.241818 64,128.241818 Z M75.9358659,91.4531941 C75.3115438,95.581915 70.2059206,98.8016748 64,98.8016748 C57.7940794,98.8016748 52.6884562,95.581915 52.0641341,91.4531941 C54.3299053,94.0502127 58.8248941,95.8192805 64,95.8192805 C69.1751059,95.8192805 73.6700947,94.0502127 75.9358659,91.4531941 L75.9358659,91.4531941 Z M75.9358659,95.9453413 C75.3115438,100.074062 70.2059206,103.293822 64,103.293822 C57.7940794,103.293822 52.6884562,100.074062 52.0641341,95.9453413 C54.3299053,98.5423599 58.8248941,100.311428 64,100.311428 C69.1751059,100.311428 73.6700947,98.5423599 75.9358659,95.9453413 L75.9358659,95.9453413 Z M75.9358659,100.40119 C75.3115438,104.529911 70.2059206,107.74967 64,107.74967 C57.7940794,107.74967 52.6884562,104.529911 52.0641341,100.40119 C54.3299053,102.998208 58.8248941,104.767276 64,104.767276 C69.1751059,104.767276 73.6700947,102.998208 75.9358659,100.40119 L75.9358659,100.40119 Z M75.9358659,104.893337 C75.3115438,109.022058 70.2059206,112.241818 64,112.241818 C57.7940794,112.241818 52.6884562,109.022058 52.0641341,104.893337 C54.3299053,107.490356 58.8248941,109.259423 64,109.259423 C69.1751059,109.259423 73.6700947,107.490356 75.9358659,104.893337 L75.9358659,104.893337 Z M64.3010456,24.2418177 C75.9193117,24.2418188 88.0000013,32.0619847 88,48.4419659 C87.9999987,64.8219472 75.9193018,71.7540963 75.9193021,83.5755932 C75.9193022,89.4486648 70.0521957,92.8368862 63.9999994,92.8368862 C57.947803,92.8368862 51.9731007,89.8295115 51.9731007,83.5755932 C51.9731007,71.1469799 39.9999998,65.4700602 40,48.4419647 C40.0000002,31.4138691 52.6827796,24.2418166 64.3010456,24.2418177 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/twitter": {
"title": "$:/core/images/twitter",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-twitter tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M41.6263422,115.803477 C27.0279663,115.803477 13.4398394,111.540813 1.99987456,104.234833 C4.02221627,104.472643 6.08004574,104.594302 8.16644978,104.594302 C20.277456,104.594302 31.4238403,100.47763 40.270894,93.5715185 C28.9590538,93.3635501 19.4123842,85.9189246 16.1230832,75.6885328 C17.7011365,75.9892376 19.320669,76.1503787 20.9862896,76.1503787 C23.344152,76.1503787 25.6278127,75.8359011 27.7971751,75.247346 C15.9709927,72.8821073 7.06079851,62.4745062 7.06079851,49.9982394 C7.06079851,49.8898938 7.06079851,49.7820074 7.06264203,49.67458 C10.5482779,51.6032228 14.5339687,52.7615103 18.7717609,52.8951059 C11.8355159,48.277565 7.2714207,40.3958845 7.2714207,31.4624258 C7.2714207,26.7434257 8.54621495,22.3200804 10.7713439,18.5169676 C23.5211299,34.0957738 42.568842,44.3472839 64.0532269,45.4210985 C63.6126256,43.5365285 63.3835682,41.5711584 63.3835682,39.5529928 C63.3835682,25.3326379 74.95811,13.8034766 89.2347917,13.8034766 C96.6697089,13.8034766 103.387958,16.930807 108.103682,21.9353619 C113.991886,20.780288 119.52429,18.6372496 124.518847,15.6866694 C122.588682,21.6993889 118.490075,26.7457211 113.152623,29.9327334 C118.381769,29.3102055 123.363882,27.926045 127.999875,25.8780385 C124.534056,31.0418981 120.151087,35.5772616 115.100763,39.2077561 C115.150538,40.3118708 115.175426,41.4224128 115.175426,42.538923 C115.175426,76.5663154 89.1744164,115.803477 41.6263422,115.803477\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/underline": {
"title": "$:/core/images/underline",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-underline tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M7,117.421488 L121.247934,117.421488 L121.247934,128 L7,128 L7,117.421488 Z M104.871212,98.8958333 L104.871212,0 L88.6117424,0 L88.6117424,55.8560606 C88.6117424,60.3194668 88.0060035,64.432115 86.7945076,68.1941288 C85.5830116,71.9561425 83.7657949,75.239885 81.342803,78.0454545 C78.9198111,80.8510241 75.8911167,83.0189317 72.2566288,84.5492424 C68.6221409,86.0795531 64.3182067,86.844697 59.344697,86.844697 C53.0959284,86.844697 48.1862552,85.0593613 44.6155303,81.4886364 C41.0448054,77.9179114 39.2594697,73.0720003 39.2594697,66.9507576 L39.2594697,0 L23,0 L23,65.0378788 C23,70.3939662 23.5419769,75.2717583 24.625947,79.6714015 C25.709917,84.0710447 27.5908957,87.864883 30.2689394,91.0530303 C32.9469831,94.2411776 36.4538925,96.6960141 40.7897727,98.4176136 C45.125653,100.139213 50.545422,101 57.0492424,101 C64.3182182,101 70.630655,99.5653553 75.9867424,96.6960227 C81.3428298,93.8266902 85.742407,89.33147 89.1856061,83.2102273 L89.5681818,83.2102273 L89.5681818,98.8958333 L104.871212,98.8958333 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/unfold-all-button": {
"title": "$:/core/images/unfold-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unfold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M85.598226,8.34884273 C84.1490432,6.89863875 82.1463102,6 79.9340286,6 L47.9482224,6 C43.5292967,6 39.9411255,9.581722 39.9411255,14 C39.9411255,18.4092877 43.5260249,22 47.9482224,22 L71.9411255,22 L71.9411255,45.9929031 C71.9411255,50.4118288 75.5228475,54 79.9411255,54 C84.3504132,54 87.9411255,50.4151006 87.9411255,45.9929031 L87.9411255,14.0070969 C87.9411255,11.7964515 87.0447363,9.79371715 85.5956548,8.34412458 Z\" transform=\"translate(63.941125, 30.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -30.000000) \"></path>\n <path d=\"M85.6571005,72.2899682 C84.2079177,70.8397642 82.2051847,69.9411255 79.9929031,69.9411255 L48.0070969,69.9411255 C43.5881712,69.9411255 40,73.5228475 40,77.9411255 C40,82.3504132 43.5848994,85.9411255 48.0070969,85.9411255 L72,85.9411255 L72,109.934029 C72,114.352954 75.581722,117.941125 80,117.941125 C84.4092877,117.941125 88,114.356226 88,109.934029 L88,77.9482224 C88,75.737577 87.1036108,73.7348426 85.6545293,72.2852501 Z\" transform=\"translate(64.000000, 93.941125) scale(1, -1) rotate(-45.000000) translate(-64.000000, -93.941125) \"></path>\n </g>\n</svg>"
},
"$:/core/images/unfold-button": {
"title": "$:/core/images/unfold-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unfold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M85.598226,11.3488427 C84.1490432,9.89863875 82.1463102,9 79.9340286,9 L47.9482224,9 C43.5292967,9 39.9411255,12.581722 39.9411255,17 C39.9411255,21.4092877 43.5260249,25 47.9482224,25 L71.9411255,25 L71.9411255,48.9929031 C71.9411255,53.4118288 75.5228475,57 79.9411255,57 C84.3504132,57 87.9411255,53.4151006 87.9411255,48.9929031 L87.9411255,17.0070969 C87.9411255,14.7964515 87.0447363,12.7937171 85.5956548,11.3441246 Z\" transform=\"translate(63.941125, 33.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -33.000000) \"></path>\n <path d=\"M85.6571005,53.4077172 C84.2079177,51.9575133 82.2051847,51.0588745 79.9929031,51.0588745 L48.0070969,51.0588745 C43.5881712,51.0588745 40,54.6405965 40,59.0588745 C40,63.4681622 43.5848994,67.0588745 48.0070969,67.0588745 L72,67.0588745 L72,91.0517776 C72,95.4707033 75.581722,99.0588745 80,99.0588745 C84.4092877,99.0588745 88,95.4739751 88,91.0517776 L88,59.0659714 C88,56.855326 87.1036108,54.8525917 85.6545293,53.4029991 Z\" transform=\"translate(64.000000, 75.058875) scale(1, -1) rotate(-45.000000) translate(-64.000000, -75.058875) \"></path>\n </g>\n</svg>"
},
"$:/core/images/unlocked-padlock": {
"title": "$:/core/images/unlocked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unlocked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M48.6266053,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L30.136303,64 C19.6806213,51.3490406 2.77158986,28.2115132 25.8366966,8.85759246 C50.4723026,-11.8141335 71.6711028,13.2108337 81.613302,25.0594855 C91.5555012,36.9081373 78.9368488,47.4964439 69.1559674,34.9513593 C59.375086,22.4062748 47.9893192,10.8049522 35.9485154,20.9083862 C23.9077117,31.0118202 34.192312,43.2685325 44.7624679,55.8655518 C47.229397,58.805523 48.403443,61.5979188 48.6266053,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/up-arrow": {
"created": "20150316000544368",
"modified": "20150316000831867",
"tags": "$:/tags/Image",
"title": "$:/core/images/up-arrow",
"text": "<svg class=\"tc-image-up-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path transform=\"rotate(-135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25074c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056l0.00001,-0.00001z\" />\n</svg>\n \n"
},
"$:/core/images/video": {
"title": "$:/core/images/video",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-video tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,12 C29.0909091,12 8.72727273,14.9166667 5.81818182,17.8333333 C2.90909091,20.75 1.93784382e-15,41.1666667 0,64.5 C1.93784382e-15,87.8333333 2.90909091,108.25 5.81818182,111.166667 C8.72727273,114.083333 29.0909091,117 64,117 C98.9090909,117 119.272727,114.083333 122.181818,111.166667 C125.090909,108.25 128,87.8333333 128,64.5 C128,41.1666667 125.090909,20.75 122.181818,17.8333333 C119.272727,14.9166667 98.9090909,12 64,12 Z M54.9161194,44.6182253 C51.102648,42.0759111 48.0112186,43.7391738 48.0112186,48.3159447 L48.0112186,79.6840553 C48.0112186,84.2685636 51.109784,85.9193316 54.9161194,83.3817747 L77.0838806,68.6032672 C80.897352,66.0609529 80.890216,61.9342897 77.0838806,59.3967328 L54.9161194,44.6182253 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/warning": {
"title": "$:/core/images/warning",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-warning tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M57.0717968,11 C60.1509982,5.66666667 67.8490018,5.66666667 70.9282032,11 L126.353829,107 C129.433031,112.333333 125.584029,119 119.425626,119 L8.57437416,119 C2.41597129,119 -1.43303051,112.333333 1.64617093,107 L57.0717968,11 Z M64,37 C59.581722,37 56,40.5820489 56,44.9935776 L56,73.0064224 C56,77.4211534 59.5907123,81 64,81 C68.418278,81 72,77.4179511 72,73.0064224 L72,44.9935776 C72,40.5788466 68.4092877,37 64,37 Z M64,104 C68.418278,104 72,100.418278 72,96 C72,91.581722 68.418278,88 64,88 C59.581722,88 56,91.581722 56,96 C56,100.418278 59.581722,104 64,104 Z\"></path>\n </g>\n</svg>"
},
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "advanced search"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Advanced search"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "cancel"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Discard changes to this tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "clone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone this tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "close"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Close this tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "close all"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Close all tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "close others"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Close other tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "control panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Open control panel"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "delete"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Delete this tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "edit"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Edit this tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "encryption"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Set or clear a password for saving this wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "clear password"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Clear the password and save this wiki without encryption"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "set password"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Set a password for saving this wiki with encryption"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "export all"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Export all tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "export tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Export tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "export tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Export tiddlers"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "fold tiddler"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Fold the body of this tiddler"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "fold-bar"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Optional bars to fold and unfold tiddlers"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "unfold tiddler"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Unfold the body of this tiddler"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "fold other tiddlers"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Fold the bodies of other opened tiddlers"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "fold all tiddlers"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Fold the bodies of all opened tiddlers"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "unfold all tiddlers"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Unfold the bodies of all opened tiddlers"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "full-screen"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Enter or leave full-screen mode"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "help"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Show help panel"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Import many types of file including text, image, TiddlyWiki or JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Show information for this tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Open the default tiddlers"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "language"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choose the user interface language"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "tiddler manager"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "Open tiddler manager"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "more"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "More actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "new here"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Create a new tiddler tagged with this one"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "new journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Create a new journal tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "new journal here"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Create a new journal tiddler tagged with this one"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "new image"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Create a new image tiddler"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "new Markdown tiddler"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Create a new Markdown tiddler"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "new tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Create a new tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "open in new window"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Open tiddler in new window"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Choose the colour palette"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Set browser address bar to a direct link to this tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Set browser address bar to a direct link to all the tiddlers in this story"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "print page"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "Print the current page"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "refresh"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Perform a full refresh of the wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "ok"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Confirm changes to this tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "save changes"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Save changes"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "storyview"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choose the story visualisation"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "hide sidebar"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Hide sidebar"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "show sidebar"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Show sidebar"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "tag manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Open tag manager"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "timestamps"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "Choose whether modifications update timestamps"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "timestamps are on"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "Update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "timestamps are off"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "Don't update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choose the display theme"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "bold"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Apply bold formatting to selection"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "clear"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Clear image to solid colour"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "editor height"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Automatically adjust height to fit content"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Fixed height:"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Choose the height of the text editor"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "excise"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Perform excision"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Macro name:"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Title of new tiddler:"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Replace excised text with:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "macro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "link"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "transclusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Tag new tiddler with the title of this tiddler"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Warning: tiddler already exists"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Excise the selected text into a new tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "heading 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Apply heading level 1 formatting to lines containing selection"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "heading 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Apply heading level 2 formatting to lines containing selection"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "heading 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Apply heading level 3 formatting to lines containing selection"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "heading 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Apply heading level 4 formatting to lines containing selection"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "heading 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Apply heading level 5 formatting to lines containing selection"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "heading 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Apply heading level 6 formatting to lines containing selection"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "italic"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Apply italic formatting to selection"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "line width"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Set line width for painting"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "link"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Create wikitext link"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "bulleted list"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Apply bulleted list formatting to lines containing selection"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "numbered list"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Apply numbered list formatting to lines containing selection"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "monospaced block"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Apply monospaced block formatting to lines containing selection"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "monospaced"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Apply monospaced character formatting to selection"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "opacity"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Set painting opacity"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "paint colour"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Set painting colour"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "picture"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Insert picture"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "preview"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Show preview pane"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "preview type"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Choose preview type"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "quote"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Apply quoted text formatting to lines containing selection"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "image size"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Height:"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Resize image"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Width:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Set image size"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "stamp"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Add your own"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Insert a preconfigured snippet of text"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Name as shown in menu"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "strikethrough"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Apply strikethrough formatting to selection"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "subscript"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Apply subscript formatting to selection"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "superscript"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Apply superscript formatting to selection"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "underline"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Apply underline formatting to selection"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Advanced"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Internal information about this TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Appearance"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Ways to customise the appearance of your TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Animation duration:"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basics"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Default tiddlers:"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Choose which tiddlers are displayed at startup:"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hello! Current language:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Title of new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "Text for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Number of overridden shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Number of shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Subtitle:"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Number of system tiddlers:"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Number of tags:"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Number of tiddlers:"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Title of this ~TiddlyWiki:"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Username for signing edits:"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki version:"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Types"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "These tiddlers determine which editor is used to edit specific tiddler types."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information about this TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Type shortcut here"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "add shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Keyboard Shortcuts"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Manage keyboard shortcut assignments"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "No keyboard shortcuts assigned"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "remove keyboard shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "All platforms"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Macintosh platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Non-Macintosh platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Linux platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Non-Linux platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Windows platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Non-Windows platforms only"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Loaded Modules"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "clone"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "It is recommended that you clone this shadow palette before editing it"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "This shadow palette has been modified"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Editing"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "reset"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "hide editor"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Current palette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "show editor"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parsing"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|http://tiddlywiki.com/#SafeMode]] to restore normal operation."
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Parse Rules"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Parse Rules"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Parse Rules"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Get more plugins"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Install plugins from the official library"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "disable"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Disable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(disabled)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "None"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "enable"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Enable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "install"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Currently installed plugins:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Languages"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Language pack plugins"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
},
"$:/language/ControlPanel/Plugins/NoInformation/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
"text": "No information provided"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "This plugin is not currently installed"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "open plugin library"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "close plugin library"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "reinstall"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Themes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Theme plugins"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "Permit automatic saving for the download saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "Enable Autosave for Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "These settings apply to the HTML5-compatible download saver"
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "General"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "These settings apply to all the loaded savers"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Advanced Settings"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Backup Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Backups"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "~TiddlySpot Saver"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Upload Filename"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Password"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Upload Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Wiki Name"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Autosave"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Do not save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Attempt to automatically save changes during editing when using a supporting saver"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Camel Case Wiki Links"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Enable automatic ~CamelCase linking"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Settings"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "Enable or disable the editor toolbar:"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "Show editor toolbar"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "Tiddler Info Panel Mode"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "Control when the tiddler info panel closes:"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "Tiddler info panel closes automatically"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "Tiddler info panel stays open until explicitly closed"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "These settings let you customise the behaviour of TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Address Bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Behaviour of the browser address bar when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Do not update the address bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Include the target tiddler"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Include the target tiddler and the current story sequence"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Navigation History"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Update browser history when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Do not update history"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Update history"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Performance Instrumentation"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Enable performance instrumentation"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Toolbar Button Style"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Choose the style for toolbar buttons:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Borderless"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Boxed"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Rounded"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Default toolbar button appearance:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Include icon"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Include text"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Default Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Specify which sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Tiddler Opening Behaviour"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation from //within// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation from //outside// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Open above the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Open below the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Open at the top of the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Open at the bottom of the story river"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Tiddler Titles"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Optionally display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Do not display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Wiki Links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Choose whether to link to tiddlers that do not exist yet"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Enable links to missing tiddlers"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Story View"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Current view:"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Current theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Fields"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbars"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Select which toolbar buttons are displayed"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Download full wiki"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "st"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "nd"
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "rd"
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "th"
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "th"
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "th"
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "th"
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "th"
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "th"
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "th"
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "th"
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "th"
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "th"
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "th"
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "th"
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "th"
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "th"
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "th"
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "th"
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "th"
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "st"
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "nd"
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "rd"
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "th"
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "th"
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "th"
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "th"
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "th"
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "th"
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "th"
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "st"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sunday"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Monday"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Tuesday"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Wednesday"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Thursday"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Friday"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Saturday"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "January"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "February"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "March"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "May"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "June"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "July"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "October"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "December"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Sun"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mon"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Tue"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Wed"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Thu"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fri"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sat"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "May"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dec"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> days from now"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> hours from now"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> minutes from now"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> months from now"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 second from now"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> seconds from now"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> years from now"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> days ago"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> hours ago"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> minutes ago"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> months ago"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 second ago"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> seconds ago"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> years ago"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "A sub-operator for the ''all'' filter operator."
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations that may be used with the RevealWidget."
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "A bitmap editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commands that can be executed under Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Data to be inserted into `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individual filter operator methods."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Global data to be inserted into `$tw`."
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operands for the ''is'' filter operator."
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "Generic module type for general purpose JavaScript modules."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript macro definitions."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parsers for different content types."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Savers handle different methods for saving files from the browser."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Startup functions."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Story views customise the animation and behaviour of list widgets."
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "A text editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Converts different content types into tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Defines the behaviour of an individual tiddler field."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Adds methods to the `$tw.Tiddler` prototype."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applies upgrade processing to tiddlers during an upgrade/import."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Adds methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Adds Node.js-specific methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets encapsulate DOM rendering and refreshing."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Adds methods to `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Individual parser rules for the main WikiText parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Alert background"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Alert border"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Alert highlight"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Alert muted foreground"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "General background"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Blockquote bar"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Default button background"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Default button border"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Default button foreground"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Unsaved changes indicator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code background"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code border"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code foreground"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Download button background"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Download button foreground"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Dragger background"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Dragger foreground"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Dropdown background"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Dropdown border"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Dropdown tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Dropdown tab background"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Dropzone background"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "External link background hover"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "External link background visited"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "External link background"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "External link foreground hover"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "External link foreground visited"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "External link foreground"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "General foreground"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Message box background"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Message box border"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Message box foreground"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modal backdrop"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modal background"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modal border"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modal footer background"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modal footer border"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modal header border"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "General muted foreground"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Notification background"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Notification border"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Page background"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Preformatted code background"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Preformatted code border"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "General primary"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Sidebar button foreground"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Sidebar controls foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Sidebar controls foreground"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Sidebar foreground shadow"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Sidebar foreground"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Sidebar muted foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Sidebar muted foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Sidebar tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Sidebar tab background"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Sidebar tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Sidebar tab border"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Sidebar tab divider"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Sidebar tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Sidebar tab foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Sidebar tiddler link foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Sidebar tiddler link foreground"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "Site title foreground"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Static alert foreground"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Tab background"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Tab border"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Tab divider"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Tab foreground"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Table border"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Table footer background"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Table header background"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag background"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag foreground"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler background"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler border"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler controls foreground hover"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler controls foreground for selected controls"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler controls foreground"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler editor background"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler editor border image"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler editor border"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler editor background for even fields"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler editor background for odd fields"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler info panel background"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler info panel border"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler info panel tab background"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler link background"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler link foreground"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler subtitle foreground"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler title foreground"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Toolbar 'new tiddler' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Toolbar 'options' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Toolbar 'save' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Toolbar 'info' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Toolbar 'edit' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Toolbar 'close' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Toolbar 'delete' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Toolbar 'cancel' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Toolbar 'done' button foreground"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Untagged pill background"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Very muted foreground"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "This is an external tiddler stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Type the text for this tiddler"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "output"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "remove field"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Remove field"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "field name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Add a new field:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "field value"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "System fields"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "User fields"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "tag name"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "tag list"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Show tag list"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "Target tiddler already exists"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "content type list"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Show content type list"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "delete content type"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Delete content type"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "content type"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "Static HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON file"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV file"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" file"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "The full URI of an external image tiddler"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "The name of the bag from which a tiddler came"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "The text to be displayed on a tab or button"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "The CSS color value associated with a tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "The date a tiddler was created"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "The name of the person who created a tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "For a plugin, lists the dependent plugin titles"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "The descriptive text for a plugin, or a modal dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "For draft tiddlers, contains the proposed new title of the tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "The footer text for a wizard"
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "A temporary storage field used in [[$:/core/templates/static.content]]"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "The title of the tiddler containing the icon associated with a tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "If set to \"yes\" indicates that a tiddler should be saved as a JavaScript library"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "An ordered list of tiddler titles associated with a tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "The date and time at which a tiddler was last modified"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "The tiddler title associated with the person who last modified a tiddler"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "The human readable name associated with a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "A numerical value indicating the priority of a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "The type of plugin in a plugin tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "The revision of the tiddler held at the server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date of a TiddlyWiki release"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "The source URL associated with a tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "The subtitle text for a wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "A list of tags associated with a tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "The body text of a tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "The unique name of a tiddler"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "The content type of a tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Version information for a plugin"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "All tiddlers except system tiddlers"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Recently modified tiddlers, including system tiddlers"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Recently modified tiddlers"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "All tags except system tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Missing tiddlers"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Draft tiddlers"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Orphan tiddlers"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System tiddlers"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Shadow tiddlers"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Overridden shadow tiddlers"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System tags"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "Non wiki-text tiddlers"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is important to make sure that you can reliably save changes. See http://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Automatically run configured commands",
"text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Clear a password for subsequent crypto operations",
"text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Lists the available editions of TiddlyWiki",
"text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "Fetch tiddlers from wiki by URL",
"text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n```\n\nWith the \"file\" variant only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" variant, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nThe `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nThe `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from http://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"http://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Display help for TiddlyWiki commands",
"text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise a new wiki folder",
"text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Load tiddlers from a file",
"text": "Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files\n\n```\n--load <filepath>\n```\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construct library plugin required by upgrade process",
"text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "No such help item"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Set the base output directory for subsequent commands",
"text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Set a password for subsequent crypto operations",
"text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Render an individual tiddler as a specified ContentType",
"text": "Render an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Render tiddlers matching a filter to a specified ContentType",
"text": "Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Saves a raw tiddler to a file",
"text": "Saves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Saves a group of raw tiddlers to a directory",
"text": "Saves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Provides an HTTP server interface to TiddlyWiki",
"text": "The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage.\n\nAt the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nThe parameters are:\n\n* ''port'' - port number to serve from (defaults to \"8080\")\n* ''roottiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''servetype'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''pathprefix'' - optional prefix for paths\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prepares external tiddlers for use",
"text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Unpack the payload tiddlers from a plugin",
"text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Triggers verbose output mode",
"text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Displays the version number of TiddlyWiki",
"text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "The following tiddlers were imported:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Cancel"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "These tiddlers are ready to import:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Import"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Select"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Title"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Blocked incompatible or obsolete plugin"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Blocked temporary state tiddler"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Blocked system tiddler"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrated theme tweak from <$text text=<<from>>/>"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|http://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "This tiddler contains binary data"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details."
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "close all"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "Recent:"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "count"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "New Tiddler"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Drop here (or use the 'Escape' key to cancel)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Cancel"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Set a new password for this TiddlyWiki"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Username"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Password"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Repeat password"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Passwords do not match"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Set password"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Error"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "File changed on server"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Filter error"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Syntax error in filter expression"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Filter Error: Unknown operand for the 'is' filter operator"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Error loading plugin library"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Recursive transclusion error in transclude widget"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Error retrieving skinny tiddler list"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Error saving to TWEdit"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Error while saving"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest error code"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Internal JavaScript Error"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Loading external text from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear you may be using a browser that doesn't support external text in this configuration. See http://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Login to TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(none)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "Filter by tag:"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "Reverse order"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "Search"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "Search:"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "tags"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "tiddlers"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "Show:"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "Sort by:"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "Colour"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "Fields"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(none)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "Icon"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "Raw text"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "Tags"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "Tools"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified text"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" - click {{$:/core/images/edit-button}} to create"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "No"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Official ~TiddlyWiki Plugin Library"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to plugins to take effect"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DDth MMM YYYY"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "This is a system tiddler"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "Include system tiddlers"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Colour"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "Count"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icon"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DDth MMM YYYY at hh12:0mmam"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "You have unsaved changes in TiddlyWiki"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Yes"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/SavingChanges.html",
"text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DDth MMM YYYY"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Saved wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Starting to save wiki"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "List"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Search via a [[filter expression|http://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "All matches:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Title matches:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Search"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "Search text too short"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Search for shadow tiddlers"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Search for standard tiddlers"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Search for system tiddlers"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "All"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Contents"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Drafts"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Missing"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "More"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Open"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphans"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Recent"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "a non-linear personal web notebook"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "My ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "List of tiddlers by tag",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Macro definition",
"text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table with 4 columns by 3 rows",
"text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table of Contents",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Theme Tweaks"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "You can tweak certain aspects of the ''Vanilla'' theme."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Options"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Sidebar layout"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Fixed story, fluid sidebar"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Fluid story, fixed sidebar"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "Sticky titles"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "Causes tiddler titles to \"stick\" to the top of the browser window. Caution: Does not work at all with Chrome, and causes some layout issues in Firefox"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Wrap long lines in code blocks"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Settings"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Font family"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "Code font family"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Page background image"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Page background image attachment"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Scroll with tiddlers"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Fixed to window"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Page background image size"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Cover"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Contain"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Sizes"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Font size"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Line height"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Font size for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Line height for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "Story left position"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "Story top position"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "how far the top margin of the story river<br>is from the top of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "Story right"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "how far the left margin of the sidebar <br>is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "Story width"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "the overall width of the story river"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Tiddler width"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "within the story river"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Sidebar breakpoint"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Sidebar width"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "the width of the sidebar in fluid-fixed layout"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Advanced"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "none"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "This plugin contains the following shadow tiddlers:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shadow Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "It is overridden by an ordinary tiddler"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Fields"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "List"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "This tiddler does not have a list"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listed"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "This tiddler is not listed by any others"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "References"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "No tiddlers link to this one"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "No tiddlers are tagged with this one"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript code",
"name": "application/javascript",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON data",
"name": "application/json",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Data dictionary",
"name": "application/x-tiddler-dictionary",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF image",
"name": "image/gif",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG image",
"name": "image/jpeg",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG image",
"name": "image/png",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Structured Vector Graphics image",
"name": "image/svg+xml",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO format icon file",
"name": "image/x-icon",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Static stylesheet",
"name": "text/css",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML markup",
"name": "text/html",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Plain text",
"name": "text/plain",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/languages/en-GB/icon": {
"title": "$:/languages/en-GB/icon",
"type": "image/svg+xml",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
},
"$:/languages/en-GB": {
"title": "$:/languages/en-GB",
"name": "en-GB",
"description": "English (British)",
"author": "JeremyRuston",
"core-version": ">=5.0.0\"",
"text": "Stub pseudo-plugin for the default language"
},
"$:/core/modules/commander.js": {
"text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
"title": "$:/core/modules/commander.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/commands/build.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/build.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/clearpassword.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/clearpassword.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/editions.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/fetch.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tvar subcommand = this.params[0],\n\t\turl = this.params[1],\n\t\timportFilter = this.params[2] || \"[all[tiddlers]]\",\n\t\ttransformFilter = this.params[3] || \"\";\n\tswitch(subcommand) {\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: url,\n\t\t\t\timportFilter: importFilter,\n\t\t\t\ttransformFilter: transformFilter,\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: url,\n\t\t\t\timportFilter: importFilter,\n\t\t\t\ttransformFilter: transformFilter,\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = $tw.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback) {\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t \tbody = \"\";\n\t self.commander.write(\"Reading \" + url + \": \");\n\t response.on(\"data\",function(chunk) {\n\t body += chunk;\n\t self.commander.write(\".\");\n\t });\n\t response.on(\"end\",function() {\n\t self.commander.write(\"\\n\");\n\t if(response.statusCode === 200) {\n\t\t self.processBody(body,type,options);\n\t\t callback(null);\n\t } else {\n\t \tcallback(\"Error \" + response.statusCode + \" retrieving \" + url)\n\t }\n\t \t});\n\t \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options) {\n\t// Deserialise the HTML file and put the tiddlers in their own wiki\n\tvar self = this,\n\t\tincomingWiki = new $tw.Wiki(),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body,{});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter);\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/fetch.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/help.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/help.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/init.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/init.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/load.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar ext = path.extname(self.params[0]),\n\t\tstat = fs.statSync(self.params[0]),\n\t\ttiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count) {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/load.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/makelibrary.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.pluginsPath));\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.themesPath));\n\tcollectPlugins(path.resolve($tw.boot.corePath,$tw.config.languagesPath));\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/makelibrary.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/output.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/output.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/password.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/password.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savelibrarytiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler,null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{text: undefined, readme: readmeContent, icon: iconContent}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savelibrarytiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/server.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\thttp = require(\"http\");\n}\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\n/*\nA simple HTTP server with regexp-based routes\n*/\nfunction SimpleServer(options) {\n\tthis.routes = options.routes || [];\n\tthis.wiki = options.wiki;\n\tthis.variables = options.variables || {};\n}\n\nSimpleServer.prototype.set = function(obj) {\n\tvar self = this;\n\t$tw.utils.each(obj,function(value,name) {\n\t\tself.variables[name] = value;\n\t});\n};\n\nSimpleServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nSimpleServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nSimpleServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"pathprefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length);\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nSimpleServer.prototype.checkCredentials = function(request,incomingUsername,incomingPassword) {\n\tvar header = request.headers.authorization || \"\",\n\t\ttoken = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tusername = parts[0],\n\t\tpassword = parts[1];\n\tif(incomingUsername === username && incomingPassword === password) {\n\t\treturn \"ALLOWED\";\n\t} else {\n\t\treturn \"DENIED\";\n\t}\n};\n\nSimpleServer.prototype.requestHandler = function(request,response) {\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = self.wiki;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Check for the username and password if we've got one\n\tvar username = self.get(\"username\"),\n\t\tpassword = self.get(\"password\");\n\tif(username && password) {\n\t\t// Check they match\n\t\tif(self.checkCredentials(request,username,password) !== \"ALLOWED\") {\n\t\t\tvar servername = state.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\";\n\t\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + servername + '\"'\n\t\t\t});\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Set the encoding for the incoming request\n\t// TODO: Presumably this would need tweaking if we supported PUTting binary tiddlers\n\trequest.setEncoding(\"utf8\");\n\t// Dispatch the appropriate method\n\tswitch(request.method) {\n\t\tcase \"GET\": // Intentional fall-through\n\t\tcase \"DELETE\":\n\t\t\troute.handler(request,response,state);\n\t\t\tbreak;\n\t\tcase \"PUT\":\n\t\t\tvar data = \"\";\n\t\t\trequest.on(\"data\",function(chunk) {\n\t\t\t\tdata += chunk.toString();\n\t\t\t});\n\t\t\trequest.on(\"end\",function() {\n\t\t\t\tstate.data = data;\n\t\t\t\troute.handler(request,response,state);\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\t\nSimpleServer.prototype.listen = function(port,host) {\n\thttp.createServer(this.requestHandler.bind(this)).listen(port,host);\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n\t// Set up server\n\tthis.server = new SimpleServer({\n\t\twiki: this.commander.wiki\n\t});\n\t// Add route handlers\n\tthis.server.addRoute({\n\t\tmethod: \"PUT\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\tfields = JSON.parse(state.data);\n\t\t\t// Pull up any subfields in the `fields` object\n\t\t\tif(fields.fields) {\n\t\t\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\t\t\tfields[name] = field;\n\t\t\t\t});\n\t\t\t\tdelete fields.fields;\n\t\t\t}\n\t\t\t// Remove any revision field\n\t\t\tif(fields.revision) {\n\t\t\t\tdelete fields.revision;\n\t\t\t}\n\t\t\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\t\t\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\t\t\tresponse.writeHead(204, \"OK\",{\n\t\t\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"DELETE\",\n\t\tpath: /^\\/bags\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]);\n\t\t\tstate.wiki.deleteTiddler(title);\n\t\t\tresponse.writeHead(204, \"OK\", {\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": state.server.get(\"serveType\")});\n\t\t\tvar text = state.wiki.renderTiddler(state.server.get(\"renderType\"),state.server.get(\"rootTiddler\"));\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/status$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar text = JSON.stringify({\n\t\t\t\tusername: state.server.get(\"username\"),\n\t\t\t\tspace: {\n\t\t\t\t\trecipe: \"default\"\n\t\t\t\t},\n\t\t\t\ttiddlywiki_version: $tw.version\n\t\t\t});\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/favicon.ico$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\t\t\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\t\t\tresponse.end(buffer,\"base64\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers.json$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar tiddlers = [];\n\t\t\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\t\t\tvar tiddlerFields = {};\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tif(name !== \"text\") {\n\t\t\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\ttiddlers.push(tiddlerFields);\n\t\t\t});\n\t\t\tvar text = JSON.stringify(tiddlers);\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\ttiddler = state.wiki.getTiddler(title),\n\t\t\t\ttiddlerFields = {},\n\t\t\t\tknownFields = [\n\t\t\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t\t\t];\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\t\t\ttiddlerFields[name] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t\t\t} else {\n\t\t\t\tresponse.writeHead(404);\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t}\n\t});\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\tvar port = this.params[0] || \"8080\",\n\t\trootTiddler = this.params[1] || \"$:/core/save/all\",\n\t\trenderType = this.params[2] || \"text/plain\",\n\t\tserveType = this.params[3] || \"text/html\",\n\t\tusername = this.params[4],\n\t\tpassword = this.params[5],\n\t\thost = this.params[6] || \"127.0.0.1\",\n\t\tpathprefix = this.params[7];\n\tthis.server.set({\n\t\trootTiddler: rootTiddler,\n\t\trenderType: renderType,\n\t\tserveType: serveType,\n\t\tusername: username,\n\t\tpassword: password,\n\t\tpathprefix: pathprefix\n\t});\n\tthis.server.listen(port,host);\n\tconsole.log(\"Serving on \" + host + \":\" + port);\n\tconsole.log(\"(press ctrl-C to exit)\");\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/server.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/setfield.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/unpackplugin.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/unpackplugin.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/verbose.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/verbose.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/version.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/version.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/config.js": {
"text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
"title": "$:/core/modules/config.js",
"type": "application/javascript",
"module-type": "config"
},
"$:/core/modules/deserializers.js": {
"text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
"title": "$:/core/modules/deserializers.js",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/core/modules/editor/engines/framed.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
"title": "$:/core/modules/editor/engines/framed.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/engines/simple.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
"title": "$:/core/modules/editor/engines/simple.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/factory.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag);\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\t\t\t\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
"title": "$:/core/modules/editor/factory.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/operations/bitmap/clear.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/bitmap/clear.js",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/resize.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/bitmap/resize.js",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/text/excise.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/excise.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/make-link.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/make-link.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/prefix-lines.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,event.paramObject.count);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== event.paramObject.count) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/prefix-lines.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-all.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/replace-all.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-selection.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/replace-selection.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-lines.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/wrap-lines.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-selection.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix unless they comprise the entire text\n\t\t\tif(operation.selStart > event.paramObject.prefix.length || (operation.selEnd + event.paramObject.suffix.length) < operation.text.length ) {\n\t\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\t\toperation.replacement = \"\";\n\t\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t\t}\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/wrap-selection.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/filters/addprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/addsuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addsuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/after.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/after.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/all/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/current.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/missing.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/orphans.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/orphans.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/shadows.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/shadows.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tags.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/tags.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/tiddlers.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/all.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/backlinks.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/backlinks.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/before.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/before.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/commands.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/count.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n",
"title": "$:/core/modules/filters/count.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/days.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/days.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/each.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\t\tvalue,values = {},\n\t\tfield = operator.operand || \"title\";\n\tif(operator.suffix !== \"list-item\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvalue = (field === \"title\") ? title : tiddler.getFieldString(field);\n\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/each.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/eachday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/eachday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editiondescription.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/editiondescription.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/editions.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/decodeuricomponent.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(decodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(decodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/decodeuricomponent.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/enlist.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar list = $tw.utils.parseStringArray(operator.operand);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/enlist.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/field.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/field.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/fields.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/get.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/get.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getindex.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/getindex.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/has.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === \"\")) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/has.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/haschanged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/haschanged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/indexes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/indexes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/insertbefore.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/insertbefore.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/is/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/current.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/image.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/image.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/missing.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/orphan.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/orphan.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/shadow.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/shadow.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/system.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/system.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tag.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tiddler.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/is.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/limit.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/limit.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/links.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/links.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/list.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/list.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listed.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/listed.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\t\t\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
"title": "$:/core/modules/filters/listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/minlength.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/minlength.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/modules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/modules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/moduletypes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/moduletypes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/next.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/next.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/plugintiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/plugintiddlers.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/prefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/prefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/previous.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/previous.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/regexp.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/regexp.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removeprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removeprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removesuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removesuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sameday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sameday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/search.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffix) {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: operator.suffix\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/search.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/shadowsource.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/shadowsource.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sort.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sort.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/splitbefore.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/splitbefore.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/storyviews.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/storyviews.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/suffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/suffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [];\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !tiddler.hasTag(operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && tiddler.hasTag(operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tag.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tagging.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tagging.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tags.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
"title": "$:/core/modules/filters/tags.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/title.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/title.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/untagged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/untagged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/wikiparserrules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/wikiparserrules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/x-listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n /*jslint node: true, browser: true */\n /*global $tw: false */\n \"use strict\";\n\n /*\n Fetch titles from the current list\n */\n var prepare_results = function (source) {\n var results = [];\n source(function (tiddler, title) {\n results.push(title);\n });\n return results;\n };\n\n /*\n Moves a number of items from the tail of the current list before the item named in the operand\n */\n exports.putbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list after the item named in the operand\n */\n exports.putafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Replaces the item named in the operand with a number of items from the tail of the current list\n */\n exports.replace = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -count) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list to the head of the list\n */\n exports.putfirst = function (source, operator) {\n var results = prepare_results(source),\n count = parseInt(operator.suffix) || 1;\n return results.slice(-count).concat(results.slice(0, -count));\n };\n\n /*\n Moves a number of items from the head of the current list to the tail of the list\n */\n exports.putlast = function (source, operator) {\n var results = prepare_results(source),\n count = parseInt(operator.suffix) || 1;\n return results.slice(count).concat(results.slice(0, count));\n };\n\n /*\n Moves the item named in the operand a number of places forward or backward in the list\n */\n exports.move = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1,\n marker = results.splice(index, 1),\n offset = (index + count) > 0 ? index + count : 0;\n return results.slice(0, offset).concat(marker).concat(results.slice(offset));\n };\n\n /*\n Returns the items from the current list that are after the item named in the operand\n */\n exports.allafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1 || index > (results.length - 2)) ? [] :\n (operator.suffix) ? results.slice(index) :\n results.slice(index + 1);\n };\n\n /*\n Returns the items from the current list that are before the item named in the operand\n */\n exports.allbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index <= 0) ? [] :\n (operator.suffix) ? results.slice(0, index + 1) :\n results.slice(0, index);\n };\n\n /*\n Appends the items listed in the operand array to the tail of the current list\n */\n exports.append = function (source, operator) {\n var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || append.length;\n return (append.length === 0) ? results :\n (operator.prefix) ? results.concat(append.slice(-count)) :\n results.concat(append.slice(0, count));\n };\n\n /*\n Prepends the items listed in the operand array to the head of the current list\n */\n exports.prepend = function (source, operator) {\n var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || prepend.length;\n return (prepend.length === 0) ? results :\n (operator.prefix) ? prepend.slice(-count).concat(results) :\n prepend.slice(0, count).concat(results);\n };\n\n /*\n Returns all items from the current list except the items listed in the operand array\n */\n exports.remove = function (source, operator) {\n var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || array.length,\n p,\n len,\n index;\n len = array.length - 1;\n for (p = 0; p < count; ++p) {\n if (operator.prefix) {\n index = results.indexOf(array[len - p]);\n } else {\n index = results.indexOf(array[p]);\n }\n if (index !== -1) {\n results.splice(index, 1);\n }\n }\n return results;\n };\n\n /*\n Returns all items from the current list sorted in the order of the items in the operand array\n */\n exports.sortby = function (source, operator) {\n var results = prepare_results(source);\n if (!results || results.length < 2) {\n return results;\n }\n var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n results.sort(function (a, b) {\n return lookup.indexOf(a) - lookup.indexOf(b);\n });\n return results;\n };\n\n /*\n Removes all duplicate items from the current list\n */\n exports.unique = function (source, operator) {\n var results = prepare_results(source);\n var set = results.reduce(function (a, b) {\n if (a.indexOf(b) < 0) {\n a.push(b);\n }\n return a;\n }, []);\n return set;\n };\n})();\n",
"title": "$:/core/modules/filters/x-listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters.js": {
"text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter\",function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/filters.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/info/platform.js": {
"text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\t// Document location\n\tif($tw.browser) {\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n",
"title": "$:/core/modules/info/platform.js",
"type": "application/javascript",
"module-type": "info"
},
"$:/core/modules/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\tlookupName(\"shortcuts\");\n\t\t\t\tlookupName($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\");\n\t\t\t\tlookupName($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\t\t\t\tlookupName($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
"title": "$:/core/modules/keyboard.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/language.js": {
"text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
"title": "$:/core/modules/language.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/macros/changecount.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
"title": "$:/core/modules/macros/changecount.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/contrastcolour.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
"title": "$:/core/modules/macros/contrastcolour.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/csvtiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
"title": "$:/core/modules/macros/csvtiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/displayshortcuts.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/macros/displayshortcuts.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/dumpvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/dumpvariables.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to dump all active variable values\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"dumpvariables\";\n\nexports.params = [\n];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\tvar output = [\"|!Variable |!Value |\"],\n\t\tvariables = [], variable;\n\tfor(variable in this.variables) {\n\t\tvariables.push(variable);\n\t}\n\tvariables.sort();\n\tfor(var index=0; index<variables.length; index++) {\n\t\tvar variable = variables[index];\n\t\toutput.push(\"|\" + variable + \" |<input size=50 value=<<\" + variable + \">>/> |\")\n\t}\n\treturn output.join(\"\\n\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/dumpvariables.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"title": "$:/core/modules/macros/jsontiddler.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter) {\n\tvar tiddlers = this.wiki.filterTiddlers(filter),\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"title": "$:/core/modules/macros/jsontiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/makedatauri.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\treturn $tw.utils.makeDataUri(text,type);\n};\n\n})();\n",
"title": "$:/core/modules/macros/makedatauri.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/now.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/now.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/qualify.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
"title": "$:/core/modules/macros/qualify.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/resolvepath.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
"title": "$:/core/modules/macros/resolvepath.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/version.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
"title": "$:/core/modules/macros/version.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/parsers/audioparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/audioparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/csvparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/csvparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/htmlparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/htmlparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/imageparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/imageparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/utils/parseutils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/utils/parseutils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/parsers/pdfparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/pdfparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/textparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/textparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/videoparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/videoparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/dash.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/extlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: http://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/heading.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/html.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/html.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/image.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[http://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [http://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [http://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|http://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/image.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/list.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/list.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[http://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|http://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/rules.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/syslink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/table.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/table.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/wikiparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,nextMatch.matchIndex)});\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,terminatorMatch.index)});\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,inlineRuleMatch.matchIndex)});\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/pluginswitcher.js": {
"text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
"title": "$:/core/modules/pluginswitcher.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/saver-handler.js": {
"text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tthis.numChanges = 0;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\",\n\t\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
"title": "$:/core/modules/saver-handler.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/savers/andtidwiki.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text);\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/andtidwiki.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/beaker.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar url = (location.toString()).split(\"#\")[0];\n\tdat.stat(url).then(function(value) {\n\t\tif(value.type === \"directory\") {\n\t\t\turl = url + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(url,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\t\t\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.dat;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/beaker.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/download.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\tfilename = document.location.pathname.substr(p+1);\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/download.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/fsosaver.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/fsosaver.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/manualdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/manualdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/msdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/msdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/put.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err, data, xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\t// Retrieve ETag if available\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"HEAD\",\n\t\tcallback: function(err, data, xhr) {\n\t\t\tif(!err) {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t}\n\t\t}\n\t});\n};\n\nPutSaver.prototype.uri = function() {\n\treturn encodeURI(document.location.toString().split(\"#\")[0]);\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text, method, callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = { \"Content-Type\": \"text/html;charset=UTF-8\" };\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err, data, xhr) {\n\t\t\tif(err) {\n\t\t\t\tcallback(err);\n\t\t\t} if(xhr.status === 200 || xhr.status === 201) {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tcallback(null); // success\n\t\t\t} else if(xhr.status === 412) { // edit conflict\n\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\tcallback(message);\n\t\t\t} else {\n\t\t\t\tcallback(xhr.responseText); // fail\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/put.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyfox.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyfox.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyie.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyie.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/twedit.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
"title": "$:/core/modules/savers/twedit.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/upload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/upload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/browser-messaging.js": {
"text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\tconsole.log(\"browser-messaging: \",document.location.toString())\n\t\tconsole.log(\"browser-messaging: Received message from\",event.origin);\n\t\tconsole.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
"title": "$:/core/modules/browser-messaging.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
"title": "$:/core/modules/startup/commands.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/favicon.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/favicon.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/info.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin\n\tvar fields = {\n\t\ttitle: \"$:/temp/info-plugin\",\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
"title": "$:/core/modules/startup/info.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/load-modules.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
"title": "$:/core/modules/startup/load-modules.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/password.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/startup/password.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/render.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar DRAFT_TIDDLER_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t})();\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only drafts have changed\n\t\tvar onlyDraftsHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !tiddler.hasField(\"draft.of\")) {\n\t\t\t\tonlyDraftsHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyDraftsHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = DRAFT_TIDDLER_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
"title": "$:/core/modules/startup/render.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/rootwidget.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tif(document[fullscreen._fullscreenElement]) {\n\t\t\t\tdocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tdocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup/rootwidget.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup.js": {
"text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.appVersion);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-US\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget = new widget.widget({\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},{\n\t\t\twiki: $tw.wiki,\n\t\t\tdocument: document\n\t\t});\n\t}\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t} \n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki, dirtyTracking: !$tw.syncadaptor});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/story.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers();\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permalink\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permaview\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// If a target tiddler was specified add it to the history stack\n\tif(target && target !== \"\") {\n\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t}\n\t\t$tw.wiki.addToHistory(target);\n\t} else if(storyList.length > 0) {\n\t\t$tw.wiki.addToHistory(storyList[0]);\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\tif(options.updateAddressBar !== \"no\") {\n\t\t// Get the story and the history stack\n\t\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\t\ttargetTiddler = \"\";\n\t\tif(options.targetTiddler) {\n\t\t\ttargetTiddler = options.targetTiddler;\n\t\t} else {\n\t\t\t// The target tiddler is the one at the top of the stack\n\t\t\tif(historyList.length > 0) {\n\t\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t\t}\n\t\t\t// Blank the target tiddler if it isn't present in the story\n\t\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\t\ttargetTiddler = \"\";\n\t\t\t}\n\t\t}\n\t\t// Assemble the location hash\n\t\tif(options.updateAddressBar === \"permalink\") {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t} else {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t}\n\t\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\t\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\t\tif(options.updateHistory === \"yes\") {\n\t\t\t\t// Assign the location hash so that history is updated\n\t\t\t\twindow.location.hash = $tw.locationHash;\n\t\t\t} else {\n\t\t\t\t// We use replace so that browser history isn't affected\n\t\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t\t}\n\t\t}\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/story.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/windows.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = title;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
"title": "$:/core/modules/startup/windows.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/story.js": {
"text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
"title": "$:/core/modules/story.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/storyviews/classic.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar currWidth = targetElement.offsetWidth,\n\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Remove the dom nodes of the widget at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"translateX(0px)\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
"title": "$:/core/modules/storyviews/classic.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/pop.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
"title": "$:/core/modules/storyviews/pop.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/zoomin.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
"title": "$:/core/modules/storyviews/zoomin.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/syncer.js": {
"text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store. If a syncadaptor is used then individual tiddlers are synchronised through it. If there is no syncadaptor then the entire wiki is saved via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || this.throttleInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || this.pollTimerInterval;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"));\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks yet to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Browser event handlers\n\tif($tw.browser) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\tself.handleLazyLoadEvent(title);\n\t});\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.filterFn.call(this.wiki);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields.revision,\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title),\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t});\n};\n\n/*\nCreate an tiddlerInfo structure if it doesn't already exist\n*/\nSyncer.prototype.createTiddlerInfo = function(title) {\n\tif(!$tw.utils.hop(this.tiddlerInfo,title)) {\n\t\tthis.tiddlerInfo[title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1,\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t}\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\treturn (this.numTasksInQueue() > 0) || (this.numTasksInProgress() > 0);\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields,hasBeenLazyLoaded) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(this.wiki.getTiddler(tiddlerFields.title),tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title),\n\t\thasBeenLazyLoaded: hasBeenLazyLoaded !== undefined ? hasBeenLazyLoaded : true\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t} else {\n\t\t\t\tself.wiki.deleteTiddler(self.titleUserName);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger the next sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert($tw.language.getString(\"Error/RetrievingSkinny\") + \":\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields,false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = Date.now(),\n\t\tfilteredChanges = this.filterFn.call(this.wiki,function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Process the change if it is a deletion of a tiddler we're already syncing, or is on the filtered change list\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || filteredChanges.indexOf(title) !== -1) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Don't lazy load the same tiddler twice\n\tvar info = this.tiddlerInfo[title];\n\tif(!info || !info.hasBeenLazyLoaded) {\n\t\tthis.createTiddlerInfo(title);\n\t\tthis.tiddlerInfo[title].hasBeenLazyLoaded = true;\n\t\t// Queue up a sync task to load this tiddler\n\t\tthis.enqueueSyncTask({\n\t\t\ttype: \"load\",\n\t\t\ttitle: title\n\t\t});\t\t\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = Date.now();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tthis.createTiddlerInfo(task.title);\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\t// this.logger.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\t// this.logger.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t\tthis.updateDirtyStatus();\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.logger.alert(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = Date.now();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.logger.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t},{\n\t\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t\t});\n\t\t} else {\n\t\t\tthis.logger.log(\" Not Dispatching 'save' task:\",task.title,\"tiddler does not exist\");\n\t\t\treturn callback(null);\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.logger.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields,true);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.logger.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tdelete self.tiddlerInfo[task.title];\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
"title": "$:/core/modules/syncer.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = [];\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields.push(field + \": \" + this.getFieldString(field));\n\t\t\t}\n\t\t}\n\t}\n\treturn fields.join(\"\\n\");\n};\n\n/*\nCompare two tiddlers for equality\ntiddler: the tiddler to compare\nexcludeFields: array of field names to exclude from the comparison\n*/\nexports.isEqual = function(tiddler,excludeFields) {\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\treturn false;\n\t}\n\texcludeFields = excludeFields || [];\n\tvar self = this,\n\t\tdifferences = []; // Fields that have differences\n\t// Add to the differences array\n\tfunction addDifference(fieldName) {\n\t\t// Check for this field being excluded\n\t\tif(excludeFields.indexOf(fieldName) === -1) {\n\t\t\t// Save the field as a difference\n\t\t\t$tw.utils.pushTop(differences,fieldName);\n\t\t}\n\t}\n\t// Returns true if the two values of this field are equal\n\tfunction isFieldValueEqual(fieldName) {\n\t\tvar valueA = self.fields[fieldName],\n\t\t\tvalueB = tiddler.fields[fieldName];\n\t\t// Check for identical string values\n\t\tif(typeof(valueA) === \"string\" && typeof(valueB) === \"string\" && valueA === valueB) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical array values\n\t\tif($tw.utils.isArray(valueA) && $tw.utils.isArray(valueB) && $tw.utils.isArrayEqual(valueA,valueB)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise the fields must be different\n\t\treturn false;\n\t}\n\t// Compare our fields\n\tfor(var fieldName in this.fields) {\n\t\tif(!isFieldValueEqual(fieldName)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// There's a difference for every field in the other tiddler that we don't have\n\tfor(fieldName in tiddler.fields) {\n\t\tif(!(fieldName in this.fields)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// Return whether there were any differences\n\treturn differences.length === 0;\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n",
"title": "$:/core/modules/tiddler.js",
"type": "application/javascript",
"module-type": "tiddlermethod"
},
"$:/core/modules/upgraders/plugins.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"] && incomingTiddler.version) {\n\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/plugins.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/system.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/system.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/themetweaks.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/themetweaks.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/utils/crypto.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/crypto.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/animations/slide.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/animations/slide.js",
"type": "application/javascript",
"module-type": "animation"
},
"$:/core/modules/utils/dom/animator.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
"title": "$:/core/modules/utils/dom/animator.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/browser.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/browser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/csscolorparser.js": {
"text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
"title": "$:/core/modules/utils/dom/csscolorparser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function() {\n\tif(\"scrollX\" in window) {\n\t\treturn {x: window.scrollX, y: window.scrollY};\n\t} else {\n\t\treturn {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight;\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\ttry {\n\t\tif(window.localStorage) {\n\t\t\tlocalStorage.setItem(\"tw5-password-\" + name,password);\n\t\t}\n\t} catch(e) {\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\ttry {\n\t\treturn window.localStorage ? localStorage.getItem(\"tw5-password-\" + name) : \"\";\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/dragndrop.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [];\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/dragndrop.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/http.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e);\n\t}\n\treturn request;\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/http.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
"title": "$:/core/modules/utils/dom/keyboard.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/modal.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = document.createElement(\"div\"),\n\t\tmodalBackdrop = document.createElement(\"div\"),\n\t\tmodalWrapper = document.createElement(\"div\"),\n\t\tmodalHeader = document.createElement(\"div\"),\n\t\theaderTitle = document.createElement(\"h3\"),\n\t\tmodalBody = document.createElement(\"div\"),\n\t\tmodalLink = document.createElement(\"a\"),\n\t\tmodalFooter = document.createElement(\"div\"),\n\t\tmodalFooterHelp = document.createElement(\"span\"),\n\t\tmodalFooterButtons = document.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(document.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(document.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + window.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\twindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tdocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tif($tw.pageContainer) {\n\t\t$tw.utils.toggleClass($tw.pageContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
"title": "$:/core/modules/utils/dom/modal.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/notifier.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
"title": "$:/core/modules/utils/dom/notifier.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/popup.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\t// Store the popup details if not already there\n\tif(this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode\n\t\t});\n\t}\n\t// Set the state tiddler\n\toptions.wiki.setTextReference(options.title,\n\t\t\t\"(\" + options.domNode.offsetLeft + \",\" + options.domNode.offsetTop + \",\" + \n\t\t\t\toptions.domNode.offsetWidth + \",\" + options.domNode.offsetHeight + \")\");\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
"title": "$:/core/modules/utils/dom/popup.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/scroller.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\t// Now get ready to scroll the body\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = $tw.utils.getScrollPosition();\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar clientBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\ttop: clientBounds.top + scrollPosition.y,\n\t\t\twidth: clientBounds.width,\n\t\t\theight: clientBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t// targetPos/targetSize - position and size of the target element\n\t// currentPos/currentSize - position and size of the current scroll viewport\n\t// returns: new position of the scroll viewport\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to it's top/left\n\t\t\tif(targetPos <= currentPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\tnewPos = targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\tnewPos = currentPos;\n\t\t\t}\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,window.innerWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,window.innerHeight);\n\t// Only scroll if the position has changed\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\twindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
"title": "$:/core/modules/utils/dom/scroller.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/edition-info.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
"title": "$:/core/modules/utils/edition-info.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/fakedom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis.style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this.style) {\n\t\t\t\tstyle.push(s + \":\" + this.style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\")\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\tconsole.log(booboo)\n\t\t\t\tthrow \"Cannot get textContent on a raw TW_Element\";\t\t\t\t\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get formattedTextContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
"title": "$:/core/modules/utils/fakedom.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/filesystem.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = new Buffer(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/utils/filesystem.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/logger.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName) {\n\tthis.componentName = componentName || \"\";\n}\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tif(console !== undefined && console.log !== undefined) {\n\t\treturn Function.apply.call(console.log, console, [this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)));\n\t}\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\t// Prepare the text of the alert\n\tvar text = Array.prototype.join.call(arguments,\" \");\n\t// Create alert tiddlers in the browser\n\tif($tw.browser) {\n\t\t// Check if there is an existing alert with the same text and the same component\n\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\talertFields,\n\t\t\texistingCount,\n\t\t\tself = this;\n\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t}\n\t\t});\n\t\tif(alertFields) {\n\t\t\texistingCount = alertFields.count || 1;\n\t\t} else {\n\t\t\talertFields = {\n\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\ttext: text,\n\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\tcomponent: this.componentName\n\t\t\t};\n\t\t\texistingCount = 0;\n\t\t}\n\t\talertFields.modified = new Date();\n\t\tif(++existingCount > 1) {\n\t\t\talertFields.count = existingCount;\n\t\t} else {\n\t\t\talertFields.count = undefined;\n\t\t}\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t// Log the alert as well\n\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t} else {\n\t\t// Print an orange message to the console if not in the browser\n\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
"title": "$:/core/modules/utils/logger.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/parsetree.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
"title": "$:/core/modules/utils/parsetree.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/performance.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap of current values of measurements\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n}\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tself.measures = {};\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\tfor(var m in self.measures) {\n\t\t\t\tself.logger.log(\"+\" + m + \": \" + self.measures[m].toFixed(2) + \"ms\");\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments),\n\t\t\t\tvalue = self.measures[name] || 0;\n\t\t\tself.measures[name] = value + $tw.utils.timer(startTime);\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
"title": "$:/core/modules/utils/performance.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/pluginmaker.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
"title": "$:/core/modules/utils/pluginmaker.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/utils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\tconsole.log($tw.node ? \"\\x1b[1;33m\" + text + \"\\x1b[0m\" : text);\n};\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nCheck if an array is equal by value and by reference.\n*/\nexports.isArrayEqual = function(array1,array2) {\n\tif(array1 === array2) {\n\t\treturn true;\n\t}\n\tarray1 = array1 || [];\n\tarray2 = array2 || [];\n\tif(array1.length !== array2.length) {\n\t\treturn false;\n\t}\n\treturn array1.every(function(value,index) {\n\t\treturn value === array2[index];\n\t});\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify (assumed to be free of duplicates)\n\tvalue: a single value to push or an array of values to push\n*/\nexports.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tif(value.length !== 0) {\n\t\t\tif(array.length !== 0) {\n\t\t\t\tif(value.length < array.length) {\n\t\t\t\t\tfor(t=0; t<value.length; t++) {\n\t\t\t\t\t\tp = array.indexOf(value[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(p,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor(t=array.length-1; t>=0; t--) {\n\t\t\t\t\t\tp = value.indexOf(array[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(t,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Push the values on top of the main array\n\t\t\tarray.push.apply(array,value);\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n\treturn array;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2); // Strip the & and the ;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\treturn converter(parseInt(e.substr(2),16));\t\n\t\t} else {\n\t\t\treturn converter(parseInt(e.substr(1),10));\n\t\t}\n\t} else {\n\t\tvar c = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/[\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10);\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\tif($tw.browser) {\n\t\t// TODO\n\t\tthrow \"$tw.utils.base64Decode() doesn't work in the browser\";\n\t} else {\n\t\treturn (new Buffer(string64,\"base64\")).toString();\n\t}\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\t\t\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nTransliterate string from eg. Cyrillic Russian to Latin\n*/\nvar transliterationPairs = {\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.split(\"\").map(function(char) {\n\t\treturn transliterationPairs[char] || char;\n\t}).join(\"\");\n};\n\n})();\n",
"title": "$:/core/modules/utils/utils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/widgets/action-createtiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.generateNewTitle(this.actionBaseTitle),\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-createtiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletefield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletefield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletetiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-listops.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-listops.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-navigate.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-navigate.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-sendmessage.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-sendmessage.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-setfield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/browse.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {\n\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/browse.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/button.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = this.popup && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif(this.set && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(this,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\t$tw.popup.triggerPopup({\n\t\tdomNode: this.domNodes[0],\n\t\ttitle: this.popup,\n\t\twiki: this.wiki\n\t});\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/button.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/checkbox.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();",
"title": "$:/core/modules/widgets/checkbox.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/codeblock.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/count.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/count.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/draggable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedTiddlers.tag || changedTiddlers[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/draggable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/droppable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tvar domNode = this.document.createElement(tag),\n\t\tclasses = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tdomNode.className = classes.join(\" \");\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t]);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableClass = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/droppable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/dropzone.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),function(fieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(fieldsArray)});\n\t\t});\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/dropzone.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-binary.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Construct the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-binary.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-bitmap.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370;\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tif(tiddler) {\n\t\t// data URIs look like \"data:<type>;base64,<text>\"\n\t\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\t\tposColon = dataURL.indexOf(\":\"),\n\t\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\t\tposComma = dataURL.indexOf(\",\"),\n\t\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\t\ttext = dataURL.substring(posComma+1);\n\t\tvar update = {type: type, text: text};\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n\t}\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-bitmap.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-shortcut.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-shortcut.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
"title": "$:/core/modules/widgets/edit-text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/element.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/element.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/encrypt.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/encrypt.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/entity.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fieldmangler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler({title: this.mangleTitle, tags: tag});\t\t\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fieldmangler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row);\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fields.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/image.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/image.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/importvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar self = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\tvar widgetStackStart,widgetStackEnd;\n\tfunction addWidgetNode(widgetNode) {\n\t\tif(widgetNode) {\n\t\t\tif(!widgetStackStart && !widgetStackEnd) {\n\t\t\t\twidgetStackStart = widgetNode;\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t} else {\n\t\t\t\twidgetStackEnd.children = [widgetNode];\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = self.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\taddWidgetNode({\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params\n\t\t\t\t});\n\t\t\t\tparseTreeNode = parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\t// Add our own children to the end of the pile\n\tvar parseTreeNodes;\n\tif(widgetStackStart && widgetStackEnd) {\n\t\tparseTreeNodes = [widgetStackStart];\n\t\twidgetStackEnd.children = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/importvariables.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.key = this.getAttribute(\"key\");\n\tthis.tag = this.getAttribute(\"tag\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/keyboard.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/link.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar MISSING_LINK_CONFIG_TITLE = \"$:/config/MissingLinks\";\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.linkClasses) {\n\t\tclasses.push(this.linkClasses);\n\t}\n\tclasses.push(\"tc-tiddlylink\");\n\tif(this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t}\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = ($tw.wiki.getTiddlerText(MISSING_LINK_CONFIG_TITLE,\"yes\") === \"no\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip || changedTiddlers[MISSING_LINK_CONFIG_TITLE]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/link.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/linkcatcher.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(this.catchTo) {\n\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.catchMessage && this.parentWidget) {\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: this.catchMessage,\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\tif(this.catchSet) {\n\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t}\n\tif(this.catchActions) {\n\t\tthis.invokeActionString(this.catchActions,this);\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/linkcatcher.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/list.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
"title": "$:/core/modules/widgets/list.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/macrocall.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar text = this.getVariable(this.parseTreeNode.name || this.getAttribute(\"$name\"),{params: params}),\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/macrocall.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/navigator.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tvar storyList = this.getStoryList();\n\t// Quit if we cannot get hold of the story list\n\tif(!storyList) {\n\t\treturn;\n\t}\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(title);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(fromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(this.getAttribute(\"openLinkFromInsideRiver\",\"below\")) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,title);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle;\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\tc++;\n\t} while(this.wiki.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\texistingTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\t\t\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\t\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n// \nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\t$tw.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/navigator.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/password.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/password.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/radio.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.radioClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(this.getValue() == this.radioValue) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tif(this.radioClass !== \"\") {\n\t\tthis.radioClass += \" \";\n\t}\n\tthis.radioClass += \"tc-radio\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/radio.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/raw.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/raw.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/reveal.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tdomNode.style.left = (this.popup.left - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTitle = this.state;\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state = this.stateTitle ? this.wiki.getTextReference(this.stateTitle,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.readMatchState(state);\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.readMatchState(state);\n\t\t\tthis.isOpen = !this.isOpen;\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.readMatchState = function(state) {\n\tthis.isOpen = state === this.text;\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes[\"default\"] || changedAttributes.animate) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false,\n\t\t\tcurrentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\trefreshed = true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n }});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/reveal.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/scrollable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/scrollable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/select.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tif(values.indexOf(select.children[i].value) != -1) {\n\t\t\t\tselect.children[i].selected = true;\n\t\t\t}\n\t\t}\n\t\t\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/select.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/set.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(!this.setValue) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select ||changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/set.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/tiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/transclude.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/transclude.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/vars.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/vars.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/view.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified();\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function() {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function() {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function() {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/view.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/widget.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tif(arguments.length > 0) {\n\t\tthis.initialise(parseTreeNode,options);\n\t}\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\n*/\nWidget.prototype.setVariable = function(name,value,params) {\n\tthis.variables[name] = {value: value, params: params};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n*/\nWidget.prototype.getVariable = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value;\n\t\t// Substitute any parameters specified in the definition\n\t\tvalue = this.substituteVariableParameters(value,variable.params,actualParams);\n\t\tvalue = this.substituteVariableReferences(value);\n\t\treturn value;\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn this.evaluateMacroModule(name,actualParams,options.defaultValue);\n};\n\nWidget.prototype.substituteVariableParameters = function(text,formalParams,actualParams) {\n\tif(formalParams) {\n\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\tparamInfo, paramValue;\n\t\t// Step through each of the parameters in the macro definition\n\t\tfor(var p=0; p<formalParams.length; p++) {\n\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\tparamInfo = formalParams[p];\n\t\t\tparamValue = undefined;\n\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\tnextAnonParameter++;\n\t\t\t}\n\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t}\n\t\t\t// If we've still not got a value, use the default, if any\n\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t// Replace any instances of this parameter\n\t\t\ttext = $tw.utils.replaceString(text,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(paramInfo.name) + \"\\\\$\",\"mg\"),paramValue);\n\t\t}\n\t}\n\treturn text;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.render(parent,nextSibling);\n\t});\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar self = this,\n\t\trefreshed = false;\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\trefreshed = childWidget.refresh(changedTiddlers) || refreshed;\n\t});\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
"title": "$:/core/modules/widgets/widget.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/wikify.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/wikify.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/wiki-bulkops.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = (tiddler.fields.tags || []).slice(0),\n\t\t\t\t\tlist = (tiddler.fields.list || []).slice(0),\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n",
"title": "$:/core/modules/wiki-bulkops.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/wiki.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x : x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\tvar self = this;\n\treturn this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\tvar tagmap = self.getTagMap();\n\t\treturn self.sortByList(tagmap[tag],tag);\n\t});\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tvar currPos = titles.indexOf(title),\n\t\t\t\tnewPos = -1,\n\t\t\t\ttiddler = this.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(newPos === -1) {\n\t\t\t\t\tnewPos = currPos;\n\t\t\t\t}\n\t\t\t\tif(newPos !== currPos) {\n\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t}\n\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type || \"text/vnd.tiddlywiki\",tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title}},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tliteral: If true, searches for literal string, rather than separate search terms\n\tfield: If specified, restricts the search to the specified field\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tmatch;\n\t\tfor(var t=0; t<searchTermsRegExps.length; t++) {\n\t\t\tmatch = false;\n\t\t\tif(options.field) {\n\t\t\t\tmatch = searchTermsRegExps[t].test(tiddler.getFieldString(options.field));\n\t\t\t} else {\n\t\t\t\t// Search title, tags and body\n\t\t\t\tif(contentTypeInfo.encoding === \"utf8\") {\n\t\t\t\t\tmatch = match || searchTermsRegExps[t].test(tiddler.fields.text);\n\t\t\t\t}\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.join(\"\\0\") : \"\";\n\t\t\t\tmatch = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);\n\t\t\t}\n\t\t\tif(!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,callback) {\n\tvar result = [],\n\t\toutstanding = files.length;\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t});\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,callback) {\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n})();\n\n",
"title": "$:/core/modules/wiki.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/palettes/Blanca": {
"title": "$:/palettes/Blanca",
"name": "Blanca",
"description": "A clean white palette to let you focus",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Blue": {
"title": "$:/palettes/Blue",
"name": "Blue",
"description": "A blue theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Muted": {
"title": "$:/palettes/Muted",
"name": "Muted",
"description": "Bright tiddlers on a muted background",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastLight": {
"title": "$:/palettes/ContrastLight",
"name": "Contrast (Light)",
"description": "High contrast and unambiguous (light version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastDark": {
"title": "$:/palettes/ContrastDark",
"name": "Contrast (Dark)",
"description": "High contrast and unambiguous (dark version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/DarkPhotos": {
"created": "20150402111612188",
"description": "Good with dark photo backgrounds",
"modified": "20150402112344080",
"name": "DarkPhotos",
"tags": "$:/tags/Palette",
"title": "$:/palettes/DarkPhotos",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Rocker": {
"title": "$:/palettes/Rocker",
"name": "Rocker",
"description": "A dark theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarFlare": {
"title": "$:/palettes/SolarFlare",
"name": "Solar Flare",
"description": "Warm, relaxing earth colours",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Vanilla": {
"title": "$:/palettes/Vanilla",
"name": "Vanilla",
"description": "Pale and unobtrusive",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/core/readme": {
"title": "$:/core/readme",
"text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
},
"$:/library/sjcl.js/license": {
"title": "$:/library/sjcl.js/license",
"type": "text/plain",
"text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
},
"$:/core/templates/MOTW.html": {
"title": "$:/core/templates/MOTW.html",
"text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)http://tiddlywiki.com --> "
},
"$:/core/templates/alltiddlers.template.html": {
"title": "$:/core/templates/alltiddlers.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
},
"$:/core/templates/canonical-uri-external-image": {
"title": "$:/core/templates/canonical-uri-external-image",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-text": {
"title": "$:/core/templates/canonical-uri-external-text",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
},
"$:/core/templates/css-tiddler": {
"title": "$:/core/templates/css-tiddler",
"text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
},
"$:/core/templates/exporters/CsvFile": {
"title": "$:/core/templates/exporters/CsvFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/CsvFile}}",
"extension": ".csv",
"text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/JsonFile": {
"title": "$:/core/templates/exporters/JsonFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/JsonFile}}",
"extension": ".json",
"text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/StaticRiver": {
"title": "$:/core/templates/exporters/StaticRiver",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/StaticRiver}}",
"extension": ".html",
"text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
},
"$:/core/templates/exporters/StaticRiver/Content": {
"title": "$:/core/templates/exporters/StaticRiver/Content",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<<renderContent>>\n</$importvariables>\n"
},
"$:/core/templates/exporters/TidFile": {
"title": "$:/core/templates/exporters/TidFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/TidFile}}",
"extension": ".tid",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\"><<renderContent>></$importvariables>"
},
"$:/core/templates/html-div-tiddler": {
"title": "$:/core/templates/html-div-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
},
"$:/core/templates/html-tiddler": {
"title": "$:/core/templates/html-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
},
"$:/core/templates/javascript-tiddler": {
"title": "$:/core/templates/javascript-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
},
"$:/core/templates/json-tiddler": {
"title": "$:/core/templates/json-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
},
"$:/core/templates/module-tiddler": {
"title": "$:/core/templates/module-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
},
"$:/core/templates/plain-text-tiddler": {
"title": "$:/core/templates/plain-text-tiddler",
"text": "<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/raw-static-tiddler": {
"title": "$:/core/templates/raw-static-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
},
"$:/core/save/all": {
"title": "$:/core/save/all",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/empty": {
"title": "$:/core/save/empty",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-all": {
"title": "$:/core/save/lazy-all",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-images": {
"title": "$:/core/save/lazy-images",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/templates/single.tiddler.window": {
"title": "$:/core/templates/single.tiddler.window",
"text": "<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"tempCurrentTiddler\" value=<<currentTiddler>>>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=<<tempCurrentTiddler>>>\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</$importvariables>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n"
},
"$:/core/templates/split-recipe": {
"title": "$:/core/templates/split-recipe",
"text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
},
"$:/core/templates/static-tiddler": {
"title": "$:/core/templates/static-tiddler",
"text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
},
"$:/core/templates/static.area": {
"title": "$:/core/templates/static.area",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
},
"$:/core/templates/static.content": {
"title": "$:/core/templates/static.content",
"type": "text/vnd.tiddlywiki",
"text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|http://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
},
"$:/core/templates/static.template.css": {
"title": "$:/core/templates/static.template.css",
"text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
},
"$:/core/templates/static.template.html": {
"title": "$:/core/templates/static.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
},
"$:/core/templates/static.tiddler.html": {
"title": "$:/core/templates/static.tiddler.html",
"text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>\n</$importvariables>`\n</section>\n</body>\n</html>\n`"
},
"$:/core/templates/store.area.template.html": {
"title": "$:/core/templates/store.area.template.html",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
},
"$:/core/templates/tid-tiddler": {
"title": "$:/core/templates/tid-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/tiddler-metadata": {
"title": "$:/core/templates/tiddler-metadata",
"text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
},
"$:/core/templates/tiddlywiki5.html": {
"title": "$:/core/templates/tiddlywiki5.html",
"text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\">\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}\n</div>\n</body>\n</html>\n"
},
"$:/core/templates/version": {
"title": "$:/core/templates/version",
"text": "<<version>>"
},
"$:/core/templates/wikified-tiddler": {
"title": "$:/core/templates/wikified-tiddler",
"text": "<$transclude />"
},
"$:/core/ui/AboveStory/tw2-plugin-check": {
"title": "$:/core/ui/AboveStory/tw2-plugin-check",
"tags": "$:/tags/AboveStory",
"text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/AdvancedSearch/Filter": {
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Filter/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Shadows/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Standard": {
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Standard/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/System": {
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/System/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/AdvancedSearch": {
"title": "$:/AdvancedSearch",
"icon": "$:/core/images/advanced-search-button",
"color": "#bbb",
"text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
},
"$:/core/ui/AlertTemplate": {
"title": "$:/core/ui/AlertTemplate",
"text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/delete-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DD MM YYYY\"/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
},
"$:/core/ui/BinaryWarning": {
"title": "$:/core/ui/BinaryWarning",
"text": "\\define lingo-base() $:/language/BinaryWarning/\n<div class=\"tc-binary-warning\">\n\n<<lingo Prompt>>\n\n</div>\n"
},
"$:/core/ui/Components/plugin-info": {
"title": "$:/core/ui/Components/plugin-info",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1>\n''<$view field=\"description\"><$view field=\"title\"/></$view>'' $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$reveal type=\"nomatch\" text=\"\" state=\"!!list\">\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default=\"readme\" template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=\"!!list\">\n<<lingo NoInformation/Hint>>\n</$reveal>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
},
"$:/core/ui/Components/tag-link": {
"title": "$:/core/ui/Components/tag-link",
"text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
},
"$:/core/ui/ControlPanel/Advanced": {
"title": "$:/core/ui/ControlPanel/Advanced",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
"text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Appearance": {
"title": "$:/core/ui/ControlPanel/Appearance",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
"text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Basics": {
"title": "$:/core/ui/ControlPanel/Basics",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Basics/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Tags\" default=\"\" tag=\"input\"/> |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
},
"$:/core/ui/ControlPanel/EditorTypes": {
"title": "$:/core/ui/ControlPanel/EditorTypes",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/Info": {
"title": "$:/core/ui/ControlPanel/Info",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Info/Caption}}",
"text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/KeyboardShortcuts": {
"title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip=<<lingo Remove/Hint>>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n×\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[all[tiddlers+shadows][$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>prefix[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/LoadedModules": {
"title": "$:/core/ui/ControlPanel/LoadedModules",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
},
"$:/core/ui/ControlPanel/Modals/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
"subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
"text": "\\define install-plugin-button()\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\"\"\">\n{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\n</$list>\n</$button>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1><$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<<install-plugin-button>>\n</div>\n</div>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\"\"\">\n<em>\n{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}\n</em>\n</$list>\n</div>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[description]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<div class=\"tc-plugin-library\">\n\n!! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n//<$view field=\"url\"/>//\n\n<$transclude/>\n\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n\n<<display-server-connection>>\n</div>\n</$list>\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<div>\n<<plugin-library-listing>>\n</div>\n\n</$importvariables>\n"
},
"$:/core/ui/ControlPanel/Palette": {
"title": "$:/core/ui/ControlPanel/Palette",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Palette/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/snippets/paletteeditor}}\n\n</$reveal>\n\n"
},
"$:/core/ui/ControlPanel/Parsing": {
"title": "$:/core/ui/ControlPanel/Parsing",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
},
"$:/core/ui/ControlPanel/Plugins/Add/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
"text": "<<display-server-assets language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
"text": "<<display-server-assets plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
"text": "<<display-server-assets theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green\" style=\"background:blue;\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
"text": "<<plugin-table language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
"text": "<<plugin-table plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
"text": "<<plugin-table theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
},
"$:/core/ui/ControlPanel/Saving/DownloadSaver": {
"title": "$:/core/ui/ControlPanel/Saving/DownloadSaver",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Saving/General": {
"title": "$:/core/ui/ControlPanel/Saving/General",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/General/Caption}}",
"list-before": "",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Saving/TiddlySpot": {
"title": "$:/core/ui/ControlPanel/Saving/TiddlySpot",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<backupLink>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
},
"$:/core/ui/ControlPanel/Saving": {
"title": "$:/core/ui/ControlPanel/Saving",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Saving/Caption}}",
"text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Saving/General\">>\n</div>\n"
},
"$:/core/buttonstyles/Borderless": {
"title": "$:/core/buttonstyles/Borderless",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
"text": "tc-btn-invisible"
},
"$:/core/buttonstyles/Boxed": {
"title": "$:/core/buttonstyles/Boxed",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
"text": "tc-btn-boxed"
},
"$:/core/buttonstyles/Rounded": {
"title": "$:/core/buttonstyles/Rounded",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
"text": "tc-btn-rounded"
},
"$:/core/ui/ControlPanel/Settings/CamelCase": {
"title": "$:/core/ui/ControlPanel/Settings/CamelCase",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
"caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/InfoPanelMode": {
"title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
"title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/MissingLinks": {
"title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationHistory": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
"title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/TitleLinks": {
"title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/StoryView": {
"title": "$:/core/ui/ControlPanel/StoryView",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
"text": "{{$:/snippets/viewswitcher}}\n"
},
"$:/core/ui/ControlPanel/Theme": {
"title": "$:/core/ui/ControlPanel/Theme",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Theme/Caption}}",
"text": "{{$:/snippets/themeswitcher}}\n"
},
"$:/core/ui/ControlPanel/TiddlerFields": {
"title": "$:/core/ui/ControlPanel/TiddlerFields",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
},
"$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
},
"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/PageControls": {
"title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars": {
"title": "$:/core/ui/ControlPanel/Toolbars",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
"text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
},
"$:/ControlPanel": {
"title": "$:/ControlPanel",
"icon": "$:/core/images/options-button",
"color": "#bbb",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
},
"$:/core/ui/DefaultSearchResultList": {
"title": "$:/core/ui/DefaultSearchResultList",
"tags": "$:/tags/SearchResults",
"caption": "{{$:/language/Search/DefaultResults/Caption}}",
"text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
},
"$:/core/ui/EditTemplate/body/preview/output": {
"title": "$:/core/ui/EditTemplate/body/preview/output",
"tags": "$:/tags/EditPreview",
"caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
"text": "<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
},
"$:/core/ui/EditTemplate/body/editor": {
"title": "$:/core/ui/EditTemplate/body/editor",
"text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
},
"$:/core/ui/EditTemplate/body/toolbar/button": {
"title": "$:/core/ui/EditTemplate/body/toolbar/button",
"text": "\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[is[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[is[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/controls": {
"title": "$:/core/ui/EditTemplate/controls",
"tags": "$:/tags/EditTemplate",
"text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field-inner()\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\" $name=<<name>> $value=<<value>>/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n\\end\n\n\\define new-field()\n<$set name=\"name\" value={{$:/temp/newfieldname}}>\n<$set name=\"value\" value={{$:/temp/newfieldvalue}}>\n<<new-field-inner>>\n</$set>\n</$set>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"
},
"$:/core/ui/EditTemplate/shadow": {
"title": "$:/core/ui/EditTemplate/shadow",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
},
"$:/core/ui/EditTemplate/tags": {
"title": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">×</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n\\end\n\n\\define tag-picker-actions()\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n</$list>\n</$fieldmangler>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</div>\n"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\"/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[is[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n\n\n"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\"/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>"
},
"$:/core/ui/EditTemplate": {
"title": "$:/core/ui/EditTemplate",
"text": "\\define actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<div class=<<frame-classes>>>\n<$fieldmangler>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</$fieldmangler>\n</div>\n"
},
"$:/core/ui/Buttons/cancel": {
"title": "$:/core/ui/Buttons/cancel",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
"description": "{{$:/language/Buttons/Cancel/Hint}}",
"text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/delete": {
"title": "$:/core/ui/Buttons/delete",
"tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
"caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
"description": "{{$:/language/Buttons/Delete/Hint}}",
"text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save": {
"title": "$:/core/ui/Buttons/save",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
"description": "{{$:/language/Buttons/Save/Hint}}",
"text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button>\n</$fieldmangler>\n"
},
"$:/core/ui/EditorToolbar/bold": {
"title": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}}",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
},
"$:/core/ui/EditorToolbar/clear-dropdown": {
"title": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
},
"$:/core/ui/EditorToolbar/clear": {
"title": "$:/core/ui/EditorToolbar/clear",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/erase",
"caption": "{{$:/language/Buttons/Clear/Caption}}",
"description": "{{$:/language/Buttons/Clear/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/editor-height-dropdown": {
"title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
},
"$:/core/ui/EditorToolbar/editor-height": {
"title": "$:/core/ui/EditorToolbar/editor-height",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/fixed-height",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
"description": "{{$:/language/Buttons/EditorHeight/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/excise-dropdown": {
"title": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
},
"$:/core/ui/EditorToolbar/excise": {
"title": "$:/core/ui/EditorToolbar/excise",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/excise",
"caption": "{{$:/language/Buttons/Excise/Caption}}",
"description": "{{$:/language/Buttons/Excise/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"shortcuts": "((excise))",
"dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/heading-1": {
"title": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}}",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-2": {
"title": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}}",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-3": {
"title": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}}",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}}",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}}",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}}",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
},
"$:/core/ui/EditorToolbar/italic": {
"title": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}}",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
},
"$:/core/ui/EditorToolbar/line-width-dropdown": {
"title": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/line-width": {
"title": "$:/core/ui/EditorToolbar/line-width",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/line-width",
"caption": "{{$:/language/Buttons/LineWidth/Caption}}",
"description": "{{$:/language/Buttons/LineWidth/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
},
"$:/core/ui/EditorToolbar/link-dropdown": {
"title": "$:/core/ui/EditorToolbar/link-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define link-actions()\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"make-link\"\n\ttext={{$(linkTiddler)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<searchTiddler>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<linkTiddler>>\n/>\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(searchTiddler)$}}\n/>\n{{$:/core/images/chevron-right}}\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<searchTiddler>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<linkTiddler>>\n/>\n</$button>\n\\end\n\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
},
"$:/core/ui/EditorToolbar/link": {
"title": "$:/core/ui/EditorToolbar/link",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/link",
"caption": "{{$:/language/Buttons/Link/Caption}}",
"description": "{{$:/language/Buttons/Link/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((link))",
"dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/list-bullet": {
"title": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}}",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-number": {
"title": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}}",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-block": {
"title": "$:/core/ui/EditorToolbar/mono-block",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-block",
"caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
"description": "{{$:/language/Buttons/MonoBlock/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((mono-block))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-line": {
"title": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}}",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/core/ui/EditorToolbar/more-dropdown": {
"title": "$:/core/ui/EditorToolbar/more-dropdown",
"text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
},
"$:/core/ui/EditorToolbar/more": {
"title": "$:/core/ui/EditorToolbar/more",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/down-arrow",
"caption": "{{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"condition": "[<targetTiddler>]",
"dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/opacity-dropdown": {
"title": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/EditorToolbar/opacity": {
"title": "$:/core/ui/EditorToolbar/opacity",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/opacity",
"caption": "{{$:/language/Buttons/Opacity/Caption}}",
"description": "{{$:/language/Buttons/Opacity/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
},
"$:/core/ui/EditorToolbar/paint-dropdown": {
"title": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/paint": {
"title": "$:/core/ui/EditorToolbar/paint",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/paint",
"caption": "{{$:/language/Buttons/Paint/Caption}}",
"description": "{{$:/language/Buttons/Paint/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
},
"$:/core/ui/EditorToolbar/picture-dropdown": {
"title": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/picture": {
"title": "$:/core/ui/EditorToolbar/picture",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/picture",
"caption": "{{$:/language/Buttons/Picture/Caption}}",
"description": "{{$:/language/Buttons/Picture/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((picture))",
"dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/preview-type-dropdown": {
"title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
"text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/preview-type": {
"title": "$:/core/ui/EditorToolbar/preview-type",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/chevron-down",
"caption": "{{$:/language/Buttons/PreviewType/Caption}}",
"description": "{{$:/language/Buttons/PreviewType/Hint}}",
"condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
"button-classes": "tc-text-editor-toolbar-item-adjunct",
"dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
},
"$:/core/ui/EditorToolbar/preview": {
"title": "$:/core/ui/EditorToolbar/preview",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/preview-open",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/Preview/Caption}}",
"description": "{{$:/language/Buttons/Preview/Hint}}",
"condition": "[<targetTiddler>]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((preview))",
"text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/quote": {
"title": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}}",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
},
"$:/core/ui/EditorToolbar/size-dropdown": {
"title": "$:/core/ui/EditorToolbar/size-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
},
"$:/core/ui/EditorToolbar/size": {
"title": "$:/core/ui/EditorToolbar/size",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/size",
"caption": "{{$:/language/Buttons/Size/Caption}}",
"description": "{{$:/language/Buttons/Size/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/stamp-dropdown": {
"title": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$view tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" mode=\"inline\"/>\n\n</$view>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
},
"$:/core/ui/EditorToolbar/stamp": {
"title": "$:/core/ui/EditorToolbar/stamp",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/stamp",
"caption": "{{$:/language/Buttons/Stamp/Caption}}",
"description": "{{$:/language/Buttons/Stamp/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"shortcuts": "((stamp))",
"dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/strikethrough": {
"title": "$:/core/ui/EditorToolbar/strikethrough",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/strikethrough",
"caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
"description": "{{$:/language/Buttons/Strikethrough/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((strikethrough))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
},
"$:/core/ui/EditorToolbar/subscript": {
"title": "$:/core/ui/EditorToolbar/subscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/subscript",
"caption": "{{$:/language/Buttons/Subscript/Caption}}",
"description": "{{$:/language/Buttons/Subscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((subscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
},
"$:/core/ui/EditorToolbar/superscript": {
"title": "$:/core/ui/EditorToolbar/superscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/superscript",
"caption": "{{$:/language/Buttons/Superscript/Caption}}",
"description": "{{$:/language/Buttons/Superscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((superscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
},
"$:/core/ui/EditorToolbar/underline": {
"title": "$:/core/ui/EditorToolbar/underline",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/underline",
"caption": "{{$:/language/Buttons/Underline/Caption}}",
"description": "{{$:/language/Buttons/Underline/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((underline))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
},
"$:/core/Filters/AllTags": {
"title": "$:/core/Filters/AllTags",
"tags": "$:/tags/Filter",
"filter": "[tags[]!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTags}}",
"text": ""
},
"$:/core/Filters/AllTiddlers": {
"title": "$:/core/Filters/AllTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTiddlers}}",
"text": ""
},
"$:/core/Filters/Drafts": {
"title": "$:/core/Filters/Drafts",
"tags": "$:/tags/Filter",
"filter": "[has[draft.of]sort[title]]",
"description": "{{$:/language/Filters/Drafts}}",
"text": ""
},
"$:/core/Filters/Missing": {
"title": "$:/core/Filters/Missing",
"tags": "$:/tags/Filter",
"filter": "[all[missing]sort[title]]",
"description": "{{$:/language/Filters/Missing}}",
"text": ""
},
"$:/core/Filters/Orphans": {
"title": "$:/core/Filters/Orphans",
"tags": "$:/tags/Filter",
"filter": "[all[orphans]sort[title]]",
"description": "{{$:/language/Filters/Orphans}}",
"text": ""
},
"$:/core/Filters/OverriddenShadowTiddlers": {
"title": "$:/core/Filters/OverriddenShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[shadow]]",
"description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentSystemTiddlers": {
"title": "$:/core/Filters/RecentSystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentSystemTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentTiddlers": {
"title": "$:/core/Filters/RecentTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentTiddlers}}",
"text": ""
},
"$:/core/Filters/ShadowTiddlers": {
"title": "$:/core/Filters/ShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[all[shadows]sort[title]]",
"description": "{{$:/language/Filters/ShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/StoryList": {
"title": "$:/core/Filters/StoryList",
"tags": "$:/tags/Filter",
"filter": "[list[$:/StoryList]] -$:/AdvancedSearch",
"description": "{{$:/language/Filters/StoryList}}",
"text": ""
},
"$:/core/Filters/SystemTags": {
"title": "$:/core/Filters/SystemTags",
"tags": "$:/tags/Filter",
"filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTags}}",
"text": ""
},
"$:/core/Filters/SystemTiddlers": {
"title": "$:/core/Filters/SystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTiddlers}}",
"text": ""
},
"$:/core/Filters/TypedTiddlers": {
"title": "$:/core/Filters/TypedTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Filters/TypedTiddlers}}",
"text": ""
},
"$:/core/ui/ImportListing": {
"title": "$:/core/ui/ImportListing",
"text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table>\n<tbody>\n<tr>\n<th>\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>>>\n<$transclude subtiddler=<<payloadTiddler>> mode=\"block\"/>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ListItemTemplate": {
"title": "$:/core/ui/ListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>"
},
"$:/Manager/ItemMain/Fields": {
"title": "$:/Manager/ItemMain/Fields",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/Fields}}",
"text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/Manager/ItemMain/RawText": {
"title": "$:/Manager/ItemMain/RawText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/RawText}}",
"text": "<pre><code><$view/></code></pre>\n"
},
"$:/Manager/ItemMain/WikifiedText": {
"title": "$:/Manager/ItemMain/WikifiedText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/WikifiedText}}",
"text": "<$transclude mode=\"block\"/>\n"
},
"$:/Manager/ItemSidebar/Colour": {
"title": "$:/Manager/ItemSidebar/Colour",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Colour}}",
"text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Icon": {
"title": "$:/Manager/ItemSidebar/Icon",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Icon}}",
"text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tags": {
"title": "$:/Manager/ItemSidebar/Tags",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tags}}",
"text": "\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<p>\n<$list filter=\"[is[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tools": {
"title": "$:/Manager/ItemSidebar/Tools",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tools}}",
"text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"
},
"$:/Manager": {
"title": "$:/Manager",
"icon": "$:/core/images/list",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
},
"$:/core/ui/MissingTemplate": {
"title": "$:/core/ui/MissingTemplate",
"text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
},
"$:/core/ui/MoreSideBar/All": {
"title": "$:/core/ui/MoreSideBar/All",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/All/Caption}}",
"text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Drafts": {
"title": "$:/core/ui/MoreSideBar/Drafts",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Drafts/Caption}}",
"text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Missing": {
"title": "$:/core/ui/MoreSideBar/Missing",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Missing/Caption}}",
"text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Orphans": {
"title": "$:/core/ui/MoreSideBar/Orphans",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Orphans/Caption}}",
"text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Plugins/Plugins\">>\n"
},
"$:/core/ui/MoreSideBar/Recent": {
"title": "$:/core/ui/MoreSideBar/Recent",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/MoreSideBar/Shadows": {
"title": "$:/core/ui/MoreSideBar/Shadows",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Shadows/Caption}}",
"text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/System": {
"title": "$:/core/ui/MoreSideBar/System",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/System/Caption}}",
"text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Tags": {
"title": "$:/core/ui/MoreSideBar/Tags",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Tags/Caption}}",
"text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
},
"$:/core/ui/MoreSideBar/Types": {
"title": "$:/core/ui/MoreSideBar/Types",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Types/Caption}}",
"text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Languages": {
"title": "$:/core/ui/MoreSideBar/Plugins/Languages",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins/Plugins",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Theme": {
"title": "$:/core/ui/MoreSideBar/Plugins/Theme",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/Buttons/advanced-search": {
"title": "$:/core/ui/Buttons/advanced-search",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
"description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/close-all": {
"title": "$:/core/ui/Buttons/close-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
"description": "{{$:/language/Buttons/CloseAll/Hint}}",
"text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/control-panel": {
"title": "$:/core/ui/Buttons/control-panel",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
"description": "{{$:/language/Buttons/ControlPanel/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/encryption": {
"title": "$:/core/ui/Buttons/encryption",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
"description": "{{$:/language/Buttons/Encryption/Hint}}",
"text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
},
"$:/core/ui/Buttons/export-page": {
"title": "$:/core/ui/Buttons/export-page",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
"description": "{{$:/language/Buttons/ExportPage/Hint}}",
"text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
},
"$:/core/ui/Buttons/fold-all": {
"title": "$:/core/ui/Buttons/fold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
"description": "{{$:/language/Buttons/FoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/full-screen": {
"title": "$:/core/ui/Buttons/full-screen",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
"description": "{{$:/language/Buttons/FullScreen/Hint}}",
"text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/home": {
"title": "$:/core/ui/Buttons/home",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
"description": "{{$:/language/Buttons/Home/Hint}}",
"text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/import": {
"title": "$:/core/ui/Buttons/import",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
"description": "{{$:/language/Buttons/Import/Hint}}",
"text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
},
"$:/core/ui/Buttons/language": {
"title": "$:/core/ui/Buttons/language",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
"description": "{{$:/language/Buttons/Language/Hint}}",
"text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down tc-drop-down-language-chooser\">\n<$linkcatcher to=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$link>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/language\" text=<<currentTiddler>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/language\" text=<<currentTiddler>>>\n \n</$reveal>\n</span>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/manager": {
"title": "$:/core/ui/Buttons/manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}",
"description": "{{$:/language/Buttons/Manager/Hint}}",
"text": "\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/more-page-actions": {
"title": "$:/core/ui/Buttons/more-page-actions",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-image": {
"title": "$:/core/ui/Buttons/new-image",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
"description": "{{$:/language/Buttons/NewImage/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"image/jpeg\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/new-journal": {
"title": "$:/core/ui/Buttons/new-journal",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
"description": "{{$:/language/Buttons/NewJournal/Hint}}",
"text": "\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=\"$(journalTags)$\" text=\"$(journalText)$\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"journalText\" value={{$:/config/NewJournal/Text}}>\n<<journalButton>>\n</$set></$set></$set>"
},
"$:/core/ui/Buttons/new-tiddler": {
"title": "$:/core/ui/Buttons/new-tiddler",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/palette": {
"title": "$:/core/ui/Buttons/palette",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
"description": "{{$:/language/Buttons/Palette/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/print": {
"title": "$:/core/ui/Buttons/print",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}",
"description": "{{$:/language/Buttons/Print/Hint}}",
"text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/refresh": {
"title": "$:/core/ui/Buttons/refresh",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
"description": "{{$:/language/Buttons/Refresh/Hint}}",
"text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save-wiki": {
"title": "$:/core/ui/Buttons/save-wiki",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
"description": "{{$:/language/Buttons/SaveWiki/Hint}}",
"text": "<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
},
"$:/core/ui/Buttons/storyview": {
"title": "$:/core/ui/Buttons/storyview",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
"description": "{{$:/language/Buttons/StoryView/Hint}}",
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/view\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$link to=<<storyview>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/view\" text=<<storyview>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/view\" text=<<storyview>>>\n \n</$reveal>\n</span>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/></$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/tag-manager": {
"title": "$:/core/ui/Buttons/tag-manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
"description": "{{$:/language/Buttons/TagManager/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/theme": {
"title": "$:/core/ui/Buttons/theme",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
"description": "{{$:/language/Buttons/Theme/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\" variable=\"themeTitle\">\n<$link to=<<themeTitle>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/theme\" text=<<themeTitle>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/theme\" text=<<themeTitle>>>\n \n</$reveal>\n</span>\n<$view tiddler=<<themeTitle>> field=\"name\"/>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/timestamp": {
"title": "$:/core/ui/Buttons/timestamp",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}",
"description": "{{$:/language/Buttons/Timestamp/Hint}}",
"text": "<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
},
"$:/core/ui/Buttons/unfold-all": {
"title": "$:/core/ui/Buttons/unfold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
"description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/PageTemplate/pagecontrols": {
"title": "$:/core/ui/PageTemplate/pagecontrols",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$reveal>\n</$list>\n</div>\n\n"
},
"$:/core/ui/PageStylesheet": {
"title": "$:/core/ui/PageStylesheet",
"text": "<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PageTemplate/alerts": {
"title": "$:/core/ui/PageTemplate/alerts",
"tags": "$:/tags/PageTemplate",
"text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
},
"$:/core/ui/PageTemplate/pluginreloadwarning": {
"title": "$:/core/ui/PageTemplate/pluginreloadwarning",
"tags": "$:/tags/PageTemplate",
"text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[has[plugin-type]haschanged[]!plugin-type[import]limit[1]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/PageTemplate/sidebar": {
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate",
"text": "<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n\n<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n\n<$transclude tiddler=\"$:/core/ui/SideBarLists\" mode=\"inline\"/>\n\n</$reveal>\n\n</div>\n\n</$scrollable>"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate": {
"title": "$:/core/ui/PageTemplate",
"text": "\\define containerClasses()\ntc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=\"\">\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PluginInfo": {
"title": "$:/core/ui/PluginInfo",
"text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
},
"$:/core/ui/PluginInfo/Default/contents": {
"title": "$:/core/ui/PluginInfo/Default/contents",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n"
},
"$:/core/ui/PluginListItemTemplate": {
"title": "$:/core/ui/PluginListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"description\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</div>"
},
"$:/core/ui/SearchResults": {
"title": "$:/core/ui/SearchResults",
"text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
},
"$:/core/ui/SideBar/More": {
"title": "$:/core/ui/SideBar/More",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/More/Caption}}",
"text": "<div class=\"tc-more-sidebar\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Tags\" \"$:/state/tab/moresidebar\" \"tc-vertical\">>\n</div>\n"
},
"$:/core/ui/SideBar/Open": {
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Open/Caption}}",
"text": "\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=\"$:/StoryList\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n<div style=\"position: relative;\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">×</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$droppable>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n</$droppable>\n</$tiddler>\n"
},
"$:/core/ui/SideBar/Recent": {
"title": "$:/core/ui/SideBar/Recent",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/SideBar/Tools": {
"title": "$:/core/ui/SideBar/Tools",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<div class=\"tc-sidebar-lists\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" />\n\n</div>\n"
},
"$:/TagManager": {
"title": "$:/TagManager",
"icon": "$:/core/images/tag-button",
"color": "#bbb",
"caption": "{{$:/language/TagManager/Caption}}",
"text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/icon/$title$\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/icon/$title$\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$title$!!icon\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define qualifyTitle(title)\n$title$$(currentTiddler)$\n\\end\n\\define toggleButton(state)\n<$reveal state=\"$state$\" type=\"match\" text=\"closed\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$state$\" type=\"match\" text=\"open\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td><$macrocall $name=\"tag\" tag=<<currentTiddler>>/></td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state=<<qualifyTitle \"$:/state/tag-manager/\">> /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal state=<<qualifyTitle \"$:/state/tag-manager/\">> type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td>\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
},
"$:/core/ui/TagTemplate": {
"title": "$:/core/ui/TagTemplate",
"text": "<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"
},
"$:/core/ui/TiddlerFieldTemplate": {
"title": "$:/core/ui/TiddlerFieldTemplate",
"text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
},
"$:/core/ui/TiddlerFields": {
"title": "$:/core/ui/TiddlerFields",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
},
"$:/core/ui/TiddlerInfo/Advanced": {
"title": "$:/core/ui/TiddlerInfo/Advanced",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Fields": {
"title": "$:/core/ui/TiddlerInfo/Fields",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
"text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
},
"$:/core/ui/TiddlerInfo/List": {
"title": "$:/core/ui/TiddlerInfo/List",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/List/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Listed": {
"title": "$:/core/ui/TiddlerInfo/Listed",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Tagging": {
"title": "$:/core/ui/TiddlerInfo/Tagging",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Tools": {
"title": "$:/core/ui/TiddlerInfo/Tools",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/TiddlerInfo": {
"title": "$:/core/ui/TiddlerInfo",
"text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
},
"$:/core/ui/TopBar/menu": {
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar",
"text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n"
},
"$:/core/ui/UntaggedTemplate": {
"title": "$:/core/ui/UntaggedTemplate",
"text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>"
},
"$:/core/ui/ViewTemplate/classic": {
"title": "$:/core/ui/ViewTemplate/classic",
"tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/import": {
"title": "$:/core/ui/ViewTemplate/import",
"tags": "$:/tags/ViewTemplate",
"text": "\\define lingo-base() $:/language/Import/\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n{{||$:/core/ui/ImportListing}}\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/plugin": {
"title": "$:/core/ui/ViewTemplate/plugin",
"tags": "$:/tags/ViewTemplate",
"text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/subtitle": {
"title": "$:/core/ui/ViewTemplate/subtitle",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/tags": {
"title": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>"
},
"$:/core/ui/ViewTemplate/title": {
"title": "$:/core/ui/ViewTemplate/title",
"tags": "$:/tags/ViewTemplate",
"text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
},
"$:/core/ui/ViewTemplate/unfold": {
"title": "$:/core/ui/ViewTemplate/unfold",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate": {
"title": "$:/core/ui/ViewTemplate",
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$\n\\end\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/popup/tiddler-info\">>><$tiddler tiddler=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$tiddler></$set></$set>\n"
},
"$:/core/ui/Buttons/clone": {
"title": "$:/core/ui/Buttons/clone",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
"description": "{{$:/language/Buttons/Clone/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Clone/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-others": {
"title": "$:/core/ui/Buttons/close-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
"description": "{{$:/language/Buttons/CloseOthers/Hint}}",
"text": "<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close": {
"title": "$:/core/ui/Buttons/close",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
"description": "{{$:/language/Buttons/Close/Hint}}",
"text": "<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Close/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/edit": {
"title": "$:/core/ui/Buttons/edit",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
"description": "{{$:/language/Buttons/Edit/Hint}}",
"text": "<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Edit/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/export-tiddler": {
"title": "$:/core/ui/Buttons/export-tiddler",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
"description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
"text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
},
"$:/core/ui/Buttons/fold-bar": {
"title": "$:/core/ui/Buttons/fold-bar",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}",
"description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
"text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
},
"$:/core/ui/Buttons/fold-others": {
"title": "$:/core/ui/Buttons/fold-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
"description": "{{$:/language/Buttons/FoldOthers/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/fold": {
"title": "$:/core/ui/Buttons/fold",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
"description": "{{$:/language/Buttons/Fold/Hint}}",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal><$reveal type=\"match\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal>"
},
"$:/core/ui/Buttons/info": {
"title": "$:/core/ui/Buttons/info",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
"description": "{{$:/language/Buttons/Info/Hint}}",
"text": "\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Info/Caption}}/></span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
},
"$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/core/ui/Buttons/more-tiddler-actions",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-here": {
"title": "$:/core/ui/Buttons/new-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
"description": "{{$:/language/Buttons/NewHere/Hint}}",
"text": "\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<newHereButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>"
},
"$:/core/ui/Buttons/new-journal-here": {
"title": "$:/core/ui/Buttons/new-journal-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
"description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
"text": "\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournalHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set></$set></$set>"
},
"$:/core/ui/Buttons/open-window": {
"title": "$:/core/ui/Buttons/open-window",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
"description": "{{$:/language/Buttons/OpenWindow/Hint}}",
"text": "<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/OpenWindow/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permalink": {
"title": "$:/core/ui/Buttons/permalink",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
"description": "{{$:/language/Buttons/Permalink/Hint}}",
"text": "<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permalink/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permaview": {
"title": "$:/core/ui/Buttons/permaview",
"tags": "$:/tags/ViewToolbar $:/tags/PageControls",
"caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
"description": "{{$:/language/Buttons/Permaview/Hint}}",
"text": "<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permaview/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/DefaultTiddlers": {
"title": "$:/DefaultTiddlers",
"text": "GettingStarted\n"
},
"$:/temp/advancedsearch": {
"title": "$:/temp/advancedsearch",
"text": ""
},
"$:/snippets/allfields": {
"title": "$:/snippets/allfields",
"text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
},
"$:/config/AnimationDuration": {
"title": "$:/config/AnimationDuration",
"text": "400"
},
"$:/config/AutoSave": {
"title": "$:/config/AutoSave",
"text": "yes"
},
"$:/config/BitmapEditor/Colour": {
"title": "$:/config/BitmapEditor/Colour",
"text": "#444"
},
"$:/config/BitmapEditor/ImageSizes": {
"title": "$:/config/BitmapEditor/ImageSizes",
"text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
},
"$:/config/BitmapEditor/LineWidth": {
"title": "$:/config/BitmapEditor/LineWidth",
"text": "3px"
},
"$:/config/BitmapEditor/LineWidths": {
"title": "$:/config/BitmapEditor/LineWidths",
"text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
},
"$:/config/BitmapEditor/Opacities": {
"title": "$:/config/BitmapEditor/Opacities",
"text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
},
"$:/config/BitmapEditor/Opacity": {
"title": "$:/config/BitmapEditor/Opacity",
"text": "1.0"
},
"$:/config/DefaultSidebarTab": {
"title": "$:/config/DefaultSidebarTab",
"text": "$:/core/ui/SideBar/Open"
},
"$:/config/DownloadSaver/AutoSave": {
"title": "$:/config/DownloadSaver/AutoSave",
"text": "no"
},
"$:/config/Drafts/TypingTimeout": {
"title": "$:/config/Drafts/TypingTimeout",
"text": "400"
},
"$:/config/EditTemplateFields/Visibility/title": {
"title": "$:/config/EditTemplateFields/Visibility/title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/tags": {
"title": "$:/config/EditTemplateFields/Visibility/tags",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/text": {
"title": "$:/config/EditTemplateFields/Visibility/text",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/creator": {
"title": "$:/config/EditTemplateFields/Visibility/creator",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/created": {
"title": "$:/config/EditTemplateFields/Visibility/created",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modified": {
"title": "$:/config/EditTemplateFields/Visibility/modified",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modifier": {
"title": "$:/config/EditTemplateFields/Visibility/modifier",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/type": {
"title": "$:/config/EditTemplateFields/Visibility/type",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.title": {
"title": "$:/config/EditTemplateFields/Visibility/draft.title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.of": {
"title": "$:/config/EditTemplateFields/Visibility/draft.of",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/revision": {
"title": "$:/config/EditTemplateFields/Visibility/revision",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/bag": {
"title": "$:/config/EditTemplateFields/Visibility/bag",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
"text": "hide"
},
"$:/config/EditorTypeMappings/image/gif": {
"title": "$:/config/EditorTypeMappings/image/gif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpeg": {
"title": "$:/config/EditorTypeMappings/image/jpeg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpg": {
"title": "$:/config/EditorTypeMappings/image/jpg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/png": {
"title": "$:/config/EditorTypeMappings/image/png",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/x-icon": {
"title": "$:/config/EditorTypeMappings/image/x-icon",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "text"
},
"$:/config/Manager/Show": {
"title": "$:/config/Manager/Show",
"text": "tiddlers"
},
"$:/config/Manager/Filter": {
"title": "$:/config/Manager/Filter",
"text": ""
},
"$:/config/Manager/Order": {
"title": "$:/config/Manager/Order",
"text": "forward"
},
"$:/config/Manager/Sort": {
"title": "$:/config/Manager/Sort",
"text": "title"
},
"$:/config/Manager/System": {
"title": "$:/config/Manager/System",
"text": "system"
},
"$:/config/Manager/Tag": {
"title": "$:/config/Manager/Tag",
"text": ""
},
"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": {
"title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText",
"text": "hide"
},
"$:/config/MissingLinks": {
"title": "$:/config/MissingLinks",
"text": "yes"
},
"$:/config/Navigation/UpdateAddressBar": {
"title": "$:/config/Navigation/UpdateAddressBar",
"text": "no"
},
"$:/config/Navigation/UpdateHistory": {
"title": "$:/config/Navigation/UpdateHistory",
"text": "no"
},
"$:/config/OfficialPluginLibrary": {
"title": "$:/config/OfficialPluginLibrary",
"tags": "$:/tags/PluginLibrary",
"url": "http://tiddlywiki.com/library/v5.1.14/index.html",
"caption": "{{$:/language/OfficialPluginLibrary}}",
"text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
},
"$:/config/Navigation/openLinkFromInsideRiver": {
"title": "$:/config/Navigation/openLinkFromInsideRiver",
"text": "below"
},
"$:/config/Navigation/openLinkFromOutsideRiver": {
"title": "$:/config/Navigation/openLinkFromOutsideRiver",
"text": "top"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
"text": "hide"
},
"$:/config/Performance/Instrumentation": {
"title": "$:/config/Performance/Instrumentation",
"text": "no"
},
"$:/config/SaveWikiButton/Template": {
"title": "$:/config/SaveWikiButton/Template",
"text": "$:/core/save/all"
},
"$:/config/SaverFilter": {
"title": "$:/config/SaverFilter",
"text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/Search/AutoFocus": {
"title": "$:/config/Search/AutoFocus",
"text": "true"
},
"$:/config/Search/MinLength": {
"title": "$:/config/Search/MinLength",
"text": "3"
},
"$:/config/SearchResults/Default": {
"title": "$:/config/SearchResults/Default",
"text": "$:/core/ui/DefaultSearchResultList"
},
"$:/config/ShortcutInfo/bold": {
"title": "$:/config/ShortcutInfo/bold",
"text": "{{$:/language/Buttons/Bold/Hint}}"
},
"$:/config/ShortcutInfo/cancel-edit-tiddler": {
"title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
"text": "{{$:/language/Buttons/Cancel/Hint}}"
},
"$:/config/ShortcutInfo/excise": {
"title": "$:/config/ShortcutInfo/excise",
"text": "{{$:/language/Buttons/Excise/Hint}}"
},
"$:/config/ShortcutInfo/heading-1": {
"title": "$:/config/ShortcutInfo/heading-1",
"text": "{{$:/language/Buttons/Heading1/Hint}}"
},
"$:/config/ShortcutInfo/heading-2": {
"title": "$:/config/ShortcutInfo/heading-2",
"text": "{{$:/language/Buttons/Heading2/Hint}}"
},
"$:/config/ShortcutInfo/heading-3": {
"title": "$:/config/ShortcutInfo/heading-3",
"text": "{{$:/language/Buttons/Heading3/Hint}}"
},
"$:/config/ShortcutInfo/heading-4": {
"title": "$:/config/ShortcutInfo/heading-4",
"text": "{{$:/language/Buttons/Heading4/Hint}}"
},
"$:/config/ShortcutInfo/heading-5": {
"title": "$:/config/ShortcutInfo/heading-5",
"text": "{{$:/language/Buttons/Heading5/Hint}}"
},
"$:/config/ShortcutInfo/heading-6": {
"title": "$:/config/ShortcutInfo/heading-6",
"text": "{{$:/language/Buttons/Heading6/Hint}}"
},
"$:/config/ShortcutInfo/italic": {
"title": "$:/config/ShortcutInfo/italic",
"text": "{{$:/language/Buttons/Italic/Hint}}"
},
"$:/config/ShortcutInfo/link": {
"title": "$:/config/ShortcutInfo/link",
"text": "{{$:/language/Buttons/Link/Hint}}"
},
"$:/config/ShortcutInfo/list-bullet": {
"title": "$:/config/ShortcutInfo/list-bullet",
"text": "{{$:/language/Buttons/ListBullet/Hint}}"
},
"$:/config/ShortcutInfo/list-number": {
"title": "$:/config/ShortcutInfo/list-number",
"text": "{{$:/language/Buttons/ListNumber/Hint}}"
},
"$:/config/ShortcutInfo/mono-block": {
"title": "$:/config/ShortcutInfo/mono-block",
"text": "{{$:/language/Buttons/MonoBlock/Hint}}"
},
"$:/config/ShortcutInfo/mono-line": {
"title": "$:/config/ShortcutInfo/mono-line",
"text": "{{$:/language/Buttons/MonoLine/Hint}}"
},
"$:/config/ShortcutInfo/picture": {
"title": "$:/config/ShortcutInfo/picture",
"text": "{{$:/language/Buttons/Picture/Hint}}"
},
"$:/config/ShortcutInfo/preview": {
"title": "$:/config/ShortcutInfo/preview",
"text": "{{$:/language/Buttons/Preview/Hint}}"
},
"$:/config/ShortcutInfo/quote": {
"title": "$:/config/ShortcutInfo/quote",
"text": "{{$:/language/Buttons/Quote/Hint}}"
},
"$:/config/ShortcutInfo/save-tiddler": {
"title": "$:/config/ShortcutInfo/save-tiddler",
"text": "{{$:/language/Buttons/Save/Hint}}"
},
"$:/config/ShortcutInfo/stamp": {
"title": "$:/config/ShortcutInfo/stamp",
"text": "{{$:/language/Buttons/Stamp/Hint}}"
},
"$:/config/ShortcutInfo/strikethrough": {
"title": "$:/config/ShortcutInfo/strikethrough",
"text": "{{$:/language/Buttons/Strikethrough/Hint}}"
},
"$:/config/ShortcutInfo/subscript": {
"title": "$:/config/ShortcutInfo/subscript",
"text": "{{$:/language/Buttons/Subscript/Hint}}"
},
"$:/config/ShortcutInfo/superscript": {
"title": "$:/config/ShortcutInfo/superscript",
"text": "{{$:/language/Buttons/Superscript/Hint}}"
},
"$:/config/ShortcutInfo/underline": {
"title": "$:/config/ShortcutInfo/underline",
"text": "{{$:/language/Buttons/Underline/Hint}}"
},
"$:/config/SyncFilter": {
"title": "$:/config/SyncFilter",
"text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/TextEditor/EditorHeight/Height": {
"title": "$:/config/TextEditor/EditorHeight/Height",
"text": "400px"
},
"$:/config/TextEditor/EditorHeight/Mode": {
"title": "$:/config/TextEditor/EditorHeight/Mode",
"text": "auto"
},
"$:/config/TiddlerInfo/Default": {
"title": "$:/config/TiddlerInfo/Default",
"text": "$:/core/ui/TiddlerInfo/Fields"
},
"$:/config/TiddlerInfo/Mode": {
"title": "$:/config/TiddlerInfo/Mode",
"text": "popup"
},
"$:/config/Tiddlers/TitleLinks": {
"title": "$:/config/Tiddlers/TitleLinks",
"text": "no"
},
"$:/config/Toolbar/ButtonClass": {
"title": "$:/config/Toolbar/ButtonClass",
"text": "tc-btn-invisible"
},
"$:/config/Toolbar/Icons": {
"title": "$:/config/Toolbar/Icons",
"text": "yes"
},
"$:/config/Toolbar/Text": {
"title": "$:/config/Toolbar/Text",
"text": "no"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
"text": "show"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
"text": "hide"
},
"$:/config/shortcuts-mac/bold": {
"title": "$:/config/shortcuts-mac/bold",
"text": "meta-B"
},
"$:/config/shortcuts-mac/italic": {
"title": "$:/config/shortcuts-mac/italic",
"text": "meta-I"
},
"$:/config/shortcuts-mac/underline": {
"title": "$:/config/shortcuts-mac/underline",
"text": "meta-U"
},
"$:/config/shortcuts-not-mac/bold": {
"title": "$:/config/shortcuts-not-mac/bold",
"text": "ctrl-B"
},
"$:/config/shortcuts-not-mac/italic": {
"title": "$:/config/shortcuts-not-mac/italic",
"text": "ctrl-I"
},
"$:/config/shortcuts-not-mac/underline": {
"title": "$:/config/shortcuts-not-mac/underline",
"text": "ctrl-U"
},
"$:/config/shortcuts/cancel-edit-tiddler": {
"title": "$:/config/shortcuts/cancel-edit-tiddler",
"text": "escape"
},
"$:/config/shortcuts/excise": {
"title": "$:/config/shortcuts/excise",
"text": "ctrl-E"
},
"$:/config/shortcuts/heading-1": {
"title": "$:/config/shortcuts/heading-1",
"text": "ctrl-1"
},
"$:/config/shortcuts/heading-2": {
"title": "$:/config/shortcuts/heading-2",
"text": "ctrl-2"
},
"$:/config/shortcuts/heading-3": {
"title": "$:/config/shortcuts/heading-3",
"text": "ctrl-3"
},
"$:/config/shortcuts/heading-4": {
"title": "$:/config/shortcuts/heading-4",
"text": "ctrl-4"
},
"$:/config/shortcuts/heading-5": {
"title": "$:/config/shortcuts/heading-5",
"text": "ctrl-5"
},
"$:/config/shortcuts/heading-6": {
"title": "$:/config/shortcuts/heading-6",
"text": "ctrl-6"
},
"$:/config/shortcuts/link": {
"title": "$:/config/shortcuts/link",
"text": "ctrl-L"
},
"$:/config/shortcuts/list-bullet": {
"title": "$:/config/shortcuts/list-bullet",
"text": "ctrl-shift-L"
},
"$:/config/shortcuts/list-number": {
"title": "$:/config/shortcuts/list-number",
"text": "ctrl-shift-N"
},
"$:/config/shortcuts/mono-block": {
"title": "$:/config/shortcuts/mono-block",
"text": "ctrl-shift-M"
},
"$:/config/shortcuts/mono-line": {
"title": "$:/config/shortcuts/mono-line",
"text": "ctrl-M"
},
"$:/config/shortcuts/picture": {
"title": "$:/config/shortcuts/picture",
"text": "ctrl-shift-I"
},
"$:/config/shortcuts/preview": {
"title": "$:/config/shortcuts/preview",
"text": "alt-P"
},
"$:/config/shortcuts/quote": {
"title": "$:/config/shortcuts/quote",
"text": "ctrl-Q"
},
"$:/config/shortcuts/save-tiddler": {
"title": "$:/config/shortcuts/save-tiddler",
"text": "ctrl+enter"
},
"$:/config/shortcuts/stamp": {
"title": "$:/config/shortcuts/stamp",
"text": "ctrl-S"
},
"$:/config/shortcuts/strikethrough": {
"title": "$:/config/shortcuts/strikethrough",
"text": "ctrl-T"
},
"$:/config/shortcuts/subscript": {
"title": "$:/config/shortcuts/subscript",
"text": "ctrl-shift-B"
},
"$:/config/shortcuts/superscript": {
"title": "$:/config/shortcuts/superscript",
"text": "ctrl-shift-P"
},
"$:/config/WikiParserRules/Inline/wikilink": {
"title": "$:/config/WikiParserRules/Inline/wikilink",
"text": "enable"
},
"$:/snippets/currpalettepreview": {
"title": "$:/snippets/currpalettepreview",
"text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch(colour)\n<$set name=\"swatchColour\" value={{##$colour$}}>\n<div class=\"tc-swatch\" style=<<swatchStyle>>/>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\">\n<<swatch foreground>>\n<<swatch background>>\n<<swatch muted-foreground>>\n<<swatch primary>>\n<<swatch page-background>>\n<<swatch tab-background>>\n<<swatch tiddler-info-background>>\n</div>\n"
},
"$:/snippets/download-wiki-button": {
"title": "$:/snippets/download-wiki-button",
"text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
},
"$:/language": {
"title": "$:/language",
"text": "$:/languages/en-GB"
},
"$:/snippets/languageswitcher": {
"title": "$:/snippets/languageswitcher",
"text": "{{$:/language/ControlPanel/Basics/Language/Prompt}} <$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/core/macros/CSS": {
"title": "$:/core/macros/CSS",
"tags": "$:/tags/Macro",
"text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"/></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n"
},
"$:/core/macros/colour-picker": {
"title": "$:/core/macros/colour-picker",
"tags": "$:/tags/Macro",
"text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<div style=\"background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/> \n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
},
"$:/core/macros/export": {
"title": "$:/core/macros/export",
"tags": "$:/tags/Macro",
"text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
},
"$:/core/macros/image-picker": {
"title": "$:/core/macros/image-picker",
"tags": "$:/tags/Macro",
"text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"
},
"$:/core/macros/lingo": {
"title": "$:/core/macros/lingo",
"tags": "$:/tags/Macro",
"text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
},
"$:/core/macros/list": {
"title": "$:/core/macros/list",
"tags": "$:/tags/Macro",
"text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\">\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n<$link to={{!!title}}>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$transclude>\n</$link>\n</div>\n</$droppable>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\">\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n \n</div>\n</$droppable>\n</$tiddler>\n</$type$>\n</$vars>\n\\end\n\n\\define list-tagged-draggable-drop-actions()\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<tag>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<tag>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Assign the list field of the tag with the current ordering -->\n<$action-setfield $tiddler=<<tag>> $field=\"list\" $value=<<order>>/>\n<!-- Add the newly inserted item to the list -->\n<$action-listops $tiddler=<<tag>> $field=\"list\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<$action-listops $tiddler=<<actionTiddler>> $tags=\"[<tag>]\"/>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,itemTemplate,elementTag:\"div\")\n<$set name=\"tag\" value=\"\"\"$tag$\"\"\">\n<$list filter=\"[<tag>tagging[]]\">\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=<<list-tagged-draggable-drop-actions>>>\n<$elementTag$ class=\"tc-droppable-placeholder\">\n \n</$elementTag$>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-tagged-draggable-drop-actions>>>\n<$elementTag$ class=\"tc-droppable-placeholder\">\n \n</$elementTag$>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n\\end\n"
},
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tag-picker": {
"title": "$:/core/macros/tag-picker",
"tags": "$:/tags/Macro",
"text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\">\n$(actions)$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker(actions)\n<$set name=\"actions\" value=\"\"\"$actions$\"\"\">\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</$keyboard>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{$:/temp/NewTagName}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n$actions$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$list filter=\"[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list>\n<hr>\n<$list filter=\"[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list>\n</div>\n</$reveal>\n</div>\n</$set>\n\\end\n"
},
"$:/core/macros/tag": {
"title": "$:/core/macros/tag",
"tags": "$:/tags/Macro",
"text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/> <$view tiddler=\"\"\"$tag$\"\"\" field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=\"\"\"$tag$\"\"\" icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=\"\"\"$tag$\"\"\" icon={{$tag$!!icon}} colour={{$tag$!!color}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
},
"$:/core/macros/thumbnails": {
"title": "$:/core/macros/thumbnails",
"tags": "$:/tags/Macro",
"text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
},
"$:/core/macros/timeline": {
"created": "20141212105914482",
"modified": "20141212110330815",
"tags": "$:/tags/Macro",
"title": "$:/core/macros/timeline",
"type": "text/vnd.tiddlywiki",
"text": "\\define timeline-title()\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}>\n<<timeline-title>>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
},
"$:/core/macros/toc": {
"title": "$:/core/macros/toc",
"tags": "$:/tags/Macro",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] $exclude$\"\"\">\n <$vars item=<<currentTiddler>> path=\"\"\"$path$/$tag$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\">\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\" \")\n<<toc-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$link>\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<!-- helper function -->\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-expandable-empty-message()\n<<toc-linked-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\" exclude:\"\"\"$(excluded)$\"\"\" path:\"\"\"$(path)$\"\"\">>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\" path=\"\"\"$path$/$tag$\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] $exclude$\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\" >\n <li class=<<toc-item-class>>>\n <$link>\n <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<<toc-linked-selective-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\" exclude:\"\"\"$(excluded)$\"\"\" path:\"\"\"$(path)$\"\"\">>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\" path=\"\"\"$path$/$tag$\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] $exclude$\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=toc-unlinked-selective-expandable-body tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=<<excluded>> path=<<path>> >\n </$list>\n </$list>\n </ol>\n</$vars>\n\\end\n\n\\define toc-tabbed-selected-item-filter(selectedTiddler)\n[all[current]field:title{$selectedTiddler$}]\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{$selectedTiddler$}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=\"$selectedTiddler$\">\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:\"\"\"$selectedTiddler$\"\"\">>/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=\"$template$\">\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=\"\"\"$selectedTiddler$\"\"\">\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" selectedTiddler=\"\"\"$selectedTiddler$\"\"\" unselectedText=\"\"\"$unselectedText$\"\"\" missingText=\"\"\"$missingText$\"\"\" template=\"\"\"$template$\"\"\"/>\n</$linkcatcher>\n\\end\n\n"
},
"$:/core/macros/translink": {
"title": "$:/core/macros/translink",
"tags": "$:/tags/Macro",
"text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
},
"$:/snippets/minilanguageswitcher": {
"title": "$:/snippets/minilanguageswitcher",
"text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/minithemeswitcher": {
"title": "$:/snippets/minithemeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/modules": {
"title": "$:/snippets/modules",
"text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
},
"$:/palette": {
"title": "$:/palette",
"text": "$:/palettes/Vanilla"
},
"$:/snippets/paletteeditor": {
"title": "$:/snippets/paletteeditor",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<table>\n<tbody>\n<$list filter=\"[all[current]indexes[]]\" variable=\"colourName\">\n<tr>\n<td>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<$edit-text index=<<colourName>> tag=\"input\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n</$set>\n"
},
"$:/snippets/palettepreview": {
"title": "$:/snippets/palettepreview",
"text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n<$transclude tiddler=\"$:/snippets/currpalettepreview\"/>\n</$set>\n"
},
"$:/snippets/paletteswitcher": {
"title": "$:/snippets/paletteswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n<div class=\"tc-prompt\">\n<<lingo Prompt>> <$view tiddler={{$:/palette}} field=\"name\"/>\n</div>\n\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[description]]\"><div class=\"tc-chooser-item\"><$link to={{!!title}}><div><$reveal state=\"$:/palette\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/palette\" type=\"nomatch\" text={{!!title}}> </$reveal> ''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/></div><$transclude tiddler=\"$:/snippets/currpalettepreview\"/></$link></div>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/temp/search": {
"title": "$:/temp/search",
"text": ""
},
"$:/tags/AdvancedSearch": {
"title": "$:/tags/AdvancedSearch",
"list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
},
"$:/tags/AdvancedSearch/FilterButton": {
"title": "$:/tags/AdvancedSearch/FilterButton",
"list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
},
"$:/tags/ControlPanel": {
"title": "$:/tags/ControlPanel",
"list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
},
"$:/tags/ControlPanel/Info": {
"title": "$:/tags/ControlPanel/Info",
"list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
},
"$:/tags/ControlPanel/Plugins": {
"title": "$:/tags/ControlPanel/Plugins",
"list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
},
"$:/tags/EditTemplate": {
"title": "$:/tags/EditTemplate",
"list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
},
"$:/tags/EditToolbar": {
"title": "$:/tags/EditToolbar",
"list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
},
"$:/tags/EditorToolbar": {
"title": "$:/tags/EditorToolbar",
"list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
},
"$:/tags/Manager/ItemMain": {
"title": "$:/tags/Manager/ItemMain",
"list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
},
"$:/tags/Manager/ItemSidebar": {
"title": "$:/tags/Manager/ItemSidebar",
"list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
},
"$:/tags/MoreSideBar": {
"title": "$:/tags/MoreSideBar",
"list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Plugins]]",
"text": ""
},
"$:/tags/PageControls": {
"title": "$:/tags/PageControls",
"list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
},
"$:/tags/PageTemplate": {
"title": "$:/tags/PageTemplate",
"list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
"text": ""
},
"$:/tags/SideBar": {
"title": "$:/tags/SideBar",
"list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
"text": ""
},
"$:/tags/TiddlerInfo": {
"title": "$:/tags/TiddlerInfo",
"list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
"text": ""
},
"$:/tags/TiddlerInfo/Advanced": {
"title": "$:/tags/TiddlerInfo/Advanced",
"list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
},
"$:/tags/ViewTemplate": {
"title": "$:/tags/ViewTemplate",
"list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
},
"$:/tags/ViewToolbar": {
"title": "$:/tags/ViewToolbar",
"list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
},
"$:/snippets/themeswitcher": {
"title": "$:/snippets/themeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$view tiddler={{$:/theme}} field=\"name\"/>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}> </$reveal> <$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
},
"$:/core/wiki/title": {
"title": "$:/core/wiki/title",
"type": "text/vnd.tiddlywiki",
"text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
},
"$:/view": {
"title": "$:/view",
"text": "classic"
},
"$:/snippets/viewswitcher": {
"title": "$:/snippets/viewswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/StoryView/\n<<lingo Prompt>> <$select tiddler=\"$:/view\">\n<$list filter=\"[storyviews[]]\">\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>"
}
}
}
<svg class="tc-image-save-button tc-image-button" viewBox="0 0 128 128" width="22pt" height="22pt">
<g fill-rule="evenodd">
<path d="M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z"></path>
</g>
</svg>
\define neighbour()
<$list filter="[list[$:/StoryList!!list]before<current>]"/>
\end
<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>
<$wikify name="current" text=<<currentTiddler>>>
<$wikify name="goto" text=<<neighbour>>>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/close-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Close/Caption}}/></span>
</$list>
<$action-navigate $to=<<goto>>/>
</$wikify>
</$wikify>
</$button>
<$button message="tm-save-wiki" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>
<span class="tc-dirty-indicator">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/save-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>
</$list>
</span>
</$button>
\define searchResultList()
//<small>{{$:/language/Search/Matches/Title}}</small>//
<$list filter="[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>
//<small>{{$:/language/Search/Matches/All}}</small>//
<$list filter="[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>
\end
<<searchResultList>>
\define searchResultList()
//<small>{{$:/language/Search/Matches/Title}}</small>//
<$list filter="[!is[system]!tag[>]!tag[<]!tag[<< WissenNEU]!tag[<<<]!tag[Mein Arbeitsbereich]!tag[DIY]!tag[UNFERTIG!]!tag[RezepteUNFERTIG]!tag[RezeptBEARBEITEN]!tag[RezeptGANZ-NEU]!tag[ZutatUNFERTIG]!tag[Wiki-ToDo]!tag[HaushaltNEU]!tag[Deko-KosmetikNEU]!tag[HautpflegeNEU]!tag[KörpergerücheNEU]!tag[RezepteFürHaareNEU]!tag[SeifenNEU]!tag[SonstigesNEU]search:title{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>
//<small>{{$:/language/Search/Matches/All}}</small>//
<$list filter="[!is[system]!tag[>]!tag[<]!tag[<< WissenNEU]!tag[<<<]!tag[Mein Arbeitsbereich]!tag[DIY]!tag[UNFERTIG!]!tag[RezepteUNFERTIG]!tag[RezeptBEARBEITEN]!tag[RezeptGANZ-NEU]!tag[ZutatUNFERTIG]!tag[Wiki-ToDo]!tag[HaushaltNEU]!tag[Deko-KosmetikNEU]!tag[HautpflegeNEU]!tag[KörpergerücheNEU]!tag[RezepteFürHaareNEU]!tag[SeifenNEU]!tag[SonstigesNEU]search{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>
\end
<<searchResultList>>
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="[ ] <br/><br/>"
/>
@@[ ]@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix=@@background-color:darkorange;
suffix=@@
/>
@@background-color:darkorange;Mark@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="! Header 1
!! Header 2
!!! Header 3
!!!! Header 4
!!!!! Header 5
!!!!!! Header 6
NormalerText"
count="1"
/>
@@
H1-6
@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="*"
count="2"
/>
@@
**
@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="#"
count="2"
/>
@@
.1.--
@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="← ↑ → ↓ ↔ ↵ ⇐ ⇑ ⇒ ⇓ ⇔<br/>
½ ⅓ ⅔ ¼ ¾<br/>
± × ÷ ≤ ≥ ≠ ≅ ≈ ≡ ∅ √ ✔ ✘ ^ ▼"
/>
@@→½∅ √@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|
|Zelle3|Zelle3|Zelle3|
|!DieseZelleMitDerUnterenZusammen|Inhaltszelle 2 |Inhaltszelle 2 |
|~|Diese Zelle wurde mit der rechten zusammengefasst |<|
| !Titelzelle 4 | Inhaltszelle 4| Inhaltszelle 4|
| right-aligned| centered |left-aligned |f
"
count="1"
/>
@@
|.|.|.|
@@
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="<br/>"
/>
@@`<br/>`@@
\define lingo-base() $:/language/EditTemplate/
\define tag-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end
\define tag-body-inner(colour,fallbackTarget,colourA,colourB)
<$vars foregroundColor=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">> backgroundColor="""$colour$""">
<span style=<<tag-styles>> class="tc-tag-label">
<$view field="title" format="text" />
<$button message="tm-remove-tag" param={{!!title}} class="tc-btn-invisible tc-remove-tag-button">×</$button>
</span>
</$vars>
\end
\define tag-body(colour,palette)
<$macrocall $name="tag-body-inner" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>
\end
\define tag-picker-actions()
<$action-listops
$tiddler=<<currentTiddler>>
$field="tags"
$subfilter="[<tag>] [all[current]tags[]]"
/>
\end
<div class="tc-edit-tags">
<$fieldmangler>
<$list filter="[all[current]tags[]sort[title]]" storyview="pop">
<$macrocall $name="tag-body" colour={{!!color}} palette={{$:/palette}}/>
</$list>
</$fieldmangler>
<$macrocall $name="tag-picker" actions=<<tag-picker-actions>>/>
</div>
<$macrocall $name="timeline" format={{$:/language/RecentChanges/DateFormat}}/>
\define containerClasses()
tc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$
\end
<$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]">
<$set name="tv-config-toolbar-icons" value={{$:/config/Toolbar/Icons}}>
<$set name="tv-config-toolbar-text" value={{$:/config/Toolbar/Text}}>
<$set name="tv-config-toolbar-class" value={{$:/config/Toolbar/ButtonClass}}>
<$set name="themeTitle" value={{$:/view}}>
<$set name="currentTiddler" value={{$:/language}}>
<$set name="languageTitle" value={{!!name}}>
<$set name="currentTiddler" value="">
<div class=<<containerClasses>>>
<$navigator story="$:/StoryList" history="$:/HistoryList" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}}>
<$dropzone>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]" variable="listItem">
<$transclude tiddler=<<listItem>>/>
</$list>
</$dropzone>
</$navigator>
</div>
</$set>
</$set>
</$set>
</$set>
</$set>
</$set>
</$set>
</$importvariables>
<$scrollable fallthrough="no" class="tc-sidebar-scrollable">
<div class="tc-sidebar-header">
<$reveal state="$:/state/sidebar" type="match" text="yes" default="yes" retain="yes" animate="yes">
<h1 class="tc-site-title">
<$transclude tiddler="$:/SiteTitle" mode="inline"/>
</h1>
<div class="tc-site-subtitle">
<$transclude tiddler="$:/SiteSubtitle" mode="inline"/>
</div>
{{||$:/core/ui/PageTemplate/pagecontrols}}
<$transclude tiddler="$:/core/ui/SideBarLists" mode="inline"/>
</$reveal>
</div>
</$scrollable>
<div class="tc-search-results">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]" emptyMessage="""
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]">
<$transclude mode="block"/>
</$list>
""">
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]" default={{$:/config/SearchResults/Default}}/>
</$list>
</div>
<div class="tc-more-sidebar">
<<tabs "[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]" "$:/core/ui/MoreSideBar/Tags" "$:/state/tab/moresidebar" "tc-vertical">>
</div>
\define lingo-base() $:/language/CloseAll/
\define drop-actions()
<$action-listops $tiddler="$:/StoryList" $subfilter="+[insertbefore:currentTiddler<actionTiddler>]"/>
\end
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
<div style="position: relative;">
<$droppable actions=<<drop-actions>>>
<div class="tc-droppable-placeholder">
</div>
<div>
<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini">×</$button> <$link to={{!!title}}><$view field="title"/></$link>
</div>
</$droppable>
</div>
</$list>
<$tiddler tiddler="">
<$droppable actions=<<drop-actions>>>
<div class="tc-droppable-placeholder">
</div>
<$button message="tm-close-all-tiddlers" class="tc-btn-invisible tc-btn-mini"><<lingo Button>></$button>
</$droppable>
</$tiddler>
<$macrocall $name="timeline" format={{$:/language/RecentChanges/DateFormat}}/>
\define lingo-base() $:/language/ControlPanel/
\define config-title()
$:/config/PageControlButtons/Visibility/$(listItem)$
\end
<<lingo Basics/Version/Prompt>> <<version>>
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$set name="tv-config-toolbar-class" value="">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]" variable="listItem">
<div style="position:relative;">
<$checkbox tiddler=<<config-title>> field="text" checked="show" unchecked="hide" default="show"/> <$transclude tiddler=<<listItem>>/> <i class="tc-muted"><$transclude tiddler=<<listItem>> field="description"/></i>
</div>
</$list>
</$set>
</$set>
</$set>
<div class="tc-sidebar-lists">
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]" default={{$:/config/DefaultSidebarTab}} state="$:/state/tab/sidebar"/>
</div>
\define wikitext-example(src)
<div class="doc-example">
```
$src$
```
That renders as:
$src$
... and the underlying HTML is:
$$$text/vnd.tiddlywiki>text/html
$src$
$$$
</div>
\end
\define wikitext-example-without-html(src)
<div class="doc-example">
```
$src$
```
That renders as:
$src$
</div>
\end
\define tw-code(tiddler)
<$codeblock language={{$tiddler$!!type}} code={{$tiddler$}}/>
\end
\define tw-code-link(tiddler)
[[$tiddler$]]:
<<tw-code $tiddler$>>
\end
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABaElEQVQ4jYWTwWrCQBCGJ6DJIfsULVQhevb1fBshKRRJLia+gW9QeijGg7UeQ1rIrn8Pu7OZpJUeFpZl5vv/mZ2hNWGyIaxSQp0SwCcLgDw0yEODLOjf3ak3hNWaMCGXfEgJnQzaTg3en1ocZy1KpcegLiUcNoQVOeVupOAdlErjOHOgWONlcpOQmu4lFtHwlErj7fELZawHJdE9xXPS4Jw0OM5a7GKN5+CGXWwhOwHxgDw0+EganOa25rEyQ1ggD00PyAKgVBqneYtK2UD+gbFyERnf2CxwgDzsHzmBGzdWZlfsglICisjgnDQoIuNhe6VRKo3Xh29sp2YQI+8ecFk02KveIt+5DKn6C5CHFnBZ2EdZQumc3Gukb+JeaXwurQtuohwiTq5cswdNlC6uDsLW5W9USuO6tE7lN9YpocsCoFLal8L25Tyc5i0uiwaVVbejLJdJjvFfEymWql+m/9aZHYy20a/zD9eJteBiLgQcAAAAAElFTkSuQmCC
Folgende Tiddler wurden importiert:
# [[8. Neuigkeiten]]
{
"tiddlers": {
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "Erweiterte Suche"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Erweiterte Suche"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "Abbrechen"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Änderungen verwerfen"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "Klone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Klone diesen Tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "Schließen"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Schließe diesen Tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "Alle schließen"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Alle Tiddler schließen"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "Andere schließen"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Alle anderen Tiddler schließen"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "Control-Panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Öffne das Control-Panel"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "Löschen"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Lösche diesen Tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "Bearbeiten"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Bearbeite diesen Tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "Verschlüsselung"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Aktivieren oder löschen des Passworts für dieses Wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "Verschlüsselung deaktivieren"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Lösche das Passwort und speichere ohne Verschlüsselung"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "Verschlüsselung"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Definiert ein Passwort, um dieses Wiki zu verschlüsseln"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "Alle exportieren"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Alle Tiddler exportieren"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "Exportieren"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Diesen Tiddler exportieren"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "Mehrere exportieren"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Mehrere Tiddler exportieren"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "Ausblenden Textbereich"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Der Tiddler Textbereich wird ausgeblendet"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "Textbereich ein/aus"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Optionelle Buttons im Tiddler, um den Textbereich ein- bzw. auszublenden"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "Einblenden Textbereich"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Der Tiddler Textbereich wird eingeblendet"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "Ausblenden andere Textbereiche"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Die Textbereiche aller anderen Tiddler werden ausgeblendet"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "Ausblenden aller Textbereiche"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Ausblenden der Textbereiche aller Tiddler"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "Einblenden aller Textbereiche"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Einblenden der Textbereiche aller Tiddler"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "Vollbild"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Aktivieren oder Deaktivieren des Vollbild-Modus"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "Hilfe"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Hilfe anzeigen"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "Import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Importiere unterschiedliche Dateitypen. zB: Text, Bilder, TiddlyWiki oder JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "Info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Informationen zu diesem Tiddler anzeigen"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "Home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Öffnen der Standard-Tiddler"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "Sprache"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Auswahldialog für die Systemsprache"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "Tiddler Manager"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "Öffne den Tiddler Manager"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "mehr"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "Weitere Aktionen"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "Neu hier"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Erstelle einen neuen Tiddler, der mit dem Namen dieses Tiddlers getaggt ist"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "Neues Journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Erstelle einen neuen Journal-Tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "Neues Journal hier"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Erstelle ein neues Journal der mit diesem getaggt ist"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "Neues Bild"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Erstelle ein neues Bild"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "Neuer Markdown Tiddler"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Erstelle einen neuen \"Markdown\" Tiddler"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "Neuer Tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Erstelle einen neuen Tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "Öffne in neuem Fenster"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Öffne diesen Tiddler in einem neuen Fenster"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "Palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Wähle eine Farbpalette"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "Permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Die Adressleiste des Browsers enthält einen Link zu diesem Tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "Permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Die Adressleiste des Browsers enthält einen Link zu allen offenen Tiddlern in dieser Story"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "Seite drucken"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "Aktuelle Seite drucken"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "Aktualisieren"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Die Seite wird neu in den Browser geladen"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "Fertig"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Änderungen für diesen Tiddler bestätigen"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "Speichern"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Das Wiki speichern"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "Story-Modus"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Auswahl des Anzeigemodus für die Story"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "Sidebar ausblenden"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Sidebar ausblenden"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "Sidebar einblenden"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Sidebar einblenden"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "Tag-Manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Öffne den Tag-Manager"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "Zeitstempel"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "Einstellung, ob Änderungen den Zeitstempel beeinflussen"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "Zeitstempel EIN"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "Zeitstempel aktualisieren, wenn ein Tiddler verändert wird"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "Zeitstempel AUS"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "Zeitstempel bleibt unverändert, wenn ein Tiddler geändert wird"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "Theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Theme auswählen"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "Fett"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Ausgewählten Text fett darstellen"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "Löschen"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Bild mit Hintergrund Farbe löschen"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "Editor Höhe"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Editor Höhe an Inhalt anpassen"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Fixe Höhe:"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Wählen Sie die Höhe des Editors"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "Verschieben"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Text verschieben"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Makro Name:"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Titel des neuen Tiddlers:"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Ersetze den verschobenen Text mit:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "Makro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "Link"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "Transklusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Tagge den neuen Tiddler mit dem Titel des aktuellen Tiddlers"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Warnung: Tiddler existiert bereits!"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Verschiebe den ausgewählten Text in einen neuen Tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "Überschrift 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Überschrift 1 auf die Zeilen anwenden, die eine Auswahl enthalten"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "Überschrift 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Überschrift 2 auf die Zeilen anwenden, die eine Auswahl enthalten"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "Überschrift 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Überschrift 3 auf die Zeilen anwenden, die eine Auswahl enthalten"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "Überschrift 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Überschrift 4 auf die Zeilen anwenden, die eine Auswahl enthalten"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "Überschrift 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Überschrift 5 auf die Zeilen anwenden, die eine Auswahl enthalten"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "Überschrift 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Überschrift 6 auf die Zeilen anwenden, die eine Auswahl enthalten"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "Kursiv"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Kursiv auf den selektierten Text anwenden"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "Zeilen Länge"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Wählen Sie die Zeilenlänge"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "Link"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Erstellt einen Wiki-Link"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "Punkteliste"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Zeilen, die eine Markierung enthalten, werden als Punkteliste formatiert"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "Aufzählungsliste"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Zeilen, die eine Markierung enthalten, werden als Auzählungsliste formatiert"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "Dicktengleicher Textblock"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Alle Zeilen die eine Markierung enthalten, werden als Textblock mit einer dicktengleichen Schrift formatiert"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "Dicktengleich"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Alle markierten Zeichen werden mit einer dicktengleichen Schrift formatiert"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "Transparenz"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Wählen sie die Transparenz"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "Malfarbe"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Wählen Sie die Malfarbe"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "Bild"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Bild einfügen"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "Vorschau"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Vorschau einblenden"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "Vorschau Typ"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Wählen Sie den Vorschau Typ"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "Zitat"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Alle Zeilen, die eine Markierung enthalten werden als Referenz/Zitat formatiert"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "Bildgröße"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Höhe:"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Bildgröße ändern"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Weite:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Bildweite ändern"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "Stempel"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Eigenen Stempel erstellen"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Textschnipsel hier einfügen"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Name, der im Menü angezeigt werden soll"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Text des Schnipsels. (Nicher vergessen eine aussagekräftigen Titel zu verwenden)"
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "Durchgestrichen"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Ausgewählten Text durchgestrichen darstgellen"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "Tiefgestellt"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Ausgewählten Text tiefgestellt darstellen"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "Hochgestellt"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Ausgewählten Text hochgestellt darstellen"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "Unterstreichen"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Ausgewählten Text unterstrichen darstellen"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Erweitert"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Interne Informationen über dieses ~TiddlyWiki."
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Design"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Möglichkeiten um das Aussehen Ihres ~TiddlyWikis anzupassen."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Dauer der Animation:"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basis"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Verwenden Sie [[doppelte eckige Klammern]] für Titel mit Leerzeichen oder wählen Sie <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">Offene Tiddler beim Laden wiederherstellen.</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Standard-Tiddler:"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Tiddler, die beim Start geladen werden:"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hallo! Aktuelle Sprache:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Titel des neuen Journal-Tiddlers:"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "Text des neuen Journal-Tiddlers:"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags des neuen Journal-Tiddlers:"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Anzahl überschriebener Schatten-Tiddler:"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Anzahl Schatten-Tiddler:"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Untertitel:"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Anzahl System-Tiddler:"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Anzahl Tags:"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Anzahl Tiddler:"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Titel dieses ~TiddlyWikis:"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Benutzersignatur zum Editieren:"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki Version:"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Typen"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "Diese Tiddler definieren, welcher Editor für bestimmte Tiddler Typen (MIME-Type) verwendet werden soll."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "MIME-Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Informationen über dieses TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Tastenkürzel hier eingeben"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "Tastenkürzel erstellen"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Tastenkürzel"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Tastenkürzel Zuweisungen bearbeiten"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "Keine Tastenkürzel Zusweisungen vorhanden"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "Löschen eines Tastenkürzels"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "Alle Plattformen"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Nur Macintosh"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Alle Plattformen, außer Macintosh"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Nur Linux"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Alle Plattformen, außer Linux"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Nur Windows"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Alle Plattformen, außer Windows"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Geladene Module"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "Hier werden die geladenen Module und ihre Quelltext-Komponenten angezeigt. Kursiv hervorgehobene Tiddler haben keinen Quelltext. Sie werden während des Boot-Prozesses (Aufrufen des Tiddlywikis) erstellt."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "Palette klonen"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "Es wird empfohlen, dass Sie diese Schatten-Palette klonen, bevor Sie sie bearbeiten. Der Name der Palette wird im Tiddler-Feld \"description\" eingestellt."
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "Diese Schatten-Palette wurde bearbeitet."
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Bearbeiten"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "Palette zurücksetzen"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "Editor ausblenden"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Ausgewählte Farbpalette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "Editor zeigen"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parser"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Hier können Sie die globalen Parser-Einstellungen ändern. ACHTUNG: Manche Einstellungen können dazu führen, dass ~TiddlyWiki nicht mehr richtig funktioniert. Sollte das der Fall sein, dann können Sie die Änderungen im [[\"safe mode\"|https://tiddlywiki.com/#SafeMode]] rückgängig machen."
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Regeln"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Regeln"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Regeln"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Suche"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Suche und installiere neue Plugins"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "Dieses Plugin ist bereits installiert. Version: <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "deaktivieren"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Deaktivieren Sie dieses Plugin beim nächsten Laden der Seite."
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(deaktiviert)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "keine"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "aktivieren"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Aktivieren Sie dieses Plugin beim nächsten Laden der Seite."
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "installieren"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Momentan installierte Plugins"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Sprachen"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Spracherweiterungen"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "Kein ''\"<$text text=<<currentTab>>/>\"'' gefunden"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "Dieses Plugin ist momentan nicht installiert"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "Öffne das Plugin-Verzeichnis"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "Schließe das Plugin-Verzeichnis"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Erweiterungen"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "erneut installieren"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Themes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Theme Erweiterungen"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Speichern"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "Erlaube automatisches Speichern für den \"Download Saver\""
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "Erlaube automatisches Speichern für den \"Download Saver\""
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "Diese Einstellungen gelten für den HTML5-compatiblen \"Download Saver\""
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "Allgemein"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "Diese Einstellungen gelten für alle Speichermechanismen"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "Einstellungen zu den TiddlyWiki Speichermechanismen"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Erweiterte Einstellungen"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Verzeichnis für das \"Backup\""
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "\"Backups\""
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "Speichern auf ~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "Diese Einstellungen sind nur für http://tiddlyspot.com und kompatible Server aktiv!"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Dateiname für den \"Upload\""
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//Die Standard-Server-URL ist `http://<wikiname>.tiddlyspot.com/store.cgi` und kann im Feld 'Server-URL' verändert werden. zB: http://example.com/store.php//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Passwort"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server-URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Verzeichnis für den \"Upload\""
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Name des Wikis"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Automatisch speichern"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Änderungen NICHT automatisch speichern"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Änderungen automatisch speichern"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Änderungen des Wikis automatisch speichern"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Camel Case Wiki Links"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "Hier können Sie die automatische Umwandlung von \"~CamelCase Links\" einstellen. ''Wichtig:'' Die Seite muss neu geladen werden, damit die Einstellungen wirksam werden."
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Automatische ~CamelCase Umwandlung aktivieren"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Einstellungen"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "Aktivieren oder deaktivieren der Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "Editor Toolbar anzeigen"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "Tiddler Info Panel Modus"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "Einstellung, wann das Info Panel geschlossen wird:"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "Tiddler Info-Panel schließt automatisch"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "TiddlerTiddler Info-Panel bleibt offen, bis es geschlossen wird"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "Diese erweiterten Einstellungen ermöglichen Ihnen, das Verhalten von TiddlyWiki zu ändern."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Adresszeile"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Verhalten der Adresszeile des Browsers, wenn ein Tiddler geöffnet wird:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Die Adresszeile des Browsers wird nicht verändert."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Den aktuellen Tiddler einbinden."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Alle geöffneten Tiddler einbinden."
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Browser Chronik"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Die Browser Chronik ändern, wenn ein Tiddler angezeigt wird:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Browser Chronik nicht ändern."
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Browser Chronik ändern."
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Performance Messung"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Anzeige der Performance Statistik in der Browser Entwickler Konsole. ''Wichtig:'' Seite neu laden um die Einstellung zu aktivieren!"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Aktiviere Performance Messung"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Toolbar Button Stil"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Wählen Sie einen Stil:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Ohne Rand"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Box"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Abgerundet"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Standard Toolbar Button Erscheinungsbild:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Icon anzeigen"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Text anzeigen"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Standard Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Definition, welcher Sidebar Tab standardmäßig aktiv ist."
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Tiddler Öffnen"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation bei Klicks //innerhalb// der Story"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation bei Klicks //außerhalb// der Story"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Öffne vor dem aktuellen Tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Öffne unter dem aktuellen Tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Öffne als ersten Tiddler in der Story"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Öffne alse letzten Tiddler in der Story"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Tiddler Titel"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Tiddler Titel als Links anzeigen:"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Tiddler Titel normal anzeigen."
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Tiddler Titel als Link anzeigen."
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Wiki-Links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Aktiviere Links zu fehlenden Tiddlern. zB: FehlenderTiddler [[Einführung]]"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Aktiviere Links zu fehlenden Tiddlern."
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Anzeige"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Ausgewählte Anzeige:"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Ausgewähltes Theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Felder"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "Hier finden Sie alle [[Felder|TiddlerFields]], die in diesem Wiki verwendet werden. Inklusive der Felder aus System-, exklusive Schatten-Tiddler."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Auswählen, welche Buttons im \"Edit Modus\" angezeigt werden. Verwenden Sie \"Drag and Drop\", um die Reihenfolge zu ändern"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Auswählen, welche \"Toolbar Button\" angezeigt werden"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Auswählen, welche Buttons im Hauptmenü angezeigt werden. Verwenden Sie \"Drag and Drop\", um die Reihenfolge zu ändern"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Auswählen, welche Editorbuttons angezeigt werden sollen. Manche Buttons sind vom Tiddler-Typ abhängig und werden eventuell ausgeblendet."
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Auswählen, welche Buttons im \"View Modus\" angezeigt werden. Verwenden Sie \"Drag and Drop\", um die Reihenfolge zu ändern"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Herunterladen des ''gesamten Wikis''"
},
"$:/core/de-DE/readme": {
"title": "$:/core/de-DE/readme",
"text": "Dieses Plugin enthält die TiddlyWiki Basis Komponenten, bestehend aus:\n\n* JavaScript Code Module.\n* Piktogramme (icons).\n* Vorlagen, die benötigt werden um die TiddlyWiki Oberfläche zu erstellen.\n* British English (''en-GB'') übersetzbare Texte, die von der TW Basis Software verwendet werden.\n"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "."
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "."
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "."
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "."
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "."
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "."
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "."
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "."
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "."
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "."
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "."
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "."
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "."
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "."
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "."
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "."
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "."
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "."
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "."
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "."
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "."
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "."
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "."
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "."
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "."
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "."
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "."
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "."
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "."
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "."
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "."
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sonntag"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Montag"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Dienstag"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Mittwoch"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Donnerstag"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Freitag"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Samstag"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "Januar"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "Februar"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "März"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "Mai"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "Juni"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "Juli"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "Oktober"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "Dezember"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "So"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mo"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Di"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Mi"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Do"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fr"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sa"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mär"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "Mai"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Okt"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dez"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "in <<period>> Tagen"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "in <<period>> Stunden"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "in <<period>> Minuten"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "in <<period>> Monaten"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "in einer Sekunde"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "in <<period>> Sekunden"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "in <<period>> Jahren"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "vor <<period>> Tagen"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "vor <<period>> Stunden"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "vor <<period>> Minuten"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "vor <<period>> Monaten"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "vor einer Sekunde"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "vor <<period>> Sekunden"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "vor <<period>> Jahren"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "Ein Sub-Operator für den ''all'' Filter Operator."
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animationen, die vom RevealWidget verwendet werden."
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "Eine \"Bitmap-Editor\" Toolbar Operation."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Kommandozeilen-Parameter, die mit node.js ausgeführt werden können."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Daten, die in `$tw.config` eingefügt werden."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individuelle Funktionen für den Filter-Operator."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Globale Daten, die in `$tw` eingefügt werden."
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "Veröffentlicht System-Informationen mit dem Pseudo-plugin: [[$:/temp/info-plugin]]"
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operanden für den Filter-Operator: ''is''"
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "Allgemeiner Modultyp, für JavaScript Module."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "Globale Makro-Definitionen in JavaScript."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parser für verschiedene Tiddler Typen."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "\"Savers\" stellen verschiedene Methoden zum Speichern mit dem Browser zur Verfügung."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Funktionen zur Initialisierung."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "[[Story-View|Story]] ist für das Verhalten des \"ListWidgets\" zuständig, das die Tiddler \"Hauptanzeige\" verwaltet. Mit dem Toolbutton Story-Modus wird einer dieser Modi ausgewählt."
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "Eine Text-Editor Toolbar Operation."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Konvertiert verschiedene textbasierte Inhaltstypen in das Tiddler-Format."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Definiert das Verhalten, der unterschiedlichen Tiddler-Felder."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Methoden werden dem `$tw.Tiddler` Prototypen hinzugefügt."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Führt spezifische Änderungen während des Upgrade- oder Import-prozesses durch."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Methoden werden `$tw.utils` hinzugefügt."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Erweitert `$tw.utils` mit Methoden aus node.js."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets verarbeiten das Rendern und Aktualisieren der Anzeige in der DOM."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Methoden werden zu `$tw.Wiki` hinzugefügt."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Enthält die individuellen Parser Regeln für den WikiText-Parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Warnung Hintergrund"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Warnung Rahmen"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Warnung Hervorhebung"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Warnung gedeckt Vordergrund"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "Hintergrund Global"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Zitat Markierung"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Standard-Button Hintergrund"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Standard-Button Rahmen"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Standard-Button Vordergrund"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Speichern nötig - Indikator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code Hintergrund"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code Rahmen"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code Vordergrund"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Herunterladen-Button Hintergrund"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Herunterladen-Button Vordergrund"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Ziehen Hintergrund"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Ziehen Vordergrund"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Auswahldialog Hintergrund"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Auswahldialog Rahmen"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Auswahldialog ausgewählter Reiter Hintergrund"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Auswahldialog Reiter Hintergrund"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Import Zone Hintergrund"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "Externer Link Hintergrund (hover)"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "Externer Link besucht Hintergrund"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "Externer Link Hintergrund"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "Externer Link Vordergrund (hover)"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "Externer Link besucht Vordergrund"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "Externer Link Vordergrund"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "Vordergrund Global"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Meldungs-Box Hintergrund"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Meldungs-Box Rahmen"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Meldungs-Box Vordergrund"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modaler Dialog abgedunkelt"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modaler Dialog Hintergrund"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modaler Dialog Rahmen"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modaler Dialog Fußzeile Hintergrund"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modaler Dialog Fußzeile Rahmen"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modaler Dialog Kopfzeile Rahmen"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "Global gedeckt Vordergrund"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Mitteilung Hintergrund"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Mitteilung Rahmen"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Seite Hintergrund"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Formatierter Code Hintergrund"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Formatierter Code Rahmen"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "Global Primary"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Seitenleiste Button Vordergrund"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Seitenleiste Bedienelement Vordergrund (hover)"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Seitenleiste Bedienelement Vordergrund"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Seitenleiste Vordergrund Schatten"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Seitenleiste Vordergrund"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Seitenleiste gedeckt Vordergrund (hover)"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Seitenleiste gedeckt Vordergrund"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Seitenleiste Reiter"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Seitenleiste Reiter Hintergrund"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Seitenleiste Reiter Rahmen für selektierte Reiter"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Seitenleiste Reiter Rahmen"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Seitenleiste Reiter Trennzeichen"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Seitenleiste Reiter Vordergrund für selectierte Reiter"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Seitenleiste Reiter Vordergrund"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Seitenleiste Tiddler Link Vordergrund (hover)"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Seitenleiste Tiddler Link Vordergrund"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "Wiki Titel Vordergrund"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Statische Warnung Vordergrund"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Reiter Hintergrund für selektierte Reiter"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Reiter Hintergrund"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Reiter Rahmen für selektierte Reiter"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Reiter Rahmen"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Reiter Trennzeichen"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Reiter Vordergrund für selektierte Reiter"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Reiter Vordergrund"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Tabelle Rahmen"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Tabelle Fußzeile Hintergrund"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Tabelle Kopfzeile Hintergrund"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag Hintergrund"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag Vordergrund"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler Hintergrund"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler Rahmen"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler Bedienelement Vordergrund (hover)"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler Bedienelement Vordergrund für selektierte Elemente"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler Bedienelement Vordergrund"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler Editor Hintergrund"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler Editor Rahmen Bild"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler Editor Rahmen"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler Editor Hintergrund geradzahlige Felder in Tabelle"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler Editor Hintergrund un-geradzahlige Felder in Tabelle"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler Info Bereich Hintergrund"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler Info Bereich Rahmen"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler Info Bereich Reiter Hintergrund"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler Link Hintergrund"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler Link Vordergrund"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler Untertitel Vordergrund"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler Titel Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Werkzeugleiste 'Neuer Tiddler' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Werkzeugleiste 'Optionen' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Werkzeugleiste 'Speichern' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Werkzeugleiste 'Info' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Werkzeugleiste 'Bearbeiten' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Werkzeugleiste 'Schließen' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Werkzeugleiste 'Löschen' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Werkzeugleiste 'Abbruch' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Werkzeugleiste 'Fertig' Button Vordergrund"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "(untagged) Pille Hintergrund"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Stark abgedunkelter Vordergrund"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "Dies ist ein externer Tiddler, der nicht im TW file gespeichert ist. Sie können die \"Tags\" und \"Feld\" Texte ändern, jedoch nicht den Inhalt des Tiddlers!"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Geben Sie den Text für diesen Tiddler ein."
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "Anzeige"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "Lösche Feld"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Lösche Feld"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "ok"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "Feld Name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Feld einfügen:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "Feld Text / Wert"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "System Felder"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "Anwender Felder"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "Dies ist ein Schatten-Tiddler. Jede Änderung, die Sie machen, überschreibt die Standardversion des Plugins: <<pluginLink>>"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "Dies ist ein veränderter Tiddler. Um zur Standardversion zurückzukehren, löschen Sie diesen Tiddler. Plugin: <<pluginLink>>"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "ok"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "neuer Tag"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "Tag Liste"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Tag Liste anzeigen"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Warnung: Folgende Zeichen im Titel können zu Problemen führen: <<bad-chars>>"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "Tiddler Name existiert bereits"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Ändere ''<$text text=<<fromTitle>>/>'' -> ''<$text text=<<toTitle>>/>'' in //tags// und //list// Feld aller anderen Tiddler"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "Tiddler Typ Liste"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Anzeigen der Tiddler Typ Liste"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "Lösche Inhalts Typ"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Lösche Inhalts Typ"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "Tiddler Format"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Typ:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "HTML - Statisch"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON - Format"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV - Format"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": ".tid - Format"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "Die komplette URI eines externen Foto Tiddlers. URI = Uniform Resource Identifier, Identifikator für Ressourcen im Internet."
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "Der Name eines ~TiddlyWeb \"bags\" von dem der Tiddler kam."
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "Der Text, der auf \"Tab-Buttons\" angezeigt wird."
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "Der CSS Farbwert, der mit einem Tiddler assoziiert wird."
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "Der Name einer Komponente, die für eine [[Alarm Anzeige|AlertMechanism]] verantwortlich ist."
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Wird verwendet um den \"obersten\" Tiddler in der [[Tiddler Historie|HistoryMechanism]] zwischen zu speichern."
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "Datum an dem der Tiddler erstellt wurde."
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "Name des Erstellers dieses Tiddlers."
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "Listet die Abhängigkeiten bei \"plugins\" auf."
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "Die Beschreibung für ein \"plugin\" oder einen \"modalen\" Dialog."
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "Entwurf von - enthält den Titel des Tiddlers, zu dem dieser Entwurf-Tiddler gehört."
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "Entwurf Titel - enthält den neuen Titel, wenn der Entwurf-Tiddler gespeichert wird."
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "Der Fußnoten Text bei einem \"~Wizard-Dialog\""
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "Ein temporäres Feld, verwendet in [[$:/core/templates/static.content]]"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "Der Titel eines ~Icon-Tiddlers, der mit diesem Tiddler verbunden ist."
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "Wenn dieses Feld=\"yes\" ist, dann soll der Tiddler als JavaScript Bibliothek gespeichert werden."
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "Eine geordnete Tiddler Liste, die mit diesem Tiddler verbunden ist."
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "Dient zum Einfügen von Tiddler Titeln in das \"list\" Feld. Wenn gesetzt, wird der neue Tiddler ''vor'' dem hier definierten Tiddler in die Liste eingefügt. Wenn vorhanden, aber leer, dann wird der neue Tiddler an den Anfang der Liste gesetzt."
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "Dient zum Einfügen von Tiddler Titeln in das \"list\" Feld. Wenn gesetzt, wird der neue Tiddler ''nach'' dem hier definierten Tiddler in die Liste eingefügt."
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "Datum, an dem der Tiddler zuletzt verändert wurde."
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "Name der Person, die den Tiddler zuletzt verändert hat."
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "Ein Menschen lesbarer Name für einen \"plugin\" Tiddler."
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "Ein numerischer Wert, der die Priorität eines \"plugins\" festlegt."
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "Der Typ eines \"plugins\"."
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "Die Revisionsnummer eines Tiddlers. Wird von einem Server vergeben."
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Datum der ~TiddlyWiki Ausgabe."
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "Eine Quelltext URL, verbunden mit diesem Tiddler."
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "Der Untertitel für einen \"~Wizard-Dialog\"."
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "Eine Liste von \"Tags\" für diesen Tiddler."
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "Der Haupttext eines Tiddlers."
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "Ein individueller einmaliger Name eines Tiddlers."
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "Legt den Typ eines Tiddlers fest (aka MIME-type)."
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Versions-Information eines \"plugins\"."
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "Alle Tiddler außer System-Tiddler"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Kürzlich veränderte Tiddler, inklusive System-Tiddler"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Kürzlich veränderte Tiddler"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "Alle Tags außer System-Tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Fehlende Tiddler"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Entwurf Tiddler"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Waisen Tiddler"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System-Tiddler"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Schatten-Tiddler"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Überschriebene Schatten-Tiddler"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System-Tags"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "Tiddler im \"story river\", außer <$text text=\"$:/AdvancedSearch\"/>"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "Nicht \"wiki-text\" Tiddler"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWillkommen bei ~TiddlyWiki, einem persönlichen nicht-linearen Web-Notizbuch.\n\nVor dem Start, vergewissern Sie sich, dass Sie dieses Wiki auch wirklich speichern können. Weitere Informationen finden Sie für:\n\n* Österreich: https://tiddlywiki.com/languages/de-AT\n* Deutschland: https://tiddlywiki.com/languages/de-DE\n* Allgemein (englisch): https://tiddlywiki.com \n\nErste Schritte:\n\n* Erstellen Sie einen neuen Tiddler mit dem \"Plus-Button\" in der rechten Navigationsleiste.\n* Einstellungen können im [[Kontrollpanel|$:/ControlPanel]] vorgenommen werden. Siehe: \"Zahnrad-Button\" \n** Das Anzeigen dieses Tiddlers können Sie verhindern, indem Sie die \"~DefaultTiddlers\" im ''Basis-Tab'' verändern.\n* Speichern wird mit dem \"Speichern-Button\" in der Navigationsleiste ausgelöst. \n* Österreich: [[Weitere Informationen zu WikiText|https://tiddlywiki.com/languages/de-AT/index.html#WikiText]]\n* Deutschland: [[Weitere Informationen zu WikiText|https://tiddlywiki.com/languages/de-DE/index.html#WikiText]]\n\nHinweis: Die österreichische und deutsche Version unterscheiden sich momentan nur in der Flagge, die bei der Standard Sprachauswahl angezeigt wird. In Zukunft können Beschriftungen der Benutzeroberfläche geringfügig von einander abweichen. zB: Jänner - Januar.\n\n!! Einrichten dieser ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Ausführen, von vorkonfigurierten Befehlen.",
"text": "Dieser Befehl erstellt die vorkonfigurierten Ziele, der aktuellen Wiki Edition. Sind keine Ziele spezifiziert, dann werden all konfigurierten Ziele erstellt.\n\n```\n--build <target> [<target> ...]\n```\n\nZiele werden in der `tiddlywiki.info` Datei, im Wiki Verzeichnis konfiguriert.\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Lösche das Passwort, das für die vorhergehenen Verschlüsselungen verwendet wurde.",
"text": "Lösche das Passwort, das für die vorhergehenen Verschlüsselungen verwendet wurde.\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nVerwendung: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nVerfügbare Befehle:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nDetailierte Informationen zu den Befehlen:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Listet alle verfügbaren TiddlyWiki Editionen auf",
"text": "Listet alle verfügbaren TiddlyWiki Editionen auf.\n\n```\n--editions\n```\n\nSie können ein neues Wiki mit dem `--init` Kommando erstellen. Dabei wird eine der angezeigten Editionen \"geklont\".\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "Fetch tiddlers from wiki by URL",
"text": "Abrufen eines oder mehrerer Dateien über HTTP/HTTPS. Importieren der tiddler, die dem Filter entsprechen. Umwandeln der ankommenden Titel, wenn nötig.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n```\n\nWird der `file` parameter verwendet, wird nur eine einzelne Datei geholt. Der erste Parameter ist die URL von der die Datei geladen werden soll.\n\nWird der `files` parameter verwendet, werden mehrere Dateien geholt. In diesem Fall ist der erste Parameter ein Filter, der eine Liste von URLs ergibt, von denen die Dateien gelesen werden sollen. Zum Beispiel: Mehrere Tiddler sind getagged mit: `remote-server` und enthalten ein Feld: `url`. ... Der Filter `[tag[remote-server]get[url]]` wird alle verfügbaren URLs ansprechen.\n\n\nDer `<import-filter>` Parameter, spezifiziert jene Tiddler, die importiert werden sollen. Standard ist: `[all[tiddlers]]`, wenn nichts angegeben wird.\n\nDer `<transform-filter>` Parameter, spezifiziert einen Filter, mit dem der Tiddler Name verändert werden kann. zB: `[addprefix[$:/meinImport/]]` würde `$:/meinImport/` allen Tiddler Namen voran stellen.\n\nWird `--verbose` vor dem `--fetch` Befehl benutzt, dann werden erweiterte Diagnose Infos ausgegeben.\n\nHinweis: ~TiddlyWiki wird ''keine'' veralteten plugins importieren.\n\nDas folgende Beispiel wird alle \"nicht-system\" Tiddler von https://tiddlywiki.com holen und in ein `JSON` file speichern.\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Anzeige der Hilfe für die TiddlyWiki Befehle.",
"text": "Anzeige der Hilfe für die TiddlyWiki Befehle.\n\nBeispiel:\n\n```\n--help [<command>]\n```\n\nWird der Parameter <command> nicht angegeben, werden alle Befehle aufgelistet.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialisiere eine neues Wiki Verzeichnis.",
"text": "Initialisiere eine neues [[Wiki Verzeichnis|WikiFolders]] mit der Kopie einer Edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nBeispiel:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nAnmerkung:\n\n* Das Wiki Verzeichnis wird angelegt, wenn es nicht existiert.\n* Der <edition> Parameter ist standardmäßig: ''empty''.\n* Der --init Befehl bricht ab, wenn das angegebene Verzeichnis nicht leer ist.\n* Der --init Befehl löscht alle `includeWikis` Definitionen aus der neuen `tiddlywiki.info` Datei\n* Wenn mehrere Editionen importiert werden, wird die zuletzt importierte `tidlywiki.info` Datei aktiv sein. Alle anderen weden überschrieben.\n\n* `--editions` listet alle verfügbaren Editionen auf.\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Lade Tiddler von einer Datei.",
"text": "Lade Tiddler aus einer TiddlyWiki 2.x.x `.html`, `.tiddler`, .`tid`, `.json` oder anderen Datei.\n\n```\n--load <filepath>\n```\n\nUm Daten aus einer verschlüsselten TiddlyWiki Datei zu laden, muss zuerst mit dem \"password\" Parameter ein Passwort definiert werden. \n\nBeispiel:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nHinweis: TiddlyWiki wird nur neuere Versionen eines bestehenden Plugins laden!\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Erstellt die \"Upgrade Bibliothek\", die vom upgrade Prozess benötigt wird",
"text": "Erstellt den tiddler: `$:/UpgradeLibrary`, der vom upgrade Prozess benötigt wird.\n\nDie \"Upgrade Bibliothek\" ist ein \"normales\" Plugin, vom Typ: `library`. Es enthält eine Kopie jedes Plugins, Themas und Sprachpacketes, das im TiddlyWiki Archiv enthalten ist.\n\nDieser Befehl ist ein \"interner\" Befehl! Er ist nur relevant für Benutzer, die einen spezifischen \"Upgrade Prezess\" erstellen müssen. zB: Umwandeln von einem Tiddler in mehrere Tiddler, um Inkompatibilitäten zu vermeiden.\n\n```\n--makelibrary <title>\n```\n\nDas \"title\" Argument ist standardmäßig: `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "Keine Hilfe zu diesem Thema gefunden!"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Setzt das Basis Ausgabeverzeichnis für die folgenden Befehle.",
"text": "Setzt das Basis Ausgabeverzeichnis für die folgenden Befehle. Das Standard Verzeichnis heißt: `output` und ist ein Unterverzeichnis des `edition` Verzeichnisses.\n\n```\n--output <pathname>\n```\n\nIst das spezifizierte Verzeichnis \"relativ\", dann wird es relativ zum bestehenden Arbeitsverzeichnis angelegt.\nZum Beispiel: `--output .` setzt das Ausgabeverzeichnis auf das aktuelle Verzeichnis.\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Setzen eines Passwortes für Verschlüsselungsoperationen.",
"text": "Setzen eines Passwortes für Verschlüsselungsoperationen\n\n```\n--password <password>\n```\n\nHinweis: Diese Option kann nicht verwendet werden, um ein \"Server Passwort\" festzulegen! Informationen zum Server Passwort siehe \"--server\" Kommando.\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Ausgabe eines individuellen Tiddlers, in einem spezifizierten Format.",
"text": "Ausgabe eines individuellen Tiddlers, in einem spezifizierten Format (standard: `text/html`) und Dateinamen.\n\nOptional kann ein Template tiddler angegeben werden. Die \"currentTiddler\" Variable wird auf den Tiddler gesetzt, der zu rendern ist.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nNicht vorhandene Verzeichnisse werden automatisch erstellt.\n\n''Beispiel:''\n\nDer folgende Befehl speichert alle tiddler mit dem `tag: done` in eine `JSON` Datei mit dem Namen: `output.json`. Das Template `$:/core/templates/exporters/JsonFile` wird auf die zu speichernden Daten angewandt.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Gefilterte Ausgabe von Tiddlern, in einem spezifizierten Format.",
"text": "Gefilterte Ausgabe mehrerer Tiddler, in ein angegebenes Dateiformat (standard: `text/html`) mit spezifischer Erweiterung (Standard: `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nBeispiel:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nNicht vorhandene Verzeichnisse werden automatisch erstellt und enthaltene Dateien werden gelöscht. Mit dem \"noclean\" Parameter, kann das löschen vorhandener Dateien unterdrückt werden.\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Speichert einen Tiddler als File.",
"text": "Speichert einen individuellen Tiddler im Text- oder Binärformat mit dem angegebenen Dateinamen.\n\n```\n--savetiddler <title> <filename>\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nNicht vorhandene Verzeichnisse werden automatisch erstellt.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Speichert eine Gruppe von Tiddler in ein Verzeichnis",
"text": "Speichert eine Gruppe von Tiddler im Text- oder Binärformat in ein angegebenes Verzeichnis.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nWichtig: Alle Dateien im Ausgabeverzeichnis werden automatisch gelöscht, wenn dieser Befehl verwendet wird. Um dies zu verhindern kann der ''noclean'' Parameter verwendet werden.\n\nNicht vorhandene Verzeichnisse im Pfadnamen werden automatisch erstellt.\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Stellt einen HTTP server für TiddlyWiki zur Verfügung.",
"text": "TiddlyWiki bringt einen sehr einfachen Web-Server mit. Dieser ist zwar kompatibel mit dem TiddlyWeb Protokoll, ist jedoch nicht ausgereift genug, um im produktiven Einsatz im Netz eingesetzt zu werden. \n\nDer Server kann spezifische Tiddler im angegebenen Format anzeigen (rendern). Zudem können einzelne, oder mehrere Tiddler im JSON Format übertragen werden. Die unterstützten HTTP Funktionen sind: `GET`, `PUT` und `DELETE`\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host>\n```\n\nDie Parameter sind: \n\n* ''port'' - Port Nummer mit der kommuniziert werden soll (Standard: \"8080\").\n* ''roottiddler'' - Der Tiddler, der als ~Basis-Tiddler verwendet werden soll ( Standard: \"$:/core/save/all\").\n* ''rendertype'' - MIME-Type, zu dem der ~Basis-Tiddler \"gerendert\" werden soll ( Standard: \"text/plain\").\n* ''servetype'' - MIME-Type, mit dem der Basis-Tiddler ausgeliefert werden soll ( Standard: \"text/html\").\n* ''username'' - Benutzer Name, mit dem veränderte Tiddler signiert werden.\n* ''password'' - Passwort mit dem eine sehr \"simple\" Zugangsbeschränkung aufgebaut werden kann.\n* ''host'' - ~Host-Name von dem ausgeliefert werden soll. Host ist optional ( Standard: \"127.0.0.1\" oder auch \"localhost\").\n* ''pathprefix'' - Optionales prefix für Pfade.\n\nWenn beim Serverstart ein Passwort angegeben wird, dann wird der Benutzer aufgefordert den Benutzernamen und das Passwort einzugeben, bevor ein Wiki angezeigt wird. ACHTUNG: Das Passwort wird im Klartext übertragen. Diese Vorgehensweise ist nicht für den Einsatz im Netz geeignet.\n\nBeispiel:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MeinBenutzerName passw0rt\n```\n\nDer Name und das Passwort können als \"leere\" Zeichenketten definiert werden, wenn ein \"hostname\" oder \"pathprefix\" nötig ist, jedoch kein Passwort verwendet werden soll.\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nEs ist möglich mehrere TiddlyWiki Server gleichzeitig zu starten. Jeder Server muss jedoch mit einem eigenen Port gestartet werden.\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Experimentell - Setzt ein Tiddler \"field\" auf einen bestimmten Wert",
"text": "//Wichtig! Dieser Befehl is experimentell und kann während der Betaphase geändert oder ersetzt werden!//\n\nSetzt ein spezifiziertes Feld, für eine Gruppe von Tiddlern. Ein Template wird \"wikifiziert\" und das Ergebnis in das Feld geschrieben. Die `currentTiddler` Variable wird auf den jeweiligen Tiddler gesetzt. \n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - Filter, der die zu modifizierenden Tiddler auswählt.\n* ''fieldname'' - Das zu verändernde Feld (Standardwert: \"text\").\n* ''templatetitle'' - Der zu wikifizierende Vorlagen Tiddler, dessen Ergebnis in das Feld geschrieben wird. Wenn Leer, dann wird das Feld gelöscht.\n* ''rendertype'' - Der Text Typ für den \"rendering\" Vorgang (Standardwert: \"text/plain\"; \"text/html\" kann verwendet werden, um \"HTML tags\" zu erzeugen).\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Extrahiere Tiddler aus einem Plugin",
"text": "Extrahiert alle Tiddler aus einem plugin und schreibt diese als einzelne Tiddler Dateien:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Aktiviert die erweiterte Fehlerausgabe.",
"text": "Aktiviert die erweiterte Fehlerausgabe. Nützlich um Fehler zu finden.\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Gibt die Versionsnummer von TiddlyWiki aus.",
"text": "Gibt die Versionsnummer von TiddlyWiki aus.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "Folgende Tiddler wurden importiert:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Abbrechen"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "Diese Tiddler können importiert werden:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Importieren"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Auswahl"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Titel"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Unterdrückte, inkompatible oder veraltete \"plugins\""
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Einige \"plugins\" weden unterdrückt! Importierte plugins: <<incoming>> sind älter als existierende: <<existing>>."
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Aktualisieren der plugins von: <<incoming>> nach: <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Unterdrückte temporäre Status Tiddler"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Unterdrückte \"System Tiddler\""
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrieren der \"theme tweaks\" von: <$text text=<<from>>/>"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "Es scheint, Sie möchten ein Plugin verwenden, dass für [[TiddlyWiki Classic|https://tiddlywiki.com/#TiddlyWikiClassic]] entwickelt wurde. Diese Plugins können jedoch mit ~TiddlyWiki Version 5 nicht verwendet werden. ~TiddlyWiki Classic plugin erkannt:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "Dieser Tiddler enthält binäre Daten."
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "Dieser Tiddler wurde im TiddlyWiki Classic Format erstellt. Dieses Format ist nur teilweise kompatibel mit TiddlyWiki Version 5. Mehr Info finden Sie unter: https://tiddlywiki.com/static/Upgrading.html"
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "alle schließen"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "Kürzlich:"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Wollen Sie die Änderungen im Tiddler: \"<$text text=<<title>>/>\" verwerfen?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Wollen Sie den Tiddler: \"<$text text=<<title>>/>\" löschen?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Tiddler: \"<$text text=<<title>>/>\" existiert! OK überschreibt den tiddler!"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "Sie sind dabei, einen Schatten-Tiddler zu verändern. Zukünftige, automatische Anpassungen werden dadurch unterdrückt. Sie können Ihre Änderungen rückgängig machen, indem Sie diesen Tiddler wieder löschen. Wollen Sie den Tiddler: \"<$text text=<<title>>/>\" ändern?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "Anzahl"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "Neuer Tiddler"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Hierher ziehen (oder Escape um abzubrechen)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Abbrechen"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Wollen Sie das Passwort löschen? Damit wird die Verschlüsselung beim nächsten Speichervorgang abgeschalten!"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Der TiddlyWiki Inhalt wird mit dem nächsten Speichern verschlüsselt!"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Benutzername"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Passwort"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Passwort wiederholen"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Passwörter stimmen nicht überein"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Passwort setzen"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Fehler"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "Datei auf Server verändert"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Filter Fehler"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Syntax Fehler im Filter-Ausdruck"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Filter Fehler: Unbekannter Operand für den 'is' Filter Operator"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Fehler beim Laden der \"plugin library\""
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Recursive Transclusion: Fehler im \"transclude widget\""
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Fehler beim Empfangen einer \"skinny\" Tiddler Liste"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Fehler beim Speichern mit \"TWEdit\""
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Fehler beim Speichern"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest Fehler-Code"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Interner JavaScript Fehler"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "Es tut uns leid, aber bitte starten Sie Ihr TiddlyWiki neu, indem sie die Seite im Browser neu laden."
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Das Feld: \"<$text text=<<fieldName>>/>\" enthält illegale Zeichen. Felder müssen klein geschrieben werden. Erlaubte Sonderzeichen sind: Zahlen, Unterstrich (`_`), Minus (`-`) und Punkt (`.`)."
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Lade externe Datei von ''<$text text={{!!_canonical_uri}}/>''</p><p>Wenn diese Meldung nicht automatisch gelöscht wird, dann verwenden Sie wahrscheinlich einen Browser der diese Funktion nicht unterstützt. Siehe https://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Login bei TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(kein)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "Filtern nach Tag:"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "Invertiert"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "Suche"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "Suche:"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "Tags"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "Tiddler"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "Anzeigen:"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "Sortieren nach:"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "Farbe"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "Feld"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(kein)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "Icon"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "Text"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "Tags"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "Tools"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified Text"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Fehlender Tiddler \"<$text text=<<currentTiddler>>/>\" - klicken Sie {{||$:/core/ui/Buttons/edit}} um ihn zu erzeugen."
},
"$:/language/No": {
"title": "$:/language/No",
"text": "Nein"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Offizielles ~TiddlyWiki Plugin-Verzeichnis"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "Offizielles ~TiddlyWiki Plugin-Verzeichnis auf tiddlywiki.com. Plugin, Themes und Sprach Dateien werden vom \"core team\" gewartet."
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Das Wiki muss gespeichert {{$:/core/ui/Buttons/save-wiki}} und neu gladen {{$:/core/ui/Buttons/refresh}} werden, damit die Plugins ausgeführt werden."
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "YYYY MMM DD"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "Das ist ein System-Tiddler"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "System-Tiddler einschließen"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Farbe"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "Anzahl"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Symbol"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DDth MMM YYYY um 0hh:0mm"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "TiddlyWiki wurde geändert, aber noch nicht gespeichert!"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Ja"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Änderungen Speichern",
"footer": "<$button message=\"tm-close-tiddler\">Schließen</$button>",
"help": "https://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Ihr Browser unterstützt nur manuelles Speichern. \n\nUm das geänderte Wiki zu speichern, machen Sie einen \"rechts klick\" auf den folgenden Link. Wählen Sie \"Datei herunterladen\" oder \"Datei speichern\" und wählen Sie Name und Verzeichnis.\n\n//Sie können den Vorgang etwas beschleunigen, indem Sie die \"Control-Taste\" (Windows) oder die \"Options/Alt-Taste\" (Max OS X) drücken. Es wird kein \"Speichern Dialog\" erscheinen. Jedoch wird bei einigen Browsern die Datei einen zufälligen Namen bekommen. Sie müssen die Datei eventuell umbenennen, um sie öffnen zu können.//\n\nBei \"Smartphones\", die das Speichern von Dateien nicht erlauben, können Sie ein Lesezeichen erstellen, dass mit Ihrem PC synchronisiert wird. Dort können Sie die Dateien dann wie gewohnt speichern.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Aktuellen Stand speichern",
"footer": "<$button message=\"tm-close-tiddler\">Schließen</$button>",
"help": "https://tiddlywiki.com/static/SavingChanges.html",
"text": "Ihre Änderungen sollen als ~TiddlyWiki HTML Datei gespeichert werden. \n\n!!! Desktop Browser\n\n# Verwenden Sie ''Speichern unter'' aus dem ''Datei'' Menü.\n# Wählen Sie den Dateinamen und das Verzeichnis. \n\n#* Bei einigen Browsern müssen Sie das Format explizit angeben. Zb: ''Webseite, nur HTML'' oder ähnliches.\n# Den Browser-Tab schließen.\n\n!!! Smartphone Browser\n\n# Erstellen Sie ein \"Lesezeichen\"\n#* Wenn Sie \"iCloud\" oder \"Google Sync\" verwenden, dann werden Ihre Daten automatisch mit dem Desktop PC synchronisiert. Dort können Sie wie oben beschrieben fortfahren. \n# Den Browser-Tab schließen.\n\n//Wenn Sie das Lesezeichen mit \"Mobile Safari\" öffnen, dann wird diese Meldung erneut angezeigt. Klicken Sie ''Schließen'' um fort zu fahren.//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "YYYY MMM 0DD"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Wiki gespeichert!"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Wiki zum Speichern vorbereiten!"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "Liste"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Suche mit [[\"filter expression\"|https://tiddlywiki.com/static/Filters.html]]."
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> Treffer</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> Treffer</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "Alle Treffer:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Titel Treffer:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Suchen"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "Suchtext ist zu kurz"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Schatten"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Suche in Schatten-Tiddlern."
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> Treffer</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Suche in Standard-Tiddlern."
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Suche in System-Tiddlern."
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> Treffer</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "Alle"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Inhalt"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Entwurf"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Fehlend"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "▼"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Offen"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Waisen"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Zuletzt"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Schatten"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Typen"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "ein persönliches nicht-lineares Web-Notizbuch\n"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "Mein ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Tiddler-Liste mit tag: \"task\", sortiert nach \"titel\"",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Makro Definition",
"text": "\\define makroName(param1:\"standard parameter\", param2)\nText des Makros. Zugriff auf den $param1$.\n$param2$\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Tabelle mit 5 Spalten, 4 Zeilen, Kopf- und Fußzeile",
"text": "| |Alpha |Beta |Gamma |Delta |h\n|!Beta | | | | |\n|!Gamma | | | | |\n|!Delta | | | | |\n| |a|b|c|d|f\n| Beschriftung |c\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Inhaltsverzeichnis",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'InhaltsVerzeichnis'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Theme Tweaks"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "Hier können sie verschiedene Elemente des ''Vanilla'' (Standard) Themas einstellen."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Optionen"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Seitenleiste Darstellung"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Fixe Story, variable Seitenleiste"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Variable Story, fixe Seitenleiste"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "\"Klebender Titel\""
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "Tiddler-Titel bleiben beim \"Scrollen\" am oberen Bildschirmrand \"kleben\". Funktioniert möglicherweise nicht mit jedem Browser."
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Lange Zeilen in \"Code-Blöcken\" umbrechen"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Einstellungen"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Schriftfamilie"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "\"Code\" Schriftfamilie"
},
"$:/language/ThemeTweaks/Settings/EditorFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/EditorFontFamily",
"text": "Editor Schriftfamilie"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Hintergrundbild für die Seite"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Hintergrundbild Anhang"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Mit Inhalt \"scrollen\""
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Fixe position im Fenster"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Hintergrundbild Größe"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Abdecken"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Anpassen"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Größen"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Schriftgröße"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Zeilenhöhe"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Schriftgröße für Tiddler Inhalt"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Zeilenhöhe für Tiddler Inhalt"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "\"Story\" - linke Position"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "Abstand des \"story rivers\" vom linken Fensterrand"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "\"Story\" - obere Position"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "Abstand des \"story rivers\" vom oberen Fensterrand"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "\"Story\" - rechte Position"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "Abstand der Seitenleiste from linken Fensterrand"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "\"Story\" - Breite"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "Breite des \"story rivers\""
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Tiddlerbreite"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "im \"story river\""
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Seitenleiste \"breakpoint\""
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "Minimum Fensterbreite, bei der die Seitenleiste an den Anfang der Seite verschoben wird."
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Seitenleiste Breite"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "Die Breite der Leiste bei variabler/fixer Darstellung"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Erweitert"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "keine"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "Dieses Plugin enthält folgende Schatten-Tiddler:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shatten Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "Der Tiddler: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> ist kein Schatten-Tiddler."
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "Der Tiddler: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> ist ein Schatten-Tiddler."
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "Er ist definiert im Plugin: <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>."
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "Der originale Schatten-Tiddler wurde durch diesen Tiddler überschrieben. Wenn Sie diesen Tiddler löschen, wird der originale Schatten-Tiddler wieder aktiv. Vorher eventuell eine Sicherungskopie erstellen!"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Felder"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "Liste"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "Dieser Tiddler hat kein \"list\" Feld."
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Gelistet"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "Dieser Tiddler wird nicht von anderen Tiddlern gelistet."
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "Referenzen"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "Kein Tiddler linkt zu Diesem."
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "Kein Tiddler ist mit diesem \"getaggt\"."
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JS - JavaScript Code",
"name": "application/javascript",
"group": "Entwickler"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON - Daten",
"name": "application/json",
"group": "Entwickler"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "TiddlyWiki Datenkatalog",
"name": "application/x-tiddler-dictionary",
"group": "Entwickler"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF - Bild",
"name": "image/gif",
"group": "Bilder"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG - Bild",
"name": "image/jpeg",
"group": "Bilder"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG - Portable Netzwerkgrafik",
"name": "image/png",
"group": "Bilder"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "SVG - Strukturierte Vektor Graphik",
"name": "image/svg+xml",
"group": "Bilder"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO - Piktogramm Format",
"name": "image/x-icon",
"group": "Bilder"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "CSS - Cascading Style Sheets",
"name": "text/css",
"group": "Entwickler"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML - Auszeichnungssprache",
"name": "text/html",
"group": "Text"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "TXT - Unformatierter Text",
"name": "text/plain",
"group": "Text"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TW5 - TiddlyWiki Version 5 Wikitext",
"name": "text/vnd.tiddlywiki",
"group": "Text"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TWc - TiddlyWiki Classic Wikitext",
"name": "text/x-tiddlywiki",
"group": "Text"
},
"$:/languages/de-DE/icon": {
"title": "$:/languages/de-DE/icon",
"type": "image/svg+xml",
"text": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n\t\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1000\" height=\"600\" viewBox=\"0 0 5 3\">\n\t<desc>Flag of Germany</desc>\n\t<rect id=\"black_stripe\" width=\"5\" height=\"3\" y=\"0\" x=\"0\" fill=\"#000\"/>\n\t<rect id=\"red_stripe\" width=\"5\" height=\"2\" y=\"1\" x=\"0\" fill=\"#D00\"/>\n\t<rect id=\"gold_stripe\" width=\"5\" height=\"1\" y=\"2\" x=\"0\" fill=\"#FFCE00\"/>\n</svg>\n"
}
}
}
\define lingo-base() $:/language/Manager/
\define list-item-content-item()
<div class="tc-manager-list-item-content-item">
<$vars state-title="""$:/state/popup/manager/item/$(listItem)$""">
<$reveal state=<<state-title>> type="match" text="show" default="show" tag="div">
<$button set=<<state-title>> setTo="hide" class="tc-btn-invisible tc-manager-list-item-content-item-heading">
{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field="caption"/>
</$button>
</$reveal>
<$reveal state=<<state-title>> type="nomatch" text="show" default="show" tag="div">
<$button set=<<state-title>> setTo="show" class="tc-btn-invisible tc-manager-list-item-content-item-heading">
{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field="caption"/>
</$button>
</$reveal>
<$reveal state=<<state-title>> type="match" text="show" default="show" tag="div" class="tc-manager-list-item-content-item-body">
<$transclude tiddler=<<listItem>>/>
</$reveal>
</$vars>
</div>
\end
<div class="tc-manager-wrapper">
<div class="tc-manager-controls">
<div class="tc-manager-control">
<<lingo Controls/Show/Prompt>> <$select tiddler="$:/config/Manager/Show" default="tiddlers">
<option value="tiddlers"><<lingo Controls/Show/Option/Tiddlers>></option>
<option value="tags"><<lingo Controls/Show/Option/Tags>></option>
</$select>
</div>
<div class="tc-manager-control">
<<lingo Controls/Search/Prompt>> <$edit-text tiddler="$:/config/Manager/Filter" tag="input" default="" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>
</div>
<div class="tc-manager-control">
<<lingo Controls/FilterByTag/Prompt>> <$select tiddler="$:/config/Manager/Tag" default="">
<option value=""><<lingo Controls/FilterByTag/None>></option>
<$list filter="[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]" variable="tag">
<option value=<<tag>>><$text text=<<tag>>/></option>
</$list>
</$select>
</div>
<div class="tc-manager-control">
<<lingo Controls/Sort/Prompt>> <$select tiddler="$:/config/Manager/Sort" default="title">
<optgroup label="Common">
<$list filter="title modified modifier created creator created" variable="field">
<option value=<<field>>><$text text=<<field>>/></option>
</$list>
</optgroup>
<optgroup label="All">
<$list filter="[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created" variable="field">
<option value=<<field>>><$text text=<<field>>/></option>
</$list>
</optgroup>
</$select>
<$checkbox tiddler="$:/config/Manager/Order" field="text" checked="reverse" unchecked="forward" default="forward">
<<lingo Controls/Order/Prompt>>
</$checkbox>
</div>
<div class="tc-manager-control">
<$checkbox tiddler="$:/config/Manager/System" field="text" checked="" unchecked="system" default="system">
{{$:/language/SystemTiddlers/Include/Prompt}}
</$checkbox>
</div>
</div>
<div class="tc-manager-list">
<$list filter="[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]">
<$vars transclusion=<<currentTiddler>>>
<div style="tc-manager-list-item">
<$button popup=<<qualify "$:/state/manager/popup">> class="tc-btn-invisible tc-manager-list-item-heading" selectedClass="tc-manager-list-item-heading-selected">
<$text text=<<currentTiddler>>/>
</$button>
<$reveal state=<<qualify "$:/state/manager/popup">> type="nomatch" text="" default="" tag="div" class="tc-manager-list-item-content tc-popup-handle">
<div class="tc-manager-list-item-content-tiddler">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]" variable="listItem">
<<list-item-content-item>>
</$list>
</div>
<div class="tc-manager-list-item-content-sidebar">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]" variable="listItem">
<<list-item-content-item>>
</$list>
</div>
</$reveal>
</div>
</$vars>
</$list>
</div>
</div>
alert-background: #ffe476
alert-border: #b99e2f
alert-highlight: #881122
alert-muted-foreground: #b99e2f
background: #ffffff
blockquote-bar: <<colour muted-foreground>>
button-background:
button-foreground:
button-border:
code-background: #f7f7f9
code-border: #e1e1e8
code-foreground: #dd1144
dirty-indicator: #ff0000
download-background: #34c734
download-foreground: <<colour background>>
dragger-background: <<colour foreground>>
dragger-foreground:
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: #fff
dropdown-tab-background: #ececec
dropzone-background: rgba(0,200,0,0.7)
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #006b76
external-link-foreground: #006b76
foreground: #333333
message-background: #ecf2ff
message-border: #cfd6e6
message-foreground: #547599
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: #999999
modal-footer-background: #f5f5f5
modal-footer-border: #dddddd
modal-header-border: #eeeeee
muted-foreground: #bbb
notification-background: #ffffdd
notification-border: #999999
page-background: #9616f3
pre-background: #f5f5f5
pre-border: #cccccc
primary: #021efa
sidebar-button-foreground: #050202
sidebar-controls-foreground-hover: #000000
sidebar-controls-foreground: #c2c1c2
sidebar-foreground-shadow: #000000
sidebar-foreground: #040003
sidebar-muted-foreground-hover: #444444
sidebar-muted-foreground: #c0c0c0
sidebar-tab-background-selected: #c4aafc
sidebar-tab-background: #f8f4ff
sidebar-tab-border-selected: #999
sidebar-tab-border: #515151
sidebar-tab-divider: #999
sidebar-tab-foreground-selected:
sidebar-tab-foreground: #000000
sidebar-tiddler-link-foreground-hover: #19b9f7
sidebar-tiddler-link-foreground: #9e99e6
site-title-foreground: #000000
static-alert-foreground: #aaaaaa
tab-background-selected: #ffffff
tab-background: #d8d8d8
tab-border-selected: #d8d8d8
tab-border: #cccccc
tab-divider: #d8d8d8
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: #666666
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #d5ad34
tag-foreground: #ffffff
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
tiddler-controls-foreground-hover: #888888
tiddler-controls-foreground-selected: #1c1ac2
tiddler-controls-foreground: #cccccc
tiddler-editor-background: #f8f8f8
tiddler-editor-border-image: #ffffff
tiddler-editor-border: #cccccc
tiddler-editor-fields-even: #e0e8e0
tiddler-editor-fields-odd: #f0f4f0
tiddler-info-background: #f8f8f8
tiddler-info-border: #dddddd
tiddler-info-tab-background: #f8f8f8
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: #c0c0c0
tiddler-title-foreground: #150c6c
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button:
toolbar-cancel-button:
toolbar-done-button:
untagged-background: #999999
very-muted-foreground: #888888
{"tiddlers":{"$:/plugins/eucaly/popuptagger/config":{"_active":"on","created":"20140913215723814","creator":"EucalyJ","modified":"20140923134103805","modifier":"EucalyJ","tags":"$:/_popuptagger $:/_macros","title":"$:/plugins/eucaly/popuptagger/config","type":"text/vnd.tiddlywiki","text":"$:/plugins/eucaly/popuptagger/TagBar"},"$:/plugins/eucaly/popuptagger/ControlPage":{"created":"20140913163723059","creator":"EucalyJ","modified":"20140922055743981","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger $:/_UI","title":"$:/plugins/eucaly/popuptagger/ControlPage","type":"text/vnd.tiddlywiki","text":"\\define if-match-else(A,B,C=\"\",D,E)\n<$reveal type=\"match\" state=\"$A$\" text=$B$ default=$C$>\n\t$D$\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$A$\" text=$B$ default=$C$>\n\t$E$\n</$reveal>\n\\end\n\n\\define if-matchB-blank-default(A,B,C=\"\",D)\n<$reveal type=\"match\" state=\"$A$\" text=\"$B$\" default=\"\">\n\t$D$\n</$reveal>\n\\end\n\n* `**` In this tiddler, all PopupTagger(s) are displayed (view filters are ignored).\n\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"nomatch\" text=\"off\" default=\"\">\n~PopupTagger ''Enabled''\n</$reveal>\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"match\" text=\"off\" default=\"\">\n~PopupTagger `Disabled`\n</$reveal> <<PopupTaggerSwitch>>\n\n<h3> Available ~PopupTagger(s)</h3>\n<table>\n<tr align=\"center\">\n<th>Debug</th>\n<th>Active</th>\n<th>Tag<br/>Edit</th>\n<th>Tag<br/>Table</th>\n<th>Tag<br/>Bar</th>\n<th>\n\t<p>~PopupTagger(s) <$button message=\"tm-new-tiddler\" param=\"$:/plugins/eucaly/popuptagger/TagBar\">Add</$button></p>\n</th></tr>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]tag[$:/_popuptagger]]\" >\n<tr>\n\t<$list filter=\"_debug _active _edittag _tagtable _tagpopup\"] variable=\"field\">\n<td align=\"center\">\n\t\t<$checkbox field=<<field>> checked=\"on\" unchecked=\"off\" default=\"on\"/>\n</td>\n\t</$list>\n<td>\n\t<p><$radio tiddler=\"$:/plugins/eucaly/popuptagger/config\" value={{!!title}}/> <$link to={{!!title}}><$text text={{!!title}}/></$link>\n\t<$macrocall $name=\"if-matchB-blank-default\" \nA=\"$:/plugins/eucaly/popuptagger/config\" \nB={{!!title}}\nD=\"<br/>@@color:red;=>@@ Configure as below\" \n/>\n<$reveal type=\"nomatch\" state=\"$:/plugins/eucaly/popuptagger/config\" text={{!!title}} default=\"\">\n<br/>Parent Tags : ''<$view field=\"taggroup\"/>''\n<br/>View Filter : ''<$view field=\"view-filter\"/>''\n<br/>List After : ''<$view field=\"list-after\"/>''\n</$reveal>\n</p>\n</td></tr>\n</$list>\n</table><br/>\n\n<$list filter=\"[title{$:/plugins/eucaly/popuptagger/config}]\" >\n<h3> Configure ~PopupTagger -- [ <$text text={{!!title}}/> ]</h3>\n\n<ul>\n<li> Parent Tags : ''<$view field=\"taggroup\"/>''\n<$linkcatcher message=\"tm-navigate\" set=<<qualify $:/state/tab>> setTo=\"$:/plugins/eucaly/popuptagger/tab-taggroup\">\n\t<$button set=\"$:/temp/pptg-taggroup!!tags\" setTo={{!!taggroup}} to=<<InPlace>> >Verify</$button>\n</$linkcatcher>\n</li>\n<ul><li>\n\t<$reveal type=\"nomatch\" state=<<qualify $:/state/tab>> text=\"$:/plugins/eucaly/popuptagger/tab-taggroup\" default=\"\">\n\t\tconfig with <$button set=<<qualify $:/state/tab>> setTo=\"$:/plugins/eucaly/popuptagger/tab-taggroup\"> \n Parent Tags </$button> tab below\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<qualify $:/state/tab>> text=\"$:/plugins/eucaly/popuptagger/tab-taggroup\" default=\"\">\n\t\tnew value -- \n\t\t<<if-match-else \"!!taggroup\" {{$:/temp/pptg-taggroup!!tags}} {{!!taggroup}}\n\t\t\"@@color:blue;no changed@@ --\"\n\t\t\"\"\"@@color:blue;<$text text={{$:/temp/pptg-taggroup!!tags}}/>@@ --\n\t\t<$list filter=\"[{$:/temp/pptg-taggroup!!tags}regexp[\\S]first[]]\" variable=\"text1\">\t<!-- not empty -->\n\t\t\t<$button set=\"!!taggroup\" setTo={{$:/temp/pptg-taggroup!!tags}}>Proceed</$button>\n\t\t</$list>\n\t\t\"\"\">>\n\t</$reveal>\n</li></ul><br/>\n\n<li> View Filter : ''<$text text={{!!view-filter}}/>''\n<$linkcatcher message=\"tm-navigate\" set=<<qualify $:/state/tab>> setTo=\"$:/core/ui/AdvancedSearch/Filter\">\n\t<$button set=\"$:/temp/advancedsearch\" setTo={{!!view-filter}} to=<<InPlace>> >Verify</$button>\n</$linkcatcher>\n</li>\n<ul><li>\n\t<$reveal type=\"nomatch\" state=<<qualify $:/state/tab>> text=\"$:/core/ui/AdvancedSearch/Filter\" default=\"\">\n\t\tconfig and verify with <$button set=<<qualify $:/state/tab>> setTo=\"$:/core/ui/AdvancedSearch/Filter\"> \n Filter </$button> tab below\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<qualify $:/state/tab>> text=\"$:/core/ui/AdvancedSearch/Filter\" default=\"\">\n\t\tnew value -- \n\t\t<<if-match-else \"!!view-filter\" {{$:/temp/advancedsearch}} {{$(pptg-tool-base)$!!view-filter}} \n\t\t\"@@color:blue;no changed@@ --\"\n\t\t\"\"\"@@color:blue;{{$:/temp/advancedsearch}}@@ --\n\t\t<$list filter=\"[{$:/temp/advancedsearch}regexp[\\S]first[]]\" variable=\"text1\">\t<!-- not empty -->\n\t\t\t<$button set=\"!!view-filter\" setTo={{$:/temp/advancedsearch}}>Proceed</$button>\n\t\t</$list> \n\t\t\"\"\">>\n\t</$reveal>\n</li></ul><br/>\n\n<li> Location -- list after :\n<$select field=\"list-after\" default=\"\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]] -[[$(pptg-tool-base)$]]\">\n\t\t<option value=<<currentTiddler>>><$view field=\"title\"/></option>\n\t</$list>\n\t<option value=\"\">== none ==</option>\n</$select></li>\n</ul>\n</$list>\n<<tabs \"$:/plugins/eucaly/popuptagger/readme $:/plugins/eucaly/popuptagger/tab-taggroup $:/core/ui/AdvancedSearch/Filter\" \"$:/plugins/eucaly/popuptagger/readme\" \"$:/state/tab\">>"},"$:/plugins/eucaly/popuptagger/history":{"caption":"History","created":"20140905163101231","creator":"EucalyJ","lastupdate":"20141004","modified":"20141004021938843","modifier":"EucalyJ","tags":"$:/_readme $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/history","type":"text/vnd.tiddlywiki","text":"!!!History\n* 20141004 / ''0.1.4'' \n** add `Verify` button for Parent Tags in [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n** fix `New Tag` button when parent tag contains `!`\n* 20140921 / update icons\n* 20140914 / ''0.1.3'' ( 32K / 17.8K )\n** Global switch `<<PopupTaggerSwitch>>`\n** Reshape with central [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n** No need user-provided \"pptg-tool-base\"\n** ==== coding details ====\n** only necessary macros are global\n** `InPlace.js` -- extended from TitleMe\n* 20140913 / ''0.1.2'' ( 24K / 11.4K ) -- for 5.0.17-beta ~\n** stylesheet tagged with {{$:/tags/Stylesheet||$:/core/ui/TagTemplate}}\n** sync ''~TagBar'' / ''~TagTable'' with the same column layout\n** add \"edit button\" for child tag\n** change to <$button to=\"\" class=<<tv-config-toolbar-class>>> {{$:/core/images/options-button}} </$button> [[$:/core/images/options-button]]\n** show PopupTagger config in one place\n** ==== coding details ====\n** Change ButtonWidget `title` attribute to `tooltip`\n** reduce `<$list>` use\n** use `listItem` to detect body / tagbar\n** use `storyTiddler`, `transclusion`, `listItem` variable for debug\n* 20140908 / ''0.1.1'' ( 14.8K / 10.2K )\n** Add ''~TagTable''\n** `<<PopupTaggerAuto>>` provides handy setup process\n** Each element can be enabled / disabled\n* 20140906 / ''0.0.1'' ( 4.5K / 2.2K ) -- not released\n** `<<PopupTaggerBar>>` -- global for all tiddlers\n** `<<PopupTaggerBarIf>>` -- selective, but might need some tweak for filter setup\n* 20140905 -- working draft\n"},"$:/plugins/eucaly/popuptagger/icon":{"created":"20140921105653585","creator":"EucalyJ","modified":"20140921105712528","modifier":"EucalyJ","ref":"tagx3-ON.svg","tags":"$:/tags/Image $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/icon","type":"text/vnd.tiddlywiki","text":"<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g transform=\"translate(0,-924.36)\">\n\t\t<path d=\"m115.92 980.32a4.0004 4.0004 0 0 0 -2.75 1.21l-60 60.07a4.0004 4.0004 0 0 0 -0.01 0c-1.774 1.8-5.403 3.1-9.16 3.1s-7.385-1.3-9.16-3.1a4.0004 4.0004 0 0 0 -0.01 0l-24-24a4.0004 4.0004 0 1 0 -5.6561 5.6l23.988 24c3.882 3.9 9.425 5.5 14.84 5.5s10.959-1.6 14.84-5.5l59.99-60.01a4.0004 4.0004 0 0 0 -2.91 -6.87z\"/>\n\t\t<path d=\"m115.92 998.36a4.0004 4.0004 0 0 0 -2.75 1.21l-43.998 44.03a4.0004 4.0004 0 1 0 5.656 5.6l44.002-44a4.0004 4.0004 0 0 0 -2.91 -6.84z\"/>\n\t\t<path d=\"m83.105 0.5c-3.975 0-7.795 1.5904-10.605 4.4004l-60.504 60.539c-5.7851 5.79-5.7851 15.402 0 21.202l21.393 21.399c5.795 5.8 15.423 5.8 21.218 0l60.503-60.55c2.81-2.81 4.4-6.629 4.4-10.599v-21.391c0-8.2-6.81-15-15-15h-10.51-10.883zm10.895 15c5.847 0 10.43 4.548 10.49 10.379v0.242c-0.06 5.831-4.643 10.379-10.49 10.379-5.888 0-10.5-4.61-10.5-10.5s4.612-10.5 10.5-10.5z\" transform=\"translate(0,924.36)\"/>\n\t</g>\n</svg>\n\n"},"$:/plugins/eucaly/popuptagger/img/tag-tree.png":{"created":"20140909162119303","creator":"EucalyJ","modified":"20140909162542278","modifier":"EucalyJ","title":"$:/plugins/eucaly/popuptagger/img/tag-tree.png","type":"image/png","text":"iVBORw0KGgoAAAANSUhEUgAAAJMAAADjCAIAAAAOpbGDAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAT20lEQVR4nO2da1dTRxfH+y37QXzTTyGfglcUxQoUBR+KLk25a1DRpaJFQpFQL2FxCy15Jue6Z2bPJTM7hzNh/svVlSZzJof5ZS5n9mV+6kWFqZ+u+waiHBXJhSoacp/nd27Nn5NUFWUpf3KdsV/e/Jz+u93+rCjUGNd9CuppNXzvxKeGkORJDmBL/413sGLnE7ffmDrlzWp3f/mRa7bSrtboj5Zt0PQ8hoP2rV/ejDV7KcL+++mFHCp4SV4MflR22fTTtAD8CKsB+aLsfpD3g5IfubQJMnKwS/Hk+s0HG5T/p2l3WFtWjK/h9s4tXQ3oeCCNE4ZhvKbynef6E1jeBKrxEExyWYPmJbNGTLqjHbmsu2QfsZWRln3+RfnYUNYQJi2ojNzZ2dnu7u7V1ZWq3MXFBStweXmJfQh+4EiLJJ9mv3cBSdb0SfvakUsZlLOpfrTcmThQFRuV0fLVq1e//vpro9FA4TGuDx48YAU+ffqE1pI+FaQYkg4E1W+p/M2KySlmSm6eg4BDUkbu+Ph4enoahVdgW1xcFPtc3o46cv0yRdMMNFpmVXFD4mCjpWqNUyod7aVfWwAq57nDw8OlpSVGaHV19eTkJH3z27dvz549Y2+y/7LX0uWq2b5sxH7jIstC/QqFmz75YgOtUDQzZfADJrdC6XQ6sOfpehu4CHsSLxoRTnI9ZLGOXCJWO9YUekzxkcVTAbwEHy2DHCp78tqygMc6mQW2TNa7X+I85yu4aLxhQp4KimFTPUg6y5+cND6rn0ZGW/jzHOt5c3NzjJ+xtw0oij5Xboto9ttGX9HKE6oiuVAVyYWqSC5URXKhKpILVe7k3r9//+HDB9vSYCmv3CQ8aN/S+0OQb1b1N1Pk2tgjo7Sxgpe8TrmTS7danj9/bi7a/7NZW5xPjLc/q5tAuxGTt2YVLYh91yiRYx0uhddsNg0P7KzD9TtTQk5ZiD2kq7cQi4aL5HJ5zXM7OzszMzNmeNmfLZJjAyDoZJ0x1VAJNojH5mELwq3nvhKjT44/uerWfGfidj4+l+4w+Y8J8ijG8/FWQq6oHFDMy9TBKuS7QingvXjxotvtqoplhjTN38waRbOPhfS58wIJNCT1p8OknuJn0f80rbnZunV7p3iz/6KsrTT/lvjFPvemqKcOhiGCteXHjx9nZ2eN8HpJn5sYx5cYrKF1P2SZ3IHQ+Tjj7dh4i7PpJK8b4zsTzfatfuvn1ItKmi3eioSSg715JMgx7e3tTU5OMnjv3r1Tl0pHy7KvALHG0rYFTk7hkZCMaeArUhLse1N7XvHfsjbe/Gua50aSHHtUkD/Nxys1Of1Q2TP2Oaik3Zvcp/0OPQ963nz+dYP1uZEjV4yWW1tb//33H1ICPhVwbimZGFrDnK+d54Q3y+mtgCHMcPlri3kOGyFHg1yxQnn58iWOLRX2JJ4vIrTPA6mU0xs3VPLRC8mnZd8Cq0olj9RO285nTeDINGLkbLFl0j/PRQ0md3LF3Ga1jRJFLXdyaW8jxoa41AXsnjVUuZP7lIjwVqIGUrTyhKpILlRFcqEqkgtVkVyocif3v0RnZ2dWpb29GYYixW6I6DlRj00TQV7k2PPcgwcPzPAIvBmcZGxxSz+USi3ytnInV4TWPX78+OjoSFfU35vBTW7k5DdHjFyPh9dut5XlPL0Z+kosA/P5Dst4p9xtKcxDMFKk/6a4H815RUAjA/RRQD0nsvuXKpTcKZIBvzVGG2mmkO8KxRKerzdDum0PIxzLANS0HUE0emENkAwLolUI9VHQ2AK5CjF3CmiUGLII1pZFaKtpzvPwZuDssarXhTDTKGc7zYVa4CzJoe4UsMIhi+ap4PT09O7du6YNaA9vBhtycgwxaFzeXyEXSmIActK2eIUTIQG5q6urRqPBsE1NTX39+lUuQODNYCTH/dgH6nM+5CxWN0OTL7mLi4vNzU2G7eHDh58/K1YY/t4MRnLAky55GpPHLmGeU3uaGF7wTmbIxBkCufPzczO2VJ7eDObRssy2AbxjubwqyrVlj3+t62p8hfjytfbkGLaNjQ2GbX5+fm9vz+aK6M1AKHdyq6ur6dxmeAyPGo7cyc3Ozt67d48YW/RmsFa0FYSqSC5URXKhKpILVZFcqHIn9/XrV9JkblGDyZ3cb7/9Njk5afcMXldvhpDlTu7du3fsSdwK3nV5MzioTlZvvbzmudevXzNy9+/fRwMeS12XN4ODbgg5pu3tbQaPjZw6eDTeDEmsqeDBUO65wC18qSRunZFLSjvIoocE/6XjbcQ6CN8cprsDwdqSwbtz5w6DpwkSp/FmAPGlRaJ84MEAt/P5kkpy2pKoh4QY3VomfpfeHK67A81TQTHn7e/vq0tReTPkplrUn8BYEo1XxuuEyusXI8pz66D85pDdHWjIdTqde/fupaHi6lJU3gx5S3HtxRnqxJIW5JCSPcRDQk7iz2pA3xy2uwMBuYODg9Rrdnl5mSGUC1B7M1TV51APCcc+VzRWbchBbMfHx4pCNN4M0GtPmF3EeU5dMpmH1CUhLdRDwmmeG4a7gxe5AtvKyooSWyoSb4bxlpjmHl9bIiWLJVKSegH0ObEk9FdAPSTgMrI1xvkxSG8O093BndwA2DL5eDOgs2NlJVXCMmHib9LLnZz9CSIUqg05dDhVjLFDlTu5jY2N1dVVYmxKb4bakAMDL5yw0TeHqmjlCVWRXKiK5EJVJBeqIrlQ5U5ua2ur2WxqjkPm5GMTVy04m27bS3DzV6xWuWtVP3n5OGuOQ+ZEZRNHtoMdmth09MHIk2u1WgsLCwze+vr66empriiVTTySA/Ka5/b39x89esTgra2t6eAR2MRhPfz/CmcIwL1daH0WjyOwIyfui4ohstzpB/qbp5bvCgXCK86yluVtE0+EGs908fmcVwGWppmf50TXB8QWoTv9oFoRrC3//vvvdOtZD8/PJp4IIaePzwd7ifrU6Oi3qIzaqtMPqhWxTfzly5fqUj428USaeU4b020+jgD9Ftzmrj79oFpR+qEw7e7uyp9S2MQTuZKj7HOa0w+qFZnv1927d9++fYuXILCJF/U4kTMeu4N/C2pzV59+UK1o/C2npqaU2FL52sQTuZMr1yPlcQQua8vyTeT0g2pF4ONsxpYpRvhTyjeuwHSKUtSw5BXLQ48tRvhbK9oKQlUkF6oiuVAVyYWqSC5URXKhyusUs+npaTR4B1FlEf4Guyi63309m/2ecie3srLCnues4NUowj9ISKjcyZ2cnKytrTF4CwsLrVZLV7RGEf6RXCJbeDTeDHlEUxFCr99x7mFJZCG5ZADPt7w1x+Aaj0pQZB8YsnxXKKenp+vr60Z4JBH+GebioHcDOeyAAi7vs5SRWZMIQHdUApp9YOiizJ1umvM8vBm42VHb0LhFG9xD1oHgyGzR50wppMWo5eGL5qmg2+2m3gybm5vqUh7eDIOTww8oyDtQg2tfSnKV+YERkLu8vFxcXNScEULgzUDb50p3EosKR7XP/fjxIx0ql5aWDg8P8UJEEf7iPIfG7SvnOclhskQLceKJAMwJ98WcAkOXF7nv37+bsaUi8GbI15aJ/ytMhMDF7duvLdMW593ulIkAjH1Ozj4wZLmTY9jSU7DM2DJReTOQP5N5Vhiav+Xjx49tz3wkFnlLeWZTCI3cw0TE2Ky8GShbKhsevVaDoZGLul5FcqEqkgtVkVyoiuRCFQ25WqQ9v2HyJ1ckAtStrfv5IQdYeQNjCpGsIiuDkic5gE1nVwS7jvbV0pFL8opGclDpbmRiNEk2+jgD48/8/qFV1thsj1EkBzLZCb+A8ipFbkJYILOnw0g4aBb/GeQLEGqDN1CTX4AfuXTLIyMHG5QnZ075yLcvP/amPQbr2fJV8rcI5DogWy/M8TvYDdRhUved5+Bfpfp7zJNctukFwro5pwG4AZb+JmByBZhqGe8Q3EdlRgfohZCRy/+EbBYoU6DzAePV5B7VKyPX7Xa/fPmiySb077//HhwcsP9iH4IfrMoMrTc2pmNUWQaMluJHIMV1OdbxgpufWTS3aOhJ3k++heu+JY/0W/qVw2NC6hQYlpHb2trSpIIqrN4fPnxAa0mfCuBABGRhbPQgh/wmDOTyUPF+2jAh8XaA5I6Pj6enp1F40Fnh4uKCuzpvOx05m0hqitGybGtJ4kCKRH/bj5Z1UTnPFbnQNzY2CttNp9NZXl5mbz558uSff/6RLpeeCqB3m86TR9DwVih8DcKF4uxlfQM1AMmtUBgn2POMrkHpRdiTeEHOYpLLBA8HaFs/FcBmVffsopMJMHj3L+6pgGfDwasBtp68toTwLLBlCm73SxrY67JitBfyVFAMm+pBMnTJnEaCXC/peTMzM8TOCrinQtXrNIWf/KiQ6yUPcLaZfqOuQ9E+F6oiuVAVyYWqSC5URXKhyp3c7u7u3t6ebenKcjPUQlV4PVeSa69GuRnqehzB4HflTo51uMnJSSt4NcrNEMklYszSnvfq1SuL2yLKzSAErw6WNYE7sra/jyxY/sTNcSzvgnCGhcJmBI9KEO0YYmCfdJCuhXxXKO/fv79//74RHkluhjI4EcSaDpw1AQ8p7ikmJ1UNyBkWwsnYQiAyuG0saUTFfS6VJTy63Azooe/WEdwqWnjbqWpAT5mWbgz9FA1gvxZyPTDnffr0SV3KMzeDvEntlDWBb6NihCzWR6UtUD7/Q64BP40CkhNvGzc1Xxe5o6OjqakpRg5Nok6dm6GQf5/r5T8a1frIVMMAfQ78sTUhxx7s5ubmGLbnz593u12kBFFuBmVCIeVrLGsCHOsSwTM/0O/FakDOsNDPc4akEdJdGeVL7q+//jJgS0WYmwFfwtlnTcjcJrgxULl0wmpQnGFhWluKZ1XwrSHdlUle5Bi233//3Yytl99c1SdN2O1l6EYqt92Qeu+hsMXIINiuRVYtqM0a5MbAM9mDldzJpY5GDBvh3VCfNGFqd95j06UGSRTJHqzkTm57e/vNmzeEtxI1kKKVJ1RFcqEqkgtVkVyoiuRClTu5Z8+ePX369PLy0qr0zfJmqELu5BYWFtjz3OLiohlerbwZRkXu5A4PD5eWlhg81vm+ffumK1orb4ZRkdc812630/ykBngE3gxGxwVuQC7flPd2zb4IsKr6/ph8VyhHR0c28Ei8GbSOC4K1RXqT8xvQ+yKAXceqUtg7iGBtyeA9efLEYtj08GYwG3SgjH4Del+E6vKf+4jmqeDs7Cw9aUK7Ae3hzWBDjtuttvMbwH0RejCEurYIacgxYAzb1NQUGuBK4M1gJMfZlK19dfA+x99YDZ0zE/mSY48EzWaTYZudnVW6D9F6M6CvQRODnFAqvwGtLwL8EYwqOYbtxYsXBmypfL0Z7FxOMp+DDjqE4t55N3Bt2e12bbFlqt6bYZTlTi4dJNncxtaWhDcUZSkvbwZ6bMTeDKOsaCsIVZFcqIrkQlUkF6oiuVAVyYUqr6eCyclJ2/QMw/BmcIj4ri5IfOihBb5P4lbwhuTNUM9Y/Uw1Jlfsfs3MzHz8+FFXdEjeDJGcs4odZwZvZ2dHWY7GmwHLkYCfZyydbZwcDcIFLSYvJsqTjOW+jn1jz9pnApKD2fn1lxf3mTaInNQBiMzKw6Y9DTwabwZVlgWcnHA4uEwOtqbqcBH+G+19JjjzE5f4XXM5yFGMJnXgRGlZZXPely9f1KWovBmkeG2UHGdWlQKFlT4N2m/kpLXfli5PqikAvVwV0IxUEqI3g5QjASPH/1SlkHvVJfqsDD1rn4nc5akhIDdcrkvqIIjYg+j79+9yAWpvBqo+h/o0GL/RzmeivBz0GPPlaJ/DRea112g0UGzgjn29GdQ5EoSpwnKeM5MTv9HeZ0JYoZQn1eguR+c5FUUaT1kdtl5+9/7eDOocCZ/LVWJ7jEOSjn6tMcEJxbLPKfI6mH0mJJcLcPqW+vLiPvsyJANzJ8ewpd7pf/75548fPyyu8PFm8Hw8cgi5ryK/gqQB7rOSiBACDd6Ovi5cVZFzvU93csvLy2yQJMam9GZwaUdwmo+DP0R1fc7tPqOtIFRFcqEqkgtVkVyoiuRClTu5t2/fbm9v256Xdf0R/lVkUatSvhnbVMchc6pFhH8kl6vIkri5uSmeeSyoFhH+kRxQkZmUwTs/V3cXf5u4EJaP2otRc3PxZrklaJEswGSProPIsgHr4fnaxLmwfNMhAEpzMzjEwHTKgd4eXQdRZuCGB5Fj8jyvQB+WD6UyfdnlyrewR9dBxFnv2WpTXcrzvALJdiPs9RnMzQORCyAGrIqTJojPK0BXp1bmZoc+V1+Rne7CyL1+/Rov4W8T51oTsxdbmZsHP1mkxhRpTlTSYUvlaRMXWxA/u0Bjbk5s5Zbk0PprJ4JTzO7cuaOd3grFCH9KVXJyYNQQVMlpnfaKEf7WiraCUBXJhapILlRFcqEqkgtVkVyo8vJxnpub63T0MTi5PL0Z5F0oNELgJsmd3NOnT9NQVTM8f2+GSE6SOzkGbHl5mcH7448/tKGqFN4MkZwkr3mugLe4uKiDR+LNEMnx8l2hQHgHB8pNKgpvhkiOE8Ha8vLykmFL57zj42N1QU9vhkiOE81TQbfbTSP8Nzc31aWIvBmEdyI5Z11dXTUaDc06kyLCX/Lk4ZIlRHKD6/T0dH19nWFjj3f7+/t4IYII/8RHgc9hIEeL3yh5kTs5OVlbW2PYHj16pMSWyjfCPytfVFIuSiO5QTUAtkzRm4FS7uRWVlZs91CihiB3crOzszMzM8TYojeDtaKtIFRFcqEqkgtV/wegdUPYC2rYmQAAAABJRU5ErkJggg=="},"$:/plugins/eucaly/popuptagger/img/tagOff":{"created":"20140915084600827","creator":"EucalyJ","modified":"20140921110223817","modifier":"EucalyJ","ref":"tagx3-OFFsvg","tags":"$:/tags/Image $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/img/tagOff","type":"text/vnd.tiddlywiki","text":"<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<path d=\"M 79.105 4.5 C 75.131 4.5 71.312 6.0842 68.502 8.8945 L 12 65.395 C 6.2043 71.19 6.2043 80.814 12 86.609 L 41.395 115.99 C 47.19 121.79 56.81 121.79 62.605 115.99 L 119.1 59.504 C 121.91 56.694 123.5 52.873 123.5 48.896 L 123.5 30 L 123.5 19.504 C 123.5 11.309 116.69 4.5048 108.5 4.5039 L 98.154 4.5039 C 98.103 4.5036 98.052 4.5 98 4.5 C 97.948 4.5 97.897 4.5036 97.846 4.5039 L 79.107 4.5039 L 79.105 4.5 z M 98 19.5 C 103.86 19.5 108.45 24.071 108.5 29.92 L 108.5 30.08 C 108.45 35.929 103.86 40.5 98 40.5 C 92.112 40.5 87.5 35.888 87.5 30 C 87.5 24.112 92.112 19.5 98 19.5 z M 72.869 25.736 C 72.631 27.125 72.5 28.548 72.5 30 C 72.5 43.994 84.006 55.5 98 55.5 C 99.449 55.5 100.87 55.37 102.25 55.133 L 52 105.39 L 22.605 76.002 L 72.869 25.736 z \"/>\n</svg>\n\n"},"$:/plugins/eucaly/popuptagger/img/tagOn":{"created":"20140915084642817","creator":"EucalyJ","modified":"20140921105742282","modifier":"EucalyJ","ref":"tagx3-ON.svg","tags":"$:/tags/Image $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/img/tagOn","type":"text/vnd.tiddlywiki","text":"{{$:/plugins/eucaly/popuptagger/icon}}"},"$:/plugins/eucaly/popuptagger/inplace.js":{"created":"20140913152220978","creator":"EucalyJ","modified":"20140913154217527","modifier":"EucalyJ","module-type":"macro","tags":"$:/_js $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/inplace.js","type":"application/javascript","text":"/*\\\n$:/plugins/eucaly/popuptagger/inplace.js\ntype: application/javascript\nmodule-type: macro\n\n!!! Feature\nThis InPlace macro returns in-place field vaule of source tiddler (even in a transclude hierarchy)\n\n!!! Usage\n<<InPlace fieldName:\"title\">>\n* returns the field vaule of source tiddler\n* default field is title\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"InPlace\";\n\nexports.params = [{ name: \"fieldName\" }\n];\n\n/*\nRun the macro\n*/\nexports.run = function(fieldName) {\n var output = \"\",\n\tvariable_name = \"transclusion\",\n meRegex = /\\{[^|]*\\|([^|]*)\\|/,\n p = this,\n v0 = \"\";\n while (p)\n {\n var v = p.getVariable(variable_name);\n\t\tif ( v && v!=v0 )\n {\n \tvar match = meRegex.exec(v);\n if (match && match.length>1)\n {\n\t\t\t\toutput = match[1];\n if (fieldName)\n {\nvar tiddler = this.wiki.getTiddler(output);\nif(tiddler) {\n\toutput = tiddler.getFieldString(fieldName);\n}\n }\n break;\n\t\t\t}\n\t\t}\n\t\tp = p.parentWidget;\n }\n\treturn output;\n};\n\n})();"},"$:/plugins/eucaly/popuptagger/macros/auto":{"created":"20140907013822226","creator":"EucalyJ","modified":"20140914012228717","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/macros/auto","type":"text/vnd.tiddlywiki","text":"\\define pptg-debug(src)\n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_debug\" text=\"off\" default=\"on\">\n^^<$link to=\"\" tooltip=<<TitleMe>> >me</$link>\n<$link to=\"\" tooltip=<<trace-variable \"storyTiddler\">> >story</$link>\n<$link to=\"\" tooltip=<<trace-variable \"currentTiddler\">> >current</$link>\n<$link to=\"\" tooltip=<<trace-variable \"transclusion\" \"<br/>\">> >trans</$link>\n<$link to=\"\" tooltip=<<trace-variable \"listItem\">> >listItem</$link>^^\n\t$src$ \n</$reveal>\n\\end\n\n\\define pptg-tagbar()\n<!-- is tool-base itself -->\n<$reveal type=\"match\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n\t<<pptg-debug \"\"\"@@color:orange;(21-tool-base)@@ ^^@@color:#860;<$text text=\"$(pptg-tool-base)$\">@@^^\"\"\">> \n\t<<PopupTagger>>\n</$reveal>\n<!-- NOT tool-base itself -->\n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n\t<<pptg-debug \"\"\"@@color:#080;(26-tagbar)@@ ^^<$text text=\"$(pptg-tool-base)$\">^^\"\"\">>\n\t<!-- if ControlPage -->\n\t<$reveal type=\"match\" state=\"!!title\" text=\"$:/plugins/eucaly/popuptagger/ControlPage\" default=\"\">\n\t\t<<PopupTagger>>\n\t</$reveal>\n\t<!-- normal tillders -->\n\t<$reveal type=\"nomatch\" state=\"!!title\" text=\"$:/plugins/eucaly/popuptagger/ControlPage\" default=\"\">\n\t\t<<PopupTaggerIf>>\n</$reveal></$reveal>\n\\end\n\n\\define pptg-body()\n<!-- is tool-base itself -->\n<$reveal type=\"match\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n<br/>\n\t<h3>This is a __~PopupTagger tiddler__, you can visit [[PopupTagger ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]] to check the configuration.</h3>\n</$reveal>\n<!-- NOT tool-base itself -->\n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n\t<<pptg-tool-base-warning>>\n</$reveal>\n\\end\n\n\\define pptg-tool-base-warning()\n<<pptg-debug \"@@color:red;(58-tool-base-warning)@@<br/>\">>\n@@color:red;There's something wrong with ~popupTagger ...@@\n<ul>\n<li>`pptg-tool-base` -- <<InPlace>></li>\n<li>while `new title` -- <<storyTiddler>></li>\n</ul>\n\\end"},"$:/plugins/eucaly/popuptagger/macros/render":{"created":"20140914011146334","creator":"EucalyJ","modified":"20141004020308447","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/macros/render","type":"text/vnd.tiddlywiki","text":"\\define pptg-tagPopup()\n<$button popup=<<qualify $:/temp/$(tagG)$>> tooltip=\"Select tags\" class=\"tc-btn-invisible\">\n ▼ $(tagG)$</$button>\n<$reveal type=popup state=<<qualify $:/temp/$(tagG)$>> >\n\t<div class=\"tc-popup tc-tiddler-info\">\n\t\t<<pptg-tagColumn>>\n\t</div>\n</$reveal>\n\\end\n\n\\define pptg-tagColumn()\n<!-- cannot use {{$(tagG)$||$:/core/ui/TagTemplate}} here, because of popup conflict -->\n<p>$(tagG)$ ( <$count filter=\"[[$(tagG)$]tagging[]!prefix[$:/temp]!has[draft.of]]\"/> )</p>\n<hr/>\n<p><$list filter=\"[tag[$(tagG)$]!prefix[$:/temp]!has[draft.of]sort[]]\" variable=\"tagA\">\n\t<$button message=\"tm-edit-tiddler\" param=<<tagA>> class=<<tv-config-toolbar-class>>>\n\t\t{{$:/core/images/edit-button}}</$button>\n\t<$checkbox tiddler=\"$(currentTiddler)$\" tag=<<tagA>>> <<tagA>></$checkbox><br/> \n</$list>\n<$list filter=\"[[$(tagG)$]regexp:title[!]]\" variable=\"test3\" emptyMessage=\"\"\"<$button set=\"new $(tagG)$ tag!!tags\" setTo=\"$(tagG)$\">New Tag</$button>\"\"\">\n<$button set=\"new tag!!tags\" setTo=\"$(tagG)$\">New Tag</$button>\n</$list></p>\n\\end\n\n\\define pptg-render()\n<div class=\"tc-popuptagger\">\n<!-- TagBar itself -->\n\t<$reveal type=\"match\" state=\"$(pptg-tool-base)$!!title\" text={{!!title}} default=\"\">\n\t\t@@color:red;=>@@\n\t</$reveal>\n<!-- in ControlPage & TagBar is selected -->\n\t<$reveal type=\"match\" state=\"$:/plugins/eucaly/popuptagger/ControlPage!!title\" text=<<storyTiddler>> default=\"\">\n\t\t<$reveal type=\"match\" state=\"$:/plugins/eucaly/popuptagger/config\" text=\"$(pptg-tool-base)$\" default=\"\">\n\t\t\t@@color:red;=>@@\n\t</$reveal></$reveal> \n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_active\" text=\"off\" default=\"on\">\n\t<$linkcatcher message=\"tm-navigate\" set=\"$:/plugins/eucaly/popuptagger/config\" setTo=<<InPlace>> >\n\t<$button to=\"$:/plugins/eucaly/popuptagger/ControlPage\" tooltip=\"Config PopupTagger - $(pptg-tool-base)$\" class=<<tv-config-toolbar-class>> >\n\t\t{{$:/core/images/options-button}}</$button>\n\t</$linkcatcher>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_edittag\" text=\"off\" default=\"on\">\n\t\t<$reveal type=\"nomatch\" state=\"$:/state/popuptagger/EditTags\" text=<<qualify $:/temp/EditTags>> default=\"\">\n\t\t\t<$button set=\"$:/state/popuptagger/EditTags\" setTo=<<qualify $:/temp/EditTags>> tooltip=\"Edit tags\">Edit Tags</$button>\n\t\t</$reveal>\n\t\t<$reveal type=\"match\" state=\"$:/state/popuptagger/EditTags\" text=<<qualify $:/temp/EditTags>> default=\"\">\n\t\t\t<$button tooltip=\"Hide tags\" set=\"$:/state/popuptagger/EditTags\" setTo=\"\">Hide Tags</$button>\n\t\t</$reveal>\n\t\t/\n\t</$reveal>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_tagtable\" text=\"off\" default=\"on\">\n\t\t<<pptg-tagTable>>\n\t</$reveal>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_tagpopup\" text=\"off\" default=\"on\">\n\t\t<$list filter=<<InPlace \"taggroup\">> variable=\"tagG\">\n\t\t\t<<pptg-tagPopup>>\n\t\t</$list>\n\t</$reveal>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_edittag\" text=\"off\" default=\"on\">\n\t\t<$reveal type=\"match\" state=\"$:/state/popuptagger/EditTags\" text=<<qualify $:/temp/EditTags>> default=\"\">\n\t\t\t<p><$edit field=\"tags\"/></p>\n\t</$reveal></$reveal>\n</$reveal>\n</div>\n\\end\n\n\\define pptg-tagTable()\n<$reveal type=popup state=<<qualify $:/temp/tagTable>> >\n<div class=\"tc-popup tc-tiddler-info\">\n\t<table><tr valign=\"top\">\n\t\t<$list filter=<<InPlace \"taggroup\">> variable=\"tagG\">\n\t\t\t<td><<pptg-tagColumn>></td>\n\t\t</$list>\n\t</tr></table>\n</div></$reveal> \n<$button popup=<<qualify $:/temp/tagTable>> tooltip=\"Tag Table\">Tag Table</$button>\n\\end"},"$:/plugins/eucaly/popuptagger/macros":{"created":"20140905060129591","creator":"EucalyJ","modified":"20140914024929144","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger $:/tags/Macro","title":"$:/plugins/eucaly/popuptagger/macros","type":"text/vnd.tiddlywiki","text":"\\define PopupTagger()\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"nomatch\" text=\"off\" default=\"\">\n<$importvariables filter=\"[all[shadows+tiddlers]prefix[$:/plugins/eucaly/popuptagger/macros/]]\">\n<$set name=\"pptg-tool-base\" value=<<InPlace>> >\n\t<<pptg-render>>\n</$set>\n</$importvariables>\n</$reveal>\n\\end\n\n\\define PopupTaggerIf()\n<$list filter=<<InPlace \"view-filter\">> variable=\"t1\">\n<$list filter=\"[<t1>is[current]!has[draft.of]first[]]\" variable=\"t2\">\n\t<<PopupTagger>>\n</$list></$list>\n\\end\n\n\\define PopupTaggerAuto()\n<$importvariables filter=\"[all[shadows+tiddlers]prefix[$:/plugins/eucaly/popuptagger/macros/]]\">\n<$set name=\"pptg-tool-base\" value=<<InPlace>> >\n<$list filter=\"[title<InPlace>!field:title<listItem>]\" variable=\"test14\">\n<div class=\"tc-popuptagger-body\">\t<!-- body only -->\n\t<<pptg-debug \"@@color:#080;(09-body-only)@@\">>\n\t<<pptg-body>>\n</div>\n</$list>\n\n<$list filter=\"[title<InPlace>field:title<listItem>]\" variable=\"test23\">\n<div class=\"tc-popuptagger\">\t\t<!-- tagbar only -->\n\t<<pptg-debug \"@@color:orange;(13-tagbar-only)@@\">>\n\t<<pptg-tagbar>>\n</div>\n</$list>\n</$set>\n</$importvariables>\n\\end\n\n\\define PopupTaggerSwitch()\n<span class=\"tc-popuptagger-switch\">\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"nomatch\" text=\"off\" default=\"\">\n<$button set=\"$:/plugins/eucaly/popuptagger/config!!_active\" setTo=\"off\" tooltip=\"Hide PopupTagger\" class=<<tv-config-toolbar-class>> >{{$:/plugins/eucaly/popuptagger/img/tagOn}}</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"match\" text=\"off\" default=\"\">\n<$button set=\"$:/plugins/eucaly/popuptagger/config!!_active\" setTo=\"on\" tooltip=\"Show PopupTagger\" class=<<tv-config-toolbar-class>> >{{$:/plugins/eucaly/popuptagger/img/tagOff}}</$button>\n</$reveal>\n</span>\n\\end\n"},"$:/plugins/eucaly/popuptagger/readme":{"caption":"~PopupTagger","created":"20140905151516651","creator":"EucalyJ","lastupdate":"20141004","modified":"20141004021911667","modifier":"EucalyJ","tags":"$:/_readme $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/readme","type":"text/vnd.tiddlywiki","text":"!![[PopupTagger Plugin|$:/plugins/eucaly/popuptagger/readme]]\n<hr>\n\nThis ''PopupTagger'' plugin provides ''~TagTable'' and ''~TagBar with popup list of tags'' for [[TiddlyWiki 5|http://tiddlywiki.com/]]. \n<p>** Inspired by [[MonkeyTaggerMacro|http://tiddlywiki.squize.org/#MonkeyTaggerMacro]] (~TiddlyWiki classic)</p>\n\n!!!Features\n\n# ''~TagBar'' with ''popup list of tags''\n# ''~TagTable'' for quick tagging \n# ''~TagEdit'' enables ''tag editing'' as in ~TiddlyWiki classic\n# Shortcut <$button class=<<tv-config-toolbar-class>>> {{$:/core/images/options-button}}</$button> for ''~PopupTagger'' setting\n# ''Global switch'' `<<PopupTaggerSwitch>>` <<PopupTaggerSwitch>>\n# ''Handy setup process'' -- central [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n#* Each element can be enabled / disabled\n#* ''Custom parent tags'' to generate ''~TagBar'' and ''~TagTable''\n#* ~PopupTagger could be ''selectively available'' for certain tiddlers only -- thanks to `<$list>` filter\n#* ''Custom ~PopupTagger location'' -- thanks to `list-after` field\n# ** all above tag operations is ''real-time'' in ''View Mode''\n\n!!!Install\n* Drag&Drop package -- [[$:/plugins/eucaly/popuptagger]] (with documentation)<!--, or\n* Drag&Drop the macros <$list filter=\"[all[shadows+tiddlers]tag[$:/_macros]tag[$:/_popuptagger]!has[draft.of]sort[]]\">\n\n* <$link to={{!!title}}>{{!!title}}</$link>\n</$list>-->\n\n!!!Usage\n\n* You may start with some tag trees like :\n<<<\n{{$:/plugins/eucaly/popuptagger/img/tag-tree.png}}\n<<<\n# Goto central [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]] ( [[$:/plugins/eucaly/popuptagger/ControlPage]] )\n# Check for available ~PopupTagger, or\n# Press `Add` button\n#* Rename the new ~PopupTagger tiddler, in order not to overwrite the [[PopupTagger template|$:/plugins/eucaly/popuptagger/TagBar]]\n#* ~~Modify `\\define pptg-tool-base()` macro definition to sync with the new title~~\n#* ~~In addition to that,~~ please keep `<<PopupTaggerAuto>>` macro call there.\n# Follow the `Configure` section provided in [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n# ''Global switch'' `<<PopupTaggerSwitch>>` <<PopupTaggerSwitch>> is available in [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]], and can be added to else where as you like.\n* ** If you like to conduct a ''manual setup'', you may try `<<PopupTagger>>` or `<<PopupTaggerIf>>` macro call, instead of `<<xxxAuto>>`\n\n!!!Filter Example\n\n| <p>[tag[`$:/_readme`]] [tag[`$:/_UI`]]</p> |tagged `$:/_readme` or `$:/_UI` |\n| <p>[tag[`$:/_macros`]tag[`$:/_popuptagger`]]</p> |tagged `$:/_macros` and `$:/_popuptagger` |\n| <p>[creator/`eucaly`/(i)]</p> |with creator name contains `eucaly` |\n\n"},"$:/plugins/eucaly/popuptagger/StyleSheet":{"created":"20140906125324508","creator":"EucalyJ","modified":"20140912233930702","modifier":"EucalyJ","tags":"$:/tags/Stylesheet $:/_popuptagger $:/_macros","title":"$:/plugins/eucaly/popuptagger/StyleSheet","type":"text/css","text":".tc-popuptagger\n{\n\tbackground-color: #eee;\n}\n\n.tc-tiddler-body .tc-popuptagger\n{\n\tdisplay:none;\n}\n\n.tc-popuptagger-body\n{\n\tdisplay:none;\n}\n\n.tc-tiddler-body .tc-popuptagger-body\n{\n\tdisplay:inline;\n}\n\n.tc-popuptagger-body input\n{\n\twidth: 60%\n}\n\n.tc-popuptagger-checked\n{\n\tbackground-color: #8f8;\n}"},"$:/plugins/eucaly/popuptagger/tab-taggroup":{"caption":"Parent Tags","created":"20140907071901381","creator":"EucalyJ","modified":"20140914012411928","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/tab-taggroup","type":"text/vnd.tiddlywiki","text":"!!!!Parent Tags \n\n<table>\n\t<$list filter=\"[all[shadows+tiddlers]tags[]tags[]]\">\n\t\t<tr>\n\t\t<td><$checkbox tiddler=\"$:/temp/pptg-taggroup\" tag={{!!title}}/></td>\n\t\t<td align=\"left\">{{!!title}}\n ( <$count filter=\"[{!!title}tagging[]!prefix[$:/temp]!has[draft.of]]\"/> )</td>\n\t\t</tr>\n\t</$list>\n</table>\n\nor edit in below -- <$button set=\"$:/temp/pptg-taggroup!!tags\" setTo=\"\">Clear</$button>\n{{$:/temp/pptg-taggroup||$:/core/ui/EditTemplate/tags}}\n<$edit tiddler=\"$:/temp/pptg-taggroup\" field=\"tags\"/>\n\nIf below result looks OK, please press `Proceed` above.\n<table><tr valign=\"top\">\n\t<$list filter=\"[list[$:/temp/pptg-taggroup!!tags]]\">\n\t\t<td><p>''{{!!title}}'' ( <$count filter=\"[{!!title}tagging[]!prefix[$:/temp]]\"/> )</p>\n\t\t\t<$list filter=\"[{!!title}tagging[]!prefix[$:/temp]sort[]]\">\n\t\t\t\t{{!!title}}<br/>\n\t\t\t</$list></td>\n\t</$list>\n</tr></table>"},"$:/plugins/eucaly/popuptagger/TagBar":{"_active":"on","_debug":"off","_edittag":"on","_tagpopup":"off","_tagtable":"on","created":"20140905024853346","creator":"EucalyJ","list-after":"$:/core/ui/ViewTemplate/tags","modified":"20140921091502881","modifier":"EucalyJ","taggroup":"$:/plugins/eucaly $:/_doc-type $:/_doc-edition toc","tags":"$:/tags/ViewTemplate $:/_UI $:/_popuptagger $:/_macros","title":"$:/plugins/eucaly/popuptagger/TagBar","type":"text/vnd.tiddlywiki","view-filter":"[all[tiddlers+shadows]regexp:creator[eucaly(?i)]]","text":"<<PopupTaggerAuto>>"}}}
$:/plugins/eucaly/popuptagger/TagBar
\define pptg-tagPopup()
<$button popup=<<qualify $:/temp/$(tagG)$>> tooltip="Select tags" class="tc-btn-invisible">
$(tagG)$ | </$button>
<$reveal type=popup state=<<qualify $:/temp/$(tagG)$>> >
<div class="tc-popup tc-tiddler-info">
<<pptg-tagColumn>>
</div>
</$reveal>
\end
\define pptg-tagColumn()
<!-- cannot use {{$(tagG)$||$:/core/ui/TagTemplate}} here, because of popup conflict -->
<p>$(tagG)$ ( <$count filter="[[$(tagG)$]tagging[]!prefix[$:/temp]!has[draft.of]]"/> )</p>
<hr/>
<p><$list filter="[tag[$(tagG)$]!prefix[$:/temp]!has[draft.of]sort[]]" variable="tagA">
<$button message="tm-edit-tiddler" param=<<tagA>> class=<<tv-config-toolbar-class>>>
{{$:/core/images/edit-button}}</$button>
<$checkbox tiddler="$(currentTiddler)$" tag=<<tagA>>> <<tagA>></$checkbox><br/>
</$list>
<$list filter="[[$(tagG)$]regexp:title[!]]" variable="test3" emptyMessage="""<$button set="new $(tagG)$ tag!!tags" setTo="$(tagG)$">New Tag</$button>""">
<$button set="new tag!!tags" setTo="$(tagG)$">New Tag</$button>
</$list></p>
\end
\define pptg-render()
<div class="tc-popuptagger">
<!-- TagBar itself -->
<$reveal type="match" state="$(pptg-tool-base)$!!title" text={{!!title}} default="">
@@color:red;=>@@
</$reveal>
<!-- in ControlPage & TagBar is selected -->
<$reveal type="match" state="$:/plugins/eucaly/popuptagger/ControlPage!!title" text=<<storyTiddler>> default="">
<$reveal type="match" state="$:/plugins/eucaly/popuptagger/config" text="$(pptg-tool-base)$" default="">
@@color:red;=>@@
</$reveal></$reveal>
<$reveal type="nomatch" state="$(pptg-tool-base)$!!_active" text="off" default="on">
<$linkcatcher message="tm-navigate" set="$:/plugins/eucaly/popuptagger/config" setTo=<<InPlace>> >
<$button to="$:/plugins/eucaly/popuptagger/ControlPage" tooltip="Config PopupTagger - $(pptg-tool-base)$" class=<<tv-config-toolbar-class>> >
{{$:/core/images/options-button}}</$button>
</$linkcatcher>
<$reveal type="nomatch" state="$(pptg-tool-base)$!!_edittag" text="off" default="on">
<$reveal type="nomatch" state="$:/state/popuptagger/EditTags" text=<<qualify $:/temp/EditTags>> default="">
<$button set="$:/state/popuptagger/EditTags" setTo=<<qualify $:/temp/EditTags>> tooltip="Edit tags">Edit Tags</$button>
</$reveal>
<$reveal type="match" state="$:/state/popuptagger/EditTags" text=<<qualify $:/temp/EditTags>> default="">
<$button tooltip="Hide tags" set="$:/state/popuptagger/EditTags" setTo="">Hide Tags</$button>
</$reveal>
/
</$reveal>
<$reveal type="nomatch" state="$(pptg-tool-base)$!!_tagtable" text="off" default="on">
<<pptg-tagTable>>
</$reveal>
<$reveal type="nomatch" state="$(pptg-tool-base)$!!_tagpopup" text="off" default="on">
<$list filter=<<InPlace "taggroup">> variable="tagG">
<<pptg-tagPopup>>
</$list>
</$reveal>
<$reveal type="nomatch" state="$(pptg-tool-base)$!!_edittag" text="off" default="on">
<$reveal type="match" state="$:/state/popuptagger/EditTags" text=<<qualify $:/temp/EditTags>> default="">
<p><$edit field="tags"/></p>
</$reveal></$reveal>
</$reveal>
</div>
\end
\define pptg-tagTable()
<$reveal type=popup state=<<qualify $:/temp/tagTable>> >
<div class="tc-popup tc-tiddler-info">
<table><tr valign="top">
<$list filter=<<InPlace "taggroup">> variable="tagG">
<td><<pptg-tagColumn>></td>
</$list>
</tr></table>
</div></$reveal>
<$button popup=<<qualify $:/temp/tagTable>> tooltip="Tag Table">Tag Table</$button>
\end
{
"tiddlers": {
"$:/plugins/felixhayashi/topstoryview/config.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/topstoryview/config.js\ntype: application/javascript\nmodule-type: library\n\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.config={classNames:{storyRiver:\"tc-story-river\",backDrop:\"story-backdrop\",tiddlerFrame:\"tc-tiddler-frame\",tiddlerTitle:\"tc-title\"},references:{userConfig:\"$:/config/topStoryView\",focussedTiddlerStore:\"$:/temp/focussedTiddler\",refreshTrigger:\"$:/temp/focussedTiddler/refresh\"},checkbackTime:$tw.utils.getAnimationDuration()}})();",
"title": "$:/plugins/felixhayashi/topstoryview/config.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/topstoryview/layout": {
"title": "$:/plugins/felixhayashi/topstoryview/layout",
"type": "text/vnd.tiddlywiki",
"tags": [
"$:/tags/Stylesheet"
],
"text": "html .tc-story-river:after {\n content: \"\";\n display: block; }\n"
},
"$:/plugins/felixhayashi/topstoryview/Configuration": {
"title": "$:/plugins/felixhayashi/topstoryview/Configuration",
"text": "Please see the [[GitHub page|https://github.com/felixhayashi/TW5-TopStoryView]] for more information on the options.\n\nSave and reload the wiki to activate changes.\n\n<table>\n <tr>\n <th align=\"left\">Scroll offset:</th>\n <td><$edit-text tiddler=\"$:/config/topStoryView\" field=\"scroll-offset\" tag=\"input\" default=\"150px\" /></td>\n </tr>\n</table>"
},
"$:/plugins/felixhayashi/topstoryview/License": {
"title": "$:/plugins/felixhayashi/topstoryview/License",
"text": "This code is released under the BSD license. For the exact terms visit:\n\nhttps://github.com/felixhayashi/TW5-TopStoryView/blob/master/LICENSE"
},
"$:/plugins/felixhayashi/topstoryview/Readme": {
"title": "$:/plugins/felixhayashi/topstoryview/Readme",
"text": "Please visit the [[GitHub page|https://github.com/felixhayashi/TW5-TopStoryView]] for more information."
},
"$:/plugins/felixhayashi/topstoryview/top.js": {
"text": "/*\\\ntitle: $:/plugins/felixhayashi/topstoryview/top.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n@preserve\n\n\\*/\n(function(){\"use strict\";var t=require(\"$:/plugins/felixhayashi/topstoryview/config.js\").config;var e=\"cubic-bezier(0.645, 0.045, 0.355, 1)\";var i=function(e){this.listWidget=e;this.pageScroller=new $tw.utils.PageScroller;this.pageScroller.scrollIntoView=this.scrollIntoView;this.pageScroller.storyRiverDomNode=document.getElementsByClassName(t.classNames.storyRiver)[0];var i=$tw.wiki.getTiddler(t.references.userConfig);var o=i?i.fields:{};$tw.hooks.addHook(\"th-opening-default-tiddlers-list\",this.hookOpenDefaultTiddlers);var r=parseInt(o[\"scroll-offset\"]);this.pageScroller.scrollOffset=isNaN(r)?71:r;this.recalculateBottomSpace()};i.prototype.refreshStart=function(t,e){};i.prototype.refreshEnd=function(t,e){};i.prototype.hookOpenDefaultTiddlers=function(t){return t};i.prototype.navigateTo=function(t){var e=this.listWidget.findListItem(0,t.title);if(e===undefined)return;var i=this.listWidget.children[e];var o=i.findFirstDomNode();if(!(o instanceof Element))return;this.pageScroller.scrollIntoView(o)};i.prototype.insert=function(t){if(!t)return;var e=t.findFirstDomNode();if(!(e instanceof Element))return;this.startInsertAnimation(e,function(){this.recalculateBottomSpace()}.bind(this))};i.prototype.remove=function(t){if(!t)return;var e=t.findFirstDomNode();if(!(e instanceof Element)){t.removeChildDomNodes();return}var i=this.getLastFrame()===e;this.startRemoveAnimation(t,e,function(){t.removeChildDomNodes();this.recalculateBottomSpace();if(i){this.pageScroller.scrollIntoView(this.getLastFrame())}}.bind(this))};i.prototype.getLastFrame=function(){var t=this.listWidget.children[this.listWidget.children.length-1];return t?t.findFirstDomNode():null};i.prototype.recalculateBottomSpace=function(){var t=this.pageScroller.storyRiverDomNode;if(this.getLastFrame()){var e=this.getLastFrame().getBoundingClientRect();var i=window.innerHeight;if(e.height<i){t.style[\"paddingBottom\"]=i-e.height+\"px\";return}}t.style[\"paddingBottom\"]=\"\"};i.prototype.scrollIntoView=function(t){if(this.preventNextScrollAttempt){this.preventNextScrollAttempt=false}if(!t)return;var e=$tw.utils.getAnimationDuration();this.cancelScroll();this.startTime=Date.now();var i=$tw.utils.getScrollPosition();var o=t.getBoundingClientRect(),r={left:o.left+i.x,top:o.top+i.y,width:o.width,height:o.height};var n=function(t,e,i,o){if(t<=i){return t}else if(e<o&&i<t+e-o){return t+e-o}else if(i<t){return t}else{return i}},s=n(r.left,r.width,i.x,window.innerWidth),a=r.top-this.scrollOffset;if(s!==i.x||a!==i.y){var l=this,c;c=function(){var t;if(e<=0){t=1}else{t=(Date.now()-l.startTime)/e}if(t>=1){l.cancelScroll();t=1}t=$tw.utils.slowInSlowOut(t);window.scrollTo(i.x+(s-i.x)*t,i.y+(a-i.y)*t);if(t<1){l.idRequestFrame=l.requestAnimationFrame.call(window,c)}};c()}};i.prototype.startInsertAnimation=function(t,i){var o=$tw.utils.getAnimationDuration();var r=window.getComputedStyle(t),n=parseInt(r.marginBottom,10),s=parseInt(r.marginTop,10),a=t.offsetHeight+s;setTimeout(function(){$tw.utils.setStyle(t,[{transition:\"none\"},{marginBottom:\"\"}]);i()},o);$tw.utils.setStyle(t,[{transition:\"none\"},{marginBottom:-a+\"px\"},{opacity:\"0.0\"}]);$tw.utils.forceLayout(t);$tw.utils.setStyle(t,[{transition:\"opacity \"+o+\"ms \"+e+\", \"+\"margin-bottom \"+o+\"ms \"+e},{marginBottom:n+\"px\"},{opacity:\"1.0\"}])};i.prototype.startRemoveAnimation=function(t,i,o){var r=$tw.utils.getAnimationDuration();var n=i.offsetWidth,s=window.getComputedStyle(i),a=parseInt(s.marginBottom,10),l=parseInt(s.marginTop,10),c=i.offsetHeight+l;setTimeout(o,r);$tw.utils.setStyle(i,[{transition:\"none\"},{transform:\"translateX(0px)\"},{marginBottom:a+\"px\"},{opacity:\"1.0\"}]);$tw.utils.forceLayout(i);$tw.utils.setStyle(i,[{transition:$tw.utils.roundTripPropertyName(\"transform\")+\" \"+r+\"ms \"+e+\", \"+\"opacity \"+r+\"ms \"+e+\", \"+\"margin-bottom \"+r+\"ms \"+e},{transform:\"translateX(-\"+n+\"px)\"},{marginBottom:-c+\"px\"},{opacity:\"0.0\"}])};exports.top=i})();",
"title": "$:/plugins/felixhayashi/topstoryview/top.js",
"type": "application/javascript",
"module-type": "storyview"
}
}
}
{
"configtype": "vtabs"
}
{
"tiddlers": {
"$:/plugins/mklauber/math.js/calc.js": {
"text": "/*\\\ntitle: $:/plugins/mklauber/math.js/calc.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar math = require(\"$:/plugins/mklauber/math.js/math.js\");\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CalcWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCalcWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCalcWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\n\tthis.expression = this.document.createElement(\"div\");\n\tthis.renderChildren(this.expression);\n\t\n\tvar text = \"\";\n\ttry {\n\t\ttext = math.eval(this.expression.textContent.trim());\n\t} catch(err) {\n\t\tif(!this.silence){\n\t\t\ttext = \"Unable to parse '\" + this.expression.textContent + \"'\";\n\t\t}\n\t}\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCalcWidget.prototype.execute = function() {\n\tthis.silence = this.getAttribute(\"silence\",false);\n\tvar calc = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tthis.makeChildWidgets([calc]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCalcWidget.prototype.refresh = function(changedTiddlers) {\n\tif(this.refreshChildren(changedTiddlers)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexports.calc = CalcWidget;\n\n})();\n",
"title": "$:/plugins/mklauber/math.js/calc.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/mklauber/math.js/math.js": {
"text": "/*\\\ntitle: $:/plugins/mklauber/math.js/math.js\ntype: application/javascript\nmodule-type: library\n\\*/\n/**\n * math.js\n * https://github.com/josdejong/mathjs\n *\n * Math.js is an extensive math library for JavaScript and Node.js,\n * It features real and complex numbers, units, matrices, a large set of\n * mathematical functions, and a flexible expression parser.\n *\n * @version 2.4.1\n * @date 2015-10-29\n *\n * @license\n * Copyright (C) 2013-2015 Jos de Jong <wjosdejong@gmail.com>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy\n * of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.math=t():e.math=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p=\"\",t(0)}([function(e,t,r){function n(e){var t=i.create(e);return t.create=n,t[\"import\"](r(13)),t}var i=r(1);e.exports=n()},function(e,t,r){e.exports=r(2)},function(e,t,r){var n=r(3).isFactory,i=r(3).deepExtend,a=r(4),o=r(8),s=r(10),u=r(12);t.create=function(e){function t(e){if(!n(e))throw new Error(\"Factory object with properties `type`, `name`, and `factory` expected\");var i,a=r.indexOf(e);return-1===a?(i=e.math===!0?e.factory(f.type,l,t,f.typed,f):e.factory(f.type,l,t,f.typed),r.push(e),c.push(i)):i=c[a],i}if(\"function\"!=typeof Object.create)throw new Error(\"ES5 not supported by this JavaScript engine. Please load the es5-shim and es5-sham library for compatibility.\");var r=[],c=[],f=o.mixin({});f.type={},f.expression={transform:Object.create(f)},f.typed=a.create(f.type);var l={epsilon:1e-14,matrix:\"matrix\",number:\"number\",precision:64,predictable:!1};return e&&i(l,e),f[\"import\"]=t(s),f.config=t(u),f}},function(e,t){\"use strict\";t.clone=function r(e){var t=typeof e;if(\"number\"===t||\"string\"===t||\"boolean\"===t||null===e||void 0===e)return e;if(\"function\"==typeof e.clone)return e.clone();if(Array.isArray(e))return e.map(function(e){return r(e)});if(e instanceof Number)return new Number(e.valueOf());if(e instanceof String)return new String(e.valueOf());if(e instanceof Boolean)return new Boolean(e.valueOf());if(e instanceof Date)return new Date(e.valueOf());if(e&&e.isBigNumber===!0)return e;if(e instanceof RegExp)throw new TypeError(\"Cannot clone \"+e);var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=r(e[i]));return n},t.extend=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},t.deepExtend=function n(e,t){if(Array.isArray(t))throw new TypeError(\"Arrays are not supported by deepExtend\");for(var r in t)if(t.hasOwnProperty(r))if(t[r]&&t[r].constructor===Object)void 0===e[r]&&(e[r]={}),e[r].constructor===Object?n(e[r],t[r]):e[r]=t[r];else{if(Array.isArray(t[r]))throw new TypeError(\"Arrays are not supported by deepExtend\");e[r]=t[r]}return e},t.deepEqual=function(e,r){var n,i,a;if(Array.isArray(e)){if(!Array.isArray(r))return!1;if(e.length!=r.length)return!1;for(i=0,a=e.length;a>i;i++)if(!t.deepEqual(e[i],r[i]))return!1;return!0}if(e instanceof Object){if(Array.isArray(r)||!(r instanceof Object))return!1;for(n in e)if(!t.deepEqual(e[n],r[n]))return!1;for(n in r)if(!t.deepEqual(e[n],r[n]))return!1;return!0}return typeof e==typeof r&&e==r},t.canDefineProperty=function(){try{if(Object.defineProperty)return Object.defineProperty({},\"x\",{get:function(){}}),!0}catch(e){}return!1},t.lazy=function(e,r,n){if(t.canDefineProperty()){var i,a=!0;Object.defineProperty(e,r,{get:function(){return a&&(i=n(),a=!1),i},set:function(e){i=e,a=!1},configurable:!0,enumerable:!0})}else e[r]=n()},t.traverse=function(e,t){var r=e;if(t)for(var n=t.split(\".\"),i=0;i<n.length;i++){var a=n[i];a in r||(r[a]={}),r=r[a]}return r},t.isFactory=function(e){return e&&\"function\"==typeof e.factory}},function(e,t,r){var n=r(5),i=r(6).digits,a=function(){return a=n.create,n};t.create=function(e){var t=a();return t.types=[{name:\"number\",test:function(e){return\"number\"==typeof e}},{name:\"Complex\",test:function(e){return e&&e.isComplex}},{name:\"BigNumber\",test:function(e){return e&&e.isBigNumber}},{name:\"Fraction\",test:function(e){return e&&e.isFraction}},{name:\"Unit\",test:function(e){return e&&e.isUnit}},{name:\"string\",test:function(e){return\"string\"==typeof e}},{name:\"Array\",test:Array.isArray},{name:\"Matrix\",test:function(e){return e&&e.isMatrix}},{name:\"DenseMatrix\",test:function(e){return e&&e.isDenseMatrix}},{name:\"SparseMatrix\",test:function(e){return e&&e.isSparseMatrix}},{name:\"ImmutableDenseMatrix\",test:function(e){return e&&e.isImmutableDenseMatrix}},{name:\"Range\",test:function(e){return e&&e.isRange}},{name:\"Index\",test:function(e){return e&&e.isIndex}},{name:\"boolean\",test:function(e){return\"boolean\"==typeof e}},{name:\"ResultSet\",test:function(e){return e&&e.isResultSet}},{name:\"Help\",test:function(e){return e&&e.isHelp}},{name:\"function\",test:function(e){return\"function\"==typeof e}},{name:\"Date\",test:function(e){return e instanceof Date}},{name:\"RegExp\",test:function(e){return e instanceof RegExp}},{name:\"Object\",test:function(e){return\"object\"==typeof e}},{name:\"null\",test:function(e){return null===e}},{name:\"undefined\",test:function(e){return void 0===e}}],t.conversions=[{from:\"number\",to:\"BigNumber\",convert:function(t){if(i(t)>15)throw new TypeError(\"Cannot implicitly convert a number with >15 significant digits to BigNumber (value: \"+t+\"). Use function bignumber(x) to convert to BigNumber.\");return new e.BigNumber(t)}},{from:\"number\",to:\"Complex\",convert:function(t){return new e.Complex(t,0)}},{from:\"number\",to:\"string\",convert:function(e){return e+\"\"}},{from:\"BigNumber\",to:\"Complex\",convert:function(t){return new e.Complex(t.toNumber(),0)}},{from:\"number\",to:\"Fraction\",convert:function(t){if(i(t)>15)throw new TypeError(\"Cannot implicitly convert a number with >15 significant digits to Fraction (value: \"+t+\"). Use function fraction(x) to convert to Fraction.\");return new e.Fraction(t)}},{from:\"string\",to:\"number\",convert:function(e){var t=Number(e);if(isNaN(t))throw new Error('Cannot convert \"'+e+'\" to a number');return t}},{from:\"boolean\",to:\"number\",convert:function(e){return+e}},{from:\"boolean\",to:\"BigNumber\",convert:function(t){return new e.BigNumber(+t)}},{from:\"boolean\",to:\"string\",convert:function(e){return+e}},{from:\"null\",to:\"number\",convert:function(){return 0}},{from:\"null\",to:\"string\",convert:function(){return\"null\"}},{from:\"null\",to:\"BigNumber\",convert:function(){return new e.BigNumber(0)}},{from:\"Array\",to:\"Matrix\",convert:function(t){return new e.DenseMatrix(t)}},{from:\"Matrix\",to:\"Array\",convert:function(e){return e.valueOf()}}],t}},function(e,t,r){var n,i,a;!function(r){i=[],n=r,a=\"function\"==typeof n?n.apply(t,i):n,!(void 0!==a&&(e.exports=a))}(function(){function e(){function t(e){for(var t,r=0;r<N.types.length;r++){var n=N.types[r];if(n.name===e){t=n.test;break}}if(!t){var i;for(r=0;r<N.types.length;r++)if(n=N.types[r],n.name.toLowerCase()==e.toLowerCase()){i=n.name;break}throw new Error('Unknown type \"'+e+'\"'+(i?'. Did you mean \"'+i+'\"?':\"\"))}return t}function r(e){for(var t=\"\",r=0;r<e.length;r++){var n=e[r];if(\"\"!=n.name)if(\"\"==t)t=n.name;else if(t!=n.name){var i=new Error(\"Function names do not match (expected: \"+t+\", actual: \"+n.name+\")\");throw i.data={actual:n.name,expected:t},i}}return t}function n(e,t,r,n,i){var a,o=h(n),s=i?i.split(\",\"):null,u=e||\"unnamed\",c=s&&g(s,\"any\"),f={fn:e,index:r,actual:n,expected:s};a=s?t>r&&!c?\"Unexpected type of argument in function \"+u+\" (expected: \"+s.join(\" or \")+\", actual: \"+o+\", index: \"+r+\")\":\"Too few arguments in function \"+u+\" (expected: \"+s.join(\" or \")+\", index: \"+r+\")\":\"Too many arguments in function \"+u+\" (expected: \"+r+\", actual: \"+t+\")\";var l=new TypeError(a);return l.data=f,l}function i(e){this.name=e||\"refs\",this.categories={}}function a(e,t){if(\"string\"==typeof e){var r=e.trim(),n=\"...\"===r.substr(0,3);if(n&&(r=r.substr(3)),\"\"===r)this.types=[\"any\"];else{this.types=r.split(\"|\");for(var i=0;i<this.types.length;i++)this.types[i]=this.types[i].trim()}}else{if(!Array.isArray(e)){if(e instanceof a)return e.clone();throw new Error(\"String or Array expected\")}this.types=e}this.conversions=[],this.varArgs=n||t||!1,this.anyType=-1!==this.types.indexOf(\"any\")}function o(e,t){var r;if(\"string\"==typeof e)r=\"\"!==e?e.split(\",\"):[];else{if(!Array.isArray(e))throw new Error(\"string or Array expected\");r=e}this.params=new Array(r.length);for(var n=0;n<r.length;n++){var i=new a(r[n]);if(this.params[n]=i,n===r.length-1)this.varArgs=i.varArgs;else if(i.varArgs)throw new SyntaxError('Unexpected variable arguments operator \"...\"')}this.fn=t}function s(e,t,r){this.path=e||[],this.param=e[e.length-1]||null,this.signature=t||null,this.childs=r||[]}function u(e){var t,r,n={},i=[];for(var a in e)if(e.hasOwnProperty(a)){var s=e[a];if(t=new o(a,s),t.ignore())continue;var u=t.expand();for(r=0;r<u.length;r++){var c=u[r],f=c.toString(),l=n[f];if(l){var p=o.compare(c,l);if(0>p)n[f]=c;else if(0===p)throw new Error('Signature \"'+f+'\" is defined twice')}else n[f]=c}}for(f in n)n.hasOwnProperty(f)&&i.push(n[f]);for(i.sort(function(e,t){return o.compare(e,t)}),r=0;r<i.length;r++)if(t=i[r],t.varArgs)for(var m=t.params.length-1,h=t.params[m],v=0;v<h.types.length;){if(h.conversions[v])for(var d=h.types[v],y=0;y<i.length;y++){var x=i[y],w=x.params[m];if(x!==t&&w&&g(w.types,d)&&!w.conversions[m]){h.types.splice(v,1),h.conversions.splice(v,1),v--;break}}v++}return i}function c(e){for(var t={},r=0;r<e.length;r++){var n=e[r];if(n.fn&&!n.hasConversions()){var i=n.params.join(\",\");t[i]=n.fn}}return t}function f(e,t){var r,n,i,o=t.length,u=[];for(r=0;r<e.length;r++)n=e[r],n.params.length!==o||i||(i=n),void 0!=n.params[o]&&u.push(n);u.sort(function(e,t){return a.compare(e.params[o],t.params[o])});var c=[];for(r=0;r<u.length;r++){n=u[r];var l=n.params[o],p=c.filter(function(e){return e.param.overlapping(l)})[0];if(p){if(p.param.varArgs)throw new Error('Conflicting types \"'+p.param+'\" and \"'+l+'\"');p.signatures.push(n)}else c.push({param:l,signatures:[n]})}var m=new Array(c.length);for(r=0;r<c.length;r++){var h=c[r];m[r]=f(h.signatures,t.concat(h.param))}return new s(t,i,m)}function l(e){for(var t=[],r=0;e>r;r++)t[r]=\"arg\"+r;return t}function p(e,t){var r=new i,a=u(t);if(0==a.length)throw new Error(\"No signatures provided\");var o=f(a,[]),s=[],p=e||\"\",h=l(m(a));s.push(\"function \"+p+\"(\"+h.join(\", \")+\") {\"),s.push(' \"use strict\";'),s.push(\" var name = '\"+p+\"';\"),s.push(o.toCode(r,\" \")),s.push(\"}\");var g=[r.toCode(),\"return \"+s.join(\"\\n\")].join(\"\\n\"),v=new Function(r.name,\"createError\",g),d=v(r,n);return d.signatures=c(a),d}function m(e){for(var t=0,r=0;r<e.length;r++){var n=e[r].params.length;n>t&&(t=n)}return t}function h(e){for(var t,r=0;r<N.types.length;r++){var n=N.types[r];if(\"Object\"===n.name)t=n;else if(n.test(e))return n.name}return t&&t.test(e)?t.name:\"unknown\"}function g(e,t){return-1!==e.indexOf(t)}function v(e,t){if(!e.signatures)throw new TypeError(\"Function is no typed-function\");var r;if(\"string\"==typeof t){r=t.split(\",\");for(var n=0;n<r.length;n++)r[n]=r[n].trim()}else{if(!Array.isArray(t))throw new TypeError(\"String array or a comma separated string expected\");r=t}var i=r.join(\",\"),a=e.signatures[i];if(a)return a;throw new TypeError(\"Signature not found (signature: \"+(e.name||\"unnamed\")+\"(\"+r.join(\", \")+\"))\")}function d(e,t){var r=h(e);if(t===r)return e;for(var n=0;n<N.conversions.length;n++){var i=N.conversions[n];if(i.from===r&&i.to===t)return i.convert(e)}throw new Error(\"Cannot convert from \"+r+\" to \"+t)}i.prototype.add=function(e,t){var r=t||\"fn\";this.categories[r]||(this.categories[r]=[]);var n=this.categories[r].indexOf(e);return-1==n&&(n=this.categories[r].length,this.categories[r].push(e)),r+n},i.prototype.toCode=function(){var e=[],t=this.name+\".categories\",r=this.categories;for(var n in r)if(r.hasOwnProperty(n))for(var i=r[n],a=0;a<i.length;a++)e.push(\"var \"+n+a+\" = \"+t+\"['\"+n+\"'][\"+a+\"];\");return e.join(\"\\n\")},a.compare=function(e,t){if(e.anyType)return 1;if(t.anyType)return-1;if(g(e.types,\"Object\"))return 1;if(g(t.types,\"Object\"))return-1;if(e.hasConversions()){if(t.hasConversions()){var r,n,i;for(r=0;r<e.conversions.length;r++)if(void 0!==e.conversions[r]){n=e.conversions[r];break}for(r=0;r<t.conversions.length;r++)if(void 0!==t.conversions[r]){i=t.conversions[r];break}return N.conversions.indexOf(n)-N.conversions.indexOf(i)}return 1}if(t.hasConversions())return-1;var a,o;for(r=0;r<N.types.length;r++)if(N.types[r].name===e.types[0]){a=r;break}for(r=0;r<N.types.length;r++)if(N.types[r].name===t.types[0]){o=r;break}return a-o},a.prototype.overlapping=function(e){for(var t=0;t<this.types.length;t++)if(g(e.types,this.types[t]))return!0;return!1},a.prototype.clone=function(){var e=new a(this.types.slice(),this.varArgs);return e.conversions=this.conversions.slice(),e},a.prototype.hasConversions=function(){return this.conversions.length>0},a.prototype.contains=function(e){for(var t=0;t<this.types.length;t++)if(e[this.types[t]])return!0;return!1},a.prototype.toString=function(e){for(var t=[],r={},n=0;n<this.types.length;n++){var i=this.conversions[n],a=e&&i?i.to:this.types[n];a in r||(r[a]=!0,t.push(a))}return(this.varArgs?\"...\":\"\")+t.join(\"|\")},o.prototype.clone=function(){return new o(this.params.slice(),this.fn)},o.prototype.expand=function(){function e(r,n){if(n.length<r.params.length){var i,s,u,c=r.params[n.length];if(c.varArgs){for(s=c.clone(),i=0;i<N.conversions.length;i++)if(u=N.conversions[i],!g(c.types,u.from)&&g(c.types,u.to)){var f=s.types.length;s.types[f]=u.from,s.conversions[f]=u}e(r,n.concat(s))}else{for(i=0;i<c.types.length;i++)e(r,n.concat(new a(c.types[i])));for(i=0;i<N.conversions.length;i++)u=N.conversions[i],!g(c.types,u.from)&&g(c.types,u.to)&&(s=new a(u.from),s.conversions[0]=u,e(r,n.concat(s)))}}else t.push(new o(n,r.fn))}var t=[];return e(this,[]),t},o.compare=function(e,t){if(e.params.length>t.params.length)return 1;if(e.params.length<t.params.length)return-1;var r,n=e.params.length,i=0,o=0;for(r=0;n>r;r++)e.params[r].hasConversions()&&i++,t.params[r].hasConversions()&&o++;if(i>o)return 1;if(o>i)return-1;for(r=0;r<e.params.length;r++){var s=a.compare(e.params[r],t.params[r]);if(0!==s)return s}return 0},o.prototype.hasConversions=function(){for(var e=0;e<this.params.length;e++)if(this.params[e].hasConversions())return!0;return!1},o.prototype.ignore=function(){for(var e={},t=0;t<N.ignore.length;t++)e[N.ignore[t]]=!0;for(t=0;t<this.params.length;t++)if(this.params[t].contains(e))return!0;return!1},o.prototype.toCode=function(e,t){for(var r=[],n=new Array(this.params.length),i=0;i<this.params.length;i++){var a=this.params[i],o=a.conversions[0];a.varArgs?n[i]=\"varArgs\":o?n[i]=e.add(o.convert,\"convert\")+\"(arg\"+i+\")\":n[i]=\"arg\"+i}var s=this.fn?e.add(this.fn,\"signature\"):void 0;return s?t+\"return \"+s+\"(\"+n.join(\", \")+\"); // signature: \"+this.params.join(\", \"):r.join(\"\\n\")},o.prototype.toString=function(){return this.params.join(\", \")},s.prototype.toCode=function(e,r,n){var i=[];if(this.param){var a=this.path.length-1,o=this.param.conversions[0],s=\"// type: \"+(o?o.from+\" (convert to \"+o.to+\")\":this.param);if(this.param.varArgs)if(this.param.anyType)i.push(r+\"if (arguments.length > \"+a+\") {\"),i.push(r+\" var varArgs = [];\"),i.push(r+\" for (var i = \"+a+\"; i < arguments.length; i++) {\"),i.push(r+\" varArgs.push(arguments[i]);\"),i.push(r+\" }\"),i.push(this.signature.toCode(e,r+\" \")),i.push(r+\"}\");else{for(var u=function(r,n){for(var i=[],a=0;a<r.length;a++)i[a]=e.add(t(r[a]),\"test\")+\"(\"+n+\")\";return i.join(\" || \")}.bind(this),c=this.param.types,f=[],l=0;l<c.length;l++)void 0===this.param.conversions[l]&&f.push(c[l]);i.push(r+\"if (\"+u(c,\"arg\"+a)+\") { \"+s),i.push(r+\" var varArgs = [arg\"+a+\"];\"),i.push(r+\" for (var i = \"+(a+1)+\"; i < arguments.length; i++) {\"),i.push(r+\" if (\"+u(f,\"arguments[i]\")+\") {\"),i.push(r+\" varArgs.push(arguments[i]);\");for(var l=0;l<c.length;l++){var p=this.param.conversions[l];if(p){var m=e.add(t(c[l]),\"test\"),h=e.add(p.convert,\"convert\");i.push(r+\" }\"),i.push(r+\" else if (\"+m+\"(arguments[i])) {\"),i.push(r+\" varArgs.push(\"+h+\"(arguments[i]));\")}}i.push(r+\" } else {\"),i.push(r+\" throw createError(name, arguments.length, i, arguments[i], '\"+f.join(\",\")+\"');\"),i.push(r+\" }\"),i.push(r+\" }\"),i.push(this.signature.toCode(e,r+\" \")),i.push(r+\"}\")}else if(this.param.anyType)i.push(r+\"// type: any\"),i.push(this._innerCode(e,r,n));else{var g=this.param.types[0],m=\"any\"!==g?e.add(t(g),\"test\"):null;i.push(r+\"if (\"+m+\"(arg\"+a+\")) { \"+s),i.push(this._innerCode(e,r+\" \",n)),i.push(r+\"}\")}}else i.push(this._innerCode(e,r,n));return i.join(\"\\n\")},s.prototype._innerCode=function(e,t,r){var n,i=[];this.signature&&(i.push(t+\"if (arguments.length === \"+this.path.length+\") {\"),i.push(this.signature.toCode(e,t+\" \")),i.push(t+\"}\"));var a;for(n=0;n<this.childs.length;n++)if(this.childs[n].param.anyType){a=this.childs[n];break}for(n=0;n<this.childs.length;n++)i.push(this.childs[n].toCode(e,t,a));r&&!this.param.anyType&&i.push(r.toCode(e,t,a));var o=this._exceptions(e,t);return o&&i.push(o),i.join(\"\\n\")},s.prototype._exceptions=function(e,t){var r=this.path.length;if(0===this.childs.length)return[t+\"if (arguments.length > \"+r+\") {\",t+\" throw createError(name, arguments.length, \"+r+\", arguments[\"+r+\"]);\",t+\"}\"].join(\"\\n\");for(var n={},i=[],a=0;a<this.childs.length;a++){var o=this.childs[a];if(o.param)for(var s=0;s<o.param.types.length;s++){var u=o.param.types[s];u in n||o.param.conversions[s]||(n[u]=!0,i.push(u))}}return t+\"throw createError(name, arguments.length, \"+r+\", arguments[\"+r+\"], '\"+i.join(\",\")+\"');\"};var y=[{name:\"number\",test:function(e){return\"number\"==typeof e}},{name:\"string\",test:function(e){return\"string\"==typeof e}},{name:\"boolean\",test:function(e){return\"boolean\"==typeof e}},{name:\"Function\",test:function(e){return\"function\"==typeof e}},{name:\"Array\",test:Array.isArray},{name:\"Date\",test:function(e){return e instanceof Date}},{name:\"RegExp\",test:function(e){return e instanceof RegExp}},{name:\"Object\",test:function(e){return\"object\"==typeof e}},{name:\"null\",test:function(e){return null===e}},{name:\"undefined\",test:function(e){return void 0===e}}],x={},w=[],b=[],N={config:x,types:y,conversions:w,ignore:b};return N=p(\"typed\",{Object:function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(e[n]);var i=r(t);return p(i,e)},\"string, Object\":p,\"...Function\":function(e){for(var t,n=r(e),i={},a=0;a<e.length;a++){var o=e[a];if(\"object\"!=typeof o.signatures)throw t=new TypeError(\"Function is no typed-function (index: \"+a+\")\"),t.data={index:a},t;for(var s in o.signatures)if(o.signatures.hasOwnProperty(s))if(i.hasOwnProperty(s)){if(o.signatures[s]!==i[s])throw t=new Error('Signature \"'+s+'\" is defined twice'),t.data={signature:s},t}else i[s]=o.signatures[s]}return p(n,i)}}),N.config=x,N.types=y,N.conversions=w,N.ignore=b,N.create=e,N.find=v,N.convert=d,N.addType=function(e){if(!e||\"string\"!=typeof e.name||\"function\"!=typeof e.test)throw new TypeError(\"Object with properties {name: string, test: function} expected\");N.types.push(e)},N.addConversion=function(e){if(!e||\"string\"!=typeof e.from||\"string\"!=typeof e.to||\"function\"!=typeof e.convert)throw new TypeError(\"Object with properties {from: string, to: string, convert: function} expected\");N.conversions.push(e)},N}return e()})},function(e,t,r){\"use strict\";var n=r(7);t.isNumber=function(e){return\"number\"==typeof e},t.isInteger=function(e){return isFinite(e)?e==Math.round(e):!1},t.sign=function(e){return e>0?1:0>e?-1:0},t.format=function(e,r){if(\"function\"==typeof r)return r(e);if(e===1/0)return\"Infinity\";if(e===-(1/0))return\"-Infinity\";if(isNaN(e))return\"NaN\";var n=\"auto\",i=void 0;switch(r&&(r.notation&&(n=r.notation),t.isNumber(r)?i=r:r.precision&&(i=r.precision)),n){case\"fixed\":return t.toFixed(e,i);case\"exponential\":return t.toExponential(e,i);case\"auto\":return t.toPrecision(e,i,r&&r.exponential).replace(/((\\.\\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return\".\"!==e?e+t:t});default:throw new Error('Unknown notation \"'+n+'\". Choose \"auto\", \"exponential\", or \"fixed\".')}},t.toExponential=function(e,t){return new n(e).toExponential(t)},t.toFixed=function(e,t){return new n(e).toFixed(t)},t.toPrecision=function(e,t,r){return new n(e).toPrecision(t,r)},t.digits=function(e){return e.toExponential().replace(/e.*$/,\"\").replace(/^0\\.?0*|\\./,\"\").length},t.DBL_EPSILON=Number.EPSILON||2.220446049250313e-16,t.nearlyEqual=function(e,r,n){if(null==n)return e==r;if(e==r)return!0;if(isNaN(e)||isNaN(r))return!1;if(isFinite(e)&&isFinite(r)){var i=Math.abs(e-r);return i<t.DBL_EPSILON?!0:i<=Math.max(Math.abs(e),Math.abs(r))*n}return!1}},function(e,t){\"use strict\";function r(e){var t=String(e).toLowerCase().match(/^0*?(-?)(\\d+\\.?\\d*)(e([+-]?\\d+))?$/);if(!t)throw new SyntaxError(\"Invalid number\");var r=t[1],n=t[2],i=parseFloat(t[4]||\"0\"),a=n.indexOf(\".\");i+=-1!==a?a-1:n.length-1,this.sign=r,this.coefficients=n.replace(\".\",\"\").replace(/^0*/,function(e){return i-=e.length,\"\"}).replace(/0*$/,\"\").split(\"\").map(function(e){return parseInt(e)}),0===this.coefficients.length&&(this.coefficients.push(0),i++),this.exponent=i}function n(e){for(var t=[],r=0;e>r;r++)t.push(0);return t}r.prototype.toFixed=function(e){var t=this.roundDigits(this.exponent+1+(e||0)),r=t.coefficients,i=t.exponent+1,a=i+(e||0);return r.length<a&&(r=r.concat(n(a-r.length))),0>i&&(r=n(-i+1).concat(r),i=1),e&&r.splice(i,0,0===i?\"0.\":\".\"),this.sign+r.join(\"\")},r.prototype.toExponential=function(e){var t=e?this.roundDigits(e):this.clone(),r=t.coefficients,i=t.exponent;r.length<e&&(r=r.concat(n(e-r.length)));var a=r.shift();return this.sign+a+(r.length>0?\".\"+r.join(\"\"):\"\")+\"e\"+(i>=0?\"+\":\"\")+i},r.prototype.toPrecision=function(e,t){var r=t&&void 0!==t.lower?t.lower:.001,i=t&&void 0!==t.upper?t.upper:1e5,a=Math.abs(Math.pow(10,this.exponent));if(r>a||a>=i)return this.toExponential(e);var o=e?this.roundDigits(e):this.clone(),s=o.coefficients,u=o.exponent;s.length<e&&(s=s.concat(n(e-s.length))),s=s.concat(n(u-s.length+1+(s.length<e?e-s.length:0))),s=n(-u).concat(s);var c=u>0?u:0;return c<s.length-1&&s.splice(c+1,0,\".\"),this.sign+s.join(\"\")},r.prototype.clone=function(){var e=new r(\"0\");return e.sign=this.sign,e.coefficients=this.coefficients.slice(0),e.exponent=this.exponent,e},r.prototype.roundDigits=function(e){for(var t=this.clone(),r=t.coefficients;0>=e;)r.unshift(0),t.exponent++,e++;if(r.length>e){var n=r.splice(e);if(n[0]>=5){var i=e-1;for(r[i]++;10===r[i];)r.pop(),0===i&&(r.unshift(0),t.exponent++,i++),i--,r[i]++}}return t},e.exports=r},function(e,t,r){var n=r(9);t.mixin=function(e){var t=new n;return e.on=t.on.bind(t),e.off=t.off.bind(t),e.once=t.once.bind(t),e.emit=t.emit.bind(t),e}},function(e,t){function r(){}r.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){var n=this,i=function(){n.off(e,i),t.apply(r,arguments)};return this.on(e,i,r)},emit:function(e){var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,i=r.length;for(n;i>n;n++)r[n].fn.apply(r[n].ctx,t);return this},off:function(e,t){var r=this.e||(this.e={}),n=r[e],i=[];if(n&&t)for(var a=0,o=n.length;o>a;a++)n[a].fn!==t&&i.push(n[a]);return i.length?r[e]=i:delete r[e],this}},e.exports=r},function(e,t,r){\"use strict\";function n(e,t,r,n,u){function c(e,t){var r=arguments.length;if(1!=r&&2!=r)throw new s(\"import\",r,1,2);if(t||(t={}),a(e))m(e,t);else if(Array.isArray(e))e.forEach(function(e){c(e,t)});else if(\"object\"==typeof e){for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];h(i)?f(n,i,t):a(e)?m(e,t):c(i,t)}}else if(!t.silent)throw new TypeError(\"Factory, Object, or Array expected\")}function f(e,t,r){if(r.wrap&&\"function\"==typeof t&&(t=p(t)),g(u[e])&&g(t))return t=r.override?n(e,t.signatures):n(u[e],t),u[e]=t,l(e,t),void u.emit(\"import\",e,function(){return t});if(void 0===u[e]||r.override)return u[e]=t,l(e,t),void u.emit(\"import\",e,function(){return t});if(!r.silent)throw new Error('Cannot import \"'+e+'\": already exists')}function l(e,t){t&&\"function\"==typeof t.transform&&(u.expression.transform[e]=t.transform)}function p(e){var t=function(){for(var t=[],r=0,n=arguments.length;n>r;r++){var i=arguments[r];t[r]=i&&i.valueOf()}return e.apply(u,t)};return e.transform&&(t.transform=e.transform),t}function m(e,t){if(\"string\"==typeof e.name){var a=e.name,s=e.path?o(u,e.path):u,c=s.hasOwnProperty(a)?s[a]:void 0,f=function(){var i=r(e);if(g(c)&&g(i))return t.override||(i=n(c,i)),i;if(void 0===c||t.override)return i;if(!t.silent)throw new Error('Cannot import \"'+a+'\": already exists')};e.lazy!==!1?i(s,a,f):s[a]=f(),u.emit(\"import\",a,f,e.path)}else r(e)}function h(e){return\"function\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"boolean\"==typeof e||null===e||e&&e.isUnit===!0||e&&e.isComplex===!0}function g(e){return\"function\"==typeof e&&\"object\"==typeof e.signatures}return c}var i=r(3).lazy,a=r(3).isFactory,o=r(3).traverse,s=(r(3).extend,r(11));t.math=!0,t.name=\"import\",t.factory=n,t.lazy=!0},function(e,t){\"use strict\";function r(e,t,n,i){if(!(this instanceof r))throw new SyntaxError(\"Constructor must be called with the new operator\");this.fn=e,this.count=t,this.min=n,this.max=i,this.message=\"Wrong number of arguments in function \"+e+\" (\"+t+\" provided, \"+n+(void 0!=i?\"-\"+i:\"\")+\" expected)\",this.stack=(new Error).stack}r.prototype=new Error,r.prototype.constructor=Error,r.prototype.name=\"ArgumentsError\",r.prototype.isArgumentsError=!0,e.exports=r},function(e,t,r){\"use strict\";function n(e,t,r,n,a){return function(e){if(e){var r=i.clone(t);i.deepExtend(t,e);var n=i.clone(t);return a.emit(\"config\",n,r),n}return i.clone(t)}}var i=r(3);t.name=\"config\",t.math=!0,t.factory=n},function(e,t,r){e.exports=[r(14),r(76),r(80),r(312),r(495),r(497)]},function(e,t,r){e.exports=[r(15),r(20),r(21),r(26),r(31),r(37),r(69),r(70),r(72),r(73)]},function(e,t,r){e.exports=[r(16),r(18)]},function(e,t,r){function n(e,t,r,n,a){var o=i.constructor(t);return o.prototype.type=\"BigNumber\",o.prototype.isBigNumber=!0,o.prototype.toJSON=function(){return{mathjs:\"BigNumber\",value:this.toString()}},o.fromJSON=function(e){return new o(e.value)},a.on(\"config\",function(e,t){e.precision!==t.precision&&o.config({precision:e.precision})}),o}var i=r(17);r(6).digits;t.name=\"BigNumber\",t.path=\"type\",t.factory=n,t.math=!0},function(e,t,r){var n;!function(i){\"use strict\";function a(e){for(var t,r,n=1,i=e.length,a=e[0]+\"\";i>n;n++){for(t=e[n]+\"\",r=_-t.length;r--;)t=\"0\"+t;a+=t}for(i=a.length;48===a.charCodeAt(--i););return a.slice(0,i+1||1)}function o(e,t,r,n){var i,a,o,s,u;for(a=1,o=e[0];o>=10;o/=10,a++);return o=t-a,0>o?(o+=_,i=0):(i=Math.ceil((o+1)/_),o%=_),a=E(10,_-o),u=e[i]%a|0,null==n?3>o?(0==o?u=u/100|0:1==o&&(u=u/10|0),s=4>r&&99999==u||r>3&&49999==u||5e4==u||0==u):s=(4>r&&u+1==a||r>3&&u+1==a/2)&&(e[i+1]/a/100|0)==E(10,o-2)-1||(u==a/2||0==u)&&0==(e[i+1]/a/100|0):4>o?(0==o?u=u/1e3|0:1==o?u=u/100|0:2==o&&(u=u/10|0),s=(n||4>r)&&9999==u||!n&&r>3&&4999==u):s=((n||4>r)&&u+1==a||!n&&r>3&&u+1==a/2)&&(e[i+1]/a/1e3|0)==E(10,o-3)-1,s}function s(e,t,r){var n=e.constructor;return null==t||((y=0>t||t>8)||0!==t&&(n.errors?parseInt:parseFloat)(t)!=t)&&!p(n,\"rounding mode\",t,r,0)?n.rounding:0|t}function u(e,t,r,n){var i=e.constructor;return!(y=(n||0)>t||t>=S+1)&&(0===t||(i.errors?parseInt:parseFloat)(t)==t)||p(i,\"argument\",t,r,0)}function c(e,t){var r,n,i,s,u,c,f,l=0,p=0,m=0,h=e.constructor,v=h.ONE,d=h.rounding,y=h.precision;if(!e.c||!e.c[0]||e.e>17)return new h(e.c?e.c[0]?e.s<0?0:1/0:v:e.s?e.s<0?0:e:NaN);for(null==t?(w=!1,u=y):u=t,f=new h(.03125);e.e>-2;)e=e.times(f),m+=5;for(n=Math.log(E(2,m))/Math.LN10*2+5|0,u+=n,r=s=c=new h(v),h.precision=u;;){if(s=g(s.times(e),u,1),r=r.times(++p),f=c.plus(k(s,r,u,1)),a(f.c).slice(0,u)===a(c.c).slice(0,u)){for(i=m;i--;)c=g(c.times(c),u,1);if(null!=t)return h.precision=y,c;if(!(3>l&&o(c.c,u-n,d,l)))return g(c,h.precision=y,d,w=!0);h.precision=u+=10,r=s=f=new h(v),p=0,l++}c=f}}function f(e,t,r,n){var i,o,s=e.constructor,u=(e=new s(e)).e;if(null==t?r=0:(g(e,++t,r),r=n?t:t+e.e-u),u=e.e,i=a(e.c),1==n||2==n&&(u>=t||u<=s.toExpNeg)){for(;i.length<r;i+=\"0\");i.length>1&&(i=i.charAt(0)+\".\"+i.slice(1)),i+=(0>u?\"e\":\"e+\")+u}else{if(n=i.length,0>u){for(o=r-n;++u;i=\"0\"+i);i=\"0.\"+i}else if(++u>n){for(o=r-u,u-=n;u--;i+=\"0\");o>0&&(i+=\".\")}else o=r-n,n>u?i=i.slice(0,u)+\".\"+i.slice(u):o>0&&(i+=\".\");if(o>0)for(;o--;i+=\"0\");}return e.s<0&&e.c[0]?\"-\"+i:i}function l(e){var t=e.length-1,r=t*_+1;if(t=e[t]){for(;t%10==0;t/=10,r--);for(t=e[0];t>=10;t/=10,r++);}return r}function p(e,t,r,n,i){if(e.errors){var a=new Error((n||[\"new Decimal\",\"cmp\",\"div\",\"eq\",\"gt\",\"gte\",\"lt\",\"lte\",\"minus\",\"mod\",\"plus\",\"times\",\"toFraction\",\"pow\",\"random\",\"log\",\"sqrt\",\"toNearest\",\"divToInt\"][b?0>b?-b:b:0>1/b?1:0])+\"() \"+([\"number type has more than 15 significant digits\",\"LN10 out of digits\"][t]||t+([y?\" out of range\":\" not an integer\",\" not a boolean or binary digit\"][i]||\"\"))+\": \"+r);throw a.name=\"Decimal Error\",y=b=0,a}}function m(e,t,r){var n=new e(e.ONE);for(w=!1;1&r&&(n=n.times(t)),r>>=1,r;)t=t.times(t);return w=!0,n}function h(e,t){var r,n,i,s,u,c,f,l,m,v,d,y=1,x=10,b=e,N=b.c,E=b.constructor,M=E.ONE,A=E.rounding,_=E.precision;if(b.s<0||!N||!N[0]||!b.e&&1==N[0]&&1==N.length)return new E(N&&!N[0]?-1/0:1!=b.s?NaN:N?0:b);if(null==t?(w=!1,f=_):f=t,E.precision=f+=x,r=a(N),n=r.charAt(0),!(Math.abs(s=b.e)<15e14))return b=new E(n+\".\"+r.slice(1)),f+2>B.length&&p(E,1,f+2,\"ln\"),b=h(b,f-x).plus(new E(B.slice(0,f+2)).times(s+\"\")),E.precision=_,null==t?g(b,_,A,w=!0):b;for(;7>n&&1!=n||1==n&&r.charAt(1)>3;)b=b.times(e),r=a(b.c),n=r.charAt(0),y++;for(s=b.e,n>1?(b=new E(\"0.\"+r),s++):b=new E(n+\".\"+r.slice(1)),v=b,l=u=b=k(b.minus(M),b.plus(M),f,1),d=g(b.times(b),f,1),i=3;;){if(u=g(u.times(d),f,1),m=l.plus(k(u,new E(i),f,1)),a(m.c).slice(0,f)===a(l.c).slice(0,f)){if(l=l.times(2),0!==s&&(f+2>B.length&&p(E,1,f+2,\"ln\"),l=l.plus(new E(B.slice(0,f+2)).times(s+\"\"))),l=k(l,new E(y),f,1),null!=t)return E.precision=_,l;if(!o(l.c,f-x,A,c))return g(l,E.precision=_,A,w=!0);E.precision=f+=x,m=u=b=k(v.minus(M),v.plus(M),f,1),d=g(b.times(b),f,1),i=c=1}l=m,i+=2}}function g(e,t,r,n){var i,a,o,s,u,c,f,l,p=e.constructor;e:if(null!=t){if(!(f=e.c))return e;for(i=1,s=f[0];s>=10;s/=10,i++);if(a=t-i,0>a)a+=_,o=t,u=f[l=0],c=u/E(10,i-o-1)%10|0;else if(l=Math.ceil((a+1)/_),l>=f.length){if(!n)break e;for(;f.length<=l;f.push(0));u=c=0,i=1,a%=_,o=a-_+1}else{for(u=s=f[l],i=1;s>=10;s/=10,i++);a%=_,o=a-_+i,c=0>o?0:N(u/E(10,i-o-1)%10)}if(n=n||0>t||null!=f[l+1]||(0>o?u:u%E(10,i-o-1)),n=4>r?(c||n)&&(0==r||r==(e.s<0?3:2)):c>5||5==c&&(4==r||n||6==r&&(a>0?o>0?u/E(10,i-o):0:f[l-1])%10&1||r==(e.s<0?8:7)),1>t||!f[0])return f.length=0,n?(t-=e.e+1,f[0]=E(10,(_-t%_)%_),e.e=-t||0):f[0]=e.e=0,e;if(0==a?(f.length=l,s=1,l--):(f.length=l+1,s=E(10,_-a),f[l]=o>0?(u/E(10,i-o)%E(10,o)|0)*s:0),n)for(;;){if(0==l){for(a=1,o=f[0];o>=10;o/=10,a++);for(o=f[0]+=s,s=1;o>=10;o/=10,s++);a!=s&&(e.e++,f[0]==A&&(f[0]=1));break}if(f[l]+=s,f[l]!=A)break;f[l--]=0,s=1}for(a=f.length;0===f[--a];f.pop());}return w&&(e.e>p.maxE?e.c=e.e=null:e.e<p.minE&&(e.c=[e.e=0])),e}var v,d,y,x=i.crypto,w=!0,b=0,N=Math.floor,E=Math.pow,M=Object.prototype.toString,A=1e7,_=7,O=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_\",T={},C=9e15,S=1e9,z=3e3,B=\"2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058\";T.absoluteValue=T.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),g(e)},T.ceil=function(){return g(new this.constructor(this),this.e+1,2)},T.comparedTo=T.cmp=function(e,t){var r,n=this,i=n.c,a=(b=-b,e=new n.constructor(e,t),\ne.c),o=n.s,s=e.s,u=n.e,c=e.e;if(!o||!s)return null;if(r=i&&!i[0],t=a&&!a[0],r||t)return r?t?0:-s:o;if(o!=s)return o;if(r=0>o,!i||!a)return u==c?0:!i^r?1:-1;if(u!=c)return u>c^r?1:-1;for(o=-1,s=(u=i.length)<(c=a.length)?u:c;++o<s;)if(i[o]!=a[o])return i[o]>a[o]^r?1:-1;return u==c?0:u>c^r?1:-1},T.decimalPlaces=T.dp=function(){var e,t,r=null;if(e=this.c){if(r=((t=e.length-1)-N(this.e/_))*_,t=e[t])for(;t%10==0;t/=10,r--);0>r&&(r=0)}return r},T.dividedBy=T.div=function(e,t){return b=2,k(this,new this.constructor(e,t))},T.dividedToIntegerBy=T.divToInt=function(e,t){var r=this,n=r.constructor;return b=18,g(k(r,new n(e,t),0,1,1),n.precision,n.rounding)},T.equals=T.eq=function(e,t){return b=3,0===this.cmp(e,t)},T.exponential=T.exp=function(){return c(this)},T.floor=function(){return g(new this.constructor(this),this.e+1,3)},T.greaterThan=T.gt=function(e,t){return b=4,this.cmp(e,t)>0},T.greaterThanOrEqualTo=T.gte=function(e,t){return b=5,t=this.cmp(e,t),1==t||0===t},T.isFinite=function(){return!!this.c},T.isInteger=T.isInt=function(){return!!this.c&&N(this.e/_)>this.c.length-2},T.isNaN=function(){return!this.s},T.isNegative=T.isNeg=function(){return this.s<0},T.isZero=function(){return!!this.c&&0==this.c[0]},T.lessThan=T.lt=function(e,t){return b=6,this.cmp(e,t)<0},T.lessThanOrEqualTo=T.lte=function(e,t){return b=7,t=this.cmp(e,t),-1==t||0===t},T.logarithm=T.log=function(e,t){var r,n,i,s,u,c,f,l,m,v=this,d=v.constructor,y=d.precision,x=d.rounding,N=5;if(null==e)e=new d(10),r=!0;else{if(b=15,e=new d(e,t),n=e.c,e.s<0||!n||!n[0]||!e.e&&1==n[0]&&1==n.length)return new d(NaN);r=e.eq(10)}if(n=v.c,v.s<0||!n||!n[0]||!v.e&&1==n[0]&&1==n.length)return new d(n&&!n[0]?-1/0:1!=v.s?NaN:n?0:1/0);if(u=r&&(s=n[0],n.length>1||1!=s&&10!=s&&100!=s&&1e3!=s&&1e4!=s&&1e5!=s&&1e6!=s),w=!1,f=y+N,l=f+10,c=h(v,f),r?(l>B.length&&p(d,1,l,\"log\"),i=new d(B.slice(0,l))):i=h(e,f),m=k(c,i,f,1),o(m.c,s=y,x))do if(f+=10,c=h(v,f),r?(l=f+10,l>B.length&&p(d,1,l,\"log\"),i=new d(B.slice(0,l))):i=h(e,f),m=k(c,i,f,1),!u){+a(m.c).slice(s+1,s+15)+1==1e14&&(m=g(m,y+1,0));break}while(o(m.c,s+=10,x));return w=!0,g(m,y,x)},T.minus=function(e,t){var r,n,i,a,o=this,s=o.constructor,u=o.s;if(b=8,e=new s(e,t),t=e.s,!u||!t)return new s(NaN);if(u!=t)return e.s=-t,o.plus(e);var c=o.c,f=e.c,l=N(e.e/_),p=N(o.e/_),m=s.precision,h=s.rounding;if(!p||!l){if(!c||!f)return c?(e.s=-t,e):new s(f?o:NaN);if(!c[0]||!f[0])return o=f[0]?(e.s=-t,e):new s(c[0]?o:3==h?-0:0),w?g(o,m,h):o}if(c=c.slice(),n=c.length,u=p-l){for((a=0>u)?(u=-u,r=c,n=f.length):(l=p,r=f),(p=Math.ceil(m/_))>n&&(n=p),u>(n+=2)&&(u=n,r.length=1),r.reverse(),t=u;t--;r.push(0));r.reverse()}else for((a=n<(i=f.length))&&(i=n),u=t=0;i>t;t++)if(c[t]!=f[t]){a=c[t]<f[t];break}if(a&&(r=c,c=f,f=r,e.s=-e.s),(t=-((i=c.length)-f.length))>0)for(;t--;c[i++]=0);for(p=A-1,t=f.length;t>u;){if(c[--t]<f[t]){for(n=t;n&&!c[--n];c[n]=p);--c[n],c[t]+=A}c[t]-=f[t]}for(;0==c[--i];c.pop());for(;0==c[0];c.shift(),--l);for(c[0]||(c=[l=0],e.s=3==h?-1:1),e.c=c,u=1,t=c[0];t>=10;t/=10,u++);return e.e=u+l*_-1,w?g(e,m,h):e},T.modulo=T.mod=function(e,t){var r,n,i=this,a=i.constructor,o=a.modulo;return b=9,e=new a(e,t),t=e.s,r=!i.c||!t||e.c&&!e.c[0],r||!e.c||i.c&&!i.c[0]?r?new a(NaN):g(new a(i),a.precision,a.rounding):(w=!1,9==o?(e.s=1,n=k(i,e,0,3,1),e.s=t,n.s*=t):n=k(i,e,0,o,1),n=n.times(e),w=!0,i.minus(n))},T.naturalLogarithm=T.ln=function(){return h(this)},T.negated=T.neg=function(){var e=new this.constructor(this);return e.s=-e.s||null,g(e)},T.plus=function(e,t){var r,n=this,i=n.constructor,a=n.s;if(b=10,e=new i(e,t),t=e.s,!a||!t)return new i(NaN);if(a!=t)return e.s=-t,n.minus(e);var o=n.c,s=e.c,u=N(e.e/_),c=N(n.e/_),f=i.precision,l=i.rounding;if(!c||!u){if(!o||!s)return new i(a/0);if(!o[0]||!s[0])return n=s[0]?e:new i(o[0]?n:0*a),w?g(n,f,l):n}if(o=o.slice(),a=c-u){for(0>a?(a=-a,r=o,t=s.length):(u=c,r=s,t=o.length),(c=Math.ceil(f/_))>t&&(t=c),a>++t&&(a=t,r.length=1),r.reverse();a--;r.push(0));r.reverse()}for(o.length-s.length<0&&(r=s,s=o,o=r),a=s.length,t=0,c=A;a;o[a]%=c)t=(o[--a]=o[a]+s[a]+t)/c|0;for(t&&(o.unshift(t),++u),a=o.length;0==o[--a];o.pop());for(e.c=o,a=1,t=o[0];t>=10;t/=10,a++);return e.e=a+u*_-1,w?g(e,f,l):e},T.precision=T.sd=function(e){var t=null,r=this;return e!=t&&e!==!!e&&1!==e&&0!==e&&p(r.constructor,\"argument\",e,\"precision\",1),r.c&&(t=l(r.c),e&&r.e+1>t&&(t=r.e+1)),t},T.round=function(){var e=this,t=e.constructor;return g(new t(e),e.e+1,t.rounding)},T.squareRoot=T.sqrt=function(){var e,t,r,n,i,o,s=this,u=s.c,c=s.s,f=s.e,l=s.constructor,p=new l(.5);if(1!==c||!u||!u[0])return new l(!c||0>c&&(!u||u[0])?NaN:u?s:1/0);for(w=!1,c=Math.sqrt(+s),0==c||c==1/0?(t=a(u),(t.length+f)%2==0&&(t+=\"0\"),c=Math.sqrt(t),f=N((f+1)/2)-(0>f||f%2),c==1/0?t=\"1e\"+f:(t=c.toExponential(),t=t.slice(0,t.indexOf(\"e\")+1)+f),n=new l(t)):n=new l(c.toString()),r=(f=l.precision)+3;;)if(o=n,n=p.times(o.plus(k(s,o,r+2,1))),a(o.c).slice(0,r)===(t=a(n.c)).slice(0,r)){if(t=t.slice(r-3,r+1),\"9999\"!=t&&(i||\"4999\"!=t)){(!+t||!+t.slice(1)&&\"5\"==t.charAt(0))&&(g(n,f+1,1),e=!n.times(n).eq(s));break}if(!i&&(g(o,f+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}return w=!0,g(n,f,l.rounding,e)},T.times=function(e,t){var r,n,i=this,a=i.constructor,o=i.c,s=(b=11,e=new a(e,t),e.c),u=N(i.e/_),c=N(e.e/_),f=i.s;if(t=e.s,e.s=f==t?1:-1,!((u||o&&o[0])&&(c||s&&s[0])))return new a(!f||!t||o&&!o[0]&&!s||s&&!s[0]&&!o?NaN:o&&s?0*e.s:e.s/0);for(n=u+c,f=o.length,t=s.length,t>f&&(r=o,o=s,s=r,c=f,f=t,t=c),c=f+t,r=[];c--;r.push(0));for(u=t-1;u>-1;u--){for(t=0,c=f+u;c>u;)t=r[c]+s[u]*o[c-u-1]+t,r[c--]=t%A|0,t=t/A|0;r[c]=(r[c]+t)%A|0}for(t?++n:r[0]||r.shift(),c=r.length;!r[--c];r.pop());for(e.c=r,f=1,t=r[0];t>=10;t/=10,f++);return e.e=f+n*_-1,w?g(e,a.precision,a.rounding):e},T.toDecimalPlaces=T.toDP=function(e,t){var r=this;return r=new r.constructor(r),null!=e&&u(r,e,\"toDP\")?g(r,(0|e)+r.e+1,s(r,t,\"toDP\")):r},T.toExponential=function(e,t){var r=this;return r.c?f(r,null!=e&&u(r,e,\"toExponential\")?0|e:null,null!=e&&s(r,t,\"toExponential\"),1):r.toString()},T.toFixed=function(e,t){var r,n=this,i=n.constructor,a=i.toExpNeg,o=i.toExpPos;return null!=e&&(e=u(n,e,r=\"toFixed\")?n.e+(0|e):null,t=s(n,t,r)),i.toExpNeg=-(i.toExpPos=1/0),null!=e&&n.c?(r=f(n,e,t),n.s<0&&n.c&&(n.c[0]?r.indexOf(\"-\")<0&&(r=\"-\"+r):r=r.replace(\"-\",\"\"))):r=n.toString(),i.toExpNeg=a,i.toExpPos=o,r},T.toFormat=function(e,t){var r=this;if(!r.c)return r.toString();var n,i=r.s<0,a=r.constructor.format,o=a.groupSeparator,s=+a.groupSize,u=+a.secondaryGroupSize,c=r.toFixed(e,t).split(\".\"),f=c[0],l=c[1],p=i?f.slice(1):f,m=p.length;if(u&&(n=s,s=u,m-=u=n),s>0&&m>0){for(n=m%s||s,f=p.substr(0,n);m>n;n+=s)f+=o+p.substr(n,s);u>0&&(f+=o+p.slice(n)),i&&(f=\"-\"+f)}return l?f+a.decimalSeparator+((u=+a.fractionGroupSize)?l.replace(new RegExp(\"\\\\d{\"+u+\"}\\\\B\",\"g\"),\"$&\"+a.fractionGroupSeparator):l):f},T.toFraction=function(e){var t,r,n,i,o,s,u,c,f=this,m=f.constructor,h=t=new m(m.ONE),g=s=new m(0),v=f.c,d=new m(g);if(!v)return f.toString();for(n=d.e=l(v)-f.e-1,d.c[0]=E(10,(u=n%_)<0?_+u:u),(null==e||(!(b=12,o=new m(e)).s||(y=o.cmp(h)<0||!o.c)||m.errors&&N(o.e/_)<o.c.length-1)&&!p(m,\"max denominator\",e,\"toFraction\",0)||(e=o).cmp(d)>0)&&(e=n>0?d:h),w=!1,o=new m(a(v)),u=m.precision,m.precision=n=v.length*_*2;c=k(o,d,0,1,1),r=t.plus(c.times(g)),1!=r.cmp(e);)t=g,g=r,h=s.plus(c.times(r=h)),s=r,d=o.minus(c.times(r=d)),o=r;return r=k(e.minus(t),g,0,1,1),s=s.plus(r.times(h)),t=t.plus(r.times(g)),s.s=h.s=f.s,i=k(h,g,n,1).minus(f).abs().cmp(k(s,t,n,1).minus(f).abs())<1?[h+\"\",g+\"\"]:[s+\"\",t+\"\"],w=!0,m.precision=u,i},T.toNearest=function(e,t){var r=this,n=r.constructor;return r=new n(r),null==e?(e=new n(n.ONE),t=n.rounding):(b=17,e=new n(e),t=s(r,t,\"toNearest\")),e.c?r.c&&(e.c[0]?(w=!1,r=k(r,e,0,4>t?[4,5,7,8][t]:t,1).times(e),w=!0,g(r)):r.c=[r.e=0]):r.s&&(e.s&&(e.s=r.s),r=e),r},T.toNumber=function(){var e=this;return+e||(e.s?0*e.s:NaN)},T.toPower=T.pow=function(e,t){var r,n,i,s,u=this,f=u.constructor,l=u.s,p=(b=13,+(e=new f(e,t))),v=0>p?-p:p,d=f.precision,y=f.rounding;if(!u.c||!e.c||(i=!u.c[0])||!e.c[0])return new f(E(i?0*l:+u,p));if(u=new f(u),r=u.c.length,!u.e&&u.c[0]==u.s&&1==r)return u;if(t=e.c.length-1,e.e||e.c[0]!=e.s||t)if(n=N(e.e/_),i=n>=t,!i&&0>l)s=new f(NaN);else{if(i&&z>r*_*v){if(s=m(f,u,v),e.s<0)return f.ONE.div(s)}else{if(l=0>l&&1&e.c[Math.max(n,t)]?-1:1,t=E(+u,p),n=0!=t&&isFinite(t)?new f(t+\"\").e:N(p*(Math.log(\"0.\"+a(u.c))/Math.LN10+u.e+1)),n>f.maxE+1||n<f.minE-1)return new f(n>0?l/0:0);w=!1,f.rounding=u.s=1,v=Math.min(12,(n+\"\").length),s=c(e.times(h(u,d+v)),d),s=g(s,d+5,1),o(s.c,d,y)&&(n=d+10,s=g(c(e.times(h(u,n+v)),n),n+5,1),+a(s.c).slice(d+1,d+15)+1==1e14&&(s=g(s,d+1,0))),s.s=l,w=!0,f.rounding=y}s=g(s,d,y)}else s=g(u,d,y);return s},T.toPrecision=function(e,t){var r=this;return null!=e&&u(r,e,\"toPrecision\",1)&&r.c?f(r,0|--e,s(r,t,\"toPrecision\"),2):r.toString()},T.toSignificantDigits=T.toSD=function(e,t){var r=this,n=r.constructor;return r=new n(r),null!=e&&u(r,e,\"toSD\",1)?g(r,0|e,s(r,t,\"toSD\")):g(r,n.precision,n.rounding)},T.toString=function(e){var t,r,n,i=this,o=i.constructor,s=i.e;if(null===s)r=i.s?\"Infinity\":\"NaN\";else{if(e===t&&(s<=o.toExpNeg||s>=o.toExpPos))return f(i,null,o.rounding,1);if(r=a(i.c),0>s){for(;++s;r=\"0\"+r);r=\"0.\"+r}else if(n=r.length,s>0)if(++s>n)for(s-=n;s--;r+=\"0\");else n>s&&(r=r.slice(0,s)+\".\"+r.slice(s));else if(t=r.charAt(0),n>1)r=t+\".\"+r.slice(1);else if(\"0\"==t)return t;if(null!=e)if((y=!(e>=2&&65>e))||e!=(0|e)&&o.errors)p(o,\"base\",e,\"toString\",0);else if(r=v(o,r,0|e,10,i.s),\"0\"==r)return r}return i.s<0?\"-\"+r:r},T.truncated=T.trunc=function(){return g(new this.constructor(this),this.e+1,1)},T.valueOf=T.toJSON=function(){return this.toString()},v=function(){function e(e,t,r){for(var n,i,a=[0],o=0,s=e.length;s>o;){for(i=a.length;i--;a[i]*=t);for(a[n=0]+=O.indexOf(e.charAt(o++));n<a.length;n++)a[n]>r-1&&(null==a[n+1]&&(a[n+1]=0),a[n+1]+=a[n]/r|0,a[n]%=r)}return a.reverse()}return function(t,r,n,i,a){var o,s,u,c,f,l,p=r.indexOf(\".\"),h=t.precision,g=t.rounding;for(37>i&&(r=r.toLowerCase()),p>=0&&(r=r.replace(\".\",\"\"),l=new t(i),c=m(t,l,r.length-p),l.c=e(c.toFixed(),10,n),l.e=l.c.length),f=e(r,i,n),o=s=f.length;0==f[--s];f.pop());if(!f[0])return\"0\";if(0>p?o--:(c.c=f,c.e=o,c.s=a,c=k(c,l,h,g,0,n),f=c.c,u=c.r,o=c.e),p=f[h],s=n/2,u=u||null!=f[h+1],4>g?(null!=p||u)&&(0==g||g==(0>a?3:2)):p>s||p==s&&(4==g||u||6==g&&1&f[h-1]||g==(0>a?8:7)))for(f.length=h,--n;++f[--h]>n;)f[h]=0,h||(++o,f.unshift(1));else f.length=h;for(s=f.length;!f[--s];);for(p=0,r=\"\";s>=p;r+=O.charAt(f[p++]));if(0>o){for(;++o;r=\"0\"+r);r=\"0.\"+r}else if(p=r.length,++o>p)for(o-=p;o--;r+=\"0\");else p>o&&(r=r.slice(0,o)+\".\"+r.slice(o));return r}}();var k=function(){function e(e,t,r){var n,i=0,a=e.length;for(e=e.slice();a--;)n=e[a]*t+i,e[a]=n%r|0,i=n/r|0;return i&&e.unshift(i),e}function t(e,t,r,n){var i,a;if(r!=n)a=r>n?1:-1;else for(i=a=0;r>i;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.shift());}return function(n,i,a,o,s,u){var c,f,l,p,m,h,v,d,y,x,w,b,E,M,O,T,C,S,z,B=n.constructor,k=n.s==i.s?1:-1,I=n.c,R=i.c;if(!(I&&I[0]&&R&&R[0]))return new B(n.s&&i.s&&(I?!R||I[0]!=R[0]:R)?I&&0==I[0]||!R?0*k:k/0:NaN);for(u?(p=1,f=n.e-i.e):(u=A,p=_,f=N(n.e/p)-N(i.e/p)),S=R.length,T=I.length,y=new B(k),x=y.c=[],l=0;R[l]==(I[l]||0);l++);if(R[l]>(I[l]||0)&&f--,null==a?(k=a=B.precision,o=B.rounding):k=s?a+(n.e-i.e)+1:a,0>k)x.push(1),m=!0;else{if(k=k/p+2|0,l=0,1==S){for(h=0,R=R[0],k++;(T>l||h)&&k--;l++)M=h*u+(I[l]||0),x[l]=M/R|0,h=M%R|0;m=h||T>l}else{for(h=u/(R[0]+1)|0,h>1&&(R=e(R,h,u),I=e(I,h,u),S=R.length,T=I.length),O=S,w=I.slice(0,S),b=w.length;S>b;w[b++]=0);z=R.slice(),z.unshift(0),C=R[0],R[1]>=u/2&&C++;do h=0,c=t(R,w,S,b),0>c?(E=w[0],S!=b&&(E=E*u+(w[1]||0)),h=E/C|0,h>1?(h>=u&&(h=u-1),v=e(R,h,u),d=v.length,b=w.length,c=t(v,w,d,b),1==c&&(h--,r(v,d>S?z:R,d,u))):(0==h&&(c=h=1),v=R.slice()),d=v.length,b>d&&v.unshift(0),r(w,v,b,u),-1==c&&(b=w.length,c=t(R,w,S,b),1>c&&(h++,r(w,b>S?z:R,b,u))),b=w.length):0===c&&(h++,w=[0]),x[l++]=h,c&&w[0]?w[b++]=I[O]||0:(w=[I[O]],b=1);while((O++<T||null!=w[0])&&k--);m=null!=w[0]}x[0]||x.shift()}if(1==p)y.e=f,y.r=+m;else{for(l=1,k=x[0];k>=10;k/=10,l++);y.e=l+f*p-1,g(y,s?a+y.e+1:a,o,m)}return y}}();d=function(){function e(e){var t,r,n,i=this,a=\"config\",o=i.errors?parseInt:parseFloat;return e==r||\"object\"!=typeof e&&!p(i,\"object expected\",e,a)?i:((n=e[t=\"precision\"])!=r&&((y=1>n||n>S)||o(n)!=n?p(i,t,n,a,0):i[t]=0|n),(n=e[t=\"rounding\"])!=r&&((y=0>n||n>8)||o(n)!=n?p(i,t,n,a,0):i[t]=0|n),(n=e[t=\"toExpNeg\"])!=r&&((y=-C>n||n>0)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"toExpPos\"])!=r&&((y=0>n||n>C)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"minE\"])!=r&&((y=-C>n||n>0)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"maxE\"])!=r&&((y=0>n||n>C)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"errors\"])!=r&&(n===!!n||1===n||0===n?(y=b=0,i[t]=!!n):p(i,t,n,a,1)),(n=e[t=\"crypto\"])!=r&&(n===!!n||1===n||0===n?i[t]=!(!n||!x||\"object\"!=typeof x):p(i,t,n,a,1)),(n=e[t=\"modulo\"])!=r&&((y=0>n||n>9)||o(n)!=n?p(i,t,n,a,0):i[t]=0|n),(e=e[t=\"format\"])!=r&&(\"object\"==typeof e?i[t]=e:p(i,\"format object expected\",e,a)),i)}function t(e){return new this(e).exp()}function r(e){return new this(e).ln()}function n(e,t){return new this(e).log(t)}function i(e,t,r){var n,i,a=0;for(\"[object Array]\"==M.call(t[0])&&(t=t[0]),n=new e(t[0]);++a<t.length;){if(i=new e(t[a]),!i.s){n=i;break}n[r](i)&&(n=i)}return n}function a(){return i(this,arguments,\"lt\")}function o(){return i(this,arguments,\"gt\")}function s(e,t){return new this(e).pow(t)}function c(e){var t,r,n,i=0,a=[],o=this,s=new o(o.ONE);if(null!=e&&u(s,e,\"random\")?e|=0:e=o.precision,r=Math.ceil(e/_),o.crypto)if(x&&x.getRandomValues)for(t=x.getRandomValues(new Uint32Array(r));r>i;)n=t[i],n>=429e7?t[i]=x.getRandomValues(new Uint32Array(1))[0]:a[i++]=n%1e7;else if(x&&x.randomBytes){for(t=x.randomBytes(r*=4);r>i;)n=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((127&t[i+3])<<24),n>=214e7?x.randomBytes(4).copy(t,i):(a.push(n%1e7),i+=4);i=r/4}else p(o,\"crypto unavailable\",x,\"random\");if(!i)for(;r>i;)a[i++]=1e7*Math.random()|0;for(r=a[--i],e%=_,r&&e&&(n=E(10,_-e),a[i]=(r/n|0)*n);0===a[i];i--)a.pop();if(0>i)a=[r=0];else{for(r=-1;0===a[0];)a.shift(),r-=_;for(i=1,n=a[0];n>=10;)n/=10,i++;_>i&&(r-=_-i)}return s.e=r,s.c=a,s}function f(e){return new this(e).sqrt()}function l(i){function u(e,t){var r=this;if(!(r instanceof u))return p(u,\"Decimal called without new\",e),new u(e,t);if(r.constructor=u,e instanceof u){if(null==t)return b=0,r.s=e.s,r.e=e.e,r.c=(e=e.c)?e.slice():e,r;if(10==t)return g(new u(e),u.precision,u.rounding);e+=\"\"}return m(u,r,e,t)}return u.precision=20,u.rounding=4,u.modulo=1,u.toExpNeg=-7,u.toExpPos=21,u.minE=-C,u.maxE=C,u.errors=!0,u.crypto=!1,u.format={decimalSeparator:\".\",groupSeparator:\",\",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:\" \",fractionGroupSize:0},u.prototype=T,u.ONE=new u(1),u.ROUND_UP=0,u.ROUND_DOWN=1,u.ROUND_CEIL=2,u.ROUND_FLOOR=3,u.ROUND_HALF_UP=4,u.ROUND_HALF_DOWN=5,u.ROUND_HALF_EVEN=6,u.ROUND_HALF_CEIL=7,u.ROUND_HALF_FLOOR=8,u.EUCLID=9,u.config=e,u.constructor=l,u.exp=t,u.ln=r,u.log=n,u.max=a,u.min=o,u.pow=s,u.sqrt=f,u.random=c,null!=i&&u.config(i),u}var m=function(){var e=/^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,t=String.prototype.trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")};return function(r,n,i,a){var o,s,u,c,f,l;if(\"string\"!=typeof i&&(i=(c=\"number\"==typeof i||\"[object Number]\"==M.call(i))&&0===i&&0>1/i?\"-0\":i+\"\"),f=i,null==a&&e.test(i))n.s=45===i.charCodeAt(0)?(i=i.slice(1),-1):1;else{if(10==a)return g(new r(i),r.precision,r.rounding);if(i=t.call(i).replace(/^\\+(?!-)/,\"\"),n.s=45===i.charCodeAt(0)?(i=i.replace(/^-(?!-)/,\"\"),-1):1,null!=a?a!=(0|a)&&r.errors||(y=!(a>=2&&65>a))?(p(r,\"base\",a,0,0),l=e.test(i)):(o=\"[\"+O.slice(0,a=0|a)+\"]+\",i=i.replace(/\\.$/,\"\").replace(/^\\./,\"0.\"),(l=new RegExp(\"^\"+o+\"(?:\\\\.\"+o+\")?$\",37>a?\"i\":\"\").test(i))?(c&&(i.replace(/^0\\.0*|\\./,\"\").length>15&&p(r,0,f),c=!c),i=v(r,i,10,a,n.s)):\"Infinity\"!=i&&\"NaN\"!=i&&(p(r,\"not a base \"+a+\" number\",f),i=\"NaN\")):l=e.test(i),!l)return n.c=n.e=null,\"Infinity\"!=i&&(\"NaN\"!=i&&p(r,\"not a number\",f),n.s=null),b=0,n}for((s=i.indexOf(\".\"))>-1&&(i=i.replace(\".\",\"\")),(u=i.search(/e/i))>0?(0>s&&(s=u),s+=+i.slice(u+1),i=i.substring(0,u)):0>s&&(s=i.length),u=0;48===i.charCodeAt(u);u++);for(a=i.length;48===i.charCodeAt(--a););if(i=i.slice(u,a+1)){if(a=i.length,c&&a>15&&p(r,0,f),n.e=s=s-u-1,n.c=[],u=(s+1)%_,0>s&&(u+=_),a>u){for(u&&n.c.push(+i.slice(0,u)),a-=_;a>u;)n.c.push(+i.slice(u,u+=_));i=i.slice(u),u=_-i.length}else u-=a;for(;u--;i+=\"0\");n.c.push(+i),w&&(n.e>r.maxE?n.c=n.e=null:n.e<r.minE&&(n.c=[n.e=0]))}else n.c=[n.e=0];return b=0,n}}();return l()}(),n=function(){return d}.call(t,r,t,e),!(void 0!==n&&(e.exports=n))}(this)},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"bignumber\",{\"\":function(){return new e.BigNumber(0)},number:function(t){return new e.BigNumber(t+\"\")},string:function(t){return new e.BigNumber(t)},BigNumber:function(e){return e},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex={0:\"0\",1:\"\\\\left(${args[0]}\\\\right)\"},a}var i=r(19);t.name=\"bignumber\",t.factory=n},function(e,t){\"use strict\";e.exports=function r(e,t,n){return e&&\"function\"==typeof e.map?e.map(function(e){return r(e,t,n)}):t(e)}},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"bool\",{\"\":function(){return!1},\"boolean\":function(e){return e},number:function(e){return!!e},BigNumber:function(e){return!e.isZero()},string:function(e){var t=e.toLowerCase();if(\"true\"===t)return!0;if(\"false\"===t)return!1;var r=Number(e);if(\"\"!=e&&!isNaN(r))return!!r;throw new Error('Cannot convert \"'+e+'\" to a boolean')},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);t.name=\"boolean\",t.factory=n},function(e,t,r){e.exports=[r(22),r(25)]},function(e,t,r){\"use strict\";function n(e,t,r,n,o){function s(e){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");e&&e.isChain?this.value=e.value:this.value=e}function u(e,t){\"function\"==typeof t&&(s.prototype[e]=f(t))}function c(e,t){a(s.prototype,e,function(){var e=t();return\"function\"==typeof e?f(e):void 0})}function f(e){return function(){for(var t=[this.value],r=0;r<arguments.length;r++)t[r+1]=arguments[r];return new s(e.apply(e,t))}}return s.prototype.type=\"Chain\",s.prototype.isChain=!0,s.prototype.done=function(){return this.value},s.prototype.valueOf=function(){return this.value},s.prototype.toString=function(){return i(this.value)},s.createProxy=function(e,t){if(\"string\"==typeof e)u(e,t);else for(var r in e)e.hasOwnProperty(r)&&u(r,e[r])},s.createProxy(o),o.on(\"import\",function(e,t,r){void 0===r&&c(e,t)}),s}var i=r(23).format,a=r(3).lazy;t.name=\"Chain\",t.path=\"type\",t.factory=n,t.math=!0,t.lazy=!1},function(e,t,r){\"use strict\";function n(e,r){if(Array.isArray(e)){for(var i=\"[\",a=e.length,o=0;a>o;o++)0!=o&&(i+=\", \"),i+=n(e[o],r);return i+=\"]\"}return t.format(e,r)}var i=r(6).format,a=r(24).format;t.isString=function(e){return\"string\"==typeof e},t.endsWith=function(e,t){var r=e.length-t.length,n=e.length;return e.substring(r,n)===t},t.format=function(e,r){return\"number\"==typeof e?i(e,r):e&&e.isBigNumber===!0?a(e,r):e&&e.isFraction===!0?r&&\"decimal\"===r.fraction?e.toString():e.s*e.n+\"/\"+e.d:Array.isArray(e)?n(e,r):t.isString(e)?'\"'+e+'\"':\"function\"==typeof e?e.syntax?e.syntax+\"\":\"function\":\"object\"==typeof e?\"function\"==typeof e.format?e.format(r):e.toString():String(e)}},function(e,t){t.format=function(e,r){if(\"function\"==typeof r)return r(e);if(!e.isFinite())return e.isNaN()?\"NaN\":e.gt(0)?\"Infinity\":\"-Infinity\";var n=\"auto\",i=void 0;switch(void 0!==r&&(r.notation&&(n=r.notation),\"number\"==typeof r?i=r:r.precision&&(i=r.precision)),n){case\"fixed\":return t.toFixed(e,i);case\"exponential\":return t.toExponential(e,i);case\"auto\":var a=.001,o=1e5;r&&r.exponential&&(void 0!==r.exponential.lower&&(a=r.exponential.lower),void 0!==r.exponential.upper&&(o=r.exponential.upper));({toExpNeg:e.constructor.toExpNeg,toExpPos:e.constructor.toExpPos});if(e.constructor.config({toExpNeg:Math.round(Math.log(a)/Math.LN10),toExpPos:Math.round(Math.log(o)/Math.LN10)}),e.isZero())return\"0\";var s,u=e.abs();return s=u.gte(a)&&u.lt(o)?e.toSignificantDigits(i).toFixed():t.toExponential(e,i),s.replace(/((\\.\\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return\".\"!==e?e+t:t});default:throw new Error('Unknown notation \"'+n+'\". Choose \"auto\", \"exponential\", or \"fixed\".')}},t.toExponential=function(e,t){return void 0!==t?e.toExponential(t-1):e.toExponential()},t.toFixed=function(e,t){return e.toFixed(t||0)}},function(e,t){\"use strict\";function r(e,t,r,n){return n(\"chain\",{\"\":function(){return new e.Chain},any:function(t){return new e.Chain(t)}})}t.name=\"chain\",t.factory=r},function(e,t,r){e.exports=[r(27),r(29)]},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");switch(arguments.length){case 0:this.re=0,this.im=0;break;case 1:var r=arguments[0];if(\"object\"==typeof r){if(\"re\"in r&&\"im\"in r){var n=new s(r.re,r.im);this.re=n.re,this.im=n.im;break}if(\"r\"in r&&\"phi\"in r){var n=s.fromPolar(r.r,r.phi);this.re=n.re,this.im=n.im;break}}throw new SyntaxError(\"Object with the re and im or r and phi properties expected.\");case 2:if(!i(e)||!i(t))throw new TypeError(\"Two numbers expected in Complex constructor\");this.re=e,this.im=t;break;default:throw new SyntaxError(\"One, two or three arguments expected in Complex constructor\")}}function u(){for(;\" \"==x||\"\t\"==x;)l()}function c(e){return e>=\"0\"&&\"9\">=e||\".\"==e}function f(e){return e>=\"0\"&&\"9\">=e}function l(){y++,x=d.charAt(y)}function p(e){y=e,x=d.charAt(y)}function m(){var e,t=\"\";if(e=y,\"+\"==x?l():\"-\"==x&&(t+=x,l()),!c(x))return p(e),null;if(\".\"==x){if(t+=x,l(),!f(x))return p(e),null}else{for(;f(x);)t+=x,l();\".\"==x&&(t+=x,l())}for(;f(x);)t+=x,l();if(\"E\"==x||\"e\"==x){if(t+=x,l(),(\"+\"==x||\"-\"==x)&&(t+=x,l()),!f(x))return p(e),null;for(;f(x);)t+=x,l()}return t}function h(){var e=d.charAt(y+1);if(\"I\"==x||\"i\"==x)return l(),\"1\";if(!(\"+\"!=x&&\"-\"!=x||\"I\"!=e&&\"i\"!=e)){var t=\"+\"==x?\"1\":\"-1\";return l(),l(),t}return null}function g(){return new SyntaxError('End of string expected, got \"'+d.substr(y)+'\"')}var v=n(r(28));s.prototype.isComplex=!0,s.prototype.type=\"Complex\";var d,y,x;return s.parse=function(e){if(d=e,y=-1,x=\"\",\"string\"!=typeof d)throw new TypeError(\"Invalid argument in Complex.parse, string expected\");l(),u();var t=m();if(t){if(\"I\"==x||\"i\"==x){if(l(),u(),x)throw g();return new s(0,Number(t))}u();var r=x;if(\"+\"!=r&&\"-\"!=r){if(u(),x)throw g();return new s(Number(t),0)}l(),u();var n=m();if(n){if(\"I\"!=x&&\"i\"!=x)throw new SyntaxError('Character \"i\" expected, got \"'+x+'\"');l()}else if(n=h(),!n)throw new SyntaxError(\"Imaginary part expected\");if(\"-\"==r&&(n=\"-\"==n[0]?\"+\"+n.substring(1):\"-\"+n),l(),u(),x)throw g();return new s(Number(t),Number(n))}if(t=h()){if(u(),x)throw g();return new s(0,Number(t))}throw new SyntaxError('Could not parse: \"'+e+'\" as complex number')},s.fromPolar=function(e){switch(arguments.length){case 1:var t=arguments[0];if(\"object\"==typeof t)return s.fromPolar(t.r,t.phi);throw new TypeError(\"Input has to be an object with r and phi keys.\");case 2:var r=arguments[0],n=arguments[1];if(i(r)){if(n&&n.isUnit&&n.hasBase(v.BASE_UNITS.ANGLE)&&(n=n.toNumber(\"rad\")),i(n))return new s(r*Math.cos(n),r*Math.sin(n));throw new TypeError(\"Phi is not a number nor an angle unit.\")}throw new TypeError(\"Radius r is not a number.\");default:throw new SyntaxError(\"Wrong number of arguments in function fromPolar\")}},s.prototype.toPolar=function(){return{r:Math.sqrt(this.re*this.re+this.im*this.im),phi:Math.atan2(this.im,this.re)}},s.prototype.clone=function(){return new s(this.re,this.im)},s.prototype.equals=function(e){return this.re===e.re&&this.im===e.im},s.prototype.format=function(e){var t=\"\",r=this.im,n=this.re,o=a(this.re,e),s=a(this.im,e),u=i(e)?e:e?e.precision:null;if(null!==u){var c=Math.pow(10,-u);Math.abs(n/r)<c&&(n=0),Math.abs(r/n)<c&&(r=0)}return t=0==r?o:0==n?1==r?\"i\":-1==r?\"-i\":s+\"i\":r>0?1==r?o+\" + i\":o+\" + \"+s+\"i\":-1==r?o+\" - i\":o+\" - \"+s.substring(1)+\"i\"},s.prototype.toString=function(){return this.format()},s.prototype.toJSON=function(){return{mathjs:\"Complex\",re:this.re,im:this.im}},s.fromJSON=function(e){return new s(e)},s.prototype.valueOf=s.prototype.toString,s}var i=r(6).isNumber,a=r(6).format;t.name=\"Complex\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function o(e,t){if(!(this instanceof o))throw new Error(\"Constructor must be called with the new operator\");if(void 0!=e&&\"number\"!=typeof e)throw new TypeError(\"First parameter in Unit constructor must be a number\");if(void 0!=t&&(\"string\"!=typeof t||\"\"==t))throw new TypeError(\"Second parameter in Unit constructor must be a string\");if(void 0!=t){var r=o.parse(t);this.units=r.units,this.dimensions=r.dimensions}else this.units=[{unit:A,prefix:b,power:0}],this.dimensions=[0,0,0,0,0,0,0,0,0];this.value=void 0!=e?this._normalize(e):null,this.fixPrefix=!1,this.isUnitListSimplified=!0}function s(){for(;\" \"==y||\"\t\"==y;)f()}function u(e){return e>=\"0\"&&\"9\">=e||\".\"==e}function c(e){return e>=\"0\"&&\"9\">=e}function f(){d++,y=v.charAt(d)}function l(e){d=e,y=v.charAt(d)}function p(){var e,t=\"\";if(e=d,\"+\"==y?f():\"-\"==y&&(t+=y,f()),!u(y))return l(e),null;if(\".\"==y){if(t+=y,f(),!c(y))return l(e),null}else{for(;c(y);)t+=y,f();\".\"==y&&(t+=y,f())}for(;c(y);)t+=y,f();if(\"E\"==y||\"e\"==y){var r=\"\",n=d;if(r+=y,f(),(\"+\"==y||\"-\"==y)&&(r+=y,f()),!c(y))return l(n),t;for(t+=r;c(y);)t+=y,f()}return t}function m(){for(var e=\"\",t=v.charCodeAt(d);t>=48&&57>=t||t>=65&&90>=t||t>=97&&122>=t;)e+=y,f(),t=v.charCodeAt(d);return t=e.charCodeAt(0),t>=65&&90>=t||t>=97&&122>=t?e||null:null}function h(e){return y===e?(f(),e):null}function g(e){for(var t in _)if(_.hasOwnProperty(t)&&a(e,t)){var r=_[t],n=e.length-t.length,i=e.substring(0,n),o=r.prefixes[i];if(void 0!==o)return{unit:r,prefix:o}}return null}o.prototype.type=\"Unit\",o.prototype.isUnit=!0;var v,d,y;o.parse=function(e){if(v=e,d=-1,y=\"\",\"string\"!=typeof v)throw new TypeError(\"Invalid argument in Unit.parse, string expected\");var t=new o;t.units=[],f(),s();var r=p(),n=null;r&&(n=parseFloat(r)),s();for(var i=1,a=!1,u=[],c=1;;){for(s();\"(\"===y;)u.push(i),c*=i,i=1,f(),s();if(!y)break;var l=y,x=m();if(null==x)throw new SyntaxError('Unexpected \"'+l+'\" in \"'+v+'\" at index '+d.toString());var w=g(x);if(null==w)throw new SyntaxError('Unit \"'+x+'\" not found.');var b=i*c;if(s(),h(\"^\")){s();var E=p();if(null==E)throw new SyntaxError('In \"'+e+'\", \"^\" must be followed by a floating-point number');b*=E}t.units.push({unit:w.unit,prefix:w.prefix,power:b});for(var M=0;M<N.length;M++)t.dimensions[M]+=w.unit.dimensions[M]*b;for(s();\")\"===y;){if(0===u.length)throw new SyntaxError('Unmatched \")\" in \"'+v+'\" at index '+d.toString());c/=u.pop(),f(),s()}a=!1,h(\"*\")?(i=1,a=!0):h(\"/\")?(i=-1,a=!0):i=1;var A=w.unit.base.key;T.auto[A]={unit:w.unit,prefix:w.prefix}}if(s(),y)throw new SyntaxError('Could not parse: \"'+e+'\"');if(a)throw new SyntaxError('Trailing characters: \"'+e+'\"');if(0!==u.length)throw new SyntaxError('Unmatched \"(\" in \"'+v+'\"');if(0==t.units.length)throw new SyntaxError('\"'+e+'\" contains no units');return t.value=void 0!=n?t._normalize(n):null,t},o.prototype.clone=function(){var e=new o;for(var t in this)this.hasOwnProperty(t)&&(e[t]=this[t]);e.dimensions=this.dimensions.slice(0),e.units=[];for(var r=0;r<this.units.length;r++){e.units[r]={};for(var t in this.units[r])this.units[r].hasOwnProperty(t)&&(e.units[r][t]=this.units[r][t])}return e},o.prototype._isDerived=function(){return 0===this.units.length?!1:this.units.length>1||Math.abs(this.units[0].power-1)>1e-15},o.prototype._normalize=function(e){if(0===this.units.length)return e;if(this._isDerived()){for(var t=e,r=0;r<this.units.length;r++)t*=Math.pow(this.units[r].unit.value*this.units[r].prefix.value,this.units[r].power);return t}return(e+this.units[0].unit.offset)*this.units[0].unit.value*this.units[0].prefix.value},o.prototype._denormalize=function(e,t){if(0===this.units.length)return e;if(this._isDerived()){for(var r=e,n=0;n<this.units.length;n++)r/=Math.pow(this.units[n].unit.value*this.units[n].prefix.value,this.units[n].power);return r}return void 0==t?e/this.units[0].unit.value/this.units[0].prefix.value-this.units[0].unit.offset:e/this.units[0].unit.value/t-this.units[0].unit.offset},o.isValuelessUnit=function(e){return null!=g(e)},o.prototype.hasBase=function(e){for(var t=0;t<N.length;t++)if(Math.abs(this.dimensions[t]-e.dimensions[t])>1e-12)return!1;return!0},o.prototype.equalBase=function(e){for(var t=0;t<N.length;t++)if(Math.abs(this.dimensions[t]-e.dimensions[t])>1e-12)return!1;return!0},o.prototype.equals=function(e){return this.equalBase(e)&&this.value==e.value},o.prototype.multiply=function(e){for(var t=this.clone(),r=0;r<N.length;r++)t.dimensions[r]=this.dimensions[r]+e.dimensions[r];for(var r=0;r<e.units.length;r++){var n=JSON.parse(JSON.stringify(e.units[r]));t.units.push(n)}if(null!=this.value||null!=e.value){var i=null==this.value?this._normalize(1):this.value,a=null==e.value?e._normalize(1):e.value;t.value=i*a}else t.value=null;return t.isUnitListSimplified=!1,t},o.prototype.divide=function(e){for(var t=this.clone(),r=0;r<N.length;r++)t.dimensions[r]=this.dimensions[r]-e.dimensions[r];for(var r=0;r<e.units.length;r++){var n=JSON.parse(JSON.stringify(e.units[r]));n.power=-n.power,t.units.push(n)}if(null!=this.value||null!=e.value){var i=null==this.value?this._normalize(1):this.value,a=null==e.value?e._normalize(1):e.value;t.value=i/a}else t.value=null;return t.isUnitListSimplified=!1,t},o.prototype.pow=function(e){for(var t=this.clone(),r=0;r<N.length;r++)t.dimensions[r]=this.dimensions[r]*e;for(var r=0;r<t.units.length;r++)t.units[r].power*=e;return null!=t.value?t.value=Math.pow(t.value,e):t.value=null,t.isUnitListSimplified=!1,t},o.prototype.to=function(e){var t,r=null==this.value?this._normalize(1):this.value;if(\"string\"==typeof e){if(t=o.parse(e),!this.equalBase(t))throw new Error(\"Units do not match\");if(null!==t.value)throw new Error(\"Cannot convert to a unit with a value\");return t.value=r,t.fixPrefix=!0,t.isUnitListSimplified=!0,t}if(e&&e.isUnit){if(!this.equalBase(e))throw new Error(\"Units do not match\");if(null!==e.value)throw new Error(\"Cannot convert to a unit with a value\");return t=e.clone(),t.value=r,t.fixPrefix=!0,t.isUnitListSimplified=!0,t}throw new Error(\"String or Unit expected as parameter\")},o.prototype.toNumber=function(e){var t=this.to(e);return t._isDerived()?t._denormalize(t.value):t._denormalize(t.value,t.units[0].prefix.value)},o.prototype.toString=function(){return this.format()},o.prototype.toJSON=function(){return{mathjs:\"Unit\",value:this._denormalize(this.value),unit:this.formatUnits(),fixPrefix:this.fixPrefix}},o.fromJSON=function(e){var t=new o(e.value,e.unit);return t.fixPrefix=e.fixPrefix||!1,t},o.prototype.valueOf=o.prototype.toString,o.prototype.simplifyUnitListLazy=function(){if(!this.isUnitListSimplified&&null!=this.value){var e,t=[];for(var r in C)if(this.hasBase(E[r])){e=r;break}if(\"NONE\"===e)this.units=[];else{var n;e&&C.hasOwnProperty(e)&&(n=C[e]);if(n)this.units=[{unit:n.unit,prefix:n.prefix,power:1}];else{for(var i=0;i<N.length;i++){var a=N[i];Math.abs(this.dimensions[i])>1e-12&&t.push({unit:C[a].unit,prefix:C[a].prefix,power:this.dimensions[i]})}t.length<this.units.length&&(this.units=t)}}this.isUnitListSimplified=!0}},o.prototype.formatUnits=function(){this.simplifyUnitListLazy();for(var e=\"\",t=\"\",r=0,n=0,i=0;i<this.units.length;i++)this.units[i].power>0?(r++,e+=\" \"+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power-1)>1e-15&&(e+=\"^\"+this.units[i].power)):this.units[i].power<0&&n++;if(n>0)for(var i=0;i<this.units.length;i++)this.units[i].power<0&&(r>0?(t+=\" \"+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power+1)>1e-15&&(t+=\"^\"+-this.units[i].power)):(t+=\" \"+this.units[i].prefix.name+this.units[i].unit.name,t+=\"^\"+this.units[i].power));e=e.substr(1),t=t.substr(1),r>1&&n>0&&(e=\"(\"+e+\")\"),\nn>1&&r>0&&(t=\"(\"+t+\")\");var a=e;return r>0&&n>0&&(a+=\" / \"),a+=t},o.prototype.format=function(e){if(this.simplifyUnitListLazy(),1===this.units.length&&!this.fixPrefix&&Math.abs(this.units[0].power-Math.round(this.units[0].power))<1e-14){var t=this._bestPrefix();this.units[0].prefix=t}var r=this._denormalize(this.value),n=null!==this.value?i(r,e):\"\",a=this.formatUnits();return a.length>0&&n.length>0&&(n+=\" \"),n+=a},o.prototype._bestPrefix=function(){if(1!==this.units.length)throw new Error(\"Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!\");if(Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw new Error(\"Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!\");var e=Math.abs(this.value),t=this.units[0].prefix;if(0===e)return t;var r=this.units[0].power,n=Math.abs(Math.log(e/Math.pow(t.value*this.units[0].unit.value,r))/Math.LN10-1.2),i=this.units[0].unit.prefixes;for(var a in i)if(i.hasOwnProperty(a)){var o=i[a];if(o.scientific){var s=Math.abs(Math.log(e/Math.pow(o.value*this.units[0].unit.value,r))/Math.LN10-1.2);(n>s||s===n&&o.name.length<t.name.length)&&(t=o,n=s)}}return t};var x={NONE:{\"\":{name:\"\",value:1,scientific:!0}},SHORT:{\"\":{name:\"\",value:1,scientific:!0},da:{name:\"da\",value:10,scientific:!1},h:{name:\"h\",value:100,scientific:!1},k:{name:\"k\",value:1e3,scientific:!0},M:{name:\"M\",value:1e6,scientific:!0},G:{name:\"G\",value:1e9,scientific:!0},T:{name:\"T\",value:1e12,scientific:!0},P:{name:\"P\",value:1e15,scientific:!0},E:{name:\"E\",value:1e18,scientific:!0},Z:{name:\"Z\",value:1e21,scientific:!0},Y:{name:\"Y\",value:1e24,scientific:!0},d:{name:\"d\",value:.1,scientific:!1},c:{name:\"c\",value:.01,scientific:!1},m:{name:\"m\",value:.001,scientific:!0},u:{name:\"u\",value:1e-6,scientific:!0},n:{name:\"n\",value:1e-9,scientific:!0},p:{name:\"p\",value:1e-12,scientific:!0},f:{name:\"f\",value:1e-15,scientific:!0},a:{name:\"a\",value:1e-18,scientific:!0},z:{name:\"z\",value:1e-21,scientific:!0},y:{name:\"y\",value:1e-24,scientific:!0}},LONG:{\"\":{name:\"\",value:1,scientific:!0},deca:{name:\"deca\",value:10,scientific:!1},hecto:{name:\"hecto\",value:100,scientific:!1},kilo:{name:\"kilo\",value:1e3,scientific:!0},mega:{name:\"mega\",value:1e6,scientific:!0},giga:{name:\"giga\",value:1e9,scientific:!0},tera:{name:\"tera\",value:1e12,scientific:!0},peta:{name:\"peta\",value:1e15,scientific:!0},exa:{name:\"exa\",value:1e18,scientific:!0},zetta:{name:\"zetta\",value:1e21,scientific:!0},yotta:{name:\"yotta\",value:1e24,scientific:!0},deci:{name:\"deci\",value:.1,scientific:!1},centi:{name:\"centi\",value:.01,scientific:!1},milli:{name:\"milli\",value:.001,scientific:!0},micro:{name:\"micro\",value:1e-6,scientific:!0},nano:{name:\"nano\",value:1e-9,scientific:!0},pico:{name:\"pico\",value:1e-12,scientific:!0},femto:{name:\"femto\",value:1e-15,scientific:!0},atto:{name:\"atto\",value:1e-18,scientific:!0},zepto:{name:\"zepto\",value:1e-21,scientific:!0},yocto:{name:\"yocto\",value:1e-24,scientific:!0}},SQUARED:{\"\":{name:\"\",value:1,scientific:!0},da:{name:\"da\",value:100,scientific:!1},h:{name:\"h\",value:1e4,scientific:!1},k:{name:\"k\",value:1e6,scientific:!0},M:{name:\"M\",value:1e12,scientific:!0},G:{name:\"G\",value:1e18,scientific:!0},T:{name:\"T\",value:1e24,scientific:!0},P:{name:\"P\",value:1e30,scientific:!0},E:{name:\"E\",value:1e36,scientific:!0},Z:{name:\"Z\",value:1e42,scientific:!0},Y:{name:\"Y\",value:1e48,scientific:!0},d:{name:\"d\",value:.01,scientific:!1},c:{name:\"c\",value:1e-4,scientific:!1},m:{name:\"m\",value:1e-6,scientific:!0},u:{name:\"u\",value:1e-12,scientific:!0},n:{name:\"n\",value:1e-18,scientific:!0},p:{name:\"p\",value:1e-24,scientific:!0},f:{name:\"f\",value:1e-30,scientific:!0},a:{name:\"a\",value:1e-36,scientific:!0},z:{name:\"z\",value:1e-42,scientific:!0},y:{name:\"y\",value:1e-48,scientific:!0}},CUBIC:{\"\":{name:\"\",value:1,scientific:!0},da:{name:\"da\",value:1e3,scientific:!1},h:{name:\"h\",value:1e6,scientific:!1},k:{name:\"k\",value:1e9,scientific:!0},M:{name:\"M\",value:1e18,scientific:!0},G:{name:\"G\",value:1e27,scientific:!0},T:{name:\"T\",value:1e36,scientific:!0},P:{name:\"P\",value:1e45,scientific:!0},E:{name:\"E\",value:1e54,scientific:!0},Z:{name:\"Z\",value:1e63,scientific:!0},Y:{name:\"Y\",value:1e72,scientific:!0},d:{name:\"d\",value:.001,scientific:!1},c:{name:\"c\",value:1e-6,scientific:!1},m:{name:\"m\",value:1e-9,scientific:!0},u:{name:\"u\",value:1e-18,scientific:!0},n:{name:\"n\",value:1e-27,scientific:!0},p:{name:\"p\",value:1e-36,scientific:!0},f:{name:\"f\",value:1e-45,scientific:!0},a:{name:\"a\",value:1e-54,scientific:!0},z:{name:\"z\",value:1e-63,scientific:!0},y:{name:\"y\",value:1e-72,scientific:!0}},BINARY_SHORT:{\"\":{name:\"\",value:1,scientific:!0},k:{name:\"k\",value:1e3,scientific:!0},M:{name:\"M\",value:1e6,scientific:!0},G:{name:\"G\",value:1e9,scientific:!0},T:{name:\"T\",value:1e12,scientific:!0},P:{name:\"P\",value:1e15,scientific:!0},E:{name:\"E\",value:1e18,scientific:!0},Z:{name:\"Z\",value:1e21,scientific:!0},Y:{name:\"Y\",value:1e24,scientific:!0},Ki:{name:\"Ki\",value:1024,scientific:!0},Mi:{name:\"Mi\",value:Math.pow(1024,2),scientific:!0},Gi:{name:\"Gi\",value:Math.pow(1024,3),scientific:!0},Ti:{name:\"Ti\",value:Math.pow(1024,4),scientific:!0},Pi:{name:\"Pi\",value:Math.pow(1024,5),scientific:!0},Ei:{name:\"Ei\",value:Math.pow(1024,6),scientific:!0},Zi:{name:\"Zi\",value:Math.pow(1024,7),scientific:!0},Yi:{name:\"Yi\",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG:{\"\":{name:\"\",value:1,scientific:!0},kilo:{name:\"kilo\",value:1e3,scientific:!0},mega:{name:\"mega\",value:1e6,scientific:!0},giga:{name:\"giga\",value:1e9,scientific:!0},tera:{name:\"tera\",value:1e12,scientific:!0},peta:{name:\"peta\",value:1e15,scientific:!0},exa:{name:\"exa\",value:1e18,scientific:!0},zetta:{name:\"zetta\",value:1e21,scientific:!0},yotta:{name:\"yotta\",value:1e24,scientific:!0},kibi:{name:\"kibi\",value:1024,scientific:!0},mebi:{name:\"mebi\",value:Math.pow(1024,2),scientific:!0},gibi:{name:\"gibi\",value:Math.pow(1024,3),scientific:!0},tebi:{name:\"tebi\",value:Math.pow(1024,4),scientific:!0},pebi:{name:\"pebi\",value:Math.pow(1024,5),scientific:!0},exi:{name:\"exi\",value:Math.pow(1024,6),scientific:!0},zebi:{name:\"zebi\",value:Math.pow(1024,7),scientific:!0},yobi:{name:\"yobi\",value:Math.pow(1024,8),scientific:!0}},BTU:{\"\":{name:\"\",value:1,scientific:!0},MM:{name:\"MM\",value:1e6,scientific:!0}}};x.SHORTLONG={};for(var w in x.SHORT)x.SHORT.hasOwnProperty(w)&&(x.SHORTLONG[w]=x.SHORT[w]);for(var w in x.LONG)x.LONG.hasOwnProperty(w)&&(x.SHORTLONG[w]=x.LONG[w]);var b={name:\"\",value:1,scientific:!0},N=[\"MASS\",\"LENGTH\",\"TIME\",\"CURRENT\",\"TEMPERATURE\",\"LUMINOUS_INTENSITY\",\"AMOUNT_OF_SUBSTANCE\",\"ANGLE\",\"BIT\"],E={NONE:{dimensions:[0,0,0,0,0,0,0,0,0]},MASS:{dimensions:[1,0,0,0,0,0,0,0,0]},LENGTH:{dimensions:[0,1,0,0,0,0,0,0,0]},TIME:{dimensions:[0,0,1,0,0,0,0,0,0]},CURRENT:{dimensions:[0,0,0,1,0,0,0,0,0]},TEMPERATURE:{dimensions:[0,0,0,0,1,0,0,0,0]},LUMINOUS_INTENSITY:{dimensions:[0,0,0,0,0,1,0,0,0]},AMOUNT_OF_SUBSTANCE:{dimensions:[0,0,0,0,0,0,1,0,0]},FORCE:{dimensions:[1,1,-2,0,0,0,0,0,0]},SURFACE:{dimensions:[0,2,0,0,0,0,0,0,0]},VOLUME:{dimensions:[0,3,0,0,0,0,0,0,0]},ENERGY:{dimensions:[1,2,-2,0,0,0,0,0,0]},POWER:{dimensions:[1,2,-3,0,0,0,0,0,0]},PRESSURE:{dimensions:[1,-1,-2,0,0,0,0,0,0]},ELECTRIC_CHARGE:{dimensions:[0,0,1,1,0,0,0,0,0]},ELECTRIC_CAPACITANCE:{dimensions:[-1,-2,4,2,0,0,0,0,0]},ELECTRIC_POTENTIAL:{dimensions:[1,2,-3,-1,0,0,0,0,0]},ELECTRIC_RESISTANCE:{dimensions:[1,2,-3,-2,0,0,0,0,0]},ELECTRIC_INDUCTANCE:{dimensions:[1,2,-2,-2,0,0,0,0,0]},ELECTRIC_CONDUCTANCE:{dimensions:[-1,-2,3,2,0,0,0,0,0]},MAGNETIC_FLUX:{dimensions:[1,2,-2,-1,0,0,0,0,0]},MAGNETIC_FLUX_DENSITY:{dimensions:[1,0,-2,-1,0,0,0,0,0]},ANGLE:{dimensions:[0,0,0,0,0,0,0,1,0]},BIT:{dimensions:[0,0,0,0,0,0,0,0,1]}};for(var w in E)E[w].key=w;var M={},A={name:\"\",base:M,value:1,offset:0,dimensions:[0,0,0,0,0,0,0,0,0]},_={meter:{name:\"meter\",base:E.LENGTH,prefixes:x.LONG,value:1,offset:0},inch:{name:\"inch\",base:E.LENGTH,prefixes:x.NONE,value:.0254,offset:0},foot:{name:\"foot\",base:E.LENGTH,prefixes:x.NONE,value:.3048,offset:0},yard:{name:\"yard\",base:E.LENGTH,prefixes:x.NONE,value:.9144,offset:0},mile:{name:\"mile\",base:E.LENGTH,prefixes:x.NONE,value:1609.344,offset:0},link:{name:\"link\",base:E.LENGTH,prefixes:x.NONE,value:.201168,offset:0},rod:{name:\"rod\",base:E.LENGTH,prefixes:x.NONE,value:5.02921,offset:0},chain:{name:\"chain\",base:E.LENGTH,prefixes:x.NONE,value:20.1168,offset:0},angstrom:{name:\"angstrom\",base:E.LENGTH,prefixes:x.NONE,value:1e-10,offset:0},m:{name:\"m\",base:E.LENGTH,prefixes:x.SHORT,value:1,offset:0},\"in\":{name:\"in\",base:E.LENGTH,prefixes:x.NONE,value:.0254,offset:0},ft:{name:\"ft\",base:E.LENGTH,prefixes:x.NONE,value:.3048,offset:0},yd:{name:\"yd\",base:E.LENGTH,prefixes:x.NONE,value:.9144,offset:0},mi:{name:\"mi\",base:E.LENGTH,prefixes:x.NONE,value:1609.344,offset:0},li:{name:\"li\",base:E.LENGTH,prefixes:x.NONE,value:.201168,offset:0},rd:{name:\"rd\",base:E.LENGTH,prefixes:x.NONE,value:5.02921,offset:0},ch:{name:\"ch\",base:E.LENGTH,prefixes:x.NONE,value:20.1168,offset:0},mil:{name:\"mil\",base:E.LENGTH,prefixes:x.NONE,value:254e-7,offset:0},m2:{name:\"m2\",base:E.SURFACE,prefixes:x.SQUARED,value:1,offset:0},sqin:{name:\"sqin\",base:E.SURFACE,prefixes:x.NONE,value:64516e-8,offset:0},sqft:{name:\"sqft\",base:E.SURFACE,prefixes:x.NONE,value:.09290304,offset:0},sqyd:{name:\"sqyd\",base:E.SURFACE,prefixes:x.NONE,value:.83612736,offset:0},sqmi:{name:\"sqmi\",base:E.SURFACE,prefixes:x.NONE,value:2589988.110336,offset:0},sqrd:{name:\"sqrd\",base:E.SURFACE,prefixes:x.NONE,value:25.29295,offset:0},sqch:{name:\"sqch\",base:E.SURFACE,prefixes:x.NONE,value:404.6873,offset:0},sqmil:{name:\"sqmil\",base:E.SURFACE,prefixes:x.NONE,value:6.4516e-10,offset:0},m3:{name:\"m3\",base:E.VOLUME,prefixes:x.CUBIC,value:1,offset:0},L:{name:\"L\",base:E.VOLUME,prefixes:x.SHORT,value:.001,offset:0},l:{name:\"l\",base:E.VOLUME,prefixes:x.SHORT,value:.001,offset:0},litre:{name:\"litre\",base:E.VOLUME,prefixes:x.LONG,value:.001,offset:0},cuin:{name:\"cuin\",base:E.VOLUME,prefixes:x.NONE,value:16387064e-12,offset:0},cuft:{name:\"cuft\",base:E.VOLUME,prefixes:x.NONE,value:.028316846592,offset:0},cuyd:{name:\"cuyd\",base:E.VOLUME,prefixes:x.NONE,value:.764554857984,offset:0},teaspoon:{name:\"teaspoon\",base:E.VOLUME,prefixes:x.NONE,value:5e-6,offset:0},tablespoon:{name:\"tablespoon\",base:E.VOLUME,prefixes:x.NONE,value:15e-6,offset:0},drop:{name:\"drop\",base:E.VOLUME,prefixes:x.NONE,value:5e-8,offset:0},gtt:{name:\"gtt\",base:E.VOLUME,prefixes:x.NONE,value:5e-8,offset:0},minim:{name:\"minim\",base:E.VOLUME,prefixes:x.NONE,value:6.161152e-8,offset:0},fluiddram:{name:\"fluiddram\",base:E.VOLUME,prefixes:x.NONE,value:36966911e-13,offset:0},fluidounce:{name:\"fluidounce\",base:E.VOLUME,prefixes:x.NONE,value:2957353e-11,offset:0},gill:{name:\"gill\",base:E.VOLUME,prefixes:x.NONE,value:.0001182941,offset:0},cc:{name:\"cc\",base:E.VOLUME,prefixes:x.NONE,value:1e-6,offset:0},cup:{name:\"cup\",base:E.VOLUME,prefixes:x.NONE,value:.0002365882,offset:0},pint:{name:\"pint\",base:E.VOLUME,prefixes:x.NONE,value:.0004731765,offset:0},quart:{name:\"quart\",base:E.VOLUME,prefixes:x.NONE,value:.0009463529,offset:0},gallon:{name:\"gallon\",base:E.VOLUME,prefixes:x.NONE,value:.003785412,offset:0},beerbarrel:{name:\"beerbarrel\",base:E.VOLUME,prefixes:x.NONE,value:.1173478,offset:0},oilbarrel:{name:\"oilbarrel\",base:E.VOLUME,prefixes:x.NONE,value:.1589873,offset:0},hogshead:{name:\"hogshead\",base:E.VOLUME,prefixes:x.NONE,value:.238481,offset:0},fldr:{name:\"fldr\",base:E.VOLUME,prefixes:x.NONE,value:36966911e-13,offset:0},floz:{name:\"floz\",base:E.VOLUME,prefixes:x.NONE,value:2957353e-11,offset:0},gi:{name:\"gi\",base:E.VOLUME,prefixes:x.NONE,value:.0001182941,offset:0},cp:{name:\"cp\",base:E.VOLUME,prefixes:x.NONE,value:.0002365882,offset:0},pt:{name:\"pt\",base:E.VOLUME,prefixes:x.NONE,value:.0004731765,offset:0},qt:{name:\"qt\",base:E.VOLUME,prefixes:x.NONE,value:.0009463529,offset:0},gal:{name:\"gal\",base:E.VOLUME,prefixes:x.NONE,value:.003785412,offset:0},bbl:{name:\"bbl\",base:E.VOLUME,prefixes:x.NONE,value:.1173478,offset:0},obl:{name:\"obl\",base:E.VOLUME,prefixes:x.NONE,value:.1589873,offset:0},g:{name:\"g\",base:E.MASS,prefixes:x.SHORT,value:.001,offset:0},gram:{name:\"gram\",base:E.MASS,prefixes:x.LONG,value:.001,offset:0},ton:{name:\"ton\",base:E.MASS,prefixes:x.SHORT,value:907.18474,offset:0},tonne:{name:\"tonne\",base:E.MASS,prefixes:x.SHORT,value:1e3,offset:0},grain:{name:\"grain\",base:E.MASS,prefixes:x.NONE,value:6479891e-11,offset:0},dram:{name:\"dram\",base:E.MASS,prefixes:x.NONE,value:.0017718451953125,offset:0},ounce:{name:\"ounce\",base:E.MASS,prefixes:x.NONE,value:.028349523125,offset:0},poundmass:{name:\"poundmass\",base:E.MASS,prefixes:x.NONE,value:.45359237,offset:0},hundredweight:{name:\"hundredweight\",base:E.MASS,prefixes:x.NONE,value:45.359237,offset:0},stick:{name:\"stick\",base:E.MASS,prefixes:x.NONE,value:.115,offset:0},stone:{name:\"stone\",base:E.MASS,prefixes:x.NONE,value:6.35029318,offset:0},gr:{name:\"gr\",base:E.MASS,prefixes:x.NONE,value:6479891e-11,offset:0},dr:{name:\"dr\",base:E.MASS,prefixes:x.NONE,value:.0017718451953125,offset:0},oz:{name:\"oz\",base:E.MASS,prefixes:x.NONE,value:.028349523125,offset:0},lbm:{name:\"lbm\",base:E.MASS,prefixes:x.NONE,value:.45359237,offset:0},cwt:{name:\"cwt\",base:E.MASS,prefixes:x.NONE,value:45.359237,offset:0},s:{name:\"s\",base:E.TIME,prefixes:x.SHORT,value:1,offset:0},min:{name:\"min\",base:E.TIME,prefixes:x.NONE,value:60,offset:0},h:{name:\"h\",base:E.TIME,prefixes:x.NONE,value:3600,offset:0},second:{name:\"second\",base:E.TIME,prefixes:x.LONG,value:1,offset:0},sec:{name:\"sec\",base:E.TIME,prefixes:x.LONG,value:1,offset:0},minute:{name:\"minute\",base:E.TIME,prefixes:x.NONE,value:60,offset:0},hour:{name:\"hour\",base:E.TIME,prefixes:x.NONE,value:3600,offset:0},day:{name:\"day\",base:E.TIME,prefixes:x.NONE,value:86400,offset:0},rad:{name:\"rad\",base:E.ANGLE,prefixes:x.NONE,value:1,offset:0},deg:{name:\"deg\",base:E.ANGLE,prefixes:x.NONE,value:.017453292519943295,offset:0},grad:{name:\"grad\",base:E.ANGLE,prefixes:x.NONE,value:.015707963267948967,offset:0},cycle:{name:\"cycle\",base:E.ANGLE,prefixes:x.NONE,value:6.283185307179586,offset:0},A:{name:\"A\",base:E.CURRENT,prefixes:x.SHORT,value:1,offset:0},ampere:{name:\"ampere\",base:E.CURRENT,prefixes:x.LONG,value:1,offset:0},K:{name:\"K\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:0},degC:{name:\"degC\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:273.15},degF:{name:\"degF\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:459.67},degR:{name:\"degR\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:0},kelvin:{name:\"kelvin\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:0},celsius:{name:\"celsius\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:273.15},fahrenheit:{name:\"fahrenheit\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:459.67},rankine:{name:\"rankine\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:0},mol:{name:\"mol\",base:E.AMOUNT_OF_SUBSTANCE,prefixes:x.NONE,value:1,offset:0},mole:{name:\"mole\",base:E.AMOUNT_OF_SUBSTANCE,prefixes:x.NONE,value:1,offset:0},cd:{name:\"cd\",base:E.LUMINOUS_INTENSITY,prefixes:x.NONE,value:1,offset:0},candela:{name:\"candela\",base:E.LUMINOUS_INTENSITY,prefixes:x.NONE,value:1,offset:0},N:{name:\"N\",base:E.FORCE,prefixes:x.SHORT,value:1,offset:0},newton:{name:\"newton\",base:E.FORCE,prefixes:x.LONG,value:1,offset:0},dyn:{name:\"dyn\",base:E.FORCE,prefixes:x.SHORT,value:1e-5,offset:0},dyne:{name:\"dyne\",base:E.FORCE,prefixes:x.LONG,value:1e-5,offset:0},lbf:{name:\"lbf\",base:E.FORCE,prefixes:x.NONE,value:4.4482216152605,offset:0},poundforce:{name:\"poundforce\",base:E.FORCE,prefixes:x.NONE,value:4.4482216152605,offset:0},J:{name:\"J\",base:E.ENERGY,prefixes:x.SHORT,value:1,offset:0},joule:{name:\"joule\",base:E.ENERGY,prefixes:x.SHORT,value:1,offset:0},erg:{name:\"erg\",base:E.ENERGY,prefixes:x.NONE,value:1e-5,offset:0},Wh:{name:\"Wh\",base:E.ENERGY,prefixes:x.SHORT,value:3600,offset:0},BTU:{name:\"BTU\",base:E.ENERGY,prefixes:x.BTU,value:1055.05585262,offset:0},eV:{name:\"eV\",base:E.ENERGY,prefixes:x.SHORT,value:1.602176565e-19,offset:0},electronvolt:{name:\"electronvolt\",base:E.ENERGY,prefixes:x.LONG,value:1.602176565e-19,offset:0},W:{name:\"W\",base:E.POWER,prefixes:x.SHORT,value:1,offset:0},watt:{name:\"W\",base:E.POWER,prefixes:x.LONG,value:1,offset:0},hp:{name:\"hp\",base:E.POWER,prefixes:x.NONE,value:745.6998715386,offset:0},Pa:{name:\"Pa\",base:E.PRESSURE,prefixes:x.SHORT,value:1,offset:0},psi:{name:\"psi\",base:E.PRESSURE,prefixes:x.NONE,value:6894.75729276459,offset:0},atm:{name:\"atm\",base:E.PRESSURE,prefixes:x.NONE,value:101325,offset:0},coulomb:{name:\"coulomb\",base:E.ELECTRIC_CHARGE,prefixes:x.LONG,value:1,offset:0},C:{name:\"C\",base:E.ELECTRIC_CHARGE,prefixes:x.SHORT,value:1,offset:0},farad:{name:\"farad\",base:E.ELECTRIC_CAPACITANCE,prefixes:x.LONG,value:1,offset:0},F:{name:\"F\",base:E.ELECTRIC_CAPACITANCE,prefixes:x.SHORT,value:1,offset:0},volt:{name:\"volt\",base:E.ELECTRIC_POTENTIAL,prefixes:x.LONG,value:1,offset:0},V:{name:\"V\",base:E.ELECTRIC_POTENTIAL,prefixes:x.SHORT,value:1,offset:0},ohm:{name:\"ohm\",base:E.ELECTRIC_RESISTANCE,prefixes:x.SHORTLONG,value:1,offset:0},henry:{name:\"henry\",base:E.ELECTRIC_INDUCTANCE,prefixes:x.LONG,value:1,offset:0},H:{name:\"H\",base:E.ELECTRIC_INDUCTANCE,prefixes:x.SHORT,value:1,offset:0},siemens:{name:\"siemens\",base:E.ELECTRIC_CONDUCTANCE,prefixes:x.LONG,value:1,offset:0},S:{name:\"S\",base:E.ELECTRIC_CONDUCTANCE,prefixes:x.SHORT,value:1,offset:0},weber:{name:\"weber\",base:E.MAGNETIC_FLUX,prefixes:x.LONG,value:1,offset:0},Wb:{name:\"Wb\",base:E.MAGNETIC_FLUX,prefixes:x.SHORT,value:1,offset:0},tesla:{name:\"tesla\",base:E.MAGNETIC_FLUX_DENSITY,prefixes:x.LONG,value:1,offset:0},T:{name:\"T\",base:E.MAGNETIC_FLUX_DENSITY,prefixes:x.SHORT,value:1,offset:0},b:{name:\"b\",base:E.BIT,prefixes:x.BINARY_SHORT,value:1,offset:0},bits:{name:\"bits\",base:E.BIT,prefixes:x.BINARY_LONG,value:1,offset:0},B:{name:\"B\",base:E.BIT,prefixes:x.BINARY_SHORT,value:8,offset:0},bytes:{name:\"bytes\",base:E.BIT,prefixes:x.BINARY_LONG,value:8,offset:0}},O={meters:\"meter\",inches:\"inch\",feet:\"foot\",yards:\"yard\",miles:\"mile\",links:\"link\",rods:\"rod\",chains:\"chain\",angstroms:\"angstrom\",litres:\"litre\",teaspoons:\"teaspoon\",tablespoons:\"tablespoon\",minims:\"minim\",fluiddrams:\"fluiddram\",fluidounces:\"fluidounce\",gills:\"gill\",cups:\"cup\",pints:\"pint\",quarts:\"quart\",gallons:\"gallon\",beerbarrels:\"beerbarrel\",oilbarrels:\"oilbarrel\",hogsheads:\"hogshead\",gtts:\"gtt\",grams:\"gram\",tons:\"ton\",tonnes:\"tonne\",grains:\"grain\",drams:\"dram\",ounces:\"ounce\",poundmasses:\"poundmass\",hundredweights:\"hundredweight\",sticks:\"stick\",seconds:\"second\",minutes:\"minute\",hours:\"hour\",days:\"day\",radians:\"rad\",degrees:\"deg\",gradients:\"grad\",cycles:\"cycle\",BTUs:\"BTU\",watts:\"watt\",joules:\"joule\",amperes:\"ampere\",coulombs:\"coulomb\",volts:\"volt\",ohms:\"ohm\",farads:\"farad\",webers:\"weber\",teslas:\"tesla\",electronvolts:\"electronvolt\",moles:\"mole\"},T={si:{NONE:{unit:A,prefix:x.NONE[\"\"]},LENGTH:{unit:_.m,prefix:x.SHORT[\"\"]},MASS:{unit:_.g,prefix:x.SHORT.k},TIME:{unit:_.s,prefix:x.SHORT[\"\"]},CURRENT:{unit:_.A,prefix:x.SHORT[\"\"]},TEMPERATURE:{unit:_.K,prefix:x.SHORT[\"\"]},LUMINOUS_INTENSITY:{unit:_.cd,prefix:x.SHORT[\"\"]},AMOUNT_OF_SUBSTANCE:{unit:_.mol,prefix:x.SHORT[\"\"]},ANGLE:{unit:_.rad,prefix:x.SHORT[\"\"]},BIT:{unit:_.bit,prefix:x.SHORT[\"\"]},FORCE:{unit:_.N,prefix:x.SHORT[\"\"]},ENERGY:{unit:_.J,prefix:x.SHORT[\"\"]},POWER:{unit:_.W,prefix:x.SHORT[\"\"]},PRESSURE:{unit:_.Pa,prefix:x.SHORT[\"\"]},ELECTRIC_CHARGE:{unit:_.C,prefix:x.SHORT[\"\"]},ELECTRIC_CAPACITANCE:{unit:_.F,prefix:x.SHORT[\"\"]},ELECTRIC_POTENTIAL:{unit:_.V,prefix:x.SHORT[\"\"]},ELECTRIC_RESISTANCE:{unit:_.ohm,prefix:x.SHORT[\"\"]},ELECTRIC_INDUCTANCE:{unit:_.H,prefix:x.SHORT[\"\"]},ELECTRIC_CONDUCTANCE:{unit:_.S,prefix:x.SHORT[\"\"]},MAGNETIC_FLUX:{unit:_.Wb,prefix:x.SHORT[\"\"]},MAGNETIC_FLUX_DENSITY:{unit:_.T,prefix:x.SHORT[\"\"]}}};T.cgs=JSON.parse(JSON.stringify(T.si)),T.cgs.LENGTH={unit:_.m,prefix:x.SHORT.c},T.cgs.MASS={unit:_.g,prefix:x.SHORT[\"\"]},T.cgs.FORCE={unit:_.dyn,prefix:x.SHORT[\"\"]},T.cgs.ENERGY={unit:_.erg,prefix:x.NONE[\"\"]},T.us=JSON.parse(JSON.stringify(T.si)),T.us.LENGTH={unit:_.ft,prefix:x.NONE[\"\"]},T.us.MASS={unit:_.lbm,prefix:x.NONE[\"\"]},T.us.TEMPERATURE={unit:_.degF,prefix:x.NONE[\"\"]},T.us.FORCE={unit:_.lbf,prefix:x.NONE[\"\"]},T.us.ENERGY={unit:_.BTU,prefix:x.BTU[\"\"]},T.us.POWER={unit:_.hp,prefix:x.NONE[\"\"]},T.us.PRESSURE={unit:_.psi,prefix:x.NONE[\"\"]},T.auto=JSON.parse(JSON.stringify(T.si));var C=T.auto;o.setUnitSystem=function(e){if(T.hasOwnProperty(e))C=T[e];else{\"Unit system \"+e+\" does not exist. Choices are: \"+listAvailableUnitSystems()}},o.listAvailableUnitSystems=function(){var e=\"\";for(var t in T)e+=\" \"+t;return e.substr(1)},o.getUnitSystem=function(){for(var e in T)if(T[e]===C)return e};for(var w in _){var S=_[w];S.dimensions=S.base.dimensions}for(var z in O)if(O.hasOwnProperty(z)){var S=_[O[z]],B=Object.create(S);B.name=z,_[z]=B}return _.lt=_.l,_.liter=_.litre,_.liters=_.litres,_.lb=_.lbm,_.lbs=_.lbm,o.PREFIXES=x,o.BASE_UNITS=E,o.UNITS=_,o.UNIT_SYSTEMS=T,o}var i=r(6).format,a=r(23).endsWith;t.name=\"Unit\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"complex\",{\"\":function(){return new e.Complex(0,0)},number:function(t){return new e.Complex(t,0)},\"number, number\":function(t,r){return new e.Complex(t,r)},\"BigNumber, BigNumber\":function(t,r){return new e.Complex(t.toNumber(),r.toNumber())},Complex:function(e){return e.clone()},string:function(t){return e.Complex.parse(t)},Object:function(t){if(\"re\"in t&&\"im\"in t)return new e.Complex(t.re,t.im);if(\"r\"in t&&\"phi\"in t)return e.Complex.fromPolar(t.r,t.phi);throw new Error(\"Expected object with either properties re and im, or properties r and phi.\")},\"Array | Matrix\":function(e){return i(e,s)}});return s.toTex={0:\"0\",1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(\\\\left(${args[0]}\\\\right)+\"+o.symbols.i+\"\\\\cdot\\\\left(${args[1]}\\\\right)\\\\right)\"},s}var i=r(19);t.name=\"complex\",t.factory=n},function(e,t){\"use strict\";t.symbols={Alpha:\"A\",alpha:\"\\\\alpha\",Beta:\"B\",beta:\"\\\\beta\",Gamma:\"\\\\Gamma\",gamma:\"\\\\gamma\",Delta:\"\\\\Delta\",delta:\"\\\\delta\",Epsilon:\"E\",epsilon:\"\\\\epsilon\",varepsilon:\"\\\\varepsilon\",Zeta:\"Z\",zeta:\"\\\\zeta\",Eta:\"H\",eta:\"\\\\eta\",Theta:\"\\\\Theta\",theta:\"\\\\theta\",vartheta:\"\\\\vartheta\",Iota:\"I\",iota:\"\\\\iota\",Kappa:\"K\",kappa:\"\\\\kappa\",varkappa:\"\\\\varkappa\",Lambda:\"\\\\Lambda\",lambda:\"\\\\lambda\",Mu:\"M\",mu:\"\\\\mu\",Nu:\"N\",nu:\"\\\\nu\",Xi:\"\\\\Xi\",xi:\"\\\\xi\",Omicron:\"O\",omicron:\"o\",Pi:\"\\\\Pi\",pi:\"\\\\pi\",varpi:\"\\\\varpi\",Rho:\"P\",rho:\"\\\\rho\",varrho:\"\\\\varrho\",Sigma:\"\\\\Sigma\",sigma:\"\\\\sigma\",varsigma:\"\\\\varsigma\",Tau:\"T\",tau:\"\\\\tau\",Upsilon:\"\\\\Upsilon\",upsilon:\"\\\\upsilon\",Phi:\"\\\\Phi\",phi:\"\\\\phi\",varphi:\"\\\\varphi\",Chi:\"X\",chi:\"\\\\chi\",Psi:\"\\\\Psi\",psi:\"\\\\psi\",Omega:\"\\\\Omega\",omega:\"\\\\omega\",\"true\":\"\\\\mathrm{True}\",\"false\":\"\\\\mathrm{False}\",i:\"i\",inf:\"\\\\infty\",Inf:\"\\\\infty\",infinity:\"\\\\infty\",Infinity:\"\\\\infty\",oo:\"\\\\infty\",lim:\"\\\\lim\",undefined:\"\\\\mathbf{?}\"},t.operators={transpose:\"^\\\\top\",factorial:\"!\",pow:\"^\",dotPow:\".^\\\\wedge\",unaryPlus:\"+\",unaryMinus:\"-\",bitNot:\"~\",not:\"\\\\neg\",multiply:\"\\\\cdot\",divide:\"\\\\frac\",dotMultiply:\".\\\\cdot\",dotDivide:\".:\",mod:\"\\\\mod\",add:\"+\",subtract:\"-\",to:\"\\\\rightarrow\",leftShift:\"<<\",rightArithShift:\">>\",rightLogShift:\">>>\",equal:\"=\",unequal:\"\\\\neq\",smaller:\"<\",larger:\">\",smallerEq:\"\\\\leq\",largerEq:\"\\\\geq\",bitAnd:\"\\\\&\",bitXor:\"\\\\underline{|}\",bitOr:\"|\",and:\"\\\\wedge\",xor:\"\\\\veebar\",or:\"\\\\vee\"},t.defaultTemplate=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\";var r={deg:\"^\\\\circ\"};t.toSymbol=function(e,n){if(n=\"undefined\"==typeof n?!1:n)return r.hasOwnProperty(e)?r[e]:\"\\\\mathrm{\"+e+\"}\";if(t.symbols.hasOwnProperty(e))return t.symbols[e];if(-1!==e.indexOf(\"_\")){var i=e.indexOf(\"_\");return t.toSymbol(e.substring(0,i))+\"_{\"+t.toSymbol(e.substring(i+1))+\"}\"}return e}},function(e,t,r){e.exports=[r(32),r(36)]},function(e,t,r){function n(e,t,r,n){return i}var i=r(33);i.prototype.type=\"Fraction\",i.prototype.isFraction=!0,i.prototype.toJSON=function(){return{mathjs:\"Fraction\",n:this.s*this.n,d:this.d}},i.fromJSON=function(e){return new i(e)},t.name=\"Fraction\",t.path=\"type\",t.factory=n},function(e,t,r){var n,i;(function(e){/**\n\t * @license Fraction.js v3.0.0 09/09/2015\n\t * http://www.xarg.org/2014/03/precise-calculations-in-javascript/\n\t *\n\t * Copyright (c) 2015, Robert Eisele (robert@xarg.org)\n\t * Dual licensed under the MIT or GPL Version 2 licenses.\n\t **/\n!function(a){\"use strict\";function o(e,t){return isNaN(e=parseInt(e,10))&&s(),e*t}function s(){throw\"Invalid Param\"}function u(e,t){return this instanceof u?(l(e,t),e=u.REDUCE?g(f.d,f.n):1,this.s=f.s,this.n=f.n/e,void(this.d=f.d/e)):new u(e,t)}var c=2e3,f={s:1,n:0,d:1},l=function(e,t){var r,n=0,i=1,a=1,u=0,c=0,l=0,p=1,m=1,h=0,g=1,v=1,d=1,y=1e7;if(void 0===e||null===e);else if(void 0!==t)n=e,i=t,a=n*i;else switch(typeof e){case\"object\":\"d\"in e&&\"n\"in e?(n=e.n,i=e.d,\"s\"in e&&(n*=e.s)):0 in e?(n=e[0],1 in e&&(i=e[1])):s(),a=n*i;break;case\"number\":if(0>e&&(a=e,e=-e),e%1===0)n=e;else if(e>0){for(e>=1&&(m=Math.pow(10,Math.floor(1+Math.log(e)/Math.LN10)),e/=m);y>=g&&y>=d;){if(r=(h+v)/(g+d),e===r){y>=g+d?(n=h+v,i=g+d):d>g?(n=v,i=d):(n=h,i=g);break}e>r?(h+=v,g+=d):(v+=h,d+=g),g>y?(n=v,i=d):(n=h,i=g)}n*=m}break;case\"string\":if(g=e.match(/\\d+|./g),\"-\"===g[h]?(a=-1,h++):\"+\"===g[h]&&h++,g.length===h+1?c=o(g[h++],a):\".\"===g[h+1]||\".\"===g[h]?(\".\"!==g[h]&&(u=o(g[h++],a)),h++,(h+1===g.length||\"(\"===g[h+1]&&\")\"===g[h+3]||\"'\"===g[h+1]&&\"'\"===g[h+3])&&(c=o(g[h],a),p=Math.pow(10,g[h].length),h++),(\"(\"===g[h]&&\")\"===g[h+2]||\"'\"===g[h]&&\"'\"===g[h+2])&&(l=o(g[h+1],a),m=Math.pow(10,g[h+1].length)-1,h+=3)):\"/\"===g[h+1]||\":\"===g[h+1]?(c=o(g[h],a),p=o(g[h+2],1),h+=3):\"/\"===g[h+3]&&\" \"===g[h+1]&&(u=o(g[h],a),c=o(g[h+2],a),p=o(g[h+4],1),h+=5),g.length<=h){a=n=l+m*(u*p+c),i=p*m;break}default:s()}if(!i)throw\"DIV/0\";f.s=0>a?-1:1,f.n=Math.abs(n),f.d=Math.abs(i)},p=function(e,t,r){for(var n=1;t>0;e=e*e%r,t>>=1)1&t&&(n=n*e%r);return n},m=function(e,t){for(;t%2===0;t/=2);for(;t%5===0;t/=5);if(1===t)return 0;for(var r=10%t,n=1;1!==r;n++)if(r=10*r%t,n>c)return 0;return n},h=function(e,t,r){for(var n=1,i=p(10,r,t),a=0;300>a;a++){if(n===i)return a;n=10*n%t,i=10*i%t}return 0},g=function(e,t){if(!e)return t;if(!t)return e;for(;;){if(e%=t,!e)return t;if(t%=e,!t)return e}};u.REDUCE=1,u.prototype={s:1,n:0,d:1,abs:function(){return new u(this.n,this.d)},neg:function(){return new u(-this.s*this.n,this.d)},add:function(e,t){return l(e,t),new u(this.s*this.n*f.d+f.s*this.d*f.n,this.d*f.d)},sub:function(e,t){return l(e,t),new u(this.s*this.n*f.d-f.s*this.d*f.n,this.d*f.d)},mul:function(e,t){return l(e,t),new u(this.s*f.s*this.n*f.n,this.d*f.d)},div:function(e,t){return l(e,t),new u(this.s*f.s*this.n*f.d,this.d*f.n)},clone:function(){return new u(this)},mod:function(e,t){return void 0===e?new u(this.s*this.n%this.d,1):(l(e,t),0===f.n*this.d&&u(0,0),new u(this.s*f.d*this.n%(f.n*this.d),f.d*this.d))},gcd:function(e,t){return l(e,t),new u(g(f.n,this.n),f.d*this.d/g(f.d,this.d))},lcm:function(e,t){return l(e,t),new u(f.n*this.n/g(f.n,this.n),g(f.d,this.d))},ceil:function(){return new u(Math.ceil(this.s*this.n/this.d),1)},floor:function(){return new u(Math.floor(this.s*this.n/this.d),1)},round:function(){return new u(Math.round(this.s*this.n/this.d),1)},inverse:function(){return new u(this.s*this.d,this.n)},pow:function(e){var t=this.d,r=this.n;return 0>e?(this.d=Math.pow(r,-e),this.n=Math.pow(t,-e)):(this.d=Math.pow(t,e),this.n=Math.pow(r,e)),0===e%2&&(this.s=1),this},equals:function(e,t){return l(e,t),this.s*this.n*f.d===f.s*f.n*this.d},compare:function(e,t){l(e,t);var r=this.s*this.n*f.d-f.s*f.n*this.d;return(r>0)-(0>r)},divisible:function(e,t){return l(e,t),!(!(f.n*this.d)||this.n*f.d%(f.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(e){var t,r=\"\",n=this.n,i=this.d;return this.s<0&&(r+=\"-\"),1===i?r+=n:(e&&(t=Math.floor(n/i))>0&&(r+=t,r+=\" \",n%=i),r+=n,r+=\"/\",r+=i),r},toLatex:function(e){var t,r=\"\",n=this.n,i=this.d;return this.s<0&&(r+=\"-\"),1===i?r+=n:(e&&(t=Math.floor(n/i))>0&&(r+=t,n%=i),r+=\"\\\\frac{\",r+=n,r+=\"}{\",r+=i,r+=\"}\"),r},toString:function(){var e,t=this.n,r=this.d;u.REDUCE||(e=g(t,r),t/=e,r/=e);for(var n=String(t).split(\"\"),i=0,a=[~this.s?\"\":\"-\",\"\",\"\"],o=\"\",s=m(t,r),c=h(t,r,s),f=-1,l=1,p=10+s+c+n.length,v=0;p>v;v++,i*=10){if(v<n.length?i+=Number(n[v]):(l=2,f++),s>0)if(f===c)a[l]+=o+\"(\",o=\"\";else if(f===s+c){a[l]+=o+\")\";break}i>=r?(a[l]+=o+(i/r|0),o=\"\",i%=r):l>1?o+=\"0\":a[l]&&(a[l]+=\"0\")}return a[0]+=a[1]||\"0\",a[2]?a[0]+\".\"+a[2]:a[0]}},r(35).amd?(n=[],i=function(){return u}.apply(t,n),!(void 0!==i&&(e.exports=i))):e.exports=u}(this)}).call(t,r(34)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"fraction\",{number:function(t){if(!isFinite(t)||isNaN(t))throw new Error(t+\" cannot be represented as a fraction\");return new e.Fraction(t)},string:function(t){return new e.Fraction(t)},\"number, number\":function(t,r){return new e.Fraction(t,r)},Fraction:function(e){return e},Object:function(t){return new e.Fraction(t)},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);t.name=\"fraction\",t.factory=n},function(e,t,r){e.exports=[r(38),r(46),r(47),r(49),r(58),r(64),r(65),r(66),r(67),r(51),r(68)]},function(e,t,r){\"use strict\";function n(e,t,r,n){function i(){if(!(this instanceof i))throw new SyntaxError(\"Constructor must be called with the new operator\")}return i.prototype.type=\"Matrix\",i.prototype.isMatrix=!0,i.storage=function(e){if(!o(e))throw new TypeError(\"format must be a string value\");var t=i._storage[e];if(!t)throw new SyntaxError(\"Unsupported matrix storage format: \"+e);return t},i._storage={},i.prototype.storage=function(){throw new Error(\"Cannot invoke storage on a Matrix interface\")},i.prototype.datatype=function(){throw new Error(\"Cannot invoke datatype on a Matrix interface\")},i.prototype.create=function(e,t){throw new Error(\"Cannot invoke create on a Matrix interface\")},i.prototype.subset=function(e,t,r){throw new Error(\"Cannot invoke subset on a Matrix interface\")},i.prototype.get=function(e){throw new Error(\"Cannot invoke get on a Matrix interface\")},i.prototype.set=function(e,t,r){throw new Error(\"Cannot invoke set on a Matrix interface\")},i.prototype.resize=function(e,t){throw new Error(\"Cannot invoke resize on a Matrix interface\")},i.prototype.clone=function(){throw new Error(\"Cannot invoke clone on a Matrix interface\")},i.prototype.size=function(){throw new Error(\"Cannot invoke size on a Matrix interface\")},i.prototype.map=function(e,t){throw new Error(\"Cannot invoke map on a Matrix interface\")},i.prototype.forEach=function(e){throw new Error(\"Cannot invoke forEach on a Matrix interface\")},i.prototype.toArray=function(){throw new Error(\"Cannot invoke toArray on a Matrix interface\")},i.prototype.valueOf=function(){throw new Error(\"Cannot invoke valueOf on a Matrix interface\")},i.prototype.format=function(e){throw new Error(\"Cannot invoke format on a Matrix interface\")},i.prototype.toString=function(){throw new Error(\"Cannot invoke toString on a Matrix interface\")},i}var i=r(39),a=i.string,o=a.isString;t.name=\"Matrix\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";t.array=r(40),t[\"boolean\"]=r(44),t[\"function\"]=r(45),t.number=r(6),t.object=r(3),t.string=r(23),t.types=r(41),t.emitter=r(8)},function(e,t,r){\"use strict\";function n(e,t,r){var i,a=e.length;if(a!=t[r])throw new f(a,t[r]);if(r<t.length-1){var o=r+1;for(i=0;a>i;i++){var s=e[i];if(!Array.isArray(s))throw new f(t.length-1,t.length,\"<\");n(e[i],t,o)}}else for(i=0;a>i;i++)if(Array.isArray(e[i]))throw new f(t.length+1,t.length,\">\")}function i(e,r,n,a){var o,s,u=e.length,f=r[n],l=Math.min(u,f);if(e.length=f,n<r.length-1){var p=n+1;for(o=0;l>o;o++)s=e[o],Array.isArray(s)||(s=[s],e[o]=s),i(s,r,p,a);for(o=l;f>o;o++)s=[],e[o]=s,i(s,r,p,a)}else{for(o=0;l>o;o++)for(;Array.isArray(e[o]);)e[o]=e[o][0];if(a!==t.UNINITIALIZED)for(o=l;f>o;o++)e[o]=c.clone(a)}}function a(e,t,r){var n,i;if(t>r){var o=r+1;for(n=0,i=e.length;i>n;n++)e[n]=a(e[n],t,o)}else for(;Array.isArray(e);)e=e[0];return e}function o(e,t,r){var n,i;if(Array.isArray(e)){var a=r+1;for(n=0,i=e.length;i>n;n++)e[n]=o(e[n],t,a)}else for(var s=r;t>s;s++)e=[e];return e}var s=r(6),u=r(23),c=r(3),f=(r(41),r(42)),l=r(43);t.size=function(e){for(var t=[];Array.isArray(e);)t.push(e.length),e=e[0];return t},t.validate=function(e,t){var r=0==t.length;if(r){if(Array.isArray(e))throw new f(e.length,0)}else n(e,t,0)},t.validateIndex=function(e,t){if(!s.isNumber(e)||!s.isInteger(e))throw new TypeError(\"Index must be an integer (value: \"+e+\")\");if(0>e)throw new l(e);if(void 0!==t&&e>=t)throw new l(e,t)},t.UNINITIALIZED={},t.resize=function(e,t,r){if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError(\"Array expected\");if(0===t.length)throw new Error(\"Resizing to scalar is not supported\");t.forEach(function(e){if(!s.isNumber(e)||!s.isInteger(e)||0>e)throw new TypeError(\"Invalid size, must contain positive integers (size: \"+u.format(t)+\")\")});var n=void 0!==r?r:0;return i(e,t,0,n),e},t.squeeze=function(e,r){for(var n=r||t.size(e);Array.isArray(e)&&1===e.length;)e=e[0],n.shift();for(var i=n.length;1===n[i-1];)i--;return i<n.length&&(e=a(e,i,0),n.length=i),e},t.unsqueeze=function(e,r,n,i){var a=i||t.size(e);if(n)for(var s=0;n>s;s++)e=[e],a.unshift(1);for(e=o(e,r,0);a.length<r;)a.push(1);return e},t.flatten=function(e){if(!Array.isArray(e))return e;var t=[];return e.forEach(function r(e){Array.isArray(e)?e.forEach(r):t.push(e)}),t},t.isArray=Array.isArray},function(e,t){\"use strict\";t.type=function(e){var t=typeof e;return\"object\"===t?null===e?\"null\":e instanceof Boolean?\"boolean\":e instanceof Number?\"number\":e instanceof String?\"string\":Array.isArray(e)?\"Array\":e instanceof Date?\"Date\":e instanceof RegExp?\"RegExp\":\"Object\":\"function\"===t?\"Function\":t}},function(e,t){\"use strict\";function r(e,t,n){if(!(this instanceof r))throw new SyntaxError(\"Constructor must be called with the new operator\");this.actual=e,this.expected=t,this.relation=n,this.message=\"Dimension mismatch (\"+(Array.isArray(e)?\"[\"+e.join(\", \")+\"]\":e)+\" \"+(this.relation||\"!=\")+\" \"+(Array.isArray(t)?\"[\"+t.join(\", \")+\"]\":t)+\")\",this.stack=(new Error).stack}r.prototype=new RangeError,r.prototype.constructor=RangeError,r.prototype.name=\"DimensionError\",r.prototype.isDimensionError=!0,e.exports=r},function(e,t){\"use strict\";function r(e,t,n){if(!(this instanceof r))throw new SyntaxError(\"Constructor must be called with the new operator\");this.index=e,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=n),void 0!==this.min&&this.index<this.min?this.message=\"Index out of range (\"+this.index+\" < \"+this.min+\")\":void 0!==this.max&&this.index>=this.max?this.message=\"Index out of range (\"+this.index+\" > \"+(this.max-1)+\")\":this.message=\"Index out of range (\"+this.index+\")\",this.stack=(new Error).stack}r.prototype=new RangeError,r.prototype.constructor=RangeError,r.prototype.name=\"IndexError\",r.prototype.isIndexError=!0,e.exports=r},function(e,t){\"use strict\";t.isBoolean=function(e){return\"boolean\"==typeof e}},function(e,t){t.memoize=function(e,t){return function r(){\"object\"!=typeof r.cache&&(r.cache={});for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var a=t?t(n):JSON.stringify(n);return a in r.cache?r.cache[a]:r.cache[a]=e.apply(e,n)}}},function(e,t,r){\"use strict\";function n(e,t,n,c){function g(e,t){if(!(this instanceof g))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t&&!m(t))throw new Error(\"Invalid datatype: \"+t);if(e&&e.isMatrix===!0)\"DenseMatrix\"===e.type?(this._data=u.clone(e._data),this._size=u.clone(e._size),this._datatype=t||e._datatype):(this._data=e.toArray(),this._size=e.size(),this._datatype=t||e._datatype);else if(e&&f(e.data)&&f(e.size))this._data=e.data,this._size=e.size,this._datatype=t||e.datatype;else if(f(e))this._data=b(e),this._size=s.size(this._data),s.validate(this._data,this._size),this._datatype=t;else{if(e)throw new TypeError(\"Unsupported type of data (\"+i.types.type(e)+\")\");this._data=[],this._size=[0],this._datatype=t}}function v(e,t){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var r=t.isScalar();if(r)return e.get(t.min());var n=t.size();if(n.length!=e._size.length)throw new a(n.length,e._size.length);for(var i=t.min(),o=t.max(),s=0,u=e._size.length;u>s;s++)h(i[s],e._size[s]),h(o[s],e._size[s]);return new g(d(e._data,t,n.length,0),e._datatype)}function d(e,t,r,n){var i=n==r-1,a=t.dimension(n);return i?a.map(function(t){return e[t]}).valueOf():a.map(function(i){var a=e[i];return d(a,t,r,n+1)}).valueOf()}function y(e,t,r,n){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var i,o=t.size(),c=t.isScalar();if(r&&r.isMatrix===!0?(i=r.size(),r=r.valueOf()):i=s.size(r),c){if(0!==i.length)throw new TypeError(\"Scalar expected\");e.set(t.min(),r,n)}else{if(o.length<e._size.length)throw new a(o.length,e._size.length,\"<\");if(i.length<o.length){for(var f=0,l=0;1===o[f]&&1===i[f];)f++;for(;1===o[f];)l++,f++;r=s.unsqueeze(r,o.length,l,i)}if(!u.deepEqual(o,i))throw new a(o,i,\">\");var p=t.max().map(function(e){return e+1});w(e,p,n);var m=o.length,h=0;x(e._data,t,r,m,h)}return e}function x(e,t,r,n,i){var a=i==n-1,o=t.dimension(i);a?o.forEach(function(t,n){h(t),e[t]=r[n[0]]}):o.forEach(function(a,o){h(a),x(e[a],t,r[o[0]],n,i+1)})}function w(e,t,r){for(var n=u.clone(e._size),i=!1;n.length<t.length;)n.push(0),i=!0;for(var a=0,o=t.length;o>a;a++)t[a]>n[a]&&(n[a]=t[a],i=!0);i&&E(e,n,r)}function b(e){for(var t=0,r=e.length;r>t;t++){var n=e[t];f(n)?e[t]=b(n):n&&n.isMatrix===!0&&(e[t]=b(n.valueOf()))}return e}var N=n(r(38));g.prototype=new N,g.prototype.type=\"DenseMatrix\",g.prototype.isDenseMatrix=!0,g.prototype.storage=function(){return\"dense\"},g.prototype.datatype=function(){return this._datatype},g.prototype.create=function(e,t){return new g(e,t)},g.prototype.subset=function(e,t,r){switch(arguments.length){case 1:return v(this,e);case 2:case 3:return y(this,e,t,r);default:throw new SyntaxError(\"Wrong number of arguments\")}},g.prototype.get=function(e){if(!f(e))throw new TypeError(\"Array expected\");if(e.length!=this._size.length)throw new a(e.length,this._size.length);for(var t=0;t<e.length;t++)h(e[t],this._size[t]);for(var r=this._data,n=0,i=e.length;i>n;n++){var o=e[n];h(o,r.length),r=r[o]}return u.clone(r)},g.prototype.set=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");if(e.length<this._size.length)throw new a(e.length,this._size.length,\"<\");var n,i,o,s=e.map(function(e){return e+1});w(this,s,r);var u=this._data;for(n=0,i=e.length-1;i>n;n++)o=e[n],h(o,u.length),u=u[o];return o=e[e.length-1],h(o,u.length),u[o]=t,this},g.prototype.resize=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");var n=r?this.clone():this;return E(n,e,t)};var E=function(e,t,r){if(0===t.length){for(var n=e._data;f(n);)n=n[0];return u.clone(n)}return e._size=u.clone(t),e._data=s.resize(e._data,e._size,r),e};return g.prototype.clone=function(){var e=new g({data:u.clone(this._data),size:u.clone(this._size),datatype:this._datatype});return e},g.prototype.size=function(){return this._size},g.prototype.map=function(e){var t=this,r=function(n,i){return f(n)?n.map(function(e,t){return r(e,i.concat(t))}):e(n,i,t)};return new g({data:r(this._data,[]),size:u.clone(this._size),datatype:this._datatype})},g.prototype.forEach=function(e){var t=this,r=function(n,i){f(n)?n.forEach(function(e,t){r(e,i.concat(t))}):e(n,i,t)};r(this._data,[])},g.prototype.toArray=function(){return u.clone(this._data)},g.prototype.valueOf=function(){return this._data},g.prototype.format=function(e){return o.format(this._data,e)},g.prototype.toString=function(){return o.format(this._data)},g.prototype.toJSON=function(){return{mathjs:\"DenseMatrix\",data:this._data,size:this._size,datatype:this._datatype}},g.prototype.diagonal=function(e){if(e){if(e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e))throw new TypeError(\"The parameter k must be an integer number\")}else e=0;for(var t=e>0?e:0,r=0>e?-e:0,n=this._size[0],i=this._size[1],a=Math.min(n-r,i-t),o=[],s=0;a>s;s++)o[s]=u.clone(this._data[s+r][s+t]);return new g({data:o,size:[a],datatype:this._datatype})},g.diagonal=function(t,r,n,i,a){if(!f(t))throw new TypeError(\"Array expected, size parameter\");if(2!==t.length)throw new Error(\"Only two dimensions matrix are supported\");if(t=t.map(function(e){if(e&&e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e)||1>e)throw new Error(\"Size values must be positive integers\");return e}),n){if(n&&n.isBigNumber===!0&&(n=n.toNumber()),!l(n)||!p(n))throw new TypeError(\"The parameter k must be an integer number\")}else n=0;i&&m(a)&&(i=c.convert(i,a));var o,u=n>0?n:0,h=0>n?-n:0,v=t[0],d=t[1],y=Math.min(v-h,d-u);if(f(r)){if(r.length!==y)throw new Error(\"Invalid value array length\");o=function(e){return r[e]}}else if(r&&r.isMatrix===!0){var x=r.size();if(1!==x.length||x[0]!==y)throw new Error(\"Invalid matrix length\");o=function(e){return r.get([e])}}else o=function(){return r};i||(i=o(0)&&o(0).isBigNumber===!0?new e.BigNumber(0):0);var w=[];if(t.length>0){w=s.resize(w,t,i);for(var b=0;y>b;b++)w[b+h][b+u]=o(b)}return new g({data:w,size:[v,d]})},g.fromJSON=function(e){return new g(e)},g.prototype.swapRows=function(e,t){if(!(l(e)&&p(e)&&l(t)&&p(t)))throw new Error(\"Row index must be positive integers\");if(2!==this._size.length)throw new Error(\"Only two dimensional matrix is supported\");return h(e,this._size[0]),h(t,this._size[0]),g._swapRows(e,t,this._data),this},g._swapRows=function(e,t,r){var n=r[e];r[e]=r[t],r[t]=n},e.Matrix._storage.dense=g,e.Matrix._storage[\"default\"]=g,g}var i=r(39),a=r(42),o=i.string,s=i.array,u=i.object,c=i.number,f=Array.isArray,l=c.isNumber,p=c.isInteger,m=o.isString,h=s.validateIndex;t.name=\"DenseMatrix\",t.path=\"type\",t.factory=n,t.lazy=!1},function(e,t,r){\"use strict\";function n(e,t,n,g){function v(e,t){if(!(this instanceof v))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t&&!m(t))throw new Error(\"Invalid datatype: \"+t);if(e&&e.isMatrix===!0)x(this,e,t);else if(e&&f(e.index)&&f(e.ptr)&&f(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=t||e.datatype;else if(f(e))w(this,e,t);else{if(e)throw new TypeError(\"Unsupported type of data (\"+i.types.type(e)+\")\");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=t}}var d=n(r(38)),y=n(r(48)),x=function(e,t,r){\"SparseMatrix\"===t.type?(e._values=t._values?s.clone(t._values):void 0,e._index=s.clone(t._index),e._ptr=s.clone(t._ptr),e._size=s.clone(t._size),e._datatype=r||t._datatype):w(e,t.valueOf(),r||t._datatype)},w=function(e,t,r){e._values=[],e._index=[],e._ptr=[],e._datatype=r;var n=t.length,i=0,a=y,o=0;if(m(r)&&(a=g.find(y,[r,r])||y,o=g.convert(0,r)),n>0){var s=0;do{e._ptr.push(e._index.length);for(var u=0;n>u;u++){var c=t[u];if(f(c)){if(0===s&&i<c.length&&(i=c.length),s<c.length){var l=c[s];a(l,o)||(e._values.push(l),e._index.push(u))}}else 0===s&&1>i&&(i=1),a(c,o)||(e._values.push(c),e._index.push(u))}s++}while(i>s)}e._ptr.push(e._index.length),e._size=[n,i]};v.prototype=new d,v.prototype.type=\"SparseMatrix\",v.prototype.isSparseMatrix=!0,v.prototype.storage=function(){return\"sparse\"},v.prototype.datatype=function(){return this._datatype},v.prototype.create=function(e,t){return new v(e,t)},v.prototype.density=function(){var e=this._size[0],t=this._size[1];return 0!==e&&0!==t?this._index.length/(e*t):0},v.prototype.subset=function(e,t,r){if(!this._values)throw new Error(\"Cannot invoke subset on a Pattern only matrix\");switch(arguments.length){case 1:return b(this,e);case 2:case 3:return N(this,e,t,r);default:throw new SyntaxError(\"Wrong number of arguments\")}};var b=function(e,t){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var r=t.isScalar();if(r)return e.get(t.min());var n=t.size();if(n.length!=e._size.length)throw new a(n.length,e._size.length);var i,o,s,u,c=t.min(),f=t.max();for(i=0,o=e._size.length;o>i;i++)h(c[i],e._size[i]),h(f[i],e._size[i]);var l=e._values,p=e._index,m=e._ptr,g=t.dimension(0),d=t.dimension(1),y=[],x=[];g.forEach(function(e,t){x[e]=t[0],y[e]=!0});var w=l?[]:void 0,b=[],N=[];return d.forEach(function(e){for(N.push(b.length),s=m[e],u=m[e+1];u>s;s++)i=p[s],y[i]===!0&&(b.push(x[i]),w&&w.push(l[s]))}),N.push(b.length),new v({values:w,index:b,ptr:N,size:n,datatype:e._datatype})},N=function(e,t,r,n){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var i,u=t.size(),c=t.isScalar();if(r&&r.isMatrix===!0?(i=r.size(),r=r.toArray()):i=o.size(r),c){if(0!==i.length)throw new TypeError(\"Scalar expected\");e.set(t.min(),r,n)}else{if(1!==u.length&&2!==u.length)throw new a(u.length,e._size.length,\"<\");if(i.length<u.length){for(var f=0,l=0;1===u[f]&&1===i[f];)f++;for(;1===u[f];)l++,f++;r=o.unsqueeze(r,u.length,l,i)}if(!s.deepEqual(u,i))throw new a(u,i,\">\");for(var p=t.min()[0],m=t.min()[1],h=i[0],g=i[1],v=0;h>v;v++)for(var d=0;g>d;d++){var y=r[v][d];e.set([v+p,d+m],y,n)}}return e};v.prototype.get=function(e){if(!f(e))throw new TypeError(\"Array expected\");if(e.length!=this._size.length)throw new a(e.length,this._size.length);if(!this._values)throw new Error(\"Cannot invoke get on a Pattern only matrix\");var t=e[0],r=e[1];h(t,this._size[0]),h(r,this._size[1]);var n=E(t,this._ptr[r],this._ptr[r+1],this._index);return n<this._ptr[r+1]&&this._index[n]===t?s.clone(this._values[n]):0},v.prototype.set=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");if(e.length!=this._size.length)throw new a(e.length,this._size.length);if(!this._values)throw new Error(\"Cannot invoke set on a Pattern only matrix\");var n=e[0],i=e[1],o=this._size[0],s=this._size[1],u=y,c=0;m(this._datatype)&&(u=g.find(y,[this._datatype,this._datatype])||y,c=g.convert(0,this._datatype)),(n>o-1||i>s-1)&&(_(this,Math.max(n+1,o),Math.max(i+1,s),r),o=this._size[0],s=this._size[1]),h(n,o),h(i,s);var l=E(n,this._ptr[i],this._ptr[i+1],this._index);return l<this._ptr[i+1]&&this._index[l]===n?u(t,c)?M(l,i,this._values,this._index,this._ptr):this._values[l]=t:A(l,n,i,t,this._values,this._index,this._ptr),this};var E=function(e,t,r,n){if(r-t===0)return r;for(var i=t;r>i;i++)if(n[i]===e)return i;return t},M=function(e,t,r,n,i){r.splice(e,1),n.splice(e,1);for(var a=t+1;a<i.length;a++)i[a]--},A=function(e,t,r,n,i,a,o){i.splice(e,0,n),a.splice(e,0,t);for(var s=r+1;s<o.length;s++)o[s]++};v.prototype.resize=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");if(2!==e.length)throw new Error(\"Only two dimensions matrix are supported\");e.forEach(function(t){if(!c.isNumber(t)||!c.isInteger(t)||0>t)throw new TypeError(\"Invalid size, must contain positive integers (size: \"+u.format(e)+\")\")});var n=r?this.clone():this;return _(n,e[0],e[1],t)};var _=function(e,t,r,n){var i=n||0,a=y,o=0;m(e._datatype)&&(a=g.find(y,[e._datatype,e._datatype])||y,o=g.convert(0,e._datatype),i=g.convert(i,e._datatype));var s,u,c,f=!a(i,o),l=e._size[0],p=e._size[1];if(r>p){for(u=p;r>u;u++)if(e._ptr[u]=e._values.length,f)for(s=0;l>s;s++)e._values.push(i),e._index.push(s);e._ptr[r]=e._values.length}else p>r&&(e._ptr.splice(r+1,p-r),e._values.splice(e._ptr[r],e._values.length),e._index.splice(e._ptr[r],e._index.length));if(p=r,t>l){if(f){var h=0;for(u=0;p>u;u++){e._ptr[u]=e._ptr[u]+h,c=e._ptr[u+1]+h;var v=0;for(s=l;t>s;s++,v++)e._values.splice(c+v,0,i),e._index.splice(c+v,0,s),h++}e._ptr[p]=e._values.length}}else if(l>t){var d=0;for(u=0;p>u;u++){e._ptr[u]=e._ptr[u]-d;var x=e._ptr[u],w=e._ptr[u+1]-d;for(c=x;w>c;c++)s=e._index[c],s>t-1&&(e._values.splice(c,1),e._index.splice(c,1),d++)}e._ptr[u]=e._values.length}return e._size[0]=t,e._size[1]=r,e};v.prototype.clone=function(){var e=new v({values:this._values?s.clone(this._values):void 0,index:s.clone(this._index),ptr:s.clone(this._ptr),size:s.clone(this._size),datatype:this._datatype});return e},v.prototype.size=function(){return s.clone(this._size)},v.prototype.map=function(e,t){if(!this._values)throw new Error(\"Cannot invoke map on a Pattern only matrix\");var r=this,n=this._size[0],i=this._size[1],a=function(t,n,i){return e(t,[n,i],r)};return O(this,0,n-1,0,i-1,a,t)};var O=function(e,t,r,n,i,a,o){var s=[],u=[],c=[],f=y,l=0;m(e._datatype)&&(f=g.find(y,[e._datatype,e._datatype])||y,l=g.convert(0,e._datatype));for(var p=function(e,t,r){e=a(e,t,r),f(e,l)||(s.push(e),u.push(t))},h=n;i>=h;h++){c.push(s.length);for(var d=e._ptr[h],x=e._ptr[h+1],w=t,b=d;x>b;b++){var N=e._index[b];if(N>=t&&r>=N){if(!o)for(var E=w;N>E;E++)p(0,E-t,h-n);p(e._values[b],N-t,h-n)}w=N+1}if(!o)for(var M=w;r>=M;M++)p(0,M-t,h-n)}return c.push(s.length),new v({values:s,index:u,ptr:c,size:[r-t+1,i-n+1]})};v.prototype.forEach=function(e,t){if(!this._values)throw new Error(\"Cannot invoke forEach on a Pattern only matrix\");for(var r=this,n=this._size[0],i=this._size[1],a=0;i>a;a++){for(var o=this._ptr[a],s=this._ptr[a+1],u=0,c=o;s>c;c++){var f=this._index[c];if(!t)for(var l=u;f>l;l++)e(0,[l,a],r);e(this._values[c],[f,a],r),u=f+1}if(!t)for(var p=u;n>p;p++)e(0,[p,a],r)}},v.prototype.toArray=function(){return T(this._values,this._index,this._ptr,this._size,!0)},v.prototype.valueOf=function(){return T(this._values,this._index,this._ptr,this._size,!1)};var T=function(e,t,r,n,i){var a,o,u=n[0],c=n[1],f=[];for(a=0;u>a;a++)for(f[a]=[],o=0;c>o;o++)f[a][o]=0;for(o=0;c>o;o++)for(var l=r[o],p=r[o+1],m=l;p>m;m++)a=t[m],f[a][o]=e?i?s.clone(e[m]):e[m]:1;return f};return v.prototype.format=function(e){for(var t=this._size[0],r=this._size[1],n=this.density(),i=\"Sparse Matrix [\"+u.format(t,e)+\" x \"+u.format(r,e)+\"] density: \"+u.format(n,e)+\"\\n\",a=0;r>a;a++)for(var o=this._ptr[a],s=this._ptr[a+1],c=o;s>c;c++){var f=this._index[c];i+=\"\\n (\"+u.format(f,e)+\", \"+u.format(a,e)+\") ==> \"+(this._values?u.format(this._values[c],e):\"X\")}return i},v.prototype.toString=function(){return u.format(this.toArray())},v.prototype.toJSON=function(){return{mathjs:\"SparseMatrix\",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},v.prototype.diagonal=function(e){if(e){if(e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e))throw new TypeError(\"The parameter k must be an integer number\")}else e=0;var t=e>0?e:0,r=0>e?-e:0,n=this._size[0],i=this._size[1],a=Math.min(n-r,i-t),o=[],u=[],c=[];c[0]=0;for(var f=t;i>f&&o.length<a;f++)for(var m=this._ptr[f],h=this._ptr[f+1],g=m;h>g;g++){var d=this._index[g];if(d===f-t+r){o.push(s.clone(this._values[g])),u[o.length-1]=d-r;break}}return c.push(o.length),new v({values:o,index:u,ptr:c,size:[a,1]})},v.fromJSON=function(e){return new v(e)},v.diagonal=function(e,t,r,n,i){if(!f(e))throw new TypeError(\"Array expected, size parameter\");if(2!==e.length)throw new Error(\"Only two dimensions matrix are supported\");if(e=e.map(function(e){if(e&&e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e)||1>e)throw new Error(\"Size values must be positive integers\");return e}),r){if(r.isBigNumber===!0&&(r=r.toNumber()),!l(r)||!p(r))throw new TypeError(\"The parameter k must be an integer number\")}else r=0;var a=y,o=0;m(i)&&(a=g.find(y,[i,i])||y,o=g.convert(0,i));var s,u=r>0?r:0,c=0>r?-r:0,h=e[0],d=e[1],x=Math.min(h-c,d-u);if(f(t)){if(t.length!==x)throw new Error(\"Invalid value array length\");s=function(e){return t[e]}}else if(t&&t.isMatrix===!0){var w=t.size();if(1!==w.length||w[0]!==x)throw new Error(\"Invalid matrix length\");s=function(e){return t.get([e])}}else s=function(){return t};for(var b=[],N=[],E=[],M=0;d>M;M++){E.push(b.length);var A=M-u;if(A>=0&&x>A){var _=s(A);a(_,o)||(N.push(A+c),b.push(_))}}return E.push(b.length),new v({values:b,index:N,ptr:E,size:[h,d]})},v.prototype.swapRows=function(e,t){if(!(l(e)&&p(e)&&l(t)&&p(t)))throw new Error(\"Row index must be positive integers\");if(2!==this._size.length)throw new Error(\"Only two dimensional matrix is supported\");return h(e,this._size[0]),h(t,this._size[0]),v._swapRows(e,t,this._size[1],this._values,this._index,this._ptr),this},v._forEachRow=function(e,t,r,n,i){for(var a=n[e],o=n[e+1],s=a;o>s;s++)i(r[s],t[s])},v._swapRows=function(e,t,r,n,i,a){for(var o=0;r>o;o++){var s=a[o],u=a[o+1],c=E(e,s,u,i),f=E(t,s,u,i);if(u>c&&u>f&&i[c]===e&&i[f]===t){if(n){var l=n[c];n[c]=n[f],n[f]=l}}else if(u>c&&i[c]===e&&(f>=u||i[f]!==t)){var p=n?n[c]:void 0;i.splice(f,0,t),n&&n.splice(f,0,p),i.splice(c>=f?c+1:c,1),n&&n.splice(c>=f?c+1:c,1)}else if(u>f&&i[f]===t&&(c>=u||i[c]!==e)){var m=n?n[f]:void 0;i.splice(c,0,e),n&&n.splice(c,0,m),i.splice(f>=c?f+1:f,1),n&&n.splice(f>=c?f+1:f,1)}}},e.Matrix._storage.sparse=v,v}var i=r(39),a=r(42),o=i.array,s=i.object,u=i.string,c=i.number,f=Array.isArray,l=c.isNumber,p=c.isInteger,m=u.isString,h=o.validateIndex;t.name=\"SparseMatrix\",t.path=\"type\",t.factory=n,t.lazy=!1},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"equalScalar\",{\"boolean, boolean\":function(e,t){return e===t},\"number, number\":function(e,r){return e===r||i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.eq(t)},\"Fraction, Fraction\":function(e,t){return e.equals(t)},\"Complex, Complex\":function(e,r){return(e.re===r.re||i(e.re,r.re,t.epsilon))&&(e.im===r.im||i(e.im,r.im,t.epsilon))},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value===r.value||i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e===t}});return a}var i=r(6).nearlyEqual;t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){function i(){if(!(this instanceof i))throw new SyntaxError(\"Constructor must be called with the new operator\");this._values=[],this._heap=new e.FibonacciHeap}var a=n(r(50)),o=n(r(48));return i.prototype.type=\"Spa\",i.prototype.isSpa=!0,i.prototype.set=function(e,t){if(this._values[e])this._values[e].value=t;else{var r=this._heap.insert(e,t);this._values[e]=r}},i.prototype.get=function(e){var t=this._values[e];return t?t.value:0},i.prototype.accumulate=function(e,t){var r=this._values[e];r?r.value=a(r.value,t):(r=this._heap.insert(e,t),this._values[e]=r)},i.prototype.forEach=function(e,t,r){var n=this._heap,i=this._values,a=[],s=n.extractMinimum();for(s&&a.push(s);s&&s.key<=t;)s.key>=e&&(o(s.value,0)||r(s.key,s.value,this)),s=n.extractMinimum(),s&&a.push(s);for(var u=0;u<a.length;u++){var c=a[u];s=n.insert(c.key,c.value),i[s.key]=s}},i.prototype.swap=function(e,t){var r=this._values[e],n=this._values[t];if(!r&&n)r=this._heap.insert(e,n.value),this._heap.remove(n),this._values[e]=r,this._values[t]=void 0;else if(r&&!n)n=this._heap.insert(t,r.value),this._heap.remove(r),this._values[t]=n,this._values[e]=void 0;else if(r&&n){var i=r.value;r.value=n.value,n.value=i}},i}t.name=\"Spa\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(52)),u=r(30),c=n(r(53)),f=n(r(54)),l=n(r(55)),p=n(r(56)),m=n(r(57)),h=a(\"add\",i({\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,s);break;default:r=c(t,e,s,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,s,!1);break;default:r=p(e,t,s)}}return r},\"Array, Array\":function(e,t){return h(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(o(e),t)},\"Matrix, Array\":function(e,t){return h(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,s,!1);break;default:r=m(e,t,s,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,s,!0);break;default:r=m(t,e,s,!0)}return r},\"Array, any\":function(e,t){return m(o(e),t,s,!1).valueOf()},\"any, Array\":function(e,t){return m(o(t),e,s,!0).valueOf()}},s.signatures));return h.toTex=\"\\\\left(${args[0]}\"+u.operators.add+\"${args[1]}\\\\right)\",h}var i=r(3).extend;t.name=\"add\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){function i(t,r,n){var i=e.Matrix.storage(r||\"default\");return new i(t,n)}var a=n(\"matrix\",{\"\":function(){return i([])},string:function(e){return i([],e)},\"string, string\":function(e,t){return i([],e,t)},Array:function(e){return i(e)},Matrix:function(e){return i(e,e.storage())},\"Array | Matrix, string\":i,\"Array | Matrix, string, string\":i});return a.toTex={0:\"\\\\begin{bmatrix}\\\\end{bmatrix}\",1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(${args[0]}\\\\right)\"},a}t.name=\"matrix\",t.factory=r},function(e,t){\"use strict\";function r(e,t,r,n){return n(\"add\",{\"number, number\":function(e,t){return e+t},\"Complex, Complex\":function(t,r){return new e.Complex(t.re+r.re,t.im+r.im);\n},\"BigNumber, BigNumber\":function(e,t){return e.plus(t)},\"Fraction, Fraction\":function(e,t){return e.add(t)},\"Unit, Unit\":function(e,t){if(null==e.value)throw new Error(\"Parameter x contains a unit with undefined value\");if(null==t.value)throw new Error(\"Parameter y contains a unit with undefined value\");if(!e.equalBase(t))throw new Error(\"Units do not match\");var r=e.clone();return r.value+=t.value,r.fixPrefix=!1,r}})}t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r,o){var s=e._data,u=e._size,c=e._datatype,f=t._values,l=t._index,p=t._ptr,m=t._size,h=t._datatype;if(u.length!==m.length)throw new i(u.length,m.length);if(u[0]!==m[0]||u[1]!==m[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+u+\") must match Matrix B (\"+m+\")\");if(!f)throw new Error(\"Cannot perform operation on Dense Matrix and Pattern Sparse Matrix\");var g,v,d=u[0],y=u[1],x=\"string\"==typeof c&&c===h?c:void 0,w=x?n.find(r,[x,x]):r,b=[];for(g=0;d>g;g++)b[g]=[];var N=[],E=[];for(v=0;y>v;v++){for(var M=v+1,A=p[v],_=p[v+1],O=A;_>O;O++)g=l[O],N[g]=o?w(f[O],s[g][v]):w(s[g][v],f[O]),E[g]=M;for(g=0;d>g;g++)E[g]===M?b[g][v]=N[g]:b[g][v]=s[g][v]}return new a({data:b,size:[d,y],datatype:x})};return o}var i=r(42);t.name=\"algorithm01\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));var E,M,A,_,O,T=n&&p?[]:void 0,C=[],S=[],z=new s({values:T,index:C,ptr:S,size:[y,x],datatype:d}),B=n&&p?[]:void 0,k=n&&p?[]:void 0,I=[],R=[];for(M=0;x>M;M++){S[M]=C.length;var P=M+1;for(_=c[M],O=c[M+1],A=_;O>A;A++)E=u[A],C.push(E),I[E]=P,B&&(B[E]=n[A]);for(_=h[M],O=h[M+1],A=_;O>A;A++)if(E=m[A],I[E]===P){if(B){var U=N(B[E],p[A]);w(U,b)?I[E]=null:B[E]=U}}else C.push(E),R[E]=P,k&&(k[E]=p[A]);if(B&&k)for(A=S[M];A<C.length;)E=C[A],I[E]===P?(T[A]=B[E],A++):R[E]===P?(T[A]=k[E],A++):C.splice(A,1)}return S[x]=C.length,z};return u}var i=r(42);t.name=\"algorithm04\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){var i=e.DenseMatrix,a=function(e,t,r,a){var o=e._values,s=e._index,u=e._ptr,c=e._size,f=e._datatype;if(!o)throw new Error(\"Cannot perform operation on Pattern Sparse Matrix and Scalar value\");var l,p=c[0],m=c[1],h=r;\"string\"==typeof f&&(l=f,t=n.convert(t,l),h=n.find(r,[l,l]));for(var g=[],v=new i({data:g,size:[p,m],datatype:l}),d=[],y=[],x=0;m>x;x++){for(var w=x+1,b=u[x],N=u[x+1],E=b;N>E;E++){var M=s[E];d[M]=o[E],y[M]=w}for(var A=0;p>A;A++)0===x&&(g[A]=[]),y[A]===w?g[A][x]=a?h(t,d[A]):h(d[A],t):g[A][x]=t}return v};return a}t.name=\"algorithm10\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var i=e.DenseMatrix,o=function(e,t,r){var o=e._data,u=e._size,c=e._datatype,f=t._data,l=t._size,p=t._datatype,m=[];if(u.length!==l.length)throw new a(u.length,l.length);for(var h=0;h<u.length;h++){if(u[h]!==l[h])throw new RangeError(\"Dimension mismatch. Matrix A (\"+u+\") must match Matrix B (\"+l+\")\");m[h]=u[h]}var g,v=r;\"string\"==typeof c&&c===p&&(g=c,t=n.convert(t,g),v=n.find(r,[g,g]));var d=m.length>0?s(v,0,m,m[0],o,f):[];return new i({data:d,size:m,datatype:g})},s=function(e,t,r,n,i,a){var o=[];if(t===r.length-1)for(var u=0;n>u;u++)o[u]=e(i[u],a[u]);else for(var c=0;n>c;c++)o[c]=s(e,t+1,r,r[t+1],i[c],a[c]);return o};return o}var i=r(39),a=r(42),o=i.string;o.isString;t.name=\"algorithm13\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r,o){var u,c=e._data,f=e._size,l=e._datatype,p=r;\"string\"==typeof l&&(u=l,t=n.convert(t,u),p=n.find(r,[u,u]));var m=f.length>0?s(p,0,f,f[0],c,t,o):[];return new a({data:m,size:i(f),datatype:u})},s=function(e,t,r,n,i,a,o){var u=[];if(t===r.length-1)for(var c=0;n>c;c++)u[c]=o?e(a,i[c]):e(i[c],a);else for(var f=0;n>f;f++)u[f]=s(e,t+1,r,r[t+1],i[f],a,o);return u};return o}var i=r(3).clone;t.name=\"algorithm14\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");this._minimum=null,this._size=0}var o=n(r(59)),s=n(r(63)),u=1/Math.log((1+Math.sqrt(5))/2);a.prototype.type=\"FibonacciHeap\",a.prototype.isFibonacciHeap=!0,a.prototype.insert=function(e,t){var r={key:e,value:t,degree:0};if(this._minimum){var n=this._minimum;r.left=n,r.right=n.right,n.right=r,r.right.left=r,o(e,n.key)&&(this._minimum=r)}else r.left=r,r.right=r,this._minimum=r;return this._size++,r},a.prototype.size=function(){return this._size},a.prototype.clear=function(){this._minimum=null,this._size=0},a.prototype.isEmpty=function(){return!!this._minimum},a.prototype.extractMinimum=function(){var e=this._minimum;if(null===e)return e;for(var t=this._minimum,r=e.degree,n=e.child;r>0;){var i=n.right;n.left.right=n.right,n.right.left=n.left,n.left=t,n.right=t.right,t.right=n,n.right.left=n,n.parent=null,n=i,r--}return e.left.right=e.right,e.right.left=e.left,e==e.right?t=null:(t=e.right,t=m(t,this._size)),this._size--,this._minimum=t,e},a.prototype.remove=function(e){this._minimum=c(this._minimum,e,-1),this.extractMinimum()};var c=function(e,t,r){t.key=r;var n=t.parent;return n&&o(t.key,n.key)&&(f(e,t,n),l(e,n)),o(t.key,e.key)&&(e=t),e},f=function(e,t,r){t.left.right=t.right,t.right.left=t.left,r.degree--,r.child==t&&(r.child=t.right),0===r.degree&&(r.child=null),t.left=e,t.right=e.right,e.right=t,t.right.left=t,t.parent=null,t.mark=!1},l=function(e,t){var r=t.parent;r&&(t.mark?(f(e,t,r),l(r)):t.mark=!0)},p=function(e,t){e.left.right=e.right,e.right.left=e.left,e.parent=t,t.child?(e.left=t.child,e.right=t.child.right,t.child.right=e,e.right.left=e):(t.child=e,e.right=e,e.left=e),t.degree++,e.mark=!1},m=function(e,t){var r=Math.floor(Math.log(t)*u)+1,n=new Array(r),i=0,a=e;if(a)for(i++,a=a.right;a!==e;)i++,a=a.right;for(var c;i>0;){for(var f=a.degree,l=a.right;;){if(c=n[f],!c)break;if(s(a.key,c.key)){var m=c;c=a,a=m}p(c,a),n[f]=null,f++}n[f]=a,a=l,i--}e=null;for(var h=0;r>h;h++)c=n[h],c&&(e?(c.left.right=c.right,c.right.left=c.left,c.left=e,c.right=e.right,e.right=c,c.right.left=c,o(c.key,e.key)&&(e=c)):e=c);return e};return a}t.name=\"FibonacciHeap\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"smaller\",{\"boolean, boolean\":function(e,t){return t>e},\"number, number\":function(e,r){return r>e&&!i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.lt(t)},\"Fraction, Fraction\":function(e,t){return-1===e.compare(t)},\"Complex, Complex\":function(e,t){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value<r.value&&!i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return t>e},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.smaller+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"smaller\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r,o){var s=e._data,u=e._size,c=e._datatype,f=t._values,l=t._index,p=t._ptr,m=t._size,h=t._datatype;if(u.length!==m.length)throw new i(u.length,m.length);if(u[0]!==m[0]||u[1]!==m[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+u+\") must match Matrix B (\"+m+\")\");if(!f)throw new Error(\"Cannot perform operation on Dense Matrix and Pattern Sparse Matrix\");var g,v=u[0],d=u[1],y=0,x=r;\"string\"==typeof c&&c===h&&(g=c,y=n.convert(0,g),x=n.find(r,[g,g]));for(var w=[],b=0;v>b;b++)w[b]=[];for(var N=[],E=[],M=0;d>M;M++){for(var A=M+1,_=p[M],O=p[M+1],T=_;O>T;T++){var C=l[T];N[C]=o?x(f[T],s[C][M]):x(s[C][M],f[T]),E[C]=A}for(var S=0;v>S;S++)E[S]===A?w[S][M]=N[S]:w[S][M]=o?x(y,s[S][M]):x(s[S][M],y)}return new a({data:w,size:[v,d],datatype:g})};return o}var i=r(42);t.name=\"algorithm03\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r){var o=e._size,u=e._datatype,c=t._size,f=t._datatype;if(o.length!==c.length)throw new i(o.length,c.length);if(o[0]!==c[0]||o[1]!==c[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+o+\") must match Matrix B (\"+c+\")\");var l,p=o[0],m=o[1],h=0,g=r;\"string\"==typeof u&&u===f&&(l=u,h=n.convert(0,l),g=n.find(r,[l,l]));var v,d,y=[];for(v=0;p>v;v++)y[v]=[];var x=new a({data:y,size:[p,m],datatype:l}),w=[],b=[],N=[],E=[];for(d=0;m>d;d++){var M=d+1;for(s(e,d,N,w,M),s(t,d,E,b,M),v=0;p>v;v++){var A=N[v]===M?w[v]:h,_=E[v]===M?b[v]:h;y[v][d]=g(A,_)}}return x},s=function(e,t,r,n,i){for(var a=e._values,o=e._index,s=e._ptr,u=s[t],c=s[t+1];c>u;u++){var f=o[u];r[f]=i,n[f]=a[u]}};return o}var i=r(42);t.name=\"algorithm07\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){var i=e.DenseMatrix,a=function(e,t,r,a){var o=e._values,s=e._index,u=e._ptr,c=e._size,f=e._datatype;if(!o)throw new Error(\"Cannot perform operation on Pattern Sparse Matrix and Scalar value\");var l,p=c[0],m=c[1],h=r;\"string\"==typeof f&&(l=f,t=n.convert(t,l),h=n.find(r,[l,l]));for(var g=[],v=new i({data:g,size:[p,m],datatype:l}),d=[],y=[],x=0;m>x;x++){for(var w=x+1,b=u[x],N=u[x+1],E=b;N>E;E++){var M=s[E];d[M]=o[E],y[M]=w}for(var A=0;p>A;A++)0===x&&(g[A]=[]),y[A]===w?g[A][x]=a?h(t,d[A]):h(d[A],t):g[A][x]=a?h(t,0):h(0,t)}return v};return a}t.name=\"algorithm12\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"larger\",{\"boolean, boolean\":function(e,t){return e>t},\"number, number\":function(e,r){return e>r&&!i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.gt(t)},\"Fraction, Fraction\":function(e,t){return 1===e.compare(t)},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value>r.value&&!i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e>t},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.larger+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"larger\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){function a(e,t){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t&&!u(t))throw new Error(\"Invalid datatype: \"+t);if(e&&e.isMatrix===!0||s(e)){var r=new c(e,t);this._data=r._data,this._size=r._size,this._datatype=r._datatype,this._min=null,this._max=null}else if(e&&s(e.data)&&s(e.size))this._data=e.data,this._size=e.size,this._datatype=e.datatype,this._min=\"undefined\"!=typeof e.min?e.min:null,this._max=\"undefined\"!=typeof e.max?e.max:null;else{if(e)throw new TypeError(\"Unsupported type of data (\"+i.types.type(e)+\")\");this._data=[],this._size=[0],this._datatype=t,this._min=null,this._max=null}}var c=n(r(46)),f=n(r(59));return a.prototype=new c,a.prototype.type=\"ImmutableDenseMatrix\",a.prototype.isImmutableDenseMatrix=!0,a.prototype.subset=function(e){switch(arguments.length){case 1:var t=c.prototype.subset.call(this,e);return t.isMatrix?new a({data:t._data,size:t._size,datatype:t._datatype}):t;case 2:case 3:throw new Error(\"Cannot invoke set subset on an Immutable Matrix instance\");default:throw new SyntaxError(\"Wrong number of arguments\")}},a.prototype.set=function(){throw new Error(\"Cannot invoke set on an Immutable Matrix instance\")},a.prototype.resize=function(){throw new Error(\"Cannot invoke resize on an Immutable Matrix instance\")},a.prototype.clone=function(){var e=new a({data:o.clone(this._data),size:o.clone(this._size),datatype:this._datatype});return e},a.prototype.toJSON=function(){return{mathjs:\"ImmutableDenseMatrix\",data:this._data,size:this._size,datatype:this._datatype}},a.fromJSON=function(e){return new a(e)},a.prototype.swapRows=function(){throw new Error(\"Cannot invoke swapRows on an Immutable Matrix instance\")},a.prototype.min=function(){if(null===this._min){var e=null;this.forEach(function(t){(null===e||f(t,e))&&(e=t)}),this._min=null!==e?e:void 0}return this._min},a.prototype.max=function(){if(null===this._max){var e=null;this.forEach(function(t){(null===e||f(e,t))&&(e=t)}),this._max=null!==e?e:void 0}return this._max},a}var i=r(39),a=i.string,o=i.object,s=Array.isArray,u=a.isString;t.name=\"ImmutableDenseMatrix\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e){function t(e){if(!(this instanceof t))throw new SyntaxError(\"Constructor must be called with the new operator\");this._dimensions=[],this._isScalar=!0;for(var n=0,i=arguments.length;i>n;n++){var a=arguments[n];if(a&&a.isRange===!0)this._dimensions.push(a),this._isScalar=!1;else if(a&&(Array.isArray(a)||a.isMatrix===!0)){var o=r(a.valueOf());this._dimensions.push(o);var s=o.size();this._isScalar=1===s.length&&1===s[0]}else{if(\"number\"!=typeof a)throw new TypeError(\"Dimension must be an Array, Matrix, Number or Range\");this._dimensions.push(r([a]))}}}function r(t){for(var r=0,n=t.length;n>r;r++)if(\"number\"!=typeof t[r]||!a(t[r]))throw new TypeError(\"Index parameters must be positive integer numbers\");return new e.ImmutableDenseMatrix(t)}return t.prototype.type=\"Index\",t.prototype.isIndex=!0,t.prototype.clone=function(){var e=new t;return e._dimensions=i(this._dimensions),e._isScalar=this._isScalar,e},t.create=function(e){var r=new t;return t.apply(r,e),r},t.prototype.size=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++){var n=this._dimensions[t];e[t]=n.size()[0]}return e},t.prototype.max=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++){var n=this._dimensions[t];e[t]=n.max()}return e},t.prototype.min=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++){var n=this._dimensions[t];e[t]=n.min()}return e},t.prototype.forEach=function(e){for(var t=0,r=this._dimensions.length;r>t;t++)e(this._dimensions[t],t,this)},t.prototype.dimension=function(e){return this._dimensions[e]||null},t.prototype.isScalar=function(){return this._isScalar},t.prototype.toArray=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++)e.push(this._dimensions[t].toArray());return e},t.prototype.valueOf=t.prototype.toArray,t.prototype.toString=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++)e.push(this._dimensions[t].toString());return\"[\"+e.join(\", \")+\"]\"},t.prototype.toJSON=function(){return{mathjs:\"Index\",dimensions:this._dimensions}},t.fromJSON=function(e){return t.create(e.dimensions)},t}var i=r(3).clone,a=r(6).isInteger;t.name=\"Index\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(e,t,r){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(null!=e)if(e.isBigNumber===!0)e=e.toNumber();else if(\"number\"!=typeof e)throw new TypeError(\"Parameter start must be a number\");if(null!=t)if(t.isBigNumber===!0)t=t.toNumber();else if(\"number\"!=typeof t)throw new TypeError(\"Parameter end must be a number\");if(null!=r)if(r.isBigNumber===!0)r=r.toNumber();else if(\"number\"!=typeof r)throw new TypeError(\"Parameter step must be a number\");this.start=null!=e?parseFloat(e):0,this.end=null!=t?parseFloat(t):0,this.step=null!=r?parseFloat(r):1}return a.prototype.type=\"Range\",a.prototype.isRange=!0,a.parse=function(e){if(\"string\"!=typeof e)return null;var t=e.split(\":\"),r=t.map(function(e){return parseFloat(e)}),n=r.some(function(e){return isNaN(e)});if(n)return null;switch(r.length){case 2:return new a(r[0],r[1]);case 3:return new a(r[0],r[2],r[1]);default:return null}},a.prototype.clone=function(){return new a(this.start,this.end,this.step)},a.prototype.size=function(){var e=0,t=this.start,r=this.step,n=this.end,a=n-t;return i.sign(r)==i.sign(a)?e=Math.ceil(a/r):0==a&&(e=0),isNaN(e)&&(e=0),[e]},a.prototype.min=function(){var e=this.size()[0];return e>0?this.step>0?this.start:this.start+(e-1)*this.step:void 0},a.prototype.max=function(){var e=this.size()[0];return e>0?this.step>0?this.start+(e-1)*this.step:this.start:void 0},a.prototype.forEach=function(e){var t=this.start,r=this.step,n=this.end,i=0;if(r>0)for(;n>t;)e(t,[i],this),t+=r,i++;else if(0>r)for(;t>n;)e(t,[i],this),t+=r,i++},a.prototype.map=function(e){var t=[];return this.forEach(function(r,n,i){t[n[0]]=e(r,n,i)}),t},a.prototype.toArray=function(){var e=[];return this.forEach(function(t,r){e[r[0]]=t}),e},a.prototype.valueOf=function(){return this.toArray()},a.prototype.format=function(e){var t=i.format(this.start,e);return 1!=this.step&&(t+=\":\"+i.format(this.step,e)),t+=\":\"+i.format(this.end,e)},a.prototype.toString=function(){return this.format()},a.prototype.toJSON=function(){return{mathjs:\"Range\",start:this.start,end:this.end,step:this.step}},a.fromJSON=function(e){return new a(e.start,e.end,e.step)},a}var i=r(6);t.name=\"Range\",t.path=\"type\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){return n(\"index\",{\"...number | BigNumber | Range | Array | Matrix\":function(t){var r=t.map(function(e){return e&&e.isBigNumber===!0?e.toNumber():e&&(Array.isArray(e)||e.isMatrix===!0)?e.map(function(e){return e&&e.isBigNumber===!0?e.toNumber():e}):e}),n=new e.Index;return e.Index.apply(n,r),n}})}t.name=\"index\",t.factory=r},function(e,t){\"use strict\";function r(e,t,r,n){var i=e.SparseMatrix,a=n(\"sparse\",{\"\":function(){return new i([])},string:function(e){return new i([],e)},\"Array | Matrix\":function(e){return new i(e)},\"Array | Matrix, string\":function(e,t){return new i(e,t)}});return a.toTex={0:\"\\\\begin{bsparse}\\\\end{bsparse}\",1:\"\\\\left(${args[0]}\\\\right)\"},a}t.name=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"number\",{\"\":function(){return 0},number:function(e){return e},string:function(e){var t=Number(e);if(isNaN(t))throw new SyntaxError('String \"'+e+'\" is no valid number');return t},BigNumber:function(e){return e.toNumber()},Unit:function(e){throw new Error(\"Second argument with valueless unit expected\")},\"Unit, string | Unit\":function(e,t){return e.toNumber(t)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex={0:\"0\",1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(\\\\left(${args[0]}\\\\right)${args[1]}\\\\right)\"},a}var i=r(19);t.name=\"number\",t.factory=n},function(e,t,r){e.exports=[r(71)]},function(e,t){\"use strict\";function r(e,t,r,n){function i(e){if(!(this instanceof i))throw new SyntaxError(\"Constructor must be called with the new operator\");this.entries=e||[]}return i.prototype.type=\"ResultSet\",i.prototype.isResultSet=!0,i.prototype.valueOf=function(){return this.entries},i.prototype.toString=function(){return\"[\"+this.entries.join(\", \")+\"]\"},i.prototype.toJSON=function(){return{mathjs:\"ResultSet\",entries:this.entries}},i.fromJSON=function(e){return new i(e.entries)},i}t.name=\"ResultSet\",t.path=\"type\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"string\",{\"\":function(){return\"\"},number:a.format,\"null\":function(e){return\"null\"},\"boolean\":function(e){return e+\"\"},string:function(e){return e},\"Array | Matrix\":function(e){return i(e,o)},any:function(e){return String(e)}});return o.toTex={0:'\\\\mathtt{\"\"}',1:\"\\\\mathrm{string}\\\\left(${args[0]}\\\\right)\"},o}var i=r(19),a=r(6);t.name=\"string\",t.factory=n},function(e,t,r){e.exports=[r(28),r(74),r(75)]},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"unit\",{Unit:function(e){return e.clone()},string:function(t){return e.Unit.isValuelessUnit(t)?new e.Unit(null,t):e.Unit.parse(t)},\"number, string\":function(t,r){return new e.Unit(t,r)},\"BigNumber, string\":function(t,r){return new e.Unit(t.toNumber(),r)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex={1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(\\\\left(${args[0]}\\\\right)${args[1]}\\\\right)\"},a}var i=r(19);t.name=\"unit\",t.factory=n},function(e,t,r){function n(e,t,r,n,a){function o(t){var r=e.Unit.parse(t);return r.fixPrefix=!0,r}i(a,\"speedOfLight\",function(){return o(\"299792458 m s^-1\")}),i(a,\"gravitationConstant\",function(){return o(\"6.6738480e-11 m^3 kg^-1 s^-2\")}),i(a,\"planckConstant\",function(){return o(\"6.626069311e-34 J s\")}),i(a,\"reducedPlanckConstant\",function(){return o(\"1.05457172647e-34 J s\")}),i(a,\"magneticConstant\",function(){return o(\"1.2566370614e-6 N A^-2\")}),i(a,\"electricConstant\",function(){return o(\"8.854187817e-12 F m^-1\")}),i(a,\"vacuumImpedance\",function(){return o(\"376.730313461 ohm\")}),i(a,\"coulomb\",function(){return o(\"8.9875517873681764e9 N m^2 C^-2\")}),i(a,\"elementaryCharge\",function(){return o(\"1.60217656535e-19 C\")}),i(a,\"bohrMagneton\",function(){return o(\"9.2740096820e-24 J T^-1\")}),i(a,\"conductanceQuantum\",function(){return o(\"7.748091734625e-5 S\")}),i(a,\"inverseConductanceQuantum\",function(){return o(\"12906.403721742 ohm\")}),i(a,\"magneticFluxQuantum\",function(){return o(\"2.06783375846e-15 Wb\")}),i(a,\"nuclearMagneton\",function(){return o(\"5.0507835311e-27 J T^-1\")}),i(a,\"klitzing\",function(){return o(\"25812.807443484 ohm\")}),i(a,\"bohrRadius\",function(){return o(\"5.291772109217e-11 m\")}),i(a,\"classicalElectronRadius\",function(){return o(\"2.817940326727e-15 m\")}),i(a,\"electronMass\",function(){return o(\"9.1093829140e-31 kg\")}),i(a,\"fermiCoupling\",function(){return o(\"1.1663645e-5 GeV^-2\")}),i(a,\"fineStructure\",function(){return.007297352569824}),i(a,\"hartreeEnergy\",function(){return o(\"4.3597443419e-18 J\")}),i(a,\"protonMass\",function(){return o(\"1.67262177774e-27 kg\")}),i(a,\"deuteronMass\",function(){return o(\"3.3435830926e-27 kg\")}),i(a,\"neutronMass\",function(){return o(\"1.6749271613e-27 kg\")}),i(a,\"quantumOfCirculation\",function(){return o(\"3.636947552024e-4 m^2 s^-1\")}),i(a,\"rydberg\",function(){return o(\"10973731.56853955 m^-1\")}),i(a,\"thomsonCrossSection\",function(){return o(\"6.65245873413e-29 m^2\")}),i(a,\"weakMixingAngle\",function(){return.222321}),i(a,\"efimovFactor\",function(){return 22.7}),i(a,\"atomicMass\",function(){return o(\"1.66053892173e-27 kg\")}),i(a,\"avogadro\",function(){return o(\"6.0221412927e23 mol^-1\")}),i(a,\"boltzmann\",function(){return o(\"1.380648813e-23 J K^-1\")}),i(a,\"faraday\",function(){return o(\"96485.336521 C mol^-1\")}),i(a,\"firstRadiation\",function(){return o(\"3.7417715317e-16 W m^2\")}),i(a,\"loschmidt\",function(){return o(\"2.686780524e25 m^-3\")}),i(a,\"gasConstant\",function(){return o(\"8.314462175 J K^-1 mol^-1\")}),i(a,\"molarPlanckConstant\",function(){return o(\"3.990312717628e-10 J s mol^-1\")}),i(a,\"molarVolume\",function(){return o(\"2.241396820e-10 m^3 mol^-1\")}),i(a,\"sackurTetrode\",function(){return-1.164870823}),i(a,\"secondRadiation\",function(){return o(\"1.438777013e-2 m K\")}),i(a,\"stefanBoltzmann\",function(){return o(\"5.67037321e-8 W m^-2 K^-4\")}),i(a,\"wienDisplacement\",function(){return o(\"2.897772126e-3 m K\")}),i(a,\"molarMass\",function(){return o(\"1e-3 kg mol^-1\")}),i(a,\"molarMassC12\",function(){return o(\"1.2e-2 kg mol^-1\")}),i(a,\"gravity\",function(){return o(\"9.80665 m s^-2\")}),i(a,\"planckLength\",function(){return o(\"1.61619997e-35 m\")}),i(a,\"planckMass\",function(){return o(\"2.1765113e-8 kg\")}),i(a,\"planckTime\",function(){return o(\"5.3910632e-44 s\")}),i(a,\"planckCharge\",function(){return o(\"1.87554595641e-18 C\")}),i(a,\"planckTemperature\",function(){return o(\"1.41683385e+32 K\")})}var i=r(3).lazy;t.factory=n,t.lazy=!1,t.math=!0},function(e,t,r){\"use strict\";function n(e,t,o,s,u){u.on(\"config\",function(r,i){r.number!==i.number&&n(e,t,o,s,u)}),u[\"true\"]=!0,u[\"false\"]=!1,u[\"null\"]=null,u.uninitialized=r(40).UNINITIALIZED,\"bignumber\"===t.number?(u.Infinity=new e.BigNumber(1/0),u.NaN=new e.BigNumber(NaN),i.lazy(u,\"pi\",function(){return a.pi(e.BigNumber)}),i.lazy(u,\"tau\",function(){return a.tau(e.BigNumber)}),i.lazy(u,\"e\",function(){return a.e(e.BigNumber)}),i.lazy(u,\"phi\",function(){return a.phi(e.BigNumber)}),i.lazy(u,\"E\",function(){return u.e}),i.lazy(u,\"LN2\",function(){return new e.BigNumber(2).ln()}),i.lazy(u,\"LN10\",function(){return new e.BigNumber(10).ln()}),i.lazy(u,\"LOG2E\",function(){return new e.BigNumber(1).div(new e.BigNumber(2).ln())}),i.lazy(u,\"LOG10E\",function(){return new e.BigNumber(1).div(new e.BigNumber(10).ln())}),i.lazy(u,\"PI\",function(){return u.pi}),i.lazy(u,\"SQRT1_2\",function(){return new e.BigNumber(\"0.5\").sqrt()}),i.lazy(u,\"SQRT2\",function(){return new e.BigNumber(2).sqrt()})):(u.Infinity=1/0,u.NaN=NaN,u.pi=Math.PI,u.tau=2*Math.PI,u.e=Math.E,u.phi=1.618033988749895,u.E=u.e,u.LN2=Math.LN2,u.LN10=Math.LN10,u.LOG2E=Math.LOG2E,u.LOG10E=Math.LOG10E,u.PI=u.pi,u.SQRT1_2=Math.SQRT1_2,u.SQRT2=Math.SQRT2),u.i=new e.Complex(0,1),u.version=r(79)}var i=r(3),a=r(77);t.factory=n,t.lazy=!1,t.math=!0},function(e,t,r){function n(e){return e[0].precision}var i=r(45).memoize,a=r(78);t.e=i(function(e){return new e(1).exp()},n),t.phi=i(function(e){return new e(1).plus(new e(5).sqrt()).div(2)},n),t.pi=i(function(e){var t=e.constructor({precision:e.precision+4}),r=new t(4).times(a(new t(1).div(5))).minus(a(new t(1).div(239)));return new e(4).times(r)},n),t.tau=i(function(e){var r=t.pi(e.constructor({precision:e.precision+2}));return new e(2).times(r)},n)},function(e,t){e.exports=function(e){for(var t=e,r=NaN,n=e.times(e),i=e,a=!0,o=3;!t.equals(r);o+=2)i=i.times(n),r=t,a=!a,t=a?t.plus(i.div(o)):t.minus(i.div(o));return t}},function(e,t){e.exports=\"2.4.1\"},function(e,t,r){e.exports=[r(81),r(251),r(275),r(276),r(311),r(253),r(274)]},function(e,t,r){function n(e,t,n,i){var a={};return a.bignumber=r(82),a[\"boolean\"]=r(83),a.complex=r(84),a.fraction=r(85),a.index=r(86),a.matrix=r(87),a.number=r(88),a.sparse=r(89),a.string=r(90),a.unit=r(91),a.e=r(92),a.E=r(92),a[\"false\"]=r(93),a.i=r(94),a.Infinity=r(95),a.LN2=r(96),a.LN10=r(97),a.LOG2E=r(98),a.LOG10E=r(99),a.NaN=r(100),a[\"null\"]=r(101),a.pi=r(102),a.PI=r(102),a.phi=r(103),a.SQRT1_2=r(104),a.SQRT2=r(105),a.tau=r(106),a[\"true\"]=r(107),a.version=r(108),a.speedOfLight={description:\"Speed of light in vacuum\",examples:[\"speedOfLight\"]},a.gravitationConstant={description:\"Newtonian constant of gravitation\",examples:[\"gravitationConstant\"]},a.planckConstant={description:\"Planck constant\",examples:[\"planckConstant\"]},a.reducedPlanckConstant={description:\"Reduced Planck constant\",examples:[\"reducedPlanckConstant\"]},a.magneticConstant={description:\"Magnetic constant (vacuum permeability)\",examples:[\"magneticConstant\"]},a.electricConstant={description:\"Electric constant (vacuum permeability)\",examples:[\"electricConstant\"]},a.vacuumImpedance={description:\"Characteristic impedance of vacuum\",examples:[\"vacuumImpedance\"]},a.coulomb={description:\"Coulomb's constant\",examples:[\"coulomb\"]},a.elementaryCharge={description:\"Elementary charge\",examples:[\"elementaryCharge\"]},a.bohrMagneton={description:\"Borh magneton\",examples:[\"bohrMagneton\"]},a.conductanceQuantum={description:\"Conductance quantum\",examples:[\"conductanceQuantum\"]},a.inverseConductanceQuantum={description:\"Inverse conductance quantum\",examples:[\"inverseConductanceQuantum\"]},a.magneticFluxQuantum={description:\"Magnetic flux quantum\",examples:[\"magneticFluxQuantum\"]},a.nuclearMagneton={description:\"Nuclear magneton\",examples:[\"nuclearMagneton\"]},a.klitzing={description:\"Von Klitzing constant\",examples:[\"klitzing\"]},a.bohrRadius={description:\"Borh radius\",examples:[\"bohrRadius\"]},a.classicalElectronRadius={description:\"Classical electron radius\",examples:[\"classicalElectronRadius\"]},a.electronMass={description:\"Electron mass\",examples:[\"electronMass\"]},a.fermiCoupling={description:\"Fermi coupling constant\",examples:[\"fermiCoupling\"]},a.fineStructure={description:\"Fine-structure constant\",examples:[\"fineStructure\"]},a.hartreeEnergy={description:\"Hartree energy\",examples:[\"hartreeEnergy\"]},a.protonMass={description:\"Proton mass\",examples:[\"protonMass\"]},a.deuteronMass={description:\"Deuteron Mass\",examples:[\"deuteronMass\"]},a.neutronMass={description:\"Neutron mass\",examples:[\"neutronMass\"]},a.quantumOfCirculation={description:\"Quantum of circulation\",examples:[\"quantumOfCirculation\"]},a.rydberg={description:\"Rydberg constant\",examples:[\"rydberg\"]},a.thomsonCrossSection={description:\"Thomson cross section\",examples:[\"thomsonCrossSection\"]},a.weakMixingAngle={description:\"Weak mixing angle\",examples:[\"weakMixingAngle\"]},a.efimovFactor={description:\"Efimov factor\",examples:[\"efimovFactor\"]},a.atomicMass={description:\"Atomic mass constant\",examples:[\"atomicMass\"]},a.avogadro={description:\"Avogadro's number\",examples:[\"avogadro\"]},a.boltzmann={description:\"Boltzmann constant\",examples:[\"boltzmann\"]},a.faraday={description:\"Faraday constant\",examples:[\"faraday\"]},a.firstRadiation={description:\"First radiation constant\",examples:[\"firstRadiation\"]},a.loschmidt={description:\"Loschmidt constant at T=273.15 K and p=101.325 kPa\",examples:[\"loschmidt\"]},a.gasConstant={description:\"Gas constant\",examples:[\"gasConstant\"]},a.molarPlanckConstant={description:\"Molar Planck constant\",examples:[\"molarPlanckConstant\"]},a.molarVolume={description:\"Molar volume of an ideal gas at T=273.15 K and p=101.325 kPa\",examples:[\"molarVolume\"]},a.sackurTetrode={description:\"Sackur-Tetrode constant at T=1 K and p=101.325 kPa\",examples:[\"sackurTetrode\"]},a.secondRadiation={description:\"Second radiation constant\",examples:[\"secondRadiation\"]},a.stefanBoltzmann={description:\"Stefan-Boltzmann constant\",examples:[\"stefanBoltzmann\"]},a.wienDisplacement={description:\"Wien displacement law constant\",examples:[\"wienDisplacement\"]},a.molarMass={description:\"Molar mass constant\",examples:[\"molarMass\"]},a.molarMassC12={description:\"Molar mass constant of carbon-12\",examples:[\"molarMassC12\"]},a.gravity={description:\"Standard acceleration of gravity (standard acceleration of free-fall on Earth)\",examples:[\"gravity\"]},a.planckLength={description:\"Planck length\",examples:[\"planckLength\"]},a.planckMass={description:\"Planck mass\",examples:[\"planckMass\"]},a.planckTime={description:\"Planck time\",examples:[\"planckTime\"]},a.planckCharge={description:\"Planck charge\",examples:[\"planckCharge\"]},a.planckTemperature={description:\"Planck temperature\",examples:[\"planckTemperature\"]},a.lsolve=r(109),a.lup=r(110),a.lusolve=r(111),a.slu=r(112),a.usolve=r(113),a.abs=r(114),a.add=r(115),a.cbrt=r(116),a.ceil=r(117),a.cube=r(118),a.divide=r(119),a.dotDivide=r(120),a.dotMultiply=r(121),a.dotPow=r(122),a.exp=r(123),a.fix=r(124),a.floor=r(125),a.gcd=r(126),a.hypot=r(127),a.lcm=r(128),a.log=r(129),a.log10=r(130),a.mod=r(131),a.multiply=r(132),a.norm=r(133),a.nthRoot=r(134),a.pow=r(135),a.round=r(136),a.sign=r(137),a.sqrt=r(138),\na.square=r(139),a.subtract=r(140),a.unaryMinus=r(141),a.unaryPlus=r(142),a.xgcd=r(143),a.bitAnd=r(144),a.bitNot=r(145),a.bitOr=r(146),a.bitXor=r(147),a.leftShift=r(148),a.rightArithShift=r(149),a.rightLogShift=r(150),a.bellNumbers=r(151),a.catalan=r(152),a.composition=r(153),a.stirlingS2=r(154),a.arg=r(155),a.conj=r(156),a.re=r(157),a.im=r(158),a.eval=r(159),a.help=r(160),a.distance=r(161),a.intersect=r(162),a.and=r(163),a.not=r(164),a.or=r(165),a.xor=r(166),a.concat=r(167),a.cross=r(168),a.det=r(169),a.diag=r(170),a.dot=r(171),a.eye=r(172),a.flatten=r(173),a.inv=r(174),a.ones=r(175),a.range=r(176),a.resize=r(177),a.size=r(178),a.squeeze=r(179),a.subset=r(180),a.trace=r(181),a.transpose=r(182),a.zeros=r(183),a.combinations=r(184),a.factorial=r(185),a.gamma=r(186),a.kldivergence=r(187),a.multinomial=r(188),a.permutations=r(189),a.pickRandom=r(190),a.random=r(191),a.randomInt=r(192),a.compare=r(193),a.deepEqual=r(194),a.equal=r(195),a.larger=r(196),a.largerEq=r(197),a.smaller=r(198),a.smallerEq=r(199),a.unequal=r(200),a.max=r(201),a.mean=r(202),a.median=r(203),a.min=r(204),a.mode=r(205),a.prod=r(206),a.quantileSeq=r(207),a.std=r(208),a.sum=r(209),a[\"var\"]=r(210),a.acos=r(211),a.acosh=r(212),a.acot=r(213),a.acoth=r(214),a.acsc=r(215),a.acsch=r(216),a.asec=r(217),a.asech=r(218),a.asin=r(219),a.asinh=r(220),a.atan=r(221),a.atanh=r(222),a.atan2=r(223),a.cos=r(224),a.cosh=r(225),a.cot=r(226),a.coth=r(227),a.csc=r(228),a.csch=r(229),a.sec=r(230),a.sech=r(231),a.sin=r(232),a.sinh=r(233),a.tan=r(234),a.tanh=r(235),a.to=r(236),a.clone=r(237),a.map=r(238),a.partitionSelect=r(239),a.filter=r(240),a.forEach=r(241),a.format=r(242),a.isInteger=r(243),a.isNegative=r(244),a.isNumeric=r(245),a.isPositive=r(246),a.isZero=r(247),a[\"import\"]=r(248),a.sort=r(249),a[\"typeof\"]=r(250),a}t.name=\"docs\",t.path=\"expression\",t.factory=n},function(e,t){e.exports={name:\"bignumber\",category:\"Type\",syntax:[\"bignumber(x)\"],description:\"Create a big number from a number or string.\",examples:[\"0.1 + 0.2\",\"bignumber(0.1) + bignumber(0.2)\",'bignumber(\"7.2\")','bignumber(\"7.2e500\")',\"bignumber([0.1, 0.2, 0.3])\"],seealso:[\"boolean\",\"complex\",\"fraction\",\"index\",\"matrix\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"boolean\",category:\"Type\",syntax:[\"x\",\"boolean(x)\"],description:\"Convert a string or number into a boolean.\",examples:[\"boolean(0)\",\"boolean(1)\",\"boolean(3)\",'boolean(\"true\")','boolean(\"false\")',\"boolean([1, 0, 1, 1])\"],seealso:[\"bignumber\",\"complex\",\"index\",\"matrix\",\"number\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"complex\",category:\"Type\",syntax:[\"complex()\",\"complex(re, im)\",\"complex(string)\"],description:\"Create a complex number.\",examples:[\"complex()\",\"complex(2, 3)\",'complex(\"7 - 2i\")'],seealso:[\"bignumber\",\"boolean\",\"index\",\"matrix\",\"number\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"fraction\",category:\"Type\",syntax:[\"fraction(num)\",\"fraction(num,den)\"],description:\"Create a fraction from a number or from a numerator and denominator.\",examples:[\"fraction(0.125)\",\"fraction(1, 3) + fraction(2, 5)\"],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"matrix\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"index\",category:\"Type\",syntax:[\"[start]\",\"[start:end]\",\"[start:step:end]\",\"[start1, start 2, ...]\",\"[start1:end1, start2:end2, ...]\",\"[start1:step1:end1, start2:step2:end2, ...]\"],description:\"Create an index to get or replace a subset of a matrix\",examples:[\"[]\",\"[1, 2, 3]\",\"A = [1, 2, 3; 4, 5, 6]\",\"A[1, :]\",\"A[1, 2] = 50\",\"A[0:2, 0:2] = ones(2, 2)\"],seealso:[\"bignumber\",\"boolean\",\"complex\",\"matrix,\",\"number\",\"range\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"matrix\",category:\"Type\",syntax:[\"[]\",\"[a1, b1, ...; a2, b2, ...]\",\"matrix()\",'matrix(\"dense\")',\"matrix([...])\"],description:\"Create a matrix.\",examples:[\"[]\",\"[1, 2, 3]\",\"[1, 2, 3; 4, 5, 6]\",\"matrix()\",\"matrix([3, 4])\",'matrix([3, 4; 5, 6], \"sparse\")','matrix([3, 4; 5, 6], \"sparse\", \"number\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"number\",\"string\",\"unit\",\"sparse\"]}},function(e,t){e.exports={name:\"number\",category:\"Type\",syntax:[\"x\",\"number(x)\"],description:\"Create a number or convert a string or boolean into a number.\",examples:[\"2\",\"2e3\",\"4.05\",\"number(2)\",'number(\"7.2\")',\"number(true)\",\"number([true, false, true, true])\",'number(\"52cm\", \"m\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"fraction\",\"index\",\"matrix\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"sparse\",category:\"Type\",syntax:[\"sparse()\",\"sparse([a1, b1, ...; a1, b2, ...])\",'sparse([a1, b1, ...; a1, b2, ...], \"number\")'],description:\"Create a sparse matrix.\",examples:[\"sparse()\",\"sparse([3, 4; 5, 6])\",'sparse([3, 0; 5, 0], \"number\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"number\",\"string\",\"unit\",\"matrix\"]}},function(e,t){e.exports={name:\"string\",category:\"Type\",syntax:['\"text\"',\"string(x)\"],description:\"Create a string or convert a value to a string\",examples:['\"Hello World!\"',\"string(4.2)\",\"string(3 + 2i)\"],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"matrix\",\"number\",\"unit\"]}},function(e,t){e.exports={name:\"unit\",category:\"Type\",syntax:[\"value unit\",\"unit(value, unit)\",\"unit(string)\"],description:\"Create a unit.\",examples:[\"5.5 mm\",\"3 inch\",'unit(7.1, \"kilogram\")','unit(\"23 deg\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"matrix\",\"number\",\"string\"]}},function(e,t){e.exports={name:\"e\",category:\"Constants\",syntax:[\"e\"],description:\"Euler's number, the base of the natural logarithm. Approximately equal to 2.71828\",examples:[\"e\",\"e ^ 2\",\"exp(2)\",\"log(e)\"],seealso:[\"exp\"]}},function(e,t){e.exports={name:\"false\",category:\"Constants\",syntax:[\"false\"],description:\"Boolean value false\",examples:[\"false\"],seealso:[\"true\"]}},function(e,t){e.exports={name:\"i\",category:\"Constants\",syntax:[\"i\"],description:\"Imaginary unit, defined as i*i=-1. A complex number is described as a + b*i, where a is the real part, and b is the imaginary part.\",examples:[\"i\",\"i * i\",\"sqrt(-1)\"],seealso:[]}},function(e,t){e.exports={name:\"Infinity\",category:\"Constants\",syntax:[\"Infinity\"],description:\"Infinity, a number which is larger than the maximum number that can be handled by a floating point number.\",examples:[\"Infinity\",\"1 / 0\"],seealso:[]}},function(e,t){e.exports={name:\"LN2\",category:\"Constants\",syntax:[\"LN2\"],description:\"Returns the natural logarithm of 2, approximately equal to 0.693\",examples:[\"LN2\",\"log(2)\"],seealso:[]}},function(e,t){e.exports={name:\"LN10\",category:\"Constants\",syntax:[\"LN10\"],description:\"Returns the natural logarithm of 10, approximately equal to 2.302\",examples:[\"LN10\",\"log(10)\"],seealso:[]}},function(e,t){e.exports={name:\"LOG2E\",category:\"Constants\",syntax:[\"LOG2E\"],description:\"Returns the base-2 logarithm of E, approximately equal to 1.442\",examples:[\"LOG2E\",\"log(e, 2)\"],seealso:[]}},function(e,t){e.exports={name:\"LOG10E\",category:\"Constants\",syntax:[\"LOG10E\"],description:\"Returns the base-10 logarithm of E, approximately equal to 0.434\",examples:[\"LOG10E\",\"log(e, 10)\"],seealso:[]}},function(e,t){e.exports={name:\"NaN\",category:\"Constants\",syntax:[\"NaN\"],description:\"Not a number\",examples:[\"NaN\",\"0 / 0\"],seealso:[]}},function(e,t){e.exports={name:\"null\",category:\"Constants\",syntax:[\"null\"],description:\"Value null\",examples:[\"null\"],seealso:[\"true\",\"false\"]}},function(e,t){e.exports={name:\"pi\",category:\"Constants\",syntax:[\"pi\"],description:\"The number pi is a mathematical constant that is the ratio of a circle's circumference to its diameter, and is approximately equal to 3.14159\",examples:[\"pi\",\"sin(pi/2)\"],seealso:[\"tau\"]}},function(e,t){e.exports={name:\"phi\",category:\"Constants\",syntax:[\"phi\"],description:\"Phi is the golden ratio. Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Phi is defined as `(1 + sqrt(5)) / 2` and is approximately 1.618034...\",examples:[\"tau\"],seealso:[]}},function(e,t){e.exports={name:\"SQRT1_2\",category:\"Constants\",syntax:[\"SQRT1_2\"],description:\"Returns the square root of 1/2, approximately equal to 0.707\",examples:[\"SQRT1_2\",\"sqrt(1/2)\"],seealso:[]}},function(e,t){e.exports={name:\"SQRT2\",category:\"Constants\",syntax:[\"SQRT2\"],description:\"Returns the square root of 2, approximately equal to 1.414\",examples:[\"SQRT2\",\"sqrt(2)\"],seealso:[]}},function(e,t){e.exports={name:\"tau\",category:\"Constants\",syntax:[\"tau\"],description:\"Tau is the ratio constant of a circle's circumference to radius, equal to 2 * pi, approximately 6.2832.\",examples:[\"tau\",\"2 * pi\"],seealso:[\"pi\"]}},function(e,t){e.exports={name:\"true\",category:\"Constants\",syntax:[\"true\"],description:\"Boolean value true\",examples:[\"true\"],seealso:[\"false\"]}},function(e,t){e.exports={name:\"version\",category:\"Constants\",syntax:[\"version\"],description:\"A string with the version number of math.js\",examples:[\"version\"],seealso:[]}},function(e,t){e.exports={name:\"lsolve\",category:\"Algebra\",syntax:[\"x=lsolve(L, b)\"],description:\"Solves the linear system L * x = b where L is an [n x n] lower triangular matrix and b is a [n] column vector.\",examples:[\"a = [-2, 3; 2, 1]\",\"b = [11, 9]\",\"x = lsolve(a, b)\"],seealso:[\"lup\",\"lusolve\",\"usolve\",\"matrix\",\"sparse\"]}},function(e,t){e.exports={name:\"lup\",category:\"Algebra\",syntax:[\"lup(m)\"],description:\"Calculate the Matrix LU decomposition with partial pivoting. Matrix A is decomposed in three matrices (L, U, P) where P * A = L * U\",examples:[\"lup([[2, 1], [1, 4]])\",\"lup(matrix([[2, 1], [1, 4]]))\",\"lup(sparse([[2, 1], [1, 4]]))\"],seealso:[\"lusolve\",\"lsolve\",\"usolve\",\"matrix\",\"sparse\",\"slu\"]}},function(e,t){e.exports={name:\"lusolve\",category:\"Algebra\",syntax:[\"x=lusolve(A, b)\",\"x=lusolve(lu, b)\"],description:\"Solves the linear system A * x = b where A is an [n x n] matrix and b is a [n] column vector.\",examples:[\"a = [-2, 3; 2, 1]\",\"b = [11, 9]\",\"x = lusolve(a, b)\"],seealso:[\"lup\",\"slu\",\"lsolve\",\"usolve\",\"matrix\",\"sparse\"]}},function(e,t){e.exports={name:\"slu\",category:\"Algebra\",syntax:[\"slu(A, order, threshold)\"],description:\"Calculate the Matrix LU decomposition with full pivoting. Matrix A is decomposed in two matrices (L, U) and two permutation vectors (pinv, q) where P * A * Q = L * U\",examples:[\"slu(sparse([4.5, 0, 3.2, 0; 3.1, 2.9, 0, 0.9; 0, 1.7, 3, 0; 3.5, 0.4, 0, 1]), 1, 0.001)\"],seealso:[\"lusolve\",\"lsolve\",\"usolve\",\"matrix\",\"sparse\",\"lup\"]}},function(e,t){e.exports={name:\"usolve\",category:\"Algebra\",syntax:[\"x=usolve(U, b)\"],description:\"Solves the linear system U * x = b where U is an [n x n] upper triangular matrix and b is a [n] column vector.\",examples:[\"x=usolve(sparse([1, 1, 1, 1; 0, 1, 1, 1; 0, 0, 1, 1; 0, 0, 0, 1]), [1; 2; 3; 4])\"],seealso:[\"lup\",\"lusolve\",\"lsolve\",\"matrix\",\"sparse\"]}},function(e,t){e.exports={name:\"abs\",category:\"Arithmetic\",syntax:[\"abs(x)\"],description:\"Compute the absolute value.\",examples:[\"abs(3.5)\",\"abs(-4.2)\"],seealso:[\"sign\"]}},function(e,t){e.exports={name:\"add\",category:\"Operators\",syntax:[\"x + y\",\"add(x, y)\"],description:\"Add two values.\",examples:[\"a = 2.1 + 3.6\",\"a - 3.6\",\"3 + 2i\",\"3 cm + 2 inch\",'\"2.3\" + \"4\"'],seealso:[\"subtract\"]}},function(e,t){e.exports={name:\"cbrt\",category:\"Arithmetic\",syntax:[\"cbrt(x)\",\"cbrt(x, allRoots)\"],description:\"Compute the cubic root value. If x = y * y * y, then y is the cubic root of x. When `x` is a number or complex number, an optional second argument `allRoots` can be provided to return all three cubic roots. If not provided, the principal root is returned\",examples:[\"cbrt(64)\",\"cube(4)\",\"cbrt(-8)\",\"cbrt(2 + 3i)\",\"cbrt(8i)\",\"cbrt(8i, true)\",\"cbrt(27 m^3)\"],seealso:[\"square\",\"sqrt\",\"cube\",\"multiply\"]}},function(e,t){e.exports={name:\"ceil\",category:\"Arithmetic\",syntax:[\"ceil(x)\"],description:\"Round a value towards plus infinity. If x is complex, both real and imaginary part are rounded towards plus infinity.\",examples:[\"ceil(3.2)\",\"ceil(3.8)\",\"ceil(-4.2)\"],seealso:[\"floor\",\"fix\",\"round\"]}},function(e,t){e.exports={name:\"cube\",category:\"Arithmetic\",syntax:[\"cube(x)\"],description:\"Compute the cube of a value. The cube of x is x * x * x.\",examples:[\"cube(2)\",\"2^3\",\"2 * 2 * 2\"],seealso:[\"multiply\",\"square\",\"pow\"]}},function(e,t){e.exports={name:\"divide\",category:\"Operators\",syntax:[\"x / y\",\"divide(x, y)\"],description:\"Divide two values.\",examples:[\"a = 2 / 3\",\"a * 3\",\"4.5 / 2\",\"3 + 4 / 2\",\"(3 + 4) / 2\",\"18 km / 4.5\"],seealso:[\"multiply\"]}},function(e,t){e.exports={name:\"dotDivide\",category:\"Operators\",syntax:[\"x ./ y\",\"dotDivide(x, y)\"],description:\"Divide two values element wise.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"b = [2, 1, 1; 3, 2, 5]\",\"a ./ b\"],seealso:[\"multiply\",\"dotMultiply\",\"divide\"]}},function(e,t){e.exports={name:\"dotMultiply\",category:\"Operators\",syntax:[\"x .* y\",\"dotMultiply(x, y)\"],description:\"Multiply two values element wise.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"b = [2, 1, 1; 3, 2, 5]\",\"a .* b\"],seealso:[\"multiply\",\"divide\",\"dotDivide\"]}},function(e,t){e.exports={name:\"dotpow\",category:\"Operators\",syntax:[\"x .^ y\",\"dotpow(x, y)\"],description:\"Calculates the power of x to y element wise.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"a .^ 2\"],seealso:[\"pow\"]}},function(e,t){e.exports={name:\"exp\",category:\"Arithmetic\",syntax:[\"exp(x)\"],description:\"Calculate the exponent of a value.\",examples:[\"exp(1.3)\",\"e ^ 1.3\",\"log(exp(1.3))\",\"x = 2.4\",\"(exp(i*x) == cos(x) + i*sin(x)) # Euler's formula\"],seealso:[\"pow\",\"log\"]}},function(e,t){e.exports={name:\"fix\",category:\"Arithmetic\",syntax:[\"fix(x)\"],description:\"Round a value towards zero. If x is complex, both real and imaginary part are rounded towards zero.\",examples:[\"fix(3.2)\",\"fix(3.8)\",\"fix(-4.2)\",\"fix(-4.8)\"],seealso:[\"ceil\",\"floor\",\"round\"]}},function(e,t){e.exports={name:\"floor\",category:\"Arithmetic\",syntax:[\"floor(x)\"],description:\"Round a value towards minus infinity.If x is complex, both real and imaginary part are rounded towards minus infinity.\",examples:[\"floor(3.2)\",\"floor(3.8)\",\"floor(-4.2)\"],seealso:[\"ceil\",\"fix\",\"round\"]}},function(e,t){e.exports={name:\"gcd\",category:\"Arithmetic\",syntax:[\"gcd(a, b)\",\"gcd(a, b, c, ...)\"],description:\"Compute the greatest common divisor.\",examples:[\"gcd(8, 12)\",\"gcd(-4, 6)\",\"gcd(25, 15, -10)\"],seealso:[\"lcm\",\"xgcd\"]}},function(e,t){e.exports={name:\"hypot\",category:\"Arithmetic\",syntax:[\"hypot(a, b, c, ...)\",\"hypot([a, b, c, ...])\"],description:\"Calculate the hypotenusa of a list with values. \",examples:[\"hypot(3, 4)\",\"sqrt(3^2 + 4^2)\",\"hypot(-2)\",\"hypot([3, 4, 5])\"],seealso:[\"abs\",\"norm\"]}},function(e,t){e.exports={name:\"lcm\",category:\"Arithmetic\",syntax:[\"lcm(x, y)\"],description:\"Compute the least common multiple.\",examples:[\"lcm(4, 6)\",\"lcm(6, 21)\",\"lcm(6, 21, 5)\"],seealso:[\"gcd\"]}},function(e,t){e.exports={name:\"log\",category:\"Arithmetic\",syntax:[\"log(x)\",\"log(x, base)\"],description:\"Compute the logarithm of a value. If no base is provided, the natural logarithm of x is calculated. If base if provided, the logarithm is calculated for the specified base. log(x, base) is defined as log(x) / log(base).\",examples:[\"log(3.5)\",\"a = log(2.4)\",\"exp(a)\",\"10 ^ 4\",\"log(10000, 10)\",\"log(10000) / log(10)\",\"b = log(1024, 2)\",\"2 ^ b\"],seealso:[\"exp\",\"log10\"]}},function(e,t){e.exports={name:\"log10\",category:\"Arithmetic\",syntax:[\"log10(x)\"],description:\"Compute the 10-base logarithm of a value.\",examples:[\"log10(0.00001)\",\"log10(10000)\",\"10 ^ 4\",\"log(10000) / log(10)\",\"log(10000, 10)\"],seealso:[\"exp\",\"log\"]}},function(e,t){e.exports={name:\"mod\",category:\"Operators\",syntax:[\"x % y\",\"x mod y\",\"mod(x, y)\"],description:\"Calculates the modulus, the remainder of an integer division.\",examples:[\"7 % 3\",\"11 % 2\",\"10 mod 4\",\"function isOdd(x) = x % 2\",\"isOdd(2)\",\"isOdd(3)\"],seealso:[\"divide\"]}},function(e,t){e.exports={name:\"multiply\",category:\"Operators\",syntax:[\"x * y\",\"multiply(x, y)\"],description:\"multiply two values.\",examples:[\"a = 2.1 * 3.4\",\"a / 3.4\",\"2 * 3 + 4\",\"2 * (3 + 4)\",\"3 * 2.1 km\"],seealso:[\"divide\"]}},function(e,t){e.exports={name:\"norm\",category:\"Arithmetic\",syntax:[\"norm(x)\",\"norm(x, p)\"],description:\"Calculate the norm of a number, vector or matrix.\",examples:[\"abs(-3.5)\",\"norm(-3.5)\",\"norm(3 - 4i))\",\"norm([1, 2, -3], Infinity)\",\"norm([1, 2, -3], -Infinity)\",\"norm([3, 4], 2)\",\"norm([[1, 2], [3, 4]], 1)\",\"norm([[1, 2], [3, 4]], 'inf')\",\"norm([[1, 2], [3, 4]], 'fro')\"]}},function(e,t){e.exports={name:\"nthRoot\",category:\"Arithmetic\",syntax:[\"nthRoot(a)\",\"nthRoot(a, root)\"],description:'Calculate the nth root of a value. The principal nth root of a positive real number A, is the positive real solution of the equation \"x^root = A\".',examples:[\"4 ^ 3\",\"nthRoot(64, 3)\",\"nthRoot(9, 2)\",\"sqrt(9)\"],seealso:[\"sqrt\",\"pow\"]}},function(e,t){e.exports={name:\"pow\",category:\"Operators\",syntax:[\"x ^ y\",\"pow(x, y)\"],description:\"Calculates the power of x to y, x^y.\",examples:[\"2^3 = 8\",\"2*2*2\",\"1 + e ^ (pi * i)\"],seealso:[\"multiply\"]}},function(e,t){e.exports={name:\"round\",category:\"Arithmetic\",syntax:[\"round(x)\",\"round(x, n)\"],description:\"round a value towards the nearest integer.If x is complex, both real and imaginary part are rounded towards the nearest integer. When n is specified, the value is rounded to n decimals.\",examples:[\"round(3.2)\",\"round(3.8)\",\"round(-4.2)\",\"round(-4.8)\",\"round(pi, 3)\",\"round(123.45678, 2)\"],seealso:[\"ceil\",\"floor\",\"fix\"]}},function(e,t){e.exports={name:\"sign\",category:\"Arithmetic\",syntax:[\"sign(x)\"],description:\"Compute the sign of a value. The sign of a value x is 1 when x>1, -1 when x<0, and 0 when x=0.\",examples:[\"sign(3.5)\",\"sign(-4.2)\",\"sign(0)\"],seealso:[\"abs\"]}},function(e,t){e.exports={name:\"sqrt\",category:\"Arithmetic\",syntax:[\"sqrt(x)\"],description:\"Compute the square root value. If x = y * y, then y is the square root of x.\",examples:[\"sqrt(25)\",\"5 * 5\",\"sqrt(-1)\"],seealso:[\"square\",\"multiply\"]}},function(e,t){e.exports={name:\"square\",category:\"Arithmetic\",syntax:[\"square(x)\"],description:\"Compute the square of a value. The square of x is x * x.\",examples:[\"square(3)\",\"sqrt(9)\",\"3^2\",\"3 * 3\"],seealso:[\"multiply\",\"pow\",\"sqrt\",\"cube\"]}},function(e,t){e.exports={name:\"subtract\",category:\"Operators\",syntax:[\"x - y\",\"subtract(x, y)\"],description:\"subtract two values.\",examples:[\"a = 5.3 - 2\",\"a + 2\",\"2/3 - 1/6\",\"2 * 3 - 3\",\"2.1 km - 500m\"],seealso:[\"add\"]}},function(e,t){e.exports={name:\"unaryMinus\",category:\"Operators\",syntax:[\"-x\",\"unaryMinus(x)\"],description:\"Inverse the sign of a value. Converts booleans and strings to numbers.\",examples:[\"-4.5\",\"-(-5.6)\",'-\"22\"'],seealso:[\"add\",\"subtract\",\"unaryPlus\"]}},function(e,t){e.exports={name:\"unaryPlus\",category:\"Operators\",syntax:[\"+x\",\"unaryPlus(x)\"],description:\"Converts booleans and strings to numbers.\",examples:[\"+true\",'+\"2\"'],seealso:[\"add\",\"subtract\",\"unaryMinus\"]}},function(e,t){e.exports={name:\"xgcd\",category:\"Arithmetic\",syntax:[\"xgcd(a, b)\"],description:\"Calculate the extended greatest common divisor for two values\",examples:[\"xgcd(8, 12)\",\"gcd(8, 12)\",\"xgcd(36163, 21199)\"],seealso:[\"gcd\",\"lcm\"]}},function(e,t){e.exports={name:\"bitAnd\",category:\"Bitwise\",syntax:[\"x & y\",\"bitAnd(x, y)\"],description:\"Bitwise AND operation. Performs the logical AND operation on each pair of the corresponding bits of the two given values by multiplying them. If both bits in the compared position are 1, the bit in the resulting binary representation is 1, otherwise, the result is 0\",examples:[\"5 & 3\",\"bitAnd(53, 131)\",\"[1, 12, 31] & 42\"],seealso:[\"bitNot\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"bitNot\",category:\"Bitwise\",syntax:[\"~x\",\"bitNot(x)\"],description:\"Bitwise NOT operation. Performs a logical negation on each bit of the given value. Bits that are 0 become 1, and those that are 1 become 0.\",examples:[\"~1\",\"~2\",\"bitNot([2, -3, 4])\"],seealso:[\"bitAnd\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"bitOr\",category:\"Bitwise\",syntax:[\"x | y\",\"bitOr(x, y)\"],description:\"Bitwise OR operation. Performs the logical inclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if the first bit is 1 or the second bit is 1 or both bits are 1, otherwise, the result is 0.\",examples:[\"5 | 3\",\"bitOr([1, 2, 3], 4)\"],seealso:[\"bitAnd\",\"bitNot\",\"bitXor\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"bitXor\",category:\"Bitwise\",syntax:[\"bitXor(x, y)\"],description:\"Bitwise XOR operation, exclusive OR. Performs the logical exclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1.\",examples:[\"bitOr(1, 2)\",\"bitXor([2, 3, 4], 4)\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"leftShift\",category:\"Bitwise\",syntax:[\"x << y\",\"leftShift(x, y)\"],description:\"Bitwise left logical shift of a value x by y number of bits.\",examples:[\"4 << 1\",\"8 >> 1\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"bitXor\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"rightArithShift\",category:\"Bitwise\",syntax:[\"x >> y\",\"leftShift(x, y)\"],description:\"Bitwise right arithmetic shift of a value x by y number of bits.\",examples:[\"8 >> 1\",\"4 << 1\",\"-12 >> 2\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"rightLogShift\",category:\"Bitwise\",syntax:[\"x >> y\",\"leftShift(x, y)\"],description:\"Bitwise right logical shift of a value x by y number of bits.\",examples:[\"8 >>> 1\",\"4 << 1\",\"-12 >>> 2\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightArithShift\"]}},function(e,t){e.exports={name:\"bellNumbers\",category:\"Combinatorics\",syntax:[\"bellNumbers(n)\"],description:\"The Bell Numbers count the number of partitions of a set. A partition is a pairwise disjoint subset of S whose union is S. `bellNumbers` only takes integer arguments. The following condition must be enforced: n >= 0.\",examples:[\"bellNumbers(3)\",\"bellNumbers(8)\"],seealso:[\"stirlingS2\"]}},function(e,t){e.exports={name:\"catalan\",category:\"Combinatorics\",syntax:[\"catalan(n)\"],description:\"The Catalan Numbers enumerate combinatorial structures of many different types. catalan only takes integer arguments. The following condition must be enforced: n >= 0.\",examples:[\"catalan(3)\",\"catalan(8)\"],seealso:[\"bellNumbers\"]}},function(e,t){e.exports={name:\"composition\",category:\"Combinatorics\",syntax:[\"composition(n, k)\"],description:\"The composition counts of n into k parts. composition only takes integer arguments. The following condition must be enforced: k <= n.\",examples:[\"composition(5, 3)\"],seealso:[\"combinations\"]}},function(e,t){e.exports={name:\"stirlingS2\",category:\"Combinatorics\",syntax:[\"stirlingS2(n, k)\"],description:\"he Stirling numbers of the second kind, counts the number of ways to partition a set of n labelled objects into k nonempty unlabelled subsets. `stirlingS2` only takes integer arguments. The following condition must be enforced: k <= n. If n = k or k = 1, then s(n,k) = 1.\",examples:[\"stirlingS2(5, 3)\"],seealso:[\"bellNumbers\"]}},function(e,t){e.exports={name:\"arg\",category:\"Complex\",syntax:[\"arg(x)\"],description:\"Compute the argument of a complex value. If x = a+bi, the argument is computed as atan2(b, a).\",examples:[\"arg(2 + 2i)\",\"atan2(3, 2)\",\"arg(2 + 3i)\"],seealso:[\"re\",\"im\",\"conj\",\"abs\"]}},function(e,t){e.exports={name:\"conj\",category:\"Complex\",syntax:[\"conj(x)\"],description:\"Compute the complex conjugate of a complex value. If x = a+bi, the complex conjugate is a-bi.\",examples:[\"conj(2 + 3i)\",\"conj(2 - 3i)\",\"conj(-5.2i)\"],seealso:[\"re\",\"im\",\"abs\",\"arg\"]}},function(e,t){e.exports={name:\"re\",category:\"Complex\",syntax:[\"re(x)\"],description:\"Get the real part of a complex number.\",examples:[\"re(2 + 3i)\",\"im(2 + 3i)\",\"re(-5.2i)\",\"re(2.4)\"],seealso:[\"im\",\"conj\",\"abs\",\"arg\"]}},function(e,t){e.exports={name:\"im\",category:\"Complex\",syntax:[\"im(x)\"],description:\"Get the imaginary part of a complex number.\",examples:[\"im(2 + 3i)\",\"re(2 + 3i)\",\"im(-5.2i)\",\"im(2.4)\"],seealso:[\"re\",\"conj\",\"abs\",\"arg\"]}},function(e,t){e.exports={name:\"eval\",category:\"Expression\",syntax:[\"eval(expression)\",\"eval([expr1, expr2, expr3, ...])\"],description:\"Evaluate an expression or an array with expressions.\",examples:['eval(\"2 + 3\")','eval(\"sqrt(\" + 4 + \")\")'],seealso:[]}},function(e,t){e.exports={name:\"help\",category:\"Expression\",syntax:[\"help(object)\",\"help(string)\"],description:\"Display documentation on a function or data type.\",examples:[\"help(sqrt)\",'help(\"complex\")'],seealso:[]}},function(e,t){e.exports={name:\"distance\",category:\"Geometry\",syntax:[\"distance([x1, y1], [x2, y2])\",\"distance([[x1, y1], [x2, y2])\"],description:\"Calculates the Euclidean distance between two points.\",examples:[\"distance([0,0], [4,4])\",\"distance([[0,0], [4,4]])\"],seealso:[]}},function(e,t){e.exports={name:\"intersect\",category:\"Geometry\",syntax:[\"intersect(expr1, expr2, expr3, expr4)\",\"intersect(expr1, expr2, expr3)\"],description:\"Computes the intersection point of lines and/or planes.\",examples:[\"intersect([0, 0], [10, 10], [10, 0], [0, 10])\",\"intersect([1, 0, 1], [4, -2, 2], [1, 1, 1, 6])\"],seealso:[]}},function(e,t){e.exports={name:\"and\",category:\"Logical\",syntax:[\"x and y\",\"and(x, y)\"],description:\"Logical and. Test whether two values are both defined with a nonzero/nonempty value.\",examples:[\"true and false\",\"true and true\",\"2 and 4\"],seealso:[\"not\",\"or\",\"xor\"]}},function(e,t){e.exports={name:\"not\",category:\"Logical\",syntax:[\"not x\",\"not(x)\"],description:\"Logical not. Flips the boolean value of given argument.\",examples:[\"not true\",\"not false\",\"not 2\",\"not 0\"],seealso:[\"and\",\"or\",\"xor\"]}},function(e,t){e.exports={name:\"or\",category:\"Logical\",syntax:[\"x or y\",\"or(x, y)\"],description:\"Logical or. Test if at least one value is defined with a nonzero/nonempty value.\",examples:[\"true or false\",\"false or false\",\"0 or 4\"],seealso:[\"not\",\"and\",\"xor\"]}},function(e,t){e.exports={name:\"xor\",category:\"Logical\",syntax:[\"x or y\",\"or(x, y)\"],description:\"Logical exclusive or, xor. Test whether one and only one value is defined with a nonzero/nonempty value.\",examples:[\"true xor false\",\"false xor false\",\"true xor true\",\"0 or 4\"],seealso:[\"not\",\"and\",\"or\"]}},function(e,t){e.exports={name:\"concat\",category:\"Matrix\",syntax:[\"concat(A, B, C, ...)\",\"concat(A, B, C, ..., dim)\"],description:\"Concatenate matrices. By default, the matrices are concatenated by the last dimension. The dimension on which to concatenate can be provided as last argument.\",examples:[\"A = [1, 2; 5, 6]\",\"B = [3, 4; 7, 8]\",\"concat(A, B)\",\"concat(A, B, 1)\",\"concat(A, B, 2)\"],seealso:[\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"cross\",category:\"Matrix\",syntax:[\"cross(A, B)\"],description:\"Calculate the cross product for two vectors in three dimensional space.\",examples:[\"cross([1, 1, 0], [0, 1, 1])\",\"cross([3, -3, 1], [4, 9, 2])\",\"cross([2, 3, 4], [5, 6, 7])\"],seealso:[\"multiply\",\"dot\"]}},function(e,t){e.exports={name:\"det\",category:\"Matrix\",syntax:[\"det(x)\"],description:\"Calculate the determinant of a matrix\",examples:[\"det([1, 2; 3, 4])\",\"det([-2, 2, 3; -1, 1, 3; 2, 0, -1])\"],seealso:[\"concat\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"diag\",category:\"Matrix\",syntax:[\"diag(x)\",\"diag(x, k)\"],description:\"Create a diagonal matrix or retrieve the diagonal of a matrix. When x is a vector, a matrix with the vector values on the diagonal will be returned. When x is a matrix, a vector with the diagonal values of the matrix is returned. When k is provided, the k-th diagonal will be filled in or retrieved, if k is positive, the values are placed on the super diagonal. When k is negative, the values are placed on the sub diagonal.\",examples:[\"diag(1:3)\",\"diag(1:3, 1)\",\"a = [1, 2, 3; 4, 5, 6; 7, 8, 9]\",\"diag(a)\"],seealso:[\"concat\",\"det\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"dot\",category:\"Matrix\",syntax:[\"dot(A, B)\"],description:\"Calculate the dot product of two vectors. The dot product of A = [a1, a2, a3, ..., an] and B = [b1, b2, b3, ..., bn] is defined as dot(A, B) = a1 * b1 + a2 * b2 + a3 * b3 + ... + an * bn\",examples:[\"dot([2, 4, 1], [2, 2, 3])\",\"[2, 4, 1] * [2, 2, 3]\"],seealso:[\"multiply\",\"cross\"]}},function(e,t){e.exports={name:\"eye\",category:\"Matrix\",syntax:[\"eye(n)\",\"eye(m, n)\",\"eye([m, n])\",\"eye\"],description:\"Returns the identity matrix with size m-by-n. The matrix has ones on the diagonal and zeros elsewhere.\",examples:[\"eye(3)\",\"eye(3, 5)\",\"a = [1, 2, 3; 4, 5, 6]\",\"eye(size(a))\"],seealso:[\"concat\",\"det\",\"diag\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"flatten\",category:\"Matrix\",syntax:[\"flatten(x)\"],description:\"Flatten a multi dimensional matrix into a single dimensional matrix.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"size(a)\",\"b = flatten(a)\",\"size(b)\"],seealso:[\"concat\",\"resize\",\"size\",\"squeeze\"]}},function(e,t){e.exports={name:\"inv\",category:\"Matrix\",syntax:[\"inv(x)\"],description:\"Calculate the inverse of a matrix\",examples:[\"inv([1, 2; 3, 4])\",\"inv(4)\",\"1 / 4\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"ones\",category:\"Matrix\",syntax:[\"ones(m)\",\"ones(m, n)\",\"ones(m, n, p, ...)\",\"ones([m])\",\"ones([m, n])\",\"ones([m, n, p, ...])\",\"ones\"],description:\"Create a matrix containing ones.\",examples:[\"ones(3)\",\"ones(3, 5)\",\"ones([2,3]) * 4.5\",\"a = [1, 2, 3; 4, 5, 6]\",\"ones(size(a))\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"range\",category:\"Type\",syntax:[\"start:end\",\"start:step:end\",\"range(start, end)\",\"range(start, end, step)\",\"range(string)\"],description:\"Create a range. Lower bound of the range is included, upper bound is excluded.\",examples:[\"1:5\",\"3:-1:-3\",\"range(3, 7)\",\"range(0, 12, 2)\",'range(\"4:10\")',\"a = [1, 2, 3, 4; 5, 6, 7, 8]\",\"a[1:2, 1:2]\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"resize\",category:\"Matrix\",syntax:[\"resize(x, size)\",\"resize(x, size, defaultValue)\"],description:\"Resize a matrix.\",examples:[\"resize([1,2,3,4,5], [3])\",\"resize([1,2,3], [5])\",\"resize([1,2,3], [5], -1)\",\"resize(2, [2, 3])\",'resize(\"hello\", [8], \"!\")'],seealso:[\"size\",\"subset\",\"squeeze\"]}},function(e,t){e.exports={name:\"size\",category:\"Matrix\",syntax:[\"size(x)\"],description:\"Calculate the size of a matrix.\",examples:[\"size(2.3)\",'size(\"hello world\")',\"a = [1, 2; 3, 4; 5, 6]\",\"size(a)\",\"size(1:6)\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"squeeze\",category:\"Matrix\",syntax:[\"squeeze(x)\"],description:\"Remove inner and outer singleton dimensions from a matrix.\",examples:[\"a = zeros(3,2,1)\",\"size(squeeze(a))\",\"b = zeros(1,1,3)\",\"size(squeeze(b))\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"subset\",category:\"Matrix\",syntax:[\"value(index)\",\"value(index) = replacement\",\"subset(value, [index])\",\"subset(value, [index], replacement)\"],description:\"Get or set a subset of a matrix or string. Indexes are one-based. Both the ranges lower-bound and upper-bound are included.\",examples:[\"d = [1, 2; 3, 4]\",\"e = []\",\"e[1, 1:2] = [5, 6]\",\"e[2, :] = [7, 8]\",\"f = d * e\",\"f[2, 1]\",\"f[:, 1]\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"trace\",category:\"Matrix\",syntax:[\"trace(A)\"],description:\"Calculate the trace of a matrix: the sum of the elements on the main diagonal of a square matrix.\",examples:[\"A = [1, 2, 3; -1, 2, 3; 2, 0, 3]\",\"trace(A)\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"transpose\",\"zeros\"]\n}},function(e,t){e.exports={name:\"transpose\",category:\"Matrix\",syntax:[\"x'\",\"transpose(x)\"],description:\"Transpose a matrix\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"a'\",\"transpose(a)\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"zeros\"]}},function(e,t){e.exports={name:\"zeros\",category:\"Matrix\",syntax:[\"zeros(m)\",\"zeros(m, n)\",\"zeros(m, n, p, ...)\",\"zeros([m])\",\"zeros([m, n])\",\"zeros([m, n, p, ...])\",\"zeros\"],description:\"Create a matrix containing zeros.\",examples:[\"zeros(3)\",\"zeros(3, 5)\",\"a = [1, 2, 3; 4, 5, 6]\",\"zeros(size(a))\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\"]}},function(e,t){e.exports={name:\"combinations\",category:\"Probability\",syntax:[\"combinations(n, k)\"],description:\"Compute the number of combinations of n items taken k at a time\",examples:[\"combinations(7, 5)\"],seealso:[\"permutations\",\"factorial\"]}},function(e,t){e.exports={name:\"factorial\",category:\"Probability\",syntax:[\"kldivergence(x, y)\"],description:\"Compute the factorial of a value\",examples:[\"5!\",\"5 * 4 * 3 * 2 * 1\",\"3!\"],seealso:[\"combinations\",\"permutations\",\"gamma\"]}},function(e,t){e.exports={name:\"gamma\",category:\"Probability\",syntax:[\"gamma(n)\"],description:\"Compute the gamma function. For small values, the Lanczos approximation is used, and for large values the extended Stirling approximation.\",examples:[\"gamma(4)\",\"3!\",\"gamma(1/2)\",\"sqrt(pi)\"],seealso:[\"factorial\"]}},function(e,t){e.exports={name:\"kldivergence\",category:\"Probability\",syntax:[\"n!\",\"factorial(n)\"],description:\"Calculate the Kullback-Leibler (KL) divergence between two distributions.\",examples:[\"math.kldivergence([0.7,0.5,0.4], [0.2,0.9,0.5])\"],seealso:[]}},function(e,t){e.exports={name:\"multinomial\",category:\"Probability\",syntax:[\"multinomial(A)\"],description:\"Multinomial Coefficients compute the number of ways of picking a1, a2, ..., ai unordered outcomes from `n` possibilities. multinomial takes one array of integers as an argument. The following condition must be enforced: every ai <= 0.\",examples:[\"multinomial([1, 2, 1])\"],seealso:[\"combinations\",\"factorial\"]}},function(e,t){e.exports={name:\"permutations\",category:\"Probability\",syntax:[\"permutations(n)\",\"permutations(n, k)\"],description:\"Compute the number of permutations of n items taken k at a time\",examples:[\"permutations(5)\",\"permutations(5, 3)\"],seealso:[\"combinations\",\"factorial\"]}},function(e,t){e.exports={name:\"pickRandom\",category:\"Probability\",syntax:[\"pickRandom(array)\"],description:\"Pick a random entry from a given array.\",examples:[\"pickRandom(0:10)\",\"pickRandom([1, 3, 1, 6])\"],seealso:[\"random\",\"randomInt\"]}},function(e,t){e.exports={name:\"random\",category:\"Probability\",syntax:[\"random()\",\"random(max)\",\"random(min, max)\",\"random(size)\",\"random(size, max)\",\"random(size, min, max)\"],description:\"Return a random number.\",examples:[\"random()\",\"random(10, 20)\",\"random([2, 3])\"],seealso:[\"pickRandom\",\"randomInt\"]}},function(e,t){e.exports={name:\"randInt\",category:\"Probability\",syntax:[\"randInt(max)\",\"randInt(min, max)\",\"randInt(size)\",\"randInt(size, max)\",\"randInt(size, min, max)\"],description:\"Return a random integer number\",examples:[\"randInt(10, 20)\",\"randInt([2, 3], 10)\"],seealso:[\"pickRandom\",\"random\"]}},function(e,t){e.exports={name:\"compare\",category:\"Relational\",syntax:[\"compare(x, y)\"],description:\"Compare two values. Returns 1 if x is larger than y, -1 if x is smaller than y, and 0 if x and y are equal.\",examples:[\"compare(2, 3)\",\"compare(3, 2)\",\"compare(2, 2)\",\"compare(5cm, 40mm)\",\"compare(2, [1, 2, 3])\"],seealso:[\"equal\",\"unequal\",\"smaller\",\"smallerEq\",\"largerEq\"]}},function(e,t){e.exports={name:\"deepEqual\",category:\"Relational\",syntax:[\"deepEqual(x, y)\"],description:\"Check equality of two matrices element wise. Returns true if the size of both matrices is equal and when and each of the elements are equal.\",examples:[\"[1,3,4] == [1,3,4]\",\"[1,3,4] == [1,3]\"],seealso:[\"equal\",\"unequal\",\"smaller\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"equal\",category:\"Relational\",syntax:[\"x == y\",\"equal(x, y)\"],description:\"Check equality of two values. Returns true if the values are equal, and false if not.\",examples:[\"2+2 == 3\",\"2+2 == 4\",\"a = 3.2\",\"b = 6-2.8\",\"a == b\",\"50cm == 0.5m\"],seealso:[\"unequal\",\"smaller\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\",\"deepEqual\"]}},function(e,t){e.exports={name:\"larger\",category:\"Relational\",syntax:[\"x > y\",\"larger(x, y)\"],description:\"Check if value x is larger than y. Returns true if x is larger than y, and false if not.\",examples:[\"2 > 3\",\"5 > 2*2\",\"a = 3.3\",\"b = 6-2.8\",\"(a > b)\",\"(b < a)\",\"5 cm > 2 inch\"],seealso:[\"equal\",\"unequal\",\"smaller\",\"smallerEq\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"largerEq\",category:\"Relational\",syntax:[\"x >= y\",\"largerEq(x, y)\"],description:\"Check if value x is larger or equal to y. Returns true if x is larger or equal to y, and false if not.\",examples:[\"2 > 1+1\",\"2 >= 1+1\",\"a = 3.2\",\"b = 6-2.8\",\"(a > b)\"],seealso:[\"equal\",\"unequal\",\"smallerEq\",\"smaller\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"smaller\",category:\"Relational\",syntax:[\"x < y\",\"smaller(x, y)\"],description:\"Check if value x is smaller than value y. Returns true if x is smaller than y, and false if not.\",examples:[\"2 < 3\",\"5 < 2*2\",\"a = 3.3\",\"b = 6-2.8\",\"(a < b)\",\"5 cm < 2 inch\"],seealso:[\"equal\",\"unequal\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"smallerEq\",category:\"Relational\",syntax:[\"x <= y\",\"smallerEq(x, y)\"],description:\"Check if value x is smaller or equal to value y. Returns true if x is smaller than y, and false if not.\",examples:[\"2 < 1+1\",\"2 <= 1+1\",\"a = 3.2\",\"b = 6-2.8\",\"(a < b)\"],seealso:[\"equal\",\"unequal\",\"larger\",\"smaller\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"unequal\",category:\"Relational\",syntax:[\"x != y\",\"unequal(x, y)\"],description:\"Check unequality of two values. Returns true if the values are unequal, and false if they are equal.\",examples:[\"2+2 != 3\",\"2+2 != 4\",\"a = 3.2\",\"b = 6-2.8\",\"a != b\",\"50cm != 0.5m\",\"5 cm != 2 inch\"],seealso:[\"equal\",\"smaller\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\",\"deepEqual\"]}},function(e,t){e.exports={name:\"max\",category:\"Statistics\",syntax:[\"max(a, b, c, ...)\",\"max(A)\",\"max(A, dim)\"],description:\"Compute the maximum value of a list of values.\",examples:[\"max(2, 3, 4, 1)\",\"max([2, 3, 4, 1])\",\"max([2, 5; 4, 3])\",\"max([2, 5; 4, 3], 1)\",\"max([2, 5; 4, 3], 2)\",\"max(2.7, 7.1, -4.5, 2.0, 4.1)\",\"min(2.7, 7.1, -4.5, 2.0, 4.1)\"],seealso:[\"mean\",\"median\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"mean\",category:\"Statistics\",syntax:[\"mean(a, b, c, ...)\",\"mean(A)\",\"mean(A, dim)\"],description:\"Compute the arithmetic mean of a list of values.\",examples:[\"mean(2, 3, 4, 1)\",\"mean([2, 3, 4, 1])\",\"mean([2, 5; 4, 3])\",\"mean([2, 5; 4, 3], 1)\",\"mean([2, 5; 4, 3], 2)\",\"mean([1.0, 2.7, 3.2, 4.0])\"],seealso:[\"max\",\"median\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"median\",category:\"Statistics\",syntax:[\"median(a, b, c, ...)\",\"median(A)\"],description:\"Compute the median of all values. The values are sorted and the middle value is returned. In case of an even number of values, the average of the two middle values is returned.\",examples:[\"median(5, 2, 7)\",\"median([3, -1, 5, 7])\"],seealso:[\"max\",\"mean\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"min\",category:\"Statistics\",syntax:[\"min(a, b, c, ...)\",\"min(A)\",\"min(A, dim)\"],description:\"Compute the minimum value of a list of values.\",examples:[\"min(2, 3, 4, 1)\",\"min([2, 3, 4, 1])\",\"min([2, 5; 4, 3])\",\"min([2, 5; 4, 3], 1)\",\"min([2, 5; 4, 3], 2)\",\"min(2.7, 7.1, -4.5, 2.0, 4.1)\",\"max(2.7, 7.1, -4.5, 2.0, 4.1)\"],seealso:[\"max\",\"mean\",\"median\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"mode\",category:\"Statistics\",syntax:[\"mode(a, b, c, ...)\",\"mode(A)\",\"mode(A, a, b, B, c, ...)\"],description:\"Computes the mode of all values as an array. In case mode being more than one, multiple values are returned in an array.\",examples:[\"mode(5, 2, 7)\",\"mode([3, -1, 5, 7])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"prod\",category:\"Statistics\",syntax:[\"prod(a, b, c, ...)\",\"prod(A)\"],description:\"Compute the product of all values.\",examples:[\"prod(2, 3, 4)\",\"prod([2, 3, 4])\",\"prod([2, 5; 4, 3])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"min\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"quantileSeq\",category:\"Statistics\",syntax:[\"quantileSeq(A, prob[, sorted])\",\"quantileSeq(A, [prob1, prob2, ...][, sorted])\",\"quantileSeq(A, N[, sorted])\"],description:\"Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probablity are: Number, BigNumber. \\n\\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.\",examples:[\"quantileSeq([3, -1, 5, 7], 0.5)\",\"quantileSeq([3, -1, 5, 7], [1/3, 2/3])\",\"quantileSeq([3, -1, 5, 7], 2)\",\"quantileSeq([-1, 3, 5, 7], 0.5, true)\"],seealso:[\"mean\",\"median\",\"min\",\"max\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"std\",category:\"Statistics\",syntax:[\"std(a, b, c, ...)\",\"std(A)\",\"std(A, normalization)\"],description:'Compute the standard deviation of all values, defined as std(A) = sqrt(var(A)). Optional parameter normalization can be \"unbiased\" (default), \"uncorrected\", or \"biased\".',examples:[\"std(2, 4, 6)\",\"std([2, 4, 6, 8])\",'std([2, 4, 6, 8], \"uncorrected\")','std([2, 4, 6, 8], \"biased\")',\"std([1, 2, 3; 4, 5, 6])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"min\",\"prod\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"sum\",category:\"Statistics\",syntax:[\"sum(a, b, c, ...)\",\"sum(A)\"],description:\"Compute the sum of all values.\",examples:[\"sum(2, 3, 4, 1)\",\"sum([2, 3, 4, 1])\",\"sum([2, 5; 4, 3])\"],seealso:[\"max\",\"mean\",\"median\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"var\",category:\"Statistics\",syntax:[\"var(a, b, c, ...)\",\"var(A)\",\"var(A, normalization)\"],description:'Compute the variance of all values. Optional parameter normalization can be \"unbiased\" (default), \"uncorrected\", or \"biased\".',examples:[\"var(2, 4, 6)\",\"var([2, 4, 6, 8])\",'var([2, 4, 6, 8], \"uncorrected\")','var([2, 4, 6, 8], \"biased\")',\"var([1, 2, 3; 4, 5, 6])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"min\",\"prod\",\"std\",\"sum\"]}},function(e,t){e.exports={name:\"acos\",category:\"Trigonometry\",syntax:[\"acos(x)\"],description:\"Compute the inverse cosine of a value in radians.\",examples:[\"acos(0.5)\",\"acos(cos(2.3))\"],seealso:[\"cos\",\"atan\",\"asin\"]}},function(e,t){e.exports={name:\"acosh\",category:\"Trigonometry\",syntax:[\"acosh(x)\"],description:\"Calculate the hyperbolic arccos of a value, defined as `acosh(x) = ln(sqrt(x^2 - 1) + x)`.\",examples:[\"acosh(1.5)\"],seealso:[\"cosh\",\"asinh\",\"atanh\"]}},function(e,t){e.exports={name:\"acot\",category:\"Trigonometry\",syntax:[\"acot(x)\"],description:\"Calculate the inverse cotangent of a value.\",examples:[\"acot(0.5)\",\"acot(cot(0.5))\",\"acot(2)\"],seealso:[\"cot\",\"atan\"]}},function(e,t){e.exports={name:\"acoth\",category:\"Trigonometry\",syntax:[\"acoth(x)\"],description:\"Calculate the hyperbolic arccotangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.\",examples:[\"acoth(0.5)\"],seealso:[\"acsch\",\"asech\"]}},function(e,t){e.exports={name:\"acsc\",category:\"Trigonometry\",syntax:[\"acsc(x)\"],description:\"Calculate the inverse cotangent of a value.\",examples:[\"acsc(0.5)\",\"acsc(csc(0.5))\",\"acsc(2)\"],seealso:[\"csc\",\"asin\",\"asec\"]}},function(e,t){e.exports={name:\"acsch\",category:\"Trigonometry\",syntax:[\"acsch(x)\"],description:\"Calculate the hyperbolic arccosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.\",examples:[\"acsch(0.5)\"],seealso:[\"asech\",\"acoth\"]}},function(e,t){e.exports={name:\"asec\",category:\"Trigonometry\",syntax:[\"asec(x)\"],description:\"Calculate the inverse secant of a value.\",examples:[\"asec(0.5)\",\"asec(sec(0.5))\",\"asec(2)\"],seealso:[\"acos\",\"acot\",\"acsc\"]}},function(e,t){e.exports={name:\"asech\",category:\"Trigonometry\",syntax:[\"asech(x)\"],description:\"Calculate the inverse secant of a value.\",examples:[\"asech(0.5)\"],seealso:[\"acsch\",\"acoth\"]}},function(e,t){e.exports={name:\"asin\",category:\"Trigonometry\",syntax:[\"asin(x)\"],description:\"Compute the inverse sine of a value in radians.\",examples:[\"asin(0.5)\",\"asin(sin(2.3))\"],seealso:[\"sin\",\"acos\",\"atan\"]}},function(e,t){e.exports={name:\"asinh\",category:\"Trigonometry\",syntax:[\"asinh(x)\"],description:\"Calculate the hyperbolic arcsine of a value, defined as `asinh(x) = ln(x + sqrt(x^2 + 1))`.\",examples:[\"asinh(0.5)\"],seealso:[\"acosh\",\"atanh\"]}},function(e,t){e.exports={name:\"atan\",category:\"Trigonometry\",syntax:[\"atan(x)\"],description:\"Compute the inverse tangent of a value in radians.\",examples:[\"atan(0.5)\",\"atan(tan(2.3))\"],seealso:[\"tan\",\"acos\",\"asin\"]}},function(e,t){e.exports={name:\"atanh\",category:\"Trigonometry\",syntax:[\"atanh(x)\"],description:\"Calculate the hyperbolic arctangent of a value, defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.\",examples:[\"atanh(0.5)\"],seealso:[\"acosh\",\"asinh\"]}},function(e,t){e.exports={name:\"atan2\",category:\"Trigonometry\",syntax:[\"atan2(y, x)\"],description:\"Computes the principal value of the arc tangent of y/x in radians.\",examples:[\"atan2(2, 2) / pi\",\"angle = 60 deg in rad\",\"x = cos(angle)\",\"y = sin(angle)\",\"atan2(y, x)\"],seealso:[\"sin\",\"cos\",\"tan\"]}},function(e,t){e.exports={name:\"cos\",category:\"Trigonometry\",syntax:[\"cos(x)\"],description:\"Compute the cosine of x in radians.\",examples:[\"cos(2)\",\"cos(pi / 4) ^ 2\",\"cos(180 deg)\",\"cos(60 deg)\",\"sin(0.2)^2 + cos(0.2)^2\"],seealso:[\"acos\",\"sin\",\"tan\"]}},function(e,t){e.exports={name:\"cosh\",category:\"Trigonometry\",syntax:[\"cosh(x)\"],description:\"Compute the hyperbolic cosine of x in radians.\",examples:[\"cosh(0.5)\"],seealso:[\"sinh\",\"tanh\",\"coth\"]}},function(e,t){e.exports={name:\"cot\",category:\"Trigonometry\",syntax:[\"cot(x)\"],description:\"Compute the cotangent of x in radians. Defined as 1/tan(x)\",examples:[\"cot(2)\",\"1 / tan(2)\"],seealso:[\"sec\",\"csc\",\"tan\"]}},function(e,t){e.exports={name:\"coth\",category:\"Trigonometry\",syntax:[\"coth(x)\"],description:\"Compute the hyperbolic cotangent of x in radians.\",examples:[\"coth(2)\",\"1 / tanh(2)\"],seealso:[\"sech\",\"csch\",\"tanh\"]}},function(e,t){e.exports={name:\"csc\",category:\"Trigonometry\",syntax:[\"csc(x)\"],description:\"Compute the cosecant of x in radians. Defined as 1/sin(x)\",examples:[\"csc(2)\",\"1 / sin(2)\"],seealso:[\"sec\",\"cot\",\"sin\"]}},function(e,t){e.exports={name:\"csch\",category:\"Trigonometry\",syntax:[\"csch(x)\"],description:\"Compute the hyperbolic cosecant of x in radians. Defined as 1/sinh(x)\",examples:[\"csch(2)\",\"1 / sinh(2)\"],seealso:[\"sech\",\"coth\",\"sinh\"]}},function(e,t){e.exports={name:\"sec\",category:\"Trigonometry\",syntax:[\"sec(x)\"],description:\"Compute the secant of x in radians. Defined as 1/cos(x)\",examples:[\"sec(2)\",\"1 / cos(2)\"],seealso:[\"cot\",\"csc\",\"cos\"]}},function(e,t){e.exports={name:\"sech\",category:\"Trigonometry\",syntax:[\"sech(x)\"],description:\"Compute the hyperbolic secant of x in radians. Defined as 1/cosh(x)\",examples:[\"sech(2)\",\"1 / cosh(2)\"],seealso:[\"coth\",\"csch\",\"cosh\"]}},function(e,t){e.exports={name:\"sin\",category:\"Trigonometry\",syntax:[\"sin(x)\"],description:\"Compute the sine of x in radians.\",examples:[\"sin(2)\",\"sin(pi / 4) ^ 2\",\"sin(90 deg)\",\"sin(30 deg)\",\"sin(0.2)^2 + cos(0.2)^2\"],seealso:[\"asin\",\"cos\",\"tan\"]}},function(e,t){e.exports={name:\"sinh\",category:\"Trigonometry\",syntax:[\"sinh(x)\"],description:\"Compute the hyperbolic sine of x in radians.\",examples:[\"sinh(0.5)\"],seealso:[\"cosh\",\"tanh\"]}},function(e,t){e.exports={name:\"tan\",category:\"Trigonometry\",syntax:[\"tan(x)\"],description:\"Compute the tangent of x in radians.\",examples:[\"tan(0.5)\",\"sin(0.5) / cos(0.5)\",\"tan(pi / 4)\",\"tan(45 deg)\"],seealso:[\"atan\",\"sin\",\"cos\"]}},function(e,t){e.exports={name:\"tanh\",category:\"Trigonometry\",syntax:[\"tanh(x)\"],description:\"Compute the hyperbolic tangent of x in radians.\",examples:[\"tanh(0.5)\",\"sinh(0.5) / cosh(0.5)\"],seealso:[\"sinh\",\"cosh\"]}},function(e,t){e.exports={name:\"to\",category:\"Units\",syntax:[\"x to unit\",\"to(x, unit)\"],description:\"Change the unit of a value.\",examples:[\"5 inch to cm\",\"3.2kg to g\",\"16 bytes in bits\"],seealso:[]}},function(e,t){e.exports={name:\"clone\",category:\"Utils\",syntax:[\"clone(x)\"],description:\"Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices\",examples:[\"clone(3.5)\",\"clone(2 - 4i)\",\"clone(45 deg)\",\"clone([1, 2; 3, 4])\",'clone(\"hello world\")'],seealso:[]}},function(e,t){e.exports={name:\"map\",category:\"Utils\",syntax:[\"map(x, callback)\"],description:\"Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.\",examples:[\"map([1, 2, 3], function(val) { return value * value })\"],seealso:[\"filter\",\"forEach\"]}},function(e,t){e.exports={name:\"partitionSelect\",category:\"Utils\",syntax:[\"partitionSelect(x, k)\",\"partitionSelect(x, k, compare)\"],description:\"Partition-based selection of an array or 1D matrix. Will find the kth smallest value, and mutates the input array. Uses Quickselect.\",examples:[\"partitionSelect([5, 10, 1], 2)\",'partitionSelect([\"C\", \"B\", \"A\", \"D\"], 1)'],seealso:[\"sort\"]}},function(e,t){e.exports={name:\"filter\",category:\"Utils\",syntax:[\"filter(x, test)\"],description:\"Filter items in a matrix.\",examples:[\"isPositive(x) = x > 0\",\"filter([6, -2, -1, 4, 3], isPositive)\",\"filter([6, -2, 0, 1, 0], x != 0)\"],seealso:[\"sort\",\"map\",\"forEach\"]}},function(e,t){e.exports={name:\"forEach\",category:\"Utils\",syntax:[\"forEach(x, callback)\"],description:\"Iterates over all elements of a matrix/array, and executes the given callback function.\",examples:[\"forEach([1, 2, 3], function(val) { console.log(val) })\"],seealso:[\"map\",\"sort\",\"filter\"]}},function(e,t){e.exports={name:\"format\",category:\"Utils\",syntax:[\"format(value)\",\"format(value, precision)\"],description:\"Format a value of any type as string.\",examples:[\"format(2.3)\",\"format(3 - 4i)\",\"format([])\",\"format(pi, 3)\"],seealso:[\"print\"]}},function(e,t){e.exports={name:\"isInteger\",category:\"Utils\",syntax:[\"isInteger(x)\"],description:\"Test whether a value is an integer number.\",examples:[\"isInteger(2)\",\"isInteger(3.5)\",\"isInteger([3, 0.5, -2])\"],seealso:[\"isNegative\",\"isNumeric\",\"isPositive\",\"isZero\"]}},function(e,t){e.exports={name:\"isNegative\",category:\"Utils\",syntax:[\"isNegative(x)\"],description:\"Test whether a value is negative: smaller than zero.\",examples:[\"isNegative(2)\",\"isNegative(0)\",\"isNegative(-4)\",\"isNegative([3, 0.5, -2])\"],seealso:[\"isInteger\",\"isNumeric\",\"isPositive\",\"isZero\"]}},function(e,t){e.exports={name:\"isNumeric\",category:\"Utils\",syntax:[\"isNumeric(x)\"],description:\"Test whether a value is a numeric value. Returns true when the input is a number, BigNumber, Fraction, or boolean.\",examples:[\"isNumeric(2)\",\"isNumeric(0)\",\"isNumeric(bignumber(500))\",\"isNumeric(fraction(0.125))\",'isNumeric(\"3\")',\"isNumeric(2 + 3i)\",'isNumeric([2.3, \"foo\", false])'],seealso:[\"isInteger\",\"isZero\",\"isNegative\",\"isPositive\"]}},function(e,t){e.exports={name:\"isPositive\",category:\"Utils\",syntax:[\"isPositive(x)\"],description:\"Test whether a value is positive: larger than zero.\",examples:[\"isPositive(2)\",\"isPositive(0)\",\"isPositive(-4)\",\"isPositive([3, 0.5, -2])\"],seealso:[\"isInteger\",\"isNumeric\",\"isNegative\",\"isZero\"]}},function(e,t){e.exports={name:\"isZero\",category:\"Utils\",syntax:[\"isZero(x)\"],description:\"Test whether a value is zero.\",examples:[\"isZero(2)\",\"isZero(0)\",\"isZero(-4)\",\"isZero([3, 0, -2, 0])\"],seealso:[\"isInteger\",\"isNumeric\",\"isNegative\",\"isPositive\"]}},function(e,t){e.exports={name:\"import\",category:\"Utils\",syntax:[\"import(string)\"],description:\"Import functions from a file.\",examples:['import(\"numbers\")','import(\"./mylib.js\")'],seealso:[]}},function(e,t){e.exports={name:\"sort\",category:\"Utils\",syntax:[\"sort(x)\",\"sort(x, compare)\"],description:'Sort the items in a matrix. Compare can be a string \"asc\" or \"desc\", or a custom sort function.',examples:[\"sort([5, 10, 1])\",'sort([\"C\", \"B\", \"A\", \"D\"])',\"sortByLength(a, b) = size(a)[1] - size(b)[1]\",'sort([\"Langdon\", \"Tom\", \"Sara\"], sortByLength)'],seealso:[\"map\",\"filter\",\"forEach\"]}},function(e,t){e.exports={name:\"typeof\",category:\"Utils\",syntax:[\"typeof(x)\"],description:\"Get the type of a variable.\",examples:[\"typeof(3.5)\",\"typeof(2 - 4i)\",\"typeof(45 deg)\",'typeof(\"hello world\")'],seealso:[]}},function(e,t,r){e.exports=[r(252),r(270),r(271),r(272),r(273)]},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(253));return a(\"compile\",{string:function(e){return o(e).compile()},\"Array | Matrix\":function(e){return i(e,function(e){return o(e).compile()})}})}var i=r(19);t.name=\"compile\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){if(1!=arguments.length&&2!=arguments.length)throw new i(\"parse\",arguments.length,1,2);if(he=r&&r.nodes?r.nodes:{},\"string\"==typeof t)return ge=t,x();if(Array.isArray(t)||t instanceof e.Matrix)return a(t,function(e){if(\"string\"!=typeof e)throw new TypeError(\"String expected\");return ge=e,x()});throw new TypeError(\"String or matrix expected\")}function u(){ve=0,de=ge.charAt(0),we=0,be=null}function c(){ve++,de=ge.charAt(ve)}function f(){return ge.charAt(ve+1)}function l(){return ge.charAt(ve+2)}function p(){for(xe=le.NULL,ye=\"\";\" \"==de||\"\t\"==de||\"\\n\"==de&&we;)c();if(\"#\"==de)for(;\"\\n\"!=de&&\"\"!=de;)c();if(\"\"==de)return void(xe=le.DELIMITER);if(\"\\n\"==de&&!we)return xe=le.DELIMITER,ye=de,void c();var e=de+f(),t=e+l();if(3==t.length&&pe[t])return xe=le.DELIMITER,ye=t,c(),c(),void c();if(2==e.length&&pe[e])return xe=le.DELIMITER,ye=e,c(),void c();if(pe[de])return xe=le.DELIMITER,ye=de,void c();if(!d(de)){if(v()){for(;v()||y(de);)ye+=de,c();return void(xe=me[ye]?le.DELIMITER:le.SYMBOL)}for(xe=le.UNKNOWN;\"\"!=de;)ye+=de,c();throw X('Syntax error in part \"'+ye+'\"')}if(xe=le.NUMBER,\".\"==de)ye+=de,c(),y(de)||(xe=le.UNKNOWN);else{for(;y(de);)ye+=de,c();\".\"==de&&(ye+=de,c())}for(;y(de);)ye+=de,c();if(e=f(),(\"E\"==de||\"e\"==de)&&(y(e)||\"-\"==e||\"+\"==e))for(ye+=de,c(),(\"+\"==de||\"-\"==de)&&(ye+=de,c()),y(de)||(xe=le.UNKNOWN);y(de);)ye+=de,c()}function m(){do p();while(\"\\n\"==ye)}function h(){we++}function g(){we--}function v(){var e=ge.charAt(ve-1),t=ge.charAt(ve+1),r=function(e){return/^[a-zA-Z_\\u00C0-\\u02AF\\u0370-\\u03FF]$/.test(e)},n=function(e,t){return/^[\\uD835]$/.test(e)&&/^[\\uDC00-\\uDFFF]$/.test(t)&&/^[^\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDFCC\\uDFCD]$/.test(t)};return r(de)||n(de,t)||n(e,de)}function d(e){return e>=\"0\"&&\"9\">=e||\".\"==e}function y(e){return e>=\"0\"&&\"9\">=e}function x(){u(),p();var e=w();if(\"\"!=ye)throw xe==le.DELIMITER?J(\"Unexpected operator \"+ye):X('Unexpected part \"'+ye+'\"');return e}function w(){var e,t,r=[];if(\"\"==ye)return new re(\"undefined\",\"undefined\");for(\"\\n\"!=ye&&\";\"!=ye&&(e=b());\"\\n\"==ye||\";\"==ye;)0==r.length&&e&&(t=\";\"!=ye,r.push({node:e,visible:t})),p(),\"\\n\"!=ye&&\";\"!=ye&&\"\"!=ye&&(e=b(),t=\";\"!=ye,r.push({node:e,visible:t}));return r.length>0?new ee(r):e}function b(){if(xe==le.SYMBOL&&\"function\"==ye)throw X('Deprecated keyword \"function\". Functions can now be assigned without it, like \"f(x) = x^2\".');return N()}function N(){var e,t,r,n,i=E();if(\"=\"==ye){if(i&&i.isSymbolNode)return e=i.name,m(),r=N(),new Q(e,r);if(i&&i.isIndexNode)return m(),r=N(),new fe(i,r);if(i&&i.isFunctionNode&&(n=!0,t=[],e=i.name,i.args.forEach(function(e,r){e&&e.isSymbolNode?t[r]=e.name:n=!1}),n))return m(),r=N(),new ne(e,t,r);throw X(\"Invalid left hand side of assignment operator =\")}return i}function E(){for(var e=M();\"?\"==ye;){var t=be;be=we,m();var r=e,n=M();if(\":\"!=ye)throw X(\"False part of conditional expression expected\");be=null,m();var i=E();e=new te(r,n,i),be=t}return e}function M(){for(var e=A();\"or\"==ye;)m(),e=new ae(\"or\",\"or\",[e,A()]);return e}function A(){for(var e=_();\"xor\"==ye;)m(),e=new ae(\"xor\",\"xor\",[e,_()]);return e}function _(){for(var e=O();\"and\"==ye;)m(),e=new ae(\"and\",\"and\",[e,O()]);return e}function O(){for(var e=T();\"|\"==ye;)m(),e=new ae(\"|\",\"bitOr\",[e,T()]);return e}function T(){for(var e=C();\"^|\"==ye;)m(),e=new ae(\"^|\",\"bitXor\",[e,C()]);return e}function C(){for(var e=S();\"&\"==ye;)m(),e=new ae(\"&\",\"bitAnd\",[e,S()]);return e}function S(){var e,t,r,n,i;for(e=z(),t={\"==\":\"equal\",\"!=\":\"unequal\",\"<\":\"smaller\",\">\":\"larger\",\"<=\":\"smallerEq\",\">=\":\"largerEq\"};ye in t;)r=ye,n=t[r],m(),i=[e,z()],e=new ae(r,n,i);return e}function z(){var e,t,r,n,i;for(e=B(),t={\"<<\":\"leftShift\",\">>\":\"rightArithShift\",\">>>\":\"rightLogShift\"};ye in t;)r=ye,n=t[r],m(),i=[e,B()],e=new ae(r,n,i);return e}function B(){var e,t,r,n,i;for(e=k(),t={to:\"to\",\"in\":\"to\"};ye in t;)r=ye,n=t[r],m(),i=[e,k()],e=new ae(r,n,i);return e}function k(){var e,t=[];if(e=\":\"==ye?new re(\"1\",\"number\"):I(),\":\"==ye&&be!==we){for(t.push(e);\":\"==ye&&t.length<3;)m(),\")\"==ye||\"]\"==ye||\",\"==ye||\"\"==ye?t.push(new ce(\"end\")):t.push(I());e=3==t.length?new ue(t[0],t[2],t[1]):new ue(t[0],t[1])}return e}function I(){var e,t,r,n,i;for(e=R(),t={\"+\":\"add\",\"-\":\"subtract\"};ye in t;)r=ye,n=t[r],m(),i=[e,R()],e=new ae(r,n,i);return e}function R(){var e,t,r,n,i;for(e=P(),t=e,r={\"*\":\"multiply\",\".*\":\"dotMultiply\",\"/\":\"divide\",\"./\":\"dotDivide\",\"%\":\"mod\",mod:\"mod\"};;)if(ye in r)n=ye,i=r[n],m(),t=P(),e=new ae(n,i,[e,t]);else{if(!(xe==le.SYMBOL||\"in\"==ye&&e&&e.isConstantNode||xe==le.NUMBER&&!t.isConstantNode||\"(\"==ye||\"[\"==ye))break;t=P(),e=new ae(\"*\",\"multiply\",[e,t])}return e}function P(){var e,t,r={\"-\":\"unaryMinus\",\"+\":\"unaryPlus\",\"~\":\"bitNot\",not:\"not\"}[ye];return r?(e=ye,m(),t=[P()],new ae(e,r,t)):U()}function U(){var e,t,r,n;return e=q(),(\"^\"==ye||\".^\"==ye)&&(t=ye,r=\"^\"==t?\"pow\":\"dotPow\",m(),n=[e,P()],e=new ae(t,r,n)),e}function q(){var e,t,r,n,i;for(e=L(),t={\"!\":\"factorial\",\"'\":\"transpose\"};ye in t;)r=ye,n=t[r],p(),i=[e],e=new ae(r,n,i);return e}function L(){var e,t=[];if(xe==le.SYMBOL&&he[ye]){if(e=he[ye],p(),\"(\"==ye){if(t=[],h(),p(),\")\"!=ye)for(t.push(E());\",\"==ye;)p(),t.push(E());if(\")\"!=ye)throw X(\"Parenthesis ) expected\");g(),p()}return new e(t)}return F()}function F(){var e,t;return xe==le.SYMBOL||xe==le.DELIMITER&&ye in me?(t=ye,p(),e=D(t),e=$(e)):j()}function D(e){var t;if(\"(\"==ye){if(t=[],h(),p(),\")\"!=ye)for(t.push(E());\",\"==ye;)p(),t.push(E());if(\")\"!=ye)throw X(\"Parenthesis ) expected\");return g(),p(),new se(e,t)}return new ce(e)}function $(e){for(var t;\"[\"==ye;){if(t=[],h(),p(),\"]\"!=ye)for(t.push(E());\",\"==ye;)p(),t.push(E());if(\"]\"!=ye)throw X(\"Parenthesis ] expected\");g(),p(),e=new ie(e,t)}return e}function j(){var e,t,r;if('\"'==ye){for(t=\"\",r=\"\";\"\"!=de&&('\"'!=de||\"\\\\\"==r);)t+=de,r=de,c();if(p(),'\"'!=ye)throw X('End of string \" expected');return p(),e=new re(t,\"string\"),e=$(e)}return G()}function G(){var e,t,r,n;if(\"[\"==ye){if(h(),p(),\"]\"!=ye){var i=H();if(\";\"==ye){for(r=1,t=[i];\";\"==ye;)p(),t[r]=H(),r++;if(\"]\"!=ye)throw X(\"End of matrix ] expected\");g(),p(),n=t[0].nodes.length;for(var a=1;r>a;a++)if(t[a].nodes.length!=n)throw J(\"Column dimensions mismatch (\"+t[a].nodes.length+\" != \"+n+\")\");e=new K(t)}else{if(\"]\"!=ye)throw X(\"End of matrix ] expected\");g(),p(),e=i}}else g(),p(),e=new K([]);return e}return Z()}function H(){for(var e=[N()],t=1;\",\"==ye;)p(),e[t]=N(),t++;return new K(e)}function Z(){var e;return xe==le.NUMBER?(e=ye,p(),new re(e,\"number\")):V()}function V(){var e;if(\"(\"==ye){if(h(),p(),e=N(),\")\"!=ye)throw X(\"Parenthesis ) expected\");return g(),p(),new oe(e)}return Y()}function Y(){throw X(\"\"==ye?\"Unexpected end of expression\":\"Value expected\")}function W(){return ve-ye.length+1}function X(e){var t=W(),r=new SyntaxError(e+\" (char \"+t+\")\");return r[\"char\"]=t,r}function J(e){var t=W(),r=new Error(e+\" (char \"+t+\")\");return r[\"char\"]=t,r}var K=n(r(254)),Q=n(r(257)),ee=n(r(259)),te=n(r(260)),re=n(r(261)),ne=n(r(262)),ie=n(r(263)),ae=n(r(266)),oe=n(r(268)),se=n(r(267)),ue=n(r(264)),ce=n(r(265)),fe=n(r(269)),le={NULL:0,DELIMITER:1,NUMBER:2,SYMBOL:3,UNKNOWN:4},pe={\",\":!0,\"(\":!0,\")\":!0,\"[\":!0,\"]\":!0,'\"':!0,\";\":!0,\"+\":!0,\"-\":!0,\"*\":!0,\".*\":!0,\"/\":!0,\"./\":!0,\"%\":!0,\"^\":!0,\".^\":!0,\"~\":!0,\"!\":!0,\"&\":!0,\"|\":!0,\"^|\":!0,\"'\":!0,\"=\":!0,\":\":!0,\"?\":!0,\"==\":!0,\"!=\":!0,\"<\":!0,\">\":!0,\"<=\":!0,\">=\":!0,\"<<\":!0,\">>\":!0,\">>>\":!0},me={mod:!0,to:!0,\"in\":!0,and:!0,xor:!0,or:!0,not:!0},he={},ge=\"\",ve=0,de=\"\",ye=\"\",xe=le.NULL,we=0,be=null;return s}var i=r(11),a=r(19);t.name=\"parse\",t.path=\"expression\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(this.nodes=e||[],!Array.isArray(this.nodes)||!this.nodes.every(function(e){return e&&e.isNode}))throw new TypeError(\"Array containing Nodes expected\")}var s=n(r(255));return o.prototype=new s,o.prototype.type=\"ArrayNode\",o.prototype.isArrayNode=!0,o.prototype._compile=function(e){var t=\"array\"!==e.math.config().matrix,r=this.nodes.map(function(t){return t._compile(e)});return(t?\"math.matrix([\":\"[\")+r.join(\",\")+(t?\"])\":\"]\")},o.prototype.forEach=function(e){for(var t=0;t<this.nodes.length;t++){var r=this.nodes[t];e(r,\"nodes[\"+t+\"]\",this)}},o.prototype.map=function(e){for(var t=[],r=0;r<this.nodes.length;r++)t[r]=this._ifNode(e(this.nodes[r],\"nodes[\"+r+\"]\",this));return new o(t)},o.prototype.clone=function(){return new o(this.nodes.slice(0))},o.prototype._toString=function(e){return i.format(this.nodes)},o.prototype._toTex=function(e){var t=\"\\\\begin{bmatrix}\";return this.nodes.forEach(function(r){t+=r.nodes?r.nodes.map(function(t){return t.toTex(e)}).join(\"&\"):r.toTex(e),t+=\"\\\\\\\\\"}),t+=\"\\\\end{bmatrix}\"},o}var i=r(23);t.name=\"ArrayNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n,a){function o(){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\")}function s(e){for(var t in e)if(e.hasOwnProperty(t)&&t in i)throw new Error('Scope contains an illegal symbol, \"'+t+'\" is a reserved keyword')}return o.prototype.eval=function(e){return this.compile().eval(e)},o.prototype.type=\"Node\",o.prototype.isNode=!0,o.prototype.compile=function(){if(arguments.length>0)throw new Error(\"Calling compile(math) is deprecated. Call the function as compile() instead.\");var e={math:a.expression.transform,args:{},_validateScope:s},t=this._compile(e),r=Object.keys(e).map(function(e){return\" var \"+e+' = defs[\"'+e+'\"];'}),n=r.join(\" \")+'return { \"eval\": function (scope) { if (scope) _validateScope(scope); scope = scope || {}; return '+t+\"; }};\",i=new Function(\"defs\",n);return i(e)},o.prototype._compile=function(e){throw new Error(\"Cannot compile a Node interface\")},o.prototype.forEach=function(e){throw new Error(\"Cannot run forEach on a Node interface\")},o.prototype.map=function(e){throw new Error(\"Cannot run map on a Node interface\")},o.prototype._ifNode=function(e){if(!e||!e.isNode)throw new TypeError(\"Callback function must return a Node\");return e},o.prototype.traverse=function(e){function t(e,r){e.forEach(function(e,n,i){r(e,n,i),t(e,r)})}e(this,null,null),t(this,e)},o.prototype.transform=function(e){function t(e,r){return e.map(function(e,n,i){var a=r(e,n,i);return t(a,r)})}var r=e(this,null,null);return t(r,e)},o.prototype.filter=function(e){var t=[];return this.traverse(function(r,n,i){e(r,n,i)&&t.push(r)}),t},o.prototype.find=function(){throw new Error(\"Function Node.find is deprecated. Use Node.filter instead.\")},o.prototype.match=function(){throw new Error(\"Function Node.match is deprecated. See functions Node.filter, Node.transform, Node.traverse.\")},o.prototype.clone=function(){throw new Error(\"Cannot clone a Node interface\")},o.prototype.toString=function(e){var t;if(e&&\"object\"==typeof e)switch(typeof e.handler){case\"object\":case\"undefined\":break;case\"function\":t=e.handler(this,e);break;default:throw new TypeError(\"Object or function expected as callback\")}return\"undefined\"!=typeof t?t:this._toString(e)},o.prototype._toString=function(){\nthrow new Error(\"_toString not implemented for \"+this.type)},o.prototype.toTex=function(e){var t;if(e&&\"object\"==typeof e)switch(typeof e.handler){case\"object\":case\"undefined\":break;case\"function\":t=e.handler(this,e);break;default:throw new TypeError(\"Object or function expected as callback\")}return\"undefined\"!=typeof t?t:this._toTex(e)},o.prototype._toTex=function(e){throw new Error(\"_toTex not implemented for \"+this.type)},o.prototype.getIdentifier=function(){return this.type},o.prototype.getContent=function(){return this},o}var i=r(256);r(3).extend;t.name=\"Node\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t){\"use strict\";e.exports={end:!0}},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"name\"');if(!t||!t.isNode)throw new TypeError('Node expected for parameter \"expr\"');if(e in c)throw new Error('Illegal symbol name, \"'+e+'\" is a reserved keyword');this.name=e,this.expr=t}function s(e,t){var r=f.getPrecedence(e,t),n=f.getPrecedence(e.expr,t);return\"all\"===t||null!==n&&r>=n}var u=n(r(255)),c=(n(r(254)),r(256)),f=r(258);return o.prototype=new u,o.prototype.type=\"AssignmentNode\",o.prototype.isAssignmentNode=!0,o.prototype._compile=function(e){return'scope[\"'+this.name+'\"] = '+this.expr._compile(e)},o.prototype.forEach=function(e){e(this.expr,\"expr\",this)},o.prototype.map=function(e){return new o(this.name,this._ifNode(e(this.expr,\"expr\",this)))},o.prototype.clone=function(){return new o(this.name,this.expr)},o.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toString(e);return s(this,t)&&(r=\"(\"+r+\")\"),this.name+\" = \"+r},o.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toTex(e);return s(this,t)&&(r=\"\\\\left(\"+r+\"\\\\right)\"),i.toSymbol(this.name)+\":=\"+r},o}var i=r(30);t.name=\"AssignmentNode\",t.path=\"expression.node\",t.factory=n},function(e,t){\"use strict\";function r(e,t){var r=e;\"keep\"!==t&&(r=e.getContent());for(var n=r.getIdentifier(),i=0;i<a.length;i++)if(n in a[i])return i;return null}function n(e,t){var n=e;\"keep\"!==t&&(n=e.getContent());var i=n.getIdentifier(),o=r(n,t);if(null===o)return null;var s=a[o][i];if(s.hasOwnProperty(\"associativity\")){if(\"left\"===s.associativity)return\"left\";if(\"right\"===s.associativity)return\"right\";throw Error(\"'\"+i+\"' has the invalid associativity '\"+s.associativity+\"'.\")}return null}function i(e,t,n){var i=e,o=t;if(\"keep\"!==n)var i=e.getContent(),o=t.getContent();var s=i.getIdentifier(),u=o.getIdentifier(),c=r(i,n);if(null===c)return null;var f=a[c][s];if(f.hasOwnProperty(\"associativeWith\")&&f.associativeWith instanceof Array){for(var l=0;l<f.associativeWith.length;l++)if(f.associativeWith[l]===u)return!0;return!1}return null}var a=[{AssignmentNode:{},FunctionAssignmentNode:{}},{ConditionalNode:{latexLeftParens:!1,latexRightParens:!1,latexParens:!1}},{\"OperatorNode:or\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:xor\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:and\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:bitOr\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:bitXor\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:bitAnd\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:equal\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:unequal\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:smaller\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:larger\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:smallerEq\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:largerEq\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:leftShift\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:rightArithShift\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:rightLogShift\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:to\":{associativity:\"left\",associativeWith:[]}},{RangeNode:{}},{\"OperatorNode:add\":{associativity:\"left\",associativeWith:[\"OperatorNode:add\",\"OperatorNode:subtract\"]},\"OperatorNode:subtract\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:multiply\":{associativity:\"left\",associativeWith:[\"OperatorNode:multiply\",\"OperatorNode:divide\",\"Operator:dotMultiply\",\"Operator:dotDivide\"]},\"OperatorNode:divide\":{associativity:\"left\",associativeWith:[],latexLeftParens:!1,latexRightParens:!1,latexParens:!1},\"OperatorNode:dotMultiply\":{associativity:\"left\",associativeWith:[\"OperatorNode:multiply\",\"OperatorNode:divide\",\"OperatorNode:dotMultiply\",\"OperatorNode:doDivide\"]},\"OperatorNode:dotDivide\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:mod\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:unaryPlus\":{associativity:\"right\"},\"OperatorNode:unaryMinus\":{associativity:\"right\"},\"OperatorNode:bitNot\":{associativity:\"right\"},\"OperatorNode:not\":{associativity:\"right\"}},{\"OperatorNode:pow\":{associativity:\"right\",associativeWith:[],latexRightParens:!1},\"OperatorNode:dotPow\":{associativity:\"right\",associativeWith:[]}},{\"OperatorNode:factorial\":{associativity:\"left\"}},{\"OperatorNode:transpose\":{associativity:\"left\"}}];e.exports.properties=a,e.exports.getPrecedence=r,e.exports.getAssociativity=n,e.exports.isAssociativeWith=i},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!Array.isArray(e))throw new Error(\"Array expected\");this.blocks=e.map(function(e){var t=e&&e.node,r=e&&void 0!==e.visible?e.visible:!0;if(!t||!t.isNode)throw new TypeError('Property \"node\" must be a Node');if(\"boolean\"!=typeof r)throw new TypeError('Property \"visible\" must be a boolean');return{node:t,visible:r}})}var o=n(r(255)),s=n(r(71));return a.prototype=new o,a.prototype.type=\"BlockNode\",a.prototype.isBlockNode=!0,a.prototype._compile=function(e){e.ResultSet=s;var t=this.blocks.map(function(t){var r=t.node._compile(e);return t.visible?\"results.push(\"+r+\");\":r+\";\"});return\"(function () {var results = [];\"+t.join(\"\")+\"return new ResultSet(results);})()\"},a.prototype.forEach=function(e){for(var t=0;t<this.blocks.length;t++)e(this.blocks[t].node,\"blocks[\"+t+\"].node\",this)},a.prototype.map=function(e){for(var t=[],r=0;r<this.blocks.length;r++){var n=this.blocks[r],i=this._ifNode(e(n.node,\"blocks[\"+r+\"].node\",this));t[r]={node:i,visible:n.visible}}return new a(t)},a.prototype.clone=function(){var e=this.blocks.map(function(e){return{node:e.node,visible:e.visible}});return new a(e)},a.prototype._toString=function(e){return this.blocks.map(function(t){return t.node.toString(e)+(t.visible?\"\":\";\")}).join(\"\\n\")},a.prototype._toTex=function(e){return this.blocks.map(function(t){return t.node.toTex(e)+(t.visible?\"\":\";\")}).join(\"\\\\;\\\\;\\n\")},a}t.name=\"BlockNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t,r){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError(\"Parameter condition must be a Node\");if(!t||!t.isNode)throw new TypeError(\"Parameter trueExpr must be a Node\");if(!r||!r.isNode)throw new TypeError(\"Parameter falseExpr must be a Node\");this.condition=e,this.trueExpr=t,this.falseExpr=r}var s=n(r(255));return o.prototype=new s,o.prototype.type=\"ConditionalNode\",o.prototype.isConditionalNode=!0,o.prototype._compile=function(e){return e.testCondition=function(t){if(\"number\"==typeof t||\"boolean\"==typeof t||\"string\"==typeof t)return t?!0:!1;if(t){if(t.isBigNumber===!0)return t.isZero()?!1:!0;if(t.isComplex===!0)return t.re||t.im?!0:!1;if(t.isUnit===!0)return t.value?!0:!1}if(null===t||void 0===t)return!1;throw new TypeError('Unsupported type of condition \"'+e.math[\"typeof\"](t)+'\"')},\"testCondition(\"+this.condition._compile(e)+\") ? ( \"+this.trueExpr._compile(e)+\") : ( \"+this.falseExpr._compile(e)+\")\"},o.prototype.forEach=function(e){e(this.condition,\"condition\",this),e(this.trueExpr,\"trueExpr\",this),e(this.falseExpr,\"falseExpr\",this)},o.prototype.map=function(e){return new o(this._ifNode(e(this.condition,\"condition\",this)),this._ifNode(e(this.trueExpr,\"trueExpr\",this)),this._ifNode(e(this.falseExpr,\"falseExpr\",this)))},o.prototype.clone=function(){return new o(this.condition,this.trueExpr,this.falseExpr)},o.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=i.getPrecedence(this,t),n=this.condition.toString(e),a=i.getPrecedence(this.condition,t);(\"all\"===t||\"OperatorNode\"===this.condition.type||null!==a&&r>=a)&&(n=\"(\"+n+\")\");var o=this.trueExpr.toString(e),s=i.getPrecedence(this.trueExpr,t);(\"all\"===t||\"OperatorNode\"===this.trueExpr.type||null!==s&&r>=s)&&(o=\"(\"+o+\")\");var u=this.falseExpr.toString(e),c=i.getPrecedence(this.falseExpr,t);return(\"all\"===t||\"OperatorNode\"===this.falseExpr.type||null!==c&&r>=c)&&(u=\"(\"+u+\")\"),n+\" ? \"+o+\" : \"+u},o.prototype._toTex=function(e){return\"\\\\left\\\\{\\\\begin{array}{l l}{\"+this.trueExpr.toTex(e)+\"}, &\\\\quad{\\\\text{if}\\\\;\"+this.condition.toTex(e)+\"}\\\\\\\\{\"+this.falseExpr.toTex(e)+\"}, &\\\\quad{\\\\text{otherwise}}\\\\end{array}\\\\right.\"},o}var i=(r(30),r(258));t.name=\"ConditionalNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t){if(\"string\"!=typeof t)throw new TypeError('String expected for parameter \"valueType\"');if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"value\"');this.value=e,this.valueType=t}else this.value=e+\"\",this.valueType=i(e);if(!u[this.valueType])throw new TypeError('Unsupported type of value \"'+this.valueType+'\"')}var s=n(r(255)),u={number:!0,string:!0,\"boolean\":!0,undefined:!0,\"null\":!0};return o.prototype=new s,o.prototype.type=\"ConstantNode\",o.prototype.isConstantNode=!0,o.prototype._compile=function(e){switch(this.valueType){case\"number\":var t=e.math.config().number;return\"bignumber\"===t?'math.bignumber(\"'+this.value+'\")':\"fraction\"===t?'math.fraction(\"'+this.value+'\")':this.value.replace(/^(0*)[0-9]/,function(e,t){return e.substring(t.length)});case\"string\":return'\"'+this.value+'\"';case\"boolean\":return this.value;case\"undefined\":return this.value;case\"null\":return this.value;default:throw new TypeError('Unsupported type of constant \"'+this.valueType+'\"')}},o.prototype.forEach=function(e){},o.prototype.map=function(e){return this.clone()},o.prototype.clone=function(){return new o(this.value,this.valueType)},o.prototype._toString=function(e){switch(this.valueType){case\"string\":return'\"'+this.value+'\"';default:return this.value}},o.prototype._toTex=function(e){var t,r=this.value;switch(this.valueType){case\"string\":return'\\\\mathtt{\"'+r+'\"}';case\"number\":return t=r.toLowerCase().indexOf(\"e\"),-1!==t?r.substring(0,t)+\"\\\\cdot10^{\"+r.substring(t+1)+\"}\":r;default:return r}},o}var i=r(41).type;t.name=\"ConstantNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e){return\"string\"==typeof e}function i(e,t,i,u){function c(e,t,r){if(!(this instanceof c))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"name\"');if(!Array.isArray(t)||!t.every(n))throw new TypeError('Array containing strings expected for parameter \"params\"');if(!r||!r.isNode)throw new TypeError('Node expected for parameter \"expr\"');if(e in a)throw new Error('Illegal function name, \"'+e+'\" is a reserved keyword');this.name=e,this.params=t,this.expr=r}function f(e,t){var r=s.getPrecedence(e,t),n=s.getPrecedence(e.expr,t);return\"all\"===t||null!==n&&r>=n}var l=i(r(255));return c.prototype=new l,c.prototype.type=\"FunctionAssignmentNode\",c.prototype.isFunctionAssignmentNode=!0,c.prototype._compile=function(e){return this.params.forEach(function(t){e.args[t]=!0}),'scope[\"'+this.name+'\"] = (function () { var fn = function '+this.name+\"(\"+this.params.join(\",\")+\") { if (arguments.length != \"+this.params.length+') { throw new SyntaxError(\"Wrong number of arguments in function '+this.name+' (\" + arguments.length + \" provided, '+this.params.length+' expected)\"); } return '+this.expr._compile(e)+' }; fn.syntax = \"'+this.name+\"(\"+this.params.join(\", \")+')\"; return fn; })()'},c.prototype.forEach=function(e){e(this.expr,\"expr\",this)},c.prototype.map=function(e){var t=this._ifNode(e(this.expr,\"expr\",this));return new c(this.name,this.params.slice(0),t)},c.prototype.clone=function(){return new c(this.name,this.params.slice(0),this.expr)},c.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toString(e);return f(this,t)&&(r=\"(\"+r+\")\"),\"function \"+this.name+\"(\"+this.params.join(\", \")+\") = \"+r},c.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toTex(e);return f(this,t)&&(r=\"\\\\left(\"+r+\"\\\\right)\"),\"\\\\mathrm{\"+this.name+\"}\\\\left(\"+this.params.map(o.toSymbol).join(\",\")+\"\\\\right):=\"+r},c}var a=r(256),o=r(30),s=r(258);t.name=\"FunctionAssignmentNode\",t.path=\"expression.node\",t.factory=i},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError('Node expected for parameter \"object\"');if(!c(t)||!t.every(function(e){return e&&e.isNode}))throw new TypeError('Array containing Nodes expected for parameter \"ranges\"');this.object=e,this.ranges=t}function o(e){switch(e.object.type){case\"ArrayNode\":case\"ConstantNode\":case\"SymbolNode\":case\"ParenthesisNode\":return!1;default:return!0}}var s=n(r(255)),u=(n(r(264)),n(r(265)),n(r(66))),c=Array.isArray;return a.prototype=new s,a.prototype.type=\"IndexNode\",a.prototype.isIndexNode=!0,a.prototype._compile=function(e){return this.compileSubset(e)},a.prototype.compileSubset=function(e,t){function r(e){return e&&e.isSymbolNode&&\"end\"==e.name}var n=!1,i=this.ranges.map(function(e){var t=e.filter(r).length>0;return n=t?t:n,t});e.range=function(e,t,r){return new u(e&&e.isBigNumber===!0?e.toNumber():e,t&&t.isBigNumber===!0?t.toNumber():t,r&&r.isBigNumber===!0?r.toNumber():r)};var a=this.ranges.map(function(t,r){var n=i[r];return t&&t.isRangeNode?n?(e.args.end=!0,\"(function () { var end = size[\"+r+\"]; return range( \"+t.start._compile(e)+\", \"+t.end._compile(e)+\", \"+(t.step?t.step._compile(e):\"1\")+\" );})()\"):\"range(\"+t.start._compile(e)+\", \"+t.end._compile(e)+\", \"+(t.step?t.step._compile(e):\"1\")+\")\":n?(e.args.end=!0,\"(function () { var end = size[\"+r+\"]; return \"+t._compile(e)+\";})()\"):t._compile(e)});return n?\"(function () { var obj = \"+this.object._compile(e)+\"; var size = math.size(obj).valueOf(); return math.subset( obj, math.index(\"+a.join(\", \")+\") \"+(t?\", \"+t:\"\")+\" );})()\":\"math.subset(\"+this.object._compile(e)+\",math.index(\"+a.join(\", \")+\")\"+(t?\", \"+t:\"\")+\")\"},a.prototype.forEach=function(e){e(this.object,\"object\",this);for(var t=0;t<this.ranges.length;t++)e(this.ranges[t],\"ranges[\"+t+\"]\",this)},a.prototype.map=function(e){for(var t=this._ifNode(e(this.object,\"object\",this)),r=[],n=0;n<this.ranges.length;n++)r[n]=this._ifNode(e(this.ranges[n],\"ranges[\"+n+\"]\",this));return new a(t,r)},a.prototype.objectName=function(){return this.object.name},a.prototype.clone=function(){return new a(this.object,this.ranges.slice(0))},a.prototype._toString=function(e){var t=this.object.toString(e);return o(this)&&(t=\"(\"+t+\"(\"),t+\"[\"+this.ranges.join(\", \")+\"]\"},a.prototype._toTex=function(e){var t=this.object.toTex(e);o(this)&&(t=\"\\\\left(\"+t+\"\\\\right)\");var r=this.ranges.map(function(t){return t.toTex(e)});return t+\"_{\"+r.join(\",\")+\"}\"},a}t.name=\"IndexNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t,r){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError(\"Node expected\");if(!t||!t.isNode)throw new TypeError(\"Node expected\");if(r&&(!r||!r.isNode))throw new TypeError(\"Node expected\");if(arguments.length>3)throw new Error(\"Too many arguments\");this.start=e,this.end=t,this.step=r||null}function s(e,t){var r=i.getPrecedence(e,t),n={},a=i.getPrecedence(e.start,t);if(n.start=null!==a&&r>=a||\"all\"===t,e.step){var o=i.getPrecedence(e.step,t);n.step=null!==o&&r>=o||\"all\"===t}var s=i.getPrecedence(e.end,t);return n.end=null!==s&&r>=s||\"all\"===t,n}var u=n(r(255));return o.prototype=new u,o.prototype.type=\"RangeNode\",o.prototype.isRangeNode=!0,o.prototype._compile=function(e){return\"math.range(\"+this.start._compile(e)+\", \"+this.end._compile(e)+(this.step?\", \"+this.step._compile(e):\"\")+\")\"},o.prototype.forEach=function(e){e(this.start,\"start\",this),e(this.end,\"end\",this),this.step&&e(this.step,\"step\",this)},o.prototype.map=function(e){return new o(this._ifNode(e(this.start,\"start\",this)),this._ifNode(e(this.end,\"end\",this)),this.step&&this._ifNode(e(this.step,\"step\",this)))},o.prototype.clone=function(){return new o(this.start,this.end,this.step&&this.step)},o.prototype._toString=function(e){var t,r=e&&e.parenthesis?e.parenthesis:\"keep\",n=s(this,r),i=this.start.toString(e);if(n.start&&(i=\"(\"+i+\")\"),t=i,this.step){var a=this.step.toString(e);n.step&&(a=\"(\"+a+\")\"),t+=\":\"+a}var o=this.end.toString(e);return n.end&&(o=\"(\"+o+\")\"),t+=\":\"+o},o.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=s(this,t),n=this.start.toTex(e);if(r.start&&(n=\"\\\\left(\"+n+\"\\\\right)\"),this.step){var i=this.step.toTex(e);r.step&&(i=\"\\\\left(\"+i+\"\\\\right)\"),n+=\":\"+i}var a=this.end.toTex(e);return r.end&&(a=\"\\\\left(\"+a+\"\\\\right)\"),n+=\":\"+a},o}var i=r(258);t.name=\"RangeNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a,o){function s(e){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"name\"');this.name=e}function u(e){throw new Error(\"Undefined symbol \"+e)}var c=n(r(255)),f=n(r(28));return s.prototype=new c,s.prototype.type=\"SymbolNode\",s.prototype.isSymbolNode=!0,s.prototype._compile=function(e){return e.undef=u,e.Unit=f,this.name in e.args?this.name:this.name in e.math?'(\"'+this.name+'\" in scope ? scope[\"'+this.name+'\"] : math[\"'+this.name+'\"])':'(\"'+this.name+'\" in scope ? scope[\"'+this.name+'\"] : '+(f.isValuelessUnit(this.name)?'new Unit(null, \"'+this.name+'\")':'undef(\"'+this.name+'\")')+\")\"},s.prototype.forEach=function(e){},s.prototype.map=function(e){return this.clone()},s.prototype.clone=function(){return new s(this.name)},s.prototype._toString=function(e){return this.name},s.prototype._toTex=function(e){var t=!1;\"undefined\"==typeof o[this.name]&&f.isValuelessUnit(this.name)&&(t=!0);var r=i.toSymbol(this.name,t);return\"\\\\\"===r[0]?r:\" \"+r},s}var i=r(30);t.name=\"SymbolNode\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o,s){function u(e,t,r){if(!(this instanceof u))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('string expected for parameter \"op\"');if(\"string\"!=typeof t)throw new TypeError('string expected for parameter \"fn\"');if(!Array.isArray(r)||!r.every(function(e){return e&&e.isNode}))throw new TypeError('Array containing Nodes expected for parameter \"args\"');this.op=e,this.fn=t,this.args=r||[]}function c(e,t,r,n){var i=a.getPrecedence(e,t),o=a.getAssociativity(e,t);if(\"all\"===t||r.length>2){var s=[];return r.forEach(function(e){switch(e.getContent().type){case\"ArrayNode\":case\"ConstantNode\":case\"SymbolNode\":case\"ParenthesisNode\":s.push(!1);break;default:s.push(!0)}}),s}switch(r.length){case 0:return[];case 1:var u=a.getPrecedence(r[0],t);if(n&&null!==u){var c,f;if(\"keep\"===t?(c=r[0].getIdentifier(),f=e.getIdentifier()):(c=r[0].getContent().getIdentifier(),f=e.getContent().getIdentifier()),a.properties[i][f].latexLeftParens===!1)return[!1];if(a.properties[u][c].latexParens===!1)return[!1]}return null===u?[!1]:i>=u?[!0]:[!1];case 2:var l,p=a.getPrecedence(r[0],t),m=a.isAssociativeWith(e,r[0],t);l=null===p?!1:p!==i||\"right\"!==o||m?i>p?!0:!1:!0;var h,g=a.getPrecedence(r[1],t),v=a.isAssociativeWith(e,r[1],t);if(h=null===g?!1:g!==i||\"left\"!==o||v?i>g?!0:!1:!0,n){var f,d,y;\"keep\"===t?(f=e.getIdentifier(),d=e.args[0].getIdentifier(),y=e.args[1].getIdentifier()):(f=e.getContent().getIdentifier(),d=e.args[0].getContent().getIdentifier(),y=e.args[1].getContent().getIdentifier()),null!==p&&(a.properties[i][f].latexLeftParens===!1&&(l=!1),a.properties[p][d].latexParens===!1&&(l=!1)),null!==g&&(a.properties[i][f].latexRightParens===!1&&(h=!1),a.properties[g][y].latexParens===!1&&(h=!1))}return[l,h]}}var f=n(r(255));n(r(261)),n(r(265)),n(r(267));return u.prototype=new f,u.prototype.type=\"OperatorNode\",u.prototype.isOperatorNode=!0,u.prototype._compile=function(e){if(!(this.fn in e.math))throw new Error(\"Function \"+this.fn+' missing in provided namespace \"math\"');var t=this.args.map(function(t){return t._compile(e)});return\"math.\"+this.fn+\"(\"+t.join(\", \")+\")\"},u.prototype.forEach=function(e){for(var t=0;t<this.args.length;t++)e(this.args[t],\"args[\"+t+\"]\",this)},u.prototype.map=function(e){for(var t=[],r=0;r<this.args.length;r++)t[r]=this._ifNode(e(this.args[r],\"args[\"+r+\"]\",this));return new u(this.op,this.fn,t)},u.prototype.clone=function(){return new u(this.op,this.fn,this.args.slice(0))},u.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.args,n=c(this,t,r,!1);switch(r.length){case 1:var i=a.getAssociativity(this,t),o=r[0].toString(e);return n[0]&&(o=\"(\"+o+\")\"),\"right\"===i?this.op+o:\"left\"===i?o+this.op:o+this.op;case 2:var s=r[0].toString(e),u=r[1].toString(e);return n[0]&&(s=\"(\"+s+\")\"),n[1]&&(u=\"(\"+u+\")\"),s+\" \"+this.op+\" \"+u;default:return this.fn+\"(\"+this.args.join(\", \")+\")\"}},u.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.args,n=c(this,t,r,!0),o=i.operators[this.fn];switch(o=\"undefined\"==typeof o?this.op:o,r.length){case 1:var s=a.getAssociativity(this,t),u=r[0].toTex(e);return n[0]&&(u=\"\\\\left(\"+u+\"\\\\right)\"),\"right\"===s?o+u:\"left\"===s?u+o:u+o;case 2:var f=r[0],l=f.toTex(e);n[0]&&(l=\"\\\\left(\"+l+\"\\\\right)\");var p=r[1],m=p.toTex(e);n[1]&&(m=\"\\\\left(\"+m+\"\\\\right)\");var h;switch(h=\"keep\"===t?f.getIdentifier():f.getContent().getIdentifier(),this.getIdentifier()){case\"OperatorNode:divide\":return o+\"{\"+l+\"}{\"+m+\"}\";case\"OperatorNode:pow\":switch(l=\"{\"+l+\"}\",m=\"{\"+m+\"}\",h){case\"ConditionalNode\":case\"OperatorNode:divide\":l=\"\\\\left(\"+l+\"\\\\right)\"}}return l+o+m;default:return\"\\\\mathrm{\"+this.fn+\"}\\\\left(\"+r.map(function(t){return t.toTex(e)}).join(\",\")+\"\\\\right)\"}},u.prototype.getIdentifier=function(){return this.type+\":\"+this.fn},u}var i=r(30),a=r(258);t.name=\"OperatorNode\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a,o){function s(e,t){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('string expected for parameter \"name\"');if(!Array.isArray(t)||!t.every(function(e){return e&&e.isNode}))throw new TypeError('Array containing Nodes expected for parameter \"args\"');this.name=e,this.args=t||[]}function u(e,t,r){for(var n,i=\"\",a=new RegExp(\"\\\\$(?:\\\\{([a-z_][a-z_0-9]*)(?:\\\\[([0-9]+)\\\\])?\\\\}|\\\\$)\",\"ig\"),o=0;null!==(n=a.exec(e));)if(i+=e.substring(o,n.index),o=n.index,\"$$\"===n[0])i+=\"$\",o++;else{o+=n[0].length;var s=t[n[1]];if(!s)throw new ReferenceError(\"Template: Property \"+n[1]+\" does not exist.\");if(void 0===n[2])switch(typeof s){case\"string\":i+=s;break;case\"object\":if(s.isNode)i+=s.toTex(r);else{if(!Array.isArray(s))throw new TypeError(\"Template: \"+n[1]+\" has to be a Node, String or array of Nodes\");i+=s.map(function(e,t){if(e&&e.isNode)return e.toTex(r);throw new TypeError(\"Template: \"+n[1]+\"[\"+t+\"] is not a Node.\")}).join(\",\")}break;default:throw new TypeError(\"Template: \"+n[1]+\" has to be a Node, String or array of Nodes\")}else{if(!s[n[2]]||!s[n[2]].isNode)throw new TypeError(\"Template: \"+n[1]+\"[\"+n[2]+\"] is not a Node.\");i+=s[n[2]].toTex(r)}}return i+=e.slice(o)}var c=n(r(255)),f=n(r(265));s.prototype=new c,s.prototype.type=\"FunctionNode\",s.prototype.isFunctionNode=!0,s.prototype._compile=function(e){var t=e.math[this.name],r=\"function\"==typeof t&&1==t.rawArgs,n=this.args.map(function(t){return t._compile(e)});if(r){var i,a=0;do i=\"p\"+a,a++;while(i in e);return e[i]=this.args,'(\"'+this.name+'\" in scope ? scope[\"'+this.name+'\"]('+n.join(\", \")+') : math[\"'+this.name+'\"]('+i+\", math, scope))\"}var o=new f(this.name);return o._compile(e)+\"(\"+n.join(\", \")+\")\"},s.prototype.forEach=function(e){for(var t=0;t<this.args.length;t++)e(this.args[t],\"args[\"+t+\"]\",this)},s.prototype.map=function(e){for(var t=[],r=0;r<this.args.length;r++)t[r]=this._ifNode(e(this.args[r],\"args[\"+r+\"]\",this));return new s(this.name,t)},s.prototype.clone=function(){return new s(this.name,this.args.slice(0))};var l=s.prototype.toString;s.prototype.toString=function(e){var t;return e&&\"object\"==typeof e.handler&&e.handler.hasOwnProperty(this.name)&&(t=e.handler[this.name](this,e)),\"undefined\"!=typeof t?t:l.call(this,e)},s.prototype._toString=function(e){return this.name+\"(\"+this.args.join(\", \")+\")\"};var p=s.prototype.toTex;return s.prototype.toTex=function(e){var t;return e&&\"object\"==typeof e.handler&&e.handler.hasOwnProperty(this.name)&&(t=e.handler[this.name](this,e)),\"undefined\"!=typeof t?t:p.call(this,e)},s.prototype._toTex=function(e){var t,r=(e&&e.parenthesis?e.parenthesis:\"keep\",this.args.map(function(t){return t.toTex(e)}));!o[this.name]||\"function\"!=typeof o[this.name].toTex&&\"object\"!=typeof o[this.name].toTex&&\"string\"!=typeof o[this.name].toTex||(t=o[this.name].toTex);var n;switch(typeof t){case\"function\":n=t(this,e);break;case\"string\":n=u(t,this,e);break;case\"object\":switch(typeof t[r.length]){case\"function\":n=t[r.length](this,e);break;case\"string\":n=u(t[r.length],this,e)}}return\"undefined\"!=typeof n?n:u(i.defaultTemplate,this,e)},s.prototype.getIdentifier=function(){return this.type+\":\"+this.name},s}var i=r(30);t.name=\"FunctionNode\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError('Node expected for parameter \"content\"');this.content=e}var o=n(r(255));return a.prototype=new o,a.prototype.type=\"ParenthesisNode\",a.prototype.isParenthesisNode=!0,a.prototype._compile=function(e){return this.content._compile(e)},a.prototype.getContent=function(){return this.content.getContent()},a.prototype.forEach=function(e){e(this.content,\"content\",this)},a.prototype.map=function(e){var t=e(this.content,\"content\",this);return new a(t)},a.prototype.clone=function(){return new a(this.content)},a.prototype._toString=function(e){return!e||e&&\"keep\"===e.parenthesis?\"(\"+this.content.toString(e)+\")\":this.content.toString(e)},a.prototype._toTex=function(e){return!e||e&&\"keep\"===e.parenthesis?\"\\\\left(\"+this.content.toTex(e)+\"\\\\right)\":this.content.toTex(e)},a}t.name=\"ParenthesisNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isIndexNode)throw new TypeError('Expected IndexNode for parameter \"index\"');if(!t||!t.isNode)throw new TypeError('Expected Node for parameter \"expr\"');this.index=e,this.expr=t}var o=n(r(255));n(r(263));return a.prototype=new o,a.prototype.type=\"UpdateNode\",a.prototype.isUpdateNode=!0,a.prototype._compile=function(e){var t=this.index.objectName()in e.args?this.name+\" = \":'scope[\"'+this.index.objectName()+'\"]',r=this.index.compileSubset(e,this.expr._compile(e));return t+\" = \"+r},a.prototype.forEach=function(e){e(this.index,\"index\",this),e(this.expr,\"expr\",this)},a.prototype.map=function(e){return new a(this._ifNode(e(this.index,\"index\",this)),this._ifNode(e(this.expr,\"expr\",this)))},a.prototype.clone=function(){return new a(this.index,this.expr)},a.prototype._toString=function(e){var t=this.expr.toString(e);return e&&\"all\"===e.parenthesis&&(t=\"(\"+t+\")\"),this.index.toString(e)+\" = \"+t},a.prototype._toTex=function(e){var t=this.expr.toTex(e);return e&&\"all\"===e.parenthesis&&(t=\"\\\\left(\"+t+\"\\\\right)\"),this.index.toTex(e)+\":=\"+t},a}t.name=\"UpdateNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(253));return a(\"compile\",{string:function(e){var t={};return o(e).compile().eval(t)},\"string, Object\":function(e,t){return o(e).compile().eval(t)},\"Array | Matrix\":function(e){var t={};return i(e,function(e){return o(e).compile().eval(t)})},\"Array | Matrix, Object\":function(e,t){return i(e,function(e){return o(e).compile().eval(t)})}})}var i=r(19);t.name=\"eval\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i,a){var o=n(r(81));return i(\"help\",{any:function(t){var r,n=t;if(\"string\"!=typeof t)for(r in a)if(a.hasOwnProperty(r)&&t===a[r]){n=r;break}var i=o[n];if(!i)throw new Error('No documentation found on \"'+n+'\"');return new e.Help(i)}})}t.math=!0,t.name=\"help\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(253));return i(\"parse\",{\"string | Array | Matrix\":a,\"string | Array | Matrix, Object\":a})}t.name=\"parse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i,a){var o=n(r(274));return i(\"parser\",{\"\":function(){return new o(a)}})}t.name=\"parser\",t.factory=n,t.math=!0},function(e,t,r){\"use strict\";function n(e,t,n,i,a){function o(){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");this.scope={}}var s=n(r(253));return o.prototype.type=\"Parser\",o.prototype.isParser=!0,o.prototype.parse=function(e){throw new Error(\"Parser.parse is deprecated. Use math.parse instead.\")},o.prototype.compile=function(e){throw new Error(\"Parser.compile is deprecated. Use math.compile instead.\")},o.prototype.eval=function(e){return s(e).compile().eval(this.scope)},o.prototype.get=function(e){return this.scope[e]},o.prototype.set=function(e,t){return this.scope[e]=t},o.prototype.remove=function(e){delete this.scope[e]},o.prototype.clear=function(){for(var e in this.scope)this.scope.hasOwnProperty(e)&&delete this.scope[e]},o}t.name=\"Parser\",t.path=\"expression\",t.factory=n,t.math=!0},function(e,t,r){e.exports=[r(254),r(257),r(259),r(260),r(261),r(263),r(262),r(267),r(255),r(266),r(268),r(264),r(265),r(269)]},function(e,t,r){e.exports=[r(277),r(280),r(282),r(284),r(285),r(287),r(292),r(305),r(307),r(309)]},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(279));return a(\"concat\",{\"...any\":function(e){var t=e.length-1,r=e[t];\"number\"==typeof r?e[t]=r-1:r&&r.isBigNumber===!0&&(e[t]=r.minus(1));try{return o.apply(null,e)}catch(n){throw i(n)}}})}var i=r(278).transform;t.name=\"concat\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){var n=r(43);t.transform=function(e){return e&&e.isIndexError?new n(e.index+1,e.min+1,e.max+1):e}},function(e,t,r){\"use strict\";function n(e,t,n,f){var l=n(r(51)),p=f(\"concat\",{\"...Array | Matrix | number | BigNumber\":function(e){var t,r,n=e.length,f=-1,p=!1,m=[];for(t=0;n>t;t++){var h=e[t];if(h&&h.isMatrix===!0&&(p=!0),\"number\"==typeof h||h&&h.isBigNumber===!0){if(t!==n-1)throw new Error(\"Dimension must be specified as last argument\");if(r=f,f=h.valueOf(),!o(f))throw new TypeError(\"Integer number expected for dimension\");if(0>f)throw new u(f);if(t>0&&f>r)throw new u(f,r+1)}else{var g=a(h).valueOf(),v=s.size(g);if(m[t]=g,r=f,f=v.length-1,t>0&&f!=r)throw new c(r+1,f+1)}}if(0==m.length)throw new SyntaxError(\"At least one matrix expected\");for(var d=m.shift();m.length;)d=i(d,m.shift(),f,0);return p?l(d):d},\"...string\":function(e){return e.join(\"\")}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",\np}function i(e,t,r,n){if(r>n){if(e.length!=t.length)throw new c(e.length,t.length);for(var a=[],o=0;o<e.length;o++)a[o]=i(e[o],t[o],r,n+1);return a}return e.concat(t)}var a=r(3).clone,o=r(6).isInteger,s=r(40),u=r(43),c=r(42);t.name=\"concat\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t,r){var n,i;if(e[0]&&(n=e[0].compile().eval(r)),e[1])if(e[1]&&e[1].isSymbolNode)i=e[1].compile().eval(r);else{var a=r||{},s=e[1].filter(function(e){return e&&e.isSymbolNode&&!(e.name in t)&&!(e.name in a)})[0],u=Object.create(a),c=e[1].compile();if(!s)throw new Error(\"No undefined variable found in filter equation\");var f=s.name;i=function(e){return u[f]=e,c.eval(u)}}return o(n,i)}var o=n(r(281));n(r(265));return a.rawArgs=!0,a}t.name=\"filter\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=o(\"filter\",{\"Array, function\":i,\"Array, RegExp\":a,\"Matrix, function\":function(e,t){return s(i(e.toArray(),t))},\"Matrix, RegExp\":function(e,t){return s(a(e.toArray(),t))}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}function i(e,t){if(1!==o(e).length)throw new Error(\"Only one dimensional matrices supported\");return e.filter(function(e){return t(e)})}function a(e,t){if(1!==o(e).length)throw new Error(\"Only one dimensional matrices supported\");return e.filter(function(e){return t.test(e)})}var o=r(40).size;t.name=\"filter\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){n(r(283));return i(\"forEach\",{\"Array | Matrix, function\":function(e,t){var r=function(n,i){Array.isArray(n)?n.forEach(function(e,t){r(e,i.concat(t+1))}):t(n,i,e)};r(e.valueOf(),[])}})}t.name=\"forEach\",t.path=\"expression.transform\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,i){var a=i(\"forEach\",{\"Array, function\":n,\"Matrix, function\":function(e,t){return e.forEach(t)}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}function n(e,t){var r=function(n,i){Array.isArray(n)?n.forEach(function(e,t){r(e,i.concat(t))}):t(n,i,e)};r(e,[])}t.name=\"forEach\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){n(r(67));return function(){for(var t=[],r=0,n=arguments.length;n>r;r++){var i=arguments[r];if(i&&i.isRange===!0)i.start--,i.end-=i.step>0?0:2;else if(i&&i.isSet===!0)i=i.map(function(e){return e-1});else if(i&&(i.isArray===!0||i.isMatrix))i=i.map(function(e){return e-1});else if(\"number\"==typeof i)i--;else{if(!i||i.isBigNumber!==!0)throw new TypeError(\"Ranges must be a Number, Range, Array or Matrix\");i=i.toNumber()-1}t[r]=i}var a=new e.Index;return e.Index.apply(a,t),a}}Array.isArray;t.name=\"index\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=(n(r(286)),n(r(51)));return a(\"max\",{\"Array, function\":function(e,t){return i(e,t,e)},\"Matrix, function\":function(e,t){return o(i(e.valueOf(),t,e))}})}function i(e,t,r){function n(e,i){return Array.isArray(e)?e.map(function(e,t){return n(e,i.concat(t+1))}):t(e,i,r)}return n(e,[])}t.name=\"map\",t.path=\"expression.transform\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,i){var a=i(\"map\",{\"Array, function\":n,\"Matrix, function\":function(e,t){return e.map(t)}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}function n(e,t){var r=function(n,i){return Array.isArray(n)?n.map(function(e,t){return r(e,i.concat(t))}):t(n,i,e)};return r(e,[])}t.name=\"map\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(289));return o(\"max\",{\"...any\":function(e){if(2==e.length&&a(e[0])){var t=e[1];\"number\"==typeof t?e[1]=t-1:t&&t.isBigNumber===!0&&(e[1]=t.minus(1))}try{return s.apply(null,e)}catch(r){throw i(r)}}})}var i=r(278).transform,a=r(288);t.name=\"max\",t.path=\"expression.transform\",t.factory=n},function(e,t){\"use strict\";e.exports=function(e){return Array.isArray(e)||e&&e.isMatrix===!0}},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){return c(e,t)?e:t}function u(e){var t=void 0;if(i(e,function(e){(void 0===t||c(e,t))&&(t=e)}),void 0===t)throw new Error(\"Cannot calculate max of an empty array\");return t}var c=n(r(63)),f=o(\"max\",{\"Array | Matrix\":u,\"Array | Matrix, number | BigNumber\":function(e,t){return a(e,t.valueOf(),s)},\"...\":function(){return u(arguments)}});return f.toTex=\"\\\\max\\\\left(${args}\\\\right)\",f}var i=r(290),a=r(291);t.name=\"max\",t.factory=n},function(e,t){\"use strict\";e.exports=function r(e,t){e&&e.isMatrix===!0&&(e=e.valueOf());for(var n=0,i=e.length;i>n;n++){var a=e[n];Array.isArray(a)?r(a,t):t(a)}}},function(e,t,r){\"use strict\";function n(e,t,r){var a,o,s,u;if(0>=t){if(Array.isArray(e[0])){for(u=i(e),o=[],a=0;a<u.length;a++)o[a]=n(u[a],t-1,r);return o}for(s=e[0],a=1;a<e.length;a++)s=r(s,e[a]);return s}for(o=[],a=0;a<e.length;a++)o[a]=n(e[a],t-1,r);return o}function i(e){var t,r,n=e.length,i=e[0].length,a=[];for(r=0;i>r;r++){var o=[];for(t=0;n>t;t++)o.push(e[t][r]);a.push(o)}return a}var a=r(40).size,o=r(43);e.exports=function(e,t,r){var i=Array.isArray(e)?a(e):e.size();if(0>t)throw new o(t);if(t>=i.length)throw new o(t,i.length);return e&&e.isMatrix===!0?e.create(n(e.valueOf(),t,r)):n(e,t,r)}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(293));return o(\"mean\",{\"...any\":function(e){if(2==e.length&&a(e[0])){var t=e[1];\"number\"==typeof t?e[1]=t-1:t&&t.isBigNumber===!0&&(e[1]=t.minus(1))}try{return s.apply(null,e)}catch(r){throw i(r)}}})}var i=r(278).transform,a=r(288);t.name=\"mean\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(e,t){var r=o(e,t,f),n=Array.isArray(e)?i(e):e.size();return l(r,n[t])}function c(e){var t=0,r=0;if(a(e,function(e){t=f(t,e),r++}),0===r)throw new Error(\"Cannot calculate mean of an empty array\");return l(t,r)}var f=n(r(50)),l=n(r(294)),p=s(\"mean\",{\"Array | Matrix\":c,\"Array | Matrix, number | BigNumber\":u,\"...\":function(){return c(arguments)}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(40).size,a=r(290),o=r(291);t.name=\"mean\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(295)),s=n(r(296)),u=n(r(299)),c=n(r(51)),f=n(r(298)),l=n(r(57)),p=a(\"divide\",i({\"Array | Matrix, Array | Matrix\":function(e,t){return s(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,o,!1);break;case\"dense\":r=l(e,t,o,!1)}return r},\"Array, any\":function(e,t){return l(c(e),t,o,!1).valueOf()},\"any, Array | Matrix\":function(e,t){return s(e,u(t))}},o.signatures));return p.toTex=\"\\\\frac{${args[0]}}{${args[1]}}\",p}var i=r(3).extend;t.name=\"divide\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){function i(t,r){var n=r.re*r.re+r.im*r.im;return 0!=n?new e.Complex((t.re*r.re+t.im*r.im)/n,(t.im*r.re-t.re*r.im)/n):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?t.im/0:0)}var a=n(\"divide\",{\"number, number\":function(e,t){return e/t},\"Complex, Complex\":i,\"BigNumber, BigNumber\":function(e,t){return e.div(t)},\"Fraction, Fraction\":function(e,t){return e.div(t)},\"Unit, number\":function(e,t){var r=e.clone();return r.value=(null===r.value?r._normalize(1):r.value)/t,r},\"number, Unit\":function(e,t){var r=t.pow(-1);return r.value=(null===r.value?r._normalize(1):r.value)*e,r},\"Unit, Unit\":function(e,t){return e.divide(t)}});return a}t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(52)),f=n(r(297)),l=n(r(48)),p=n(r(298)),m=n(r(57)),h=e.DenseMatrix,g=e.SparseMatrix,v=o(\"multiply\",i({\"Array, Array\":function(e,t){d(a.size(e),a.size(t));var r=v(u(e),u(t));return r&&r.isMatrix===!0?r.valueOf():r},\"Matrix, Matrix\":function(e,t){var r=e.size(),n=t.size();return d(r,n),1===r.length?1===n.length?y(e,t,r[0]):x(e,t):1===n.length?b(e,t):N(e,t)},\"Matrix, Array\":function(e,t){return v(e,u(t))},\"Array, Matrix\":function(e,t){return v(u(e,t.storage()),t)},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=p(e,t,f,!1);break;case\"dense\":r=m(e,t,f,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=p(t,e,f,!0);break;case\"dense\":r=m(t,e,f,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,f,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,f,!0).valueOf()}},f.signatures)),d=function(e,t){switch(e.length){case 1:switch(t.length){case 1:if(e[0]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Vectors must have the same length\");break;case 2:if(e[0]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Vector length (\"+e[0]+\") must match Matrix rows (\"+t[0]+\")\");break;default:throw new Error(\"Can only multiply a 1 or 2 dimensional matrix (Matrix B has \"+t.length+\" dimensions)\")}break;case 2:switch(t.length){case 1:if(e[1]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Matrix columns (\"+e[1]+\") must match Vector length (\"+t[0]+\")\");break;case 2:if(e[1]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Matrix A columns (\"+e[1]+\") must match Matrix B rows (\"+t[0]+\")\");break;default:throw new Error(\"Can only multiply a 1 or 2 dimensional matrix (Matrix B has \"+t.length+\" dimensions)\")}break;default:throw new Error(\"Can only multiply a 1 or 2 dimensional matrix (Matrix A has \"+e.length+\" dimensions)\")}},y=function(e,t,r){if(0===r)throw new Error(\"Cannot multiply two empty vectors\");var n,i=e._data,a=e._datatype,s=t._data,u=t._datatype,l=c,p=f;a&&u&&a===u&&\"string\"==typeof a&&(n=a,l=o.find(c,[n,n]),p=o.find(f,[n,n]));for(var m=p(i[0],s[0]),h=1;r>h;h++)m=l(m,p(i[h],s[h]));return m},x=function(e,t){switch(t.storage()){case\"dense\":return w(e,t)}throw new Error(\"Not implemented\")},w=function(e,t){var r,n=e._data,i=e._size,a=e._datatype,s=t._data,u=t._size,l=t._datatype,p=i[0],m=u[1],g=c,v=f;a&&l&&a===l&&\"string\"==typeof a&&(r=a,g=o.find(c,[r,r]),v=o.find(f,[r,r]));for(var d=[],y=0;m>y;y++){for(var x=v(n[0],s[0][y]),w=1;p>w;w++)x=g(x,v(n[w],s[w][y]));d[y]=x}return 1===m?d[0]:new h({data:d,size:[m],datatype:r})},b=function(e,t){switch(e.storage()){case\"dense\":return E(e,t);case\"sparse\":return _(e,t)}},N=function(e,t){switch(e.storage()){case\"dense\":switch(t.storage()){case\"dense\":return M(e,t);case\"sparse\":return A(e,t)}break;case\"sparse\":switch(t.storage()){case\"dense\":return O(e,t);case\"sparse\":return T(e,t)}}},E=function(e,t){var r,n=e._data,i=e._size,a=e._datatype,s=t._data,u=t._datatype,l=i[0],p=i[1],m=c,g=f;a&&u&&a===u&&\"string\"==typeof a&&(r=a,m=o.find(c,[r,r]),g=o.find(f,[r,r]));for(var v=[],d=0;l>d;d++){for(var y=n[d],x=g(y[0],s[0]),w=1;p>w;w++)x=m(x,g(y[w],s[w]));v[d]=x}return 1===l?v[0]:new h({data:v,size:[l],datatype:r})},M=function(e,t){var r,n=e._data,i=e._size,a=e._datatype,s=t._data,u=t._size,l=t._datatype,p=i[0],m=i[1],g=u[1],v=c,d=f;a&&l&&a===l&&\"string\"==typeof a&&(r=a,v=o.find(c,[r,r]),d=o.find(f,[r,r]));for(var y=[],x=0;p>x;x++){var w=n[x];y[x]=[];for(var b=0;g>b;b++){for(var N=d(w[0],s[0][b]),E=1;m>E;E++)N=v(N,d(w[E],s[E][b]));y[x][b]=N}}return 1===p&&1===g?y[0][0]:new h({data:y,size:[p,g],datatype:r})},A=function(e,t){var r=e._data,n=e._size,i=e._datatype,a=t._values,s=t._index,u=t._ptr,p=t._size,m=t._datatype;if(!a)throw new Error(\"Cannot multiply Dense Matrix times Pattern only Matrix\");var h,v=n[0],d=p[1],y=c,x=f,w=l,b=0;i&&m&&i===m&&\"string\"==typeof i&&(h=i,y=o.find(c,[h,h]),x=o.find(f,[h,h]),w=o.find(l,[h,h]),b=o.convert(0,h));for(var N=[],E=[],M=[],A=new g({values:N,index:E,ptr:M,size:[v,d],datatype:h}),_=0;d>_;_++){M[_]=E.length;var O=u[_],T=u[_+1];if(T>O)for(var C=0,S=0;v>S;S++){for(var z,B=S+1,k=O;T>k;k++){var I=s[k];C!==B?(z=x(r[S][I],a[k]),C=B):z=y(z,x(r[S][I],a[k]))}C!==B||w(z,b)||(E.push(S),N.push(z))}}return M[d]=E.length,1===v&&1===d?1===N.length?N[0]:0:A},_=function(e,t){var r=e._values,n=e._index,i=e._ptr,a=e._datatype;if(!r)throw new Error(\"Cannot multiply Pattern only Matrix times Dense Matrix\");var s,u=t._data,p=t._datatype,m=e._size[0],h=t._size[0],v=[],d=[],y=[],x=c,w=f,b=l,N=0;a&&p&&a===p&&\"string\"==typeof a&&(s=a,x=o.find(c,[s,s]),w=o.find(f,[s,s]),b=o.find(l,[s,s]),N=o.convert(0,s));var E=[],M=[];y[0]=0;for(var A=0;h>A;A++){var _=u[A];if(!b(_,N))for(var O=i[A],T=i[A+1],C=O;T>C;C++){var S=n[C];M[S]?E[S]=x(E[S],w(_,r[C])):(M[S]=!0,d.push(S),E[S]=w(_,r[C]))}}for(var z=d.length,B=0;z>B;B++){var k=d[B];v[B]=E[k]}return y[1]=d.length,1===m?1===v.length?v[0]:0:new g({values:v,index:d,ptr:y,size:[m,1],datatype:s})},O=function(e,t){var r=e._values,n=e._index,i=e._ptr,a=e._datatype;if(!r)throw new Error(\"Cannot multiply Pattern only Matrix times Dense Matrix\");var s,u=t._data,p=t._datatype,m=e._size[0],h=t._size[0],v=t._size[1],d=c,y=f,x=l,w=0;a&&p&&a===p&&\"string\"==typeof a&&(s=a,d=o.find(c,[s,s]),y=o.find(f,[s,s]),x=o.find(l,[s,s]),w=o.convert(0,s));for(var b=[],N=[],E=[],M=new g({values:b,index:N,ptr:E,size:[m,v],datatype:s}),A=[],_=[],O=0;v>O;O++){E[O]=N.length;for(var T=O+1,C=0;h>C;C++){var S=u[C][O];if(!x(S,w))for(var z=i[C],B=i[C+1],k=z;B>k;k++){var I=n[k];_[I]!==T?(_[I]=T,N.push(I),A[I]=y(S,r[k])):A[I]=d(A[I],y(S,r[k]))}}for(var R=E[O],P=N.length,U=R;P>U;U++){var q=N[U];b[U]=A[q]}}return E[v]=N.length,1===m&&1===v?1===b.length?b[0]:0:M},T=function(e,t){var r,n=e._values,i=e._index,a=e._ptr,s=e._datatype,u=t._values,l=t._index,p=t._ptr,m=t._datatype,h=e._size[0],v=t._size[1],d=n&&u,y=c,x=f;s&&m&&s===m&&\"string\"==typeof s&&(r=s,y=o.find(c,[r,r]),x=o.find(f,[r,r]));for(var w,b,N,E,M,A,_,O,T=d?[]:void 0,C=[],S=[],z=new g({values:T,index:C,ptr:S,size:[h,v],datatype:r}),B=d?[]:void 0,k=[],I=0;v>I;I++){S[I]=C.length;var R=I+1;for(M=p[I],A=p[I+1],E=M;A>E;E++)if(O=l[E],d)for(b=a[O],N=a[O+1],w=b;N>w;w++)_=i[w],k[_]!==R?(k[_]=R,C.push(_),B[_]=x(u[E],n[w])):B[_]=y(B[_],x(u[E],n[w]));else for(b=a[O],N=a[O+1],w=b;N>w;w++)_=i[w],k[_]!==R&&(k[_]=R,C.push(_));if(d)for(var P=S[I],U=C.length,q=P;U>q;q++){var L=C[q];T[q]=B[L]}}return S[v]=C.length,1===h&&1===v&&d?1===T.length?T[0]:0:z};return v.toTex=\"\\\\left(${args[0]}\"+s.operators.multiply+\"${args[1]}\\\\right)\",v}var i=r(3).extend,a=r(40);t.name=\"multiply\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){var i=n(\"multiplyScalar\",{\"number, number\":function(e,t){return e*t},\"Complex, Complex\":function(t,r){return new e.Complex(t.re*r.re-t.im*r.im,t.re*r.im+t.im*r.re)},\"BigNumber, BigNumber\":function(e,t){return e.times(t)},\"Fraction, Fraction\":function(e,t){return e.mul(t)},\"number, Unit\":function(e,t){var r=t.clone();return r.value=null===r.value?r._normalize(e):r.value*e,r},\"Unit, number\":function(e,t){var r=e.clone();return r.value=null===r.value?r._normalize(t):r.value*t,r},\"Unit, Unit\":function(e,t){return e.multiply(t)}});return i}t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(48)),o=e.SparseMatrix,s=function(e,t,r,n){var s=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype;if(!s)throw new Error(\"Cannot perform operation on Pattern Sparse Matrix and Scalar value\");var p,m=f[0],h=f[1],g=a,v=0,d=r;\"string\"==typeof l&&(p=l,g=i.find(a,[p,p]),v=i.convert(0,p),t=i.convert(t,p),d=i.find(r,[p,p]));for(var y=[],x=[],w=[],b=new o({values:y,index:x,ptr:w,size:[m,h],datatype:p}),N=0;h>N;N++){w[N]=x.length;for(var E=c[N],M=c[N+1],A=E;M>A;A++){var _=u[A],O=n?d(t,s[A]):d(s[A],t);g(O,v)||(x.push(_),y.push(O))}}return w[h]=x.length,b};return s}t.name=\"algorithm11\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t,r){var n,i,a,o,s;if(1==t){if(o=e[0][0],0==o)throw Error(\"Cannot calculate inverse, determinant is zero\");return[[u(1,o)]]}if(2==t){var h=p(e);if(0==h)throw Error(\"Cannot calculate inverse, determinant is zero\");return[[u(e[1][1],h),u(l(e[0][1]),h)],[u(l(e[1][0]),h),u(e[0][0],h)]]}var g=e.concat();for(n=0;t>n;n++)g[n]=g[n].concat();for(var v=m(t).valueOf(),d=0;r>d;d++){for(n=d;t>n&&0==g[n][d];)n++;if(n==t||0==g[n][d])throw Error(\"Cannot calculate inverse, determinant is zero\");n!=d&&(s=g[d],g[d]=g[n],g[n]=s,s=v[d],v[d]=v[n],v[n]=s);var y=g[d],x=v[d];for(n=0;t>n;n++){var w=g[n],b=v[n];if(n!=d){if(0!=w[d]){for(a=u(l(w[d]),y[d]),i=d;r>i;i++)w[i]=c(w[i],f(a,y[i]));for(i=0;r>i;i++)b[i]=c(b[i],f(a,x[i]))}}else{for(a=y[d],i=d;r>i;i++)w[i]=u(w[i],a);for(i=0;r>i;i++)b[i]=u(b[i],a)}}}return v}var s=n(r(51)),u=n(r(295)),c=n(r(52)),f=n(r(296)),l=n(r(300)),p=n(r(301)),m=n(r(304)),h=a(\"inv\",{\"Array | Matrix\":function(e){var t=e.isMatrix===!0?e.size():i.array.size(e);switch(t.length){case 1:if(1==t[0])return e.isMatrix===!0?s([u(1,e.valueOf()[0])]):[u(1,e[0])];throw new RangeError(\"Matrix must be square (size: \"+i.string.format(t)+\")\");case 2:var r=t[0],n=t[1];if(r==n)return e.isMatrix===!0?s(o(e.valueOf(),r,n),e.storage()):o(e,r,n);throw new RangeError(\"Matrix must be square (size: \"+i.string.format(t)+\")\");default:throw new RangeError(\"Matrix must be two dimensional (size: \"+i.string.format(t)+\")\")}},any:function(e){return u(1,e)}});return h.toTex=\"\\\\left(${args[0]}\\\\right)^{-1}\",h}var i=r(39);t.name=\"inv\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"unaryMinus\",{number:function(e){return-e},Complex:function(t){return new e.Complex(-t.re,-t.im)},BigNumber:function(e){return e.neg()},Fraction:function(e){return e.neg()},Unit:function(e){var t=e.clone();return t.value=-e.value,t},\"Array | Matrix\":function(e){return i(e,s,!0)}});return s.toTex=o.operators.unaryMinus+\"\\\\left(${args[0]}\\\\right)\",s}var i=r(19);t.name=\"unaryMinus\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function s(e,t,r){if(1==t)return a.clone(e[0][0]);if(2==t)return f(l(e[0][0],e[1][1]),l(e[1][0],e[0][1]));for(var n=function(e){var t,r,n=new Array(e.length),i=0;for(t=1;t<e.length;t++)i=c(i,e[t][t]);for(t=0;t<e.length;t++){for(n[t]=new Array(e.length),n[t][t]=p(i),r=0;t>r;r++)n[t][r]=0;for(r=t+1;r<e.length;r++)n[t][r]=e[t][r];t+1<e.length&&(i=f(i,e[t+1][t+1]))}return n},i=e,o=0;t-1>o;o++)i=l(n(i),e);return t%2==0?p(i[0][0]):i[0][0]}var u=n(r(51)),c=n(r(50)),f=n(r(302)),l=n(r(296)),p=n(r(300)),m=i(\"det\",{any:function(e){return a.clone(e)},\"Array | Matrix\":function(e){var t;switch(e&&e.isMatrix===!0?t=e.size():Array.isArray(e)?(e=u(e),t=e.size()):t=[],t.length){case 0:return a.clone(e);case 1:if(1==t[0])return a.clone(e.valueOf()[0]);throw new RangeError(\"Matrix must be square (size: \"+o.format(t)+\")\");case 2:var r=t[0],n=t[1];if(r==n)return s(e.clone().valueOf(),r,n);throw new RangeError(\"Matrix must be square (size: \"+o.format(t)+\")\");default:throw new RangeError(\"Matrix must be two dimensional (size: \"+o.format(t)+\")\")}}});return m.toTex=\"\\\\det\\\\left(${args[0]}\\\\right)\",m}var i=r(39),a=i.object,o=i.string;t.name=\"det\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=n(r(51)),u=n(r(52)),c=n(r(300)),f=n(r(53)),l=n(r(60)),p=n(r(303)),m=n(r(55)),h=n(r(56)),g=n(r(57)),v=a(\"subtract\",{\"number, number\":function(e,t){return e-t},\"Complex, Complex\":function(t,r){return new e.Complex(t.re-r.re,t.im-r.im)},\"BigNumber, BigNumber\":function(e,t){return e.minus(t)},\"Fraction, Fraction\":function(e,t){return e.sub(t)},\"Unit, Unit\":function(e,t){if(null==e.value)throw new Error(\"Parameter x contains a unit with undefined value\");if(null==t.value)throw new Error(\"Parameter y contains a unit with undefined value\");if(!e.equalBase(t))throw new Error(\"Units do not match\");var r=e.clone();return r.value-=t.value,r.fixPrefix=!1,r},\"Matrix, Matrix\":function(e,t){var r=e.size(),n=t.size();if(r.length!==n.length)throw new i(r.length,n.length);var a;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":a=p(e,t,v);break;default:a=l(t,e,v,!0)}break;default:switch(t.storage()){case\"sparse\":a=f(e,t,v,!1);break;default:a=h(e,t,v)}}return a},\"Array, Array\":function(e,t){return v(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return v(s(e),t)},\"Matrix, Array\":function(e,t){return v(e,s(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=m(e,c(t),u);break;default:r=g(e,t,v)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=m(t,e,v,!0);break;default:r=g(t,e,v,!0)}return r},\"Array, any\":function(e,t){return g(s(e),t,v,!1).valueOf()},\"any, Array\":function(e,t){return g(s(t),e,v,!0).valueOf()}});return v.toTex=\"\\\\left(${args[0]}\"+o.operators.subtract+\"${args[1]}\\\\right)\",v}var i=r(42);t.name=\"subtract\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));var E,M,A,_,O=n&&p?[]:void 0,T=[],C=[],S=new s({values:O,index:T,ptr:C,size:[y,x],datatype:d}),z=O?[]:void 0,B=O?[]:void 0,k=[],I=[];for(M=0;x>M;M++){C[M]=T.length;var R=M+1;for(A=c[M],_=c[M+1];_>A;A++)E=u[A],T.push(E),k[E]=R,z&&(z[E]=n[A]);for(A=h[M],_=h[M+1];_>A;A++)E=m[A],k[E]!==R&&T.push(E),I[E]=R,B&&(B[E]=p[A]);if(O)for(A=C[M];A<T.length;){E=T[A];var P=k[E],U=I[E];if(P===R||U===R){var q=P===R?z[E]:b,L=U===R?B[E]:b,F=N(q,L);w(F,b)?T.splice(A,1):(O.push(F),A++)}}}return C[x]=T.length,S};return u}var i=r(42);t.name=\"algorithm05\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){switch(e.length){case 0:return t?c(t):[];case 1:return u(e[0],e[0],t);case 2:return u(e[0],e[1],t);default:throw new Error(\"Vector containing two values expected\")}}function u(t,r,n){var o=t&&t.isBigNumber===!0?e.BigNumber:r&&r.isBigNumber===!0?e.BigNumber:null;if(t&&t.isBigNumber===!0&&(t=t.toNumber()),r&&r.isBigNumber===!0&&(r=r.toNumber()),!a(t)||1>t)throw new Error(\"Parameters in function eye must be positive integers\");if(!a(r)||1>r)throw new Error(\"Parameters in function eye must be positive integers\");var s=o?new e.BigNumber(1):1,u=o?new o(0):0,c=[t,r];if(n){var f=e.Matrix.storage(n);return f.diagonal(c,s,0,u)}for(var l=i.resize([],c,u),p=r>t?t:r,m=0;p>m;m++)l[m][m]=s;return l}var c=n(r(51)),f=o(\"eye\",{\"\":function(){return\"matrix\"===t.matrix?c([]):[]},string:function(e){return c(e)},\"number | BigNumber\":function(e){return u(e,e,\"matrix\"===t.matrix?\"default\":void 0)},\"number | BigNumber, string\":function(e,t){return u(e,e,t)},\"number | BigNumber, number | BigNumber\":function(e,r){return u(e,r,\"matrix\"===t.matrix?\"default\":void 0)},\"number | BigNumber, number | BigNumber, string\":function(e,t,r){return u(e,t,r)},Array:function(e){return s(e)},\"Array, string\":function(e,t){return s(e,t)},Matrix:function(e){return s(e.valueOf(),e.storage())},\"Matrix, string\":function(e,t){return s(e.valueOf(),t)}});return f.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",f}var i=r(40),a=r(6).isInteger;t.name=\"eye\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(306));return o(\"min\",{\"...any\":function(e){if(2==e.length&&a(e[0])){var t=e[1];\"number\"==typeof t?e[1]=t-1:t&&t.isBigNumber===!0&&(e[1]=t.minus(1))}try{return s.apply(null,e)}catch(r){throw i(r)}}})}var i=r(278).transform,a=r(288);t.name=\"min\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){return c(e,t)?e:t}function u(e){var t=void 0;if(i(e,function(e){(void 0===t||c(e,t))&&(t=e)}),void 0===t)throw new Error(\"Cannot calculate min of an empty array\");return t}var c=n(r(59)),f=o(\"min\",{\"Array | Matrix\":u,\"Array | Matrix, number | BigNumber\":function(e,t){return a(e,t.valueOf(),s)},\"...\":function(){return u(arguments)}});return f.toTex=\"\\\\min\\\\left(${args}\\\\right)\",f}var i=r(290),a=r(291);t.name=\"min\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(308));return i(\"range\",{\"...any\":function(e){var t=e.length-1,r=e[t];return\"boolean\"!=typeof r&&e.push(!0),a.apply(null,e)}})}t.name=\"range\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e){return\"array\"===t.matrix?e:p(e)}function o(r,n){var i=l(r);if(!i)throw new SyntaxError('String \"'+r+'\" is no valid range');var o;return\"bignumber\"===t.number?(o=n?f:c,a(o(new e.BigNumber(i.start),new e.BigNumber(i.end),new e.BigNumber(i.step)))):(o=n?u:s,a(o(i.start,i.end,i.step)))}function s(e,t,r){var n=[],i=e;if(r>0)for(;t>i;)n.push(i),i+=r;else if(0>r)for(;i>t;)n.push(i),i+=r;return n}function u(e,t,r){var n=[],i=e;if(r>0)for(;t>=i;)n.push(i),i+=r;else if(0>r)for(;i>=t;)n.push(i),i+=r;return n}function c(e,t,r){var n=[],i=e;if(r.gt(m))for(;i.lt(t);)n.push(i),i=i.plus(r);else if(r.lt(m))for(;i.gt(t);)n.push(i),i=i.plus(r);return n}function f(e,t,r){var n=[],i=e;if(r.gt(m))for(;i.lte(t);)n.push(i),i=i.plus(r);else if(r.lt(m))for(;i.gte(t);)n.push(i),i=i.plus(r);return n}function l(e){var t=e.split(\":\"),r=t.map(function(e){return Number(e)}),n=r.some(function(e){return isNaN(e)});if(n)return null;switch(r.length){case 2:return{start:r[0],end:r[1],step:1};case 3:return{start:r[0],end:r[2],step:r[1]};default:return null}}var p=n(r(51)),m=new e.BigNumber(0),h=new e.BigNumber(1),g=i(\"range\",{string:o,\"string, boolean\":o,\"number, number\":function(e,t){return a(s(e,t,1))},\"number, number, number\":function(e,t,r){return a(s(e,t,r))},\"number, number, boolean\":function(e,t,r){return a(r?u(e,t,1):s(e,t,1))},\"number, number, number, boolean\":function(e,t,r,n){return a(n?u(e,t,r):s(e,t,r))},\"BigNumber, BigNumber\":function(e,t){return a(c(e,t,h))},\"BigNumber, BigNumber, BigNumber\":function(e,t,r){return a(c(e,t,r))},\"BigNumber, BigNumber, boolean\":function(e,t,r){return a(r?f(e,t,h):c(e,t,h))},\"BigNumber, BigNumber, BigNumber, boolean\":function(e,t,r,n){return a(n?f(e,t,r):c(e,t,r))}});return g.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",g}t.name=\"range\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(310));return a(\"subset\",{\"...any\":function(e){try{return o.apply(null,e)}catch(t){throw i(t)}}})}var i=r(278).transform;t.name=\"subset\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(e,t){if(!t||t.isIndex!==!0)throw new TypeError(\"Index expected\");if(1!=t.size().length)throw new o(t.size().length,1);var r=e.length;a(t.min()[0],r),a(t.max()[0],r);var n=t.dimension(0),i=\"\";return n.forEach(function(t){i+=e.charAt(t)}),i}function c(e,t,r,n){if(!t||t.isIndex!==!0)throw new TypeError(\"Index expected\");if(1!=t.size().length)throw new o(t.size().length,1);if(void 0!==n){if(\"string\"!=typeof n||1!==n.length)throw new TypeError(\"Single character expected as defaultValue\")}else n=\" \";var i=t.dimension(0),s=i.size()[0];if(s!=r.length)throw new o(i.size()[0],r.length);var u=e.length;a(t.min()[0]),a(t.max()[0]);for(var c=[],f=0;u>f;f++)c[f]=e.charAt(f);if(i.forEach(function(e,t){c[e]=r.charAt(t[0])}),c.length>u)for(f=u-1,s=c.length;s>f;f++)c[f]||(c[f]=n);return c.join(\"\")}var f=n(r(51)),l=s(\"subset\",{\"Array, Index\":function(e,t){var r=f(e),n=r.subset(t);return n&&n.valueOf()},\"Matrix, Index\":function(e,t){return e.subset(t)},\"string, Index\":u,\"Array, Index, any\":function(e,t,r){return f(i(e)).subset(t,r,void 0).valueOf()},\"Array, Index, any, any\":function(e,t,r,n){return f(i(e)).subset(t,r,n).valueOf()},\"Matrix, Index, any\":function(e,t,r){return e.clone().subset(t,r)},\"Matrix, Index, any, any\":function(e,t,r,n){return e.clone().subset(t,r,n)},\"string, Index, string\":c,\"string, Index, string, string\":c});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(3).clone,a=r(40).validateIndex,o=r(42);t.name=\"subset\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e)throw new Error('Argument \"doc\" missing');this.doc=e}var u=n(r(273))();return s.prototype.type=\"Help\",s.prototype.isHelp=!0,s.prototype.toString=function(){var e=this.doc||{},t=\"\\n\";if(e.name&&(t+=\"Name: \"+e.name+\"\\n\\n\"),e.category&&(t+=\"Category: \"+e.category+\"\\n\\n\"),e.description&&(t+=\"Description:\\n \"+e.description+\"\\n\\n\"),e.syntax&&(t+=\"Syntax:\\n \"+e.syntax.join(\"\\n \")+\"\\n\\n\"),e.examples){t+=\"Examples:\\n\";for(var r=0;r<e.examples.length;r++){var n=e.examples[r];t+=\" \"+n+\"\\n\";var i;try{i=u.eval(n)}catch(o){i=o}i&&!i.isHelp&&(t+=\" \"+a.format(i,{precision:14})+\"\\n\")}t+=\"\\n\"}return e.seealso&&(t+=\"See also: \"+e.seealso.join(\", \")+\"\\n\"),t},s.prototype.toJSON=function(){var e=i.clone(this.doc);return e.mathjs=\"Help\",e},s.fromJSON=function(e){var t={};for(var r in e)\"mathjs\"!==r&&(t[r]=e[r]);return new s(t)},s.prototype.valueOf=s.prototype.toString,s}var i=r(3),a=r(23);t.name=\"Help\",t.path=\"type\",t.factory=n},function(e,t,r){e.exports=[r(313),r(341),r(373),r(389),r(399),r(404),r(407),r(412),r(421),r(431),r(437),r(445),r(486),r(488)]},function(e,t,r){e.exports=[r(314),r(316),r(336),r(338),r(340)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var o=n(r(51)),s=n(r(315)),u=n(r(52)),c=n(r(295)),f=n(r(297)),l=n(r(302)),p=n(r(63)),m=n(r(48)),h=n(r(300)),g=e.SparseMatrix,v=e.DenseMatrix,d=e.Spa,y=i(\"lup\",{DenseMatrix:function(e){return x(e)},SparseMatrix:function(e){return w(e)},Array:function(e){var t=o(e),r=x(t);return{L:r.L.valueOf(),U:r.U.valueOf(),p:r.p}}}),x=function(e){var t,r,n,i=e._size[0],o=e._size[1],h=Math.min(i,o),g=a.clone(e._data),d=[],y=[i,h],x=[],w=[h,o],b=[];for(t=0;i>t;t++)b[t]=t;for(r=0;o>r;r++){if(r>0)for(t=0;i>t;t++){var N=Math.min(t,r),E=0;for(n=0;N>n;n++)E=u(E,f(g[t][n],g[n][r]));g[t][r]=l(g[t][r],E)}var M=r,A=0,_=0;for(t=r;i>t;t++){var O=g[t][r],T=s(O);p(T,A)&&(M=t,A=T,_=O)}if(r!==M&&(b[r]=[b[M],b[M]=b[r]][0],v._swapRows(r,M,g)),i>r)for(t=r+1;i>t;t++){var C=g[t][r];m(C,0)||(g[t][r]=c(g[t][r],_))}}for(r=0;o>r;r++)for(t=0;i>t;t++)0===r&&(o>t&&(x[t]=[]),d[t]=[]),r>t?(o>t&&(x[t][r]=g[t][r]),i>r&&(d[t][r]=0)):t!==r?(o>t&&(x[t][r]=0),i>r&&(d[t][r]=g[t][r])):(o>t&&(x[t][r]=g[t][r]),i>r&&(d[t][r]=1));var S=new v({data:d,size:y}),z=new v({data:x,size:w}),B=[];for(t=0,h=b.length;h>t;t++)B[b[t]]=t;return{L:S,U:z,p:B,toString:function(){return\"L: \"+this.L.toString()+\"\\nU: \"+this.U.toString()+\"\\nP: \"+this.p}}},w=function(e){var t,r,n,i=e._size[0],a=e._size[1],o=Math.min(i,a),u=e._values,l=e._index,v=e._ptr,y=[],x=[],w=[],b=[i,o],N=[],E=[],M=[],A=[o,a],_=[],O=[];for(t=0;i>t;t++)_[t]=t,O[t]=t;var T=function(e,t){var r=O[e],n=O[t];_[r]=t,_[n]=e,O[e]=n,O[t]=r};for(r=0;a>r;r++){var C=new d;i>r&&(w.push(y.length),y.push(1),x.push(r)),M.push(N.length);var S=v[r],z=v[r+1];for(n=S;z>n;n++)t=l[n],C.set(_[t],u[n]);r>0&&C.forEach(0,r-1,function(e,t){g._forEachRow(e,y,x,w,function(r,n){r>e&&C.accumulate(r,h(f(n,t)))})});var B=r,k=C.get(r),I=s(k);C.forEach(r+1,i-1,function(e,t){var r=s(t);p(r,I)&&(B=e,I=r,k=t)}),r!==B&&(g._swapRows(r,B,b[1],y,x,w),g._swapRows(r,B,A[1],N,E,M),C.swap(r,B),T(r,B)),C.forEach(0,i-1,function(e,t){r>=e?(N.push(t),E.push(e)):(t=c(t,k),m(t,0)||(y.push(t),x.push(e)))})}return M.push(N.length),w.push(y.length),{L:new g({values:y,index:x,ptr:w,size:b}),U:new g({values:N,index:E,ptr:M,size:A}),p:_,toString:function(){return\"L: \"+this.L.toString()+\"\\nU: \"+this.U.toString()+\"\\nP: \"+this.p}}};return y}var i=r(39),a=i.object;t.name=\"lup\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"abs\",{number:Math.abs,Complex:function(e){var t=Math.abs(e.re),r=Math.abs(e.im);if(1e3>t&&1e3>r)return Math.sqrt(t*t+r*r);if(t>=r){var n=r/t;return t*Math.sqrt(1+n*n)}var i=t/r;return r*Math.sqrt(1+i*i)},BigNumber:function(e){return e.abs()},Fraction:function(e){return e.abs()},\"Array | Matrix\":function(e){return i(e,a,!0)},Unit:function(e){var t=e.clone();return t.value=Math.abs(t.value),t}});return a.toTex=\"\\\\left|${args[0]}\\\\right|\",a}var i=r(19);t.name=\"abs\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(317)),s=n(r(328)),u=i(\"slu\",{\"SparseMatrix, number, number\":function(e,t,r){if(!o(t)||0>t||t>3)throw new Error(\"Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]\");if(0>r||r>1)throw new Error(\"Partial pivoting threshold must be a number from 0 to 1\");var n=a(t,e,!1),i=s(e,n,r);return{L:i.L,U:i.U,p:i.pinv,q:n.q,toString:function(){return\"L: \"+this.L.toString()+\"\\nU: \"+this.U.toString()+\"\\np: \"+this.p.toString()+(this.q?\"\\nq: \"+this.q.toString():\"\")+\"\\n\";\n}}}});return u}var i=r(39),a=i.number,o=a.isInteger;t.name=\"slu\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(318)),a=n(r(323)),o=n(r(324)),s=n(r(325)),u=n(r(326)),c=function(e,t,r){var n,c=t._ptr,l=t._size,p=l[1],m={};if(m.q=i(e,t),e&&!m.q)return null;if(r){var h=e?a(t,null,m.q,0):t;m.parent=o(h,1);var g=s(m.parent,p);if(m.cp=u(h,m.parent,g,1),h&&m.parent&&m.cp&&f(h,m))for(m.unz=0,n=0;p>n;n++)m.unz+=m.cp[n]}else m.unz=4*c[p]+p,m.lnz=m.unz;return m},f=function(e,t){var r=e._ptr,n=e._index,i=e._size,a=i[0],o=i[1];t.pinv=[],t.leftmost=[];var s,u,c,f,l,p=t.parent,m=t.pinv,h=t.leftmost,g=[],v=0,d=a,y=a+o,x=a+2*o;for(u=0;o>u;u++)g[d+u]=-1,g[y+u]=-1,g[x+u]=0;for(s=0;a>s;s++)h[s]=-1;for(u=o-1;u>=0;u--)for(f=r[u],l=r[u+1],c=f;l>c;c++)h[n[c]]=u;for(s=a-1;s>=0;s--)m[s]=-1,u=h[s],-1!=u&&(0===g[x+u]++&&(g[y+u]=s),g[v+s]=g[d+u],g[d+u]=s);for(t.lnz=0,t.m2=a,u=0;o>u;u++)if(s=g[d+u],t.lnz++,0>s&&(s=t.m2++),m[s]=u,!(--x[u]<=0)){t.lnz+=g[x+u];var w=p[u];-1!=w&&(0===g[x+w]&&(g[y+w]=g[y+u]),g[v+g[y+u]]=g[d+w],g[d+w]=g[v+s],g[x+w]+=g[x+u])}for(s=0;a>s;s++)m[s]<0&&(m[s]=u++);return!0};return c}t.name=\"cs_sqr\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(319)),a=n(r(320)),o=n(r(321)),s=n(r(50)),u=n(r(296)),c=n(r(322)),f=function(e,t){if(!t||0>=e||e>3)return null;var r=t._size,n=r[0],s=r[1],u=0,c=Math.max(16,10*Math.sqrt(s));c=Math.min(s-2,c);var f=l(e,t,n,s,c);a(f,g,null);for(var v,d,y,x,w,b,N,E,M,A,_,O,T,C,S,z,B=f._index,k=f._ptr,I=k[s],R=[],P=[],U=0,q=s+1,L=2*(s+1),F=3*(s+1),D=4*(s+1),$=5*(s+1),j=6*(s+1),G=7*(s+1),H=R,Z=p(s,k,P,U,F,H,L,G,q,j,D,$),V=m(s,k,P,$,D,j,c,q,F,H,L),Y=0;s>V;){for(y=-1;s>Y&&-1==(y=P[F+Y]);Y++);-1!=P[L+y]&&(H[P[L+y]]=-1),P[F+Y]=P[L+y];var W=P[D+y],X=P[q+y];V+=X;var J=0;P[q+y]=-X;var K=k[y],Q=0===W?K:I,ee=Q;for(x=1;W+1>=x;x++){for(x>W?(b=y,N=K,E=P[U+y]-W):(b=B[K++],N=k[b],E=P[U+b]),w=1;E>=w;w++)v=B[N++],(M=P[q+v])<=0||(J+=M,P[q+v]=-M,B[ee++]=v,-1!=P[L+v]&&(H[P[L+v]]=H[v]),-1!=H[v]?P[L+H[v]]=P[L+v]:P[F+P[$+v]]=P[L+v]);b!=y&&(k[b]=i(y),P[j+b]=0)}for(0!==W&&(I=ee),P[$+y]=J,k[y]=Q,P[U+y]=ee-Q,P[D+y]=-2,Z=h(Z,u,j,s),A=Q;ee>A;A++)if(v=B[A],!((_=P[D+v])<=0)){M=-P[q+v];var te=Z-M;for(K=k[v],O=k[v]+_-1;O>=K;K++)b=B[K],P[j+b]>=Z?P[j+b]-=M:0!==P[j+b]&&(P[j+b]=P[$+b]+te)}for(A=Q;ee>A;A++){for(v=B[A],O=k[v],T=O+P[D+v]-1,C=O,S=0,z=0,K=O;T>=K;K++)if(b=B[K],0!==P[j+b]){var re=P[j+b]-Z;re>0?(z+=re,B[C++]=b,S+=b):(k[b]=i(y),P[j+b]=0)}P[D+v]=C-O+1;var ne=C,ie=O+P[U+v];for(K=T+1;ie>K;K++){d=B[K];var ae=P[q+d];0>=ae||(z+=ae,B[C++]=d,S+=d)}0===z?(k[v]=i(y),M=-P[q+v],J-=M,X+=M,V+=M,P[q+v]=0,P[D+v]=-1):(P[$+v]=Math.min(P[$+v],z),B[C]=B[ne],B[ne]=B[O],B[O]=y,P[U+v]=C-O+1,S=(0>S?-S:S)%s,P[L+v]=P[G+S],P[G+S]=v,H[v]=S)}for(P[$+y]=J,u=Math.max(u,J),Z=h(Z+u,u,j,s),A=Q;ee>A;A++)if(v=B[A],!(P[q+v]>=0))for(S=H[v],v=P[G+S],P[G+S]=-1;-1!=v&&-1!=P[L+v];v=P[L+v],Z++){for(E=P[U+v],_=P[D+v],K=k[v]+1;K<=k[v]+E-1;K++)P[j+B[K]]=Z;var oe=v;for(d=P[L+v];-1!=d;){var se=P[U+d]===E&&P[D+d]===_;for(K=k[d]+1;se&&K<=k[d]+E-1;K++)P[j+B[K]]!=Z&&(se=0);se?(k[d]=i(v),P[q+v]+=P[q+d],P[q+d]=0,P[D+d]=-1,d=P[L+d],P[L+oe]=d):(oe=d,d=P[L+d])}}for(K=Q,A=Q;ee>A;A++)v=B[A],(M=-P[q+v])<=0||(P[q+v]=M,z=P[$+v]+J-M,z=Math.min(z,s-V-M),-1!=P[F+z]&&(H[P[F+z]]=v),P[L+v]=P[F+z],H[v]=-1,P[F+z]=v,Y=Math.min(Y,z),P[$+v]=z,B[K++]=v);P[q+y]=X,0===(P[U+y]=K-Q)&&(k[y]=-1,P[j+y]=0),0!==W&&(I=K)}for(v=0;s>v;v++)k[v]=i(k[v]);for(d=0;s>=d;d++)P[F+d]=-1;for(d=s;d>=0;d--)P[q+d]>0||(P[L+d]=P[F+k[d]],P[F+k[d]]=d);for(b=s;b>=0;b--)P[q+b]<=0||-1!=k[b]&&(P[L+b]=P[F+k[b]],P[F+k[b]]=b);for(y=0,v=0;s>=v;v++)-1==k[v]&&(y=o(v,y,P,F,L,R,j));return R.splice(R.length-1,1),R},l=function(e,t,r,n,i){var a=c(t);if(1===e&&n===r)return s(t,a);if(2==e){for(var o=a._index,f=a._ptr,l=0,p=0;r>p;p++){var m=f[p];if(f[p]=l,!(f[p+1]-m>i))for(var h=f[p+1];h>m;m++)o[l++]=o[m]}return f[r]=l,t=c(a),u(a,t)}return u(a,t)},p=function(e,t,r,n,i,a,o,s,u,c,f,l){for(var p=0;e>p;p++)r[n+p]=t[p+1]-t[p];r[n+e]=0;for(var m=0;e>=m;m++)r[i+m]=-1,a[m]=-1,r[o+m]=-1,r[s+m]=-1,r[u+m]=1,r[c+m]=1,r[f+m]=0,r[l+m]=r[n+m];var g=h(0,0,c,e);return r[f+e]=-2,t[e]=-1,r[c+e]=0,g},m=function(e,t,r,n,a,o,s,u,c,f,l){for(var p=0,m=0;e>m;m++){var h=r[n+m];if(0===h)r[a+m]=-2,p++,t[m]=-1,r[o+m]=0;else if(h>s)r[u+m]=0,r[a+m]=-1,p++,t[m]=i(e),r[u+e]++;else{var g=r[c+h];-1!=g&&(f[g]=m),r[l+m]=r[c+h],r[c+h]=m}}return p},h=function(e,t,r,n){if(2>e||0>e+t){for(var i=0;n>i;i++)0!==r[i]&&(r[i]=1);e=2}return e},g=function(e,t){return e!=t};return f}t.name=\"cs_amd\",t.path=\"sparse\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e){return-e-2};return e}t.name=\"cs_flip\",t.path=\"sparse\",t.factory=r},function(e,t){\"use strict\";function r(){var e=function(e,t,r){for(var n=e._values,i=e._index,a=e._ptr,o=e._size,s=o[1],u=0,c=0;s>c;c++){var f=a[c];for(a[c]=u;f<a[c+1];f++)t(i[f],c,n?n[f]:1,r)&&(i[u]=i[f],n&&(n[u]=n[f]),u++)}return a[s]=u,i.splice(u,i.length-u),n&&n.splice(u,n.length-u),u};return e}t.name=\"cs_fkeep\",t.path=\"sparse\",t.factory=r},function(e,t){\"use strict\";function r(){var e=function(e,t,r,n,i,a,o){var s=0;for(r[o]=e;s>=0;){var u=r[o+s],c=r[n+u];-1==c?(s--,a[t++]=u):(r[n+u]=r[i+c],++s,r[o+s]=c)}return t};return e}t.name=\"cs_tdfs\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=e.DenseMatrix,f=e.SparseMatrix,l=o(\"transpose\",{Array:function(e){return l(u(e)).valueOf()},Matrix:function(e){var t,r=e.size();switch(r.length){case 1:t=e.clone();break;case 2:var n=r[0],i=r[1];if(0===i)throw new RangeError(\"Cannot transpose a 2D matrix with no columns (size: \"+a(r)+\")\");switch(e.storage()){case\"dense\":t=p(e,n,i);break;case\"sparse\":t=m(e,n,i)}break;default:throw new RangeError(\"Matrix must be a vector or two dimensional (size: \"+a(this._size)+\")\")}return t},any:function(e){return i(e)}}),p=function(e,t,r){for(var n,a=e._data,o=[],s=0;r>s;s++){n=o[s]=[];for(var u=0;t>u;u++)n[u]=i(a[u][s])}return new c({data:o,size:[r,t],datatype:e._datatype})},m=function(e,t,r){for(var n=e._values,a=e._index,o=e._ptr,s=n?[]:void 0,u=[],c=[],l=[],p=0;t>p;p++)l[p]=0;var m,h,g;for(m=0,h=a.length;h>m;m++)l[a[m]]++;for(var v=0,d=0;t>d;d++)c.push(v),v+=l[d],l[d]=c[d];for(c.push(v),g=0;r>g;g++)for(var y=o[g],x=o[g+1],w=y;x>w;w++){var b=l[a[w]]++;u[b]=g,n&&(s[b]=i(n[w]))}return new f({values:s,index:u,ptr:c,size:[r,t],datatype:e._datatype})};return l.toTex=\"\\\\left(${args[0]}\\\\right)\"+s.operators.transpose,l}var i=r(3).clone,a=r(23).format;t.name=\"transpose\",t.factory=n},function(e,t){\"use strict\";function r(e){var t=e.SparseMatrix,r=function(e,r,n,i){for(var a=e._values,o=e._index,s=e._ptr,u=e._size,c=e._datatype,f=u[0],l=u[1],p=i&&e._values?[]:null,m=[],h=[],g=0,v=0;l>v;v++){h[v]=g;for(var d=n?n[v]:v,y=s[d],x=s[d+1],w=y;x>w;w++){var b=r?r[o[w]]:o[w];m[g]=b,p&&(p[g]=a[w]),g++}}return h[l]=g,new t({values:p,index:m,ptr:h,size:[f,l],datatype:c})};return r}t.name=\"cs_permute\",t.path=\"sparse\",t.factory=r},function(e,t){\"use strict\";function r(){var e=function(e,t){if(!e)return null;var r,n,i=e._index,a=e._ptr,o=e._size,s=o[0],u=o[1],c=[],f=[],l=0,p=u;if(t)for(r=0;s>r;r++)f[p+r]=-1;for(var m=0;u>m;m++){c[m]=-1,f[l+m]=-1;for(var h=a[m],g=a[m+1],v=h;g>v;v++){var d=i[v];for(r=t?f[p+d]:d;-1!=r&&m>r;r=n)n=f[l+r],f[l+r]=m,-1==n&&(c[r]=m);t&&(f[p+d]=m)}}return c};return e}t.name=\"cs_etree\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(321)),a=function(e,t){if(!e)return null;var r,n=0,a=[],o=[],s=0,u=t,c=2*t;for(r=0;t>r;r++)o[s+r]=-1;for(r=t-1;r>=0;r--)-1!=e[r]&&(o[u+r]=o[s+e[r]],o[s+e[r]]=r);for(r=0;t>r;r++)-1==e[r]&&(n=i(r,n,o,s,u,a,c));return a};return a}t.name=\"cs_post\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(322)),a=n(r(327)),o=function(e,t,r,n){if(!e||!t||!r)return null;var o,s,u,c,f,l,p,m=e._size,h=m[0],g=m[1],v=4*g+(n?g+h+1:0),d=[],y=0,x=g,w=2*g,b=3*g,N=4*g,E=5*g+1;for(u=0;v>u;u++)d[u]=-1;var M=[],A=i(e),_=A._index,O=A._ptr;for(u=0;g>u;u++)for(s=r[u],M[s]=-1==d[b+s]?1:0;-1!=s&&-1==d[b+s];s=t[s])d[b+s]=u;if(n){for(u=0;g>u;u++)d[r[u]]=u;for(o=0;h>o;o++){for(u=g,l=O[o],p=O[o+1],f=l;p>f;f++)u=Math.min(u,d[_[f]]);d[E+o]=d[N+u],d[N+u]=o}}for(o=0;g>o;o++)d[y+o]=o;for(u=0;g>u;u++){for(s=r[u],-1!=t[s]&&M[t[s]]--,c=n?d[N+u]:s;-1!=c;c=n?d[E+c]:-1)for(f=O[c];f<O[c+1];f++){o=_[f];var T=a(o,s,d,b,x,w,y);T.jleaf>=1&&M[s]++,2==T.jleaf&&M[T.q]--}-1!=t[s]&&(d[y+s]=t[s])}for(s=0;g>s;s++)-1!=t[s]&&(M[t[s]]+=M[s]);return M};return o}t.name=\"cs_counts\",t.path=\"sparse\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e,t,r,n,i,a,o){var s,u,c,f,l=0;if(t>=e||r[n+t]<=r[i+e])return-1;if(r[i+e]=r[n+t],c=r[a+e],r[a+e]=t,-1===c)l=1,f=e;else{for(l=2,f=c;f!=r[o+f];f=r[o+f]);for(s=c;s!=f;s=u)u=r[o+s],r[o+s]=f}return{jleaf:l,q:f}};return e}t.name=\"cs_leaf\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(315)),a=n(r(295)),o=n(r(296)),s=n(r(63)),u=n(r(329)),c=n(r(330)),f=e.SparseMatrix,l=function(e,t,r){if(!e)return null;var n,l=e._size,p=l[1],m=100,h=100;t&&(n=t.q,m=t.lnz||m,h=t.unz||h);var g,v,d=[],y=[],x=[],w=new f({values:d,index:y,ptr:x,size:[p,p]}),b=[],N=[],E=[],M=new f({values:b,index:N,ptr:E,size:[p,p]}),A=[],_=[],O=[];for(g=0;p>g;g++)_[g]=0,A[g]=-1,x[g+1]=0;m=0,h=0;for(var T=0;p>T;T++){x[T]=m,E[T]=h;var C=n?n[T]:T,S=c(w,e,C,O,_,A,1),z=-1,B=-1;for(v=S;p>v;v++)if(g=O[v],A[g]<0){var k=i(_[g]);s(k,B)&&(B=k,z=g)}else N[h]=A[g],b[h++]=_[g];if(-1==z||0>=B)return null;A[C]<0&&u(i(_[C]),o(B,r))&&(z=C);var I=_[z];for(N[h]=T,b[h++]=I,A[z]=T,y[m]=z,d[m++]=1,v=S;p>v;v++)g=O[v],A[g]<0&&(y[m]=g,d[m++]=a(_[g],I)),_[g]=0}for(x[p]=m,E[p]=h,v=0;m>v;v++)y[v]=A[y[v]];return d.splice(m,d.length-m),y.splice(m,y.length-m),b.splice(h,b.length-h),N.splice(h,N.length-h),{L:w,U:M,pinv:A}};return l}t.name=\"cs_lu\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"largerEq\",{\"boolean, boolean\":function(e,t){return e>=t},\"number, number\":function(e,r){return e>=r||i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.gte(t)},\"Fraction, Fraction\":function(e,t){return-1!==e.compare(t)},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value>=r.value||i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e>=t},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.largerEq+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"largerEq\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(295)),a=n(r(296)),o=n(r(302)),s=n(r(331)),u=function(e,t,r,n,u,c,f){var l,p,m,h,g=e._values,v=e._index,d=e._ptr,y=e._size,x=y[1],w=t._values,b=t._index,N=t._ptr,E=s(e,t,r,n,c);for(l=E;x>l;l++)u[n[l]]=0;for(p=N[r],m=N[r+1],l=p;m>l;l++)u[b[l]]=w[l];for(var M=E;x>M;M++){var A=n[M],_=c?c[A]:A;if(!(0>_))for(p=d[_],m=d[_+1],u[A]=i(u[A],g[f?p:m-1]),l=f?p+1:p,h=f?m:m-1;h>l;l++){var O=v[l];u[O]=o(u[O],a(g[l],u[A]))}}return E};return u}t.name=\"cs_spsolve\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(332)),a=n(r(333)),o=n(r(334)),s=function(e,t,r,n,s){var u,c,f,l=e._ptr,p=e._size,m=t._index,h=t._ptr,g=p[1],v=g;for(c=h[r],f=h[r+1],u=c;f>u;u++){var d=m[u];a(l,d)||(v=i(d,e,v,n,s))}for(u=v;g>u;u++)o(l,n[u]);return v};return s}t.name=\"cs_reach\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(333)),a=n(r(334)),o=n(r(335)),s=function(e,t,r,n,s){var u,c,f,l=t._index,p=t._ptr,m=t._size,h=m[1],g=0;for(n[0]=e;g>=0;){e=n[g];var v=s?s[e]:e;i(p,e)||(a(p,e),n[h+g]=0>v?0:o(p[v]));var d=1;for(c=n[h+g],f=0>v?0:o(p[v+1]);f>c;c++)if(u=l[c],!i(p,u)){n[h+g]=c,n[++g]=u,d=0;break}d&&(g--,n[--r]=e)}return r};return s}t.name=\"cs_dfs\",t.path=\"sparse\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e,t){return e[t]<0};return e}t.name=\"cs_marked\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(319)),a=function(e,t){e[t]=i(e[t])};return a}t.name=\"cs_mark\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(319)),a=function(e){return 0>e?i(e):e};return a}t.name=\"cs_unflip\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(295)),s=n(r(297)),u=n(r(302)),c=n(r(48)),f=n(r(337)),l=e.DenseMatrix,p=i(\"lsolve\",{\"SparseMatrix, Array | Matrix\":function(e,t){return h(e,t)},\"DenseMatrix, Array | Matrix\":function(e,t){return m(e,t)},\"Array, Array | Matrix\":function(e,t){var r=a(e),n=m(r,t);return n.valueOf()}}),m=function(e,t){t=f(e,t,!0);for(var r=t._data,n=e._size[0],i=e._size[1],a=[],p=e._data,m=0;i>m;m++){var h,g=r[m][0]||0;if(c(g,0))h=0;else{var v=p[m][m];if(c(v,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");h=o(g,v);for(var d=m+1;n>d;d++)r[d]=[u(r[d][0]||0,s(h,p[d][m]))]}a[m]=[h]}return new l({data:a,size:[n,1]})},h=function(e,t){t=f(e,t,!0);for(var r,n,i=t._data,a=e._size[0],p=e._size[1],m=e._values,h=e._index,g=e._ptr,v=[],d=0;p>d;d++){var y=i[d][0]||0;if(c(y,0))v[d]=[0];else{var x=0,w=[],b=[],N=g[d+1];for(n=g[d];N>n;n++)r=h[n],r===d?x=m[n]:r>d&&(w.push(m[n]),b.push(r));if(c(x,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");var E=o(y,x);for(n=0,N=b.length;N>n;n++)r=b[n],i[r]=[u(i[r][0]||0,s(E,w[n]))];v[d]=[E]}}return new l({data:v,size:[a,1]})};return p}t.name=\"lsolve\",t.factory=n},function(e,t,r){\"use strict\";function n(e){var t=e.DenseMatrix,r=function(e,r,n){var i=e.size();if(2!==i.length)throw new RangeError(\"Matrix must be two dimensional (size: \"+a.format(i)+\")\");var u=i[0],c=i[1];if(u!==c)throw new RangeError(\"Matrix must be square (size: \"+a.format(i)+\")\");var f,l,p;if(r&&r.isMatrix===!0){var m=r.size();if(1===m.length){if(m[0]!==u)throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");for(f=[],p=r._data,l=0;u>l;l++)f[l]=[p[l]];return new t({data:f,size:[u,1],datatype:r._datatype})}if(2===m.length){if(m[0]!==u||1!==m[1])throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");if(r.isDenseMatrix===!0){if(n){for(f=[],p=r._data,l=0;u>l;l++)f[l]=[p[l][0]];return new t({data:f,size:[u,1],datatype:r._datatype})}return r}for(f=[],l=0;u>l;l++)f[l]=[0];for(var h=r._values,g=r._index,v=r._ptr,d=v[1],y=v[0];d>y;y++)l=g[y],f[l][0]=h[y];return new t({data:f,size:[u,1],datatype:r._datatype})}throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\")}if(s(r)){var x=o.size(r);if(1===x.length){if(x[0]!==u)throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");for(f=[],l=0;u>l;l++)f[l]=[r[l]];return new t({data:f,size:[u,1]})}if(2===x.length){if(x[0]!==u||1!==x[1])throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");for(f=[],l=0;u>l;l++)f[l]=[r[l][0]];return new t({data:f,size:[u,1]})}throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\")}};return r}var i=r(39),a=i.string,o=i.array,s=Array.isArray;t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(314)),u=n(r(316)),c=n(r(339)),f=n(r(337)),l=n(r(340)),p=n(r(336)),m=a(\"lusolve\",{\"Array, Array | Matrix\":function(e,t){e=o(e);var r=s(e),n=g(r.L,r.U,r.p,null,t);return n.valueOf()},\"DenseMatrix, Array | Matrix\":function(e,t){var r=s(e);return g(r.L,r.U,r.p,null,t)},\"SparseMatrix, Array | Matrix\":function(e,t){var r=s(e);return g(r.L,r.U,r.p,null,t)},\"SparseMatrix, Array | Matrix, number, number\":function(e,t,r,n){var i=u(e,r,n);return g(i.L,i.U,i.p,i.q,t)},\"Object, Array | Matrix\":function(e,t){return g(e.L,e.U,e.p,e.q,t)}}),h=function(e){if(e&&e.isMatrix===!0)return e;if(i(e))return o(e);throw new TypeError(\"Invalid Matrix LU decomposition\")},g=function(e,t,r,n,i){e=h(e),t=h(t),i=f(e,i,!1),r&&(i._data=c(r,i._data));var a=p(e,i),o=l(t,a);return n&&(o._data=c(n,o._data)),o};return m}var i=Array.isArray;t.name=\"lusolve\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e,t,r){var n,r=t.length,i=[];if(e)for(n=0;r>n;n++)i[e[n]]=t[n];else for(n=0;r>n;n++)i[n]=t[n];return i};return e}t.name=\"cs_ipvec\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(295)),s=n(r(297)),u=n(r(302)),c=n(r(48)),f=n(r(337)),l=e.DenseMatrix,p=i(\"usolve\",{\"SparseMatrix, Array | Matrix\":function(e,t){return h(e,t)},\"DenseMatrix, Array | Matrix\":function(e,t){return m(e,t)},\"Array, Array | Matrix\":function(e,t){var r=a(e),n=m(r,t);return n.valueOf()}}),m=function(e,t){t=f(e,t,!0);for(var r=t._data,n=e._size[0],i=e._size[1],a=[],p=e._data,m=i-1;m>=0;m--){var h,g=r[m][0]||0;if(c(g,0))h=0;else{var v=p[m][m];if(c(v,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");h=o(g,v);for(var d=m-1;d>=0;d--)r[d]=[u(r[d][0]||0,s(h,p[d][m]))]}a[m]=[h]}return new l({data:a,size:[n,1]})},h=function(e,t){t=f(e,t,!0);for(var r,n,i=t._data,a=e._size[0],p=e._size[1],m=e._values,h=e._index,g=e._ptr,v=[],d=p-1;d>=0;d--){var y=i[d][0]||0;if(c(y,0))v[d]=[0];else{var x=0,w=[],b=[],N=g[d],E=g[d+1];for(n=E-1;n>=N;n--)r=h[n],r===d?x=m[n]:d>r&&(w.push(m[n]),b.push(r));if(c(x,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");var M=o(y,x);for(n=0,E=b.length;E>n;n++)r=b[n],i[r]=[u(i[r][0],s(M,w[n]))];v[d]=[M]}}return new l({data:v,size:[a,1]})};return p}t.name=\"usolve\",t.factory=n},function(e,t,r){e.exports=[r(315),r(50),r(52),r(342),r(344),r(345),r(294),r(346),r(348),r(350),r(343),r(353),r(354),r(355),r(356),r(359),r(352),r(362),r(363),r(296),r(364),r(366),r(351),r(367),r(369),r(357),r(370),r(302),r(300),r(371),r(372)]},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){if(0===e)return e;var t,r=0>e;return r&&(e=-e),isFinite(e)?(t=Math.exp(Math.log(e)/3),t=(e/(t*t)+2*t)/3):t=e,r?-t:t}function s(r,n){var i=r.toPolar(),a=l(new e.Complex(o(i.r),0),p(new e.Complex(0,i.phi/3)));if(n){var s=[a,l(new e.Complex(o(i.r),0),p(new e.Complex(0,i.phi/3+2*Math.PI/3))),l(new e.Complex(o(i.r),0),p(new e.Complex(0,i.phi/3-2*Math.PI/3)))];return\"array\"===t.matrix?s:f(s)}return a}function u(e){if(e.isZero())return e;var t,r=e.isNegative();return r&&(e=e.neg()),e.isFinite()?(t=e.ln().div(3).exp(),t=e.div(t.times(t)).plus(t.times(2)).div(3)):t=1/0,r?t.neg():t}function c(e){var t=e.value<0;t&&(e.value=-e.value);var r=e.pow(1/3);return t&&(r.value=-r.value),r}var f=n(r(51)),l=a.find(n(r(297)),[\"Complex,Complex\"]),p=a.find(n(r(343)),[\"Complex\"]),m=a(\"cbrt\",{number:o,Complex:s,\"Complex, boolean\":s,BigNumber:u,Unit:c,\"Array | Matrix\":function(e){return i(e,m,!0)}});return m.toTex=\"\\\\sqrt[3]{${args[0]}}\",m}var i=r(19);t.name=\"cbrt\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"exp\",{number:Math.exp,Complex:function(t){var r=Math.exp(t.re);return new e.Complex(r*Math.cos(t.im),r*Math.sin(t.im))},BigNumber:function(e){return e.exp()},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\exp\\\\left(${args[0]}\\\\right)\",a}var i=r(19);t.name=\"exp\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"ceil\",{number:Math.ceil,Complex:function(t){return new e.Complex(Math.ceil(t.re),Math.ceil(t.im))},BigNumber:function(e){return e.ceil()},Fraction:function(e){return e.ceil()},\"Array | Matrix\":function(e){return i(e,a,!0)}});return a.toTex=\"\\\\left\\\\lceil${args[0]}\\\\right\\\\rceil\",a}var i=r(19);t.name=\"ceil\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=a.find(n(r(297)),[\"Complex,Complex\"]),s=a(\"cube\",{number:function(e){return e*e*e},Complex:function(e){return o(o(e,e),e)},BigNumber:function(e){return e.times(e).times(e)},Fraction:function(e){return e.mul(e).mul(e)},\"Array | Matrix\":function(e){return i(e,s,!0)},Unit:function(e){return e.pow(3)}});return s.toTex=\"\\\\left(${args[0]}\\\\right)^3\",s}var i=r(19);t.name=\"cube\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(295)),s=r(30),u=n(r(347)),c=n(r(60)),f=n(r(61)),l=n(r(298)),p=n(r(62)),m=n(r(56)),h=n(r(57)),g=i(\"dotDivide\",{\"any, any\":o,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,o,!1);break;default:r=u(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=m(e,t,o)}}return r},\"Array, Array\":function(e,t){return g(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return g(a(e),t)},\"Matrix, Array\":function(e,t){return g(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,o,!1);break;default:r=h(e,t,o,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=p(t,e,o,!0);break;default:r=h(t,e,o,!0)}return r},\"Array, any\":function(e,t){return h(a(e),t,o,!1).valueOf()},\"any, Array\":function(e,t){return h(a(t),e,o,!0).valueOf()}});return g.toTex=\"\\\\left(${args[0]}\"+s.operators.dotDivide+\"${args[1]}\\\\right)\",g}t.name=\"dotDivide\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r,n){var u=e._data,c=e._size,f=e._datatype,l=t._values,p=t._index,m=t._ptr,h=t._size,g=t._datatype;if(c.length!==h.length)throw new i(c.length,h.length);if(c[0]!==h[0]||c[1]!==h[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+c+\") must match Matrix B (\"+h+\")\");if(!l)throw new Error(\"Cannot perform operation on Dense Matrix and Pattern Sparse Matrix\");var v,d=c[0],y=c[1],x=o,w=0,b=r;\"string\"==typeof f&&f===g&&(v=f,x=a.find(o,[v,v]),w=a.convert(0,v),b=a.find(r,[v,v]));for(var N=[],E=[],M=[],A=0;y>A;A++){M[A]=E.length;for(var _=m[A],O=m[A+1],T=_;O>T;T++){var C=p[T],S=n?b(l[T],u[C][A]):b(u[C][A],l[T]);x(S,w)||(E.push(C),N.push(S))}}return M[y]=E.length,new s({values:N,index:E,ptr:M,size:[d,y],datatype:v})};return u}var i=r(42);t.name=\"algorithm02\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(297)),s=r(30),u=n(r(347)),c=n(r(349)),f=n(r(298)),l=n(r(56)),p=n(r(57)),m=i(\"dotMultiply\",{\"any, any\":o,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=u(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,o,!1);break;default:r=l(e,t,o)}}return r},\"Array, Array\":function(e,t){return m(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(a(e),t)},\"Matrix, Array\":function(e,t){return m(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,o,!1);break;default:r=p(e,t,o,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=f(t,e,o,!0);break;default:r=p(t,e,o,!0)}return r},\"Array, any\":function(e,t){return p(a(e),t,o,!1).valueOf()},\"any, Array\":function(e,t){return p(a(t),e,o,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+s.operators.dotMultiply+\"${args[1]}\\\\right)\",m}t.name=\"dotMultiply\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));var E,M,A,_,O,T=n&&p?[]:void 0,C=[],S=[],z=new s({values:T,index:C,ptr:S,size:[y,x],datatype:d}),B=T?[]:void 0,k=[];for(M=0;x>M;M++){S[M]=C.length;var I=M+1;if(B)for(_=h[M],O=h[M+1],A=_;O>A;A++)E=m[A],k[E]=I,B[E]=p[A];for(_=c[M],O=c[M+1],A=_;O>A;A++)if(E=u[A],B){var R=k[E]===I?B[E]:b,P=N(n[A],R);w(P,b)||(C.push(E),T.push(P))}else C.push(E)}return S[x]=C.length,z};return u}var i=r(42);t.name=\"algorithm09\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(351)),s=r(30),u=n(r(60)),c=n(r(61)),f=n(r(298)),l=n(r(62)),p=n(r(56)),m=n(r(57)),h=i(\"dotPow\",{\"any, any\":o,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=u(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,o,!1);break;default:r=p(e,t,o)}}return r},\"Array, Array\":function(e,t){return h(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(a(e),t)},\"Matrix, Array\":function(e,t){return h(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(a(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(a(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.dotPow+\"${args[1]}\\\\right)\",h}t.name=\"dotPow\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(r,n){return i(n)||r>=0||t.predictable?Math.pow(r,n):u(new e.Complex(r,0),new e.Complex(n,0))}function u(e,t){return p(g(h(e),t))}function c(e,t){if(!i(t)||0>t)throw new TypeError(\"For A^b, b must be a positive integer (value is \"+t+\")\");var r=a(e);if(2!=r.length)throw new Error(\"For A^b, A must be 2 dimensional (A has \"+r.length+\" dimensions)\");if(r[0]!=r[1])throw new Error(\"For A^b, A must be square (size is \"+r[0]+\"x\"+r[1]+\")\");for(var n=m(r[0]).valueOf(),o=e;t>=1;)1==(1&t)&&(n=g(o,n)),t>>=1,o=g(o,o);return n}function f(e,t){return v(c(e.valueOf(),t))}var l=r(30),p=n(r(343)),m=n(r(304)),h=n(r(352)),g=n(r(296)),v=n(r(51)),d=o(\"pow\",{\"number, number\":s,\"Complex, Complex\":u,\"BigNumber, BigNumber\":function(r,n){return n.isInteger()||r>=0||t.predictable?r.pow(n):u(new e.Complex(r.toNumber(),0),new e.Complex(n.toNumber(),0))},\"Fraction, Fraction\":function(e,r){if(1!==r.d){if(t.predictable)throw new Error(\"Function pow does not support non-integer exponents for fractions.\");return s(e.valueOf(),r.valueOf())}return e.pow(r)},\"Array, number\":c,\"Array, BigNumber\":function(e,t){return c(e,t.toNumber())},\"Matrix, number\":f,\"Matrix, BigNumber\":function(e,t){return f(e,t.toNumber())},\"Unit, number\":function(e,t){return e.pow(t)}});return d.toTex=\"\\\\left(${args[0]}\\\\right)\"+l.operators.pow+\"{${args[1]}}\",d}var i=r(6).isInteger,a=r(40).size;t.name=\"pow\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(r){return r>=0||t.predictable?Math.log(r):c(new e.Complex(r,0))}function s(t){return new e.Complex(Math.log(Math.sqrt(t.re*t.re+t.im*t.im)),Math.atan2(t.im,t.re))}var u=n(r(295)),c=a(\"log\",{number:o,Complex:s,BigNumber:function(r){return!r.isNegative()||t.predictable?r.ln():s(new e.Complex(r.toNumber(),0))},\"Array | Matrix\":function(e){return i(e,c)},\"any, any\":function(e,t){return u(c(e),c(t))}});return c.toTex={1:\"\\\\ln\\\\left(${args[0]}\\\\right)\",2:\"\\\\log_{${args[1]}}\\\\left(${args[0]}\\\\right)\"},c}var i=r(19);t.name=\"log\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"fix\",{number:function(e){return e>0?Math.floor(e):Math.ceil(e)},Complex:function(t){return new e.Complex(t.re>0?Math.floor(t.re):Math.ceil(t.re),t.im>0?Math.floor(t.im):Math.ceil(t.im))},BigNumber:function(e){return e.isNegative()?e.ceil():e.floor()},Fraction:function(e){return e.s<0?e.ceil():e.floor()},\"Array | Matrix\":function(e){return i(e,a,!0)}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(19);t.name=\"fix\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"floor\",{number:Math.floor,Complex:function(t){return new e.Complex(Math.floor(t.re),Math.floor(t.im))},BigNumber:function(e){return e.floor()},Fraction:function(e){return e.floor()},\"Array | Matrix\":function(e){return i(e,a,!0)}});return a.toTex=\"\\\\left\\\\lfloor${args[0]}\\\\right\\\\rfloor\",a}var i=r(19);t.name=\"floor\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(t,r){if(!t.isInt()||!r.isInt())throw new Error(\"Parameters in function gcd must be integer numbers\");for(var n=new e.BigNumber(0);!r.isZero();){var i=t.mod(r);t=r,r=i}return t.lt(n)?t.neg():t}var s=n(r(51)),u=n(r(53)),c=n(r(54)),f=n(r(55)),l=n(r(56)),p=n(r(57)),m=a(\"gcd\",{\"number, number\":i,\"BigNumber, BigNumber\":o,\"Fraction, Fraction\":function(e,t){return e.gcd(t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,m);break;default:r=u(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,m,!1);break;default:r=l(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(s(e),t)},\"Matrix, Array\":function(e,t){return m(e,s(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,m,!1);break;default:r=p(e,t,m,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=f(t,e,m,!0);break;default:r=p(t,e,m,!0)}return r},\"Array, number | BigNumber\":function(e,t){return p(s(e),t,m,!1).valueOf()},\"number | BigNumber, Array\":function(e,t){return p(s(t),e,m,!0).valueOf()},\"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber\":function(e,t,r){for(var n=m(e,t),i=0;i<r.length;i++)n=m(n,r[i]);return n}});return m.toTex=\"\\\\gcd\\\\left(${args}\\\\right)\",m}function i(e,t){if(!a(e)||!a(t))throw new Error(\"Parameters in function gcd must be integer numbers\");for(var r;0!=t;)r=e%t,e=t,t=r;return 0>e?-e:e}var a=r(6).isInteger;t.name=\"gcd\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){for(var t=0,r=0,n=0;n<e.length;n++){var i=s(e[n]);p(r,i)?(t=f(t,f(c(r,i),c(r,i))),t=u(t,1),r=i):t=u(t,m(i)?f(c(i,r),c(i,r)):i)}return f(r,l(t))}var s=n(r(315)),u=n(r(52)),c=n(r(295)),f=n(r(297)),l=n(r(357)),p=n(r(59)),m=n(r(358)),h=a(\"hypot\",{\"... number | BigNumber\":o,Array:function(e){return h.apply(h,i(e))},Matrix:function(e){return h.apply(h,i(e.toArray()))}});return h.toTex=\"\\\\hypot\\\\left(${args}\\\\right)\",h}var i=r(40).flatten;t.name=\"hypot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(r){return r>=0||t.predictable?Math.sqrt(r):o(new e.Complex(r,0))}function o(t){var r,n,i=Math.sqrt(t.re*t.re+t.im*t.im);return r=t.re>=0?.5*Math.sqrt(2*(i+t.re)):Math.abs(t.im)/Math.sqrt(2*(i-t.re)),n=t.re<=0?.5*Math.sqrt(2*(i-t.re)):Math.abs(t.im)/Math.sqrt(2*(i+t.re)),t.im>=0?new e.Complex(r,n):new e.Complex(r,-n)}var s=n(\"sqrt\",{number:a,Complex:o,BigNumber:function(e){return!e.isNegative()||t.predictable?e.sqrt():a(e.toNumber())},\"Array | Matrix\":function(e){return i(e,s,!0)},Unit:function(e){return e.pow(.5)}});return s.toTex=\"\\\\sqrt{${args[0]}}\",s}var i=r(19);t.name=\"sqrt\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isPositive\",{number:function(e){return e>0},BigNumber:function(e){return!e.isNeg()&&!e.isZero()&&!e.isNaN()},Fraction:function(e){return e.s>0&&e.n>0},Unit:function(e){return e.value>0},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isPositive\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(t,r){if(!t.isInt()||!r.isInt())throw new Error(\"Parameters in function lcm must be integer numbers\");if(t.isZero()||r.isZero())return new e.BigNumber(0);for(var n=t.times(r);!r.isZero();){var i=r;\nr=t.mod(i),t=i}return n.div(t).abs()}var s=n(r(51)),u=n(r(347)),c=n(r(360)),f=n(r(298)),l=n(r(56)),p=n(r(57)),m=a(\"lcm\",{\"number, number\":i,\"BigNumber, BigNumber\":o,\"Fraction, Fraction\":function(t,r){return 0===t.n&&0===r.n?new e.Fraction(0):t.mul(r).abs().div(t.gcd(r))},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,m);break;default:r=u(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,m,!1);break;default:r=l(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(s(e),t)},\"Matrix, Array\":function(e,t){return m(e,s(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,m,!1);break;default:r=p(e,t,m,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=f(t,e,m,!0);break;default:r=p(t,e,m,!0)}return r},\"Array, number | BigNumber\":function(e,t){return p(s(e),t,m,!1).valueOf()},\"number | BigNumber, Array\":function(e,t){return p(s(t),e,m,!0).valueOf()},\"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber\":function(e,t,r){for(var n=m(e,t),i=0;i<r.length;i++)n=m(n,r[i]);return n}});return m.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",m}function i(e,t){if(!a(e)||!a(t))throw new Error(\"Parameters in function lcm must be integer numbers\");if(0==e||0==t)return 0;for(var r,n=e*t;0!=t;)r=t,t=e%r,e=r;return Math.abs(n/e)}var a=r(6).isInteger;t.name=\"lcm\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(48)),u=e.SparseMatrix,c=function(e,t,r){var n=e._values,c=e._size,f=e._datatype,l=t._values,p=t._size,m=t._datatype;if(c.length!==p.length)throw new a(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+c+\") must match Matrix B (\"+p+\")\");var h,g=c[0],v=c[1],d=s,y=0,x=r;\"string\"==typeof f&&f===m&&(h=f,d=o.find(s,[h,h]),y=o.convert(0,h),x=o.find(r,[h,h]));for(var w=n&&l?[]:void 0,b=[],N=[],E=new u({values:w,index:b,ptr:N,size:[g,v],datatype:h}),M=w?[]:void 0,A=[],_=[],O=0;v>O;O++){N[O]=b.length;var T=O+1;if(i(e,O,A,M,_,T,E,x),i(t,O,A,M,_,T,E,x),M)for(var C=N[O];C<b.length;){var S=b[C];if(_[S]===T){var z=M[S];d(z,y)?b.splice(C,1):(w.push(z),C++)}else b.splice(C,1)}else for(var B=N[O];B<b.length;){var k=b[B];_[k]!==T?b.splice(B,1):B++}}return N[v]=b.length,E};return c}var i=r(361),a=r(42);t.name=\"algorithm06\",t.factory=n},function(e,t){\"use strict\";e.exports=function(e,t,r,n,i,a,o,s,u,c,f){var l,p,m,h,g=e._values,v=e._index,d=e._ptr,y=o._index;if(n)for(p=d[t],m=d[t+1],l=p;m>l;l++)h=v[l],r[h]!==a?(r[h]=a,y.push(h),c?(n[h]=u?s(g[l],f):s(f,g[l]),i[h]=a):n[h]=g[l]):(n[h]=u?s(g[l],n[h]):s(n[h],g[l]),i[h]=a);else for(p=d[t],m=d[t+1],l=p;m>l;l++)h=v[l],r[h]!==a?(r[h]=a,y.push(h)):i[h]=a}},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(t){return new e.Complex(Math.log(Math.sqrt(t.re*t.re+t.im*t.im))/Math.LN10,Math.atan2(t.im,t.re)/Math.LN10)}var o=n(\"log10\",{number:function(r){return r>=0||t.predictable?Math.log(r)/Math.LN10:o(new e.Complex(r,0))},Complex:a,BigNumber:function(r){return!r.isNegative()||t.predictable?r.log():a(new e.Complex(r.toNumber(),0))},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\log_{10}\\\\left(${args[0]}\\\\right)\",o}var i=r(19);t.name=\"log10\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(t>0)return e-t*Math.floor(e/t);if(0===t)return e;throw new Error(\"Cannot calculate mod for a negative divisor\")}var o=n(r(51)),s=r(30),u=n(r(347)),c=n(r(60)),f=n(r(303)),l=n(r(298)),p=n(r(62)),m=n(r(56)),h=n(r(57)),g=i(\"mod\",{\"number, number\":a,\"BigNumber, BigNumber\":function(e,t){return t.isZero()?e:e.mod(t)},\"Fraction, Fraction\":function(e,t){return e.mod(t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,g,!1);break;default:r=u(t,e,g,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,g,!1);break;default:r=m(e,t,g)}}return r},\"Array, Array\":function(e,t){return g(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return g(o(e),t)},\"Matrix, Array\":function(e,t){return g(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,g,!1);break;default:r=h(e,t,g,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=p(t,e,g,!0);break;default:r=h(t,e,g,!0)}return r},\"Array, any\":function(e,t){return h(o(e),t,g,!1).valueOf()},\"any, Array\":function(e,t){return h(o(t),e,g,!0).valueOf()}});return g.toTex=\"\\\\left(${args[0]}\"+s.operators.mod+\"${args[1]}\\\\right)\",g}t.name=\"mod\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){var r=e.size();if(1==r.length){if(t===Number.POSITIVE_INFINITY||\"inf\"===t){var n=0;return e.forEach(function(e){var t=o(e);p(t,n)&&(n=t)},!0),n}if(t===Number.NEGATIVE_INFINITY||\"-inf\"===t){var i;return e.forEach(function(e){var t=o(e);(!i||m(t,i))&&(i=t)},!0),i||0}if(\"fro\"===t)return a(e,2);if(\"number\"==typeof t&&!isNaN(t)){if(!l(t,0)){var h=0;return e.forEach(function(e){h=s(u(o(e),t),h)},!0),u(h,1/t)}return Number.POSITIVE_INFINITY}throw new Error(\"Unsupported parameter value\")}if(2==r.length){if(1===t){var d=[],y=0;return e.forEach(function(e,t){var r=t[1],n=s(d[r]||0,o(e));p(n,y)&&(y=n),d[r]=n},!0),y}if(t===Number.POSITIVE_INFINITY||\"inf\"===t){var x=[],w=0;return e.forEach(function(e,t){var r=t[0],n=s(x[r]||0,o(e));p(n,w)&&(w=n),x[r]=n},!0),w}if(\"fro\"===t)return c(g(f(v(e),e)));if(2===t)throw new Error(\"Unsupported parameter value, missing implementation of matrix singular value decomposition\");throw new Error(\"Unsupported parameter value\")}}var o=n(r(315)),s=n(r(50)),u=n(r(351)),c=n(r(357)),f=n(r(296)),l=n(r(48)),p=n(r(63)),m=n(r(59)),h=n(r(51)),g=n(r(365)),v=n(r(322)),d=i.find(o,[\"Complex\"]),y=i(\"norm\",{number:Math.abs,Complex:d,BigNumber:function(e){return e.abs()},\"boolean | null\":function(e){return Math.abs(e)},Array:function(e){return a(h(e),2)},Matrix:function(e){return a(e,2)},\"number | Complex | BigNumber | boolean | null, number | BigNumber | string\":function(e){return y(e)},\"Array, number | BigNumber | string\":function(e,t){return a(h(e),t)},\"Matrix, number | BigNumber | string\":function(e,t){return a(e,t)}});return y.toTex={1:\"\\\\left\\\\|${args[0]}\\\\right\\\\|\",2:\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\"},y}t.name=\"norm\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=n(r(50)),c=o(\"trace\",{Array:function(e){return c(s(e))},Matrix:function(e){var t;switch(e.storage()){case\"dense\":t=f(e);break;case\"sparse\":t=l(e)}return t},any:i}),f=function(e){var t=e._size,r=e._data;switch(t.length){case 1:if(1==t[0])return i(r[0]);throw new RangeError(\"Matrix must be square (size: \"+a(t)+\")\");case 2:var n=t[0],o=t[1];if(n===o){for(var s=0,c=0;n>c;c++)s=u(s,r[c][c]);return s}throw new RangeError(\"Matrix must be square (size: \"+a(t)+\")\");default:throw new RangeError(\"Matrix must be two dimensional (size: \"+a(t)+\")\")}},l=function(e){var t=e._values,r=e._index,n=e._ptr,i=e._size,o=i[0],s=i[1];if(o===s){var c=0;if(t.length>0)for(var f=0;s>f;f++)for(var l=n[f],p=n[f+1],m=l;p>m;m++){var h=r[m];if(h===f){c=u(c,t[m]);break}if(h>f)break}return c}throw new RangeError(\"Matrix must be square (size: \"+a(i)+\")\")};return c.toTex=\"\\\\mathrm{tr}\\\\left(${args[0]}\\\\right)\",c}var i=r(3).clone,a=r(23).format;t.name=\"trace\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=e.BigNumber.precision,i=e.BigNumber.constructor({precision:n+2}),a=new e.BigNumber(0),o=new i(1),s=r.isNegative();if(s&&(r=r.neg()),r.isZero())throw new Error(\"Root must be non-zero\");if(t.isNegative()&&!r.abs().mod(2).equals(1))throw new Error(\"Root must be odd when a is negative.\");if(t.isZero())return a;if(!t.isFinite())return s?a:t;var u=t.abs().pow(o.div(r));return u=t.isNeg()?u.neg():u,new e.BigNumber((s?o.div(u):u).toPrecision(n))}var u=n(r(51)),c=n(r(53)),f=n(r(347)),l=n(r(360)),p=n(r(298)),m=n(r(56)),h=n(r(57)),g=o(\"nthRoot\",{number:function(e){return i(e,2)},\"number, number\":i,BigNumber:function(t){return s(t,new e.BigNumber(2))},Complex:function(e){return a(e,2)},\"Complex, number\":a,\"BigNumber, BigNumber\":s,\"Array | Matrix\":function(e){return g(e,2)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":if(1!==t.density())throw new Error(\"Root must be non-zero\");r=l(e,t,g);break;default:r=f(t,e,g,!0)}break;default:switch(t.storage()){case\"sparse\":if(1!==t.density())throw new Error(\"Root must be non-zero\");r=c(e,t,g,!1);break;default:r=m(e,t,g)}}return r},\"Array, Array\":function(e,t){return g(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return g(u(e),t)},\"Matrix, Array\":function(e,t){return g(e,u(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=p(e,t,g,!1);break;default:r=h(e,t,g,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":if(1!==t.density())throw new Error(\"Root must be non-zero\");r=p(t,e,g,!0);break;default:r=h(t,e,g,!0)}return r},\"Array, number | BigNumber\":function(e,t){return g(u(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return g(e,u(t)).valueOf()}});return g.toTex=\"\\\\sqrt[${args[1]}]{${args[0]}}\",g}function i(e,t){var r=0>t;if(r&&(t=-t),0===t)throw new Error(\"Root must be non-zero\");if(0>e&&Math.abs(t)%2!=1)throw new Error(\"Root must be odd when a is negative.\");if(0==e)return 0;if(!isFinite(e))return r?0:e;var n=Math.pow(Math.abs(e),1/t);return n=0>e?-n:n,r?1/n:n}function a(e,t){if(0>t)throw new Error(\"Root must be greater than zero\");if(0===t)throw new Error(\"Root must be non-zero\");if(t%1!==0)throw new Error(\"Root must be an integer\");for(var r=e.toPolar(),n=[],i=Math.pow(r.r,1/t),a=0;t>a;a++)n.push({r:i,phi:(r.phi+2*Math.PI*a)/t});return n}t.name=\"nthRoot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var c=n(r(51)),f=n(r(48)),l=n(r(368)),p=n(r(298)),m=n(r(62)),h=n(r(57)),g=o(\"round\",{number:Math.round,\"number, number\":function(e,t){if(!a(t))throw new TypeError(u);if(0>t||t>15)throw new Error(\"Number of decimals in function round must be in te range of 0-15\");return i(e,t)},Complex:function(t){return new e.Complex(Math.round(t.re),Math.round(t.im))},\"Complex, number\":function(t,r){return new e.Complex(i(t.re,r),i(t.im,r))},\"Complex, BigNumber\":function(t,r){if(!r.isInteger())throw new TypeError(u);var n=r.toNumber();return new e.Complex(i(t.re,n),i(t.im,n))},\"number, BigNumber\":function(t,r){if(!r.isInteger())throw new TypeError(u);return new e.BigNumber(t).toDecimalPlaces(r.toNumber())},BigNumber:function(e){return e.toDecimalPlaces(0)},\"BigNumber, BigNumber\":function(e,t){if(!t.isInteger())throw new TypeError(u);return e.toDecimalPlaces(t.toNumber())},Fraction:function(e){return e.round()},\"Array | Matrix\":function(e){return s(e,g,!0)},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=p(e,t,g,!1);break;default:r=h(e,t,g,!1)}return r},\"number | Complex | BigNumber, Matrix\":function(e,t){if(!f(e,0)){var r;switch(t.storage()){case\"sparse\":r=m(t,e,g,!0);break;default:r=h(t,e,g,!0)}return r}return l(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return h(c(e),t,g,!1).valueOf()},\"number | Complex | BigNumber, Array\":function(e,t){return h(c(t),e,g,!0).valueOf()}});return g.toTex={1:\"\\\\left\\\\lfloor${args[0]}\\\\right\\\\rceil\",2:\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\"},g}function i(e,t){return parseFloat(o(e,t))}var a=r(6).isInteger,o=r(6).toFixed,s=r(19),u=\"Number of decimals in function round must be an integer\";t.name=\"round\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=u(t),i=n?new e.BigNumber(0):0;if(c(t),r){var o=f(r);return t.length>0?o.resize(t,i):o}var s=[];return t.length>0?a(s,t,i):s}function u(e){var t=!1;return e.forEach(function(e,r,n){e&&e.isBigNumber===!0&&(t=!0,n[r]=e.toNumber())}),t}function c(e){e.forEach(function(e){if(\"number\"!=typeof e||!i(e)||0>e)throw new Error(\"Parameters in function zeros must be positive integers\")})}var f=n(r(51)),l=o(\"zeros\",{\"\":function(){return\"array\"===t.matrix?s([]):s([],\"default\")},\"...number | BigNumber | string\":function(e){var r=e[e.length-1];if(\"string\"==typeof r){var n=e.pop();return s(e,n)}return\"array\"===t.matrix?s(e):s(e,\"default\")},Array:s,Matrix:function(e){var t=e.storage();return s(e.valueOf(),t)},\"Array | Matrix, string\":function(e,t){return s(e.valueOf(),t)}});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(6).isInteger,a=r(40).resize;t.name=\"zeros\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"sign\",{number:i.sign,Complex:function(t){var r=Math.sqrt(t.re*t.re+t.im*t.im);return new e.Complex(t.re/r,t.im/r)},BigNumber:function(t){return new e.BigNumber(t.cmp(0))},Fraction:function(t){return new e.Fraction(t.s)},\"Array | Matrix\":function(e){return a(e,o,!0)},Unit:function(e){return i.sign(e.value)}});return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}var i=r(6),a=r(19);t.name=\"sign\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"square\",{number:function(e){return e*e},Complex:function(t){return new e.Complex(t.re*t.re-t.im*t.im,t.re*t.im+t.im*t.re)},BigNumber:function(e){return e.times(e)},Fraction:function(e){return e.mul(e)},\"Array | Matrix\":function(e){return i(e,a,!0)},Unit:function(e){return e.pow(2)}});return a.toTex=\"\\\\left(${args[0]}\\\\right)^2\",a}var i=r(19);t.name=\"square\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"unaryPlus\",{number:function(e){return e},Complex:function(e){return e.clone()},BigNumber:function(e){return e},Fraction:function(e){return e},Unit:function(e){return e.clone()},\"Array | Matrix\":function(e){return i(e,s,!0)},\"boolean | string | null\":function(r){return\"bignumber\"==t.number?new e.BigNumber(+r):+r}});return s.toTex=o.operators.unaryPlus+\"\\\\left(${args[0]}\\\\right)\",s}var i=r(19);t.name=\"unaryPlus\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,r){var n,a,o,s=0,c=1,f=1,l=0;if(!i(e)||!i(r))throw new Error(\"Parameters in function xgcd must be integer numbers\");for(;r;)a=Math.floor(e/r),o=e%r,n=s,s=c-a*s,c=n,n=f,f=l-a*f,l=n,e=r,r=o;var p;return p=0>e?[-e,-c,-l]:[e,e?c:0,l],\"array\"===t.matrix?p:u(p)}function s(r,n){var i,a,o,s=new e.BigNumber(0),c=new e.BigNumber(0),f=new e.BigNumber(1),l=new e.BigNumber(1),p=new e.BigNumber(0);if(!r.isInt()||!n.isInt())throw new Error(\"Parameters in function xgcd must be integer numbers\");for(;!n.isZero();)a=r.div(n).floor(),o=r.mod(n),i=c,c=f.minus(a.times(c)),f=i,i=l,l=p.minus(a.times(l)),p=i,r=n,n=o;var m;return m=r.lt(s)?[r.neg(),f.neg(),p.neg()]:[r,r.isZero()?0:f,p],\"array\"===t.matrix?m:u(m)}var u=n(r(51)),c=a(\"xgcd\",{\"number, number\":o,\"BigNumber, BigNumber\":s});return c.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",c}var i=r(6).isInteger;t.name=\"xgcd\",t.factory=n},function(e,t,r){e.exports=[r(374),r(378),r(379),r(381),r(383),r(386),r(388)]},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(347)),f=n(r(360)),l=n(r(298)),p=n(r(56)),m=n(r(57)),h=o(\"bitAnd\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function bitAnd\");return e&t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(u(e),t)},\"Matrix, Array\":function(e,t){return h(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.bitAnd+\"${args[1]}\\\\right)\",h}var i=r(6).isInteger,a=r(375);t.name=\"bitAnd\",t.factory=n},function(e,t,r){var n=r(376);e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function bitAnd\");var r=e.constructor;if(e.isNaN()||t.isNaN())return new r(NaN);if(e.isZero()||t.eq(-1)||e.eq(t))return e;if(t.isZero()||e.eq(-1))return t;if(!e.isFinite()||!t.isFinite()){if(!e.isFinite()&&!t.isFinite())return e.isNegative()==t.isNegative()?e:new r(0);if(!e.isFinite())return t.isNegative()?e:e.isNegative()?new r(0):t;if(!t.isFinite())return e.isNegative()?t:t.isNegative()?new r(0):e}return n(e,t,function(e,t){return e&t})}},function(e,t,r){function n(e){for(var t=e.c,r=t[0]+\"\",n=1;n<t.length;++n){for(var i=t[n]+\"\",a=7-i.length;a--;)i=\"0\"+i;r+=i}var o;for(o=r.length-1;\"0\"==r.charAt(o);--o);var s=e.e,u=r.slice(0,o+1||1),c=u.length;if(s>0)if(++s>c)for(s-=c;s--;u+=\"0\");else c>s&&(u=u.slice(0,s)+\".\"+u.slice(s));for(var f=[0],n=0;n<u.length;){for(var l=f.length;l--;f[l]*=10);f[0]+=u.charAt(n++)<<0;for(var o=0;o<f.length;++o)f[o]>1&&(null==f[o+1]&&(f[o+1]=0),f[o+1]+=f[o]>>1,f[o]&=1)}return f.reverse()}var i=r(377);e.exports=function(e,t,r){var a,o,s=e.constructor,u=+(e.s<0),c=+(t.s<0);if(u){a=n(i(e));for(var f=0;f<a.length;++f)a[f]^=1}else a=n(e);if(c){o=n(i(t));for(var f=0;f<o.length;++f)o[f]^=1}else o=n(t);var l,p,m;a.length<=o.length?(l=a,p=o,m=u):(l=o,p=a,m=c);var h=l.length,g=p.length,v=1^r(u,c),d=new s(1^v),y=s.ONE,x=new s(2),w=s.precision;for(s.config({precision:1e9});h>0;)r(l[--h],p[--g])==v&&(d=d.plus(y)),y=y.times(x);for(;g>0;)r(m,p[--g])==v&&(d=d.plus(y)),y=y.times(x);return s.config({precision:w}),0==v&&(d.s=-d.s),d}},function(e,t){e.exports=function(e){if(e.isFinite()&&!e.isInteger())throw new Error(\"Integer expected in function bitNot\");var t=e.constructor,r=t.precision;t.config({precision:1e9});var e=e.plus(t.ONE);return e.s=-e.s||null,t.config({precision:r}),e}},function(e,t,r){\"use strict\";function n(e,t,n,s){var u=r(30),c=s(\"bitNot\",{number:function(e){if(!o(e))throw new Error(\"Integer expected in function bitNot\");return~e},BigNumber:a,\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=u.operators.bitNot+\"\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(377),o=r(6).isInteger;t.name=\"bitNot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(53)),f=n(r(54)),l=n(r(55)),p=n(r(56)),m=n(r(57)),h=o(\"bitOr\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function bitOr\");return e|t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(u(e),t)},\"Matrix, Array\":function(e,t){return h(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.bitOr+\"${args[1]}\\\\right)\",h}var i=r(6).isInteger,a=r(380);t.name=\"bitOr\",t.factory=n},function(e,t,r){var n=r(376);e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function bitOr\");var r=e.constructor;if(e.isNaN()||t.isNaN())return new r(NaN);var i=new r(-1);return e.isZero()||t.eq(i)||e.eq(t)?t:t.isZero()||e.eq(i)?e:e.isFinite()&&t.isFinite()?n(e,t,function(e,t){return e|t}):!e.isFinite()&&!e.isNegative()&&t.isNegative()||e.isNegative()&&!t.isNegative()&&!t.isFinite()?i:e.isNegative()&&t.isNegative()?e.isFinite()?e:t:e.isFinite()?t:e}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(60)),f=n(r(61)),l=n(r(62)),p=n(r(56)),m=n(r(57)),h=o(\"bitXor\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function bitXor\");return e^t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(u(e),t)},\"Matrix, Array\":function(e,t){return h(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.bitXor+\"${args[1]}\\\\right)\",h}var i=r(6).isInteger,a=r(382);t.name=\"bitXor\",t.factory=n},function(e,t,r){var n=r(376),i=r(377);e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function bitXor\");var r=e.constructor;if(e.isNaN()||t.isNaN())return new r(NaN);if(e.isZero())return t;if(t.isZero())return e;if(e.eq(t))return new r(0);var a=new r(-1);return e.eq(a)?i(t):t.eq(a)?i(e):e.isFinite()&&t.isFinite()?n(e,t,function(e,t){return e^t}):e.isFinite()||t.isFinite()?new r(e.isNegative()==t.isNegative()?1/0:-(1/0)):a}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(48)),f=n(r(368)),l=n(r(53)),p=n(r(347)),m=n(r(385)),h=n(r(55)),g=n(r(298)),v=n(r(56)),d=n(r(57)),y=o(\"leftShift\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function leftShift\");return e<<t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=m(e,t,y,!1);break;default:r=p(t,e,y,!0)}break;default:switch(t.storage()){case\"sparse\":r=l(e,t,y,!1);break;default:r=v(e,t,y)}}return r},\"Array, Array\":function(e,t){return y(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return y(u(e),t)},\"Matrix, Array\":function(e,t){return y(e,u(t))},\"Matrix, number | BigNumber\":function(e,t){if(!c(t,0)){var r;switch(e.storage()){case\"sparse\":r=g(e,t,y,!1);break;default:r=d(e,t,y,!1)}return r}return e.clone()},\"number | BigNumber, Matrix\":function(e,t){if(!c(e,0)){var r;switch(t.storage()){case\"sparse\":r=h(t,e,y,!0);break;default:r=d(t,e,y,!0)}return r}return f(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return y(u(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return y(e,u(t)).valueOf()}});return y.toTex=\"\\\\left(${args[0]}\"+s.operators.leftShift+\"${args[1]}\\\\right)\",y}var i=r(6).isInteger,a=r(384);t.name=\"leftShift\",t.factory=n},function(e,t){e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function leftShift\");var r=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new r(NaN):e.isZero()||t.isZero()?e:e.isFinite()||t.isFinite()?t.lt(55)?e.times(Math.pow(2,t.toNumber())+\"\"):e.times(new r(2).pow(t)):new r(NaN)}},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");if(!n||!p)throw new Error(\"Cannot perform operation on Pattern Sparse Matrices\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));for(var E,M,A,_,O=[],T=[],C=[],S=new s({values:O,index:T,ptr:C,size:[y,x],datatype:d}),z=[],B=[],k=0;x>k;k++){C[k]=T.length;var I=k+1;for(M=c[k],A=c[k+1],E=M;A>E;E++)_=u[E],B[_]=I,z[_]=n[E],T.push(_);for(M=h[k],A=h[k+1],E=M;A>E;E++)_=m[E],B[_]===I&&(z[_]=N(z[_],p[E]));for(E=C[k];E<T.length;){_=T[E];var R=z[_];w(R,b)?T.splice(E,1):(O.push(R),E++)}}return C[x]=T.length,S};return u}var i=r(42);t.name=\"algorithm08\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(48)),f=n(r(368)),l=n(r(53)),p=n(r(347)),m=n(r(385)),h=n(r(55)),g=n(r(298)),v=n(r(56)),d=n(r(57)),y=o(\"rightArithShift\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function rightArithShift\");return e>>t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=m(e,t,y,!1);break;default:r=p(t,e,y,!0)}break;default:switch(t.storage()){case\"sparse\":r=l(e,t,y,!1);break;default:r=v(e,t,y)}}return r},\"Array, Array\":function(e,t){return y(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return y(u(e),t)},\"Matrix, Array\":function(e,t){return y(e,u(t))},\"Matrix, number | BigNumber\":function(e,t){if(!c(t,0)){var r;switch(e.storage()){case\"sparse\":r=g(e,t,y,!1);break;default:r=d(e,t,y,!1)}return r}return e.clone()},\"number | BigNumber, Matrix\":function(e,t){if(!c(e,0)){var r;switch(t.storage()){case\"sparse\":r=h(t,e,y,!0);break;default:r=d(t,e,y,!0)}return r}return f(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return y(u(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return y(e,u(t)).valueOf()}});return y.toTex=\"\\\\left(${args[0]}\"+s.operators.rightArithShift+\"${args[1]}\\\\right)\",y}var i=r(6).isInteger,a=r(387);t.name=\"rightArithShift\",t.factory=n},function(e,t){e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function rightArithShift\");var r=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new r(NaN):e.isZero()||t.isZero()?e:t.isFinite()?t.lt(55)?e.div(Math.pow(2,t.toNumber())+\"\").floor():e.div(new r(2).pow(t)).floor():new r(e.isNegative()?-1:e.isFinite()?0:NaN)}},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=n(r(51)),u=n(r(48)),c=n(r(368)),f=n(r(53)),l=n(r(347)),p=n(r(385)),m=n(r(55)),h=n(r(298)),g=n(r(56)),v=n(r(57)),d=a(\"rightLogShift\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function rightLogShift\");return e>>>t},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=p(e,t,d,!1);break;default:r=l(t,e,d,!0)}break;default:switch(t.storage()){case\"sparse\":r=f(e,t,d,!1);break;default:r=g(e,t,d)}}return r},\"Array, Array\":function(e,t){return d(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return d(s(e),t)},\"Matrix, Array\":function(e,t){return d(e,s(t))},\"Matrix, number | BigNumber\":function(e,t){if(!u(t,0)){var r;switch(e.storage()){case\"sparse\":r=h(e,t,d,!1);break;default:r=v(e,t,d,!1)}return r}return e.clone()},\"number | BigNumber, Matrix\":function(e,t){if(!u(e,0)){var r;switch(t.storage()){case\"sparse\":r=m(t,e,d,!0);break;default:r=v(t,e,d,!0)}return r}return c(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return d(s(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return d(e,s(t)).valueOf()}});return d.toTex=\"\\\\left(${args[0]}\"+o.operators.rightLogShift+\"${args[1]}\\\\right)\",d}var i=r(6).isInteger;t.name=\"rightLogShift\",t.factory=n},function(e,t,r){e.exports=[r(390),r(397),r(391),r(398)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(50)),o=n(r(391)),s=n(r(395)),u=n(r(396)),c=i(\"bellNumbers\",{\"number | BigNumber\":function(e){if(!u(e)||s(e))throw new TypeError(\"Non-negative integer value expected in function bellNumbers\");for(var t=0,r=0;e>=r;r++)t=a(t,o(e,r));return t}});return c.toTex=\"\\\\mathrm{B}_{${args[0]}}\",c}t.name=\"bellNumbers\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(50)),o=n(r(302)),s=n(r(296)),u=n(r(294)),c=n(r(351)),f=n(r(392)),l=n(r(394)),p=n(r(395)),m=n(r(396)),h=n(r(63)),g=i(\"stirlingS2\",{\"number | BigNumber, number | BigNumber\":function(e,t){if(!m(e)||p(e)||!m(t)||p(t))throw new TypeError(\"Non-negative integer value expected in function stirlingS2\");if(h(t,e))throw new TypeError(\"k must be less than or equal to n in function stirlingS2\");for(var r=f(t),n=0,i=0;t>=i;i++){var g=c(-1,o(t,i)),v=l(t,i),d=c(i,e);n=a(n,s(s(v,d),g))}return u(n,r)}});return g.toTex=\"\\\\mathrm{S}\\\\left(${args[0]},${args[1]}\\\\right)\",g}t.name=\"stirlingS2\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(393)),s=r(30),u=a(\"factorial\",{number:function(e){if(0>e)throw new Error(\"Value must be non-negative\");return o(e+1)},BigNumber:function(e){if(e.isNegative())throw new Error(\"Value must be non-negative\");return o(e.plus(1))},\"Array | Matrix\":function(e){return i(e,u)}});return u.toTex=\"\\\\left(${args[0]}\\\\right)\"+s.operators.factorial,u}var i=r(19);r(77);t.name=\"factorial\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,u){function c(r){if(r.isZero())return new e.BigNumber(1);for(var n=t.precision+(0|Math.log(r.toNumber())),i=e.BigNumber.constructor({precision:n}),a=new i(r),o=r.toNumber()-1;o>1;)a=a.times(o),o--;return new e.BigNumber(a.toPrecision(e.BigNumber.precision))}var f=n(r(296)),l=n(r(351)),p=u(\"gamma\",{number:function(e){var t,r;if(a(e)){if(0>=e)return isFinite(e)?1/0:NaN;if(e>171)return 1/0;for(var n=e-2,i=e-1;n>1;)i*=n,n--;return 0==i&&(i=1),i}if(.5>e)return Math.PI/(Math.sin(Math.PI*e)*p(1-e));if(e>=171.35)return 1/0;if(e>85){var u=e*e,c=u*e,f=c*e,l=f*e;return Math.sqrt(2*Math.PI/e)*Math.pow(e/Math.E,e)*(1+1/(12*e)+1/(288*u)-139/(51840*c)-571/(2488320*f)+163879/(209018880*l)+5246819/(75246796800*l*e))}--e,r=s[0];for(var m=1;m<s.length;++m)r+=s[m]/(e+m);return t=e+o+.5,Math.sqrt(2*Math.PI)*Math.pow(t,e+.5)*Math.exp(-t)*r},Complex:function(t){var r,n;if(0==t.im)return p(t.re);t=new e.Complex(t.re-1,t.im),n=new e.Complex(s[0],0);for(var i=1;i<s.length;++i){var a=t.re+i,u=a*a+t.im*t.im;0!=u?(n.re+=s[i]*a/u,n.im+=-(s[i]*t.im)/u):n.re=s[i]<0?-(1/0):1/0}r=new e.Complex(t.re+o+.5,t.im);var c=Math.sqrt(2*Math.PI);t.re+=.5;var m=l(r,t);0==m.im?m.re*=c:0==m.re?m.im*=c:(m.re*=c,m.im*=c);var h=Math.exp(-r.re);return r.re=h*Math.cos(-r.im),r.im=h*Math.sin(-r.im),f(f(m,r),n)},BigNumber:function(t){if(t.isInteger())return t.isNegative()||t.isZero()?new e.BigNumber(1/0):c(t.minus(1));if(!t.isFinite())return new e.BigNumber(t.isNegative()?NaN:1/0);throw new Error(\"Integer BigNumber expected\")},\"Array | Matrix\":function(e){return i(e,p)}});return p.toTex=\"\\\\Gamma\\\\left(${args[0]}\\\\right)\",p}var i=r(19),a=r(6).isInteger,o=4.7421875,s=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];t.name=\"gamma\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"combinations\",{\"number, number\":function(e,t){var r,n,i;if(!a(e)||0>e)throw new TypeError(\"Positive integer value expected in function combinations\");if(!a(t)||0>t)throw new TypeError(\"Positive integer value expected in function combinations\");if(t>e)throw new TypeError(\"k must be less than or equal to n\");for(r=Math.max(t,e-t),n=1,i=1;e-r>=i;i++)n=n*(r+i)/i;return n},\"BigNumber, BigNumber\":function(t,r){var n,a,o,s,u=new e.BigNumber(1);if(!i(t)||!i(r))throw new TypeError(\"Positive integer value expected in function combinations\");if(r.gt(t))throw new TypeError(\"k must be less than n in function combinations\");for(n=t.minus(r),r.lt(n)&&(n=r),a=u,o=u,s=t.minus(n);o.lte(s);o=o.plus(1))a=a.times(n.plus(o)).dividedBy(o);\nreturn a}});return o.toTex=\"\\\\binom{${args[0]}}{${args[1]}}\",o}function i(e){return e.isInteger()&&e.gte(0)}var a=r(6).isInteger;t.name=\"combinations\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isNegative\",{number:function(e){return 0>e},BigNumber:function(e){return e.isNeg()&&!e.isZero()&&!e.isNaN()},Fraction:function(e){return e.s<0&&e.n>0},Unit:function(e){return e.value<0},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isNegative\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"isInteger\",{number:a.isInteger,BigNumber:function(e){return e.isInt()},Fraction:function(e){return 1===e.d&&isFinite(e.n)},\"Array | Matrix\":function(e){return i(e,o)}});return o}var i=r(19),a=r(6);t.name=\"isInteger\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(394)),o=n(r(52)),s=n(r(358)),u=n(r(396)),c=n(r(63)),f=i(\"composition\",{\"number | BigNumber, number | BigNumber\":function(e,t){if(!(u(e)&&s(e)&&u(t)&&s(t)))throw new TypeError(\"Positive integer value expected in function composition\");if(c(t,e))throw new TypeError(\"k must be less than or equal to n in function composition\");return a(o(e,-1),o(t,-1))}});return f.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",f}t.name=\"composition\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(50)),o=n(r(294)),s=n(r(296)),u=n(r(394)),c=n(r(395)),f=n(r(396)),l=i(\"catalan\",{\"number | BigNumber\":function(e){if(!f(e)||c(e))throw new TypeError(\"Non-negative integer value expected in function catalan\");return o(u(s(e,2),e),a(e,1))}});return l.toTex=\"\\\\mathrm{C}_{${args[0]}}\",l}t.name=\"catalan\",t.factory=n},function(e,t,r){e.exports=[r(400),r(401),r(402),r(403)]},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"arg\",{number:function(e){return Math.atan2(0,e)},Complex:function(e){return Math.atan2(e.im,e.re)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\arg\\\\left(${args[0]}\\\\right)\",a}var i=r(19);t.name=\"arg\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"conj\",{number:function(e){return e},BigNumber:function(e){return e},Complex:function(t){return new e.Complex(t.re,-t.im)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\left(${args[0]}\\\\right)^*\",a}var i=r(19);t.name=\"conj\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"im\",{number:function(e){return 0},BigNumber:function(t){return new e.BigNumber(0)},Complex:function(e){return e.im},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\Im\\\\left\\\\lbrace${args[0]}\\\\right\\\\rbrace\",a}var i=r(19);t.name=\"im\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"re\",{number:function(e){return e},BigNumber:function(e){return e},Complex:function(e){return e.re},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\Re\\\\left\\\\lbrace${args[0]}\\\\right\\\\rbrace\",a}var i=r(19);t.name=\"re\",t.factory=n},function(e,t,r){e.exports=[r(405),r(406)]},function(e,t,r){\"use strict\";function n(e,t,n,f){var l=n(r(51)),p=f(\"intersect\",{\"Array, Array, Array\":function(e,t,r){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");if(!o(r))throw new TypeError(\"Array with 4 numbers expected as third argument\");return c(e[0],e[1],e[2],t[0],t[1],t[2],r[0],r[1],r[2],r[3])},\"Array, Array, Array, Array\":function(e,t,r,n){if(2===e.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!i(t))throw new TypeError(\"Array with 2 numbers expected for second argument\");if(!i(r))throw new TypeError(\"Array with 2 numbers expected for third argument\");if(!i(n))throw new TypeError(\"Array with 2 numbers expected for fourth argument\");return s(e[0],e[1],t[0],t[1],r[0],r[1],n[0],n[1])}if(3===e.length){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");if(!a(r))throw new TypeError(\"Array with 3 numbers expected for third argument\");if(!a(n))throw new TypeError(\"Array with 3 numbers expected for fourth argument\");return u(e[0],e[1],e[2],t[0],t[1],t[2],r[0],r[1],r[2],n[0],n[1],n[2])}throw new TypeError(\"Arrays with two or thee dimensional points expected\")},\"Matrix, Matrix, Matrix\":function(e,t,r){return l(p(e.valueOf(),t.valueOf(),r.valueOf()))},\"Matrix, Matrix, Matrix, Matrix\":function(e,t,r,n){return l(p(e.valueOf(),t.valueOf(),r.valueOf(),n.valueOf()))}});return p}function i(e){return 2===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]}function a(e){return 3===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]}function o(e){return 4===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]&&\"number\"==typeof e[3]}function s(e,t,r,n,i,a,o,s){var u=(e-i)*(o-i)+(t-a)*(s-a),c=(o-i)*(r-e)+(s-a)*(n-t),f=(e-i)*(r-e)+(t-a)*(n-t),l=(o-i)*(o-i)+(s-a)*(s-a),p=(r-e)*(r-e)+(n-t)*(n-t),m=(u*c-f*l)/(p*l-c*c),h=(u+m*c)/l,g=e+m*(r-e),v=t+m*(n-t),d=i+h*(o-i),y=a+h*(s-a);return g===d&&v===y?[g,v]:null}function u(e,t,r,n,i,a,o,s,u,c,f,l){var p=(e-o)*(c-o)+(t-s)*(f-s)+(r-u)*(l-u),m=(c-o)*(n-e)+(f-s)*(i-t)+(l-u)*(a-r),h=(e-o)*(n-e)+(t-s)*(i-t)+(r-u)*(a-r),g=(c-o)*(c-o)+(f-s)*(f-s)+(l-u)*(l-u),v=(n-e)*(n-e)+(i-t)*(i-t)+(a-r)*(a-r),d=(p*m-h*g)/(v*g-m*m),y=(p+d*m)/g,x=e+d*(n-e),w=t+d*(i-t),b=r+d*(a-r),N=o+y*(c-o),E=s+y*(f-s),M=u+y*(l-u);return x===N&&w===E&&b===M?[x,w,b]:null}function c(e,t,r,n,i,a,o,s,u,c){var f=(c-e*o-t*s-r*u)/(n*o+i*s+a*u-e-t-r),l=e+f*(n-e),p=t+f*(i-t),m=r+f*(a-r);return[l,p,m]}t.name=\"intersect\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){var h=(n(r(51)),s(\"distance\",{\"Array, Array, Array\":function(e,t,r){if(2==e.length&&2==t.length&&2==r.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!i(t))throw new TypeError(\"Array with 2 numbers expected for second argument\");if(!i(r))throw new TypeError(\"Array with 2 numbers expected for third argument\");var n=(r[1]-r[0])/(t[1]-t[0]),a=n*n*t[0],o=-1*(n*t[0]),s=e[1];return c(e[0],e[1],a,o,s)}throw new TypeError(\"Invalid Arguments: Try again\")},\"Object, Object, Object\":function(e,t,r){if(2==Object.keys(e).length&&2==Object.keys(t).length&&2==Object.keys(r).length){if(!i(e))throw new TypeError(\"Values of pointX and pointY should be numbers\");if(!i(t))throw new TypeError(\"Values of lineOnePtX and lineOnePtY should be numbers\");if(!i(r))throw new TypeError(\"Values of lineTwoPtX and lineTwoPtY should be numbers\");if(e.hasOwnProperty(\"pointX\")&&e.hasOwnProperty(\"pointY\")&&t.hasOwnProperty(\"lineOnePtX\")&&t.hasOwnProperty(\"lineOnePtY\")&&r.hasOwnProperty(\"lineTwoPtX\")&&r.hasOwnProperty(\"lineTwoPtY\")){var n=(r.lineTwoPtY-r.lineTwoPtX)/(t.lineOnePtY-t.lineOnePtX),a=n*n*t.lineOnePtX,o=-1*(n*t.lineOnePtX),s=e.pointX;return c(e.pointX,e.pointY,a,o,s)}throw new TypeError(\"Key names do not match\")}throw new TypeError(\"Invalid Arguments: Try again\")},\"Array, Array\":function(e,t){if(2==e.length&&3==t.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");return c(e[0],e[1],t[0],t[1],t[2])}if(3==e.length&&6==t.length){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!o(t))throw new TypeError(\"Array with 6 numbers expected for second argument\");return f(e[0],e[1],e[2],t[0],t[1],t[2],t[3],t[4],t[5])}if(2==e.length&&2==t.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!i(t))throw new TypeError(\"Array with 2 numbers expected for second argument\");return l(e[0],e[1],t[0],t[1])}if(3==e.length&&3==t.length){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");return p(e[0],e[1],e[2],t[0],t[1],t[2])}throw new TypeError(\"Invalid Arguments: Try again\")},\"Object, Object\":function(e,t){if(2==Object.keys(e).length&&3==Object.keys(t).length){if(!i(e))throw new TypeError(\"Values of pointX and pointY should be numbers\");if(!a(t))throw new TypeError(\"Values of xCoeffLine, yCoeffLine and constant should be numbers\");if(e.hasOwnProperty(\"pointX\")&&e.hasOwnProperty(\"pointY\")&&t.hasOwnProperty(\"xCoeffLine\")&&t.hasOwnProperty(\"yCoeffLine\")&&t.hasOwnProperty(\"yCoeffLine\"))return c(e.pointX,e.pointY,t.xCoeffLine,t.yCoeffLine,t.constant);throw new TypeError(\"Key names do not match\")}if(3==Object.keys(e).length&&6==Object.keys(t).length){if(!a(e))throw new TypeError(\"Values of pointX, pointY and pointZ should be numbers\");if(!o(t))throw new TypeError(\"Values of x0, y0, z0, a, b and c should be numbers\");if(e.hasOwnProperty(\"pointX\")&&e.hasOwnProperty(\"pointY\")&&t.hasOwnProperty(\"x0\")&&t.hasOwnProperty(\"y0\")&&t.hasOwnProperty(\"z0\")&&t.hasOwnProperty(\"a\")&&t.hasOwnProperty(\"b\")&&t.hasOwnProperty(\"c\"))return f(e.pointX,e.pointY,e.pointZ,t.x0,t.y0,t.z0,t.a,t.b,t.c);throw new TypeError(\"Key names do not match\")}if(2==Object.keys(e).length&&2==Object.keys(t).length){if(!i(e))throw new TypeError(\"Values of pointOneX and pointOneY should be numbers\");if(!i(t))throw new TypeError(\"Values of pointTwoX and pointTwoY should be numbers\");if(e.hasOwnProperty(\"pointOneX\")&&e.hasOwnProperty(\"pointOneY\")&&t.hasOwnProperty(\"pointTwoX\")&&t.hasOwnProperty(\"pointTwoY\"))return l(e.pointOneX,e.pointOneY,t.pointTwoX,t.pointTwoY);throw new TypeError(\"Key names do not match\")}if(3==Object.keys(e).length&&3==Object.keys(t).length){if(!a(e))throw new TypeError(\"Values of pointOneX, pointOneY and pointOneZ should be numbers\");if(!a(t))throw new TypeError(\"Values of pointTwoX, pointTwoY and pointTwoZ should be numbers\");if(e.hasOwnProperty(\"pointOneX\")&&e.hasOwnProperty(\"pointOneY\")&&e.hasOwnProperty(\"pointOneZ\")&&t.hasOwnProperty(\"pointTwoX\")&&t.hasOwnProperty(\"pointTwoY\")&&t.hasOwnProperty(\"pointTwoZ\"))return p(e.pointOneX,e.pointOneY,e.pointOneZ,t.pointTwoX,t.pointTwoY,t.pointTwoZ);throw new TypeError(\"Key names do not match\")}throw new TypeError(\"Invalid Arguments: Try again\")},Array:function(e){if(!u(e))throw new TypeError(\"Incorrect array format entered for pairwise distance calculation\");return m(e)}}));return h}function i(e){return e.constructor!==Array&&(e=s(e)),\"number\"==typeof e[0]&&\"number\"==typeof e[1]}function a(e){return e.constructor!==Array&&(e=s(e)),\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]}function o(e){return e.constructor!==Array&&(e=s(e)),\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]&&\"number\"==typeof e[3]&&\"number\"==typeof e[4]&&\"number\"==typeof e[5]}function s(e){for(var t=Object.keys(e),r=[],n=0;n<t.length;n++)r.push(e[t[n]]);return r}function u(e){if(2==e[0].length&&\"number\"==typeof e[0][0]&&\"number\"==typeof e[0][1]){for(var t in e)if(2!=e[t].length||\"number\"!=typeof e[t][0]||\"number\"!=typeof e[t][1])return!1}else{if(3!=e[0].length||\"number\"!=typeof e[0][0]||\"number\"!=typeof e[0][1]||\"number\"!=typeof e[0][2])return!1;for(var t in e)if(3!=e[t].length||\"number\"!=typeof e[t][0]||\"number\"!=typeof e[t][1]||\"number\"!=typeof e[t][2])return!1}return!0}function c(e,t,r,n,i){var a=Math.abs(r*e+n*t+i),o=Math.pow(r*r+n*n,.5),s=a/o;return s}function f(e,t,r,n,i,a,o,s,u){var c=[(i-t)*u-(a-r)*s,(a-r)*o-(n-e)*u,(n-e)*s-(i-t)*o];c=Math.pow(c[0]*c[0]+c[1]*c[1]+c[2]*c[2],.5);var f=Math.pow(o*o+s*s+u*u,.5),l=c/f;return l}function l(e,t,r,n){var i=n-t,a=r-e,o=i*i+a*a,s=Math.pow(o,.5);return s}function p(e,t,r,n,i,a){var o=a-r,s=i-t,u=n-e,c=o*o+s*s+u*u,f=Math.pow(c,.5);return f}function m(e){for(var t=[],r=0;r<e.length-1;r++)for(var n=r+1;n<e.length;n++)2==e[0].length?t.push(l(e[r][0],e[r][1],e[n][0],e[n][1])):3==e[0].length&&t.push(p(e[r][0],e[r][1],e[r][2],e[n][0],e[n][1],e[n][2]));return t}t.name=\"distance\",t.factory=n},function(e,t,r){e.exports=[r(408),r(409),r(410),r(411)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(368)),u=n(r(409)),c=n(r(347)),f=n(r(360)),l=n(r(298)),p=n(r(56)),m=n(r(57)),h=i(\"and\",{\"number, number\":function(e,t){return!(!e||!t)},\"Complex, Complex\":function(e,t){return!(0===e.re&&0===e.im||0===t.re&&0===t.im)},\"BigNumber, BigNumber\":function(e,t){return!(e.isZero()||t.isZero()||e.isNaN()||t.isNaN())},\"Unit, Unit\":function(e,t){return 0!==e.value&&null!==e.value&&0!==t.value&&null!==t.value},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(o(e),t)},\"Matrix, Array\":function(e,t){return h(e,o(t))},\"Matrix, any\":function(e,t){if(u(t))return s(e.size(),e.storage());var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){if(u(e))return s(e.size(),e.storage());var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return h(o(e),t).valueOf()},\"any, Array\":function(e,t){return h(e,o(t)).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+a.operators.and+\"${args[1]}\\\\right)\",h}t.name=\"and\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"not\",{number:function(e){return!e},Complex:function(e){return 0===e.re&&0===e.im},BigNumber:function(e){return e.isZero()||e.isNaN()},Unit:function(e){return null===e.value||0==e.value},\"Array | Matrix\":function(e){return i(e,s)}});return s.toTex=o.operators.not+\"\\\\left(${args[0]}\\\\right)\",s}var i=r(19);t.name=\"not\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(60)),u=n(r(303)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=i(\"or\",{\"number, number\":function(e,t){return!(!e&&!t)},\"Complex, Complex\":function(e,t){return 0!==e.re||0!==e.im||0!==t.re||0!==t.im},\"BigNumber, BigNumber\":function(e,t){return!e.isZero()&&!e.isNaN()||!t.isZero()&&!t.isNaN()},\"Unit, Unit\":function(e,t){return 0!==e.value&&null!==e.value||0!==t.value&&null!==t.value},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,p);break;default:r=s(t,e,p,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,p,!1);break;default:r=f(e,t,p)}}return r},\"Array, Array\":function(e,t){return p(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return p(o(e),t)},\"Matrix, Array\":function(e,t){return p(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,p,!1);break;default:r=l(e,t,p,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,p,!0);break;default:r=l(t,e,p,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,p,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,p,!0).valueOf()}});return p.toTex=\"\\\\left(${args[0]}\"+a.operators.or+\"${args[1]}\\\\right)\",p}t.name=\"or\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=i(\"xor\",{\"number, number\":function(e,t){return!!(!!e^!!t)},\"Complex, Complex\":function(e,t){return!!((0!==e.re||0!==e.im)^(0!==t.re||0!==t.im))},\"BigNumber, BigNumber\":function(e,t){return!!((!e.isZero()&&!e.isNaN())^(!t.isZero()&&!t.isNaN()))},\"Unit, Unit\":function(e,t){return!!((0!==e.value&&null!==e.value)^(0!==t.value&&null!==t.value))},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,p);break;default:r=s(t,e,p,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,p,!1);break;default:r=f(e,t,p)}}return r},\"Array, Array\":function(e,t){return p(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return p(o(e),t)},\"Matrix, Array\":function(e,t){return p(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,p,!1);break;default:r=l(e,t,p,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,p,!0);break;default:r=l(t,e,p,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,p,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,p,!0).valueOf()}});return p.toTex=\"\\\\left(${args[0]}\"+a.operators.xor+\"${args[1]}\\\\right)\",p}t.name=\"xor\",t.factory=n},function(e,t,r){e.exports=[r(279),r(413),r(301),r(414),r(415),r(304),r(416),r(299),r(417),r(308),r(418),r(419),r(420),r(310),r(365),r(322),r(368)]},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){var r=i(e),n=i(t);if(1!=r.length||1!=n.length||3!=r[0]||3!=n[0])throw new RangeError(\"Vectors with length 3 expected (Size A = [\"+r.join(\", \")+\"], B = [\"+n.join(\", \")+\"])\");return[u(c(e[1],t[2]),c(e[2],t[1])),u(c(e[2],t[0]),c(e[0],t[2])),u(c(e[0],t[1]),c(e[1],t[0]))]}var s=n(r(51)),u=n(r(302)),c=n(r(296)),f=a(\"cross\",{\"Matrix, Matrix\":function(e,t){return s(o(e.toArray(),t.toArray()))},\"Matrix, Array\":function(e,t){return s(o(e.toArray(),t))},\"Array, Matrix\":function(e,t){return s(o(e,t.toArray()))},\"Array, Array\":o});return f.toTex=\"\\\\left(${args[0]}\\\\right)\\\\times\\\\left(${args[1]}\\\\right)\",f}var i=r(40).size;t.name=\"cross\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(e,t,r,n){if(!o(t))throw new TypeError(\"Second parameter in function diag must be an integer\");var i=t>0?t:0,a=0>t?-t:0;switch(r.length){case 1:return c(e,t,n,r[0],a,i);case 2:return f(e,t,n,r,a,i)}throw new RangeError(\"Matrix for function diag must be 2 dimensional\")}function c(t,r,n,i,a,o){var s=[i+a,i+o],u=e.Matrix.storage(n||\"dense\"),c=u.diagonal(s,t,r);return null!==n?c:c.valueOf()}function f(e,t,r,n,i,o){if(e&&e.isMatrix===!0){var s=e.diagonal(t);return null!==r?r!==s.storage()?l(s,r):s:s.valueOf()}for(var u=Math.min(n[0]-i,n[1]-o),c=[],f=0;u>f;f++)c[f]=a(e[f+i][f+o]);return null!==r?l(c):c}var l=n(r(51)),p=s(\"diag\",{Array:function(e){return u(e,0,i.size(e),null)},\"Array, number\":function(e,t){return u(e,t,i.size(e),null)},\"Array, BigNumber\":function(e,t){return u(e,t.toNumber(),i.size(e),null)},\"Array, string\":function(e,t){return u(e,0,i.size(e),t)},\"Array, number, string\":function(e,t,r){return u(e,t,i.size(e),r)},\"Array, BigNumber, string\":function(e,t,r){return u(e,t.toNumber(),i.size(e),r)},Matrix:function(e){return u(e,0,e.size(),e.storage())},\"Matrix, number\":function(e,t){return u(e,t,e.size(),e.storage())},\"Matrix, BigNumber\":function(e,t){return u(e,t.toNumber(),e.size(),e.storage())},\"Matrix, string\":function(e,t){return u(e,0,e.size(),t)},\"Matrix, number, string\":function(e,t,r){return u(e,t,e.size(),r)},\"Matrix, BigNumber, string\":function(e,t,r){return u(e,t.toNumber(),e.size(),r)}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(40),a=r(3).clone,o=r(6).isInteger;t.name=\"diag\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){var r=i(e),n=i(t),a=r[0];if(1!==r.length||1!==n.length)throw new RangeError(\"Vector expected\");if(r[0]!=n[0])throw new RangeError(\"Vectors must have equal length (\"+r[0]+\" != \"+n[0]+\")\");if(0==a)throw new RangeError(\"Cannot calculate the dot product of empty vectors\");for(var o=0,c=0;a>c;c++)o=s(o,u(e[c],t[c]));return o}var s=n(r(50)),u=n(r(296)),c=a(\"dot\",{\"Matrix, Matrix\":function(e,t){return o(e.toArray(),t.toArray())},\"Matrix, Array\":function(e,t){return o(e.toArray(),t)},\"Array, Matrix\":function(e,t){return o(e,t.toArray())},\"Array, Array\":o});return c.toTex=\"\\\\left(${args[0]}\\\\cdot${args[1]}\\\\right)\",c}var i=r(40).size;t.name=\"dot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=o(\"flatten\",{Array:function(e){return a(i(e))},Matrix:function(e){var t=a(i(e.toArray()));return s(t)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(3).clone,a=r(40).flatten;t.name=\"flatten\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=u(t),i=n?new e.BigNumber(1):1;if(c(t),r){var o=f(r);return t.length>0?o.resize(t,i):o}var s=[];return t.length>0?a(s,t,i):s}function u(e){var t=!1;return e.forEach(function(e,r,n){e&&e.isBigNumber===!0&&(t=!0,n[r]=e.toNumber())}),t}function c(e){e.forEach(function(e){if(\"number\"!=typeof e||!i(e)||0>e)throw new Error(\"Parameters in function ones must be positive integers\")})}var f=n(r(51)),l=o(\"ones\",{\"\":function(){return\"array\"===t.matrix?s([]):s([],\"default\")},\"...number | BigNumber | string\":function(e){var r=e[e.length-1];if(\"string\"==typeof r){var n=e.pop();return s(e,n)}return\"array\"===t.matrix?s(e):s(e,\"default\")},Array:s,Matrix:function(e){var t=e.storage();return s(e.valueOf(),t)},\"Array | Matrix, string\":function(e,t){return s(e.valueOf(),t)}});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(6).isInteger,a=r(40).resize;t.name=\"ones\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,f){function l(e,t,r){if(void 0!==r){if(\"string\"!=typeof r||1!==r.length)throw new TypeError(\"Single character expected as defaultValue\")}else r=\" \";if(1!==t.length)throw new i(t.length,1);var n=t[0];if(\"number\"!=typeof n||!o(n))throw new TypeError(\"Invalid size, must contain positive integers (size: \"+s(t)+\")\");if(e.length>n)return e.substring(0,n);if(e.length<n){for(var a=e,u=0,c=n-e.length;c>u;u++)a+=r;return a}return e}var p=n(r(51)),m=function(e,r,n){if(2!=arguments.length&&3!=arguments.length)throw new a(\"resize\",arguments.length,2,3);if(r&&r.isMatrix===!0&&(r=r.valueOf()),r.length&&r[0]&&r[0].isBigNumber===!0&&(r=r.map(function(e){return e&&e.isBigNumber===!0?e.toNumber():e})),e&&e.isMatrix===!0)return e.resize(r,n,!0);if(\"string\"==typeof e)return l(e,r,n);var i=Array.isArray(e)?!1:\"array\"!==t.matrix;if(0==r.length){for(;Array.isArray(e);)e=e[0];return u(e)}Array.isArray(e)||(e=[e]),e=u(e);var o=c.resize(e,r,n);return i?p(o):o};return m.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",m}var i=r(42),a=r(11),o=r(6).isInteger,s=r(23).format,u=r(3).clone,c=r(40);t.name=\"resize\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=a(\"size\",{Matrix:function(e){return o(e.size())},Array:i.size,string:function(e){return\"array\"===t.matrix?[e.length]:o([e.length])},\"number | Complex | BigNumber | Unit | boolean | null\":function(e){return\"array\"===t.matrix?[]:o([])}});return s.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",s}var i=r(40);t.name=\"size\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=o(\"squeeze\",{Array:function(e){return a.squeeze(i.clone(e))},Matrix:function(e){var t=a.squeeze(e.toArray());return Array.isArray(t)?s(t):t},any:function(e){return i.clone(e)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(3),a=r(40);t.name=\"squeeze\",t.factory=n},function(e,t,r){e.exports=[r(394),r(392),r(393),r(422),r(425),r(426),r(427),r(429),r(430)]},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){var r=t.size().length,n=e.size().length;if(r>1)throw new Error(\"first object must be one dimensional\");if(n>1)throw new Error(\"second object must be one dimensional\");if(r!==n)throw new Error(\"Length of two vectors must be equal\");var i=u(e);if(0===i)throw new Error(\"Sum of elements in first object must be non zero\");var a=u(t);if(0===a)throw new Error(\"Sum of elements in second object must be non zero\");var o=s(e,u(e)),m=s(t,u(t)),h=u(c(o,l(f(o,m))));return p(h)?h:Number.NaN}var o=n(r(51)),s=n(r(294)),u=n(r(423)),c=n(r(296)),f=n(r(346)),l=n(r(352)),p=n(r(424)),m=i(\"kldivergence\",{\"Array, Array\":function(e,t){return a(o(e),o(t))},\"Matrix, Array\":function(e,t){return a(e,o(t))},\"Array, Matrix\":function(e,t){return a(o(e),t)},\"Matrix, Matrix\":function(e,t){return a(e,t)}});return m}t.name=\"kldivergence\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(r){var n=void 0;if(i(r,function(e){n=void 0===n?e:s(n,e)}),void 0===n)switch(t.number){case\"number\":return 0;case\"bignumber\":return new e.BigNumber(0);case\"fraction\":return new e.Fraction(0);default:return 0}return n}var s=n(r(52)),u=a(\"sum\",{\"Array | Matrix\":function(e){return o(e)},\"Array | Matrix, number | BigNumber\":function(){throw new Error(\"sum(A, dim) is not yet supported\")},\"...\":function(){return o(arguments)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(290);t.name=\"sum\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isNumeric\",{\"number | BigNumber | Fraction | boolean\":function(){return!0},\"Complex | Unit | string\":function(){return!1},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isNumeric\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(50)),s=n(r(296)),u=n(r(294)),c=n(r(392)),f=n(r(396)),l=n(r(358));return a(\"multinomial\",{\"Array | Matrix\":function(e){var t=0,r=1;return i(e,function(e){if(!f(e)||!l(e))throw new TypeError(\"Positive integer value expected in function multinomial\");t=o(t,e),r=s(r,c(e))}),u(c(t),r)}})}var i=r(290);t.name=\"multinomial\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(392)),u=o(\"permutations\",{\"number | BigNumber\":s,\"number, number\":function(e,t){var r,n;if(!a(e)||0>e)throw new TypeError(\"Positive integer value expected in function permutations\");if(!a(t)||0>t)throw new TypeError(\"Positive integer value expected in function permutations\");if(t>e)throw new TypeError(\"second argument k must be less than or equal to first argument n\");for(r=1,n=e-t+1;e>=n;n++)r*=n;return r},\"BigNumber, BigNumber\":function(t,r){var n,a;if(!i(t)||!i(r))throw new TypeError(\"Positive integer value expected in function permutations\");if(r.gt(t))throw new TypeError(\"second argument k must be less than or equal to first argument n\");for(n=new e.BigNumber(1),a=t.minus(r).plus(1);a.lte(t);a=a.plus(1))n=n.times(a);return n}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}function i(e){return e.isInteger()&&e.gte(0)}var a=r(6).isInteger;t.name=\"permutations\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(428)),o=a(\"uniform\").pickRandom;return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}t.name=\"pickRandom\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e){if(!f.hasOwnProperty(e))throw new Error(\"Unknown distribution \"+e);var t=Array.prototype.slice.call(arguments,1),r=f[e].apply(this,t);return function(e){var t={random:function(e,t,n){var s,c,f;if(arguments.length>3)throw new i(\"random\",arguments.length,0,3);if(1===arguments.length?a(e)?s=e:f=e:2===arguments.length?a(e)?(s=e,f=t):(c=e,f=t):(s=e,c=t,f=n),void 0===f&&(f=1),void 0===c&&(c=0),void 0!==s){var l=o(s.valueOf(),c,f,r);return s&&s.isMatrix===!0?u(l):l}return r(c,f)},randomInt:function(e,t,r){var s,c,f;if(arguments.length>3||arguments.length<1)throw new i(\"randomInt\",arguments.length,1,3);if(1===arguments.length?a(e)?s=e:f=e:2===arguments.length?a(e)?(s=e,f=t):(c=e,f=t):(s=e,c=t,f=r),void 0===c&&(c=0),void 0!==s){var l=o(s.valueOf(),c,f,n);return s&&s.isMatrix===!0?u(l):l}return n(c,f)},pickRandom:function(e){if(1!==arguments.length)throw new i(\"pickRandom\",arguments.length,1);if(e&&e.isMatrix===!0)e=e.valueOf();else if(!Array.isArray(e))throw new TypeError(\"Unsupported type of value in function pickRandom\");if(c.size(e).length>1)throw new Error(\"Only one dimensional vectors supported\");return e[Math.floor(Math.random()*e.length)]}},r=function(t,r){return t+e()*(r-t)},n=function(t,r){return Math.floor(t+e()*(r-t))},o=function(e,t,r,n){var i,a,s=[];if(e=e.slice(0),e.length>1)for(a=0,i=e.shift();i>a;a++)s.push(o(e,t,r,n));else for(a=0,i=e.shift();i>a;a++)s.push(n(t,r));return s};return t}(r)}var u=n(r(51)),c=r(40),f={uniform:function(){return Math.random},normal:function(){return function(){for(var e,t,r=-1;0>r||r>1;)e=Math.random(),t=Math.random(),r=1/6*Math.pow(-2*Math.log(e),.5)*Math.cos(2*Math.PI*t)+.5;return r}}};return s.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",s}var i=r(11),a=r(288);t.name=\"distribution\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(428)),o=a(\"uniform\").random;return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}t.name=\"random\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(428)),o=a(\"uniform\").randomInt;return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}t.name=\"randomInt\",t.factory=n},function(e,t,r){e.exports=[r(432),r(433),r(434),r(63),r(329),r(59),r(435),r(436)]},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(303)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=a(\"compare\",{\"boolean, boolean\":function(e,t){return e===t?0:e>t?1:-1},\"number, number\":function(e,r){return e===r||i(e,r,t.epsilon)?0:e>r?1:-1},\"BigNumber, BigNumber\":function(t,r){return new e.BigNumber(t.cmp(r))},\"Fraction, Fraction\":function(t,r){return new e.Fraction(t.compare(r))},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value===r.value||i(e.value,r.value,t.epsilon)?0:e.value>r.value?1:-1},\"string, string\":function(e,t){return e===t?0:e>t?1:-1},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,p);break;default:r=s(t,e,p,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,p,!1);break;default:r=f(e,t,p)}}return r},\"Array, Array\":function(e,t){return p(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return p(o(e),t)},\"Matrix, Array\":function(e,t){return p(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,p,!1);break;default:r=l(e,t,p,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,p,!0);break;default:r=l(t,e,p,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,p,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,p,!0).valueOf()}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(6).nearlyEqual;t.name=\"compare\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(Array.isArray(e)){if(Array.isArray(t)){var r=e.length;if(r!==t.length)return!1;for(var n=0;r>n;n++)if(!a(e[n],t[n]))return!1;return!0}return!1}return Array.isArray(t)?!1:o(e,t)}var o=n(r(434)),s=i(\"deepEqual\",{\"any, any\":function(e,t){return a(e.valueOf(),t.valueOf())}});return s.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",s}t.name=\"deepEqual\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(48)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=i(\"equal\",{\"any, any\":function(e,t){return null===e?null===t:null===t?null===e:void 0===e?void 0===t:void 0===t?void 0===e:o(e,t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,o);break;default:r=s(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,o,!1);break;default:r=f(e,t,o)}}return r},\"Array, Array\":function(e,t){return m(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(a(e),t)},\"Matrix, Array\":function(e,t){return m(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=l(e,t,o,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,o,!0);break;default:r=l(t,e,o,!0)}return r},\"Array, any\":function(e,t){return l(a(e),t,o,!1).valueOf()},\"any, Array\":function(e,t){return l(a(t),e,o,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.equal+\"${args[1]}\\\\right)\",m}t.name=\"equal\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"smallerEq\",{\"boolean, boolean\":function(e,t){return t>=e},\"number, number\":function(e,r){return r>=e||i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.lte(t)},\"Fraction, Fraction\":function(e,t){return 1!==e.compare(t)},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\");\n},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value<=r.value||i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return t>=e},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.smallerEq+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"smallerEq\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"unequal\",{\"any, any\":function(e,t){return null===e?null!==t:null===t?null!==e:void 0===e?void 0!==t:void 0===t?void 0!==e:h(e,t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,h);break;default:r=s(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,h,!1);break;default:r=f(e,t,h)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=l(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,h,!0);break;default:r=l(t,e,h,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,h,!0).valueOf()}}),h=a(\"_unequal\",{\"boolean, boolean\":function(e,t){return e!==t},\"number, number\":function(e,r){return!i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return!e.eq(t)},\"Fraction, Fraction\":function(e,t){return 0!==e.compare(t)},\"Complex, Complex\":function(e,r){return!i(e.re,r.re,t.epsilon)||!i(e.im,r.im,t.epsilon)},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return!i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e!==t}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.unequal+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"unequal\",t.factory=n},function(e,t,r){e.exports=[r(289),r(293),r(438),r(306),r(440),r(441),r(442),r(443),r(423),r(444)]},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){e=i(e.valueOf());var t=e.length;if(0==t)throw new Error(\"Cannot calculate median of an empty array\");if(t%2==0){for(var r=t/2-1,n=f(e,r+1),a=e[r],o=0;r>o;++o)c(e[o],a)>0&&(a=e[o]);return m(a,n)}var s=f(e,(t-1)/2);return p(s)}var s=n(r(52)),u=n(r(295)),c=n(r(432)),f=n(r(439)),l=a(\"median\",{\"Array | Matrix\":o,\"Array | Matrix, number | BigNumber\":function(e,t){throw new Error(\"median(A, dim) is not yet supported\")},\"...\":function(){return o(Array.prototype.slice.call(arguments))}}),p=a({\"number | BigNumber | Unit\":function(e){return e}}),m=a({\"number | BigNumber | Unit, number | BigNumber | Unit\":function(e,t){return u(s(e,t),2)}});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(40).flatten;t.name=\"median\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){return-c(e,t)}function s(e,t,r){if(!i(t)||0>t)throw new Error(\"k must be a non-negative integer\");if(e&&e.isMatrix){var n=e.size();if(n.length>1)throw new Error(\"Only one dimensional matrices supported\");return u(e.valueOf(),t,r)}return Array.isArray(e)?u(e,t,r):void 0}function u(e,t,r){if(t>=e.length)throw new Error(\"k out of bounds\");for(var n=0,i=e.length-1;i>n;){for(var a=n,o=i,s=e[Math.floor(Math.random()*(i-n+1))+n];o>a;)if(r(e[a],s)>=0){var u=e[o];e[o]=e[a],e[a]=u,--o}else++a;r(e[a],s)>0&&--a,a>=t?i=a:n=a+1}return e[t]}var c=n(r(432));return a(\"partitionSelect\",{\"Array | Matrix, number\":function(e,t){return s(e,t,c)},\"Array | Matrix, number, string\":function(e,t,r){if(\"asc\"===r)return s(e,t,c);if(\"desc\"===r)return s(e,t,o);throw new Error('Compare string must be \"asc\" or \"desc\"')},\"Array | Matrix, number, function\":s})}var i=r(6).isInteger;t.name=\"partitionSelect\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(e){e=i(e.valueOf());var t=e.length;if(0==t)throw new Error(\"Cannot calculate mode of an empty array\");var r={},n=[],a=0;for(var o in e)e[o]in r||(r[e[o]]=0),r[e[o]]++,r[e[o]]==a?n.push(e[o]):r[e[o]]>a&&(a=r[e[o]],n=[e[o]]);return n}var o=n(\"mode\",{\"Array | Matrix\":a,\"...\":function(){return a(Array.prototype.slice.call(arguments))}});return o}var i=r(40).flatten;t.name=\"mode\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){var t=void 0;if(i(e,function(e){t=void 0===t?e:s(t,e)}),void 0===t)throw new Error(\"Cannot calculate prod of an empty array\");return t}var s=n(r(297)),u=a(\"prod\",{\"Array | Matrix\":o,\"Array | Matrix, number | BigNumber\":function(e,t){throw new Error(\"prod(A, dim) is not yet supported\")},\"...\":function(){return o(arguments)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(290);t.name=\"prod\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,u){function c(t,r,n){var o,u,c;if(arguments.length<2||arguments.length>3)throw new SyntaxError(\"Function quantileSeq requires two or three parameters\");if(s(t)){if(n=n||!1,\"boolean\"==typeof n){if(u=t.valueOf(),a(r)){if(0>r)throw new Error(\"N/prob must be non-negative\");if(1>=r)return f(u,r,n);if(r>1){if(!i(r))throw new Error(\"N must be a positive integer\");var l=r+1;o=new Array(r);for(var p=0;r>p;)o[p]=f(u,++p/l,n);return o}}if(r&&r.isBigNumber){if(r.isNegative())throw new Error(\"N/prob must be non-negative\");if(c=r.constructor.ONE,r.lte(c))return f(u,r,n);if(r.gt(c)){if(!r.isInteger())throw new Error(\"N must be a positive integer\");var m=r.toNumber();if(m>4294967295)throw new Error(\"N must be less than or equal to 2^32-1, as that is the maximum length of an Array\");var l=new e.BigNumber(m+1);o=new Array(m);for(var p=0;m>p;)o[p]=f(u,new e.BigNumber(++p).div(l),n);return o}}if(Array.isArray(r)){o=new Array(r.length);for(var p=0;p<o.length;++p){var h=r[p];if(a(h)){if(0>h||h>1)throw new Error(\"Probability must be between 0 and 1, inclusive\")}else{if(!h||!h.isBigNumber)throw new TypeError(\"Unexpected type of argument in function quantileSeq\");if(c=h.constructor.ONE,h.isNegative()||h.gt(c))throw new Error(\"Probability must be between 0 and 1, inclusive\")}o[p]=f(u,h,n)}return o}throw new TypeError(\"Unexpected type of argument in function quantileSeq\")}throw new TypeError(\"Unexpected type of argument in function quantileSeq\")}throw new TypeError(\"Unexpected type of argument in function quantileSeq\")}function f(e,t,r){var n=o(e),i=n.length;if(0===i)throw new Error(\"Cannot calculate quantile of an empty sequence\");if(a(t)){var s=t*(i-1),u=s%1;if(0===u){var c=r?n[s]:m(n,s);return g(c),c}var f,v,d=Math.floor(s);if(r)f=n[d],v=n[d+1];else{v=m(n,d+1),f=n[d];for(var y=0;d>y;++y)h(n[y],f)>0&&(f=n[y])}return g(f),g(v),l(p(f,1-u),p(v,u))}var s=t.times(i-1);if(s.isInteger()){s=s.toNumber();var c=r?n[s]:m(n,s);return g(c),c}var f,v,d=s.floor(),u=s.minus(d),x=d.toNumber();if(r)f=n[x],v=n[x+1];else{v=m(n,x+1),f=n[x];for(var y=0;x>y;++y)h(n[y],f)>0&&(f=n[y])}g(f),g(v);var w=u.constructor.ONE;return l(p(f,w.minus(u)),p(v,u))}var l=n(r(50)),p=n(r(296)),m=n(r(439)),h=n(r(432)),g=u({\"number | BigNumber | Unit\":function(e){return e}});return c}var i=r(6).isInteger,a=r(6).isNumber,o=r(40).flatten,s=r(288);t.name=\"quantileSeq\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(0==e.length)throw new SyntaxError(\"Function std requires one or more parameters (0 provided)\");return o(s.apply(null,arguments))}var o=n(r(357)),s=n(r(444)),u=i(\"std\",{\"Array | Matrix\":a,\"Array | Matrix, string\":a,\"...\":function(){return a(Array.prototype.slice.call(arguments))}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}t.name=\"std\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=0,i=0;if(0==t.length)throw new SyntaxError(\"Function var requires one or more parameters (0 provided)\");if(a(t,function(e){n=u(n,e),i++}),0===i)throw new Error(\"Cannot calculate var of an empty array\");var o=l(n,i);switch(n=0,a(t,function(e){var t=c(e,o);n=u(n,f(t,t))}),r){case\"uncorrected\":return l(n,i);case\"biased\":return l(n,i+1);case\"unbiased\":var s=n&&n.isBigNumber===!0?new e.BigNumber(0):0;return 1==i?s:l(n,i-1);default:throw new Error('Unknown normalization \"'+r+'\". Choose \"unbiased\" (default), \"uncorrected\", or \"biased\".')}}var u=n(r(52)),c=n(r(302)),f=n(r(297)),l=n(r(295)),p=o(\"variance\",{\"Array | Matrix\":function(e){return s(e,i)},\"Array | Matrix, string\":s,\"...\":function(){return s(arguments,i)}});return p.toTex=\"\\\\mathrm{Var}\\\\left(${args}\\\\right)\",p}var i=\"unbiased\",a=r(290);t.name=\"var\",t.factory=n},function(e,t,r){e.exports=[r(446),r(456),r(458),r(460),r(463),r(465),r(467),r(468),r(464),r(466),r(459),r(469),r(462),r(471),r(472),r(475),r(477),r(479),r(480),r(481),r(482),r(483),r(474),r(484),r(485)]},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){var r=new e.Complex(t.im*t.im-t.re*t.re+1,-2*t.re*t.im),n=u(r),i=new e.Complex(n.re-t.im,n.im+t.re),a=c(i);return new e.Complex(1.5707963267948966-a.im,a.re)}var u=o.find(n(r(357)),[\"Complex\"]),c=o.find(n(r(352)),[\"Complex\"]),f=o(\"acos\",{number:function(r){return r>=-1&&1>=r||t.predictable?Math.acos(r):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,f)}});return f.toTex=\"\\\\cos^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(447);t.name=\"acos\",t.factory=n},function(e,t,r){var n=r(77).pi,i=r(448);e.exports=function(e,t,r){if(r){if(e.abs().lt(t.ONE))throw new Error(\"asec() only has non-complex values for |x| >= 1.\")}else if(e.abs().gt(t.ONE))throw new Error(\"acos() only has non-complex values for |x| <= 1.\");if(e.eq(-1))return n(t);var a=t.precision;t.config({precision:a+4}),r&&(e=t.ONE.div(e));var o=i(t.ONE.minus(e.times(e)).sqrt().div(e.plus(t.ONE)),t).times(2);return t.config({precision:a}),o.toDP(a-1)}},function(e,t,r){var n=r(77),i=r(449),a=r(78);e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);if(!r&&e.isZero()||r&&!e.isFinite())return new t(0);var o=t.precision;if(!r&&!e.isFinite()||r&&e.isZero()){var s=n.pi(t.constructor({precision:o+2})).div(2).toDP(o-1);return s.constructor=t,s.s=e.s,s}t.config({precision:o+4}),r&&(e=t.ONE.div(e));var u=e.abs();if(u.lte(.875)){var c=a(e);return c.constructor=t,t.config({precision:o}),c.toDP(t.precision-1)}if(u.gte(1.143)){var s=n.pi(t.constructor({precision:o+4})).div(2),c=s.minus(a(t.ONE.div(u)));return c.s=e.s,c.constructor=t,t.config({precision:o}),c.toDP(t.precision-1)}return e=e.div(e.times(e).plus(1).sqrt()),t.config({precision:o}),i(e,t)}},function(e,t,r){var n=r(77).pi,i=r(450),a=r(451);e.exports=function o(e,t,r){if(e.isNaN())return new t(NaN);var s=t.precision,u=e.abs();if(r){if(u.lt(t.ONE))throw new Error(\"acsc() only has non-complex values for |x| >= 1.\");t.config({precision:s+2}),e=t.ONE.div(e),t.config({precision:s}),u=e.abs()}else if(u.gt(t.ONE))throw new Error(\"asin() only has non-complex values for |x| <= 1.\");if(u.gt(.8)){t.config({precision:s+4});var c=e.s,f=n(t.constructor({precision:s+4})).div(2);return e=f.minus(o(t.ONE.minus(e.times(e)).sqrt(),t)),e.s=c,e.constructor=t,t.config({precision:s}),e.toDP(s-1)}var l=u.gt(.58);l&&(t.config({precision:s+8}),e=e.div(new t(2).sqrt().times(t.ONE.minus(e.times(e)).sqrt().plus(t.ONE).sqrt())),t.config({precision:s}));var p=60>=s||e.dp()<=Math.log(s)&&e.lt(.05)?i(e,s):a(e,t);return l?p.times(2):p}},function(e,t){e.exports=function(e,t){var r=e.constructor;r.config({precision:t+Math.log(t)|4});for(var n=new r(1),i=e,a=NaN,o=e.times(e),s=e,u=new r(n),c=new r(n),f=new r(n),l=3;!i.equals(a);l+=2)s=s.times(o),u=u.times(f),c=c.times(f.plus(n)),a=i,f=new r(l),i=i.plus(s.times(u).div(f.times(c)));return r.config({precision:t}),i.toDP(t-1)}},function(e,t,r){var n=r(452),i=r(455);e.exports=function(e,t){var r=t.precision,a=-(r+4),o=r+8-e.e,s=25-e.e,u=Math.max(1.442695*Math.log(r+2)|5,5);t.config({precision:s});var c=0,f=new t(Math.asin(e.toNumber())+\"\");do{var l=n(f,t,1,!1),p=i(l);l.isZero()||(l.s=f.s);var m=l.minus(e).div(p);f=f.minus(m),s=Math.min(2*s,o),t.config({precision:s})}while(2*m.e>=a&&!m.isZero()&&++c<=u);if(c==u)throw new Error(\"asin() failed to converge to the requested accuracy.Try with a higher precision.\");return t.config({precision:r}),f.toDP(r-1)}},function(e,t,r){var n=r(453),i=r(454);e.exports=function(e,t,r,a){if(e.isNaN()||!e.isFinite())return new t(NaN);var o=t.precision,s=new t(e),u=s.isNegative();u&&(s.s=-s.s);var c=o+(0|Math.log(o))+3;if(t.config({precision:c}),s=n(s,t.constructor({precision:c}),r),s[0].constructor=t,s[1])return s=s[0],a&&s.isZero()&&(s=new t(1/0)),t.config({precision:o}),s;var f;if(s=s[0],r){f=i(s.div(3125),r),t.config({precision:Math.min(c,o+15)});for(var l=new t(5),p=new t(16),m=new t(20),h=0;5>h;++h){var g=f.times(f),v=g.times(f),d=v.times(g);f=p.times(d).minus(m.times(v)).plus(l.times(f))}u&&(f.s=-f.s)}else{var y,x;s.abs().lt(t.ONE)?(y=64,x=3):(y=256,x=4),f=i(s.div(y),r),t.config({precision:Math.min(c,o+8)});for(var w=new t(8);x>0;--x){var g=f.times(f),b=g.times(g);f=w.times(b.minus(g)).plus(t.ONE)}}return a&&(f=f.e<=-o?new t(1/0):t.ONE.div(f)),t.config({precision:o}),f.toDP(o-1)}},function(e,t,r){var n=r(77);e.exports=function(e,t,r){var i=n.pi(t.constructor({precision:t.precision+2})),a=n.tau(t);if(e.abs().lte(i.toDP(e.dp())))return[e,!1];if(e.dp()>0&&e.div(i.toDP(e.dp())).toNumber()%2==0)return[new t(1^r),!0];var o=e.mod(a);return e.dp()>0&&o.toDP(e.dp(),1).isZero()?[new t(1^r),!0]:(o.gt(i)&&(r?(o=o.minus(i),o.s=-o.s):o=a.minus(o)),o.constructor=e.constructor,[o,!1])}},function(e,t){e.exports=function(e,t){for(var r=e.constructor.ONE,n=e,i=NaN,a=e.times(e),o=t?n:n=r,s=r,u=!0,c=t;!n.equals(i);c+=2)o=o.times(a),s=s.times(c+1).times(c+2),i=n,u=!u,n=u?n.plus(o.div(s)):n.minus(o.div(s));return n}},function(e,t){e.exports=function(e){var t=e.constructor,r=t.precision;t.config({precision:r+2});var n=t.ONE.minus(e.times(e)).sqrt();return t.config({precision:r}),n.toDP(r-1)}},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e){var t,r=u(e);return r.im<=0?(t=r.re,r.re=-r.im,r.im=t):(t=r.im,r.im=-r.re,r.re=t),r}var u=o.find(n(r(446)),[\"Complex\"]),c=o(\"acosh\",{number:function(r){return r>=1||t.predictable?Math.log(Math.sqrt(r*r-1)+r):-1>=r?new e.Complex(Math.log(Math.sqrt(r*r-1)-r),Math.PI):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1,!1)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\cosh^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(457);t.name=\"acosh\",t.factory=n},function(e,t){e.exports=function(e,t,r,n){if(e.isNaN())return new t(NaN);if(n&&e.isZero())return new t(1/0);if(!r)if(n){if(e.isNegative()||e.gt(t.ONE))throw new Error(\"asech() only has non-complex values for 0 <= x <= 1.\")}else if(e.lt(t.ONE))throw new Error(\"acosh() only has non-complex values for x >= 1.\");var i=t.precision;t.config({precision:i+4});var a=new t(e);a.constructor=t,n&&(a=t.ONE.div(a));var o=r?a.times(a).plus(t.ONE):a.times(a).minus(t.ONE),s=a.plus(o.sqrt()).ln();return t.config({precision:i}),new t(s.toPrecision(i))}},function(e,t,r){\"use strict\";function n(e,t,n,s){var u=s.find(n(r(459)),[\"Complex\"]),c=s(\"acot\",{number:function(e){return e?Math.atan(1/e):o},Complex:function(t){if(0==t.im)return new e.Complex(t.re?Math.atan(1/t.re):o,0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re=t.re/r,t.im=-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),u(t)},BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\cot^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(448),o=1.5707963267948966;t.name=\"acot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(352)),[\"Complex\"]),u=o(\"atan\",{number:function(e){return Math.atan(e)},Complex:function(t){if(0==t.re){if(1==t.im)return new e.Complex(0,1/0);if(-1==t.im)return new e.Complex(0,-(1/0))}var r=t.re,n=t.im,i=r*r+(1-n)*(1-n),a=new e.Complex((1-n*n-r*r)/i,-2*r/i),o=s(a);return new e.Complex(-.5*o.im,.5*o.re)},BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,u,!0)}});return u.toTex=\"\\\\tan^{-1}\\\\left(${args[0]}\\\\right)\",u}var i=r(19),a=r(448);t.name=\"atan\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(t){if(0==t.re&&0==t.im)return new e.Complex(0,o);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re/r,-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),c(t)}var c=s.find(n(r(462)),[\"Complex\"]),f=s(\"acoth\",{number:function(r){return r>=1||-1>=r||t.predictable?isFinite(r)?(Math.log((r+1)/r)+Math.log(r/(r-1)))/2:0:0!==r?u(new e.Complex(r,0)):new e.Complex(0,o)},Complex:u,BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,f)}});return f.toTex=\"\\\\coth^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(461),o=1.5707963267948966;t.name=\"acoth\",t.factory=n},function(e,t){e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);var n=e.abs();if(n.eq(t.ONE))return new t(e.isNegative()?-(1/0):1/0);if(n.gt(t.ONE)){if(!r)throw new Error(\"atanh() only has non-complex values for |x| <= 1.\")}else if(r)throw new Error(\"acoth() has complex values for |x| < 1.\");if(e.isZero())return new t(0);var i=t.precision;t.config({precision:i+4});var a=new t(e);a.constructor=t,r&&(a=t.ONE.div(a));var o=t.ONE.plus(a).div(t.ONE.minus(a)).ln().div(2);return t.config({precision:i}),new t(o.toPrecision(i))}},function(e,t,r){\"use strict\";function n(e,t,r,n){function o(t){var r=t.re>1&&0==t.im,n=1-t.re,i=1+t.re,a=n*n+t.im*t.im;t=0!=a?new e.Complex((i*n-t.im*t.im)/a,(t.im*n+i*t.im)/a):new e.Complex(-1!=t.re?t.re/0:0,0!=t.im?t.im/0:0);var o=t.re;return t.re=Math.log(Math.sqrt(t.re*t.re+t.im*t.im))/2,t.im=Math.atan2(t.im,o)/2,r&&(t.im=-t.im),t}var s=n(\"atanh\",{number:function(r){return 1>=r&&r>=-1||t.predictable?Math.log((1+r)/(1-r))/2:o(new e.Complex(r,0))},Complex:o,BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,s,!0)}});return s.toTex=\"\\\\tanh^{-1}\\\\left(${args[0]}\\\\right)\",s}var i=r(19),a=r(461);t.name=\"atanh\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(t){if(0==t.re&&0==t.im)return new e.Complex(o,1/0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re=t.re/r,t.im=-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),c(t)}var c=s.find(n(r(464)),[\"Complex\"]),f=s(\"acsc\",{number:function(r){return-1>=r||r>=1||t.predictable?Math.asin(1/r):u(new e.Complex(r,0))},Complex:u,BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,f)}});return f.toTex=\"\\\\csc^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(449),o=1.5707963267948966;t.name=\"acsc\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){var r=t.re,n=t.im,i=new e.Complex(n*n-r*r+1,-2*r*n),a=u(i),o=new e.Complex(a.re-n,a.im+r),s=c(o);return new e.Complex(s.im,-s.re)}var u=o.find(n(r(357)),[\"Complex\"]),c=o.find(n(r(352)),[\"Complex\"]),f=o(\"asin\",{number:function(r){return r>=-1&&1>=r||t.predictable?Math.asin(r):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,f,!0)}});return f.toTex=\"\\\\sin^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(449);t.name=\"asin\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(466)),[\"Complex\"]),u=o(\"acsch\",{number:function(e){return e=1/e,Math.log(e+Math.sqrt(e*e+1))},Complex:function(t){if(0==t.im)return t=0!=t.re?Math.log(t.re+Math.sqrt(t.re*t.re+1)):1/0,new e.Complex(t,0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re/r,-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),s(t)},BigNumber:function(t){return a(t,e.BigNumber,!0,!0)},\"Array | Matrix\":function(e){return i(e,u)}});return u.toTex=\"\\\\mathrm{csch}^{-1}\\\\left(${args[0]}\\\\right)\",u}var i=r(19),a=r(457);t.name=\"acsch\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(464)),[\"Complex\"]),u=o(\"asinh\",{number:function(e){return Math.log(Math.sqrt(e*e+1)+e)},Complex:function(e){var t=e.im;e.im=-e.re,e.re=t;var r=s(e);return e.re=-e.im,e.im=t,t=r.re,r.re=-r.im,r.im=t,r},BigNumber:function(t){return a(t,e.BigNumber,!0,!1)},\"Array | Matrix\":function(e){return i(e,u,!0)}});return u.toTex=\"\\\\sinh^{-1}\\\\left(${args[0]}\\\\right)\",u}var i=r(19),a=r(457);t.name=\"asinh\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){if(0==t.re&&0==t.im)return new e.Complex(0,1/0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re=t.re/r,t.im=-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),u(t)}var u=o.find(n(r(446)),[\"Complex\"]),c=o(\"asec\",{number:function(r){return-1>=r||r>=1||t.predictable?Math.acos(1/r):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\sec^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(447);t.name=\"asec\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){if(0==t.re&&0==t.im)return new e.Complex(1/0,0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re/r,-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),u(t)}var u=o.find(n(r(456)),[\"Complex\"]),c=o(\"asech\",{number:function(r){if(1>=r&&r>=-1||t.predictable){r=1/r;var n=Math.sqrt(r*r-1);return r>0||t.predictable?Math.log(n+r):new e.Complex(Math.log(n-r),Math.PI)}return s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1,!0)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\mathrm{sech}^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(457);t.name=\"asech\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(347)),u=n(r(60)),c=n(r(349)),f=n(r(298)),l=n(r(62)),p=n(r(56)),m=n(r(57)),h=a(\"atan2\",{\"number, number\":Math.atan2,\"BigNumber, BigNumber\":function(t,r){return i(t,r,e.BigNumber)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=s(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(o(e),t)},\"Matrix, Array\":function(e,t){return h(e,o(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, number | BigNumber\":function(e,t){return m(o(e),t,h,!1).valueOf()},\"number | BigNumber, Array\":function(e,t){return m(o(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\mathrm{atan2}\\\\left(${args}\\\\right)\",h}var i=r(470);t.name=\"atan2\",t.factory=n},function(e,t,r){var n=r(77),i=r(448);e.exports=function(e,t,r){var a=r.precision;if(t.isZero()){if(e.isZero())return new r(NaN);var o=n.pi(r.constructor({precision:a+2})).div(2).toDP(a-1);return o.constructor=r,o.s=e.s,o}r.config({precision:a+2});var s=i(e.div(t),r,!1);if(t.isNegative()){var u=n.pi(r);s=e.isNegative()?s.minus(u):s.plus(u)}return s.constructor=r,r.config({precision:a}),s.toDP(a-1)}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(472)),[\"number\"]),u=o.find(n(r(474)),[\"number\"]),c=o(\"cos\",{number:Math.cos,Complex:function(t){return new e.Complex(Math.cos(t.re)*s(-t.im),Math.sin(t.re)*u(-t.im))},BigNumber:function(t){return a(t,e.BigNumber,0,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function cos is no angle\");return Math.cos(t.value)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\cos\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(452);t.name=\"cos\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"cosh\",{number:i,Complex:function(t){var r=Math.exp(t.re),n=Math.exp(-t.re);return new e.Complex(Math.cos(t.im)*(r+n)/2,Math.sin(t.im)*(r-n)/2)},BigNumber:function(t){return o(t,e.BigNumber,!1,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function cosh is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\cosh\\\\left(${args[0]}\\\\right)\",s}function i(e){return(Math.exp(e)+Math.exp(-e))/2}var a=r(19),o=r(473);t.name=\"cosh\",t.factory=n},function(e,t){e.exports=function(e,t,r,n){if(e.isNaN())return new t(NaN);if(!e.isFinite())return new t(n?0:r?e:1/0);var i=t.precision;t.config({precision:i+4});var a=new t(e);return a.constructor=t,a=a.exp(),a=r?a.minus(t.ONE.div(a)):a.plus(t.ONE.div(a)),a=n?new t(2).div(a):a.div(2),t.config({precision:i}),new t(a.toPrecision(i))}},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"sinh\",{number:i,Complex:function(t){var r=Math.cos(t.im),n=Math.sin(t.im),i=Math.exp(t.re),a=Math.exp(-t.re);return new e.Complex(r*(i-a)/2,n*(i+a)/2)},BigNumber:function(t){return o(t,e.BigNumber,!0,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sinh is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s,!0)}});return s.toTex=\"\\\\sinh\\\\left(${args[0]}\\\\right)\",s}function i(e){return Math.abs(e)<1?e+e*e*e/6+e*e*e*e*e/120:(Math.exp(e)-Math.exp(-e))/2}var a=r(19),o=r(473);t.name=\"sinh\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"cot\",{number:function(e){return 1/Math.tan(e)},Complex:function(t){var r=Math.exp(-4*t.im)-2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new e.Complex(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(Math.exp(-4*t.im)-1)/r)},BigNumber:function(t){return a(t,e.BigNumber,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function cot is no angle\");return 1/Math.tan(t.value)},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\cot\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(476);t.name=\"cot\",t.factory=n},function(e,t,r){var n=r(77),i=r(452),a=r(455),o=r(453);e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);var s=t.precision,u=n.pi(t.constructor({precision:s+2})),c=u.div(2).toDP(s-1);u=u.toDP(s-1);var f=o(e,t,1)[0];if(f.abs().eq(u))return new t(1/0);t.config({precision:s+4});var l=i(f,t,1,!1),p=a(l);l=l.toDP(s),p=p.toDP(s),f.eq(e)?f.gt(c)&&(p.s=-p.s):u.minus(f.abs()).gt(c)&&(p.s=-p.s);var m=r?p.div(l):l.div(p);return t.config({precision:s}),new t(m.toPrecision(s))}},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"coth\",{number:i,Complex:function(t){var r=Math.exp(2*t.re),n=r*Math.cos(2*t.im),i=r*Math.sin(2*t.im),a=(n-1)*(n-1)+i*i;return new e.Complex(((n+1)*(n-1)+i*i)/a,-2*i/a)},BigNumber:function(t){return o(t,e.BigNumber,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function coth is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\coth\\\\left(${args[0]}\\\\right)\",s}function i(e){var t=Math.exp(2*e);return(t+1)/(t-1)}var a=r(19),o=r(478);t.name=\"coth\",t.factory=n},function(e,t){e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);if(!e.isFinite())return new t(e.s);var n=t.precision;t.config({precision:n+4});var i=new t(e);i.constructor=t;var a=i.exp(),o=t.ONE.div(a),s=a.minus(o);return s=r?a.plus(o).div(s):s.div(a.plus(o)),t.config({precision:n}),s.toDP(n-1)}},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"csc\",{number:function(e){return 1/Math.sin(e)},Complex:function(t){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))-.5*Math.cos(2*t.re);return new e.Complex(.5*Math.sin(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.cos(t.re)*(Math.exp(-t.im)-Math.exp(t.im))/r)},BigNumber:function(t){return a(t,e.BigNumber,1,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function csc is no angle\");return 1/Math.sin(t.value)},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\csc\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(452);t.name=\"csc\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"csch\",{number:i,Complex:function(t){var r=Math.exp(t.re),n=Math.exp(-t.re),i=Math.cos(t.im)*(r-n),a=Math.sin(t.im)*(r+n),o=i*i+a*a;return new e.Complex(2*i/o,-2*a/o)},BigNumber:function(t){return o(t,e.BigNumber,!0,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function csch is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\mathrm{csch}\\\\left(${args[0]}\\\\right)\",s}function i(e){return 0==e?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(e)-Math.exp(-e)))*s(e)}var a=r(19),o=r(473),s=r(6).sign;t.name=\"csch\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"sec\",{number:function(e){return 1/Math.cos(e)},Complex:function(t){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))+.5*Math.cos(2*t.re);return new e.Complex(.5*Math.cos(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.sin(t.re)*(Math.exp(t.im)-Math.exp(-t.im))/r)},BigNumber:function(t){return a(t,e.BigNumber,0,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sec is no angle\");return 1/Math.cos(t.value)},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\sec\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(452);t.name=\"sec\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"sech\",{number:i,Complex:function(t){var r=Math.exp(t.re),n=Math.exp(-t.re),i=Math.cos(t.im)*(r+n),a=Math.sin(t.im)*(r-n),o=i*i+a*a;return new e.Complex(2*i/o,-2*a/o)},BigNumber:function(t){return o(t,e.BigNumber,!1,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sech is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\mathrm{sech}\\\\left(${args[0]}\\\\right)\",s}function i(e){return 2/(Math.exp(e)+Math.exp(-e))}var a=r(19),o=r(473);t.name=\"sech\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(472)),[\"number\"]),u=o.find(n(r(474)),[\"number\"]),c=o(\"sin\",{number:Math.sin,Complex:function(t){return new e.Complex(Math.sin(t.re)*s(-t.im),Math.cos(t.re)*u(t.im))},BigNumber:function(t){return a(t,e.BigNumber,1,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sin is no angle\");return Math.sin(t.value)},\"Array | Matrix\":function(e){return i(e,c,!0)}});return c.toTex=\"\\\\sin\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(452);t.name=\"sin\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"tan\",{number:Math.tan,Complex:function(t){var r=Math.exp(-4*t.im)+2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new e.Complex(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(1-Math.exp(-4*t.im))/r)},BigNumber:function(t){return a(t,e.BigNumber,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function tan is no angle\");return Math.tan(t.value)},\"Array | Matrix\":function(e){return i(e,o,!0)}});return o.toTex=\"\\\\tan\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(476);t.name=\"tan\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"tanh\",{number:i,Complex:function(t){var r=Math.exp(2*t.re),n=r*Math.cos(2*t.im),i=r*Math.sin(2*t.im),a=(n+1)*(n+1)+i*i;return new e.Complex(((n-1)*(n+1)+i*i)/a,2*i/a)},BigNumber:function(t){\nreturn o(t,e.BigNumber,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function tanh is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s,!0)}});return s.toTex=\"\\\\tanh\\\\left(${args[0]}\\\\right)\",s}function i(e){var t=Math.exp(2*e);return(t-1)/(t+1)}var a=r(19),o=r(478);t.name=\"tanh\",t.factory=n},function(e,t,r){e.exports=[r(487)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(56)),u=n(r(57)),c=i(\"to\",{\"Unit, Unit | string\":function(e,t){return e.to(t)},\"Matrix, Matrix\":function(e,t){return s(e,t,c)},\"Array, Array\":function(e,t){return c(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return c(o(e),t)},\"Matrix, Array\":function(e,t){return c(e,o(t))},\"Matrix, any\":function(e,t){return u(e,t,c,!1)},\"any, Matrix\":function(e,t){return u(t,e,c,!0)},\"Array, any\":function(e,t){return u(o(e),t,c,!1).valueOf()},\"any, Array\":function(e,t){return u(o(t),e,c,!0).valueOf()}});return c.toTex=\"\\\\left(${args[0]}\"+a.operators.to+\"${args[1]}\\\\right)\",c}t.name=\"to\",t.factory=n},function(e,t,r){e.exports=[r(489),r(281),r(490),r(396),r(395),r(424),r(358),r(491),r(286),r(439),r(492),r(493),r(494),r(283)]},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"clone\",{any:i.clone});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(3);t.name=\"clone\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"format\",{any:i.format,\"any, Object | function | number\":i.format});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(23);t.name=\"format\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isZero\",{number:function(e){return 0===e},BigNumber:function(e){return e.isZero()},Complex:function(e){return 0===e.re&&0===e.im},Fraction:function(e){return 1===e.d&&0===e.n},Unit:function(e){return 0===e.value},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isZero\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"print\",{\"string, Object\":i,\"string, Object, number\":i});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}function i(e,t,r){return e.replace(/\\$([\\w\\.]+)/g,function(e,n){for(var i=n.split(\".\"),s=t[i.shift()];i.length&&void 0!==s;){var u=i.shift();s=u?s[u]:s+\".\"}return void 0!==s?a(s)?s:o(s,r):e})}var a=r(23).isString,o=r(23).format;t.name=\"print\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){if(\"asc\"===e)return f;if(\"desc\"===e)return l;throw new Error('String \"asc\" or \"desc\" expected')}function s(e){if(1!==i(e).length)throw new Error(\"One dimensional array expected\")}function u(e){if(1!==e.size().length)throw new Error(\"One dimensional matrix expected\")}var c=n(r(51)),f=n(r(432)),l=function(e,t){return-f(e,t)},p=a(\"sort\",{Array:function(e){return s(e),e.sort(f)},Matrix:function(e){return u(e),c(e.toArray().sort(f),e.storage())},\"Array, function\":function(e,t){return s(e),e.sort(t)},\"Matrix, function\":function(e,t){return u(e),c(e.toArray().sort(t),e.storage())},\"Array, string\":function(e,t){return s(e),e.sort(o(t))},\"Matrix, string\":function(e,t){return u(e),c(e.toArray().sort(o(t)),e.storage())}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(40).size;t.name=\"sort\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"_typeof\",{any:function(e){var t=i.type(e);if(\"Object\"===t){if(e.isBigNumber===!0)return\"BigNumber\";if(e.isComplex===!0)return\"Complex\";if(e.isFraction===!0)return\"Fraction\";if(e.isMatrix===!0)return\"Matrix\";if(e.isUnit===!0)return\"Unit\";if(e.isIndex===!0)return\"Index\";if(e.isRange===!0)return\"Range\";if(e.isChain===!0)return\"Chain\";if(e.isHelp===!0)return\"Help\"}return t}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(41);t.name=\"typeof\",t.factory=n},function(e,t,r){e.exports=[r(496)]},function(e,t){\"use strict\";function r(e,t,r,n){return function(t,r){var n=e[r&&r.mathjs];return n&&\"function\"==typeof n.fromJSON?n.fromJSON(r):r}}t.name=\"reviver\",t.path=\"json\",t.factory=r},function(e,t,r){\"use strict\";var n=r(11),i=r(42),a=r(43);e.exports=[{name:\"ArgumentsError\",path:\"error\",factory:function(){return n}},{name:\"DimensionError\",path:\"error\",factory:function(){return i}},{name:\"IndexError\",path:\"error\",factory:function(){return a}}]}])});\n//# sourceMappingURL=math.map\n",
"title": "$:/plugins/mklauber/math.js/math.js",
"type": "application/javascript",
"module-type": "library"
}
}
}
{
"tiddlers": {
"$:/plugins/PSaT/MyMenus/licence": {
"text": "!!Plugin license\n!!The MIT License (MIT)\n\nCopyright (c) 2018 People, Systems and Things (Australia)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.",
"title": "$:/plugins/PSaT/MyMenus/licence",
"modifier": "Tony",
"modified": "20180131070716299",
"menu-item-1": " [[View My Menus Plugin licence|$:/plugins/PSaT/MyMenus/licence]]",
"menu-caption": "My Menus Licence",
"creator": "Tony",
"created": "20180123062605391",
"caption": "Licence"
},
"$:/plugins/PSaT/MyMenus/readme": {
"text": "!!!Installed Version {{$:/plugins/PSaT/MyMenus!!version}}\n\n!!Provides macros and Stylesheet for the creation of menus in ~TiddlyWIki\n;~MyMenus by People, Systems and Things (~PSaT}\n:Please read the usage tab to learn how to use ~MyMenus\n\n;The Plugin Site resides at http://tiddlywiki.psat.com.au/mymenus/\n:where you can also find additional tips, tricks and code to include in your menus\n\n\n",
"title": "$:/plugins/PSaT/MyMenus/readme",
"tags": "ShowFields",
"modifier": "Tony",
"modified": "20180131065924936",
"menu-item-1": "[[View My Menus Plugin ReadMe|$:/plugins/PSaT/MyMenus/readme]]",
"menu-caption": "My Menus ~ReadMe",
"creator": "Tony",
"created": "20180116100634660"
},
"$:/plugins/PSaT/MyMenus/usage": {
"created": "20180115030659257",
"creator": "Tony",
"text": "\\define setmenucaption() \nset the field menu-caption in the named tiddler for the menu button text\n\\end\n!!~MyMenus\n;~MyMenus by People, Systems and Things\n*My menus provides quick to create, yet sophisticated menus in your ~TiddlyWiki\n*Activated using a simple macro `<<showmenu \"Tiddlername\">>` a dropdown menu of tiddlers tagging Tiddlername is created, you can select and open them directly from the menu.\n*To create menu for use in a tiddler itself, use `<<showmenu \"$(currentTiddler)$\">>`\n*Creating a \"menu-caption\" field in any tiddler will create what we call a \"menu tiddler\"\n**In \"menu tiddlers\" you can create menu-item fields and enhance your menus further. This is where the real power lays\n**//More advanced users can even build special menu-caption values to include counts and styles//\n***eg `{{{ [tag[action-wip]regexp:created[^2017]count[]] }}} Actions - WIP`\n***THis would Count all tiddlers tagged action-wip, created in 2017 and count them\n*Using <<showmenu $:/PSaT/MyMenus/manager inline>> you can quickly sellect places on the tiddlywiki page to display your menus\n*Menus you create can include a color field or a menu menu-icon\n**Use transclude (unlike the normal icon field) eg; `{{$:/core/images/info-button}}`\n*Alternativly use the macro call `<<showmenu \"MenuTiddler\">>` anywhere in wiki text. \n**Also consider using the extended macrocall format `<$macrocall $name=\"showmenu\" menuname=\"MenuTiddler\"/>` in lists and other macros, especily when a value such as menuname comes from a variable or field.\n**Note: //Displaying menus in the Tiddler view template, means you can display one or more menus on every tiddler, since this can be too much sometimes, you can make this conditional. See ''Menu Filters'' for more information.//\n*The Default menu is a Dropdown menu, however you can select other types as follows\n**`<<showmenu menutiddler dropdown>>` default EG; <<showmenu $:/PSaT/MyMenus/manager dropdown>>\n**`<<showmenu menutiddler details>>` Menu displayed as a details acordian EG; <<showmenu $:/PSaT/MyMenus/manager details>>\n**`<<showmenu \"menutiddler\" inline>>` Menu apears as a standard wiki link until hover over dropdown <<showmenu $:/PSaT/MyMenus/manager inline>>\n*`<<showmenu menutiddler>>` or `<<showmenu menutiddler menuetype>>` will have a menu-filter(s) applied if they exists\n**See ''Menu Filters'' for more information.\n*The default menu content includes a headding \"__Tagging__\" and a list of all tiddlers tagging the menutiddler.\n**To disable this default menu content create a field menu-default-item (optionaly with content) in your menu tiddler and the default menu content will no longer apear, that is the field now defines the menu-default-item.\n\n;A simple link alternative?\n:If you simply want a simple link to look like a menu button, in wikitext use the .mymenubutton CSS provided with ~MyMenus\n\n```\n;.mymenubutton [[Manage Menus|$:/PSaT/MyMenus/manager]]<br>\n\n@@.mymenubutton [[Manage Menus|$:/PSaT/MyMenus/manager]]@@ @@.mymenubutton [[Manage Menus|$:/PSaT/MyMenus/manager]]@@\n\n```\n\n;The above displays as follows\n;.mymenubutton [[Manage Menus|$:/PSaT/MyMenus/manager]]<br>\n@@.mymenubutton [[Manage Menus|$:/PSaT/MyMenus/manager]]@@ @@.mymenubutton [[Manage Menus|$:/PSaT/MyMenus/manager]]@@\n\n:Read below on how to use ~MyMenus and create menu-item(s)\n\n;Other uses\n:~MyMenus can be used for more than just menus\n:Please see our website at [[tiddlywiki.psat.com.au/mymenus|http://tiddlywiki.psat.com.au/mymenus]] for more information and contribute your own menus, menu-items and ideas.\n\n!!__To create a menu__\n;See \"To view a tiddler menu\" below and name any tiddler\n:<<setmenucaption>>\n://this will provide a menu that lists all tiddlers tagged by the named tiddler tags//\n;Use the provided button\n:From the Button below, or from the <<showmenu $:/PSaT/MyMenus/manager>> menu\n:click on <<newmymenu>> to create a menutiddler\n*Variouse menu fields will be created for you to customise\n*Rename your \"New Menu Tiddler\" right away, so it is not overwitten with the next \"New Menu Tiddler\".\n**Rename it to a ''system tiddler'' if you do not want it apearing in standard searches eg; `$:/MyMenu` \n*Also update the menu-caption to indicate what to display when showing the menu, especialy if the tiddler is a ''system tiddler''.\n*Variouse Default settings comes fron the fields of [[this tiddler|$:/PSaT/MyMenus/defaultmenu]] which you can edit to change the result of the <<newmymenu>>, for example the default color.\n*Provide a description of your menu tiddler in a field called ''description'' this will be shown as a tool tip on the {{$:/core/images/info-button}} at the bottom of your menu.\n;Modify any existing tiddler and add a menu-caption to turn it into a menutiddler\n:Without any change, the menu for this tiddler will list the tiddlers that are tagged by this tiddler.\n://this includes any tiddler you create using the toolbar buttons \"new tiddler\" (or Journal) \"tagged with this tiddler\"//\n\n!!__To display a menu use the showmenu macro__\n:`<<showmenu tiddlername>>`\n://The default menu will be a list of tiddlers taged with tiddlername//\n://This is efectivly equivalent to a Menu-item of// `{{{ [tag<currentTiddler>] }}}`.\n:`<<showmenu tiddlername dropdown>>` indicates you are using the default dropdown style of menu.\n:`<<showmenu tiddlername details>>` indicates you are using the details style of menu (best inside tiddlers).\n:`<<showmenu tiddlername inline>>` indicates you are using the details style of menu (best inside tiddler text).\n\n!!__Managing your menu items__\n;At the bottom of __each menu__ when its open you can see \n*{{$:/core/images/info-button}} Info\n** Mouse over this to see a tooltip of the text in the menutiddlers 'description' field, if it exists. \n*{{$:/core/images/preview-open}} View\n** Open the named menutiddler to view\n*{{$:/core/images/edit-button}} Edit\n**to edit the tiddler you are using as a menu\n**use this to add the menu-caption field or additional menu-items\n*{{$:/core/images/options-button}} Menus\n**Use manage to open the [[MyMenu manager|$:/PSaT/MyMenus/manager]]\n***you can view all menus that have the menu-caption field set\n***choose to display your menus in different places\n***Learn more about ~MyMenus\n\n!!__Adding additional Menu items__\n:In any tiddler you are using as a menu tiddler, you can add additional menu items\n:Simply create additional fields begining with \"menu-item-\"; and put whatever you want in each menu-item\n:These names will be sorted prior to displaying your menu items\n:For example\n\n```\n menu-item-1\n menu-item-2\n menu-item-3\nor\n menu-item-a\n menu-item-b\n menu-item-b.5\n menu-item-c\n\nor so you can easily insert items in the future \n\n menu-item-10\n menu-item-20\n menu-item-30\n```\n//if a \"menu-item-\" field exists but has no value it is not displayed, this includes an empty result of a macro etc..//\n\n!!__Adding menu item values__\n:The My Menus plugin will use tiddlywikis built in wikitext features for each and every menu item\n:What this means is you can use any simple or sophisticated wikitext in each menu item\n:This makes almost anything possible, so we have provided a list of examples below\n\n;Please Note\n:because each menu-item- field is a single line, the use of `<br>` to indicate line breaks, or macros to include multiline menu items, extends what you can do in a menu item. A List or transclusion that results in multiple lines will create multiple menu items.\n\n;Examples are given below with a description following.\nSee also <<showmenu $:/PSaT/MyMenus/examplemenu>> which demonstrates many of the below menu items\n\n:''//Only a few examples are given below, please review the [[MyMenus plugin site|http://tiddlywiki.psat.com.au/mymenus/]] for more suggestions//''\n```\nsimple text<br>\n```\n:Will generate non clicable text, consider these as menu headings\n:Consider using __underline__ ''bold'' even color\n:You will usualy follow text with a break `<br>` to wrap the text\n\n```\n<hr>Text<br>[[tiddlername]]<br>[[Linkname|tiddlername]]\n```\n:All work so Get creative\n\n```\n<hr class=\"thinline\">\n```\n:Is provided to get Horizontal rules which take little space above and below\n\n```\n{{{ [tag[tagname]] }}}\n```\n:Will list all Tiddlers tagged \"tagname\" as seperate line items, clicking one will open that tiddler.\n\n```\n{{{ [prefix[$:/plugins/PSaT]] }}}\n```\n\n:Will list all Tiddlers beginning with \"$:/plugins/PSaT\" as seperate line items, clicking one will open that tiddler.\n:Consider giving such tiddlers their own heading for readability. See example below\n\n```\n__PSaT Plugins__<br>{{{ [prefix[$:/plugins/PSaT]] }}}<hr class=\"thinline\">\n```\n//This is an example of combining information in a single menu-item//\n\n```\n<<showmenu SubMenuTiddler details>>\n```\n//To embed one menu in another, use the details form of the showmenu//\n\n!!__Change the Default menu items__\n:See ''Managing your menu items'' to add additional menu-items\n:@@background-color:yellow; To stop the default list of tiddlers taging your menu tiddler@@\n:Create a menu-default field in your menu tiddler, leave it blank (by adding a space in the field) or set a different menu-default.\n:To Restore the menu-default delete the field or place `{{{ [tag<currentTiddler>] }}}` in it.\n\n!!Contexts and menu filters\n\nPlacing menus in the view template header and footer applys to all tiddlers. Except to provide tempoary tools to all tiddlers or a global menu this is not expected to be a common use.\n\n;If a menutiddler has a menu-filter field, this will be applied before displaying the menu\n:This can be used to display a menu only under certian conditions. The menu-filter will apply regardless of context (descirbed below)\n:However if a menu-filter-context filter exists, and the menu is in that context it will be applied instead of the menu-filter 'filter'\n:be carful to restrict the selection appropriatly such as starting with is[current] such as in `[is[current]tag[showiftaggedname]]`\n;Context indicates where the menutiddler is being called from\n:Existing contexts are set for menus displayed in the following locations\n*viewheader\n*viewfotter\n*topleftbar, \n*toprightbar, \n*abovestory, \n*belowstory,\n*mymenucustomsidebar,\n*mymenusidebar.\n\n;For each context you can set a menu-filter-//contextname// that determins if the menu will display in that context.\n:Create a menutiddler, and in the <<showmenu $:/PSaT/MyMenus/manager>> select it to display on the viewheader and elsewhere as desired\n:Now create a field called menu-filter-viewheader and place a filter in this field, this filter will be applied only when displaying the menu in the viewheader context\n:For example a \"Task manager\" menu may have a menu-filter-viewheader with the value `[is[current]tag[task]]` so it only appears in tiddlers viewheader tagged ''task''.\n\n;You can create your own contexts\n:Wrap \"showmenu macro\" in a set widget to specify the menu-context\n\n```\n<$set name=menu-context value=contextname>\n<<showmenu menutiddler>>\n</$set>\n```\n\n:The the `<<menu-context>>` variable will be available in your menus, and menu-items\n:The context will be used to identify if a menu-filter exists, and that filter will be applied if the context matches\n:If a context based menu-filter does not exist, it will use the field menu-filter (if it exists) or by default the filter set in $:/PSaT/MyMenus/menufilterdefault //which is always true by default//\n\n!!__Avoid filter(s) or use alternative titles__\n*If you use the specific menu format macros (list below) existing filter and context filters will not be applied\n**`<<mymenudropdown \"menutiddler\" \"alternate title\">>` \n**`<<mymenudetails \"menutiddler\" \"alternate title\">>`\n**`<<mymenuinline \"menutiddler\" \"alternate title\">>`\n://helpful if you want to overide the default in a specific case.//\n\n!!__Special variables__\n:~MyMenus have access to the following variables\n*`<<currentMenu>>` The menutiddler name to which the showmenu refers.\n*`<<currentTiddler>>` The tiddler name in which the showmenu commend is contained, or the current tiddler. No value returned when placed elsewhere on the page eg ~TopLeftMenu, ~AboveStory.\n*`<<menu-context>>` see ''Contexts and menu filters'' for more information.\n:~MyMenus menu-items have access to the following variables (in addition to above available across the whole menu)\n*`<<menuitem>>` Used inside a menu-item the menuitem returns the current name of the menuitem name including \"menu-item-\"\n*`<<menu-item-suffix>>` Used inside a menu-item the menu-item-suffix returns the current value of the menu item name that follows \"menu-item-\"\n**For example menu-item-1 containing `<<menu-item-suffix>>` will return \"1\"\n\n!!__Special macros__\n:place the following macros inside a menu-item- field in your menu tiddler to;\n\n;Create an empty field \n:mm-create-field fieldname \"withoutfieldtext\" \"withfieldtext\"\n://(you can then use a fields existence to do something else)//\n\n```\n<<mm-create-field Test-field \"Test-field exists\" \"Create Test-field\">>\n```\n\n;Create a field and/or stamp it with a tiddlywiki date/time of now\nmm-create-field-stamp fieldname \"withoutfieldtext\" \"withfieldtext\"\n\n```\n<<mm-create-field-stamp Test-field-date \"Test-field exists\" \"Create Test-field\">>\n```\n\n;The following returns a menu caption, first it looks for menu-caption, then caption then menutiddler\n\n```\n<<mymenucaption \"menutiddler\">>\n```\n\n\n!!!Work in progress\n\n```\nmm-newtagged(tiddlername)\nmm-fieldortags(tiddlername)\nmm-tabsfromtags(tiddlername)\nmm-fieldandtags(tiddlername}\ninfodesc(tiddlername:\"No Description available\")\nnewmymenu(tiddlername:\"New Menu Tiddler\")\n\nmymenucaption(menuname) ?\nmymenutagging(menuname) ?\n\nmymenubutton(menucolor,icon,caption:\"Default Caption\") ?\nmymenulink(menucolor,icon,caption:\"Default Caption\")\n```\n\n!!Using MyMenus macros other ways\n//A range of MyMenus internal macros have been exposed to support other features//\n\n*Invoke part of the menu only //(will not always produce tidy results)//\n**`<<mymenubody \"menutiddler\">>` List of menu items, no tagging or footer\n**`<<mymenutagging \"menutiddler\">>` Items tagging menutiddler or tiddler no menu items or footer\n**`<<mymenufooter \"menutiddler\">>` The menu footer only with info, view, edit and menu manager access.",
"title": "$:/plugins/PSaT/MyMenus/usage",
"test-field-date": "20180131153043225",
"tags": "working",
"modifier": "Tony",
"modified": "20180205014320871",
"menu-item-1": "[[Using MyMenus|$:/plugins/PSaT/MyMenus/usage]]",
"menu-icon": "{{$:/core/images/info-button}}",
"menu-caption": "Using ~MyMenus"
},
"$:/PSaT/MyMenus/defaultmenu": {
"text": ";The following default menu settings exist on this tiddler\n:Set color in color field\n:Set the Text of the new menu tiddler in the menu-body field",
"title": "$:/PSaT/MyMenus/defaultmenu",
"modifier": "Tony",
"modified": "20180203152122167",
"menu-body": "!!This is a menu tiddler<br><<showmenu \"$(currentTiddler)$\">>",
"creator": "Tony",
"created": "20180202013917742",
"color": "#e6ffff"
},
"$:/PSaT/MyMenus/examplemenu": {
"text": "<<showmenu $:/PSaT/MyMenus/examplemenu>>\n",
"title": "$:/PSaT/MyMenus/examplemenu",
"test-field-date": "20180131234144927",
"tags": "working",
"modifier": "Tony",
"modified": "20180203133735028",
"menu-item-d": "<<currentMenu>> MenuName",
"menu-item-c": "Menu Item <<menuitem>>",
"menu-item-b": "<<mm-create-field-stamp Test-field-date \"Touch\" \"Touch\">> <$view field=\"Test-field-date\" format=\"date\" template=\"0hh:0mm 0DD/0MM/YYYY\"/><br>",
"menu-item-a": "<<menu-item-suffix>>. Field <<mm-create-field Test-field \"Create Test-field\" \"Test-field exists\">><br>",
"menu-item-7": "@@.mymenybutton [[w3schools.com|https://www.w3schools.com/]]@@",
"menu-item-6": "<<showmenu $:/PSaT/MyMenus/manager details>>",
"menu-item-5": "__PSaT Plugins__<br>{{{ [prefix[$:/plugins/PSaT]] }}}<hr class=\"thinline\">",
"menu-item-4": "{{{ [tag[tagname]] }}}",
"menu-item-3": "<hr class=\"thinline\">",
"menu-item-2": "<hr>Text<br>[[tiddlername]]<br>[[Linkname|tiddlername]]",
"menu-item-1": "simple text<br>",
"menu-caption": "Example Menu",
"list": "",
"description": "Example menu using items from [[usage document|$:/plugins/PSaT/MyMenus/usage]]",
"creator": "Tony",
"created": "20180115042915988"
},
"$:/PSaT/MyMenus/taggingdefaulttitle": {
"text": "{{!!menu-tagged-title}}",
"title": "$:/PSaT/MyMenus/taggingdefaulttitle",
"tags": "",
"modifier": "Tony",
"modified": "20180202070410461",
"menu-tagged-title": "__Tagging__",
"creator": "Tony",
"created": "20180202070320357"
},
"$:/PSaT/MyMenus/macro": {
"created": "20171214234601248",
"creator": "Tony",
"text": "\\define mymenubody(menuname;menutitle;mode:\"inline\")\n <$list filter=\"[[$menuname$]fields[]prefix[menu-item-]sort[]]\" variable=menuitem>\n <$list filter=\"[<menuitem>removeprefix[menu-item-]]\" variable=menu-item-suffix>\n <!-- Provide the variable to each menu item -->\n <$transclude tiddler=\"$menuname$\" field=<<menuitem>> mode=$mode$/>\n </$list>\n </$list>\n\\end\n\\define mymenutagging(menuname;menutitle)\n<$list filter=\"[[$menuname$]!has:field[menu-default-item]]\" variable=nul>\n{{$:/PSaT/MyMenus/taggingdefaulttitle!!menu-tagged-title}}<br>{{{ [tag[$menuname$]] }}}\n</$list>\n\n<$list filter=\"[[$menuname$]has:field[menu-default-item]]\" variable=nul>\n<$transclude tiddler=\"$menuname$\" field=\"menu-default-item\" mode=$mode$/>\n</$list>\n\\end\n\\define mymenufooter(menuname;menutitle)\n <hr class=\"itemhr\">\n <div style=\"font-size:2em; width: 100%;\">\n <<infodesc \"$menuname$\">>\n <$button tooltip=\"View menu tiddler\" class=\"tc-btn-invisible tc-tiddlylink\">\n <$action-navigate $to=\"$menuname$\"/> {{$:/core/images/preview-open}}\n </$button> \n <$button tooltip=\"Open menu tiddler to edit\" class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-sendmessage $message=\"tm-edit-tiddler\" $param=\"$menuname$\"/>\n {{$:/core/images/edit-button}}\n </$button> \n <$button tooltip=\"Manuage menus\" class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-navigate $to=\"$:/PSaT/MyMenus/manager\"/>\n {{$:/core/images/options-button}}\n </$button>\n </div>\n\\end\n\\define mymenudropdown(menuname;menutitle)\n \n<div class=\"dropdown\">\n <$macrocall $name=mymenubutton menucolor={{$menuname$!!color}} icon=\"{{$menuname$!!menu-icon}}\" caption=<<mymenucaption \"$menuname$\" \"$menutitle$\">>/>\n <div class=\"dropdown-content\">\n <<mymenubody \"$menuname$\">>\n <<mymenutagging \"$menuname$\">>\n <<mymenufooter \"$menuname$\">>\n </div>\n</div>\n\\end\n\\define mymenuinline(menuname;menutitle)\n<div class=\"dropdown\">\n <$macrocall $name=mymenulink menucolor={{$menuname$!!color}} icon=\"{{$menuname$!!menu-icon}}\" caption=<<mymenucaption \"$menuname$\" \"$menutitle$\">>/>\n <div class=\"dropdown-content\">\n <<mymenubody \"$menuname$\">>\n <<mymenutagging \"$menuname$\">>\n <<mymenufooter \"$menuname$\">>\n </div>\n\\end\n\\define mymenudetails(menuname;menutitle)\n\n<details style=\"background-color:white;\">\n <summary><<mymenucaption \"$menuname$\" \"$menutitle$\">></summary>\n\n <div class=\"details-content\">\n <<mymenubody \"$menuname$\" \"$menutitle$\">>\n <<mymenutagging \"$menuname$\" >>\n <<mymenufooter \"$menuname$\" >>\n </div>\n</details>\n\\end\n\\define showmenu(menuname;menutype:\"dropdown\";menutitle;menufilter)\n<$set name=menufilter1 value={{$menuname$!!menu-filter-$(menu-context)$}} emptyValue={{$menuname$!!menu-filter}}>\n<$set name=menufilter value=<<menufilter1>> emptyValue=\"{{$:/PSaT/MyMenus/menufilterdefault}}\">\n<$macrocall $name=showmenucore menuname=\"$menuname$\" menutype=\"$menutype$\" menutitle=\"$menutitle$\" />\n</$set>\n</$set>\n\\end\n\\define showmenucore(menuname;menutype:\"dropdown\";menutitle;menufilter)\n<$list filter=<<menufilter>> variable=null>\n<$vars\ncurrentMenu=\"[[$menuname$]]\"\nmenutypeset=\"$menutype$\" \ndropdowntype=\"dropdown\"\ninlinetype=\"inline\"\ndetailstype=\"details\"\n>\n<$list filter=\"[title<menutypeset>prefix<dropdowntype>suffix<dropdowntype>]\" variable=null>\n<<mymenudropdown \"$menuname$\" \"$menutitle$\">>\n</$list>\n\n<$list filter=\"[title<menutypeset>prefix<detailstype>suffix<detailstype>]\" variable=null>\n<<mymenudetails \"$menuname$\" \"$menutitle$\">>\n</$list>\n\n<$list filter=\"[title<menutypeset>prefix<inlinetype>suffix<inlinetype>]\" variable=null>\n<<mymenuinline \"$menuname$\" \"$menutitle$\">>\n</$list>\n\n</$vars>\n</$list>\n\\end\n\\define mymenucaption(menuname,menutitle)\n<$set name=caption-title value=\"$menutitle$\" emptyValue={{$menuname$!!menu-caption}}>\n<$set name=caption-menu value=<<caption-title>> emptyValue={{$menuname$!!caption}}>\n<$set name=caption-caption value=<<caption-menu>> emptyValue=\"$menuname$\"}>\n<<caption-caption>>\n</$set>\n</$set>\n</$set>\n\\end\n\\define mymenubutton(menucolor,icon,caption:\"Default caption\")\n<$button class=\"mydropbtn\" style=\"background-color:$menucolor$;\"> $icon$ $caption$ </$button>\n\\end\n\\define mymenulink(menucolor,icon,caption:\"Default Caption\")\n<$button class=\"tc-btn-invisible tc-tiddlylink\">$caption$</$button>\n\\end\n\\define newmymenu(tiddlername:\"New Menu Tiddler\")\n<$button tooltip=\"Create new Menu Tiddler\">\n<$action-createtiddler $basetitle=\"$tiddlername$\" menu-caption=\"$tiddlername$\" description=\" \" menu-item-1=\" \" menu-item-2=\" \" menu-item-3=\" \" menu-icon=\" \" color={{$:/PSaT/MyMenus/defaultmenu!!color}} text={{$:/PSaT/MyMenus/defaultmenu!!menu-body}}/>\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=\"$tiddlername$\"/>\n{{$:/core/images/new-button}} $tiddlername$\n</$button>\n\\end",
"title": "$:/PSaT/MyMenus/macro",
"tags": "$:/tags/Macro ShowCode ShowFields working",
"modifier": "Tony",
"modified": "20180205012511238"
},
"$:/PSaT/MyMenus/macrosupport": {
"text": "\\define mm-create-field-stamp(fieldname;without:\"Without\";with:\"with\")\n<$list filter=\"[is[current]!has[$fieldname$]]\" variable=null>\n<$button tooltip=\"Add Field $fieldname$\">\n<$action-setfield $field=$fieldname$ $value=<<now YYYY0MM0DD0hh0mm0ssXXX>>/>\n$without$\n</$button>\n</$list>\n<$list filter=\"[is[current]has[$fieldname$]]\" variable=null>\n<$button tooltip=\"Time/Stamp Field $fieldname$\">\n<$action-setfield $field=$fieldname$ $value=<<now YYYY0MM0DD0hh0mm0ssXXX>>/>\n$with$\n</$button>\n</$list>\n\\end\n\\define mm-create-field(fieldname;without:\"Without\";with:\"with\";)\n<$list filter=\"[is[current]!has[$fieldname$]]\" variable=null emptyMessage=\"$with$\">\n<$button tooltip=\"Add Field $fieldname$\">\n<$action-setfield $field=$fieldname$ $value=\" \"/>\n$without$\n</$button>\n</$list>\n\\end\n\\define mm-newtagged(tiddlername)\n<$button tooltip=\"Create new Tiddler tagged:$tiddlername$\">\n<$action-createtiddler $basetitle=\"New tagged $tiddlername$\" tags=$tiddlername$/>\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=\"New tagged $tiddlername$\"/>\n{{$:/core/images/new-button}} $tiddlername$\n</$button>\n\\end\n\\define mm-fieldortags(tiddlername)\n<$list filter=\"[tag[$tiddlername$]sort[]]\" variable=fieldor><$radio field=\"$tiddlername$\" value=<<fieldor>>></$radio><$macrocall $name=tag tag=<<fieldor>>/><br></$list>\n\\end\n\\define mm-tabsfromtags(tiddlername)\n<$select field=\"$tiddlername$-tabs\" multiple>\n<$list filter=\"[tag[$tiddlername$]sort[]]\" variable=tabname>\n<option value=<<tabname>>><<tabname>></option><<tabname>>\n</$list>\n</$select>\n\\end\n\\define mm-fieldandtags(tiddlername)\n<$select field=\"$tiddlername$\" multiple>\n<$list filter=\"[tag[$tiddlername$]sort[]]\" variable=fieldandtags>\n<option value=<<fieldandtags>>><$macrocall $name=tag tag=<<fieldandtags>>/></option>\n</$list>\n</$select>\n\\end\n\\define infodesc(tiddlername:\"No Description available\")\n <$button tooltip={{$tiddlername$!!description}} class=\"tc-btn-invisible tc-tiddlylink\" >\n {{$:/core/images/info-button}}\n </$button>\n\\end",
"title": "$:/PSaT/MyMenus/macrosupport",
"tags": "$:/tags/Macro ShowCode ShowFields working",
"modifier": "Tony",
"modified": "20180131221547398",
"creator": "Tony",
"created": "20180131042348618"
},
"$:/PSaT/MyMenus/manager": {
"created": "20180116042145699",
"creator": "Tony",
"text": "<<newmymenu>>\n<table style=\"width:100%;\">\n<tr>\n<th>Edit</th>\n<th>Menu^^#1^^</th>\n<th colspan=7>Menu Placement^^#2^^ ^^#3^^</th>\n</tr>\n<tr>\n<th></th>\n<th>Custom Menus</th>\n<th>~ViewHeader</th>\n<th>~ViewFooter</th>\n<th>~TopLeftBar</th>\n<th>~TopRightBar</th>\n<th>~AboveStory</th>\n<th>~BelowStory</th>\n<th>~SideBarTab</th>\n</tr>\n<$list filter=\"[all[]has[menu-caption]!has[draft.of]sort[menu-caption]!prefix[$:/PSaT/MyMenus/]]\" variable=menutiddler>\n <tr>\n <td><$button tooltip=\"Open $menuname$ to edit\" class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<menutiddler>>/>\n {{$:/core/images/edit-button}}\n </$button></td>\n <td><$macrocall $name=mymenudropdown menuname=<<menutiddler>>/></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusheader\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusfooter\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusTopLeftBar\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusTopRightBar\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusabovestory\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusbelowstory\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenussidebar\"></$checkbox></td>\n </tr>\n</$list>\n<tr>\n<th></th>\n<th rowspan=1>~MyMenus Plugin menus</th>\n<th colspan=7></th>\n</tr>\n<$list filter=\"[all[]has[menu-caption]!has[draft.of]sort[menu-caption]prefix[$:/PSaT/MyMenus/]]\" variable=menutiddler>\n <tr>\n <td><$button tooltip=\"Open $menuname$ to edit\" class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<menutiddler>>/>\n {{$:/core/images/edit-button}}\n </$button></td>\n <td><$macrocall $name=mymenudropdown menuname=<<menutiddler>>/></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusheader\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusfooter\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusTopLeftBar\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusTopRightBar\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusabovestory\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenusbelowstory\"></$checkbox></td>\n <td class=\"tdc\"><$checkbox tiddler=<<menutiddler>> tag=\"$:/tags/mymenussidebar\"></$checkbox></td>\n </tr>\n</$list>\n<tr>\n<th colspan=2></th>\n<th colspan=7>View options</th>\n</tr>\n</table>\n\n''Notes:''<br>\n ''#1'' Lists only tiddlers with \"menu-caption\" field<br>\n ''#2'' Will always apear where placed unless a menu-filter is set\n //Please see ''Menu filters'' [[in MyMenus Usage|$:/plugins/PSaT/MyMenus/usage]] especialy for view header and footer as these will display on every tiddler.//<br>\n ''#3'' For Menu order - See ''Menu Display Order by tag'' below.\n\n<br>\n@@.mymenubutton [[Plugin readme|$:/plugins/PSaT/MyMenus/readme]]@@ @@.mymenubutton [[Licence details|$:/plugins/PSaT/MyMenus/licence]]@@ @@.mymenubutton [[Usage Documentation|$:/plugins/PSaT/MyMenus/usage]]@@ @@.mymenubutton [[Stylesheet|$:/PSaT/MyMenus/stylesheet]]@@\n\n<$checkbox tiddler=\"$:/PSaT/MyMenus/SideBarTab\" tag=\"$:/tags/SideBar\"> Show ~MyMenus in ~SideBarTab</$checkbox>, \nIndividual menus must be selected, to apear in the ~SideBarTab (see table above)\n\n;View Template display order\n\n;{{$:/tags/ViewTemplate||$:/core/ui/TagTemplate}}\n:Clicking on the above tag pill you can change the order in which items appear on the view template\n:Review the location of ~$:/PSaT/mymenus/viewheader and ~$:/PSaT/mymenus/viewfooter\n:The view header is best placed above the Body, and the footer below it, but it is up to you.\n\n;Menu filters defined in menu tiddlers\n:The following is a list of tiddlers containing one or more menu-filter fields\n<$list filter=\"[has[menu-caption]sort[]]\" variable=menutiddler>\n <$list filter=\"[<menutiddler>fields[]prefix[menu-filter]sort[]]\" variable=filterfield>\n <tr>\n <td><$link to=<<menutiddler>> tooltip=\"Open menu tiddler with one or more menu-filter(s)\"><<menutiddler>></$link></td><td> {{$:/core/images/right-arrow}} <<filterfield>> </td><td> {{$:/core/images/right-arrow}} <$view tiddler=<<menutiddler>> field=<<filterfield>>/> </td>\n </tr>\n </$list>\n</$list>\n\n\n!!Menu Display Order by tag.\n://Once you have selected menus to display in the different screen locations//\n://Click on therelavant tagpill and drag items in its list to alter the order they appear//\n \n:{{$:/tags/mymenusheader||$:/core/ui/TagTemplate}}\n:{{$:/tags/mymenusfooter||$:/core/ui/TagTemplate}}\n:{{$:/tags/mymenusTopLeftBar||$:/core/ui/TagTemplate}}\n:{{$:/tags/mymenusTopRightBar||$:/core/ui/TagTemplate}}\n:{{$:/tags/mymenusabovestory||$:/core/ui/TagTemplate}}\n:{{$:/tags/mymenusbelowstory||$:/core/ui/TagTemplate}}\n:{{$:/tags/mymenussidebar||$:/core/ui/TagTemplate}}",
"title": "$:/PSaT/MyMenus/manager",
"tags": "$:/tags/mymenussidebar",
"mystatus": "ClosedStatus",
"modifier": "Tony",
"modified": "20180205081651853",
"menu-item-6": " Context:<<menu-context>><br>",
"menu-item-5": "[[MyMenus Database|http://tiddlywiki.psat.com.au/mymenus]]",
"menu-item-4": "__links__<br>[[MyMenus Source|http://tiddlywiki.psat.com.au/mymenus]]",
"menu-item-3.5": "<<newmymenu>><br>",
"menu-item-3": "[[MyMenus Plugin|$:/plugins/PSaT/MyMenus]]",
"menu-item-2": "[[MyMenus Usage|$:/plugins/PSaT/MyMenus/usage]]",
"menu-item-1": "[[MyMenus Manager|$:/PSaT/MyMenus/manager]]",
"menu-icon": "{{$:/core/images/options-button}}",
"menu-caption": "~MyMenus Manager",
"icon": "$:/PSaT/MyMenus/icon",
"description": "Open the MyMenus Manager",
"caption": ""
},
"$:/PSaT/MyMenus/menufilterdefault": {
"text": "[title[ALWAYSTRUE]]",
"title": "$:/PSaT/MyMenus/menufilterdefault",
"tags": "",
"modifier": "Tony",
"modified": "20180131110721465",
"creator": "Tony",
"created": "20180118042213649"
},
"$:/PSaT/MyMenus/menumenu": {
"text": "On Condition here\n<<showmenu $:/PSaT/MyMenus/menumenu inline>>\n\n---\n\n<<mymenudetails $:/PSaT/MyMenus/menumenu>>\n\n---\n\n<<mymenubody $:/PSaT/MyMenus/menumenu>>\n\n---\n\n<<mymenufooter $:/PSaT/MyMenus/menumenu>>",
"title": "$:/PSaT/MyMenus/menumenu",
"tags": "ShowFields",
"modified": "20180127032951776",
"menu-item-4": "Filter:<<menufilter>><br>",
"menu-item-3": "<$button><$action-setfield $field=menu-default $value=\" \"/>Overide Menu Default</$button><br>",
"menu-item-2": "^^//Only Shows when menu-caption field exists//^^<br>",
"menu-item-1.5": "<<currentTiddler>><br>",
"menu-item-1": "This is a menu tiddler<br>",
"menu-caption": "Edit __menu tiddler__",
"description": "Menu for managing Menu tiddlers",
"created": "20180117021626010"
},
"$:/PSaT/MyMenus/SideBarTab": {
"text": ";Custom menus\n<$list filter=\"[all[]tag[$:/tags/mymenussidebar]sort[menu-caption]!prefix[$:/PSaT/MyMenus/]!has[draft.of]]\" variable=menutiddler>\n <$set name=menu-context value=mymenucustomsidebar>\n <$button tooltip=\"Open $menuname$ to edit\" class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<menutiddler>>/>\n {{$:/core/images/edit-button}}\n </$button>\n <$macrocall $name=showmenu menuname=<<menutiddler>>/><br>\n </$set>\n</$list>\n<hr class=\"thinline\">\n<$list filter=\"[[$:/PSaT/MyMenus/manager]]\" variable=menutiddler>\n <$set name=menu-context value=mymenusidebar>\n <$button tooltip=\"Open $menuname$\" class=\"tc-btn-invisible tc-tiddlylink\" to=<<menutiddler>> >\n {{$:/core/images/preview-open}}\n </$button>\n <$macrocall $name=showmenu menuname=<<menutiddler>>/><br>\n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/SideBarTab",
"tags": "$:/tags/SideBar",
"modifier": "Tony",
"modified": "20180204220556785",
"creator": "Tony",
"created": "20180122013431520",
"caption": "MyMenus"
},
"$:/PSaT/MyMenus/stylesheet": {
"text": " /* Dropdown Button */\n.dropbtn {\n background-color: white;\n color: black;\n padding: 2px 7px;\n border: outset;\n cursor: pointer;\n}\n\n.mydropbtn {\n background-color: white;\n color: black;\n padding: 2px 7px;\n border: double;\n cursor: pointer;\n}\n\n/* The container <div> - needed to position the dropdown content */\n.dropdown {\n position: relative;\n display: inline-block;\n}\n\n/* Dropdown Content (Hidden by Default) */\n.dropdown-content {\n display: none;\n position: absolute;\n color: black;\n background-color: white;\n min-width: 320px;\n box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2);\n z-index: 550;\n}\n\n/* Links inside the dropdown */\n.dropdown-content a {\n color: black;\n padding: 0px 15px;\n text-decoration: none;\n display: block;\n}\n\n/* Change color of dropdown links on hover */\n.dropdown-content a:hover {background-color: #f1f1f1;}\n\n/* Show the dropdown menu on hover */\n.dropdown:hover .dropdown-content {\n display: block;\n border: outset;\n}\n\n/* Change the background color of the dropdown button when the dropdown content is shown */\n.dropdown:hover .dropbtn {\n background-color: white;\n} \n\n/* Show the dropdown button on hover */\n.dropbtn:hover {\n border: inset;\n}\n\n.itemhr {\n display: block;\n margin-top: 0.1em;\n margin-bottom: 0.1em;\n margin-left: auto;\n margin-right: auto;\n border-style: dashed;\n border-width: 1px;\n}\n\n.tdc {\ntext-align: center;\n}\n\n.mymenubutton {\n background-color: white;\n color: black;\n padding: 2px 7px;\n border: outset;\n cursor: pointer;\n display: inline-block;\n}",
"title": "$:/PSaT/MyMenus/stylesheet",
"tags": "$:/tags/Stylesheet working",
"modifier": "Tony",
"modified": "20180202021312138",
"menu-item-1": "[[View or Modify MyMenus StyleSheet |$:/PSaT/MyMenus/stylesheet]]",
"menu-caption": "~MyMenus ~StyleSheet",
"creator": "Tony",
"created": "20180115010616375"
},
"$:/PSaT/MyMenus/viewabovestory": {
"text": "<$list filter=\"[tag[$:/tags/mymenusabovestory]]\" variable=tiddlername>\n <$set name=menu-context value=abovestory>\n <$macrocall $name=showmenu menuname=<<tiddlername>>/> \n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/viewabovestory",
"tags": "$:/tags/AboveStory ShowCode",
"modifier": "Tony",
"modified": "20180203052329341",
"creator": "Tony",
"created": "20180122005246353"
},
"$:/PSaT/MyMenus/viewbelowstory": {
"text": "<$list filter=\"[tag[$:/tags/mymenusbelowstory]]\" variable=tiddlername>\n <$set name=menu-context value=belowstory>\n <$macrocall $name=showmenu menuname=<<tiddlername>>/> \n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/viewbelowstory",
"tags": "$:/tags/BelowStory ShowCode",
"modifier": "Tony",
"modified": "20180131105531557",
"creator": "Tony",
"created": "20180122005427525"
},
"$:/PSaT/MyMenus/viewfooter": {
"text": "<$list filter=\"[tag[$:/tags/mymenusfooter]]\" variable=tiddlername>\n <$set name=menu-context value=viewfooter>\n <$macrocall $name=showmenu menuname=<<tiddlername>>/>\n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/viewfooter",
"tags": "$:/tags/ViewTemplate ShowCode",
"modifier": "Tony",
"modified": "20180203040615966",
"list-after": "$:/core/ui/ViewTemplate/body",
"creator": "Tony",
"created": "20180116103206439",
"caption": "MyMenus View Footer"
},
"$:/PSaT/MyMenus/viewheader": {
"text": "<$list filter=\"[tag[$:/tags/mymenusheader]]\" variable=tiddlername>\n <$set name=menu-context value=viewheader>\n <$macrocall $name=showmenu menuname=<<tiddlername>>/>\n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/viewheader",
"tags": "$:/tags/ViewTemplate ShowCode",
"modifier": "Tony",
"modified": "20180203040558729",
"list-before": "$:/core/ui/ViewTemplate/body",
"creator": "Tony",
"created": "20180116102225607",
"caption": "MyMenus View Header"
},
"$:/PSaT/MyMenus/viewTopLeftBar": {
"text": "<$list filter=\"[tag[$:/tags/mymenusTopLeftBar]]\" variable=tiddlername>\n <$set name=menu-context value=topleftbar>\n <$macrocall $name=showmenu menuname=<<tiddlername>>/>\n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/viewTopLeftBar",
"tags": "$:/tags/TopLeftBar ShowCode",
"modifier": "Tony",
"modified": "20180131110110356",
"creator": "Tony",
"created": "20180122005820263"
},
"$:/PSaT/MyMenus/viewTopRightBar": {
"text": "<$list filter=\"[tag[$:/tags/mymenusTopRightBar]]\" variable=tiddlername>\n <$set name=menu-context value=toprightbar>\n <$macrocall $name=showmenu menuname=<<tiddlername>>/> \n </$set>\n</$list>",
"title": "$:/PSaT/MyMenus/viewTopRightBar",
"tags": "$:/tags/TopRightBar ShowCode",
"modifier": "Tony",
"modified": "20180131105638828",
"creator": "Tony",
"created": "20180122005936467"
},
"$:/PSaT/MyMenus/icon": {
"text": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 501.656 501.656\" style=\"enable-background:new 0 0 501.656 501.656;\" xml:space=\"preserve\" width=\"512px\" height=\"512px\">\n<g>\n\t<g>\n\t\t<path d=\"M458.828,0h-368c-22.056,0-40,17.944-40,40v124.688L5.172,210.344C3.676,211.84,2.828,213.88,2.828,216v280h16V219.312 l32-32V208c0,4.416,3.584,8,8,8h94.984c-3.56,13.784-16.104,24-30.984,24h-32c-4.416,0-8,3.584-8,8c0,26.912-21.088,48-48,48v16 c5.552,0,10.896-0.728,16-2v114c0,22.056,17.944,40,40,40h24v32h16v-32h128v16c0,2.12,0.84,4.16,2.344,5.656l16,16l11.312-11.312 l-13.656-13.656v-49.376l16-16.016V448h16V227.984c0-6.608,5.376-11.984,12.016-11.984c6.608,0,11.984,5.376,11.984,11.984v112 V408h16v-68.016c0-6.608,5.376-11.984,12.016-11.984c6.608,0,11.984,5.376,11.984,11.984V408h16v-68.016 c0-6.608,5.376-11.984,12.016-11.984c6.608,0,11.984,5.376,11.984,11.984V408h8h8l0.032-68.032c0-6.6,5.376-11.976,11.984-11.976 c6.608,0,11.984,5.376,11.984,11.984V496h16v-32.808c18.232-3.72,32-19.88,32-39.192V40C498.828,17.944,480.884,0,458.828,0z M482.828,424c0,10.416-6.712,19.216-16,22.528V339.984c0-15.432-12.552-27.984-27.984-27.984c-7.84,0-14.92,3.264-20,8.48 c-5.088-5.216-12.176-8.48-20.032-8.48c-7.832,0-14.904,3.256-19.984,8.456c-5.088-5.2-12.168-8.456-20.016-8.456 c-4.304,0-8.336,1.056-11.984,2.8v-86.816c0-15.432-12.552-27.984-28.016-27.984c-15.432,0-27.984,12.552-27.984,27.984v160.672 l-29.664,29.688c-1.496,1.504-2.336,3.536-2.336,5.656v24h-168c-13.232,0-24-10.768-24-24V303.624 c17.088-9.688,29.056-26.976,31.528-47.624h24.472c26.472,0,48-21.528,48-48c0-4.416-3.584-8-8-8h-96v-32V40 c0-13.232,10.768-24,24-24h368c13.232,0,24,10.768,24,24V424z\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<path d=\"M226.828,32h-120c-4.416,0-8,3.584-8,8v40c0,4.416,3.584,8,8,8h120c4.416,0,8-3.584,8-8V40 C234.828,35.584,231.244,32,226.828,32z M218.828,72h-104V48h104V72z\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<path d=\"M442.828,32h-120c-4.416,0-8,3.584-8,8v40c0,4.416,3.584,8,8,8h120c4.416,0,8-3.584,8-8V40 C450.828,35.584,447.244,32,442.828,32z M434.828,72h-104V48h104V72z\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<path d=\"M226.828,272h-120c-4.416,0-8,3.584-8,8v40c0,4.416,3.584,8,8,8h120c4.416,0,8-3.584,8-8v-40 C234.828,275.584,231.244,272,226.828,272z M218.828,312h-104v-24h104V312z\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"266.828\" y=\"32\" width=\"16\" height=\"152\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"98.828\" y=\"104\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"104\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"98.828\" y=\"136\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"136\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"98.828\" y=\"168\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"168\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"200\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"232\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"98.828\" y=\"344\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"344\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"98.828\" y=\"376\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"376\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"98.828\" y=\"408\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"210.828\" y=\"408\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"314.828\" y=\"104\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"426.828\" y=\"104\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"314.828\" y=\"136\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"426.828\" y=\"136\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"314.828\" y=\"168\" width=\"88\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"426.828\" y=\"168\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"362.828\" y=\"200\" width=\"40\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"426.828\" y=\"200\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"362.828\" y=\"232\" width=\"40\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"426.828\" y=\"232\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"362.828\" y=\"264\" width=\"40\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n\t<g>\n\t\t<rect x=\"426.828\" y=\"264\" width=\"24\" height=\"16\" fill=\"#006DF0\"/>\n\t</g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n<g>\n</g>\n</svg>\n",
"type": "image/svg+xml",
"title": "$:/PSaT/MyMenus/icon",
"modifier": "Tony",
"modified": "20180204050952145",
"creator": "Tony",
"created": "20180204050930252"
},
"$:/plugins/PSaT/MyMenus/credits": {
"text": ";~TiddlyWiki\n:Many thanks goes to Jeremy and the community members to have built this inspiring platform, provide plugins extensions and shared support.\n;Plugin Icon\n:<div>Icons made by <a href=\"https://www.flaticon.com/authors/becris\" title=\"Becris\">Becris</a> from <a href=\"https://www.flaticon.com/\" title=\"Flaticon\">www.flaticon.com</a> is licensed by <a href=\"http://creativecommons.org/licenses/by/3.0/\" title=\"Creative Commons BY 3.0\" target=\"_blank\">CC 3.0 BY</a></div>\n\n$:/PSaT/MyMenus/icon\n",
"title": "$:/plugins/PSaT/MyMenus/credits",
"tags": "",
"modifier": "Tony",
"modified": "20180204051518624",
"menu-item-1": " [[View My Menus Plugin licence|$:/plugins/PSaT/MyMenus/licence]]",
"menu-caption": "My Menus Licence",
"creator": "Tony",
"created": "20180204050746888",
"caption": "Licence"
}
}
}
{
"tiddlers": {
"$:/core/images/format-find": {
"text": "<svg class=\"tc-image-format-heading-1 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 32 32\">\n <g fill-rule=\"evenodd\">\n<path d=\"M31.007999420166016,27.231000900268555l-7.579999923706055,-6.447000503540039c-0.7840003967285156,-0.7049999237060547,-1.621999740600586,-1.0289993286132812,-2.298999786376953,-0.9979991912841797c1.7889995574951172,-2.0960006713867188,2.8700008392333984,-4.815000534057617,2.8700008392333984,-7.78700065612793c0,-6.626999855041504,-5.3730010986328125,-12,-12,-12s-12,5.373000144958496,-12,12s5.373000144958496,12,12,12c2.9720001220703125,0,5.690999984741211,-1.0809993743896484,7.78700065612793,-2.8699989318847656c-0.031000137329101562,0.6770000457763672,0.292999267578125,1.5149993896484375,0.9979991912841797,2.298999786376953l6.447000503540039,7.579999923706055c1.1040000915527344,1.2259998321533203,2.9069995880126953,1.3299999237060547,4.006999969482422,0.22999954223632812s0.9969997406005859,-2.9029998779296875,-0.22999954223632812,-4.006999969482422ZM12,20c-4.418000221252441,0,-8,-3.582000732421875,-8,-8s3.5819997787475586,-8,8,-8s8,3.5819997787475586,8,8s-3.582000732421875,8,-8,8Z\" transform=\"matrix(0.853933, 0, 0, 0.853933, 2.31054, 1.83293)\"/>\n </g>\n</svg>",
"created": "20160309173315473",
"modified": "20160309175751302",
"tags": "$:/tags/Image",
"title": "$:/core/images/format-find"
},
"$:/core/modules/editor-operations/text/findreplace.js": {
"text": "/*\\\ntitle: $:/core/modules/editor-operations/text/findreplace.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"findreplace\"] = function(event,operation) {\nvar listtext=operation.text;\n//dummy lastfound to allow testing of find and replace\nvar lastfound=0;\nlastfound=this.wiki.getTextReference('$:/sk/lastfound');\n\nvar find = event.paramObject.find;\nvar replace = event.paramObject.replace;\n\nif (find == \"|\") {find = \"\\|\";}\nif (find == \"^t\") {find = String.fromCharCode(9);}\nif (find == \"^f\") {find = String.fromCharCode(10);}\nif (find == \"^r\") {find = String.fromCharCode(13);}\nif (replace == \"|\") {replace = \"\\|\";}\nif (replace == \"^t\") {replace = String.fromCharCode(9);}\nif (replace == \"^f\") {replace = String.fromCharCode(10);}\nif (replace == \"^r\") {replace = String.fromCharCode(13);}\n\nvar str=listtext;\n var lstr = str.length;\n if (lstr<lastfound) {lastfound = 0;\nthis.wiki.setText('$:/sk/lastfound','','',lastfound);\n}\n\nvar n = listtext.indexOf(find,lastfound);\nvar len=find.length;\n\nif (n<0) {\n lastfound=0;\nthis.wiki.setText('$:/sk/lastfound','','',lastfound);\noperation.replacement=str;\n\toperation.cutStart = 0;\n\toperation.cutEnd = str.length;\n}\nelse {\n\n\toperation.replacement=replace;\n\toperation.cutStart = n;\n\toperation.cutEnd = n+len;\n\toperation.newSelStart = n;\n\toperation.newSelEnd = n + operation.replacement.length;\n lastfound=n+len;\nthis.wiki.setText('$:/sk/lastfound','','',lastfound);\n}\n};\n\n})();",
"created": "20160328024527675",
"modified": "20160519120341960",
"module-type": "texteditoroperation",
"tags": "",
"title": "$:/core/modules/editor-operations/text/findreplace.js",
"type": "application/javascript"
},
"$:/core/ui/TextEditorToolbar/find-replace": {
"text": "\\define toolbar-button-find()\n\n<$reveal state=\"\"\"$(config-title)$/popup\"\"\" type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\nFind and replace in the tiddler text \n<table class=noborders>\n<tr><td>Find: </td><td><$edit-text tag=\"input\" tiddler=\"\"\"$:/sk/new-find\"\"\" placeholder=\"find what?\" focus=\"true\"/></td><td><$button style=\"width:150px; text-align: center\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"findreplace\" find={{$:/sk/new-find}} replace={{$:/sk/new-find}}/> Find Now </$button></td></tr>\n<tr><td>Replace: </td><td><$edit-text tag=\"input\" tiddler=\"\"\"$:/sk/new-replace\"\"\" placeholder=\"replace with?\" /></td><td><$button style=\"width:150px; text-align: center\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"findreplace\" find={{$:/sk/new-find}} replace={{$:/sk/new-replace}} />Replace Now</$button></td></tr>\n</table>\n</div>\n</$reveal>\n\\end\n\n<$set name=\"config-title\" value=<<qualify \"$:/state/edit-toolbar/find\">>>\n<<toolbar-button-find>>\n\n</$set>\n",
"caption": "{{$:/language/Buttons/Find/Caption}}",
"condition": "[all[current]!is[image]]",
"created": "20160329122446371",
"creator": "Stephen",
"description": "{{$:/language/Buttons/Find/Hint}}",
"dropdown": "$:/sk/Findandreplacedropdown",
"icon": "$:/core/images/format-find",
"modified": "20160505115125448",
"modifier": "Stephen",
"shortcuts": "((findreplace))",
"tags": "$:/tags/EditorToolbar",
"title": "$:/core/ui/TextEditorToolbar/find-replace"
},
"$:/language/Buttons/Find/Caption": {
"text": "find text",
"created": "20150202180911449",
"creator": "Stephen",
"modified": "20150204201812359",
"modifier": "Stephen",
"tags": "ske",
"title": "$:/language/Buttons/Find/Caption"
},
"$:/language/Buttons/Find/Hint": {
"text": "find and replace text",
"created": "20150130180837082",
"creator": "Stephen",
"modified": "20160310030018832",
"modifier": "Stephen",
"tags": "ske",
"title": "$:/language/Buttons/Find/Hint"
},
"$:/sk/FindandReplace": {
"text": "The last button on the editor toolbar calls up the Find and Replace toolbar. This toolbar contains five items, two labelled input boxes and three icons.\n\nTo use Find and Replace, enter the text you wish to find in the Find box and the text you want to replace it with in the Replace box. \n\n!!The Find Function\n\nThe Find function is case sensitive which means that searching for \"the\" will find \"the\" in \"other\" but not in \"Theater.\" The replacement text is substituted exactly as it is entered in the Replace box. Not attempt is made to match the capitalisation of the replaced text.\n\nClicking on the {{$:/core/images/format-find}} icon begins the search at the cursor location and moves down through the text until it either finds the text or it reaches the end. If it reaches the end without finding the text, the Find box will turn red. If the word occurred before the cursor location, clicking on the icon again will go back to the beginning and find the first occurrence of the word.\n\n!!The Find and Replace Function\nThe idea behind the Find and Replace function is that you will be given the opportunity to decide whether to actually make the change. Accordingly, Find and Replace will highlight the word before making the change.\n\nClicking on the button will replace the highlighted text with the contents of the Replace box and then search for the next occurrence of the word in the Find box. As with the Find function, if there are no additional occurrences of the text, the Find box will turn red. \n\nIf no text is highlighted when the button is clicked, the first occurrence is highlighted.\n\n!!The Replace All Function\n\nThis function has been temporarily disabled.\n\n~~Clicking on the [img height=16 [$:/sk/replaceall.svg]] icon will find all changes all occurrences of the Find text and changes them without review or intervention by the user to the Replace text.\n\nBecause this can have unexpected results, a warning appears the first time you invoke the function requesting your confirmation. After that, the program assumes that you know what you are doing and proceeds without further warning.\n~~",
"caption": "Editor Documentation - Find and Replace",
"created": "20150203200254479",
"creator": "Stephen",
"modified": "20160327125411990",
"modifier": "Stephen",
"tags": "EditorHelp ske",
"title": "$:/sk/FindandReplace"
},
"$:/sk/Findandreplacedropdown": {
"text": "Find and replace in the tiddler text \n<table class=noborders>\n<tr><td>Find: </td><td><$edit-text tag=\"input\" tiddler=\"\"\"$:/sk/new-find\"\"\" placeholder=\"find what?\" focus=\"false\"/></td>\n<td><$button style=\"width:150px; text-align: center\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"findreplace\" find={{$:/sk/new-find}} replace={{$:/sk/new-find}}/> Find Now </$button></td>\n</tr>\n<tr><td>Replace: </td><td><$edit-text tag=\"input\" tiddler=\"\"\"$:/sk/new-replace\"\"\" placeholder=\"replace with?\" /></td><td>\n<$button style=\"width:150px; text-align: center\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"findreplace\" find={{$:/sk/new-find}} replace={{$:/sk/new-replace}} />Replace Once</$button>\n<$button style=\"width:150px; text-align: center\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"replaceall\" find={{$:/sk/new-find}} replace={{$:/sk/new-replace}} />Replace All</$button></td></tr>\n</table>",
"created": "20160327124803204",
"dropdown": "",
"modified": "20160519014533282",
"tags": "",
"title": "$:/sk/Findandreplacedropdown"
},
"$:/sk/new-find": {
"text": ":/sk",
"created": "20160316195130339",
"modified": "20160407020953015",
"title": "$:/sk/new-find"
},
"$:/sk/new-replace": {
"text": "that",
"created": "20160316201425057",
"modified": "20160328025201245",
"title": "$:/sk/new-replace"
},
"$:/sk/lastfound": {
"text": "",
"created": "20160328191828606",
"modified": "20160328192037597",
"title": "$:/sk/lastfound"
},
"$:/config/ShortcutInfo/findreplace": {
"text": "{{$:/language/Buttons/Find/Hint}}",
"created": "20160505023902207",
"creator": "Stephen",
"modified": "20160505023943145",
"modifier": "Stephen",
"tags": "",
"title": "$:/config/ShortcutInfo/findreplace"
},
"$:/config/shortcuts/findreplace": {
"text": "ctrl-alt-F",
"created": "20160505023838550",
"creator": "Stephen",
"modified": "20160505121933034",
"modifier": "Stephen",
"tags": "",
"title": "$:/config/shortcuts/findreplace"
},
"$:/core/modules/editor-operations/text/replaceall.js": {
"text": "/*\\\ntitle: $:/core/modules/editor-operations/text/replaceall.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replaceall the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replaceall\"] = function(event,operation) {\nvar listtext=operation.text;\nvar find = event.paramObject.find;\nvar replace = event.paramObject.replace;\nvar rwarn=false;\nvar r=true;\n\nif (find == \"|\") {find = \"\\|\";}\nif (find == \"^t\") {find = String.fromCharCode(9);}\nif (find == \"^f\") {find = String.fromCharCode(10);}\nif (find == \"^r\") {find = String.fromCharCode(13);}\nif (replace == \"|\") {replace = \"\\|\";}\nif (replace == \"^t\") {replace = String.fromCharCode(9);}\nif (replace == \"^f\") {replace = String.fromCharCode(10);}\nif (replace == \"^r\") {replace = String.fromCharCode(13);}\n\nvar regexfind = new RegExp(find, \"gm\");\nvar res = listtext.replace(regexfind,replace);\n\n if (rwarn == false) {\n r = confirm(\"Replace all can lead to unexpected results.\\n Proceed anyway?\"); \n rwarn = true;\n }\n if (r == true) {\n\n\toperation.replacement=res;\n\toperation.cutStart = 0;\n\toperation.cutEnd = res.length;}\n};\n\n})();\n",
"created": "20160519014619471",
"modified": "20160520171809236",
"module-type": "texteditoroperation",
"tags": "",
"title": "$:/core/modules/editor-operations/text/replaceall.js",
"type": "application/javascript"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/details/details.css": {
"text": "/* details and summary */\n\ndetails {\n background-color: <<colour tiddler-info-tab-background>>;\n transition: height 1s ease;\n}\n\ndetails summary {\n display: list-item;\n padding: 0.2em 0.5em 0.2em 0.66em;\n padding-left: 1.76em; /* adjust for indentation */\n text-indent: -1.1em;\n cursor: pointer;\n background-color: <<colour dropdown-tab-background>>;\n}\n\ndetails.notification summary {\n background-color: <<colour notification-background>>;\n}\ndetails.warning summary {\n background-color: #ffe4df;\n}\ndetails.success summary {\n background-color: #bfffe6;\n}\n\ndetails span {\n padding: 0 0.75em 0.1em 0.8em;\n display: block;\n}\n\ndetails:not([open]) { \n border-bottom: 1px solid lightgray;\n cursor: pointer;\n}\n\ndetails[open] { \n border-bottom: 1px solid gray;\n}",
"title": "$:/plugins/telmiger/details/details.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20170127123837808",
"creator": "Thomas Elmiger",
"created": "20170122140815442"
},
"$:/plugins/telmiger/details/details.js": {
"text": "/*\\\ntitle: $:/plugins/telmiger/details/details.js\ntype: application/javascript\nmodule-type: widget\n\nDetails widget v 0.6.1\n\nWill output an HTML 5 <details> section including a <summary>\n\n```\n\t<details>\n\t\t<summary>This sums it up</summary> \n\t\t<span>All the details follow here.</span>\n\t</details>\n```\n\n|Parameter |Description |h\n|summary |Optional text to display as summary. Wins over field (see below). |\n|open |Optional initial state, set to \"open\" to show details on load. Defaults to \"\". |\n|state |An optional TextReference containing the state. Wins over open. |\n|field |Optionally, the summary is taken from the field with this name in a given tiddler. Defaults to \"title\". |\n|tiddler |Optional title of a tiddler to watch, connected to field. Defaults to current tiddler. |\n|class |Optional CSS classes to be assigned to the details tag. |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DetailsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDetailsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDetailsWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.detailsDomNode = this.document.createElement(\"details\");\n\tthis.detailsDomNode.setAttribute(\"class\",this.detailsClass);\n\tif(this.detailsOpen == \"open\") {\n\t\tthis.detailsDomNode.setAttribute(\"open\",\"open\");\n\t}\n\tif(this.detailsSummary !== \"\") {\n\t\tthis.summaryDomNode = this.document.createElement(\"summary\");\n\t\tthis.detailsDomNode.appendChild(this.summaryDomNode);\n\t\tthis.summaryDomNode.appendChild(this.document.createTextNode(this.detailsSummary));\n\t}\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.detailsDomNode.appendChild(this.spanDomNode);\n// register an event listener?\n/* Maybe this can be reactivated later, see below. Remember to change back inverted toggle logic too.\n\tif(this.detailsStateTitle) {\n\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t{name: \"toggle\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t}\n*/\n// As iOS mobile browsers lack support of toggle events on details \n// we emulate the toggle event using click\n\tif(this.detailsStateTitle && this.summaryDomNode) {\n\t\t$tw.utils.addEventListeners(this.summaryDomNode,[\n\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t} else {\n\t\tif(this.detailsStateTitle) {\n\t\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t\t]);\n\t\t}\n\t}\n\t// Insert the details into the DOM and render any children\n\tthis.parentDomNode.insertBefore(this.detailsDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.detailsDomNode);\n};\n\n/*\nRetrieve the value of the summary\n*/\nDetailsWidget.prototype.getSummary = function() {\n\tvar value = \"\";\n\tif(this.summaryTitle === \"\" && this.summaryField === \"\" && \n\t this.detailsSummary === \"\") {\n\t\tvalue = \"\";\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.summaryTitle) || this.wiki.getTiddler(this.getVariable(\"currentTiddler\"));\n\t\tif(this.summaryField !== \"\") {\n\t\t\tif(this.summaryField === \"text\") {\n \t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.summaryTitle);\n\t\t\t} else {\n\t\t\t\t if(this.summaryField === \"title\") {\n\t\t\t\t\tvalue = this.summaryTitle;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = tiddler.fields[this.summaryField];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t // no field specified, use title\n\t\t\tvalue = tiddler.fields[\"title\"];\n\t\t}\n\t}\n \treturn value;\n};\n\n/*\nRetrieve the value of the state text reference\n*/\nDetailsWidget.prototype.getStateFromReference = function() {\n var state = this.detailsStateTitle ? this.wiki.getTextReference(this.detailsStateTitle,\"\",this.getVariable(\"currentTiddler\")) : \"\";\n return state;\n};\n\n/*\nCheck all open signals, state fields/tiddlers get priority\n*/\nDetailsWidget.prototype.getOpenState = function() {\n\tvar result = \"\";\n\tif((this.detailsOpenDefault !== \"\" && this.detailsOpenDefault !== \"no\") \n\t || this.detailsState === \"open\") {\n\t\tresult = \"open\";\n\t } \n\tif(this.detailsStateTitle !==\"\" && this.detailsState !== \"open\") {\n\t\tresult = \"\";\n\t}\n\treturn result;\n}\n\n/*\nUpdate the state text reference after click event\n*/\nDetailsWidget.prototype.updateState = function(openState) {\n\tvar fieldValue = \"false\";\n\tvar currentTiddler = this.getVariable(\"currentTiddler\");\n // get the title for the (existing/new) tiddler\n\tvar tr = $tw.utils.parseTextReference(this.detailsStateTitle);\n\tvar tidTitle = tr.title || currentTiddler;\n // is it an existing state tiddler?\n\tvar isStateTiddler = (tr.title === this.detailsStateTitle);\n\tvar hasStateTiddler = this.wiki.tiddlerExists(tr.title);\n\tvar currentStateTiddler = (tr.title === currentTiddler);\n\tif(isStateTiddler || hasStateTiddler || (currentStateTiddler && tr.field !== \"text\")) { \n\t\t// Set the state field (but never overwrite the current tiddler’s text field\n\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t} else {\n\t \t// Set or create the tiddler if specified (but do not overwrite current tiddler by accident)\n\t\tif(!hasStateTiddler && tidTitle !== currentTiddler) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t\tthis.wiki.getCreationFields(),\n\t\t\t\tthis.wiki.getModificationFields(),\n\t\t\t\t{\n\t\t\t\t\ttitle: tidTitle,\n\t\t\t\t\ttags: []\n\t\t\t\t}\n\t\t\t));\n\t\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t\t} \n\t}\n};\n\n/*\nSet openState according to click\n*/\nDetailsWidget.prototype.handleToggleEvent = function(event) {\n// console.log (\"event registered\");\n/* Maybe normal logic can be reactivated later when toggle is supported, see section rendering above\n\tvar state = this.detailsDomNode.open ? \"open\" : \"\";\n*/\n\tvar state = this.detailsDomNode.open ? \"\" : \"open\";\n\t// update only, if the node has a new state\n\tif(state !== this.detailsState) {\n\t\tthis.updateState(state);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDetailsWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes \n\tthis.summaryTitle = this.getAttribute(\"tiddler\",\"\");\n\tthis.summaryField = this.getAttribute(\"field\",\"\");\n\tthis.detailsSummary = this.getAttribute(\"summary\",\"\");\n\tif(this.detailsSummary === \"\") {\n\t\tthis.detailsSummary = this.getSummary();\n\t}\n\tthis.detailsStateTitle = this.getAttribute(\"state\",\"\");\n\tthis.detailsState = this.getStateFromReference();\n\tthis.detailsOpenDefault = this.getAttribute(\"open\",\"\");\n\tthis.detailsOpen = this.getOpenState();\n\tthis.detailsClass = this.getAttribute(\"class\",\"\");\n\tif(this.detailsClass !== \"\") {\n\t\tthis.detailsClass += \" \";\n\t}\n\tthis.detailsClass += \"tc-details\";\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDetailsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.summary || changedAttributes.state || changedAttributes.open || changedAttributes[\"class\"]) {\n // paused: || changedTiddlers[this.summaryTitle]\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tvar testState = this.getStateFromReference();\n\t\tif(testState !== this.detailsState) {\n\t\t\t// state change\n\t\t\tthis.refreshSelf();\n\t\t\trefreshed = true;\n\t\t} \n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.details = DetailsWidget;\n\n})();",
"type": "application/javascript",
"title": "$:/plugins/telmiger/details/details.js",
"tags": "Plugins",
"module-type": "widget",
"modifier": "Thomas Elmiger",
"modified": "20170205211040196",
"creator": "Thomas Elmiger",
"created": "20170124173619910"
},
"$:/plugins/telmiger/details/icon": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64.003\" height=\"64.003\" viewBox=\"-500.5 395.5 64.003 64.003\"><path d=\"M-468.5 396.5l26.426 15.5v31l-26.425 15.5-26.426-15.5v-31l26.427-15.5z\"/><path fill=\"#FFF\" d=\"M-485.996 419.088h34.99v16.824h-34.99z\"/><path fill=\"#E2001A\" d=\"M-468.5 405.5c-12.15 0-22 9.85-22 22s9.85 22 22 22 22-9.85 22-22-9.85-22-22-22zm13.11 21.637c-1.022.682-2.674 1.023-4.954 1.023h-2.838c-1.505 0-2.598.3-3.28.9-.68.6-1.22 1.804-1.622 3.615 0 0-.063.526-.178.526s-.13-.31-.184-.562c-.056-.263-.14-.59-.256-.977-.224-.758-.447-1.332-.67-1.72-.27-.482-.613-.87-1.024-1.165-.412-.294-.883-.47-1.413-.528l-.74-.088h-3.637c-2.178 0-3.796-.343-4.855-1.024-1.764-1.12-2.71-3.24-2.842-6.357-.01-.25 0-.48.047-.772h.208c.142 1.41 1.304 2.502 2.158 3.274.853.77 2.222 1.155 4.104 1.155h3.3c1.896 0 3.28.436 4.158 1.306.79.786 1.31 2.017 1.56 3.69.028.183.012.263.064.263.053 0 .04-.09.06-.278.253-2.173 1.094-3.627 2.522-4.363.88-.46 2.28-.676 4.196-.652l2.257.035c1.527.023 2.814-.278 3.86-.908 1.046-.63 2.285-1.803 2.425-3.52h.21c.065.17.057.56.045.828-.13 3.105-1.023 5.206-2.68 6.3z\"/></svg>",
"type": "image/svg+xml",
"title": "$:/plugins/telmiger/details/icon",
"tags": "",
"modified": "20170205210153633",
"created": "20170205205314072"
},
"$:/plugins/telmiger/details/license": {
"created": "20170205213335455",
"text": "!! Plugin license\n!!!The MIT License (MIT)\n\n```\nCopyright © 2017 Thomas Elmiger – thomas-elmiger.ch\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```",
"title": "$:/plugins/telmiger/details/license",
"tags": "",
"modified": "20170205214435064"
},
"$:/plugins/telmiger/details/readme": {
"created": "20170205212323032",
"text": "! ~DetailsWidget\n\nA plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5 containing a script and some styles, that creates an HTML 5 `<details>` section including a `<summary>`. \n\n<<<\nThe [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls.\n<<< W3C\n\nDocumentation can be found at http://tid.li/tw5/plugins.html#DetailsWidget\n",
"title": "$:/plugins/telmiger/details/readme",
"tags": "",
"modified": "20170205212914820"
}
}
}
{
"tiddlers": {
"$:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js": {
"text": "/*\\\ntitle: $:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js\ntype: application/javascript\nmodule-type: wikirule\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"checkbox\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\n\t// Match on [ ], [x], and [X], to the end of the line\n\tthis.matchRegExp = /^\\[([ xX])\\] .*$/mg;\n};\n\n/*\nRetrieve the configuration state of the clear all button\n*/\n\nexports.shouldShowClearAll = function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var showClearAll = configWidgetFields[\"show-clearall\"] || \"true\";\n return (showClearAll === \"true\");\n}\n\n/*\nCreate list items\n*/\n\nexports.parse = function() {\n var listItems = [];\n var listStartPos = this.parser.pos;\n var match = this.match;\n\n // Start the list with a \"New List Item\" placeholder\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-newitem-icon\"},\n for: {type: \"string\", value: \"checklist-new\"}\n }\n },\n {\n type: \"element\",\n tag: \"input\",\n attributes: {\n class: {type: \"string\", value: \"checklist-newitem\"},\n id: {type: \"string\", value: \"checklist-new\"},\n placeholder: {type: \"string\", value: \"New list item (WikiText)\"}\n // impossible? add an aria-label \"Write a new todo item\"\n // attribute aria-label seems to be missing in $:/core/modules/widgets/edit.js \n }\n },\n // label for the input field\n {\n type: \"element\",\n tag: \"label\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"},\n for: {type: \"string\", value: \"checklist-new\"}\n },\n children: [\n {type: \"text\", text: \"Write a new item for the list.\"}\n ]\n },\n // (pseudo) button to add the new item to the list\n {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"tc-btn-invisible tc-btn-mini checklist-add\"},\n title: {type: \"string\", value: \"add to list\"}\n },\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"}\n },\n children: [\n {type: \"text\", text: \"add list item\"}\n ]\n }\n ]\n }\n // end of button\n ]\n });\n\n // Create items in a loop\n do {\n var startPos = this.parser.pos;\n this.parser.pos = this.matchRegExp.lastIndex;\n var parseResults = this.parser.wiki.parseText(\n \"text/vnd.tiddlywiki\",\n this.parser.source.substring(startPos + 4, this.parser.pos),\n {parseAsInline: true});\n\n // Use the listitem body as a label for the checkbox to get better accessibility\n var itembody = {\n type: \"element\",\n tag: \"label\",\n attributes: {\n for: {type: \"string\", value: match.index}\n },\n children: parseResults.tree\n };\n\n var checkbox = {\n type: \"element\",\n tag: \"input\",\n attributes: {\n type: {type: \"string\", value: \"checkbox\"},\n pos: {type: \"string\", value: match.index},\n id: {type: \"string\", value: match.index}\n }\n };\n if (match[1] === \"x\" || match[1] === \"X\") {\n checkbox.attributes.checked = {type: \"boolean\", value: true};\n }\n\n // Make a button to delete the item\n var removelabel = {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"}\n },\n children: [\n {type: \"text\", text: \"delete list item\"}\n ]\n };\n\n var removebutton = {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"tc-btn-invisible tc-btn-mini checklist-remove\"},\n title: {type: \"string\", value: \"delete\"}\n },\n children: [\n removelabel\n ]\n };\n\n // add the item to the list\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n checkbox,\n removebutton,\n itembody\n ]\n });\n\n match = this.matchRegExp.exec(this.parser.source);\n } while (match != null && match.index == 1 + this.parser.pos);\n\n if (this.shouldShowClearAll()) {\n // show the clear-all button\n var clearallbutton = {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"checklist-clearall\"}\n },\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-clearall-label\"}\n },\n children: [\n {type: \"text\", text: \"Clear all\"}\n ]\n }\n ]\n };\n\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n clearallbutton\n ]\n });\n }\n\n return [{\n type: \"checklist\",\n attributes: {\n listStartPos: {type: \"string\", value: listStartPos},\n listStopPos: {type: \"string\", value: this.parser.pos}\n },\n children: listItems\n }];\n};\n\n})();\n",
"title": "$:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/plugins/tgrosinger/tw5-checklist/checklist.js": {
"text": "/*\\\ntitle: $:/plugins/tgrosinger/tw5-checklist/checklist.js\ntype: application/javascript\nmodule-type: widget\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckListWidget = function(parseTreeNode,options) {\n this.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckListWidget.prototype.render = function(parent,nextSibling) {\n this.tiddlerTitle = this.getVariable(\"currentTiddler\");\n this.startPos = parseInt(this.parseTreeNode.attributes.listStartPos.value);\n this.stopPos = parseInt(this.parseTreeNode.attributes.listStopPos.value);\n\n this.parentDomNode = parent;\n this.nextSibling = nextSibling;\n this.computeAttributes();\n this.execute();\n};\n\n/*\nRetrieve the configuration state indicating if items should be re-arranged\n*/\nCheckListWidget.prototype.shouldMoveChecked = function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var moveChecked = configWidgetFields[\"move-checked\"] || \"true\";\n return (moveChecked === \"true\");\n}\n\n/*\nCompute the internal state of the widget\n*/\nCheckListWidget.prototype.execute = function() {\n var domNode = this.document.createElement(\"ul\");\n domNode.className = \"checklist\";\n\n this.makeChildWidgets();\n this.renderChildren(domNode);\n\n /* add event listeners */\n $tw.utils.each(domNode.childNodes, function(childNode) {\n if (childNode.childNodes[0].className === \"checklist-clearall\") {\n // ClearAllChecks, do not use checkbox listener\n $tw.utils.addEventListeners(childNode.childNodes[0],\n [{name: \"click\", handlerObject: this,\n handlerMethod: \"handleClearChecksEvent\"}]);\n } else if (childNode.childNodes[1].className === \"checklist-newitem\") {\n // NewListItem, do not use checkbox listener\n $tw.utils.addEventListeners(childNode.childNodes[1], [\n {name: \"blur\", handlerObject: this, handlerMethod: \"handleBlurNewItemEvent\"},\n {name: \"keyup\", handlerObject: this, handlerMethod: \"handleBlurNewItemEvent\"}\n ]);\n // If this is a normal checklist item …\n } else {\n if (childNode.childNodes[0].checked) {\n $tw.utils.addEventListeners(childNode,\n [{name: \"change\", handlerObject: this, handlerMethod: \"handleUncheckEvent\"}]);\n } else {\n $tw.utils.addEventListeners(childNode,\n [{name: \"change\", handlerObject: this, handlerMethod: \"handleCheckEvent\"}]);\n }\n $tw.utils.addEventListeners(childNode.childNodes[1], [\n {name: \"click\", handlerObject: this, handlerMethod: \"handleRemoveEvent\"}\n ]);\n }\n }.bind(this));\n\n this.parentDomNode.insertBefore(domNode, this.nextSibling);\n};\n\n// When the user clicks the clear-all button, remove all checks\nCheckListWidget.prototype.handleClearChecksEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n var bodyLen = bodyList.length;\n\n for (var i = 0; i < bodyLen; i++) {\n bodyList[i] = bodyList[i].replace(\"[x]\", \"[ ]\");\n bodyList[i] = bodyList[i].replace(\"[X]\", \"[ ]\");\n }\n\n // Save the updated body\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n};\n\n// On blur or enter, save the new list item\nCheckListWidget.prototype.handleBlurNewItemEvent = function(event) {\n if (event.type == \"keyup\" && event.keyCode != 13) {\n // This function receives both blur and keyup events.\n // Only run on blur or enter key\n return;\n }\n\n if (event.target.value.trim() === \"\") {\n // Don't save an empty list item\n return;\n }\n\n var checklist = event.target.parentNode.parentNode;\n var firstItem = checklist.childNodes[1];\n var pos = firstItem.childNodes[0].attributes.pos.nodeValue;\n\n var newItem = \"[ ] \" + event.target.value.trim() + \"\\n\";\n event.target.value = \"\";\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n tiddlerBody = tiddlerBody.substring(0, pos) + newItem + tiddlerBody.substring(pos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, tiddlerBody);\n};\n\nCheckListWidget.prototype.handleCheckEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Find the index of the first checked item\n var i = 1;\n var firstChecked = domItem.nextSibling;\n while (firstChecked !== null && !firstChecked.childNodes[0].checked) {\n i++;\n firstChecked = firstChecked.nextSibling;\n }\n\n // Update the tiddler data\n bodyList[itemIndex] = bodyList[itemIndex].replace(\"[ ]\", \"[x]\");\n\n // Rearrange items (if configured to do so)\n var shouldMove = this.shouldMoveChecked();\n if (shouldMove) {\n bodyList.splice(itemIndex + i, 0, bodyList[itemIndex]);\n bodyList.splice(itemIndex, 1);\n }\n\n // Save the updated body\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n\n if (shouldMove) {\n // Update the DOM (pre-refresh for animations)\n domList.insertBefore(domItem, firstChecked);\n }\n};\n\nCheckListWidget.prototype.handleUncheckEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Find the index of the first checked item\n var i = 0;\n var firstChecked = domList.firstChild.nextSibling; // Skip the newItem input\n while (firstChecked !== null) {\n if (firstChecked.childNodes[0].checked || firstChecked == domItem) {\n break;\n }\n i++;\n firstChecked = firstChecked.nextSibling;\n }\n\n // Update the tiddler data\n bodyList[itemIndex] = bodyList[itemIndex].replace(\"[x]\", \"[ ]\");\n\n // Rearrange items (if configured to do so)\n var shouldMove = this.shouldMoveChecked();\n if (shouldMove) {\n var bodyItem = bodyList[itemIndex];\n bodyList.splice(itemIndex, 1);\n bodyList.splice(i, 0, bodyItem);\n }\n\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n\n if (shouldMove) {\n // Update the DOM (pre-refresh for animations)\n domList.insertBefore(domItem, firstChecked);\n }\n};\n\nCheckListWidget.prototype.handleRemoveEvent = function (event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Update the tiddler data\n bodyList.splice(itemIndex, 1);\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n};\n\n/*\nSelectively refreshes the widget if needed.\nReturns true if the widget or any of its children needed re-rendering\n*/\nCheckListWidget.prototype.refresh = function(changedTiddlers) {\n var changedAttributes = this.computeAttributes();\n // Refresh if an attribute has changed, or the type associated with\n // the target tiddler has changed\n if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index ||\n (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n this.refreshSelf();\n return true;\n } else {\n return this.refreshChildren(changedTiddlers);\n }\n};\n\nexports.checklist = CheckListWidget;\n\n})();\n",
"title": "$:/plugins/tgrosinger/tw5-checklist/checklist.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tgrosinger/tw5-checklist/Configuration": {
"title": "$:/plugins/tgrosinger/tw5-checklist/Configuration",
"move-checked": "true",
"strike-checked": "true",
"show-clearall": "true",
"text": "Please see the [[homepage|https://grosinger.net/tw5-checklist/]] for more information on the options.\n\nSave and reload the wiki to activate changes.\n\n<table>\n <tr>\n <th align=\"left\">Rearrange checked items:</th>\n <td>\n <$checkbox field=\"move-checked\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Strike checked items: </th>\n <td>\n <$checkbox field=\"strike-checked\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Show Clear-All: </th>\n <td>\n <$checkbox field=\"show-clearall\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n</table>\n\n* make a change in a list to see the effect (check/uncheck or add/delete an item).\n\n<style>\n.rerendering-required:after {\n content: ' *';\n color: #e32;\n}\n</style>\n"
},
"$:/plugins/tgrosinger/tw5-checklist/license": {
"title": "$:/plugins/tgrosinger/tw5-checklist/license",
"text": "The MIT License (MIT)\n\nCopyright (c) 2015 Tony Grosinger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
},
"$:/plugins/tgrosinger/tw5-checklist/readme": {
"title": "$:/plugins/tgrosinger/tw5-checklist/readme",
"text": "This plugin provides a simple checklist which does not create a new tiddler for\neach task. Features include:\n\n[x] Check and uncheck items\n[x] Simple, no configuration necessary\n[x] Easily editable, and easy to read in edit view\n[x] Add new list items without using edit mode\n[x] Move completed items to bottom of list\n\n[[Source code|https://github.com/tgrosinger/tw5-checklist]]\n"
},
"$:/plugins/tgrosinger/tw5-checklist/stylesheet": {
"title": "$:/plugins/tgrosinger/tw5-checklist/stylesheet",
"tags": "$:/tags/Stylesheet",
"text": "ul.checklist {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\nul.checklist > li {\n position: relative;\n width: calc(100% - 1em);\n}\n\n\n/* input form */\n\n.checklist-newitem-icon::before {\n content: \"✎\";\n}\n\ninput.checklist-newitem {\n margin-left: 1em;\n margin-bottom: 0.75em;\n padding: 2px;\n border: none;\n border-bottom: solid 2px <<colour sidebar-tab-background>>;\n transition: border 0.3s;\n width: calc(100% - 2em - 20px);\n}\n\ninput:focus.checklist-newitem {\n border-bottom: solid 2px <<colour notification-border>>;\n}\n\n\n/* placeholder text */\n\n::-webkit-input-placeholder { \n color: #444;\n font-style: italic;\n}\n::-moz-placeholder { \n color: #444;\n font-style: italic;\n}\n:-ms-input-placeholder { \n color: #444;\n font-style: italic;\n}\n:-moz-placeholder { \n color: #444;\n font-style: italic;\n}\n::placeholder {\n color: #444;\n font-style: italic;\n}\n\n\n/* list items content */\n\n.checklist li input[type=\"checkbox\"] {\n vertical-align: top;\n margin-top: 4px;\n}\n\n.checklist label {\n display: inline-block;\n position: relative;\n margin-left: -1em;\n padding-left: 0.4em;\n left: 1.4em;\n width: calc(100% - 2em - 20px);\n}\n\n.checklist > li:hover label, \n.checklist input[type=\"checkbox\"]:hover + button + label, \n.checklist input[type=\"checkbox\"]:focus + button + label {\n background-color: <<colour sidebar-tab-background>>;\n}\n\ninput:checked + .checklist-remove + label {\n opacity: 0.5;\n}\n\n.checklist li input + .checklist-remove:hover + label,\n.checklist li input + .checklist-remove:focus + label {\n background-color: rgba(255,0,0,0.25);\n opacity: 0.8;\n border-radius: 5px;\n}\n\n/* strike checked items only if set in user configuration */\n<$list filter=\"[[$:/plugins/tgrosinger/tw5-checklist/Configuration]field:strike-checked[true]]\">\ninput:checked + .checklist-remove + label {\n text-decoration: line-through;\n}\n</$list>\n\n\n/* buttons */\n\nbutton.checklist-add {\n position: relative;\n left: 0.75em;\n width: 18px;\n height: 18px;\n border-radius: 5px;\nbackground-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%0A%3Crect%20width%3D%221%22%20height%3D%227%22%20x%3D%225%22%20y%3D%222%22%20fill%3D%22%239B9B9B%22%2F%3E%0A%3Crect%20width%3D%227%22%20height%3D%221%22%20x%3D%222%22%20y%3D%225%22%20fill%3D%22%239B9B9B%22%2F%3E%0A%3C%2Fsvg%3E');\n background-size: 100%;\n}\n\nbutton.checklist-add:hover, button.checklist-add:focus {\n background-color: <<colour sidebar-tab-background>>;\n}\n\nbutton.checklist-remove {\n display: block;\n position: absolute;\n top: 2px;\n right: -6px;\n width: 18px;\n height: 18px;\n border-radius: 5px;\n color: <<colour sidebar-muted-foreground>>;\nbackground-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%0A%3Crect%20width%3D%225%22%20height%3D%221%22%20x%3D%223%22%20y%3D%225%22%20fill%3D%22%23444%22%2F%3E%0A%3C%2Fsvg%3E');\n background-size: 100%;\n/* background-color: <<colour sidebar-tab-background-selected>>; */\n border: 1px solid <<colour sidebar-tab-background>>;\n}\n\nul.checklist > li:hover button.checklist-remove {\n color: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton.checklist-remove:hover,\nbutton.checklist-remove:focus {\n color: <<colour dirty-indicator>>;\n background-color: <<colour sidebar-tab-background>>;\n}\n\nbutton.checklist-clearall {\n margin-top: 0.75em;\n}\n\nbutton.checklist-clearall::before {\n content: \"↻ \";\n}\n\n\n/* visualliy hidden, accessible for screen reader */\n\n.checklist-vh {\n position: absolute !important;\n clip: rect(1px, 1px, 1px, 1px);\n padding:0 !important;\n border:0 !important;\n height: 1px !important;\n width: 1px !important;\n overflow: hidden;\n}\n"
},
"$:/plugins/tgrosinger/tw5-checklist/Usage": {
"title": "$:/plugins/tgrosinger/tw5-checklist/Usage",
"text": "! Creating a New Checklist\n\nThis plugin provides a wikitext rule for use in normal wikitext tiddlers. A\nchecklist is defined as two brackets with either a <kbd>space</kbd> or an\n<kbd>x</kbd> between them.\n\n```\n! My Shopping List\n\n[ ] Milk\n[ ] Eggs\n[x] Bread\n\n```\n\n!! Multiple Checklists\n\nThere is no need to declare an instance of a checklist, and you can place\nchecklist items throughout a tiddler. Each set of consecutive (single new-line\ndelimited) checklist items will be displayed as a single checklist.\n\n```\n! My first list\n\n[ ] Item 1\n[x] Item 2\n\n! My second list\n\n[x] Item 3\n[x] Item 4\n\n```\n\n!! List Item Formatting\n\nList items support any inline formatting rules. This means you can create links,\nbold, or anything else found on the\n[[Formatting in WikiText|http://tiddlywiki.com/static/Formatting%2520in%2520WikiText.html]] guide.\n\n! Configuration\n\nPlease see [[the configuration|$:/plugins/tgrosinger/tw5-checklist/Configuration]]\npage to learn about and adjust configuration options.\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/appear/widget.js": {
"title": "$:/plugins/tobibeer/appear/widget.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/appear/widget.js\r\ntype: application/javascript\r\nmodule-type: widget\r\n\r\nUse the appear widget for popups, sliders, accordion menus\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/widgets/widget.js\").widget,e=function(t,e){this.initialise(t,e)},i={};e.prototype=new t;e.prototype.render=function(t,e){this.parentDomNode=t;this.nextSibling=e;this.computeAttributes();this.execute();var i,s,r,a,h,n,l=[];if(this.handle){this.getHandlerCache(this.handle,1);this.refreshHandler()}else{s={type:\"button\"};s.attributes=this.setAttributes(s,\"button\");i=s.attributes[\"class\"].value.trim();s.attributes[\"class\"].value=i+\" appear-show\"+(this.handler?\" tc-popup-absolute\":\"\");s.children=this.wiki.parseText(\"text/vnd.tiddlywiki\",this.show,{parseAsInline:true}).tree;h={type:\"reveal\",children:this.parseTreeNode.children};h.attributes=this.setAttributes(h,\"reveal\");h.isBlock=!(this.mode&&this.mode===\"inline\");if(h.attributes.type&&h.attributes.type.value===\"popup\"){s.attributes.popup=h.attributes.state;l.push(s);if(!this.handler){l.push(h)}else{s.attributes.handler=this.handler}}else{h.attributes.type={type:\"string\",value:\"match\"};h.attributes.text={type:\"string\",value:this.currentTiddler};s.attributes.set=h.attributes.state;s.attributes.setTo={type:\"string\",value:this.currentTiddler};a={type:\"reveal\",isBlock:this.block,children:[s],attributes:{type:{type:\"string\",value:\"nomatch\"},state:h.attributes.state,text:{type:\"string\",value:this.currentTiddler}}};if(!this.once){r=$tw.utils.deepCopy(s);r.attributes[\"class\"].value=i+\" appear-hide \"+(this.attr.button.selectedClass?this.attr.button.selectedClass:\"\");r.attributes.setTo={type:\"string\",value:\"\"};r.children=this.wiki.parseText(\"text/vnd.tiddlywiki\",this.hide,{parseAsInline:true}).tree}n=$tw.utils.deepCopy(a);n.children=[];if(!this.once){n.children.push(r)}if(!this.handler){n.children.push(h)}n.attributes.type.value=\"match\";l.push(a,n)}this.makeChildWidgets(l);this.renderChildren(this.parentDomNode,e);if(this.handler){this.addToHandlerCache(h)}}};e.prototype.execute=function(){var t=this;this.attr={map:{reveal:{\"class\":1,position:1,retain:1,state:1,style:1,tag:1,type:1},button:{\"button-class\":1,\"button-style\":1,\"button-tag\":1,tooltip:1,selectedClass:1}},rename:{\"button-class\":\"class\",\"button-style\":\"style\",\"button-tag\":\"tag\"},button:{},reveal:{}};$tw.utils.each(this.attributes,function(e,i){var s;$tw.utils.each(t.attr.map,function(r,a){$tw.utils.each(Object.keys(r),function(r){if(r==i){t.attr[a][i]=e;s=false;return false}});return s})});this.currentTiddler=this.getVariable(\"currentTiddler\");this.show=this.getValue(this.attributes.show,\"show\");this.hide=this.getValue(this.attributes.hide,\"hide\");if(!this.hide){this.hide=this.show}this.once=this.attributes.once&&this.attributes.once!==\"false\";this.$state=this.attributes.$state;this.mode=this.getValue(this.attributes.mode,\"mode\");this.handle=this.attributes.handle;this.handler=this.attributes.handler;this.handlerVariables=(this.attributes.variables||\"\")+\" currentTiddler\";this.keep=[\"yes\",\"true\"].indexOf((this.getValue(this.attributes.keep,\"keep\")||\"\").toLocaleLowerCase())>-1;if(!this.attr.reveal.state){this.attr.reveal.state=this.getValue(undefined,\"default-state\")+this.currentTiddler+this.getStateQualifier()+\"/\"+(this.attr.reveal.type?this.attr.reveal.type+\"/\":\"\")+(this.mode?this.mode+\"/\":\"\")+(this.once?\"once/\":\"\")+(this.$state?\"/\"+this.$state:\"\")}};e.prototype.refresh=function(t){var e=this.computeAttributes();if(Object.keys(e).length){this.refreshSelf();return true}if(this.handle){this.refreshHandler()}return this.refreshChildren(t)};e.prototype.getValue=function(t,e){var i,s,r={show:\"»\",\"default-state\":\"$:/temp/appear/\"};if(t===undefined){i=this.wiki.getTiddler(\"$:/plugins/tobibeer/appear/defaults/\"+e);if(i){s=i.getFieldString(\"undefined\");if(!s||s===\"false\"){t=i.getFieldString(\"text\")}}}if(t===undefined){t=r[e]}return t};e.prototype.setAttributes=function(t,e){var i=this,s={};$tw.utils.each(Object.keys(this.attr.map[e]),function(r){var a,h=i.attr.rename[r];if(!h){h=r}a=i.getValue(i.attr[e][r],r);if(h===\"class\"){a=[\"appear\",\"appear-\"+e,e===\"reveal\"&&i.keep?\"tc-popup-keep\":\"\",i.mode?\"appear-\"+i.mode:\"\",i.once?\"appear-once\":\"\",a||\"\"].join(\" \")}if(a!==undefined){if(h===\"tag\"){t.tag=a}else{s[h]={type:\"string\",value:a}}}});return s};e.prototype.getHandlerCache=function(t,e){var s=i[t];if(!s||e){i[t]={handled:{},handle:{}};s=i[t]}return s};e.prototype.refreshHandler=function(){var t=this,e=this.getHandlerCache(this.handle),s=e.handle;if(Object.keys(s).length){$tw.utils.each(s,function(e,i){t.removeChildNode(i);t.children.push(t.makeChildWidget(e));t.children[t.children.length-1].render(t.parentDomNode,t.nextSibling)});i[this.handle].handle={}}};e.prototype.removeChildNode=function(t){var e=this;$tw.utils.each(this.children,function(i,s){if(i.children[0].state===t){i.removeChildDomNodes();e.children.splice(s);return false}})};e.prototype.addToHandlerCache=function(t){var e=this,i=t.attributes.state.value,s=this.getHandlerCache(this.handler),r=s.handled[i],a={type:\"vars\",children:[t],attributes:{}};$tw.utils.each((this.handlerVariables||\"\").split(\" \"),function(t){t=t.trim();if(t){a.attributes[t]={type:\"string\",value:(e.getVariable(t)||\"\").toString()}}});if(a!==r){s.handle[i]=a;this.wiki.setText(\"$:/temp/appear-handler/\"+this.handler,\"text\",undefined,i)}};exports.appear=e})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tobibeer/appear/defaults/show": {
"title": "$:/plugins/tobibeer/appear/defaults/show",
"text": "»"
},
"$:/plugins/tobibeer/appear/defaults/mode": {
"title": "$:/plugins/tobibeer/appear/defaults/mode",
"text": "block"
},
"$:/plugins/tobibeer/appear/defaults/keep": {
"title": "$:/plugins/tobibeer/appear/defaults/keep",
"text": "yes"
},
"$:/plugins/tobibeer/appear/defaults/button-class": {
"title": "$:/plugins/tobibeer/appear/defaults/button-class",
"text": "tc-btn-invisible tc-tiddlylink"
},
"$:/plugins/tobibeer/appear/defaults/default-state": {
"title": "$:/plugins/tobibeer/appear/defaults/default-state",
"text": "$:/temp/appear/"
},
"$:/plugins/tobibeer/appear/popup.js": {
"title": "$:/plugins/tobibeer/appear/popup.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/appear/popup.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nAn enhanced version of the core Popup to support:\r\n* absolute popups\r\n* preview popups\r\n* popup z-index\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/utils/dom/popup.js\").Popup,e=require(\"$:/core/modules/widgets/reveal.js\").reveal,s=e.prototype.refresh;t.prototype.show=function(t){var e,s=t.domNode,p=$tw.utils.hasClass(s,\"tc-popup-absolute\"),o=this.popupInfo(s),i=function(t){var e=t,s=0,p=0;do{s+=e.offsetLeft||0;p+=e.offsetTop||0;e=e.offsetParent}while(e);return{left:s,top:p}},l={left:s.offsetLeft,top:s.offsetTop};e=o.popupLevel;if(o.isHandle){e++}this.cancel(e);if(this.findPopup(t.title)===-1){this.popups.push({title:t.title,wiki:t.wiki,domNode:s})}l=p?i(s):l;t.wiki.setTextReference(t.title,\"(\"+l.left+\",\"+l.top+\",\"+s.offsetWidth+\",\"+s.offsetHeight+\")\");if(this.popups.length>0){this.rootElement.addEventListener(\"click\",this,true)}};t.prototype.popupInfo=function(t){var e,s=false,p=t;while(p&&e===undefined){if($tw.utils.hasClass(p,\"tc-popup-handle\")||$tw.utils.hasClass(p,\"tc-popup-keep\")){s=true}if($tw.utils.hasClass(p,\"tc-reveal\")&&($tw.utils.hasClass(p,\"tc-popup\")||$tw.utils.hasClass(p,\"tc-popup-handle\"))){e=parseInt(p.style.zIndex)-1e3}p=p.parentNode}var o={popupLevel:e||0,isHandle:s};return o};t.prototype.handleEvent=function(t){if(t.type===\"click\"){var e=this.popupInfo(t.target),s=e.popupLevel-1;if(e.isHandle){if(s<0){s=1}else{s++}}this.cancel(s)}};e.prototype.refresh=function(){var t,e,p=this.isOpen;e=s.apply(this,arguments);t=this.domNodes[0];if(this.isOpen&&(p!==this.isOpen||!t.style.zIndex)&&t&&(this.type===\"popup\"||$tw.utils.hasClass(t,\"tc-block-dropdown\")&&$tw.utils.hasClass(t,\"tc-reveal\"))){t.style.zIndex=1e3+$tw.popup.popups.length}return e}})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/appear/readme": {
"title": "$:/plugins/tobibeer/appear/readme",
"text": "This plugin provides the ''$appear'' widget that can render popups and sliders (inline or block) as well as accordion menus.\n\n!! Attributes\r\n; type\r\n: set to `popup` to have the content appear as a popup\r\n; show\r\n: the button label\r\n; hide\r\n: the hide button label\r\n; mode\r\n: either `block` or `inline`, with respect to the inner content\r\n: any other mode is interpreted as block mode, without the default styles applying, e.g. drop-shadows\r\n; once\r\n: allows to click the button once, then hides it (unless the state is deleted)\r\n; $state\r\n: the widget calculates a state for you, use this to append a simple id\r\n; state\r\n: alternatively, specify a fully qualified state\r\n; keep\r\n: make popups sticky when `yes` or `true`\r\n; handle / handler / variables\r\n: allows to take the popup contents out of the flow and render them elsewhere on the page\r\n: required to properly create popups in table cells and other constained elements\r\n: specify variables to take along\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#appear\r\n"
},
"$:/plugins/tobibeer/appear/styles": {
"title": "$:/plugins/tobibeer/appear/styles",
"tags": "$:/tags/Stylesheet",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>.tc-reveal.appear-block,\r\n.tc-popup.appear {\r\n\tborder-radius: 5px;\r\n\tpadding: 1px 1em;\r\n\t<<box-shadow \"2px 2px 4px rgba(0,0,0,0.3)\">>;\r\n}\r\n.tc-popup.appear {\r\n\tpadding: 0 1em;\r\n\tbackground: <<colour background>>;\r\n}\r\n.appear-reveal.appear-inline{\r\nmargin-left:5px;\r\n}\r\n.appear-reveal.appear-inline.appear-once{\r\nmargin-left:0;\r\n}</pre>"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/preview/config": {
"title": "$:/plugins/tobibeer/preview/config",
"text": "\\define default()\r\n<dt>$(defaults)$$(option)$</dt>\r\n<dd>\r\n//{{$:/plugins/tobibeer/preview/lingo/$(option)$}}<$list\r\nfilter=\"[[$(option)$]prefix[template]]\">\r\n{{$(defaults)$$(option)$}}</$list>://<br>\r\n<$edit-text tag=input tiddler=\"$(defaults)$$(option)$\"/>\r\n</dd>\r\n\\end\n\n<dl class=\"preview-defaults\">\r\n<$vars defaults=\"$:/plugins/tobibeer/preview/defaults/\">\r\n<$list filter=\"[all[tiddlers+shadows]removeprefix<defaults>sort[title]]\" variable=\"option\">\r\n<<default>>\r\n</$list>\r\n</$vars>\r\n</dl>\r\n<style>.preview-defaults input {width:90%;}</style>"
},
"$:/plugins/tobibeer/preview/lingo/keys": {
"title": "$:/plugins/tobibeer/preview/lingo/keys",
"text": "modifier keys to trigger popup directly on-hover (ctrl, alt+shift, meta, etc...)"
},
"$:/plugins/tobibeer/preview/defaults/keys": {
"title": "$:/plugins/tobibeer/preview/defaults/keys",
"text": "CTRL"
},
"$:/plugins/tobibeer/preview/lingo/delay": {
"title": "$:/plugins/tobibeer/preview/lingo/delay",
"text": "delay popup for this many milliseconds"
},
"$:/plugins/tobibeer/preview/defaults/delay": {
"title": "$:/plugins/tobibeer/preview/defaults/delay",
"text": "1500"
},
"$:/plugins/tobibeer/preview/lingo/class": {
"title": "$:/plugins/tobibeer/preview/lingo/class",
"text": "css classes applied to the popup"
},
"$:/plugins/tobibeer/preview/defaults/class": {
"title": "$:/plugins/tobibeer/preview/defaults/class",
"text": "tc-popup-keep"
},
"$:/plugins/tobibeer/preview/lingo/not": {
"title": "$:/plugins/tobibeer/preview/lingo/not",
"text": "no preview for links inside elements with these classes"
},
"$:/plugins/tobibeer/preview/defaults/not": {
"title": "$:/plugins/tobibeer/preview/defaults/not",
"text": "tc-drop-down tc-sidebar-scrollable tc-topbar tc-tiddler-title"
},
"$:/plugins/tobibeer/preview/lingo/exclude": {
"title": "$:/plugins/tobibeer/preview/lingo/exclude",
"text": "no preview for links to tiddlers matching this filter"
},
"$:/plugins/tobibeer/preview/defaults/exclude": {
"title": "$:/plugins/tobibeer/preview/defaults/exclude",
"text": "[is[system]] [all[shadows]] [!has[text]]"
},
"$:/plugins/tobibeer/preview/lingo/template": {
"title": "$:/plugins/tobibeer/preview/lingo/template",
"text": "the preview template"
},
"$:/plugins/tobibeer/preview/defaults/template": {
"title": "$:/plugins/tobibeer/preview/defaults/template",
"text": "$:/plugins/tobibeer/preview/template"
},
"$:/plugins/tobibeer/preview/lingo/open": {
"title": "$:/plugins/tobibeer/preview/lingo/open",
"text": "view at ''<<WIKI>>''"
},
"$:/plugins/tobibeer/preview/keyboard.js": {
"title": "$:/plugins/tobibeer/preview/keyboard.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/preview/keyboard.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nFixes $:/core/modules/utils/dom/keyboard.js by providing an alternative.\r\nDo not use as an API, let's fix the core.\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var e={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,INSERT:45,DELETE:46};exports.parseKeyDescriptorTB=function(t){var l,r,y,s=t.toUpperCase().split(\"+\"),K={keyCode:null,shiftKey:false,altKey:false,ctrlKey:false};for(y=0;y<s.length;y++){l=false;r=s[y];if(r.substr(0,1)===\"!\"){l=true;r=r.substr(1)}if(r===\"CTRL\"){K.ctrlKey=l?null:true}else if(r===\"SHIFT\"){K.shiftKey=l?null:true}else if(r===\"ALT\"){K.altKey=l?null:true}else if(r===\"META\"){K.metaKey=l?null:true}else if(e[r]){K.keyCode=e[r]}else{K.keyCode=r.charCodeAt(0)}}return K};exports.checkKeyDescriptorTB=function(e,t){var l=!!t.metaKey;return(t.keyCode===null||e.keyCode===t.keyCode)&&(t.shiftKey===null?!e.shiftKey:e.shiftKey===t.shiftKey)&&(t.altKey===null?!e.altKey:e.altKey===t.altKey)&&(t.ctrlKey===null?!e.ctrlKey:e.ctrlKey===t.ctrlKey)&&(t.metaKey===null?!e.metaKey:e.metaKey===l)}})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/preview/link.js": {
"title": "$:/plugins/tobibeer/preview/link.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/preview/link.js\r\ntype: application/javascript\r\nmodule-type: startup\r\n\r\nEnhances the link widget for on-hover previews\r\n\r\n@preserve\r\n\\*/\n(function(){var e,t=require(\"$:/core/modules/widgets/link.js\").link,i=t.prototype.render,o=t.prototype.handleClickEvent;t.prototype.render=function(){i.apply(this,arguments);var t=this,o=this.wiki,p=this.domNodes[0],r=o.getTiddler(t.to),n=\"$:/plugins/tobibeer/preview/defaults/\",u=\"$:/temp/tobibeer/preview-\",l=$tw.utils.parseKeyDescriptorTB(o.getTextReference(n+\"keys\",\"\").toUpperCase()),s=o.getTextReference(n+\"delay\").toUpperCase(),a=function(e){var i=$tw.popup.popupInfo(e),p=i.popupLevel;return o.getTextReference(u+p)&&o.getTextReference(u+p+\"-tiddler\")===t.to?null:i},f=function(){var i,r=a(p);if(r){i=r.popupLevel;clearTimeout(t.previewTimeout);$tw.popup.cancel(i);i++;o.setText(u+i+\"-tiddler\",\"text\",null,t.to);if($tw.popup.findPopup(u+i)===-1){setTimeout(function(){$tw.popup.triggerPopup({domNode:p,title:u+i,wiki:o});e=0},50)}}},d=function(){var e,i,r=1,u=o.getTextReference(n+\"not\",\"\");if(u){$tw.utils.each(u.split(\" \"),function(e){var t=p;while(t&&r){if($tw.utils.hasClass(t,e)){r=0;return false}t=t.parentNode}})}if(r){i=o.getTextReference(n+\"exclude\",\"\");e=i?o.filterTiddlers(i):[];if(e.indexOf(t.to)>=0){r=0}}return r};s=s!==undefined?parseInt(s):null;if(s!==null&&isNaN(s)){s=0}if(r){$tw.utils.addClass(p,\"tc-popup-handle\");$tw.utils.addClass(p,\"tc-popup-absolute\");[\"mouseover\",\"mouseout\"].forEach(function(i){p.addEventListener(i,function(o){var p=o||window.event;if(i===\"mouseover\"){if(d()){if(!p.keyCode){p.keyCode=0}if($tw.utils.checkKeyDescriptorTB(p,l)){if(!e){e=1;f()}}else if(s!==null){e=0;t.previewTimeout=setTimeout(f,s)}}}else{e=0;clearTimeout(t.previewTimeout)}})})}};t.prototype.handleClickEvent=function(){o.apply(this,arguments);clearTimeout(this.previewTimeout);$tw.popup.cancel(Math.max(0,$tw.popup.popupInfo(this.domNodes[0]).popupLevel))}})();",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/tobibeer/preview/popups": {
"title": "$:/plugins/tobibeer/preview/popups",
"tags": "$:/tags/PageTemplate",
"text": "\\define state(num)\n$:/temp/tobibeer/preview-$num$\n\\end\n\n\\define classes(num)\ntc-popup appear appear-block appear-reveal tc-preview-tiddler tc-preview-tiddler-$num$ $(default-classes)$\n\\end\n\n\\define level(num)\n<$reveal tag=\"div\" type=\"popup\" state=<<state $num$>> class=<<classes $num$>>>\n<$tiddler tiddler={{$:/temp/tobibeer/preview-$num$-tiddler}}>\n<$transclude tiddler={{$:/plugins/tobibeer/preview/defaults/template}} mode=\"block\"/>\n</$tiddler>\n</$reveal>\n\\end\n\n<$vars default-classes={{$:/plugins/tobibeer/preview/defaults/class}}>\n<$list filter=\"1 2 3 4 5 6 7 8 9\">\n<$macrocall $name=\"level\" num={{!!title}}/>\n</$list>\n</$vars>"
},
"$:/plugins/tobibeer/preview/readme": {
"title": "$:/plugins/tobibeer/preview/readme",
"text": "The plugin $:/plugins/tobibeer/preview enhances the core <<x LinkWidget>> to display a preview of tiddlers when hovering an internal link.\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#preview"
},
"$:/plugins/tobibeer/preview/styles": {
"title": "$:/plugins/tobibeer/preview/styles",
"tags": "$:/tags/Stylesheet",
"text": ".tc-popup.tc-preview-tiddler{\r\n\tmax-width:600px;\r\n\twidth:100%;\r\n\tpadding:1em;\r\n}"
},
"$:/plugins/tobibeer/preview/template": {
"title": "$:/plugins/tobibeer/preview/template",
"text": "{{||$:/core/ui/ViewTemplate/tags}}\n\n<$transclude mode=\"block\"/>"
}
}
}
[is[system]] [all[shadows]] [!has[text]]
.tc-popup.tc-preview-tiddler{
max-width:880px;
width:100%;
padding:1em;
}
{
"tiddlers": {
"$:/plugins/TWaddle/SideEditor/Stylesheet": {
"created": "20160514162106379",
"creator": "Mat",
"text": "<pre>\n#outerLimit {\n position:fixed; z-index:2001;\n top:calc({{$:/plugins/TWaddle/SideEditor/Metrics!!top}}vh + 30px); \n right:0px; bottom:0; overflow:hidden;\n width:{{$:/plugins/TWaddle/SideEditor/Metrics!!left}}vw;\n padding-left:20px; /* prevent mistakenly hovering sidebar */\n -webkit-transition: background-color .5s linear;\n -moz-transition: background-color .5s linear;\n -o-transition: background-color .5s linear;\n transition: background-color .5s linear;\n background-color: transparent;\n}\n/* gray area to indicate where SE blocks clicking */ \n#outerLimit:hover { background: rgba(244,244,244,.5);\n}\n/* area to right of sidebarlists belonging to SE */\n#outerLimit:before {\n opacity:0;\n display:block; content: ' ';\n position:fixed; top:0; right:0; \n left:calc({{$:/themes/tiddlywiki/vanilla/metrics/storyright}} + <<tc-sidebar-lists-width>> - 10px);\n height:calc({{$:/plugins/TWaddle/SideEditor/Metrics!!top}}vh + 30px);\n}\n/* Flip zone along sidebarlists right side to flip focus back to SE */\n#flipVertical { \n position:fixed; z-index:3001;\n top:calc({{$:/plugins/TWaddle/SideEditor/Metrics!!top}}vh + 30px); \n left:calc({{$:/themes/tiddlywiki/vanilla/metrics/storyright}} + <<tc-sidebar-lists-width>>);\n bottom: 0;\n width: 20px;\n transition: background-color 0.5s ease; /* used for hover to indicate it blocks typing*/\n -webkit-transition: background-color 500ms ease .5s;\n -moz-transition: background-color 500ms ease .5s;\n -o-transition: background-color 500ms ease .5s;\n transition: background-color 500ms ease .5s;\n background-color: transparent; opacity:1;\n}\n#flipVertical:hover {border:1px solid lightgray; background:lightgray; opacity:.5;}\n#flipVertical:hover ~ #outerLimit {background: rgba(244,244,244,.5); }\n\n/* Zone along top edge of SE to flip focus back to SE */\n#flipHorizontal {\n position:fixed; z-index:3001;\n bottom:calc(100vh - {{$:/plugins/TWaddle/SideEditor/Metrics!!top}}vh - 30px); \n left:calc({{$:/themes/tiddlywiki/vanilla/metrics/storyright}} + <<tc-sidebar-lists-width>> - 10px);\n right:0;\n height:20px;\n}\n#flipHorizontal:hover ~ #outerLimit {background: rgba(244,244,244,.5); }\n\n#btnAndTitle svg {\n width:2em; height:1.2em; margin-top:-4px; \n fill:lightgray; background:white; padding:2px 5px;\n}\n#btnAndTitle a {\n height:1.1em; background:white;\n padding: 2px 15px; margin-left:-8px;\n}\n.sideeditor {\n resize:horizontal; overflow-y:auto;\n width:calc(100vw - 42px -\n {{$:/themes/tiddlywiki/vanilla/metrics/storyright}}); \n max-width:calc({{$:/plugins/TWaddle/SideEditor/Metrics!!left}}vw - 40px);\n min-width:calc({{$:/plugins/TWaddle/SideEditor/Metrics!!left}}vw - 40px); /* Edge needs this for smaller screens */\n max-height:calc(-70px + 100vh - \n {{$:/plugins/TWaddle/SideEditor/Metrics!!top}}vmin); \n border:1px solid gray; padding-left:5px; \n}\n#se-slider-top {\n position:fixed; z-index:4000; top:53vmin; \n transform:rotate(90deg); width:100vmin; right:-49vmin;\n}\n#se-slider-left {\n position:fixed; z-index:4000; bottom:0vmin;\n transform:rotate(180deg); width:100%; /* MS can't handle vmax here */\n}\n\n/************************ Range Slider styling ***********************/\n/*** CRED: https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ ***/\n\n/** Applying base styles *******************/\n\n.se-sliders input[type=range] { -webkit-appearance: none; width: 100%; /* for Firefox. */ }\n.se-sliders input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; }\n.se-sliders input[type=range]:focus { outline: none; }\n\n/** Styling the Thumb ***********************/\n\n/* Special styling for WebKit/Blink */\n.se-sliders input[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n box-shadow: inset 4px 0px 0px silver, 0px 0px 0px #000000;\n border: 0px; border-radius: 0px;\n height: 20px; width: 6px;\n background: transparent;\n cursor: pointer;\n margin-top: 14px; /* \"moves\" thumb from track */\n}\n\n/* All the same stuff for Firefox */\n.se-sliders input[type=range]::-moz-range-thumb {\n box-shadow: inset 4px 0px 0px gray, 0px 0px 0px #000000;\n border: 0px; border-radius: 0px;\n height: 20px; width: 16px;\n background: transparent;\n cursor: pointer;\n}\n\n/* All the same stuff for IE */\n.se-sliders input[type=range]::-ms-thumb {\n box-shadow: inset 4px 0px 0px gray, 0px 0px 0px #000000;\n border: 0px solid blue; border-radius: 0px;\n /* height: 20px; width: 16px; */ \n background: transparent;\n cursor: pointer;\n}\n\n/** Styling the Track *************************/\n\n.se-sliders input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 1px; margin-top:-10px; background-color:transparent;}\n.se-sliders input[type=range]::-moz-range-track { height: 0px; }\n.se-sliders input[type=range]::-ms-track{ height: 1px; margin-top:-10px; }\n\n</pre>",
"type": "text/vnd.tiddlywiki",
"top": "17",
"title": "$:/plugins/TWaddle/SideEditor/Stylesheet",
"tags": "$:/tags/Stylesheet",
"peek": "1px",
"modifier": "Mat",
"modified": "20161228204100092",
"left": "46"
},
"$:/plugins/TWaddle/SideEditor/Metrics": {
"created": "20160514163926446",
"creator": "Mat",
"text": "",
"top": "10",
"title": "$:/plugins/TWaddle/SideEditor/Metrics",
"tags": "",
"peek": "0",
"modifier": "Mat",
"modified": "20161228202759548",
"left": "44"
},
"$:/plugins/TWaddle/SideEditor/Main": {
"created": "20160421132415018",
"creator": "Mat",
"text": "\\define tc-sidebar-header-padding() 14px\n\n\\define tc-sidebar-header-margin-top() {{$:/themes/tiddlywiki/vanilla/metrics/storytop}}\n\n\\define est-dist-above-sidebar-lists() 4.7cm\n\n\\define tc-sidebar-scrollable-padding-top() 71px\n\n\\define tc-sidebar-lists-width() 400px\n\n\\define se-slider(field)\n<div id=\"se-slider-$field$\">\n <$edit-text tag=\"input\" type=\"range\" field=\"$field$\"\n tiddler=\"$:/plugins/TWaddle/SideEditor/Metrics\" />\n</div>\n\\end\n\n\\define sideeditor(tid)\n<div class=\"se-sliders\"><<se-slider \"left\">><<se-slider \"top\">></div>\n<div id=\"flipVertical\"></div><div id=\"flipHorizontal\"></div>\n<div id=\"outerLimit\">\n <div id=\"btnAndTitle\">\n {{$:/plugins/TWaddle/SideEditor/Button}}<$link to=\"\"\"$tid$\"\"\">\n <$view tiddler=\"\"\"$tid$\"\"\" field=\"title\" format=\"text\"/></$link>\n </div>\n <$edit-text tiddler=\"\"\"$tid$\"\"\" field=\"text\" \n tag=\"textarea\" class=\"sideeditor\" />\n <$list filter=\"[{$:/state/sideeditor}!prefix[no]]\">\n <style>\n {{$:/plugins/TWaddle/SideEditor/StylesheetActive}}\n </style>\n </$list>\n</div>\n\\end\n",
"title": "$:/plugins/TWaddle/SideEditor/Main",
"tags": "$:/tags/Macro",
"summary": "",
"modifier": "Mat",
"modified": "20161228204210457"
},
"$:/plugins/TWaddle/SideEditor/Button": {
"created": "20150601114223435",
"creator": "Mat",
"text": "<$reveal state=\"$:/state/sideeditor\" type=\"nomatch\" text=\"no\" default=\"no\">\n<$button set=\"$:/state/sideeditor\" setTo=\"no\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sideeditor\" type=\"match\" text=\"no\" default=\"no\">\n<$button set=\"$:/state/sideeditor\" setTo=<<currentTiddler>> class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>",
"title": "$:/plugins/TWaddle/SideEditor/Button",
"tags": "$:/tags/ViewToolbar",
"modifier": "Mat",
"modified": "20161228204204521",
"description": "toggle ~SideEditor - an editor floating next to the story river.",
"caption": "{{$:/core/images/chevron-right}} ~SideEditor"
},
"$:/plugins/TWaddle/SideEditor/Revealer": {
"created": "20150601115921432",
"creator": "Mat",
"text": "<div>\n\n<$reveal state=\"$:/state/sideeditor\" type=\"nomatch\" text=\"no\" default=\"no\">\n\n<$macrocall $name=\"sideeditor\" tid={{$:/state/sideeditor}}/>\n\n</$reveal>\n\n</div>",
"title": "$:/plugins/TWaddle/SideEditor/Revealer",
"tags": "$:/tags/PageTemplate",
"modifier": "Mat",
"modified": "20161228204221610"
},
"$:/plugins/TWaddle/SideEditor/StylesheetActive": {
"created": "20160514142353426",
"creator": "Mat",
"text": " /*\n * In-macro styles, i.e called from within the SideEditor macro, when that is active\n * Do NOT tag it $:/tags/Stylesheet as that would make it permanently active\n * Do NOT enclose in pre\n */\n\n/* General info: Default nesting order for elements in TW sidebar is:\n * scrollable > header > lists \n */\n\n/* Access SE immediately left of sidebar */\n.xtc-sidebar-scrollable {\n margin-left:0; padding-left:0px;\n}\n.tc-sidebar-scrollable:hover {\n z-index:3000;\n}\n/* sidebar area grayed out above and below to indicate it's blocking SE */\n.tc-sidebar-scrollable:hover:after,\n .tc-sidebar-scrollable:hover:before {\n position: absolute;\n z-index: -600; /* behind tc-sidebar-lists */\n content: ' ';\n background: <<colour page-background>>;\n width: <<tc-sidebar-lists-width>>;\n margin-left:-.7em;\n}\n.tc-sidebar-scrollable:hover:after {\n border-right:1px solid lightgray;\n opacity:.5;\n bottom: 3vh;\n height: calc(100% - <<tc-sidebar-scrollable-padding-top>> - 20px);\n}\n.tc-sidebar-scrollable:hover:before {\n opacity:.7;\n top: 0;\n height: <<tc-sidebar-scrollable-padding-top>>;\n}\n\n.tc-sidebar-scrollable .tc-sidebar-header {\n position:absolute;\n max-height:calc(100vh - <<tc-sidebar-scrollable-padding--top>>);\n top:<<tc-sidebar-scrollable-padding-top>>;\n overflow:hidden;\n padding:0px 0px 0 10px;\n margin-left:-10px;\n}\n.tc-sidebar-scrollable:hover .tc-sidebar-header { \n z-index:-500;\n background:<<colour page-background>>;\n}\n.tc-sidebar-lists {\n width:<<tc-sidebar-lists-width>>;\n padding:10px; margin-left:-10px;\n padding-top:7px; margin-top:-10px;\n max-height:calc(100vh - <<tc-sidebar-header-margin-top>> - <<est-dist-above-sidebar-lists>>);\n overflow:hidden;\n}\n.tc-sidebar-scrollable:hover .tc-sidebar-lists {\n z-index:-500;\n height:100%;\n background:<<colour page-background>>;\n border-bottom:2px solid silver;\n padding-top:7px; margin-top:-10px;\n overflow-y:auto;\n border-right:10px solid <<colour page-background>>; /*prev. flip when scroll*/\n}\n\n/* Search popup slightly repositioned */\n.tc-block-dropdown.tc-search-drop-down {\n margin-left: 0px;\n}",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/TWaddle/SideEditor/StylesheetActive",
"peek": "1px",
"modifier": "Mat",
"modified": "20161228204234356"
},
"$:/plugins/TWaddle/SideEditor/icon": {
"created": "20160421222805854",
"creator": "Mat",
"text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAABISURBVDhP1ZAxDgAgCMR4Oj9H1EnDXRjOwSZl0oZg7h7MxJgrgJAFkjlqu4EKXYC5373eACENQDsBZuuITM0GiI8CzPvDadgAbYISbVw2M04AAAAASUVORK5CYII=",
"type": "image/png",
"title": "$:/plugins/TWaddle/SideEditor/icon",
"modifier": "Mat",
"modified": "20161228204243025"
},
"$:/plugins/TWaddle/SideEditor/readme": {
"created": "20150807204704723",
"creator": "Mat",
"text": "''~SideEditor'' is a plugin that floats a tiddlers editor by the story river side.\n\nThe purpose is a ''\"live\" view of the effects from your editing'' and to be able to scroll and reference stuff from other tiddlers while you edit. It is intended for full size screens.\n\n''Usage''\n\n*''Toggle'' it via the tiddler tool button <span class=\"mybutton\">{{$:/core/images/chevron-right}}</span>\n*''Move'' the ~SideEditor via the two gray handles.\n*''Re-size'' width via the lower right corner. Height is automatic from typing.\n*''Flipping'' between //Sidebar// and //~SideEditor// uses CSS hovering.\n\n''For updates'', see http://sideeditor.tiddlyspot.com/\n\n<br>''Mat <:-) von'' [[TWaddle|http://twaddle.tiddlyspot.com/]]",
"title": "$:/plugins/TWaddle/SideEditor/readme",
"modifier": "Mat",
"modified": "20161228204251696"
}
}
}
<$button class=<<tv-config-toolbar-class>> tooltip={{$:/plugins/TWaddle/tw-admin/button!!caption}} aria-label={{$:/plugins/TWaddle/tw-admin/button!!description}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-open-window"
$param="$:/plugins/TWaddle/tw-admin/content" height="600px" width="500px"/>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/plugins/TWaddle/tw-admin/icon}}
</$list>
</$button>
[[sample content|$:/plugins/TWaddle/tw-admin/sample]]
<div class="tw-admin-content">
!!!Wiki settings
<<toggle $:/plugins/TWaddle/tw-admin/button!!tags $:/tags/PageControls " " >> {{$:/plugins/TWaddle/tw-admin/icon}} in Sidebar |
<<toggle $:/plugins/TWaddle/tw-admin/content!!tags $:/tags/ControlPanel/Settings "" >> in //Ctrlpanel > Settings//<br><br>
Sidebar<<toggle $:/state/sidebar yes no >> |
<<toggle $:/core/ui/TopBar/menu!!tags $:/tags/TopRightBar " " >> {{$:/core/images/chevron-right}}|
<<toggle $:/Site/beta!!tags $:/tags/Stylesheet "" >>Stamp <$edit-text tiddler="$:/Site/beta" field="content"/><br>
Sidebar tools |
<<toggle $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview show hide >> {{$:/core/images/permaview-button}}|
<<toggle $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/control-panel show hide >> {{$:/core/images/options-button}}|
<<toggle $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/save-wiki show hide >> {{$:/core/images/save-button}}|
<br>
Sidebar tabs |
<<toggle $:/core/ui/SideBar/Open!!tags $:/tags/SideBar " " >> Open |
<<toggle $:/core/ui/SideBar/Recent!!tags $:/tags/SideBar " " >> Recent |
<<toggle $:/core/ui/SideBar/Tools!!tags $:/tags/SideBar " " >> Tools |
<<toggle $:/core/ui/SideBar/More!!tags $:/tags/SideBar " " >> More |
!!!Tiddler settings
Toolbar:
<<toggle "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit" show hide>>{{$:/core/images/edit-button}}|
<<toggle $:/config/ViewToolbarButtons/Visibility/$:/plugins/TWaddle/SideEditor/Button show hide >>{{$:/plugins/TWaddle/SideEditor/Button!!caption}} |
<br>
<<toggle "$:/config/EditorTypeMappings/text/vnd.tiddlywiki" comptext text>> Comptext editor
<br>
<<toggle "$:/plugins/TWaddle/TabLinks/Stylesheet!!display" inline-block none>> _<span style="border:1px solid; border-bottom:0;"> tab </span>__ links__
</div>
<style>
.tw-admin-content {
margin:0 auto;
width: -moz-fit-content;
width: fit-content;
}
body.tc-body .tw-admin-content svg {
width: 1em;
margin: auto .4em -.7em .5em;
fill:green;
}
body.tc-body .tw-admin-content svg:after {border:1px solid red; content:"xxx"; width:1em; height;1em;
}
</style>
{
"tiddlers": {
"$:/plugins/welford/twpin/caption": {
"title": "$:/plugins/welford/twpin/caption",
"text": "<$fieldmangler tiddler=\"$:/DefaultTiddlers\"><$list filter=\"[all[current]]-[list[$:/DefaultTiddlers]]\">pin tiddler</$list><$list filter=\"[list[$:/DefaultTiddlers]is[current]]\">unpin tiddler</$list></$fieldmangler>"
},
"$:/plugins/welford/twpin/settings/position": {
"title": "$:/plugins/welford/twpin/settings/position",
"tags": "",
"text": "<$link to=\"$:/config/twpin/position\">Pinned Tiddlers Display Position</$link>\n\n<$radio tiddler=\"$:/config/twpin/position\" value=\"before\"> Before [[$:/DefaultTiddlers]] </$radio>\n\n<$radio tiddler=\"$:/config/twpin/position\" value=\"after\"> After [[$:/DefaultTiddlers]] </$radio>\r\n"
},
"$:/plugins/welford/twpin/fidget.js": {
"text": "/*\\\r\ntitle: $:/plugins/welford/twpin/fidget.js\r\ntype: application/javascript\r\nmodule-type: widget\r\n\r\nWidget which picks up messages to append values to list fields\r\n\r\n\\*/\r\n(function(){\r\n\r\n/*jslint node: true, browser: true */\r\n/*global $tw: false */\r\n\"use strict\";\r\n\r\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\r\n\r\nvar Fidget = function(parseTreeNode,options) {\r\n\tthis.initialise(parseTreeNode,options);\r\n\tthis.addEventListeners([\r\n\t\t{type: \"tm-append-to-list\", handler: \"handleAppendToList\"},\t\r\n\t\t{type: \"tm-remove-from-list\", handler: \"handleRemoveFromList\"},\t\r\n\t]);\r\n};\r\n\r\n/*\r\nInherit from the base widget class\r\n*/\r\nFidget.prototype = new Widget();\r\n/*\r\nRender this widget into the DOM\r\n*/\r\nFidget.prototype.render = function(parent,nextSibling) {\r\n\tthis.parentDomNode = parent;\r\n\tthis.computeAttributes();\r\n\tthis.execute();\r\n\tthis.renderChildren(parent,nextSibling);\r\n};\r\n/*\r\nCompute the internal state of the widget\r\n*/\r\nFidget.prototype.execute = function() {\r\n\t// Get our parameters\r\n\tthis.field = this.getAttribute(\"field\");\r\n\tthis.value = this.getAttribute(\"value\");\r\n\t// Construct the child widgets\r\n\tthis.makeChildWidgets();\r\n};\r\n\r\n/*\r\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\r\n*/\r\nFidget.prototype.refresh = function(changedTiddlers) {\r\n\tvar changedAttributes = this.computeAttributes();\r\n\tif(changedAttributes.field || changedAttributes.value) {\r\n\t\tthis.refreshSelf();\r\n\t\treturn true;\r\n\t}\r\n\treturn this.refreshChildren(changedTiddlers);\r\n};\r\n\r\nFidget.prototype.GetParameters = function(event) {\t\r\n\tif(typeof event.paramObject === \"object\") {\r\n\t\t// If we got a hashmap use it as the template\r\n\t\tvar additionalFields = event.paramObject;\r\n\t\tif(additionalFields && additionalFields.field) {\r\n\t\t\tthis.field = additionalFields.field;\r\n\t\t}\r\n\t\tif(additionalFields && additionalFields.value) {\r\n\t\t\tthis.value = additionalFields.value;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nFidget.prototype.handleAppendToList = function(event) {\t\r\n\tthis.GetParameters(event);\r\n\t//get field, add value to front and set it\r\n\tvar tr = $tw.utils.parseTextReference(this.field),\r\n\t\ttitle = tr.title || currTiddlerTitle;\r\n\tvar tiddler = this.wiki.getTiddler(title);\r\n\tif(tiddler) {\r\n\t\tvar original = tiddler.fields[\"list\"];\r\n\t\tvar updatedField;\r\n\t\tif(original){\r\n\t\t\tif(original.indexOf(this.value) == -1){\r\n\t\t\t\tupdatedField = original.slice(0);\r\n\t\t\t\tupdatedField.unshift(this.value);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse{\r\n\t\t\tupdatedField = [this.value];\r\n\t\t}\r\n\t\tthis.wiki.setTextReference(this.field,updatedField,this.getVariable(\"currentTiddler\"));\t\t\t\t\t\t\t\r\n\t}\r\n\treturn false;\r\n};\r\n\r\nFidget.prototype.handleRemoveFromList = function(event) {\r\n\tthis.GetParameters(event);\r\n\tif(this.field && this.value){\r\n\t\t//get field, add value to front and set it\r\n\t\tvar tr = $tw.utils.parseTextReference(this.field),\r\n\t\t\ttitle = tr.title || currTiddlerTitle;\r\n\t\tvar tiddler = this.wiki.getTiddler(title);\r\n\t\tif(tiddler){\t\t\r\n\t\t\tvar original = tiddler.fields[\"list\"];\r\n\t\t\tvar updatedField;\r\n\t\t\tif(original){\r\n\t\t\t\tvar index = original.indexOf(this.value);\r\n\t\t\t\tupdatedField = original.slice(0);\r\n\t\t\t\tif(index > -1){\r\n\t\t\t\t\tupdatedField.splice(index, 1);\r\n\t\t\t\t\tthis.wiki.setTextReference(this.field,updatedField,this.getVariable(\"currentTiddler\"));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n};\r\n\r\nexports.fidget = Fidget;\r\n\r\n})();\r\n",
"title": "$:/plugins/welford/twpin/fidget.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/welford/twpin/pin.js": {
"text": "/*\\\r\ntitle: $:/plugins/welford/twpin/pin.js\r\ntype: application/javascript\r\nmodule-type: startup\r\n\r\nAppends hooks so that i can change the default tiddlers\r\n\r\n\\*/\r\n(function(){\r\n\r\n/*jslint node: true, browser: true */\r\n/*global $tw: false */\r\n\"use strict\";\r\n\r\n// Export name and synchronous status\r\nexports.name = \"addpinnedtiddlers\";\r\nexports.platforms = [\"browser\"];\r\nexports.after = [\"startup\"];\r\nexports.before = [\"story\"];\r\nexports.synchronous = true;\r\n\r\n// Default tiddlers\r\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\r\nvar POSITION_TIDDLER_TITLE = \"$:/config/twpin/position\";\r\n\r\nexports.startup = function() {\r\n\t$tw.hooks.addHook(\"th-opening-default-tiddlers-list\",function(list) {\r\n\t\t//default to before DEFAULT_TIDDLERS_TITLE \r\n\t\tvar position_before = true;\r\n\t\tif($tw.wiki.getTiddlerText(POSITION_TIDDLER_TITLE,\"before\") !== \"before\") {\r\n\t\t\tposition_before = false;\r\n\t\t}\r\n\t\t// Add pinned tiddlers to the end of the list if they aren't already in it\r\n\t\tvar taggedList = $tw.wiki.getTiddler(DEFAULT_TIDDLERS_TITLE).fields[\"list\"];\r\n\t\tif(taggedList){\r\n\t\t\tvar new_list = [];\r\n\t\t\tfor (var i = 0; i < taggedList.length; i++) {\r\n\t\t\t\tif(list.indexOf(taggedList[i]) === -1 && new_list.indexOf(taggedList[i]) === -1) {\r\n\t\t\t\t\tnew_list.push(taggedList[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(new_list.length == 0)\r\n\t\t\t\treturn list;\r\n\r\n\t\t\tif(position_before){\r\n\t\t\t\tlist = new_list.concat(list);\r\n\t\t\t}else{\r\n\t\t\t\tlist = list.concat(new_list);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn list;\r\n\t});\r\n};\r\n\r\n})();",
"title": "$:/plugins/welford/twpin/pin.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/welford/twpin/button": {
"title": "$:/plugins/welford/twpin/button",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/plugins/welford/twpin/images/unpinned}} {{$:/plugins/welford/twpin/caption}}",
"list-after": "$:/core/ui/Buttons/info",
"description": "Pin a tiddler to the default page",
"text": "<$fieldmangler tiddler=\"$:/DefaultTiddlers\"><$fidget><$list filter=\"[all[current]]-[list[$:/DefaultTiddlers]]\"><$button class=<<tv-config-toolbar-class>> tooltip=\"Pin this tiddler\"><$action-sendmessage $message=\"tm-add-field\" $param=\"list\"/><$action-sendmessage $message=\"tm-append-to-list\" field=\"$:/DefaultTiddlers!!list\" value=<<currentTiddler>>/><$action-sendmessage $message=\"tm-save-wiki\"/>{{$:/plugins/welford/twpin/images/unpinned}}<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\"><span class=\"tc-btn-text\"><$text text={{$:/plugins/welford/twpin/pincaption}}/></span></$list></$button></$list><$list filter=\"[list[$:/DefaultTiddlers]is[current]]\"><$button class=<<tv-config-toolbar-class>> tooltip=\"Unpin this tiddler\"><$action-sendmessage $message=\"tm-add-field\" $param=\"list\"/><$action-sendmessage $message=\"tm-remove-from-list\" field=\"$:/DefaultTiddlers!!list\" value=<<currentTiddler>>/><$action-sendmessage $message=\"tm-save-wiki\"/>{{$:/plugins/welford/twpin/images/pinned}}<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\"><span class=\"tc-btn-text\"><$text text={{$:/plugins/welford/twpin/unpincaption}}/></span></$list></$button></$list></$fidget></$fieldmangler>"
},
"$:/plugins/welford/twpin/pincaption": {
"title": "$:/plugins/welford/twpin/pincaption",
"text": "pin tiddler"
},
"$:/plugins/welford/twpin/images/pinned": {
"title": "$:/plugins/welford/twpin/images/pinned",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-pinned-button tc-image-button\" viewBox=\"83 81 50 50\" width=\"22pt\" height=\"22pt\">\r\n<path d=\"m 83,112.60511 c 0,1.385 1.100795,2.4858 2.485795,2.4858 l 17.968755,0 0,15.90909 9.0909,0 0,-15.90909 17.96876,0 c 1.385,0 2.48579,-1.1008 2.48579,-2.4858 l 0,-4.11931 C 133,107.1008 131.89921,106 130.51421,106 l -6.60512,0 0,-20.099432 C 123.90909,83.185968 121.72312,81 119.00852,81 l -22.017043,0 c -2.7146,0 -4.900568,2.185968 -4.900568,4.900568 l 0,20.099432 -6.605114,0 C 84.100795,106 83,107.1008 83,108.4858 l 0,4.11931 z m 13.636364,-9.36168 0,-14.941405 c 0,-1.526895 1.229675,-2.75657 2.756569,-2.75657 l 7.013497,0 c 1.52689,0 2.75657,1.229675 2.75657,2.75657 l 0,14.941405 c 0,1.5269 -1.22968,2.75657 -2.75657,2.75657 l -7.013497,0 c -1.526894,0 -2.756569,-1.22967 -2.756569,-2.75657 z\"/>\r\n</svg>"
},
"$:/plugins/welford/twpin/unpincaption": {
"title": "$:/plugins/welford/twpin/unpincaption",
"text": "unpin tiddler"
},
"$:/plugins/welford/twpin/images/unpinned": {
"title": "$:/plugins/welford/twpin/images/unpinned",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unpinned-button tc-image-button\" viewBox=\"83 81 50 50\" width=\"22pt\" height=\"22pt\">\r\n<path d=\"m 101.39489,81 c -1.385,0 -2.4858,1.100795 -2.4858,2.485795 l 0,17.968755 -15.90909,0 0,9.0909 15.90909,0 0,17.96876 c 0,1.385 1.1008,2.48579 2.4858,2.48579 l 4.11931,0 c 1.385,0 2.4858,-1.10079 2.4858,-2.48579 l 0,-6.60512 20.09943,0 c 2.7146,0 4.90057,-2.18597 4.90057,-4.90057 l 0,-22.017043 c 0,-2.7146 -2.18597,-4.900568 -4.90057,-4.900568 l -20.09943,0 0,-6.605114 C 108,82.100795 106.8992,81 105.5142,81 l -4.11931,0 z m 9.36168,13.636364 14.94141,0 c 1.52689,0 2.75656,1.229675 2.75656,2.756569 l 0,7.013497 c 0,1.52689 -1.22967,2.75657 -2.75656,2.75657 l -14.94141,0 c -1.5269,0 -2.75657,-1.22968 -2.75657,-2.75657 l 0,-7.013497 c 0,-1.526894 1.22967,-2.756569 2.75657,-2.756569 z\" />\r\n</svg>"
}
}
}
<$fieldmangler tiddler="$:/DefaultTiddlers"><$fidget><$list filter="[all[current]]-[list[$:/DefaultTiddlers]]"><$button class=<<tv-config-toolbar-class>> tooltip="Pin this tiddler"><$action-sendmessage $message="tm-add-field" $param="list"/><$action-sendmessage $message="tm-append-to-list" field="$:/DefaultTiddlers!!list" value=<<currentTiddler>>/><$action-sendmessage $message="tm-save-wiki"/>{{$:/plugins/welford/twpin/images/unpinned}}<$list filter="[<tv-config-toolbar-text>prefix[yes]]"><span class="tc-btn-text"><$text text={{$:/plugins/welford/twpin/pincaption}}/></span></$list></$button></$list><$list filter="[list[$:/DefaultTiddlers]is[current]]"><$button class=<<tv-config-toolbar-class>> tooltip="Unpin this tiddler"><$action-sendmessage $message="tm-add-field" $param="list"/><$action-sendmessage $message="tm-remove-from-list" field="$:/DefaultTiddlers!!list" value=<<currentTiddler>>/><$action-sendmessage $message="tm-save-wiki"/>{{$:/plugins/welford/twpin/images/pinned}}<$list filter="[<tv-config-toolbar-text>prefix[yes]]"><span class="tc-btn-text"><$text text={{$:/plugins/welford/twpin/unpincaption}}/></span></$list></$button></$list></$fidget></$fieldmangler>
;Custom menus
<$list filter="[all[]tag[$:/tags/mymenussidebar]sort[menu-caption]!prefix[$:/PSaT/MyMenus/]!has[draft.of]]" variable=menutiddler>
<$set name=menu-context value=mymenucustomsidebar>
<$button tooltip="Open $menuname$ to edit" class="tc-btn-invisible tc-tiddlylink" >
<$action-sendmessage $message="tm-edit-tiddler" $param=<<menutiddler>>/>
{{$:/core/images/edit-button}}
</$button>
<$macrocall $name=showmenu menuname=<<menutiddler>>/><br>
</$set>
</$list>
<hr class="thinline">
<$list filter="[[$:/PSaT/MyMenus/manager]]" variable=menutiddler>
<$set name=menu-context value=mymenusidebar>
<$button tooltip="Open $menuname$" class="tc-btn-invisible tc-tiddlylink" to=<<menutiddler>> >
{{$:/core/images/preview-open}}
</$button>
<$macrocall $name=showmenu menuname=<<menutiddler>>/><br>
</$set>
</$list>
/* Dropdown Button */
.dropbtn {
background-color: white;
color: black;
padding: 0px 2px;
border: outset;
cursor: pointer;
}
.mydropbtn {
background-color: white;
color: black;
padding: 0px 2px;
cursor: pointer;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
color: black;
background-color: white;
min-width: 325px;
box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2);
z-index: 550;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 0px 15px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1;}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
border: outset;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: white;
}
/* Show the dropdown button on hover */
.dropbtn:hover {
border: inset;
}
.itemhr {
display: block;
margin-top: 0.1em;
margin-bottom: 0.1em;
margin-left: auto;
margin-right: auto;
border-style: dashed;
border-width: 1px;
}
.tdc {
text-align: center;
}
.mymenubutton {
background-color: white;
color: black;
padding: 0px 2px;
border: outset;
cursor: pointer;
display: inline-block;
}
<$button class="tc-btn-invisible hide-at-setup-domain">
<$list filter="[{$:/DefaultTiddlers}prefix[$:/Setup/TiddlySpot]]">
<$action-setfield $tiddler="$:/DefaultTiddlers" text="[list[$:/StoryList]]"/>
</$list>
<$list filter="[tag[setup]] -[suffix[deletebutton]]">
<$action-deletetiddler $tiddler={{!!title}} />
</$list>
<$action-sendmessage $message="tm-save-wiki" $param={{$:/config/SaveWikiButton/Template}}/>
<$action-sendmessage $message="tm-close-tiddler" $param="$:/Setup/TiddlySpot/New"/>
<$action-deletetiddler $tiddler="$:/Setup/TiddlySpot/New/deletebutton" />
SAVE SETTINGS: {{$:/core/images/save-button}}
</$button>
<pre>/* Tweak headings h2, h3, 4h / !!, !!!, !!!! */
.tc-tiddler-body h2 {margin-bottom:-.2em; margin-top:1.2em;}
.tc-tiddler-body h3 {margin-bottom:-.4em; margin-top:1.4em;}
.tc-tiddler-body h4 {margin-bottom:-.6em; margin-top:1.6em; font-weight:bold;}
/* Editor preview remove top spacing */
.tc-tiddler-preview-preview p {margin-top:0;}
/* TW-version added to site title */
.tc-site-title:before {
content:"TW <<version>>";
position:absolute;
margin-top:-1.9em;
color:silver;
font-size:13px;
}
</pre>
Um die einzelnen Kapitel aufzuklappen, klicke jeweils auf >
Tiddlywiki Anleitung & Körperpflege ⁄ Reinigungsmittel DIY
$:/core/ui/EditTemplate/tags
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Tagging
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/EditTemplate/tags
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/EditTemplate/tags
$:/core/ui/EditTemplate/tags
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/ControlPanel/Palette
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/DefaultSearchResultList
$:/core/ui/DefaultSearchResultList
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/ControlPanel/Basics
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/EditTemplate/tags
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
$:/core/ui/MoreSideBar/Plugins/Plugins
$:/core/ui/EditTemplate/tags
$:/core/ui/ControlPanel/EditorTypes
$:/core/ui/TiddlerInfo/Advanced
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Tagging
$:/plugins/eucaly/popuptagger/tab-taggroup
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/ControlPanel/Appearance
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Tagging
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/ControlPanel/Saving/General
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/AdvancedSearch/Standard
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/EditTemplate/tags
Körperpflege/Reinigung-DIY
$:/core/ui/ControlPanel/Toolbars/EditorToolbar
{
"tiddlers": {
"$:/info/browser": {
"title": "$:/info/browser",
"text": "yes"
},
"$:/info/node": {
"title": "$:/info/node",
"text": "no"
},
"$:/info/url/full": {
"title": "$:/info/url/full",
"text": "http://surya-diy.tiddlyspot.com/"
},
"$:/info/url/host": {
"title": "$:/info/url/host",
"text": "surya-diy.tiddlyspot.com"
},
"$:/info/url/hostname": {
"title": "$:/info/url/hostname",
"text": "surya-diy.tiddlyspot.com"
},
"$:/info/url/protocol": {
"title": "$:/info/url/protocol",
"text": "http:"
},
"$:/info/url/port": {
"title": "$:/info/url/port",
"text": ""
},
"$:/info/url/pathname": {
"title": "$:/info/url/pathname",
"text": "/"
},
"$:/info/url/search": {
"title": "$:/info/url/search",
"text": ""
},
"$:/info/url/origin": {
"title": "$:/info/url/origin",
"text": "http://surya-diy.tiddlyspot.com"
}
}
}
Wiederbefüllbare Lippenpflegestift-Hülse
{
"tiddlers": {
"$:/themes/tiddlywiki/vanilla/themetweaks": {
"title": "$:/themes/tiddlywiki/vanilla/themetweaks",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
"text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
},
"$:/themes/tiddlywiki/vanilla/base": {
"title": "$:/themes/tiddlywiki/vanilla/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n left: -50px;\n top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n right: -80px;\n bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: normal;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n cursor: pointer;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour tag-foreground>>;\n\tvertical-align: text-bottom;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n height: 1.2em;\n width: 1.2em;\n margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tbackground-color: <<colour tiddler-editor-background>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down-language-chooser img {\n\twidth: 2em;\n\tvertical-align: baseline;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n display: block;\n width: 100%;\n text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n flex: 1 0;\n background: <<colour tiddler-editor-background>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n flex: 3 1;\n border-left: 0.5em solid <<colour muted-foreground>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmax-width: 500px;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 28px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 2px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 14px;\n\tright: 14px;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: block;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-colour: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-plugin-info-chunk h1 {\n\tfont-size: 1em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk h2 {\n\tfont-size: 0.8em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk div {\n\tfont-size: 0.7em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info:hover > .tc-plugin-info-chunk > img, .tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info > .tc-plugin-info-chunk > img, .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > img, .tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 1em 1em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder: 1px solid <<colour table-border>>;\n}\n\n.tc-chooser-item {\n\tborder: 8px;\n\tpadding: 2px 4px;\n}\n\n.tc-chooser-item a.tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-foreground>>;\n\tbackground-color: <<colour tiddler-link-background>>;\n}\n\n.tc-chooser-item a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
"text": "15px"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
"text": "22px"
},
"$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
"text": "14px"
},
"$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
"text": "20px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storytop": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyright": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
"text": "686px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
"text": "960px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
"text": "350px"
},
"$:/themes/tiddlywiki/vanilla/options/stickytitles": {
"title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
"text": "no"
},
"$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
"title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
"text": "fixed-fluid"
},
"$:/themes/tiddlywiki/vanilla/options/codewrapping": {
"title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
"text": "pre-wrap"
},
"$:/themes/tiddlywiki/vanilla/reset": {
"title": "$:/themes/tiddlywiki/vanilla/reset",
"type": "text/plain",
"text": "/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9.\n * Hide the `template` element in IE, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8+, and Opera\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
"text": "\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", \"DejaVu Sans\", sans-serif"
},
"$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
"text": "Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
"text": "fixed"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
"text": "auto"
},
"$:/themes/tiddlywiki/vanilla/sticky": {
"title": "$:/themes/tiddlywiki/vanilla/sticky",
"text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n``\n</$reveal>\n"
}
}
}
\define custom-background-datauri()
<$set name="background" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>
<$list filter="[<background>is[image]]">
`background: url(`
<$list filter="[<background>!has[_canonical_uri]]">
<$macrocall $name="datauri" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>
</$list>
<$list filter="[<background>has[_canonical_uri]]">
<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field="_canonical_uri"/>
</$list>
`) center center;`
`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;
-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;
-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;
-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;
background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`
</$list>
</$set>
\end
\define if-fluid-fixed(text,hiddenSidebarText)
<$reveal state="$:/themes/tiddlywiki/vanilla/options/sidebarlayout" type="match" text="fluid-fixed">
$text$
<$reveal state="$:/state/sidebar" type="nomatch" text="yes" default="yes">
$hiddenSidebarText$
</$reveal>
</$reveal>
\end
\define if-editor-height-fixed(then,else)
<$reveal state="$:/config/TextEditor/EditorHeight/Mode" type="match" text="fixed">
$then$
</$reveal>
<$reveal state="$:/config/TextEditor/EditorHeight/Mode" type="match" text="auto">
$else$
</$reveal>
\end
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock
/*
** Start with the normalize CSS reset, and then belay some of its effects
*/
{{$:/themes/tiddlywiki/vanilla/reset}}
*, input[type="search"] {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
html button {
line-height: 1.2;
color: <<colour button-foreground>>;
background: <<colour button-background>>;
border-color: <<colour button-border>>;
}
/*
** Basic element styles
*/
html {
font-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};
text-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
html:-webkit-full-screen {
background-color: <<colour page-background>>;
}
body.tc-body {
font-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};
line-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};
word-wrap: break-word;
<<custom-background-datauri>>
color: <<colour foreground>>;
background-color: <<colour page-background>>;
fill: <<colour foreground>>;
}
h1, h2, h3, h4, h5, h6 {
line-height: 1.2;
font-weight: 300;
}
pre {
display: block;
padding: 14px;
margin-top: 1em;
margin-bottom: 1em;
word-break: normal;
word-wrap: break-word;
white-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};
background-color: <<colour pre-background>>;
border: 1px solid <<colour pre-border>>;
padding: 0 3px 2px;
border-radius: 3px;
font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};
}
code {
color: <<colour code-foreground>>;
background-color: <<colour code-background>>;
border: 1px solid <<colour code-border>>;
white-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};
padding: 0 3px 2px;
border-radius: 3px;
font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};
}
blockquote {
border-left: 5px solid <<colour blockquote-bar>>;
margin-left: 25px;
padding-left: 10px;
quotes: "\201C""\201D""\2018""\2019";
}
blockquote.tc-big-quote {
font-family: Georgia, serif;
position: relative;
background: <<colour pre-background>>;
border-left: none;
margin-left: 50px;
margin-right: 50px;
padding: 10px;
border-radius: 8px;
}
blockquote.tc-big-quote cite:before {
content: "\2014 \2009";
}
blockquote.tc-big-quote:before {
font-family: Georgia, serif;
color: <<colour blockquote-bar>>;
content: open-quote;
font-size: 8em;
line-height: 0.1em;
margin-right: 0.25em;
vertical-align: -0.4em;
position: absolute;
left: -50px;
top: 42px;
}
blockquote.tc-big-quote:after {
font-family: Georgia, serif;
color: <<colour blockquote-bar>>;
content: close-quote;
font-size: 8em;
line-height: 0.1em;
margin-right: 0.25em;
vertical-align: -0.4em;
position: absolute;
right: -80px;
bottom: -20px;
}
dl dt {
font-weight: bold;
margin-top: 6px;
}
textarea,
input[type=text],
input[type=search],
input[type=""],
input:not([type]) {
color: <<colour foreground>>;
background: <<colour background>>;
}
.tc-muted {
color: <<colour muted-foreground>>;
}
svg.tc-image-button {
padding: 0px 1px 1px 0px;
}
.tc-icon-wrapper > svg {
width: 1em;
height: 1em;
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 0.8em;
line-height: 1.2;
color: <<colour foreground>>;
vertical-align: middle;
background-color: <<colour background>>;
border: solid 1px <<colour muted-foreground>>;
border-bottom-color: <<colour muted-foreground>>;
border-radius: 3px;
box-shadow: inset 0 -1px 0 <<colour muted-foreground>>;
}
/*
Markdown likes putting code elements inside pre elements
*/
pre > code {
padding: 0;
border: none;
background-color: inherit;
color: inherit;
}
table {
border: 1px solid <<colour table-border>>;
width: auto;
max-width: 100%;
caption-side: bottom;
margin-top: 1em;
margin-bottom: 1em;
}
table th, table td {
padding: 0 7px 0 7px;
border-top: 1px solid <<colour table-border>>;
border-left: 1px solid <<colour table-border>>;
}
table thead tr td, table th {
background-color: <<colour table-header-background>>;
font-weight: bold;
}
table tfoot tr td {
background-color: <<colour table-footer-background>>;
}
.tc-csv-table {
white-space: nowrap;
}
.tc-tiddler-frame img,
.tc-tiddler-frame svg,
.tc-tiddler-frame canvas,
.tc-tiddler-frame embed,
.tc-tiddler-frame iframe {
max-width: 100%;
}
.tc-tiddler-body > embed,
.tc-tiddler-body > iframe {
width: 100%;
height: 600px;
}
/*
** Links
*/
button.tc-tiddlylink,
a.tc-tiddlylink {
text-decoration: none;
font-weight: normal;
color: <<colour tiddler-link-foreground>>;
-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */
}
.tc-sidebar-lists a.tc-tiddlylink {
color: <<colour sidebar-tiddler-link-foreground>>;
}
.tc-sidebar-lists a.tc-tiddlylink:hover {
color: <<colour sidebar-tiddler-link-foreground-hover>>;
}
button.tc-tiddlylink:hover,
a.tc-tiddlylink:hover {
text-decoration: underline;
}
a.tc-tiddlylink-resolves {
}
a.tc-tiddlylink-shadow {
font-weight: bold;
}
a.tc-tiddlylink-shadow.tc-tiddlylink-resolves {
font-weight: normal;
}
a.tc-tiddlylink-missing {
font-style: italic;
}
a.tc-tiddlylink-external {
text-decoration: underline;
color: <<colour external-link-foreground>>;
background-color: <<colour external-link-background>>;
}
a.tc-tiddlylink-external:visited {
color: <<colour external-link-foreground-visited>>;
background-color: <<colour external-link-background-visited>>;
}
a.tc-tiddlylink-external:hover {
color: <<colour external-link-foreground-hover>>;
background-color: <<colour external-link-background-hover>>;
}
/*
** Drag and drop styles
*/
.tc-tiddler-dragger {
position: relative;
z-index: -10000;
}
.tc-tiddler-dragger-inner {
position: absolute;
top: -1000px;
left: -1000px;
display: inline-block;
padding: 8px 20px;
font-size: 16.9px;
font-weight: bold;
line-height: 20px;
color: <<colour dragger-foreground>>;
text-shadow: 0 1px 0 rgba(0, 0, 0, 1);
white-space: nowrap;
vertical-align: baseline;
background-color: <<colour dragger-background>>;
border-radius: 20px;
}
.tc-tiddler-dragger-cover {
position: absolute;
background-color: <<colour page-background>>;
}
.tc-dropzone {
position: relative;
}
.tc-dropzone.tc-dragover:before {
z-index: 10000;
display: block;
position: fixed;
top: 0;
left: 0;
right: 0;
background: <<colour dropzone-background>>;
text-align: center;
content: "<<lingo DropMessage>>";
}
.tc-droppable > .tc-droppable-placeholder {
display: none;
}
.tc-droppable.tc-dragover > .tc-droppable-placeholder {
display: block;
border: 2px dashed <<colour dropzone-background>>;
}
.tc-draggable {
cursor: move;
}
/*
** Plugin reload warning
*/
.tc-plugin-reload-warning {
z-index: 1000;
display: block;
position: fixed;
top: 0;
left: 0;
right: 0;
background: <<colour alert-background>>;
text-align: center;
}
/*
** Buttons
*/
button svg, button img, label svg, label img {
vertical-align: middle;
}
.tc-btn-invisible {
padding: 0;
margin: 0;
background: none;
border: none;
cursor: pointer;
}
.tc-btn-boxed {
font-size: 0.6em;
padding: 0.2em;
margin: 1px;
background: none;
border: 1px solid <<colour tiddler-controls-foreground>>;
border-radius: 0.25em;
}
html body.tc-body .tc-btn-boxed svg {
font-size: 1.6666em;
}
.tc-btn-boxed:hover {
background: <<colour muted-foreground>>;
color: <<colour background>>;
}
html body.tc-body .tc-btn-boxed:hover svg {
fill: <<colour background>>;
}
.tc-btn-rounded {
font-size: 0.5em;
line-height: 2;
padding: 0em 0.3em 0.2em 0.4em;
margin: 1px;
border: 1px solid <<colour muted-foreground>>;
background: <<colour muted-foreground>>;
color: <<colour background>>;
border-radius: 2em;
}
html body.tc-body .tc-btn-rounded svg {
font-size: 1.6666em;
fill: <<colour background>>;
}
.tc-btn-rounded:hover {
border: 1px solid <<colour muted-foreground>>;
background: <<colour background>>;
color: <<colour muted-foreground>>;
}
html body.tc-body .tc-btn-rounded:hover svg {
fill: <<colour muted-foreground>>;
}
.tc-btn-icon svg {
height: 1em;
width: 1em;
fill: <<colour muted-foreground>>;
}
.tc-btn-text {
padding: 0;
margin: 0;
}
.tc-btn-big-green {
display: inline-block;
padding: 8px;
margin: 4px 8px 4px 8px;
background: <<colour download-background>>;
color: <<colour download-foreground>>;
fill: <<colour download-foreground>>;
border: none;
font-size: 1.2em;
line-height: 1.4em;
text-decoration: none;
}
.tc-btn-big-green svg,
.tc-btn-big-green img {
height: 2em;
width: 2em;
vertical-align: middle;
fill: <<colour download-foreground>>;
}
.tc-sidebar-lists input {
color: <<colour foreground>>;
}
.tc-sidebar-lists button {
color: <<colour sidebar-button-foreground>>;
fill: <<colour sidebar-button-foreground>>;
}
.tc-sidebar-lists button.tc-btn-mini {
color: <<colour sidebar-muted-foreground>>;
}
.tc-sidebar-lists button.tc-btn-mini:hover {
color: <<colour sidebar-muted-foreground-hover>>;
}
button svg.tc-image-button, button .tc-image-button img {
height: 1em;
width: 1em;
}
.tc-unfold-banner {
position: absolute;
padding: 0;
margin: 0;
background: none;
border: none;
width: 100%;
width: calc(100% + 2px);
margin-left: -43px;
text-align: center;
border-top: 2px solid <<colour tiddler-info-background>>;
margin-top: 4px;
}
.tc-unfold-banner:hover {
background: <<colour tiddler-info-background>>;
border-top: 2px solid <<colour tiddler-info-border>>;
}
.tc-unfold-banner svg, .tc-fold-banner svg {
height: 0.75em;
fill: <<colour tiddler-controls-foreground>>;
}
.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {
fill: <<colour tiddler-controls-foreground-hover>>;
}
.tc-fold-banner {
position: absolute;
padding: 0;
margin: 0;
background: none;
border: none;
width: 23px;
text-align: center;
margin-left: -35px;
top: 6px;
bottom: 6px;
}
.tc-fold-banner:hover {
background: <<colour tiddler-info-background>>;
}
@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-unfold-banner {
position: static;
width: calc(100% + 59px);
}
.tc-fold-banner {
width: 16px;
margin-left: -16px;
font-size: 0.75em;
}
}
/*
** Tags and missing tiddlers
*/
.tc-tag-list-item {
position: relative;
display: inline-block;
margin-right: 7px;
}
.tc-tags-wrapper {
margin: 4px 0 14px 0;
}
.tc-missing-tiddler-label {
font-style: italic;
font-weight: normal;
display: inline-block;
font-size: 11.844px;
line-height: 14px;
white-space: nowrap;
vertical-align: baseline;
}
button.tc-tag-label, span.tc-tag-label {
display: inline-block;
padding: 0.16em 0.7em;
font-size: 0.9em;
font-weight: 400;
line-height: 1.2em;
color: <<colour tag-foreground>>;
white-space: nowrap;
vertical-align: baseline;
background-color: <<colour tag-background>>;
border-radius: 1em;
}
.tc-untagged-separator {
width: 10em;
left: 0;
margin-left: 0;
border: 0;
height: 1px;
background: <<colour tab-divider>>;
}
button.tc-untagged-label {
background-color: <<colour untagged-background>>;
}
.tc-tag-label svg, .tc-tag-label img {
height: 1em;
width: 1em;
fill: <<colour tag-foreground>>;
vertical-align: text-bottom;
}
.tc-tag-manager-table .tc-tag-label {
white-space: normal;
}
.tc-tag-manager-tag {
width: 100%;
}
/*
** Page layout
*/
.tc-topbar {
position: fixed;
z-index: 1200;
}
.tc-topbar-left {
left: 29px;
top: 5px;
}
.tc-topbar-right {
top: 5px;
right: 29px;
}
.tc-topbar button {
padding: 8px;
}
.tc-topbar svg {
fill: <<colour muted-foreground>>;
}
.tc-topbar button:hover svg {
fill: <<colour foreground>>;
}
.tc-sidebar-header {
color: <<colour sidebar-foreground>>;
fill: <<colour sidebar-foreground>>;
}
.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {
font-weight: 300;
}
.tc-sidebar-header .tc-sidebar-lists p {
margin-top: 3px;
margin-bottom: 3px;
}
.tc-sidebar-header .tc-missing-tiddler-label {
color: <<colour sidebar-foreground>>;
}
.tc-advanced-search input {
width: 60%;
}
.tc-search a svg {
width: 1.2em;
height: 1.2em;
vertical-align: middle;
}
.tc-page-controls {
margin-top: 14px;
font-size: 1.5em;
}
.tc-page-controls button {
margin-right: 0.5em;
}
.tc-page-controls a.tc-tiddlylink:hover {
text-decoration: none;
}
.tc-page-controls img {
width: 1em;
}
.tc-page-controls svg {
fill: <<colour sidebar-controls-foreground>>;
}
.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {
fill: <<colour sidebar-controls-foreground-hover>>;
}
.tc-menu-list-item {
white-space: nowrap;
}
.tc-menu-list-count {
font-weight: bold;
}
.tc-menu-list-subitem {
padding-left: 7px;
}
.tc-story-river {
position: relative;
}
@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-sidebar-header {
padding: 14px;
min-height: 32px;
margin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};
}
.tc-story-river {
position: relative;
padding: 0;
}
}
@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-message-box {
margin: 21px -21px 21px -21px;
}
.tc-sidebar-scrollable {
position: fixed;
top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};
left: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};
bottom: 0;
right: 0;
overflow-y: auto;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin: 0 0 0 -42px;
padding: 71px 0 28px 42px;
}
html[dir="rtl"] .tc-sidebar-scrollable {
left: auto;
right: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};
}
.tc-story-river {
position: relative;
left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};
top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};
width: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};
padding: 42px 42px 42px 42px;
}
<<if-no-sidebar "
.tc-story-river {
width: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});
}
">>
}
@media print {
body.tc-body {
background-color: transparent;
}
.tc-sidebar-header, .tc-topbar {
display: none;
}
.tc-story-river {
margin: 0;
padding: 0;
}
.tc-story-river .tc-tiddler-frame {
margin: 0;
border: none;
padding: 0;
}
}
/*
** Tiddler styles
*/
.tc-tiddler-frame {
position: relative;
margin-bottom: 28px;
background-color: <<colour tiddler-background>>;
border: 1px solid <<colour tiddler-border>>;
}
{{$:/themes/tiddlywiki/vanilla/sticky}}
.tc-tiddler-info {
padding: 14px 42px 14px 42px;
background-color: <<colour tiddler-info-background>>;
border-top: 1px solid <<colour tiddler-info-border>>;
border-bottom: 1px solid <<colour tiddler-info-border>>;
}
.tc-tiddler-info p {
margin-top: 3px;
margin-bottom: 3px;
}
.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {
background-color: <<colour tiddler-info-tab-background>>;
border-bottom: 1px solid <<colour tiddler-info-tab-background>>;
}
.tc-view-field-table {
width: 100%;
}
.tc-view-field-name {
width: 1%; /* Makes this column be as narrow as possible */
text-align: right;
font-style: italic;
font-weight: 200;
}
.tc-view-field-value {
}
@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-tiddler-frame {
padding: 14px 14px 14px 14px;
}
.tc-tiddler-info {
margin: 0 -14px 0 -14px;
}
}
@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-tiddler-frame {
padding: 28px 42px 42px 42px;
width: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};
border-radius: 2px;
}
<<if-no-sidebar "
.tc-tiddler-frame {
width: 100%;
}
">>
.tc-tiddler-info {
margin: 0 -42px 0 -42px;
}
}
.tc-site-title,
.tc-titlebar {
font-weight: 300;
font-size: 2.35em;
line-height: 1.2em;
color: <<colour tiddler-title-foreground>>;
margin: 0;
}
.tc-site-title {
color: <<colour site-title-foreground>>;
}
.tc-tiddler-title-icon {
vertical-align: middle;
}
.tc-system-title-prefix {
color: <<colour muted-foreground>>;
}
.tc-titlebar h2 {
font-size: 1em;
display: inline;
}
.tc-titlebar img {
height: 1em;
}
.tc-subtitle {
font-size: 0.9em;
color: <<colour tiddler-subtitle-foreground>>;
font-weight: 300;
}
.tc-tiddler-missing .tc-title {
font-style: italic;
font-weight: normal;
}
.tc-tiddler-frame .tc-tiddler-controls {
float: right;
}
.tc-tiddler-controls .tc-drop-down {
font-size: 0.6em;
}
.tc-tiddler-controls .tc-drop-down .tc-drop-down {
font-size: 1em;
}
.tc-tiddler-controls > span > button {
vertical-align: baseline;
margin-left:5px;
}
.tc-tiddler-controls button svg, .tc-tiddler-controls button img,
.tc-search button svg, .tc-search a svg {
fill: <<colour tiddler-controls-foreground>>;
}
.tc-tiddler-controls button svg, .tc-tiddler-controls button img {
height: 0.75em;
}
.tc-search button svg, .tc-search a svg {
height: 1.2em;
width: 1.2em;
margin: 0 0.25em;
}
.tc-tiddler-controls button.tc-selected svg,
.tc-page-controls button.tc-selected svg {
fill: <<colour tiddler-controls-foreground-selected>>;
}
.tc-tiddler-controls button.tc-btn-invisible:hover svg,
.tc-search button:hover svg, .tc-search a:hover svg {
fill: <<colour tiddler-controls-foreground-hover>>;
}
@media print {
.tc-tiddler-controls {
display: none;
}
}
.tc-tiddler-help { /* Help prompts within tiddler template */
color: <<colour muted-foreground>>;
margin-top: 14px;
}
.tc-tiddler-help a.tc-tiddlylink {
color: <<colour very-muted-foreground>>;
}
.tc-tiddler-frame .tc-edit-texteditor {
width: 100%;
margin: 4px 0 4px 0;
}
.tc-tiddler-frame input.tc-edit-texteditor,
.tc-tiddler-frame textarea.tc-edit-texteditor,
.tc-tiddler-frame iframe.tc-edit-texteditor {
padding: 3px 3px 3px 3px;
border: 1px solid <<colour tiddler-editor-border>>;
background-color: <<colour tiddler-editor-background>>;
line-height: 1.3em;
-webkit-appearance: none;
}
.tc-tiddler-frame .tc-binary-warning {
width: 100%;
height: 5em;
text-align: center;
padding: 3em 3em 6em 3em;
background: <<colour alert-background>>;
border: 1px solid <<colour alert-border>>;
}
canvas.tc-edit-bitmapeditor {
border: 6px solid <<colour tiddler-editor-border-image>>;
cursor: crosshair;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
margin-top: 6px;
margin-bottom: 6px;
}
.tc-edit-bitmapeditor-width {
display: block;
}
.tc-edit-bitmapeditor-height {
display: block;
}
.tc-tiddler-body {
clear: both;
}
.tc-tiddler-frame .tc-tiddler-body {
font-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};
line-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};
}
.tc-titlebar, .tc-tiddler-edit-title {
overflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */
}
html body.tc-body.tc-single-tiddler-window {
margin: 1em;
background: <<colour tiddler-background>>;
}
.tc-single-tiddler-window img,
.tc-single-tiddler-window svg,
.tc-single-tiddler-window canvas,
.tc-single-tiddler-window embed,
.tc-single-tiddler-window iframe {
max-width: 100%;
}
/*
** Editor
*/
.tc-editor-toolbar {
margin-top: 8px;
}
.tc-editor-toolbar button {
vertical-align: middle;
background-color: <<colour tiddler-controls-foreground>>;
fill: <<colour tiddler-controls-foreground-selected>>;
border-radius: 4px;
padding: 3px;
margin: 2px 0 2px 4px;
}
.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {
margin-left: 1px;
width: 1em;
border-radius: 8px;
}
.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {
margin-left: 11px;
}
.tc-editor-toolbar button.tc-selected {
background-color: <<colour primary>>;
}
.tc-editor-toolbar button svg {
width: 1.6em;
height: 1.2em;
}
.tc-editor-toolbar button:hover {
background-color: <<colour tiddler-controls-foreground-selected>>;
fill: <<colour background>>;
}
.tc-editor-toolbar .tc-text-editor-toolbar-more {
white-space: normal;
}
.tc-editor-toolbar .tc-text-editor-toolbar-more button {
display: inline-block;
padding: 3px;
width: auto;
}
.tc-editor-toolbar .tc-search-results {
padding: 0;
}
/*
** Adjustments for fluid-fixed mode
*/
@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
<<if-fluid-fixed text:"""
.tc-story-river {
padding-right: 0;
position: relative;
width: auto;
left: 0;
margin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};
margin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};
}
.tc-tiddler-frame {
width: 100%;
}
.tc-sidebar-scrollable {
left: auto;
bottom: 0;
right: 0;
width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};
}
body.tc-body .tc-storyview-zoomin-tiddler {
width: 100%;
width: calc(100% - 42px);
}
""" hiddenSidebarText:"""
.tc-story-river {
padding-right: 3em;
margin-right: 0;
}
body.tc-body .tc-storyview-zoomin-tiddler {
width: 100%;
width: calc(100% - 84px);
}
""">>
}
/*
** Toolbar buttons
*/
.tc-page-controls svg.tc-image-new-button {
fill: <<colour toolbar-new-button>>;
}
.tc-page-controls svg.tc-image-options-button {
fill: <<colour toolbar-options-button>>;
}
.tc-page-controls svg.tc-image-save-button {
fill: <<colour toolbar-save-button>>;
}
.tc-tiddler-controls button svg.tc-image-info-button {
fill: <<colour toolbar-info-button>>;
}
.tc-tiddler-controls button svg.tc-image-edit-button {
fill: <<colour toolbar-edit-button>>;
}
.tc-tiddler-controls button svg.tc-image-close-button {
fill: <<colour toolbar-close-button>>;
}
.tc-tiddler-controls button svg.tc-image-delete-button {
fill: <<colour toolbar-delete-button>>;
}
.tc-tiddler-controls button svg.tc-image-cancel-button {
fill: <<colour toolbar-cancel-button>>;
}
.tc-tiddler-controls button svg.tc-image-done-button {
fill: <<colour toolbar-done-button>>;
}
/*
** Tiddler edit mode
*/
.tc-tiddler-edit-frame em.tc-edit {
color: <<colour muted-foreground>>;
font-style: normal;
}
.tc-edit-type-dropdown a.tc-tiddlylink-missing {
font-style: normal;
}
.tc-edit-tags {
border: 1px solid <<colour tiddler-editor-border>>;
padding: 4px 8px 4px 8px;
}
.tc-edit-add-tag {
display: inline-block;
}
.tc-edit-add-tag .tc-add-tag-name input {
width: 50%;
}
.tc-edit-add-tag .tc-keyboard {
display:inline;
}
.tc-edit-tags .tc-tag-label {
display: inline-block;
}
.tc-edit-tags-list {
margin: 14px 0 14px 0;
}
.tc-remove-tag-button {
padding-left: 4px;
}
.tc-tiddler-preview {
overflow: auto;
}
.tc-tiddler-preview-preview {
float: right;
width: 49%;
border: 1px solid <<colour tiddler-editor-border>>;
margin: 4px 0 3px 3px;
padding: 3px 3px 3px 3px;
}
<<if-editor-height-fixed then:"""
.tc-tiddler-preview-preview {
overflow-y: scroll;
height: {{$:/config/TextEditor/EditorHeight/Height}};
}
""">>
.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {
width: 49%;
}
.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {
max-width: 49%;
}
.tc-edit-fields {
width: 100%;
}
.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {
border: none;
padding: 4px;
}
.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {
background-color: <<colour tiddler-editor-fields-odd>>;
}
.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {
background-color: <<colour tiddler-editor-fields-even>>;
}
.tc-edit-field-name {
text-align: right;
}
.tc-edit-field-value input {
width: 100%;
}
.tc-edit-field-remove {
}
.tc-edit-field-remove svg {
height: 1em;
width: 1em;
fill: <<colour muted-foreground>>;
vertical-align: middle;
}
.tc-edit-field-add-name {
display: inline-block;
width: 15%;
}
.tc-edit-field-add-value {
display: inline-block;
width: 40%;
}
.tc-edit-field-add-button {
display: inline-block;
width: 10%;
}
/*
** Storyview Classes
*/
.tc-storyview-zoomin-tiddler {
position: absolute;
display: block;
width: 100%;
}
@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-storyview-zoomin-tiddler {
width: calc(100% - 84px);
}
}
/*
** Dropdowns
*/
.tc-btn-dropdown {
text-align: left;
}
.tc-btn-dropdown svg, .tc-btn-dropdown img {
height: 1em;
width: 1em;
fill: <<colour muted-foreground>>;
}
.tc-drop-down-wrapper {
position: relative;
}
.tc-drop-down {
min-width: 380px;
border: 1px solid <<colour dropdown-border>>;
background-color: <<colour dropdown-background>>;
padding: 7px 0 7px 0;
margin: 4px 0 0 0;
white-space: nowrap;
text-shadow: none;
line-height: 1.4;
}
.tc-drop-down .tc-drop-down {
margin-left: 14px;
}
.tc-drop-down button svg, .tc-drop-down a svg {
fill: <<colour foreground>>;
}
.tc-drop-down button.tc-btn-invisible:hover svg {
fill: <<colour foreground>>;
}
.tc-drop-down p {
padding: 0 14px 0 14px;
}
.tc-drop-down svg {
width: 1em;
height: 1em;
}
.tc-drop-down img {
width: 1em;
}
.tc-drop-down-language-chooser img {
width: 2em;
vertical-align: baseline;
}
.tc-drop-down a, .tc-drop-down button {
display: block;
padding: 0 14px 0 14px;
width: 100%;
text-align: left;
color: <<colour foreground>>;
line-height: 1.4;
}
.tc-drop-down .tc-tab-set .tc-tab-buttons button {
display: inline-block;
width: auto;
margin-bottom: 0px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.tc-drop-down .tc-prompt {
padding: 0 14px;
}
.tc-drop-down .tc-chooser {
border: none;
}
.tc-drop-down .tc-chooser .tc-swatches-horiz {
font-size: 0.4em;
padding-left: 1.2em;
}
.tc-drop-down .tc-file-input-wrapper {
width: 100%;
}
.tc-drop-down .tc-file-input-wrapper button {
color: <<colour foreground>>;
}
.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {
color: <<colour tiddler-link-background>>;
background-color: <<colour tiddler-link-foreground>>;
text-decoration: none;
}
.tc-drop-down .tc-tab-buttons button {
background-color: <<colour dropdown-tab-background>>;
}
.tc-drop-down .tc-tab-buttons button.tc-tab-selected {
background-color: <<colour dropdown-tab-background-selected>>;
border-bottom: 1px solid <<colour dropdown-tab-background-selected>>;
}
.tc-drop-down-bullet {
display: inline-block;
width: 0.5em;
}
.tc-drop-down .tc-tab-contents a {
padding: 0 0.5em 0 0.5em;
}
.tc-block-dropdown-wrapper {
position: relative;
}
.tc-block-dropdown {
position: absolute;
min-width: 220px;
border: 1px solid <<colour dropdown-border>>;
background-color: <<colour dropdown-background>>;
padding: 7px 0;
margin: 4px 0 0 0;
white-space: nowrap;
z-index: 1000;
text-shadow: none;
}
.tc-block-dropdown.tc-search-drop-down {
margin-left: -12px;
}
.tc-block-dropdown a {
display: block;
padding: 4px 14px 4px 14px;
}
.tc-block-dropdown.tc-search-drop-down a {
display: block;
padding: 0px 10px 0px 10px;
}
.tc-drop-down .tc-dropdown-item-plain,
.tc-block-dropdown .tc-dropdown-item-plain {
padding: 4px 14px 4px 7px;
}
.tc-drop-down .tc-dropdown-item,
.tc-block-dropdown .tc-dropdown-item {
padding: 4px 14px 4px 7px;
color: <<colour muted-foreground>>;
}
.tc-block-dropdown a:hover {
color: <<colour tiddler-link-background>>;
background-color: <<colour tiddler-link-foreground>>;
text-decoration: none;
}
.tc-search-results {
padding: 0 7px 0 7px;
}
.tc-image-chooser, .tc-colour-chooser {
white-space: normal;
}
.tc-image-chooser a,
.tc-colour-chooser a {
display: inline-block;
vertical-align: top;
text-align: center;
position: relative;
}
.tc-image-chooser a {
border: 1px solid <<colour muted-foreground>>;
padding: 2px;
margin: 2px;
width: 4em;
height: 4em;
}
.tc-colour-chooser a {
padding: 3px;
width: 2em;
height: 2em;
vertical-align: middle;
}
.tc-image-chooser a:hover,
.tc-colour-chooser a:hover {
background: <<colour primary>>;
padding: 0px;
border: 3px solid <<colour primary>>;
}
.tc-image-chooser a svg,
.tc-image-chooser a img {
display: inline-block;
width: auto;
height: auto;
max-width: 3.5em;
max-height: 3.5em;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
/*
** Modals
*/
.tc-modal-wrapper {
position: fixed;
overflow: auto;
overflow-y: scroll;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 900;
}
.tc-modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1000;
background-color: <<colour modal-backdrop>>;
}
.tc-modal {
z-index: 1100;
background-color: <<colour modal-background>>;
border: 1px solid <<colour modal-border>>;
}
@media (max-width: 55em) {
.tc-modal {
position: fixed;
top: 1em;
left: 1em;
right: 1em;
}
.tc-modal-body {
overflow-y: auto;
max-height: 400px;
max-height: 60vh;
}
}
@media (min-width: 55em) {
.tc-modal {
position: fixed;
top: 2em;
left: 25%;
width: 50%;
}
.tc-modal-body {
overflow-y: auto;
max-height: 400px;
max-height: 60vh;
}
}
.tc-modal-header {
padding: 9px 15px;
border-bottom: 1px solid <<colour modal-header-border>>;
}
.tc-modal-header h3 {
margin: 0;
line-height: 30px;
}
.tc-modal-header img, .tc-modal-header svg {
width: 1em;
height: 1em;
}
.tc-modal-body {
padding: 15px;
}
.tc-modal-footer {
padding: 14px 15px 15px;
margin-bottom: 0;
text-align: right;
background-color: <<colour modal-footer-background>>;
border-top: 1px solid <<colour modal-footer-border>>;
}
/*
** Notifications
*/
.tc-notification {
position: fixed;
top: 14px;
right: 42px;
z-index: 1300;
max-width: 280px;
padding: 0 14px 0 14px;
background-color: <<colour notification-background>>;
border: 1px solid <<colour notification-border>>;
}
/*
** Tabs
*/
.tc-tab-set.tc-vertical {
display: -webkit-flex;
display: flex;
}
.tc-tab-buttons {
font-size: 0.85em;
padding-top: 1em;
margin-bottom: -2px;
}
.tc-tab-buttons.tc-vertical {
z-index: 100;
display: block;
padding-top: 14px;
vertical-align: top;
text-align: right;
margin-bottom: inherit;
margin-right: -1px;
max-width: 33%;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
}
.tc-tab-buttons button.tc-tab-selected {
color: <<colour tab-foreground-selected>>;
background-color: <<colour tab-background-selected>>;
border-left: 1px solid <<colour tab-border-selected>>;
border-top: 1px solid <<colour tab-border-selected>>;
border-right: 1px solid <<colour tab-border-selected>>;
}
.tc-tab-buttons button {
color: <<colour tab-foreground>>;
padding: 3px 5px 3px 5px;
margin-right: 0.3em;
font-weight: 300;
border: none;
background: inherit;
background-color: <<colour tab-background>>;
border-left: 1px solid <<colour tab-border>>;
border-top: 1px solid <<colour tab-border>>;
border-right: 1px solid <<colour tab-border>>;
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.tc-tab-buttons.tc-vertical button {
display: block;
width: 100%;
margin-top: 3px;
margin-right: 0;
text-align: right;
background-color: <<colour tab-background>>;
border-left: 1px solid <<colour tab-border>>;
border-bottom: 1px solid <<colour tab-border>>;
border-right: none;
border-top-left-radius: 2px;
border-bottom-left-radius: 2px;
}
.tc-tab-buttons.tc-vertical button.tc-tab-selected {
background-color: <<colour tab-background-selected>>;
border-right: 1px solid <<colour tab-background-selected>>;
}
.tc-tab-divider {
border-top: 1px solid <<colour tab-divider>>;
}
.tc-tab-divider.tc-vertical {
display: none;
}
.tc-tab-content {
margin-top: 14px;
}
.tc-tab-content.tc-vertical {
display: inline-block;
vertical-align: top;
padding-top: 0;
padding-left: 14px;
border-left: 1px solid <<colour tab-border>>;
-webkit-flex: 1 0 70%;
flex: 1 0 70%;
}
.tc-sidebar-lists .tc-tab-buttons {
margin-bottom: -1px;
}
.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {
background-color: <<colour sidebar-tab-background-selected>>;
color: <<colour sidebar-tab-foreground-selected>>;
border-left: 1px solid <<colour sidebar-tab-border-selected>>;
border-top: 1px solid <<colour sidebar-tab-border-selected>>;
border-right: 1px solid <<colour sidebar-tab-border-selected>>;
}
.tc-sidebar-lists .tc-tab-buttons button {
background-color: <<colour sidebar-tab-background>>;
color: <<colour sidebar-tab-foreground>>;
border-left: 1px solid <<colour sidebar-tab-border>>;
border-top: 1px solid <<colour sidebar-tab-border>>;
border-right: 1px solid <<colour sidebar-tab-border>>;
}
.tc-sidebar-lists .tc-tab-divider {
border-top: 1px solid <<colour sidebar-tab-divider>>;
}
.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {
display: block;
width: 100%;
background-color: <<colour sidebar-tab-background>>;
border-top: none;
border-left: none;
border-bottom: none;
border-right: 1px solid #ccc;
margin-bottom: inherit;
}
.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {
background-color: <<colour sidebar-tab-background-selected>>;
border: none;
}
/*
** Manager
*/
.tc-manager-wrapper {
}
.tc-manager-controls {
}
.tc-manager-control {
margin: 0.5em 0;
}
.tc-manager-list {
width: 100%;
border-top: 1px solid <<colour muted-foreground>>;
border-left: 1px solid <<colour muted-foreground>>;
border-right: 1px solid <<colour muted-foreground>>;
}
.tc-manager-list-item {
}
.tc-manager-list-item-heading {
display: block;
width: 100%;
text-align: left;
border-bottom: 1px solid <<colour muted-foreground>>;
padding: 3px;
}
.tc-manager-list-item-heading-selected {
font-weight: bold;
color: <<colour background>>;
fill: <<colour background>>;
background-color: <<colour foreground>>;
}
.tc-manager-list-item-heading:hover {
background: <<colour primary>>;
color: <<colour background>>;
}
.tc-manager-list-item-content {
display: flex;
}
.tc-manager-list-item-content-sidebar {
flex: 1 0;
background: <<colour tiddler-editor-background>>;
border-right: 0.5em solid <<colour muted-foreground>>;
border-bottom: 0.5em solid <<colour muted-foreground>>;
white-space: nowrap;
}
.tc-manager-list-item-content-item-heading {
display: block;
width: 100%;
text-align: left;
background: <<colour muted-foreground>>;
text-transform: uppercase;
font-size: 0.6em;
font-weight: bold;
padding: 0.5em 0 0.5em 0;
}
.tc-manager-list-item-content-item-body {
padding: 0 0.5em 0 0.5em;
}
.tc-manager-list-item-content-item-body > pre {
margin: 0.5em 0 0.5em 0;
border: none;
background: inherit;
}
.tc-manager-list-item-content-tiddler {
flex: 3 1;
border-left: 0.5em solid <<colour muted-foreground>>;
border-right: 0.5em solid <<colour muted-foreground>>;
border-bottom: 0.5em solid <<colour muted-foreground>>;
}
.tc-manager-list-item-content-item-body > table {
border: none;
padding: 0;
margin: 0;
}
.tc-manager-list-item-content-item-body > table td {
border: none;
}
.tc-manager-icon-editor > button {
width: 100%;
}
.tc-manager-icon-editor > button > svg,
.tc-manager-icon-editor > button > button {
width: 100%;
height: auto;
}
/*
** Alerts
*/
.tc-alerts {
position: fixed;
top: 0;
left: 0;
max-width: 500px;
z-index: 20000;
}
.tc-alert {
position: relative;
margin: 28px;
padding: 14px 14px 14px 14px;
border: 2px solid <<colour alert-border>>;
background-color: <<colour alert-background>>;
}
.tc-alert-toolbar {
position: absolute;
top: 14px;
right: 14px;
}
.tc-alert-toolbar svg {
fill: <<colour alert-muted-foreground>>;
}
.tc-alert-subtitle {
color: <<colour alert-muted-foreground>>;
font-weight: bold;
}
.tc-alert-highlight {
color: <<colour alert-highlight>>;
}
@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
.tc-static-alert {
position: relative;
}
.tc-static-alert-inner {
position: absolute;
z-index: 100;
}
}
.tc-static-alert-inner {
padding: 0 2px 2px 42px;
color: <<colour static-alert-foreground>>;
}
/*
** Control panel
*/
.tc-control-panel td {
padding: 4px;
}
.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {
width: 100%;
}
.tc-plugin-info {
display: block;
border: 1px solid <<colour muted-foreground>>;
background-colour: <<colour background>>;
margin: 0.5em 0 0.5em 0;
padding: 4px;
}
.tc-plugin-info-disabled {
background: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);
background: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);
}
.tc-plugin-info-disabled:hover {
background: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);
background: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);
}
a.tc-tiddlylink.tc-plugin-info:hover {
text-decoration: none;
background-color: <<colour primary>>;
color: <<colour background>>;
fill: <<colour foreground>>;
}
a.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {
fill: <<colour foreground>>;
}
.tc-plugin-info-chunk {
display: inline-block;
vertical-align: middle;
}
.tc-plugin-info-chunk h1 {
font-size: 1em;
margin: 2px 0 2px 0;
}
.tc-plugin-info-chunk h2 {
font-size: 0.8em;
margin: 2px 0 2px 0;
}
.tc-plugin-info-chunk div {
font-size: 0.7em;
margin: 2px 0 2px 0;
}
.tc-plugin-info:hover > .tc-plugin-info-chunk > img, .tc-plugin-info:hover > .tc-plugin-info-chunk > svg {
width: 2em;
height: 2em;
fill: <<colour foreground>>;
}
.tc-plugin-info > .tc-plugin-info-chunk > img, .tc-plugin-info > .tc-plugin-info-chunk > svg {
width: 2em;
height: 2em;
fill: <<colour muted-foreground>>;
}
.tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > img, .tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > svg {
width: 1em;
height: 1em;
}
.tc-plugin-info-dropdown {
border: 1px solid <<colour muted-foreground>>;
margin-top: -8px;
}
.tc-plugin-info-dropdown-message {
background: <<colour message-background>>;
padding: 0.5em 1em 0.5em 1em;
font-weight: bold;
font-size: 0.8em;
}
.tc-plugin-info-dropdown-body {
padding: 1em 1em 1em 1em;
}
/*
** Message boxes
*/
.tc-message-box {
border: 1px solid <<colour message-border>>;
background: <<colour message-background>>;
padding: 0px 21px 0px 21px;
font-size: 12px;
line-height: 18px;
color: <<colour message-foreground>>;
}
.tc-message-box svg {
width: 1em;
height: 1em;
vertical-align: text-bottom;
}
/*
** Pictures
*/
.tc-bordered-image {
border: 1px solid <<colour muted-foreground>>;
padding: 5px;
margin: 5px;
}
/*
** Floats
*/
.tc-float-right {
float: right;
}
/*
** Chooser
*/
.tc-chooser {
border: 1px solid <<colour table-border>>;
}
.tc-chooser-item {
border: 8px;
padding: 2px 4px;
}
.tc-chooser-item a.tc-tiddlylink {
display: block;
text-decoration: none;
color: <<colour tiddler-link-foreground>>;
background-color: <<colour tiddler-link-background>>;
}
.tc-chooser-item a.tc-tiddlylink:hover {
text-decoration: none;
color: <<colour tiddler-link-background>>;
background-color: <<colour tiddler-link-foreground>>;
}
/*
** Palette swatches
*/
.tc-swatches-horiz {
}
.tc-swatches-horiz .tc-swatch {
display: inline-block;
}
.tc-swatch {
width: 2em;
height: 2em;
margin: 0.4em;
border: 1px solid #888;
}
/*
** Table of contents
*/
.tc-sidebar-lists .tc-table-of-contents {
white-space: nowrap;
}
.tc-table-of-contents button {
color: <<colour sidebar-foreground>>;
}
.tc-table-of-contents svg {
width: 0.7em;
height: 0.7em;
vertical-align: middle;
fill: <<colour sidebar-foreground>>;
}
.tc-table-of-contents ol {
list-style-type: none;
padding-left: 0;
}
.tc-table-of-contents ol ol {
padding-left: 1em;
}
.tc-table-of-contents li {
font-size: 1.0em;
font-weight: bold;
}
.tc-table-of-contents li a {
font-weight: bold;
}
.tc-table-of-contents li li {
font-size: 0.95em;
font-weight: normal;
line-height: 1.4;
}
.tc-table-of-contents li li a {
font-weight: normal;
}
.tc-table-of-contents li li li {
font-size: 0.95em;
font-weight: 200;
line-height: 1.5;
}
.tc-table-of-contents li li li a {
font-weight: bold;
}
.tc-table-of-contents li li li li {
font-size: 0.95em;
font-weight: 200;
}
.tc-tabbed-table-of-contents {
display: -webkit-flex;
display: flex;
}
.tc-tabbed-table-of-contents .tc-table-of-contents {
z-index: 100;
display: inline-block;
padding-left: 1em;
max-width: 50%;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
background: <<colour tab-background>>;
border-left: 1px solid <<colour tab-border>>;
border-top: 1px solid <<colour tab-border>>;
border-bottom: 1px solid <<colour tab-border>>;
}
.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,
.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {
display: block;
padding: 0.12em 1em 0.12em 0.25em;
}
.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {
border-top: 1px solid <<colour tab-background>>;
border-left: 1px solid <<colour tab-background>>;
border-bottom: 1px solid <<colour tab-background>>;
}
.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {
text-decoration: none;
border-top: 1px solid <<colour tab-border>>;
border-left: 1px solid <<colour tab-border>>;
border-bottom: 1px solid <<colour tab-border>>;
background: <<colour tab-border>>;
}
.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {
border-top: 1px solid <<colour tab-border>>;
border-left: 1px solid <<colour tab-border>>;
border-bottom: 1px solid <<colour tab-border>>;
background: <<colour background>>;
margin-right: -1px;
}
.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {
text-decoration: none;
}
.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {
display: inline-block;
vertical-align: top;
padding-left: 1.5em;
padding-right: 1.5em;
border: 1px solid <<colour tab-border>>;
-webkit-flex: 1 0 50%;
flex: 1 0 50%;
}
/*
** Dirty indicator
*/
body.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {
fill: <<colour dirty-indicator>>;
color: <<colour dirty-indicator>>;
}
/*
** File inputs
*/
.tc-file-input-wrapper {
position: relative;
overflow: hidden;
display: inline-block;
vertical-align: middle;
}
.tc-file-input-wrapper input[type=file] {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
font-size: 999px;
max-width: 100%;
max-height: 100%;
filter: alpha(opacity=0);
opacity: 0;
outline: none;
background: white;
cursor: pointer;
display: inline-block;
}
/*
** Thumbnail macros
*/
.tc-thumbnail-wrapper {
position: relative;
display: inline-block;
margin: 6px;
vertical-align: top;
}
.tc-thumbnail-right-wrapper {
float:right;
margin: 0.5em 0 0.5em 0.5em;
}
.tc-thumbnail-image {
text-align: center;
overflow: hidden;
border-radius: 3px;
}
.tc-thumbnail-image svg,
.tc-thumbnail-image img {
filter: alpha(opacity=1);
opacity: 1;
min-width: 100%;
min-height: 100%;
max-width: 100%;
}
.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,
.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {
filter: alpha(opacity=0.8);
opacity: 0.8;
}
.tc-thumbnail-background {
position: absolute;
border-radius: 3px;
}
.tc-thumbnail-icon svg,
.tc-thumbnail-icon img {
width: 3em;
height: 3em;
<<filter "drop-shadow(2px 2px 4px rgba(0,0,0,0.3))">>
}
.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,
.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {
fill: #fff;
<<filter "drop-shadow(3px 3px 4px rgba(0,0,0,0.6))">>
}
.tc-thumbnail-icon {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: -webkit-flex;
-webkit-align-items: center;
-webkit-justify-content: center;
display: flex;
align-items: center;
justify-content: center;
}
.tc-thumbnail-caption {
position: absolute;
background-color: #777;
color: #fff;
text-align: center;
bottom: 0;
width: 100%;
filter: alpha(opacity=0.9);
opacity: 0.9;
line-height: 1.4;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {
filter: alpha(opacity=1);
opacity: 1;
}
/*
** Errors
*/
.tc-error {
background: #f00;
color: #fff;
}
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Palmöl' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
* [[Handmelt (Handcreme am Stück)]]
* [[Deocreme im Döschen- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]
* [[Deostick]]
* Deoroller
* [[Handwaschbar ('Handseife')]]
* ggf. rückfettenden Handwaschbar
* ggf. Shampoobar
* [[Kalkentferner- ideales Einsteiger-Rezept]]
* [[Lippenpflegestift]], ggf. in Variationen
* [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]
* [[Waschpulver (Buntwaschmittel)]]
* [[Zahnpasta]]
* Zutaten
** ''Lipodermin'' (//ohne// enthaltenes Distelöl!!!): bewirkt ein schnelles Einziehen der Öle und vermindert den sonst obligatorischen Fettglanz, kann auch in wasserfreien Produkten eingesetzt werden
** ''Mangobutter''
** ''SCI''? (reicht der Vorrat??)
* Besondere Zutaten
** evtl. ''Goldglitzer'' zum Pinseln
** ''! Getrocknete Blüten (-knospen)''
** ''! Avery wasserfeste Etiketten in verschiedenen Größen''
** ''!Für Trockenshampoo:''
*** Puderzerstäuber (mit Gold gefüllt), ca. 11€: https://www.kochtail.de/products/3445?variant=42425849290
*** Nackenpinsel mit Puderfach, Ca. 15€: https://www.friseurversand.com/haarbuersten-pinsel/nackenpinsel/1125/nackenpinsel-mit-puderfach-neck-powder-brush (vielleicht auch bei Amazon / Ebay?)
*** Nachfüllbarer Kosmetikpinsel mit Pumpe & einziehbarer Bürste, 24,40€: https://www.parfums-alienor.com/Shop/Brush/SPC/Artikel/befuellbarer-pinsel-mit-pumpe.de.htm
"""<img width=170 src="https://share-your-photo.com/img/f51befe200.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Etwas weißmica in Alkohol auflösen. Das in eine kleine Pumpspray Flasche. Sprühen und trocken lassen. Dann die oberste Schicht mit einem Lappen abreiben und mit goldmica rüberreiben. Ist eigentlich auch sehr einfach.
<img width=150 src="https://share-your-photo.com/img/10359e349d.jpg" style=" float:left;padding: 0 1em 0 0;"/><img width=144 src="https://share-your-photo.com/img/73bdc49ef5.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Die ist ganz einfach. Etwas Goldmica in Alkohol gelöst. Etwas auf einen kleinen Lappen oder Taschentuch und kurz rüberreiben.
Danach die Hände waschen. Das geht sehr schnell. Ein Lappen oder kleinen Schwamm. Etwas Mica in Alkohol lösen und drüberreiben. Das dauert eine Minute. Probiert es aus. Das Herz hat länger gedauert. Da habe ich mit kleinen Pinseln wie die Kinder in der Schule haben gearbeitet. Drei oder vier kleine Becherchen. In jeden etwas Farbe in Alkohol gelöst. Nicht mehr wie drei bis vier Milliliter. Dann den Pinsel leicht eintauchen und die Seife anmalen. Der Alkohol verfliegt sehr schnell und lässt die Farbe besser haften. Sie geht nicht gleich ab wenn man sie in die Hand nimmt. Für das Herz habe ich ca eine halbe Stunde gebraucht. Die meiste Zeit war zu überlegen welche Farben ich wofür verwende. Das trocknet auch sehr schnell und geht nicht so leicht wieder ab.
<img width=180 src="https://share-your-photo.com/img/b2c56fe55a.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Badebomben, pflegender Art. Gefärbt habe ich die Masse nicht, dafür aber Micas aufgestäubt und eingerieben. Sie glitzern in echt viel mehr, als ich auf den Fotos einfangen konnte.
<img width=250 src="https://share-your-photo.com/img/55e4499815.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Ich hatte letztens ja mal die Lebensmittelfarben metallic vom Pativersand an meinen Badebomben getestet.
Das schönste Ergebnis erzielte ich mit dem Goldglitter, was einfach nur aufgepinselt wird und sieht bisher am schönsten auf meinen pflegenden Badepralinen aus.
<img width=250 src="https://share-your-photo.com/img/8b139e35ad.jpg" style=" float:left;padding: 0 1em 0 0;"/>
''Auch toll:''
''Bei Nuss-Bars eine Nuss, bei Kaffeebars eine Kaffeebohne, bei Zimtbars eine Zimtstange, bei Rosmarinbars einen Rosmarinstengel, bei Lavendelbars einen Lavendelstengel, usw. draufkleben.''
''Weitere Verzierungsmöglichkeiten:''
''Glitter, Badekonfetti, eingefärbtes Badesalz (einfach eine kleine Menge Totes-Meer-Salz mit einem Tropfen Lebensmittelfarbe verrühren). Auch Zuckerdekor-Figuren wie Rosen, Herzen, Zuckerperlen etc.''
<img width=250 src="https://share-your-photo.com/img/3ca169b534.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Glitzerherzen / -sternchen oder Straßsteinchen, Mini-Edelsteine, o.ä. in die Form einfügen. In kleine Vertiefungen kann man auch Minimini-Perlen eindrücken.
<img width=80 src="https://share-your-photo.com/img/197de36ee2.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Gefäß einfach mit einem / mehreren Aufklebern (Stern, Herz, etc.) bekleben.
<img width=120 src="https://share-your-photo.com/img/03e94e758d.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Kette ums Gefäß binden.
<div style="clear:both;line-height:0px;"></div>
<$reveal type="nomatch" state="$:/state/SampleRevealRührT" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealRührT" setTo="show">Vorbereitung zeigen</$button>
</$reveal>@@
<$reveal type="match" state="$:/state/SampleRevealRührT" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealRührT" setTo="hide">@@color:red;Vorbereitung verbergen@@</$button>
''Mögliche weitere Räume zum Mieten:''
* @@font-size:0.8em;__Praxis für Sprach- & Lerntherapie__ "sage & schreibe"<br/>Ulrike Schampera<br/>Deisterstraße 40 · 30449 Hannover<br/>Tel.: 0511/44986799<br/>E-Mail: info@legasthenie-hannover.de<br/>http://www.legasthenie-hannover.de<br/>(Ulrike ist auch bei nebenan.de & hat auch Interesse am Rührtreffen, genauso ihre Freundin!)@@<br/><br/>
* @@font-size:0.8em;__Kultur des Wandels__<br/>Ansprechpartnerin: Cora Gutzeit<br/>cora@kulturdeswandels.de<br/>im NachbarschaftsLabor, Ihmepassage 4<br/>https://kulturdeswandels.de<br/>(Cora hat auch Interesse am Rührtreffen!)@@
<br/>
<h3>''Finanzen''</h3>
"""''August 19:''
9 von 9 gekommen, 6€ Beitrag -1,03€ Unkosten
+54,00€ (6€ x 9 Leute) Beitrag
-09,27€ (1,03€ x 9 Leute) Unkosten
-08,95€ (20% von 54€-9,27€) PW-Miete
------------------------------------------------
= +35,78€
-05,65€ (Marmeladenschälchen)
-06,60€ (Trinkbecher)
-04,99€ (Teelöffel), -8,99€ (lange Löffel)
-14,99€ (Kochplatte)
------------------------------------------------
''= +03,55€''
''September 19:''
7 von 7 gekommen, 6€ Beitrag -0,95€ Unkosten
+42,00€ (6€ x 7 Leute) Beitrag
-06,65€ (0,95€ x 7 Leute) Unkosten
-07,07€ (20% von 42€-6,65€) PW-Miete
------------------------------------------------
= +28,28€
+03,55€ (Übertrag August)
-05,61€ (Korkuntersetzer)
------------------------------------------------
''= +26,22€''
''November 19:''
3 von 4 gekommen, 6€ Beitrag -0,65€ Unkosten = 5,35€ x 3= 16,05€
+18,00€ (6€ x 3 Leute) Beitrag
+04,95€ Spenden
-01,95€ (0,65€ x 3 Leute) Unkosten
-03,21€ (20% von 18€-1,95€) PW-Miete
------------------------------------------------
= +17,79€
+26,22€ (Übertrag September)
-5,00€ (PW-Strom)
------------------------------------------------
''= +39,01€'' (19,03€ Miete f. Aug-Nov '19 & 5€ Strom an PW am 29.11.19 gezahlt)
''Dezember 19:''
11 von 11 gekommen, 6€ Beitrag -1€ Unkosten = 5€ x 11= 55€.
+66€ (6€ x 11 Leute) Beitrag
+08,20€ Spenden
-11€ (1€ x 11 Leute) Unkosten
-12,64€ (20% von 66€+8,20€ Spenden -11€ =63,20€) PW-Miete
------------------------------------------------
= +50,56€
+39,01€ (Übertrag November)
-64,99€ (Kühli)
------------------------------------------------
= +24,58€
-22,12€ (90% von 24,58€) >>''PW bekommt also 12,64€ + 22,12€ = 34,76€''
------------------------------------------------
''= +2,46€''
''März 20:''
4 von 11 gekommen (3 nicht abgesagt!), 5,50€ Beitrag -0,70€ Unkosten = 4,80€ x 4= 19,20€ + 1€ Spende = 20,20€.
+22€ (5,50€ x 4 Leute) Beitrag
+01€ Spenden
- 02,80€ (0,70€ x 4 Leute) Unkosten
-''18,18€'' (90% von 22€+1€ Spenden -2,80€ =20,20€) ''PW-Miete''
------------------------------------------------
''= +2,02€
+2,46€ (Übertrag Dezember) = 4,48€''
"""
<h3>''Generell''</h3>
@@background-color:orange;''Kosten:''@@<br/>
* Pro Person 5Ct für Isopropanol (günstiger machen, wenn Rührtreffen regelmäßig stattfindet & mehr als 4 teilnehmen!)<br/>
* Pro Tropfen ätherisches Öl 3Ct
* ~~Pro Person 30Ct für Infozettel (bei 3 Blättern)~~ >>zukünftig als Datei verschcken!
''Rührtreffen''
* Pro Treffen immer nur ''2'' Rezepte! 3 Rezepte erschlagen & ich komm mitm Rühren nicht hinterher!
* Die Teilnehmer sollen die Zutaten selbst abwiegen (Mitmachcharakter!)
* ''Beim Testen unbedingt dabei sein!!!''
* Nicht zuviele Hintergrundinfos >das erschlägt die Teilnehmer nur!
* ''In nächste Werbung reinschreiben: "Warm anziehen!!".''
* ''Und unter "Mitbringen" darauf hinweisen: Behältnis mit großer Öffnung! & Gefäß darf nicht mehr als xxg wiegen (198g - Mindestmenge)!!''
* ''Auch minimale Teilnehmerzahl reinschreiben (3)!''
* ''Zukünftig um 30 Min. verlängern nach hinten, also 17:30-20h!''
* ''Einführungszettel zukünftig als Datei per Mail statt Zettel!''<br/><br/><br/>
''Vorbereiten:''
PH-Wert unter den Achseln messen: Morgens – mit Wasser abduschen (ohne Seife, Duschgel, oä.!) und dann 20 Minuten etwas Schweißtreibendes tun … Gymnastik oder dergleichen. Danach sollten die Achseln feucht genug sein, um einen Teststreifen zu benetzen. Sinnvoll wäre es, diese Messungen an mehreren Tagen zu wiederholen- so bekommt man eher einen guten Mittelwert und keine – vielleicht durch andere Faktoren beeinflusste – Messungsspitze.<br/>
PH-Wert unter den Achseln neutralisieren: Gezielte pH-Wert-Pufferung: Wenn der pH-Wert unter den Achseln zu hoch geworden ist, und dann dort andere Mikroben leben, die das herrlich finden. Und zwar so: Wasser/Hydrolat + 2% Natriumlaktat + 0,5% Milchsäure. An drei Tagen hintereinander morgens und abends die Achselhöhlen damit einreiben. PH-Wert-Pufferung im Kühlschrank lagern & auch nur wenige Tage (da völlig unkonserviert).<br/><br/><br/>
"""
<h2>''März:''</h2>
Handmelt
(Unkosten / Person: 5Ct (Isoprop) + 12Ct (ÄÖ) + 53Ct (Handmelt) = ~70Ct) = Beitrag 5,50€ (inkl. x€ Raummiete)
''Welche Zutaten brauche ich''
__Handmelt__ (= xCt)
0,72g Bienenwachs (xCt) x 11 Leute = 15g
5,03g Olivenöl (xCt) x 11 Leute = 65g
6,69g Mangobutter (xCt) x 11 Leute = 85g
5,03g Kakaobutter (xCt) x 11 Leute = 65g
0,54g Urea (xCt) x 11 Leute = 10g
3-4 Tropfen Parfümöle (12Ct) x 11 Leute = g
~~verschiedene Parfümöle~~
''Kaufen:''
"""
</$reveal>
''Statistik:''
* __August 19:__ 9 von 9 gekommen (Antje Grobe, Corina Mattner + Rüdiger, Susanne Susen Meyer, Anna George + Laura, Verena Senß, Claudia Hagedorn, Camilla Ackermann)
* __September 19:__ 7 von 7 gekommen (Camilla A., Anna, Claudia Hagedorn, Caro, Nicole M., Wiebke Lange, Ulrike Tscharntke)
* __November 19:__ 3 von 4 gekommen (Tanja, Manuel, Marie-Elisabeth, ~~Nils, nils.brandhorst@dreigang.com~~)
* __Dezember 19:__ 11 von 11 gekommen (Hermine Coenders, Christina Frank, Femke, Anna George, Laura Jürgens, Jessica, Renate v. Jessica, Astrid Krause, Lena Wohlert, Nicole Voltmer, Camilla)
* __März 19:__ 4 von 11 gekommen, davon 3 nicht abgesagt! (Ingrid Hentschel, Charlene Morice, Maren.Goe, Daniela Lange-Grönwoldt)
""" ''März 20:''
x von x gekommen, x€ Beitrag -x€ Unkosten = x€
+x€ (x€ x x Leute) Beitrag
+x€ Spenden
-x€ (0,70€ x x Leute) Unkosten
-x€ (90% von x€-x€) PW-Miete
------------------------------------------------
= +x€
+2,46€ (Übertrag Dezember)
------------------------------------------------
''= +-x€''"""
"""''Werbungs-Statistik:''
PLATZprojekt Webseite: 4
platzprojekt facebook 1
platzWERK Facebook: 7
Nebenan.de: 6
Loseladen: 1
BioLogisch:
Humus:
Lindenblüte:
"""
------------------------------------------------------------------------
''Anwesend:'' x von x:
<br/><br/>
''Überflüssiges:'' Kreuzkümmel-Öl: 7€, Appetitanregend, Verdauungsfördernd, Entkrampfend, Magenstärkend, Koliken, Menobeschwerden
''Ablauf:''
# ''Die großen Becher & die extra Löffel abwaschen???!!!''
# ''Kühlschrank an!!''
# ''Schüssel mit Wasser hinstellen''
# ''Vorstellungsrunde'': Wer bin ich, welche Beweggründe fürs Selberrühren & Vor-Erfahrungen (inkl. ggf. Gründe fürs Wieder-Aufhören) + durch welche Werbung seit Ihr gekommen?
# Daniela Lange-Grönwoldt: Deine Mailadresse evtl. falsch?? Meine Infodatei-Mail konnte nicht zugestellt werden...
# ''Jobs verteilen'':
## ''Rechner:'' Einer stellt sich bitte hinter mich & passt auf meine Rechenkünste auf! (beim __Zutaten-Ausrechnen:__ Mindestmenge x Teilnehmerzahl //+ ½ Teilnehmer// ''&'' beim __Geld einsammeln__)
# ''Desinfektion''
# ''Zubehör vorstellen''
# ''Handmelt'' vorstellen:
##__Ihr dürft ihn gerne testen!__
## Zutaten vorstellen
## @@color:red;Rezept für 11,5 Teilnehmer berechnen!!@@
## Teilnehmer Zutaten einzeln abwiegen lassen, in richtiger Reihenfolge Schälchen hinstellen
## Zusammenrühren, im Silikon in den Kühli stellen
# ''Vorstellung Teamup'' (Benachrichtigung Vor- & Nachteile oder einfach öfter mal reinschauen)
# Will jemand ''meine überflüssigen Zutaten''?
# ''Besprechen'':
## ''Infodatei'' >Fragen dazu?
## ''Wie immer: Lob / Kritik?''
## ''Regelmäßiges Rührtreffen'', __gerne auch mit Euren Rezepten!!! ''Letztlich wird es ohne nicht ewig weiter gehen!''__, Sammelbestellungen (''>>die nächste in den kommenden Tagen!''), langfristig Rührcommunity
# Handmelts verteilen
* https://einfachmaleinfach.de/
* https://schwatzkatz.com/
* https://mrs-rosemary.de/
* https://www.kosmetikmacherei.at/
* https://naturseife-und-kosmetik.de/ : Hier gibts Rezepte nach Einsatzgebiet (z.B. trockene Haut, usw.), aber nicht automatisch palmölfrei
* [[Lippenpflegestift]] in Variationen & Lipgloss, ggf. mit Pigmenten
* [[Body Melt / Lotion Bar / Feste Körperbutter / Massage Bar]]
* [[Handwaschbar ('Handseife')]] & ggf. die rückfettende Version
* Badebomben, blubbernd
* Badepralinen, pflegend (z.B. [[Badepralinen, pflegende, im Goldglanz]] für tollen Goldglanz!
* [[Bio Melkfett / BioVaseline]]
* [[Kinder-Winterschutzbalsam]]
* [[Majoranbutter spezial bei leichten Erkältungen, auch für Kinder]]
* [[Nasenöl für Schnupfnasen]]
* ''Seitenleiste''
** Der lilafarbene Bereich rechts (auf mobilen Geräten häufig oben, funktioniert dort aber nicht so toll) ist die Seitenleiste. Über die Seitenleiste kannst Du im gesamten Wiki navigieren.<br/><br/>
* ''Aufklappfunktion in der Seitenleiste''
** Die {{$:/core/images/right-arrow}} Pfeile links neben einem Link in der Seitenleiste bedeuten, dass sich unter diesem Link weitere Links / Unterkategorien befinden. Klickst Du knapp links neben den Pfeil, werden diese weiteren Links / Unterkategorien sichtbar. Klickst Du erneut auf den entsprechenden Pfeil (nun nach unten zeigend), klappen sie wieder zu. Diese Aufklappfunktion ist auch in manchen Tiddlern enthalten.<br/><br/>
* ''Preview-Funktion''
** Bei allen internen Links innerhalb von Tiddlern (jedoch nicht bei mobilen Geräten): Wenn Du 1-2 Sekunden auf einen internen Link mit der Maus zeigst, wird der Inhalt des Links angezeigt ("Hover over -Preview"). __Klickst Du dann irgendwo anders hin, wird der Link-Inhalt wieder verborgen.__ Du kannst innerhalb einer solchen Preview machen, was Du in dem eigentlich Tiddler auch machen könntest: Links anklicken (oder nur mit der Maus drüberfahren für eine weitere Preview), Rezepte skalieren, Inhaltsverzeichnisse auf- & zuklappen, usw. Wenn Du willst, kannst Du also die gesamte Webseite innerhalb dieses "Herzlich willkommen"-Tiddlers lesen & komplett nutzen.<br/>Mit dieser Checkbox kannst Du diese Preview ein- & ausschalten: {{Preview Tiddler-Links aktivieren/deaktivieren}}, denn manchmal nervt es auch ;-). Diese Checkbox ist oben rechts in der Seitenleiste. Häkchen gesetzt=Preview deaktiviert, kein Häkchen= Preview aktiviert.<br/>Die Preview-Funktion ist aber sehr praktisch, wenn Du nur mal schnell wissen willst, was in einem (internen) Link steht (z.B.: In einem Rezept ist eine Zutat aufgeführt, die Du nicht kennst. Durch die Preview kannst Du schnell mal gucken, "was das denn ist"- ohne den Link aufrufen & das Rezept verlassen und danach den Link wieder schließen zu müssen.<br/><br/>
* ''KEINE "Zurück"-Funktion / KEIN "zurück"-Button!''
** Die Navigation in diesem Wiki funktioniert __NICHT__ über "zurück", wie auf anderen Webseiten!! Sondern: Wenn Du mit dem Lesen eines Tiddlers fertig bist, kannst Du ihn mit dem {{$:/core/ui/Buttons/close}} -Button schließen, musst Du aber nicht (Du solltest nur nicht zuuu viele Tiddler offen haben). Vorteil: Du kannst mehrere Tiddler gleichzeitig lesen / vergleichen und musst nicht dauernd vor & zurück klicken wie bei anderen Webseiten.<br/><br/>
* ''Was sind denn bitte Tiddler??''
** "Herzlich willkommen :-)" ist z.B. ein Tiddler (englisch für Knirps). Das, was auf anderen Webseiten die "Unterseiten" / internen Links sind, sind hier Tiddler. Sie heißen anders, da sie viel mehr sind & können. Außerdem kann man viele Tiddler gleichzeitig offen haben, muss sie aber auch einzeln schließen (Kreuz {{$:/core/ui/Buttons/close}} rechts in Tiddlertitelleiste).<br/>Für diejenigen, die sich dieses Wiki herunterladen möchten: Tiddler sind wie gesagt, wesentlich mehr, als nur sowas wie "Unterseiten". Das gesamte Wiki besteht nur aus Tiddlern- die gesamte Programmierung, die gesamte Optik, das gesamte "Verhalten" basiert nur auf Tiddlern (momentan sind insgesamt <$count filter="[all[tiddlers]]" /> Tiddler in diesem Wiki).<br/><br/>
* <div class="tooltip">Tooltips
<span class="tooltiptext">Dies ist ein Tooltip</span>
</div> ''Dies ist ein Tooltip''
** Wenn ein Text so unterstrichelt ist, verbirgt sich dahinter ein Tooltip (also eine Erklärung zu dem Unterstrichenem). Fahre mit der Maus drüber, dann siehst Du die Erklärung.<br/>
!!''Die Buttons in der Seitenleiste & in der Tiddler-Titelleiste''
@@font-size:0.9em;>>Einfach anklicken :-). Alle Buttons haben aber auch Tooltips, die angezeigt werden, wenn Du mit der Maus drüberfährst@@
!!!__Obere Reihe in der Seitenleiste von links nach rechts:__
* {{$:/core/ui/Buttons/save-wiki}} : ''Herunterladen / Speichern des Wikis''
** Du kannst dieses Wiki zu Deinem eigenen Wiki (gespeichert auf Deinem Computer) machen! Klicke dazu hier oder in der rechten Seitenleiste auf {{$:/core/ui/Buttons/save-wiki}} - es wird dann automatisch heruntergeladen (es ist nur 1 html-Datei mit ca. 4MB).<br/>Vorteile für Dich:<br/>Du kannst es in jedem Browser aufrufen- egal welches Betriebssystem, egal welcher Browser. Also auch mobil nutzbar. Und wenn Du die App AndTidWiki runterlädst, kannst Du es auch ''offline auf Android'' benutzen. (Es gibt auch für andere mobile Betriebssysteme Apps dafür) >frag Google...<br/>Du kannst es komplett individualisieren: Tiddler löschen, Tiddler erstellen, Tiddler importieren, Plugins importieren, das Design ändern, usw. Es ist dann schließlich Deine eigene Datei!<br/>Du solltest dann den Tiddler [[Button für Show/Hide Interna]] öffnen und die entsprechenden Checkboxen anklicken- dann siehst Du die entsprechenden Buttons zum Bearbeiten & alle Interna dieses Wikis.<br/>"Technische" Hilfe findest Du in der [[Tiddlywiki-Anleitung]], insbesondere in der [[Tiddlywiki Hilfe]]<br/><br/>
* {{$:/core/ui/TopBar/menu}} : ''Ausblenden der Seitenleiste''
** Klickst Du diesen Doppelpfeil an, so wird die Seitenleiste ausgeblendet und die Tiddler sind in voller Breite sichtbar >bessere Monitor-Ausnutzung. Wieder Einblenden kannst Du die Seitenleiste, in dem Du wieder auf den Doppelpfeil (der nun nach links zeigt) klickst. Allerdings ist er dann etwas schlecht zu erkennen, da diese obere Button-Reihe dann innerhalb der Tiddler liegt. Am besten erkennst Du diese obere Button-Reihe, wenn Du ein wenig hoch- & runter scrollst und Deinen Blick nach oben rechts wendest.<br/><br/>
* {{'Offen' Menu}} : ''Alle offenen Tiddler''
** Beim Drüberfahren mit der Maus werden alle offenen Tiddler als Links aufgelistet. Klickst Du einen davon an, scrollt die Seite automatisch zu diesem Tiddler. Klickst Du das kleine Kreuz links dadrüber an, wird der entsprechende Tiddler geschlossen. Hältst Du einen Tiddlerlink angeklickt, kannst Du ihn innerhalb der "Offene Tiddler - Liste" neu anordnen (drag & drop). Es erscheint dann erst ein grüner Kreis mit weißem + und dann ein grün-gestrichelt umrandetes Kästchen (je nachdem wohin Du den Tiddler in der Liste schiebst). In dieses grün-gestrichelt umrandete Kästchen lässt Du den Tiddler fallen. Nun ist die Reihenfolge der Tiddler entsprechend geändert.<br/><br/>
* {{Mehrfach-Aktionen Menu für die Sidebar}} : ''Mehrfach-Aktionen Menu'', darin enthalten:<br/><br/>
** {{$:/core/ui/Buttons/home}} : ''Home''.<br/>Mit diesem Button schließt Du alle momentan offenen Tiddler und öffnest die Tiddler, die sich bei jedem neuen Aufrufen der Seite öffnen- "Herzlich willkommen :-)" & "Neuigkeiten" ''+'' Deine angepinnten Tiddler (Tiddler anpinnen erkläre ich weiter unten unter "In der Titelleiste der Tiddler").<br/><br/>
** {{$:/core/ui/Buttons/close-all}} : ''Alle Tiddler schließen''.<br/>Hiermit schließt Du alle momentan offenen Tiddler mit einem Klick<br/><br/>
** {{$:/core/ui/Buttons/fold-all}} : ''Ausblenden der Textbereiche aller Tiddler''.<br/>Durch Klicken dieses Buttons reduzierst Du alle offenen Tiddler auf ihre Titelleiste.<br/><br/>
** {{$:/core/ui/Buttons/unfold-all}} : ''Einblenden der Textbereiche aller Tiddler''.<br/>Das Gegenteil des vorherigen Button, es werden also die Textbereiche aller offenen Tiddler wieder eingeblendet.<br/><br/>
** {{$:/core/ui/Buttons/full-screen}} : ''Aktivieren oder Deaktivieren des Vollbild-Modus''.<br/>Die Browser-Navigation (Browser-Menüs, Browser-Symbole, Tabs, Adresszeile, etc.) wird ausgeblendet.<br/><br/>
** {{Button für 'Tagge alle Tiddler im StoryRiver mit ♥'}} : ''Button für "Tagge alle offenen Tiddler mit ♥"''.<br/>Wenn Du z.B. ein paar Lieblingszutaten geöffnet hast, diese aber schließen möchtest (um nicht zu viele Tiddler geöffnet zu haben) und andere Dinge erkunden möchtest: Dann kannst Du mit diesem Button alle diese geöffneten Tiddler (in diesem Fall Deine Lieblingszutaten) mit dem Herz taggen, um sie danach schnell wieder zu finden- sie befinden sich dann in dem Reiter "♥" in der unteren Reihe.<br/><br/>
* {{Button für meine erweiterte Suche per multipler Tags}} : ''Erweiterte Suche per multipler Tags''<br/><br/>
** Tags sind Schlagwörter / Stichwörter, mit deren Hilfe Du -auch in kombinierter Form- suchen kannst. Z.B.: "Finde alle Rezepte zur Haarpflege, aber nur für feine Haare und nur getestete Rezepte". Außerdem kannst Du dort auch nach Zutaten suchen, die bestimmte / mehrere Kriterien erfüllen. Z.B., um ein Rezept zu kreieren oder eine Zutat aus einem Rezept auszuwechseln.<br/><br/>
* {{Preview Tiddler-Links aktivieren/deaktivieren}} : ''Preview von Tiddler-Links aktivieren/deaktivieren''
** Siehe Erklärung oben<br/><br/><br/>
* {{Tiddler Fußzeilen anzeigen / verbergen}} : ''Tiddler Fußzeilen anzeigen / verbergen''
** Du kannst die Fußzeilen ausblenden- sinnig, wenn Du die Textbereiche von Tiddlern ausblenden willst, um übersichtlich nur noch die Titelleiste der offenen Tiddler zu sehen<br/><br/><br/>
!!!__Die Reihe darunter in der Seitenleiste von links nach rechts:__
* ''Tiddlywiki-Anleitung''
** Technische Hilfen für die Bearbeitung / Entwicklung dieses Wikis bzw. Tiddlywiki an sich.<br/><br/>
* ''Körperpflege/Reinigung-DIY''
** Der Bereich für die Selbstrührerei<br/><br/>
* {{$:/core/images/format-find}} : ''Suche''. Der Such-Reiter beinhaltet diverse Such-Möglichkeiten:
** {{$:/core/images/format-find}} : ''Suche'' (allgemeine Suche wie Du sie auch von Google kennst)
** ♥: ''Zeige alle Tiddler, die mit "♥" getaggt sind''. Siehe Erklärung bei diesem Button {{Button für 'Tagge alle Tiddler im StoryRiver mit ♥'}}.
** ''Erweiterte Suche per Multipler Tags'': Siehe Erklärung bei diesem Button {{Button für meine erweiterte Suche per multipler Tags}}<br/><br/>
** ''Tiddler vergleichen'': Dort kannst Du bis zu 20 Tiddler (z.B. Zutaten, aber auch Rezepte) direkt miteinander vergleichen, anhand ihrer Tags. Also z.B. kannst Du damit verschiedene Öle anhand ihrer Tags miteinander vergleichen.<br/><br/><br/>
!!__''In der Titelleiste der Tiddler:''__
* [img width=32 height=17 [http://up.picr.de/31991981wc.png]] ''Kommentarfunktion''
** Über einen Kommentar, wie Du hierher gefunden hast, würde ich mich sehr freuen! Klicke dazu in der Titelleiste der Tiddler auf diese pinke Sprechblase, die sich in in allen Tiddler-Titeleisten befindet. Du kannst mir in jedem Tiddler Fragen / Kommentare senden. Du brauchst dabei nicht den Tiddlertitel (z.B. Rezeptnamen) zu schreiben- das wird mir automatisch übermittelt. Ist Dein Kommentar länger als ca. 1450 Zeichen, verschwindet der "Submit"-Button-> schreibe mir einfach einen weiteren Kommentar. Ich beantworte alle Kommentare im jeweiligen Tiddler. Im Übrigen freue ich mich auch über Deine Rezepte!!- Ich veröffentliche sie gerne hier; auf Wunsch auch mit Deinem Namen/Webseite/o.ä. Und: Ich freue mich auch sehr darüber, wenn Du diese Webseite in Deinen sozialen Netzwerken verbreitest :-)<br/><br/>
* {{$:/plugins/welford/twpin/images/unpinned}} ''Tiddler anpinnen''
** Wenn Du einen Tiddler anpinnst, wird er für die "Home"-Seite gespeichert. Wenn Du dann auf den "Home"-Button klickst, schließt Du alle momentan offenen Tiddler und öffnest die Tiddler, die sich bei jedem neuen Aufrufen der Seite öffnen- "Herzlich willkommen :-)" & "Neuigkeiten" ''+'' Deine angepinnten Tiddler. Das ist also eine ähnliche Funktion wie der Button für "Tagge alle offenen Tiddler mit ♥". Somit hast Du 2 voneinander unabhängige Merk-Funktionen.<br/>"Abpinnen kannst Du einen angepinnten Tiddler mit dem gleichen Symbol, welches dann aber so aussieht: {{$:/plugins/welford/twpin/images/pinned}}<br/><br/>
* {{$:/core/images/fold-others-button}} ''Die Textbereiche aller anderen Tiddler werden ausgeblendet''
** Nur der Textbereich des momentanen Tiddlers bleibt sichtbar. Von allen anderen Tiddlern siehst Du nur die Titelleiste.<br/><br/>
* {{$:/core/images/fold-button}}''Der Textbereich des momentanen Tiddlers wird ausgeblendet''
** Nur der Textbereich des momentanen Tiddlers wird ausgeblendet. Bei allen anderen Tiddlern bleibt der Textbereich sichtbar. Wieder einblenden kannst Du den Textbereich mit dem gleichen Button, der dann aber so aussieht: {{$:/core/images/unfold-button}}<br/><br/>
* {{$:/core/images/close-others-button}} ''Alle anderen Tiddler schließen''
** Mit diesem Button schließt Du alle Tiddler außer dem aktuellen.<br/><br/>
* {{$:/core/images/close-button}} ''Schließe diesen Tiddler''
** Hiermit schließt Du den aktuellen Tiddler- alle anderen bleiben geöffnet und rutschen nach oben.
"""@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@
Legende zur Konservierungsleistung: ++ ausgeprägt | + gut | o moderat
Beachte unbedingt die Hinweise zum empfohlenen pH-Wert, da das jeweilige Produkt nur im angegebenen Rahmen zuverlässig konserviert. Grundsätzlich gilt, dass mit sinkendem (saureren) pH-Wert die Konservierungsleistung steigt."""
|!Name|!INCI|!pH|!Dosierung|!Bak-terien|!He-fen|!Schim-mel|!Wasser-löslich-keit|!Geruch|!Hinweise|
|[[Alkohol|Alkohol, hochprozentig]]<br/>(hochprozentiger),<br/>z.B. @@font-size:0.897em;Weingeist 96%,<br/>Melissengeist@@|Ethanol|/|Emulsionen: 12–15% der Wasserphase, Gesichts-wasser: 15–18%|B:<br/>++|H:<br/>+|S:<br/>+|sehr gut|Dezent|Gilt laut Kosmetikverordnung nicht als Konservierungsmittel. Alleine einsetzen oder in Kombination mit anderen Produkten verarbeiten. Optimal während des Abkühlungsprozesses in das Endprodukt einarbeiten. Höhere Anteile an Alkohol können Emulsionen destabilisieren. Empfohlen wird, bei der Konservierung von Emulsionen __reinen__ (keinen verdünnten) Ethanol einzusetzen, um die Menge an kalter Flüssigkeit, die eingearbeitet werden muss, so gering wie möglich zu halten.<br/><br/>|
|[[Biogard]] / Cosgard / Geogard|Dehydroacetic acid, Benzyl alcohol|2,0<br/>–<br/>6,5|Laut Anbieter: 0,5–1,0%.<br/>1 Tr. auf 10g Endprodukt = 6 Monate haltbar,<br/>2 Tr. auf 10g Endprodukt = 12 Monate haltbar.<br/>Laut Olionatura: Cremes: 1,15% (oder 0,5% + 0,2% Kaliumsorbat (Granulat)); Shampoo, Duschgel: 0,8–1%|B:<br/>++|H:<br/>+|S:<br/>+|gering|Intensiv|Breitbandkonservierungsmittel. Es kann als einziges Konservierungsmittel eingesetzt werden. Optimal während der Abkühlungsphase unter Rühren hinzufügen. Aufgrund der geringen Wasserlöslichkeit empfiehlt es sich, dieses Produkt bevorzugt in Emulsionen und nicht in rein wässrigen Kosmetikprodukten einzuplanen. Alternativ ist der Einsatz eines Lösungsvermittlers notwendig.<br/><br/>|
|Cosphaderm® Magnolia Extract 98|Magnolia Officinalis<br/>Bark Extract|/|0,08–0,2%, solo 0,2%|B:<br/>++|H:<br/>++|S:<br/>++|unlöslich|Dezent|Multifunktionelles Additiv. Gilt laut Kosmetikverordnung nicht als Konservierungsmittel, hat jedoch u.a. ausgeprägte konservierende Eigenschaften. Für zuverlässige Breitbandwirkung: Kombinieren mit anderen ko-konservierenden Produkten. Sehr gut eignet sich dazu Pentylenglycol. Der pulvrige Magnoliaextrakt ist in Fetten oder Diolen (Pentylenglycol, Ethanol, Glycerin) löslich. Er kann kalt oder heiß verarbeitet werden. Neben seiner konservierenden Wirkung hat es antioxidative Eigenschaften, stabilisiert fettbasierte Produkte, wirkt gegen akneauslösende Keime und schützt Hautfette vor UV-Licht.<br/><br/>|
|Cosphaderm® Pentiol natural<br/><br/>Die pflanzliche Variante ist palmölfrei. Als »Pentylenglycol, pflanzlich« oder »Pentylenglycol green« im Handel.|Pentylene Glycol|/|5–7%|B:<br/>++|H:<br/>o|S:<br/>o|sehr gut|Dezent|Multifunktionelles Additiv. Gilt laut Kosmetikverordnung nicht als Konservierungsmittel, hat jedoch u.a. ausgeprägte konservierende Eigenschaften. Für zuverlässige Breitbandwirkung: Kombinieren mit anderen ko-konservierenden Produkten. Pentylenglycol kann auch solo eingesetzt werden. Es hat neben seiner konservierenden Wirkung auch feuchtigkeitsbindende, lösungsvermittelnde & penetrationsfördernde Eigenschaften. Optimal während des Abkühlungsprozesses in das Endprodukt einarbeiten.<br/><br/>|
|Euxyl® K903|Benzyl Alcohol, Benzoic Acid, Dehydroacetic Acid, Tocopherol|5,0<br/>–<br/>5,5|0,4–1,2%|B:<br/>++|H:<br/>++|S:<br/>++|gering|Schwach, mandel-artig|Breitbandkonservierungsmittel. Es kann als einziges Konservierungsmittel eingesetzt werden. Unter 80°C während der Abkühlungsphase (optimal unterhalb 40°C) unter Rühren hinzufügen. Aufgrund der geringen Wasserlöslichkeit empfiehlt es sich, dieses Produkt bevorzugt in Emulsionen und nicht in rein wässrigen Kosmetikprodukten einzuplanen. Alternativ ist der Einsatz eines Lösungsvermittlers notwendig.<br/><br/>|
|Kaliumsorbat<br/><br/>Als Granulat oder als Lösung im Handel.|Potassium Sorbate|4,0<br/>–<br/>5,4|als Lösung 1:5: 1%,<br/>als Granulat: 0,2%|B:<br/>o|H:<br/>++|S:<br/>++|sehr gut|Dezent, neutral|Konservierungsmittel. Es wird alleine oder in Kombination mit anderen Produkten verarbeitet. Häufig ist eine Kombination mit Ethanol, um einen Breitbandschutz zu erzielen.<br/><br/>|
|Leucidal® Liquid SF|Lactobacillus<br/>Ferment|3,0<br/>–<br/>8,0|2–4% (bewährt haben sich 3,5% in Kombination mit 0,5% Kaliumsorbat-Lösung 1:5)|B:<br/>++|H:<br/>+|S:<br/>o|sehr gut|Dezent, neutral|Multifunktionelles Additiv. Gilt laut Kosmetikverordnung nicht als Konservierungsmittel, hat jedoch u.a. ausgeprägte konservierende Eigenschaften. Für zuverlässige Breitbandwirkung: Kombinieren mit anderen ko-konservierenden Produkten. Leucidal™ Liquid SF kann jedoch auch solo eingesetzt werden. Zuverlässiger wirkt es in Kombination mit 0,5% Kaliumsorbat-Lösung. Wichtig ist, es vor (!) Hinzufügen des Gelbildners bei unter 70°C in die Wasserphase einzuarbeiten.<br/><br/>|
|Naticide®|Parfum|4,0<br/>–<br/>9,0|0,3– 1%|B:<br/>+|H:<br/>+|S:<br/>+|bis 0,6%|Schwach, mandel-artig|Breitbandkonservierungsmittel. Es kann als einziges Konservierungsmittel eingesetzt werden. Unter 80°C unter kräftigem Rühren optimal je zur Hälfte in der Wasser- und der Fettphase verarbeiten.<br/><br/>|
|Sensiva® PA 30<br/><br/>Wird Endverbauchern u.a. als »Biokons PA 30« oder »Biokons Neo« angeboten.|Propanediol, Phenethyl Alcohol, Undecyl Alcohol, Tocopherol|3,0<br/>–<br/>10,0|1–2% (Empfehlung: 1,5–2%)|B:<br/>+|H:<br/>+|S:<br/>+|< 0,1%|Rosen-artig oder Intensiv|Breitbandkonservierungsmittel. Es kann als einziges Konservierungsmittel eingesetzt werden. Unter 80°C in der Wasserphase verarbeiten oder nach dem Kaltrühren ins fertige Produkt einrühren.<br/><br/>|
|Verstatil® BL<br/>(Teilweise als "AquaKons" im Handel)|Aqua, Sodium Levulinate, Sodium Benzoate|4,5<br/>–<br/>5,5|1,5–2,5%|B:<br/>++|H:<br/>+|S:<br/>o|sehr gut|Schwach, mandel-artig|Konservierungsmittel. Es wird alleine oder in Kombination mit anderen Produkten verarbeitet. Kann in jeder Verarbeitungsphase eingearbeitet werden. Verstatil® BL eignet sich insbesondere für Rinse-Off-Produkte, Gesichtswasser & Feuchttücher. In Emulsionen empfiehlt sich eine Kombination.|
''Tenside & ihre WAS:''<br/>
(Ich habe auch die Tenside, die //evtl.// Palmöl / dessen Derivate enthalten als nicht palmölfrei gekennzeichnet, da die Produzenten in der Regel die billige Variante (=Palmöl) bevorzugen.)
|!<div class="tooltip">''Nichtionische'' Tenside <span class="tooltiptext">(Keine Ladung)<br/>Kaum reizend. Besitzen eine fettlösende Wirkung, Verwendung z.B. in Sanitäreiniger, Fettlöser.<br/>Noniontenside (auch Niotenside genannt) tragen keine Ladung. Sie gelten als die hautverträglichsten und mildesten Tenside auf dem Markt. Viele neutrale Tenside schäumen kaum, Ausnahmen sind die modernen und hochpreisigen Alkylpolyglucoside. Analog zu amphoteren Tensiden mildern sie das irritative Potential von Tensidmischungen mit anionischen Tensiden und lassen die Hautbarriere weitgehend intakt. In Haarpflegeprodukten optimieren Sie die Verträglichkeit und den Glanz des Haares. Während sie in industriellen Produkten aufgrund der hohen Produktionskosten primär als Ko-Tensid eingesetzt werden, fungieren sie in naturkosmetischen Rezepturen als Basistenside. Weitere Vorteile sind ihre Verträglichkeit mit anderen Tensiden (sie lassen sich mit allen Typen kombinieren) und ihre Unabhängigkeit von der Wasserhärte: Sie reinigen auch bei hartem Wasser ausgezeichnet. Was man wissen sollte: Hinsichtlich der Nasskämmbarkeit »schwächeln« APGs; viele Anwenderinnen machen die Erfahrung, dass sich ihre Haare nach dem Waschen nicht so gut durchkämmen lassen. Bei der Planung eines Shampoos sollten daher konditionierende Substanzen eingeplant werden, die diese Eigenschaft ausgleichen. Ihre ausgeprägte Hautverträglichkeit macht den Nachteil wieder wett.</span></div>|<|<|<|<|<|
|''Tensid''|''INCI''|''Konsistenz''|''WAS''|''palmölfrei?''|
|Coco Glucosid / Kokosglucosid / Plantacare® 818 UP|Coco Glucoside|flüssig|50-53%|@@color:green;ja@@|
|Lamepon / Lamepon S / Collagentensid / Kollagentensid HT|Potassium Cocoyl, hydrolyzed collagen|flüssig|30%|@@color:red;?@@|
|Lamesoft® PO 65|Aqua, Coco Glucosid, Glyceryl Oleate, Citric Acid|flüssig|32-35%|@@color:red;nein@@|
|Lauryl Glucosid|Lauryl Glucosid, Aqua|flüssig|51-55%|@@color:red;nein@@|
|Plantaren / Plantacare / Decyl-Glucosid / Collagentensid|Decyl Glucoside|flüssig|51%|@@color:green;ja@@|
|Sanfttensid HT / Sanfteen<br/>@@color:red;(Eigentlich kein Tensid, sondern ein rückfettendes Emollient)@@|Sucrose Cocoate|flüssig|65%|@@color:green;ja@@|
|Softfeel G 10 LW MB / Dermofeel® G 10 LW<br/>@@color:red;(Eigentlich kein Tensid, sondern ein Lösungsvermittler)@@|Polyglyceryl-10 Laurate, Aqua|flüssig|''__???__''|@@color:red;nein@@|
|Tensoderm Li S 80 / Rewoderm|PEG-200 Hydrogenated Glyceryl Palmate, PEG -7 Glyceryl Cocoate|flüssig|70%|@@color:red;nein & PEG-haltig!@@|
|!<div class="tooltip">''Amphotere'' Tenside <span class="tooltiptext">( + & - )<br/>Etwas reizend. Verwendung z.B. in Desinfektionsmittel oder auch als Geschirrspülmittel.<br/>Amphotertenside tragen eine negative und positive Ladung in ihrem hydrophilen Teil. Ihre Ladung ist vom pH-Wert der Lösung abhängig: Bei einem pH-Wert < 5 sind sie positiv geladen (kationisch). Die größte Gruppe der amphoteren Tenside gehört zur Stoffgruppe der Betaine. Sie gelten als haut- und schleimhautverträglich, biologisch gut abbaubar und besitzen neben einer guten Reinigungs-Wirkung leicht viskositätserhöhende und schaumfördernde Eigenschaften. Primär wird ihre Fähigkeit geschätzt, hautirritative Wirkungen anionischer Tenside zu mildern, den Verlust deren Reinigungskraft bei hartem Wasser auszugleichen und den Schaum zu stabilisieren. In der Produktion sind sie, da ihre chemische Struktur sehr komplex ist, deutlich teurer als Fettalkoholsulfate (Natriumlaurylsulfat / SLS und Natriumlaurylethylsulfat / SLES). Daher kombiniert man sie hier in geringer Menge, um das Irritationspotential der Tensidmischung zu senken und gleichzeitig die Kosten niedrig zu halten. Solo eingesetzt sind beide Produkte für Shampooformulierungen nicht geeignet, da sie auf das Haarkeratin aufziehen und beschwerend wirken. Ihre kosmetischen Vorteile entwickeln sie in Mischungen.</span></div>|<|<|<|<|
|''Tensid''|''INCI''|''Konsistenz''|''WAS''|''palmölfrei?''|
|Cocamidopropyl Betain PLUS /<br/>Kokosbetain / Betain / Betain HT|Cocamidopropyl Betain, (Aqua)|flüssig|30-40%|@@color:green;ja@@|
|Glycintensid AM 2 / Rewoteric|Disodium Cocoamphodiacetate|flüssig|39%|@@color:green;ja@@|
|Natural Betaine / Tego® Natural Betaine / Glycinbetain / Trimethylglycin|Betaine|Pulver / Nadeln|__''???''__|@@color:green;ja@@|
|!<div class="tooltip">''Anionische'' Tenside<span class="tooltiptext">( - )<br/>Reizend. Verwendung z.B. in Seifenreiniger. Ausnahmen: Langkettige Tenside (z.B. SCI) gelten als mild und feuchtigkeitsspendend.<br/>Aniontenside tragen eine negative Ladung in ihrem hydrophilen Teil. In der konventionellen Kosmetikindustrie nehmen Fettalkoholsulfate wie die als hautreizend bekannten Tenside Natriumlaurylsulfat (Sodium Lauryl Sulfate, kurz SLS) oder Natriumlaurylethylsulfat (Sodium Laureth Sulfat, kurz SLES) den größten Teil an einer Tensidmischung ein, weil sie sehr preiswert in der Herstellung sind. Aniontenside haben eine sehr gute Reinigungswirkung; viele bilden einen ausgeprägten Schaum. Allerdings reagieren sie in der Regel sensibel auf zunehmende Wasserhärte und verlieren dann ihre Reinigungskraft. Mittlerweile haben wir naturkosmetisch empfehlenswerte, im Hinblick auf ihre Hautverträglichkeit ausgesprochen gut bewertete Aniontenside verfügbar:<br/>Perlastan® SC 25 NKPF (Disodium/Sodium Cocoyl Glutamate) & Sodium Cocoyl Isethionate (SCI)</span></div>|<|<|<|<|<|
|''Tensid''|''INCI''|''Konsistenz''|''WAS''|''palmölfrei?''|
|Facetensid|Disodium Laurethsulfosuccinate|flüssig|40%|@@color:red;nein@@|
|Perlastan SC / Perlastan SC 25 NKPF|Disodium / Sodium Cocoyl Glutamate|flüssig|24-26%|@@color:green;ja@@|
|Plantapon LGC Sorb|Sodium lauryl glucose carboxylate (and) Lauryl glucoside|flüssig|???|@@color:red;nein@@|
|SCI|Sodium Cocoyl Isethionate|Pulver / Nadeln|80%|@@color:red;nein@@|
|SCS|Sodium Coco Sulfate|Pulver / Nadeln|90%|@@color:red;nein@@ @@font-size: 0.8em;(Zumindest in einem Shop (Alexmo) steht "...aus Kokosfett & Palmkernöl hergestellt...", die anderen schreiben nur Kokosfett. Für mich Grund genug, misstrauisch zu sein... Ausserdem soll es nicht so mild sein.)@@|
|SLES|Sodium Laureth Sulfat|???|???|@@color:red;nein, aggressiv & sulfathaltig!@@|
|SLS|Sodium Lauryl Sulfate|Körnchen|28-32%|@@color:red;nein & sulfathaltig@@|
|SLMI / SurfaLux palmölfrei|Sodium Lauroyl Methyl Isethionate|Plättchen|80-85|@@color:green;ja@@|
|SLSA / Lathanol|Sodium Lauryl Sulfoacetate|Pulver / Nadeln|65%|@@color:red;nein@@|
|Zetesol|Mipa-Laureth Sulfate, Cocoamidoprophyl Betaine|flüssig|56%|@@color:red;nein, recht aggressiv & sulfathaltig!@@|
|!<div class="tooltip">''Kationische'' Tenside<span class="tooltiptext">( + )<br/>Sehr reizend. Verwendung z.B. in Weichspüler oder als Desinfektionsmittel, Haarspülungen & -kuren, selten in Shampoos.<br/>Kationtenside tragen eine positive Ladung in ihrem hydrophilen Teil. Diese positive Ladung bewirkt, dass sich die Tensid-Moleküle an der negativ geladenen Haut-, Haar- & Textiloberfläche anlagern. Dadurch spülen sie die Textilwäsche weich, verhindern in der Haarpflege das Fliegen der Haare, wirken glättend, erhöhen den Haarglanz und verbessern die Nasskämmbarkeit- bis zur nächsten Haarwäsche, denn dieser Effekt ist nur von kurzer Dauer. Einen echten Pflegeeffekt im Sinne einer Restrukturierung beschädigter Haarpartien weisen sie nicht auf. Daneben weisen sie aufgrund ihrer bakteriziden (bakterientötenden) Wirkung in kosmetischen Produkten eine ko-konservierende Wirkung auf. Kationische Tenside gelten als hautreizend und sind im Hinblick auf ihre biologische Abbaubarkeit kritisch zu sehen. Auch das in Selbstrührer-Kreisen bekannte Kurquat / Incroquat / Incroquat Behenyl gehört zu dieser Tensid-Gruppe.</span></div>|<|<|<|<|
|''Tensid''|''INCI''|''Konsistenz''|''WAS''|''palmölfrei?''|
|Emul Amid S18<br/>@@color:red;(Eigentlich kein Tensid, sondern ein Emulgator & Haar-Konditionierer)@@|Stearamidopropyl dimethylamine|Pulver / Nadeln|__''???''__|@@color:red;nein, ausserdem mit Gesundheits- & Umwelt-Warnhinweisen versehen! @@|
|Kurquat (Incroquat)<br/>@@color:red;(Eigentlich kein Tensid, sondern ein Haar-Konditionierer)@@|Behentriumonium Chloride|Pulver / Nadeln|__''???''__|@@color:green;ja@@ @@color:red;, jedoch umwelt- & gesundheitsschädlich@@|
|!<div class="tooltip">''Misch''-Tenside<span class="tooltiptext">Tensidgemisch aus mehreren Tensidklassen</span></div>|<|<|<|<|
|''Tensid''|''INCI''|''Konsistenz''|''WAS''|''palmölfrei?''|
|Plantapon® SF (anionisch / nichtionisch / amphoter)|Sodium Cocoamphoacetate (and) Glycerin (and) Lauryl Glucosid (and) Sodium Cocoyl Glutamate (and) Sodium Lauryl Glucose Carboxylat|flüssig|30%|@@color:red;nein@@|
<div style="background:#DBFAFA;">
!!<div style="text-align: center"> Kurzinfo </div>
Hier nur __sehr__ kurz zusammengefasst, detailliertere Infos: http://www.regenwald.org oder einfach "Palmöl Kritik" oder ähnliches googeln.
* Es werden Unmengen Regenwald abgeholzt, da diese Palmenart sehr ähnliche Ansprüche wie Regenwald hat. Bis jetzt gibt es weltweit 27 Millionen Hektar Palmöl-Plantagen. Dabei wird es nicht bleiben...<br/>Gibt es keinen Regenwald mehr- oder nur noch minimal, wird es uns Menschen auch nicht mehr geben.<br/><br/>
* Über 20% der weltweiten CO²-Emissionen sind auf die Vernichtung der Tropenwälder durch die Regenwald-Brandrodung & Torfwälder-Trockenlegung zurück zu führen. Die Folge der CO²-Emissionen kennen wir: Klimawandel.<br/><br/>
* Es beschert Großkonzernen riesige Gewinne und raubt Kleinbauern Land & Lebensgrundlagen. Kleinbauern & Ureinwohner werden __enteignet, vertrieben, gefoltert, ermordet__.<br/>Artensterben ist eine weitere Folge.<br/><br/>
* Der Anbau laugt die Böden aus, ist sehr wasserintensiv und benötigt große Mengen an chemischen Düngern & Pestiziden.<br/>Ebenso verhindert er kleinbäuerliche Subsistenzlandschaft (riesige Monokulturen), ist bekannt für die miserablen Arbeitsbedingungen und Bezahlung der Palmölarbeiter und trägt somit zu vermehrten Landkonflikten, Verarmung und Hunger bei.<br/><br/>
* Palmölplantagen sind riesige Monokulturen- da lebt und wächst ansonsten kaum noch was- im krassen Gegensatz zu Regenwäldern.<br/><br/>
* Laut http://Regenwald.org und diverser anderer Umweltschutz- und Menschenrechtsorganisationen ist auch Bio-Palmöl (z.B. RSPO-zertifiziertes) keine Alternative, da die genannten Problematiken nur minimal weniger sind.<br/><br/>
* Palmöl kann krank machen- Stichworte Cholesterinwerte, Herzkrankheiten, Dickmacher, krebserregend.<br/><br/>
!!Kannst Du mit diesem Wissen so weiter leben wie bisher?? Ich nicht!!...
<br/><br/>
''Weitere Infos zu Palmöl:''
* Es ist in jedem 2. Supermarktprodukt enthalten (Lebensmittel, Kosmetik, Reinigungsmittel, Kerzen, Farben, Lacken), aber auch im sogenannten "Bio"-Sprit- dieser verursacht sogar knapp die Hälfte der Palmölimporte!.<br/><br/>
* Es ist nicht so einfach herauszufinden, ob in einem Produkt Palmöl oder dessen <div class="tooltip">Derivate
<span class="tooltiptext">Stoffe, die auf Basis des Ursprungsstoffs- hier also Palmöl / Palmkernöl- hergestellt werden</span></div> enthalten sind, da die Firmen dieses sehr häufig verschleiern durch die chemischen Namen. Aber auch "Pflanzliche Öle" kann Palmöl sein (und ist es auch meistens, da sehr günstiger Weltmarktpreis). Momentan sind es 141 Deklarationen- siehe [[Palmöl in den Zutatenlisten erkennen (Deklarationen)|4. Palmöl in den Zutatenlisten erkennen (Deklarationen)]]- es werden aber immer mehr, da durch die Veresterung von Palmöl immer wieder Inhaltsstoffe mit neuen Namen entstehen. Die Firmen sind sehr erfinderisch...<br/><br/>
* Am meisten Palmöl wird von Indien (21% der Weltproduktion), der EU (14%) und China (12%) verbraucht.<br/><br/>
|!Alte Bezeichnung|! Neue Bezeichnung |
| Dermofeel G 10 LW | Lösungsvermittler G 10 LW |
| Dermofeel GSC palm oil free | Emulgator GSC palmoil free |
| Dermofeel PP | Softfeel PP |
| Glycerinstearat SE | Glycerylstearate SE |
|Tegomuls| Food Muls |
|Tego Amid S 18| Amid S 18 |
| Tego Care CG 90 | Derma Care CG 90 |
!!Getestete Rezepte
<$list filter="[tag[1RezeptGetestet]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
!!Noch nicht getestete Rezepte
<$list filter="[tag[1RezeptNICHTgetestet]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#DBFAFA;">
"""
Als ich auf das Palmöl-Problem aufmerksam wurde, war ich erstmal entsetzt- harmlos ausgedrückt.
Mir wurde schnell klar, mit diesen Infos kann ich nicht weiter machen "wie bisher". Aber ich musste diese ganzen Grausamkeiten, die nur aufgrund unserer Konsumansprüche passieren, erstmal verdauen.
Dann fing ich an, mich mit der Palmölvermeidung zu beschäftigen und war bald an dem Punkt "man hat je eh keine Chance, es zu vermeiden".
Inzwischen vermeide ich es doch relativ weitgehend (ohne sonderlich großen Aufwand!), vollständig schaff ich es aber wohl auch nicht.
''Klar ist aber: Die Nachfrage bestimmt das Angebot!''
Auch wenn ich nur ein winziges Lichtlein auf dieser Erde bin (und allein nicht sonderlich viel bewirken kann), so gibt es doch Milliarden winziger Lichtlein- und die können fast alles bewirken!
Ich stelle meine Körperpflege und meine Reinigungsmittel begeistert fast komplett selbst her- und möchte deshalb meine Erfahrungen damit hier teilen.
Gekommen bin ich darauf, weil ich konventionelles Palmöl so weit als möglich vermeiden möchte. Es ist so ziemlich das schlimmste, was es gegen die Umwelt, gegen die Menschen und die Menschheit an sich gibt. Viele ausführliche Infos und Aktionsmöglichkeiten gibt es dazu z.B. auf http://www.regenwald.org. Oder einfach "Palmöl Kritik" googeln.
Sogar in sehr vielen Bio-Produkten ist Palmöl enthalten- das RSPO-zertifizierte Bio-Palmöl ist in seinen Auswirkungen aber auch nicht viel besser als das konventionelle. Allerdings gibt es doch ein paar (wenige) gute Alternativen: Siehe [[Ziel: Statt Vermeidung- Faires Bio-Palmöl!|4. Ziel: Statt Vermeidung- Faires Bio-Palmöl!]]
Die Selbstrührerei ist ein schönes Hobby und noch dazu sind die selbst hergestellten Produkte billiger, müllreduzierend, individueller, gesünder, umweltverträglicher,.... als die konventionellen, ja sogar als die aus dem Biomarkt!
''Und: Sie sind einfach & schnell herzustellen- und es macht noch dazu Spaß :-)''
Ich fand es zum Teil enorm schwierig, palmölfreie Rezepte zu entwickeln /Palmölfreien Rohstoffersatz zu finden. Die Herstellung selbst ist jedoch einfach & sehr schnell.
Ich bin kein "meine Wäsche wasch ich mit gesammelten Kastanien oder Efeublättern"-Typ. Sondern mir ist wichtig, dass 1. die Herstellung relativ zügig geht, die Rohstoffe ganzjährig erhältlich sind, das ganze einigermaßen haltbar ist und 2. die Ergebnisse den käuflichen Produkten so gut wie ebenbürtig sind.
Und: Tatsächlich ist das, was ich bisher hergestellt habe, zu 95% mit den käuflichen Produkten vergleichbar :-)
Einziger Kontrapunkt bei meinen Produkten: Ich würde sie nicht ins (warme) Ausland mitnehmen, da ich sie nicht konserviere. In unseren Breiten sind sie aber absolut haltbar- warum, erkläre ich in den Rezepten.
Meine Erfahrungen bisher: Geliger Kalkentferner, geliger WC-Reiniger, Scheuermilch, Vollwaschmittel (Pulver), Fensterreiniger, Deocreme, Deostick, Anti-Herpes, Lotionbar (feste Körpercreme, auch zum Massieren prima), Lippenpflegestift, Haarspülung, Repair f. Haarspitzen, Mundspülung, Zahnpasta.
Ich würde mich sehr freuen, wenn ich auch andere hier davon begeistern kann :-) Es ist mir ein großes Anliegen.
Ohne Regenwälder sind unser aller Tage gezählt. Dagegen sind verschmutzte Flüsse echt pillepalle....
Und ich kann auch nicht damit leben, dass für unser Luxusbedürfnis bzw. auch nur unser "normales" Leben anderswo Menschen inhaftiert, gefoltert und ermordet werden. Das sind die "traurigen" Fakten bzgl. konventionellem Palmöl, welches fast überall drin ist. Aber es gibt (durchaus praktikable!) Wege, es zu meiden- also tun wirs!
Fröhliche Grüße,
Surya
<div style="background:#DBFAFA;">
!!!''Die Nachfrage bestimmt das Angebot!''
"""
Z.B. wenn keiner mehr Biosprit tanken würde, würde es recht bald auch keinen mehr geben- ein paar Palmölplantagen ständen damit schonmal vor dem Aus. Klar, ist ne recht plumpe Rechnung- letztlich ists doch etwas komplizierter. Aber das Grundprinzip ist absolut so. ''Wir Verbraucher haben die Macht- mehr Macht, als wir oft empfinden!!''
Es sind durchaus schon positive Entwicklungen durch das Anti-Palmöl-Engagement sichtbar: Es gibt z.B. erste Waschmittel, die als Palmöl-frei gekennzeichnet sind :-)<br/>"""
!!!__Weitere Möglichkeiten, Palmöl zu vermeiden:__<br/><br/>
* __''Auto: Keinen Bio-Sprit tanken!!''__ 41% der Palmölimporte landen im sogenannten Biodiesel (Stand Februar 2018 für Deutschland).<br/>
**Noch besser: Auto mit alternativem Antrieb
***Erdgas (CNG): Absolut praktikabel, habe selbst eines und nur gute Erfahrungen damit!! Anschaffung ist gar nicht so viel teurer- es amortisiert sich sowieso (außerdem: Sind wir nicht auch bereit, für Bio-Lebensmittel mehr auszugeben?!? Dann können wir das schließlich auch beim Auto-Antrieb tun, oder?).<br/>Viele CNG-Tanken bieten auch Bio-Erdgas, teils in Beimischungen, teils aber auch zu 100%- so wie bei __allen__ CNG-Tanken in Hannover. Außerdem kann Erdgas inzwischen auch aus Abfall hergestellt werden- in Hannover z.B. aus Stroh. Also keine TankOderTeller-Problematik & auch keine Fracking-Gefahr.
***Autogas (LPG): Noch praktikabler als Erdgas, weniger umweltschädlich als Benzin/Diesel, aber viel umweltschädlicher als Erdgas!
***Elektroauto: Naja, ich finde, das ist nicht wirklich praktikabel, insbesondere wenn man keinen eigenen Parkplatz mit Ladesäule hat. Außerdem: Solange es noch Atomstrom gibt, ist das m.M. keine Alternative
***Brennstoffzellenauto: Entwicklung noch nicht weit genug vorangeschritten...
**Noch besser: Car-Sharing
** Natürlich am allerbesten...: Zu Fuß gehen, mit dem Fahrrad fahren oder Bus/Bahn/Zug nutzen. Statt Auto.<br/><br/>
* Palmöl-vermeidend einkaufen / Zutatenlisten lesen: [[Palmöl in den Zutatenlisten erkennen (Deklarationen)|4. Palmöl in den Zutatenlisten erkennen (Deklarationen)]] Mit etwas Übung hat man das aber doch recht schnell raus. Sobald "Pflanzliche Öle" o.ä. drinsteht, kann man von Palmöl ausgehen!<br/>33% der Palmölimporte landen in Nahrungsmitteln, 17% in Pharmazie-, Kosmetik- & Reinigungsprodukten, 8% in Futtermitteln (Stand Februar 2018 für Deutschland).
** Vor allem in verarbeiteten Lebensmitteln ist Palmöl enthalten- also weniger Fertiggerichte & Co kaufen.<br/><br/>
* Möglichst wenig Fleisch essen, denn Soja (80% davon landen im Futtermehl für die industrielle Fleischproduktion) verbraucht 4,5x mal soviel Regenwaldfläche wie Palmöl!<br/><br/>
* Selbst kochen: So können wir selbst über die Zutaten entscheiden.<br/><br/><br/>
!!!__Noch mehr Möglichkeiten gegen den Palmöl-Irrsinn anzugehen:__<br/><br/>
* Geschäfte / Hersteller: In Geschäften nach palmölfreien Produkten fragen & Briefe an die Produkthersteller schreiben.<br/><br/>
* Petitionen und Politikerbefragungen: Online-Protestaktionen üben Druck auf die Politiker aus, die für Biosprit und Palmölimporte verantwortlich sind. Auf https://www.regenwald.org/ können wir viele Petitionen unterschreiben. Nicht wenige davon haben zu einem Erfolg geführt :-) Auf https://www.abgeordnetenwatch.de/ kann jeder die Bundestagsabgeordneten mit den Folgen der Biospritpolitik konfrontieren.<br/><br/>
* Laut werden: Demonstrationen und kreative Straßenaktionen machen den Protest für Menschen und Medien sichtbar. Dadurch wird der Druck auf die politischen Entscheidungsträger noch größer.<br/><br/>
* Wissen weitergeben: Der kostenlose Regenwald Report von https://www.regenwald.org/ kann an Freunde weitergegeben oder in Schulen, Arztpraxen und Bioläden ausgelegt werden.<br/><br/>
<div style="background:#DBFAFA;">
Herauszufinden, ob Produkte Palmöl enthalten ist nicht einfach, denn sehr viele Hersteller nutzen in ihren Produktinformationen nicht das Wort „Palmöl", sondern Bezeichnungen wie z.B. „Sodium Lauryl Sulfoacetate", „Cetyl Palmitate" oder einfach nur „Pflanzenöl" oder „pflanzliches Öl“.
Unter „palmölhaltigen Inhaltsstoffen“ sind alle Inhaltsstoffe zu verstehen, die direkt oder indirekt aus Palmöl hergestellt werden können.
__Diese Liste ist nicht vollständig__, da durch die Veresterung von Palmöl immer wieder Inhaltsstoffe mit neuen Namen entstehen.<br/>
!!Palmöl-Schnellerkennung
''Wenn Sie folgende Vorsilben oder Wortteile in einer Inhaltsliste finden, wurden die entsprechenden Substanzen mit hoher Wahrscheinlichkeit aus Palmöl oder unter Beteiligung von Palmöl hergestellt:''<br/>
capr-, cet-, cetear-, cetyl-, coc-, coco-, glycer-, laur-, linol-, myrist-, ole-, stear-
<br/><br/>
!!''Alle bekannten Palmöl-Deklarationen''<br/>
Stand: 15.02.2018<br/>
Die mit * Sternchen gekennzeichneten Stoffe werden __immer__ aus Palmöl hergestellt bzw. enthalten Palmöl oder Palmöl-Bestandteile.
# Arachmide MEA (MEA = Monoethanolamid; Siehe auch Isostereamid DEA)
# Ascorbyl Palmitate
# Butyl Stearate
# Calcium Oleyl Lactylate
# Caprate (Ester und Salze der Caprinsäure)
# Capric Acid (Caprinsäure – eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Caprylate (Ester und Salze der Caprylsäure)
# Capric Triglyceride
# Capryl Glucoside
# Caprylic Acid (Caprylsäure – eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Caprylic Triglyceride
# Caprylyl Glucoside
# Caprylyl Glykol
# Cetearyl Alcohol
(Mischung aus Cetyl- und Stearyl-Alkohol)
# Cetearyl Glucoside
# Ceteth
# Cetyl Acetate
# Cetyl Alcohol
# Cetyl Lactate
# Cetyl Palmitate
# Coconut Butter Equivalent (CBE)
# Coconut Butter Substitute (CBS)
# Decyl Oleate
# Dicaprylyl Ether
# Disodium Lauryl/Laureth Sulfosuccinate
# Distearate
# Dodecyl Alcohol/Dodecanol
# Dodecyl Sulphate (auch SDS oder NaDS)
# *Elaeis Guineensis
# Emulsifiers (E471 bis E 477)
# Emulsifying Wax
# Ethyl Lauroyl Alginate
# Fatty Alcohol Sulphate
# Fatty Acid Esters of Glycerol
(Säureester von Mono- und Di- Glyceriden von Speisefettsäuren; E 472)
# Fatty Acid Methyl Esters Ethoxylate
(Etoxylierte Ester und Salze der Fettsäuren [E 431 bis E 436], z. B. Polyoxyethylen-sorbitan-monolaurat/-monostearat/-monopalmitat)
# Fettsäureglycerid
# Glycerin (engl. Glycerol)
# Glycerinfettsäureester (Glycerinester/Polyglycerinester von Speisefettsäuren; E 475)
# Glyceryl Caprylate
# Glyceryl Laurate
# Glyceryl Myristate
# Glyceryl Oleiate
# Glyceryl Palmitate
# Glyceryl Stearate
# Glycerol Tricaprylate
# Glycol Stearate (Ester aus Stearinsäure und Ethylenglycol)
# Hexyl Laurate
# *Hydrated Palm Glycerides/
*Hydrated Palm (Kernel) Glycerides
# Hydrogenated Vegetable Oil
# *Hydrogenated Palm Glycerides/
*Hydrogenated Palm (Kernel) Glycerides
# Isoamyl Laurate
# Isopropyl Octyl Palmitate
# Isopropyl Isostearate
# Isostearamide DEA
(DEA = Diethanolamin ist KEIN Palmöl-Derivat, wird aber vielen Palmölderivaten zugesetzt; dient der ph-Wert-Einstellung und als Weichmacher, ist gesundheitsschädlich; schleimhautreizend, krebserregend)
# Isostearate
# Isostearyl Alcohol
# Lauramide
# Lauramine Oxide
# Laurate (Ester und Salze der Laurinsäure, z.B. Isoamyl Laurate)
# Lauric Acid
# (Laurinsäure – eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Lauroyl Lysine
# Lauroyl Sarcosine
# Lauryl Betaine
# Lauryl Glucoside
# Lauryl Lactate
# Lauryl Sulfate
# Linoleic Acid (Linolsäure – eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Linoleate (Ester und Salze der Linolsäure)
# Magnesium Stearate
# Mono- und Diglyceride von Speisefettsäuren (oft als Fettsäureglycerid bezeichnet)
# Myristic Acid
(Myristinsäure – eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Myristate (Ester und Salze der Myristinsäure)
# Myristol
# Myristyl Alcohol
# Myristyl Myristate
# Oleamide
# Oleate (Ester und Salze der Oleinsäure)
# Oleic Acid/Oleinsäure (Oleinsäure = Ölsäure – eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Oleyl Betaine
# Palmitic Acid
# *Palm Kernel Oil (Palmkernöl)
# *Palm Kernel Amid MEA
# *Palm Olein (Kurzform für Ölsäure aus Palmöl)
# *Palmöl
# *Palm Sterine
# *Palmate (Palmat = Palmölsäure; Gemisch isolierter Palmöl-Fettsäuren, z.B. Sodium Palmate)
# Palmitate (Ester und Salze der Palmitinsäure)
# Palmitinsäure/Palmitic Acid (eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Palmitoyl Myristyl ...
# Palmitoyl Oxostearamide
# Palmitoyl Oligopeptide
# Palmitoyl Tetrapeptide-3
# *Palm Kernelate (Palm-Kernölsäure)
# *Palmkernöl
# Peptide Complex
# ''Pflanzenfett/pflanzliches Fett''
# ''Pflanzenöl/pflanzliches Öl''
# Polyglyceryl Caprate
# Polyglyceryl Laurate
# Propylene Glycole Laurate
# Propylene Glycol Stearate
# Propylenglycolester von Speisefettsäuren (E 477)
# Sodium Cetearyl Sulfate
# Sodium Coco Sulfate („Coco“ bezeichnet besonders kurzkettige Fettsäure-Verbindungen, die in Kokosöl häufig sind, aber auch in Palmöl)
# Sodium Dodecyl Sulfate
# Sodium Isostearoyl Lactylate
# Sodium Lauroyl Lactylate
# Sodium Laureth Sulfate
# Sodium Lauryl Sulfoacetate /SLSA
# Sodium Lauryl Sulfate
# *Sodium Palmate
# *Sodium Palm Kernelate
# Sodium Stearoyl Glutamate
# Sorbitan Caprylate
# Sorbitan Monostearate (E 491, E 492)
# Sorbitan Monolaurate (E 493)
# Sorbitan Monooleate (E 494)
# Sorbitan Monopalmitate (E 495)
# Stearalkonium Chloride
# Stearamide MEA
# Stearamidopropyl Dimethylamine
# Stearate (Stearat, Ester und Salze der Stearinsäure)
# Steareth
# Steareth Sulfate
# Stearin
# Stearic Acid/ Stearinsäure (eine der Fettsäuren in Palmöl und anderen Pflanzenölen)
# Stearoyl Sarcosine
# Stearyl Alcohol
# Stearyl Dimethicone Sorbitan Tristearate (E 436)
# Stearyl Ether
# Stearyl Heptanoate
# Stearyl Tartrat (E 483)
# Sucrose Laurate
# Tricaprylin
# Trimethylenglycol (1,3-Propandiol; wenn es durch Vergärung von Glycerin hergestellt wurde)
# Tristearin
# Vegetable Oil/Vegetable Fat (hoher Anteil an gesättigten Fettsäuren = meistens Palmöl)
# Zink Stearate
# Zuckerester von Speisefettsäuren (E 473)
# Zuckerglyceride (E 474)
# Zuckertenside
(sind aus Kohlenhydraten und Fettsäuren oder Fettalkoholen zusammengesetzt; die Fettsäure-/Fettalkohol-Komponente stammt in der Regel aus Palmöl)<br/><br/>
<div style="background:#DBFAFA;">
"""
''Ein Verzicht auf Palmöl ist keine langfristige Lösung.'' Die Ölpalme nimmt den geringsten Teil der gesamten Anbaufläche für die weltweite Öl- & Fettgewinnung ein. Gleichzeitig stellt sie mit ca. 32% den größten Anteil der Gesamtproduktion. Der Flächenertrag anderer Pflanzenöle ist durchschnittlich 3x geringer als der von Palmöl. Ein Ersatz durch andere Pflanzenöle würde daher nicht zu den gewünschten Zielen führen, sondern das Problem lediglich verlagern. Eher müssen wir uns fragen, ob wir Produkte mit Palmöl überhaupt brauchen: Z.B. Lippenstift, Tiefkühlpizza, Tütensuppe, Eiscreme....
''Was bedeutet das für mich (und dieses Wiki)?''
Ich bin Rühr-Anfängerin, wenn auch schon etwas fortgeschritten. Bedeutet, dass ich nicht alles auf einmal kann, leider!!
Mein 1. Schritt ist, palmölhaltige Zutaten bestmöglichst zu ersetzen. Sehr häufig ist dann Kokosöl im Spiel- auch wenn es ein Öl mit fantastischen Eigenschaften ist, besteht ein ähnliches Problem wie Palmöl...
Langfristiges Ziel muss m.M. sein, nachhaltiges faires Bio-Palmöl einzusetzen. Doch leider gibt es noch keine Zutaten für die Selbstrührerei, die daraus hergestellt sind.
Der Zwischenschritt ist mir noch nicht klar: Auf was setze ich denn am besten, solange es keine Zutaten gibt, die auf dem "guten" Palmöl (siehe weiter unten) basieren? Kokosöl hat weniger Ertrag und hat die gleichen Ansprüche wie Regenwald (ist aber wohl nicht für Großplantagen geeignet). Sojaöl hat den wenigsten Ertrag. Rapsöl & Sonnenblumenöl werden zwar einigermaßen regional (meist nicht in Deutschland in Bio-Qualität) angebaut, haben aber auch weniger Ertrag als Palmöl. Weitere Pflanzenöle: Ähnlich.
Was ist nun mittelfristig die Lösung??? Ich bin dabei, mich zu informieren...
''RSPO-Palmöl ist nur ein bisschen ... besser ...''
Der vom WWF gegründete „Roundtable on Sustainable Palmoil (RSPO)“ ist nicht mehr als ein industrienaher „freiwilliger Mindeststandard. Die Mitglieder haben sich geeinigt, keine Regenwälder / Torfmoore mit besonderem Schutzwert in Plantagen umzuwandeln, Tier- & Pflanzenarten zu schützen, Kleinbauern einzubinden, Kinderarbeit zu verbieten und autorisierte Prüfer auf die Plantagen zu lassen.
Doch das sind nur absolute //Mindest//-Standards- und umgesetzt wird davon wohl wenig. Laut http://www.regenwald.org ist der RSPO reines „Greenwashing“. (https://www.regenwald.org/themen/palmoel/rspo-siegel-kann-palmoel-nachhaltig-sein)
Allerdings besser als gar kein Standard...
''Die Lösung: Bio-faires Palmöl''
Bio-fairer Anbau von Palmöl, das gibt es- z.B. bei den Produzenten Serendipalm in Ghana, bei Natural Habitats in Ecuador & Sierra Leone. Auch der weniger strenge, immerhin Rainforest-Alliance-zertifizierte Produzent Daboon (allerdings auch mit negativen Schlagzeilen) und der Bio-Zweig von Agropalma gehört, mit einigen Abstrichen, dazu. Gemeint ist dabei aber nicht das Palmöl, das nach dem Industrie-nahen Mindeststandard des RSPO produziert wurde.
Bei Serendipalm etwa mischen sich Mini-Bio-Palmölfelder mit Kakao-, Zitrus- oder Bananenanbau. Pestizide etc. sind verboten. Mehr als 600 Bio-Kleinbauern liefern an Serendipalm und werden überdurchschnittlich bezahlt. Der Anbau findet nicht auf eigens dafür gerodetem Regenwald statt. Kostenaufschlag beim Bio-Palmöl: 60-100%.
Feste Abnehmer dieses Palmöls gibt es- und sie verkaufen auch in Deutschland."""
<div style=>
''Produkte / Anbieter von Produkten mit bio-fairem Palmöl''
* __''Rapunzel''__- insgesamt ein sehr gutes Palmölkonzept: Wo es keine Palmölalternative gibt, verwenden sie ausschließlich bio-faires Palmöl (aus Ghana von Serendipalm und aus Ecuador von Natural Habitats), sonst regional angebautes Öl
** z.B. Nutella-Alternative "Bionella"
* __''GEPA''__ (von Serendipalm in Ghana)
** Schoko-Orangen-Taler (Kekse)
** Gebäck
** Riegel-Füllungen
* __''Dr. Bronner’s''__ (Gründer von Serendipalm in Ghana, bezieht auch von dort sein Palmöl)
** „Pure Castile“-Seife
* ''HIPP'' (bezieht in seiner Bio-Linie Palmöl aus Ecuador von Natural Habitats und dem von der Rainforest-Alliance-zertifizierten Betrieb Daabon aus Kolumbien- der allerdings auch schon negative Schlagzeilen machte...)
** Bio-Anfangsmilch
* ''Alsan'' (bezieht Palmöl aus Brasilien von Agropalma)
** Alsan-Margarine
* ''Rossmann'' verwendet für seine Bio-Eigenmarken (EnerBIO, Alterra) Bio-Palmöl aus Brasilien (Agropalma), Kolumbien (Daabon) und Ghana (Serendipalm).
* ''Alnatura'' setzt Bio-Palmöl von Daabon aus Kolumbien und Agropalma aus Brasilien ein.
* ''Allos'' bezieht Bio-Palmöl von Daabon aus Kolumbien.
* In Produkten der ''Basic-Eigenmarke'' ist ebenfalls kolumbianisches und brasilianisches Bio-Palmöl verarbeitet.
* ''Huober'' verwendet zur Herstellung seiner Salzstangen- und –brezeln zertifiziertes Palmöl von Daabon aus Kolumbien.
* ''Sodasan'' bezieht für seine Rohseife Bio-Palmöl von Daabon.
* ''Dr. Hauschka'' verwendet sehr wenig Palmöl, wo nötig wird Bio-Palmöl aus Südamerika verwendet.
Auch sehr interessant: Der WWF Palmöl-Check (welche deutschen Firmen zertifiziertes Palmöl nutzen und welche den Verbraucher im Dunkeln stehen lassen): https://www.wwf.de/themen-projekte/landwirtschaft/produkte-aus-der-landwirtschaft/palmoel/palmoel-check/
"""
''Tropfen auf den heißen Stein...''
Das Problem dabei: Der Weltmarktanteil dieses bio-fairen Palmöls liegt momentan bei ca. 1%- in Deutschland immerhin bei knapp 4%, mit steigender Tendenz. Das ist zu wenig, um den Regenwald zu retten. Soviel Zeit- bis der Weltmarktanteil an bio-fairem Palmöl genügend gestiegen ist- hat die Welt leider nicht mehr.
Siehe [[Weitere Palmöl-Vermeidungsmöglichkeiten|3. Weitere Palmöl-Vermeidungsmöglichkeiten]]<br/><br/>
"""
''Wenn Du denkst''
Oh Gott, wo & wie & was fange ich als erstes an?
Das sind ja enorm viele Zutaten! Und von vielen hab ich noch nie was gehört...
Alles total kompliziert?
Das überfordert mich...
''Nein, ruhig Blut :-)''
Fang am besten ganz klein an, um erstmal zu schauen, ob das was für Dich ist, um ein Gefühl für die Selbstrührerei zu bekommen. Und vor allem wirst Du dann sehen, dass die Herstellung echt einfach ist, schnell geht und Du kein Chemielabor oder Spezialküche dafür brauchst (hab auch nur ne ganz kleine Küche).
Das sind gute Einsteigerrezepte (die aller-einfachsten zuerst, danach minimal schwieriger oder aufwändiger):"""
# [[Fensterreiniger- perfektes Einsteigerrezept]]<br/>Einfach nur Wasser & paar Spritzer Spüli in eine Sprühflasche füllen >fertig! Ja, so simpel können Rezepte sein! :-)<br/><br/>
# [[Geruchsentferner-Spray- ideales Einsteiger-Rezept]]<br/>Nur 2-3 Zutaten, sehr einfach zu rühren.<br/><br/>
# [[Deocreme im Döschen- ideales Einsteiger-Rezept]]<br/>Nur 3-4 Zutaten, sehr einfach zu rühren.<br/><br/>
# [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]] bzw. [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]<br/>Nur 4-5 Zutaten, sehr einfach zu rühren.<br/><br/>
# [[Kalkentferner- ideales Einsteiger-Rezept]]<br/>Nur 1-4 Zutaten. Ohne Xanthan einfacher, wird dann allerdings absolut dünnflüssig. Jedoch mit SLMI als Tensid, welches nicht vor Ort zu bekommen ist.<br/><br/>
# [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]<br/>Nur 2-4 Zutaten. Ohne Xanthan einfacher, wird dann allerdings absolut dünnflüssig. Jedoch mit SLMI als Tensid, welches nicht vor Ort zu bekommen ist.<br/><br/>
# [[Allesreiniger- gutes Einsteiger-Rezept]]<br/>Nur 2-4 Zutaten. Ohne Xanthan einfacher, wird dann allerdings absolut dünnflüssig. Jedoch mit SLMI als Tensid, welches nicht vor Ort zu bekommen ist.<br/><br/>
# [[Duschbar (Dusch-'Seife')]]<br/>Nur 3-4 Zutaten. Jedoch mit SLMI als Tensid, welches nicht vor Ort zu bekommen ist. Am Ende muss jedoch zügig gearbeitet werden, ansonsten sehr einfach zu rühren.<br/><br/>
Warum?
Weil sie
* einfach herzustellen sind- Du kannst eigentlich keine Fehler machen; auch kleine Messfehler sind überhaupt nicht schlimm (außer beim Xanthan).
* die Zutaten entweder eh vorhanden sind oder für vieles andere verwendet werden können (auch, wenn Dir die Selbstrührerei wider Erwarten doch nicht liegt).
* Du kein besonderes Zubehör brauchst (außer einer genauen Feinwaage).<br/><br/><br/>
''Benötigtes Zubehör''<br/>
Erstmal nur eine Feinwaage, mind. 0,1g-genau. Besser jedoch 0,01g-genau, insbesondere wenn Du die Mindestmengen rühren möchtest, um Rezepte erstmal auszuprobieren. Meine 0,01g-genaue Feinwaage hat bei Amazon nur 12€ gekostet (Stand August 2018).<br/>
Warum? Wenn Du eine Miniportion zu Deiner Zufriedenheit gerührt hast und diese dann auf Deine normal gewünschte Menge erhöhst, bekommst Du manchmal ein völlig anderes Ergebnis, wenn Du nur auf 0,1g-genau wiegen kannst. Als Beispiel: In der Miniportion benötigst Du 1,3g von Zutat X. Die Waage sagt Dir 1,3g. In Wirklichkeit sind es jedoch 1,34g. Erhöhst Du das Rezept nun um das 10fache, denkst Du, es würden 13g benötigt. Aber eigentlich benötigst Du 13,4g (damit warst Du ja bei der Miniportion zufrieden). Bei manchen Zutaten macht schon eine so geringe Menge einen Unterschied.<br/>
__Hinweis, wenn Du einen Gasherd benutzt:__ Es kann sein, dass selbst die kleinste Flamme für viele Zutaten zu heiß wird. Probiere das bitte erstmal aus. Ist das bei Dir der Fall, kannst Du die Zutaten genauso gut im Wasserbad erhitzen / schmelzen.<br/><br/>
{{Rezepte ausprobieren}}<br/><br/>
{{Abwiegen der Zutaten}}<br/><br/>
{{Rezepte verändern}}<br/><br/>
{{Allgemeingültiges bei Rezepten}}<br/><br/><br/>
{{Fertiges Produkt im Nachhinein verändern?}}
<br/><br/>
''Haltbarkeit / Konservierung selbstgerührter Produkte''<br/>
Lies Dir dazu bitte den entsprechenden Tiddler [[Haltbarkeit / Konservierung selbstgerührter Produkte]] durch.
<div class="tc-table-of-contents">
<<toc-selective-expandable '6. Wissen' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable '7. Rechner' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
''Das hat sich in den letzten 365 Tagen hier getan:''<br/>
([[INCIs & ihre Übersetzungen]] erweitere ich eigentlich permanent),<br/>
auch [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]] erweitere ich recht häufig<br/><br/>
* 12. März 2020, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept@@: [[Handmelt (Handcreme am Stück)]]
** Rezept verbessert & ergänzt<br/><br/>
* 12. März 2020, @@background-color:lavender;Neue Zutat@@: [[Urea / Harnstoff]] (Wirkstoff)<br/><br/>
* 3. Januar 2020, @@background-color:#DFFE97;Neues getestetes Rezept@@: [[Backofen / Töpfe / Pfannen von Angebranntem reinigen]]
** Bzw. das alte ungetestete Rezept genauer beschrieben & in "getestet" gewandelt<br/><br/>
* 2. Januar 2020, @@background-color:#ffb3d1;Geändertes@@ @@background-color:orange; ungetestetes Rezept@@: [[Verstopfungen aus Rohren / Abflüssen entfernen]]
** Natron scheint dafür genauso gut geeignet zu sein wie Waschsoda.<br/><br/>
* 2. Januar 2020, @@background-color:#ffb3d1;Geändertes@@ @@background-color:orange; ungetestetes Rezept@@: "Raumspray mit Natron" ersetzt durch [[Raumspray- ideales Einsteiger-Rezept]]
** Da das Spray wunderbar als Geruchsentfernerspray funktioniert ([[Geruchsentferner-Spray- ideales Einsteiger-Rezept]]), müsste es ja auch als Raumspray funktionieren. Das ursprüngliche ungetestete Rezept war mit Natron, Zitronensäure & Wasser- wenn man diese 3 Zutaten zusammenbringt, reagieren diese miteinander mit kräftigem Blubbern. Ich glaube inzwischen nicht mehr, dass dieses Spray wirken würde- deshalb gelöscht.<br/><br/>
* 2. Januar 2020, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept@@: [[Natron vs schlechte Gerüche (Katzenklo, Schuhschrank, Kühlschrank, Mülleimer,...)]]
** Von "ungetestet" auf "getestet" geändert, da ich es inzwischen mehrfach ausprobiert habe<br/><br/>
* 1. Januar 2020, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#d26bfe; Funktion@@: Die Suchfunktion ({{$:/core/images/format-find}} Lupensymbol in der Seitenleiste) verbessert
** Es werden nun nicht nur entsprechende Tiddlertitel gefunden ("Titel Treffer"); sondern auch Tiddler angezeigt, in dessen Text das Gesuchte vorkommt ("Alle Treffer")
** {{$:/core/images/close-button}}: Lösche den Text im Suchfeld
** {{$:/core/images/down-arrow}}: Klappe das Suchergebnis auf / zu<br/><br/>
* 1. Januar 2020, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept@@: [[Duschbar (Dusch-'Seife')]]
** Rühr-Hinweise & Notfallrettung hinzugefügt
** "Unterschied zu Handwaschbars" als Info hinzugefügt<br/><br/>
* 1. Januar 2020, @@background-color:#ffb3d1;Geänderte@@ @@background-color:lavender; Zutat:@@ [[SLMI / SurfaLux palmölfrei (Tensid)]]
** >>Nochmal Zutatenportrait um Informationen (Tipp für die Verarbeitung) ergänzt
** >>Zutatenportrait um Informationen (Andere Tenside durch SLMI ersetzen) ergänzt<br/><br/>
* 1. Januar 2020, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#ffff66;Info:@@ [[Zum Einstieg / Für Anfänger|5. Zum Einstieg / Für Anfänger]]
** >>Hinweis für Gasherd-Benutzer hinzugefügt<br/><br/>
* 23. Dezember 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#ffff66;Info:@@ Ergänzung, warum ich das Tensid SCS als "evtl. nicht palmölfrei" einordne in [[Übersichtstabelle Tenside|1. Übersichtstabelle Tenside]], [[INCIs & ihre Übersetzungen]] & [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]<br/><br/>
* 12. Dezember 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#DFFE97; getestete Rezepte@@: Alle Handwaschbars: [[Handwaschbar Kokos-Roggen ('Handseife')]], [[Handwaschbar Olivenschaf ('Handseife')]], [[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]]
** Ergänzt um Hinweis auf den Duschbar<br/><br/>
* 12. Dezember 2019, @@background-color:#DFFE97;Neues getestetes Rezept@@: [[Duschbar (Dusch-'Seife')]]
** "Seife" zum Duschen<br/><br/>
* 12. Dezember 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:lavender; Zutat:@@ [[Roggenmehl]]
** >>Zutatenportrait um Informationen (Besonderheit / kosmetische Wirkung / Heilwirkung) ergänzt<br/><br/>
* 9. November 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#DFFE97; getestete Rezepte@@: [[Deocreme im Döschen- ideales Einsteiger-Rezept]], [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]], [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]
** Info / Tip hinzugefügt "Wenn Dir das Rezept zu fettig ist,..."<br/><br/>
* 5. November 2019, @@background-color:lavender;Neue Zutat@@: [[Grüner Tee]] (Wirkstoff)<br/><br/>
* 5. November 2019, @@background-color:lavender;Neue Zutat@@: [[SLMI / SurfaLux palmölfrei (Tensid)]] (Tensid)<br/><br/>
* 5. November 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#DFFE97; getestete Rezepte@@: Alle Rezepte mit Tensid: [[Allesreiniger- gutes Einsteiger-Rezept]], [[Handwaschbar für Handwerker, rückfettend]], [[Handwaschbar Kokos-Roggen ('Handseife')]], [[Handwaschbar Olivenschaf ('Handseife')]], [[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]], [[Kalkentferner- ideales Einsteiger-Rezept]], [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]], [[Zahnpasta]]<br/><br/>
* 5. November 2019, @@background-color:#ffff66;Zur Info@@: @@color:red;''Das Tensid SCI ist nicht mehr sicher palmölfrei zu erhalten''@@
** Alternative: SLMI (Sodium Lauroyl Methyl Isethionate; bei Alexmo heißt es "SurfaLux palmölfrei").
*** SLMI ist vergleichbar mit SCI, es hat fast die gleichen WAS, ist auch nicht flüssig und sehr mild mit guter Schaumbildung. Es wird aber nicht als Pulver, sondern als Plättchen geliefert. Möchte man z.B. einen Seifenbar (Duschbar, Shampoobar, o.ä.) herstellen, muss man die Plättchen also erstmal pulverisieren. Ich mach das mit meiner Küchenmaschine (mit schnell laufendem Häckselmesser). Es wird bei mir kein ultrafeines Pulver, sondern teilweise bleiben kleine Körnchen. Einen Handwaschbar habe ich damit bisher hergestellt- ich spüre die Körnchen nicht. Plättchen haben natürlich den Vorteil, dass sie nicht stauben.
** >>Ich habe die entsprechenden Rezepte entsprechend geändert. Allerdings scheint SLMI auf feste Produkte eine weniger härtende Wirkung zu haben als SCI, von daher müssen diese Rezepte (Handwaschbars, Duschbar) noch angepasst werden, was ich im Moment nicht austesten kann, da ich noch ca. 3kg "Seife" von diversen Test verbrauchen möchte...<br/><br/>
* 8. September 2019, @@background-color:#DFFE97;Neues getestetes Rezept@@: [[Geruchsentferner-Spray- ideales Einsteiger-Rezept]]
** Neutralisiert unangenehme Gerüche und hinterlässt meistens keine Rückstände. Für z.B.: Stinkende Mülleimer, muffige Klamotten, Katzenpipi-Malheurs, Schuhe mit Fußschweiß-Duft, etc.<br/><br/>
* 19. August 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:#DFFE97; getestete Rezepte:@@ Deorezepte
** >>die gesamten Rezepte leicht nach korrigiert
** >>[[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]: Sheabutter gegen Mangobutter ausgetauscht (Mangobutter zieht schneller ein und hat einen höheren Schmelzbereich<br/><br/>
* 19. August 2019, @@background-color:#ffff66;Neue Info:@@ @@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]<br/><br/>
* 2. August 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Waschpulver (Buntwaschmittel)]]
** >>Folgendes geändert:
*** Beschreibung
*** Zubereitung
*** Anwendung
*** Wichtige Hinweise beim Spülmaschinensalz & bei der Kernseife hinzugefügt<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Lippenpflegestift]]
** >>Zubereitung korrigiert- ich hatte die Hitzeempfindlichkeit von Lipiden missverstanden<br/><br/>
* 17. Mai 2019, @@background-color:#DFFE97;Neues getestetes Rezept:@@ [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]
** Deocreme 2.0(b): Diese Deocreme eignet sich auch für Tuben für den Winter (getestet bei 16-21° Raumtemperatur).<br/><br/>
* 17. Mai 2019, @@background-color:#DFFE97;Neues getestetes Rezept:@@ [[Handwaschbar für Handwerker, rückfettend]]
** Reinigt stark verschmutzte Hände- schafft sogar Fahrradschmiere, wirkt dabei aber leicht rückfettend<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Trockenshampoo]]
** >>Bisherige Zutaten komplett durch Lavaerde ersetzt<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Zahnpasta]]
** >>Rezeptur geändert
** >>Und Vorgehensweise geändert<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]
** >>Rezeptur geändert: SCI (Tensid) anstatt Allesreiniger/Flüssigseife
** >>Und Vorgehensweise beim Xanthan-Einrühren vereinfacht<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Allesreiniger- gutes Einsteiger-Rezept]]
** >>Vorgehensweise beim Xanthan-Einrühren vereinfacht
** >>''15. Dezember 2018:'' Waschsoda ersatzlos aus dem Rezept gestrichen- komplett sinnfrei! (ich habe heute eine neue Info dazu erhalten!)<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Kalkentferner- ideales Einsteiger-Rezept]]
** >>Rezeptur geändert: SCI (Tensid) anstatt Allesreiniger/Flüssigseife
** >>Und Vorgehensweise beim Xanthan-Einrühren vereinfacht<br/><br/>
* 17. Mai 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ "Entkalken von Wasserkocher / Tauchsieder & Kaffeemaschinen mit Zitronensäure" & "Entkalken von Kaffeepad- / Espressomaschinen u.ä. mit Zitronensäure" zusammengeführt zu [[Geräte entkalken mit Zitronensäure]]<br/><br/>
* 9. Mai 2019, @@background-color:#DFFE97;Neues getestetes Rezept:@@ [[Handmelt (Handcreme am Stück)]]
** Zum Hände eincremen, zieht schneller ein als der Massagebar<br/><br/>
* 9. Mai 2019, @@background-color:#DFFE97;Neues getestetes Rezept:@@ [[Massagebar]]
** Massieren wie mit einem Massageöl<br/><br/>
* 9. Mai 2019: Rezept "Body Melt / Lotion Bar / Feste Körperbutter / Massage Bar" gelöscht<br/><br/>
* 8. Mai 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:lavender; Zutat:@@ [[Mangobutter]]
** >>Zutatenportrait um Informationen ergänzt, sowie Foto eingefügt
** >>''13. Mai 2019:'' Durchschnittliche Schmelztemperatur im Schmelztemperatur-Rechner korrigiert<br/><br/>
* 9. April 2019, @@background-color:#ffb3d1;Geänderte@@ @@background-color:lavender; Zutat:@@ [[Zitronensäure]]
** >>Verarbeitungstips ergänzt<br/><br/>
* 14. März 2019, @@background-color:#ffb3d1;Geändertes@@ @@background-color:#DFFE97; getestetes Rezept:@@ [[Handwaschbar Kokos-Roggen ('Handseife')]]
** Zutatenmengen geändert & Kosten aktualisiert
** Beschreibung geändert (Fahrradschmiere schafft er doch, ich hatte das bisher rein vorsichtshalber verneint; nun hab ich damit aber erfolgreich Fahrradschmiere entfernt): Reinigt die Hände sehr gut (entfettet allerdings auch ganz schön), sogar Fahrradschmiere schafft er :-). Bildet nicht sehr viel, aber guten Schaum. Mit Kokosöl & Roggenmehl.<br/><br/>
* 24. März 2019, @@background-color:lavender;Neue Zutat:@@ [[Milchpulver]] (Wirkstoff)<br/><br/>
* 22. März 2019, @@background-color:lavender;Neue Zutat:@@ [[Lanolin]], [[Wollwachs / Wollfett (= "Lanolin")]] (Lipid, Wirkstoff, W/O-Emulgator, Co-Emulgator)<br/><br/>
* 14. März 2019, @@background-color:#DFFE97;Neues getestetes Rezept:@@ [[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]]
** ''Am 27. März 2019 editiert:'' Pflegt die Hände Hände leicht aber merklich und reinigt die Hände sehr mild & wunderbar, solange sie nicht heftig verschmutzt bzw. fettig sind- also für den Normalfall. Prädistiniert für sehr trockene / gereizte / empfindliche Hände. Bildet nicht sehr viel, aber wundervollen Schaum.
** am ''22. März 2019'' Foto & Kosten hinzugefügt<br/><br/>
* 14. März 2019, @@background-color:#DFFE97;Neues getestetes Rezept:@@ [[Handwaschbar Olivenschaf ('Handseife')]]
** ''Am 9. April 2019 editiert:'' Rezeptur leicht abgeändert (er war vorher nach dem 1wöchigen Aushärten doch zu hart geworden).
** ''Am 27. März 2019 editiert:'' Er ist für die Reinigung von leicht bis mittelprächtig verschmutzten Händen gedacht, er reinigt die Hände wunderbar, sogar Fahrradschmiere entfernt er größtenteils. Dabei wirkt er leicht pflegend / rückfettend. Bildet nicht sehr viel, aber wundervollen Schaum.Mit Olivenöl & Schafmilchpulver
** am ''22. März 2019'' Foto & Kosten hinzugefügt
"""Für einen Abdeckstift nimmt man 5-6 g der Fettmasse, und 1-2 g der Pigmentmischung im Hautton und gibt 1 -2 g Titanoxid dazu. Bei Couperose und anderen Rötungen kann man noch 0,3 -0,5g Chromoxidgrün unterrühren.
Statt Chromoxidgrün: verträgst Du grünen Ton? Dann könntest Du alternativ auch den verwenden.
Ich hab auch schon grünes Mica verwendet mit Ton gemischt, oder alleine, geht auch. Zu intensiv sollte es eh nicht werden, finde ich zumindest. Eigentlich klappt das meiner Ansicht auch besser mit nem grünlichen Concealer und dann normalen Abdeckstift drüber.
Stimmt, die Evita-Mischung ist nicht deckenend, aber kaschiert trotzdem sehr gut, eine Art Weichzeichner sozusagen. Man kann sie auch einfach über eine deckende Formulierung auftragen, damit das Ganze dann natürlicher erscheint. Für einen Abdeckstift ist sie vermutlich nicht geeignet.
Im Grunde kannst Du jede Lippenstiftmasse verwenden, es kommt nur drauf an wie lange er halten soll, daher ist eine einfache Zusammensetzung mit Jojobaöl und Rizinusöl (nicht mehr als 2%) am geeignetsten.
Wenn der concealer also für augenringe sein soll, würde ich rizzi auch weglassen. Aber nur jojo? Es sollte halt ein nicht spreitendes öl sein. Gibt es sowas überhaupt? (außer eben jojo)
Wie wären shea und wenn man verträgt kabu? Die müßten doch auch nicht so kriechen.
Hier ist auch eine Rezeptidee für einen Heil- und Abdeckstift.
Ich bin mir nicht mehr ganz sicher, ob der Abdeckstift zu fest war.
Müsste man halt noch eine Feinabstimmung vornehmen.
30% Mandelöl mit etwas Distel- oder Traubenkernöl
20% Jojobaölmazerat mit Ringelblume
20% Bienenwachs
20% Zinkoxid
5.% Lipodermin
5.% Lanolin oder UdA
Msp. Pigmentmischung (Eisenoxid braun und ocker )
1 Tr. Lavendelöl, 1 Tr. blaues Kamillenöl
1 Tr. Vitamin E
''Alle getesteten Rezepte bei Abgeschlagenheit:''<br/><br/>
<$list filter="[tag[Abgeschlagenheit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Abgeschlagenheit:''<br/><br/>
<$list filter="[tag[Abgeschlagenheit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:White;">
!!<div style="text-align: center"> Zeilenumbrüche als solche darstellen: </div>
''Zeilenumbrüche über die gesamte Passage:''
`"""
Zeile
Neue Zeile
Noch ne Zeile nach ner Leerzeile
"""`
!!wird zu:
"""
Zeile
Neue Zeile
Noch ne Zeile nach ner Leerzeile
"""
Der gesamte Text, der zwischen den beiden `"""` steht, wird mit den Leerzeilen angezeigt, wie sie auch geschrieben sind. Allerdings setzt das so manche Kommandos / Codes außer Gefecht.
<br/><br/><br/>
''Zeilenumbrüche einmalig:''<br/><br/>
`Zeile<br/>
Neue Zeile<br/><br/>
Noch ne Zeile nach ner Leerzeile`
!!wird zu:
Zeile<br/>
Neue Zeile<br/><br/>
Noch ne Zeile nach ner Leerzeile
''Alle getesteten Rezepte zum Abstillen:''<br/><br/>
<$list filter="[tag[Abstillen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zum Abstillen:''<br/><br/>
<$list filter="[tag[Abstillen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Tip zum Abwiegen der Zutaten''<br/>
Sehr hilfreich sind mehrere Mini-Schälchen (am besten diese winzigen Marmeladen-Schälchen, die man vom Hotelfrühstück kennt). Erst wiegst Du alle Zutaten in jeweils eigenen Schälchen ab, dann stellst Du sie- bestenfalls der Zubereitungs-Reihenfolge entsprechend angeordnet- auf die Arbeitsfläche und dann fängt die eigentliche Zubereitung an.<br/>
__Warum so penibel?:__ Wenn Du eine falsche Menge abgewogen hast, kannst Du den Fehler noch problemlos korrigieren. Und -gerade am Anfang, wenn man die unterschiedlichen Gewichte der Zutaten noch nicht kennt (extrem z.B. Natron versus Kieselsäure!), aber auch als erfahrene Rührerin- passiert das durchaus schnell! Ich hab einige Jahre auch faulerweise immer direkt in das Rührglas abgewogen- und wie oft hab ich versucht, wenige mg von z.B. Natron rauszufischen, was schon auf dem geschmolzenen Kokosöl schwamm...!<br/>
Wenn man große Mengen rührt, sind wenige mg nicht so das Problem, bei Mini-Testportiönchen aber sehr wohl.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Mit Alginat lassen sich ausgezeichnet abziehbare Gesichtsmasken herstellen.
Das Geheimnis, man muss noch einen Zusatzstoffe dazu geben, sonst härtet die Maske zu schnell aus.
Ich habe es gestern mit Reismehl probiert und ich konnte mir nach 15 Minuten die gummiartige Maske prima abziehen.
Ich hatte noch Koffein dabei und meine Haut war nach der Maske richtig schön durchblutet und frisch.
Wichtig ist das richtige Verhältnis von Alginat und Füllung. Das werde ich noch ausprobieren und außerdem suche ich noch nach weiteren brauchbaren Füllstoffen.
ich meinte mit Füllstoffen die trockenen Bestandteile, die die Reaktionzeit des Alginats etwas verlängert.
Mit den Füllstoffen wird die Maske etwas geschmeidiger und lässt sich richtig schön abrollen.
Ich denke da an Stärken und Tonerden.
Die Wassermenge richtet sich dann auch danach. Bei 50% Alginat benötige ich ca 3 mal soviel Wasser.
"""Ein sehr frischer, leichter Balsam mit nur 5% Fettanteil, dessen Grundlage sich auch für ein leichtes Gesichtsfluid eignet.
REZEPT
für 100 g
Phase A
0.40 g Phospholipon® 80 H
0,10 g Lysolecithin
4.00 g Neutralöl
0.50 g Sheabutter
Phase B
40.00 g Rosenhydrolat
32.00 g Wasser
4.00 g Glycerin
2.00 g Natriumlaktat
0.50 g D-Panthenol
0.10 g Allantoin
0.40 g Xanthan
Phase C
1.00 g äherische Öl Mischung (Limette, Bergamotte, Litsea Cubeba ) und zwei Stäbchen Menthol
15.00 g Weingeist (96%ig)
HERSTELLUNG
Alle Komponenten der Phase A bei 80 Grad C schmelzen.
Alle Komponenten der Phase B bei 40 Grad C zusammenrühren.
Beide Phasen zusammenschütten und hochtourig homogenisieren.
Bei Handwärme die äth .Öle und den Weingeist dazu geben.
"""After Shave Balsam
for men
3g Tegomuls
4g Emulsan
10g Sojaöl
5g Traubenkernöl
80g Wasser (destilliertes Wasser nehmen oder auch abgekochtes)
1 TL Honig
10 Tr. Kamillenextrakt
10 Tr. Minzenxtrakt
20 Tr. Aloe Vera
etwas D-Pathenol
5 Tr. PÖ Toscanischer Morgen
5 Tr. PÖ Nevonia
Mein Freund mag es und BENUTZT es!! Und das will schon was heißen! :) Für alle, die nix gegen PÖs in Cremes haben ist die Duftkombi ein heißer Tip! Riecht sehr männlich und cremig finde ich!!
So, ich habe auf diesem Gebiet in letzter Zeit weiter geforscht und bin auf den Trichter gekommen, dass die Herren der Schöpfung weniger auf Creme und mehr auf Serum stehen. Deshalb habe ich dieses Rezept entwickelt und es hat Gefallen gefunden bei meinen Testpersonen.
After-Shave-Balsam, gelige Version
2 g Tegomuls
5 g Jojobaöl
40g Wasser (destilliertes Wasser nehmen oder auch abgekochtes)
1 Ml Xanthan
Kamilleextrakt
Minzextrakt
Aloe Vera
Honig
PÖ Nevonia
PÖ Toscanischer Morgen
Ich erwärme das Öl und das Tego und übergieße nebenbei das Xanthan mit hießem Wasser. Der Handrührer verwandelt es in Gel. Die Fette dazu, nochmal kräftig durch rühren. Dann die Wirkstoffe dazu, beduften und konservieren.
mit Torso beduftet, Äth Lemongrasöl mit etwas Vetiver und Patchouli mögen Männer auch sehr gern.
"""15 ml Lavendelhydrolat (oder dest. Wasser oder anderes Hydrolat oder Teeaufguss)
5 ml Aloe Vera-Öl
1 Msp Hyaluronsäure
1 Msp Honig
1 Spritzer Limettensaft
1 Tl Reinlecithin (oder Fluidlecithin super)
1 Tl D-Panthenol
Konservierung nach Wahl (ich habe Lavendelextrakt genommen)
In dem angewärmtem Hydrolat den Honig und das Reinlecithin auflösen und die Hyaluronsäure dazugeben, sobald es wieder abgekühlt ist. (Falls man statt Reinlecithin Fluidlecithin super benutzen möchte, dann kann man dies dazugeben, sobald alles wieder abgekühlt ist) Danach die restlichen Zutaten dazugeben und ordentlich durchschütteln. Es kann sein, dass die Hyaluronsäure ein wenig braucht, bis sie vollständig gegelt hat - einfach warten bis zum nächsten Tag, erneut durchschütteln.
Man braucht nur sehr wenig davon - ein winzig kleiner Klecks langt. Hinterlässt angenehm beruhigte und streichelglatte Haut nach der Rasur.
"""Am besten ist einfach pures Aloe Vera - Gel aufsprühen.
Aloe Vera (-Gel) wird auch immer wieder in diversen Ratgebern genannt.
Möglichst wenig Fette (oder gar keine) ins "After-Sonnenbrand"-Produkt einarbeiten, da sich unterm Fett die Hitze in der Haut noch mehr stauen kann, sie jedoch eher gekühlt werden sollte.
Deshalb sind auch Kauf-Produkte für "After-Sonnenbrand" mehr oder weniger fettfrei.
Für dich kannst du evtl. etwas Hydrolat zum Aloegel geben, aber je mehr Sachen man zusammen mixt, desto mehr Reaktionen können auf der eh gereizten Haut entstehen.
Panthenol hilft fantastisch bei Verbrennungen und ist völlig reizfrei. Wir haben so ein Panthenolspray, das hilft auch wirklich super.
Wenn ich mich total reduziere, würde ich bei dem Gel mit dem Rest Aloe und mindestens 5% Panthenol bleiben. Evtl. das Gel mit Rosenhydrolat ansetzen.
10% Aloe-Vera-Gel (waren auf den Tropfen genau noch 10 g drin )
10% Panthenol
2% Natrosol
78% Rosenwasser
4 Tropfen Lavendel hab ich noch reingemacht.
Die Wirkung ist erstaunlich, geradezu wundersam. Also ich hab ja nun in meinem Leben leider sehr reichliche Erfahrungen mit Sonnenbränden aller Grade gemacht, bis hin zum KH-Aufenthalt. Ich weiß ganz genau, wie sich meine Haut verhält. Bei einem Sonnenbrand dieser Ausprägung hätte ich an bestimmten Stellen Blasen und anschließend Krusten bekommen müssen. Aber nix! Die Rötung ist an den leichter verbrannten Stellen bereits am nächsten Tag zurückgegangen und heute komplett weg, viel zu früh!
Dem Kleinen hat es auch super geholfen, die leichte Rötung war ruckzuck weg. Er hat sich ein-, zweimal drangefasst und dran rumgemacht, es scheint schon unangenehm gewesen zu sein, und ich hatte den Eindruck, dass ihm das Gel gut gegen das leichte Brennen geholfen hat. Da mir Sonnenbrand unterhalb der Handtellergroße-Blasen-Grenze praktisch nicht mehr wehtut, kann ich das nicht beurteilen. Es kühlt halt, während es einzieht, das geht aber recht fix.
Klingt doch gut. Wenn du da hast, kannst du noch 1% bisabolol dazugeben. Es heilt nicht nur, es wirkt auch wie ein enhancer, will heißen es schleusst das panthenol schneller ein.
In meinen heilcremes hab ich immer 10% panthenol, es klebt ein wenig, aber es soll ja auch heilen. Mit bisabolol zieht es gut ein und klebt nicht so lange.
Ich hatte noch überlegt, ob Kamillenhydrolat nicht vielleicht noch besser wäre als Rosenwasser.
>>>Ja, stimmt. Allerdings riecht Kamillenhydrolat evtl. scheiße...
"""Ölfrei:
100 ml Rosenhydrolat (oder dest. Wasser)
ca. 10 Tl Kieselsäure
2 Tl Aloe Vera 10-fach
2 Tl D-Panthenol
2 Tropfen ÄÖ Kamille blau
5 Tropfen ÄÖ Lavendel
3 Tropfen ÄÖ Immortelle
Konservierung: 5 ml Weingeist (oder andere Konservierung nach Wahl)
In das Hydrolat nach und nach teelöffelweise die Kieselsäure dazugeben - je nach gewünschter Konsistenz kann man mehr oder weniger dazugeben. Wenn die erreichte Konsistenz gefällt, dann die restlichen Zutaten dazugeben.
Ergibt ein schön kühlendes Gel, das sonnengestresster Haut so richtig gut tut. Die beigefügten ätherischen Öle sind nur wegen ihrer Wirkungen zugegeben, nicht wegen des Duftes! Nicht wundern - Kieselsäure zieht einen Film auf die Haut.
-------Update--------
Fast gleiches Rezept wie oben, aber mit geringem Ölanteil und Hyaluronsäure - ergibt meiner Meinung nach ein schöneres, klareres Gel
100 ml Rosenhydrolat (oder dest. Wasser)
ca. 4 Tl Kieselsäure
1 gestrichener Tl Hyaluronsäure (manche H-Säuren gelen besser - Menge kann also variiert werden)
2 Tl Aloe Vera 10-fach (meine Aloe räubere ich mittlerweile, dann gebe ich 2 Tl von dem Gel dazu - das finde ich noch besser als das Aöoe Vera 10-fach)
2 Tl D-Panthenol
2 Tropfen ÄÖ Kamille blau
5 Tropfen ÄÖ Lavendel
3 Tropfen ÄÖ Immortelle
20 Tropfen Squalan
3 Tl Jojobaöl (oder anderes Öl nach Wahl)
Konservierung: 5 ml Weingeist (oder andere Konservierung nach Wahl)
Zubereitung wie oben.
3. Variante, die meiner Ansicht nach bisher am schönsten ist.
100 ml Rosenhydrolat (oder dest. Wasser oder anderes Hydrolat nach Wahl - Pfefferminzaufguss ist herrlich erfrischend)
1 Ml Kieselsäure
1 Ml Guarkernmehl
1 gestrichener Tl Hyaluronsäure (manche H-Säuren gelen besser - Menge kann also variiert werden)
2 Tl Aloe Vera 10-fach (meine Aloe räubere ich mittlerweile, dann gebe ich 2 Tl von dem Gel dazu - das finde ich noch besser als das Aloe Vera 10-fach)
2 Tl D-Panthenol
2 Tropfen ÄÖ Kamille blau
5 Tropfen ÄÖ Lavendel
3 Tropfen ÄÖ Immortelle
20 Tropfen Squalan
3 Tl Jojobaöl (oder anderes Öl nach Wahl)
Konservierung: 5 ml Weingeist (oder andere Konservierung nach Wahl)
"""Möglichst wenig Fette (oder gar keine) ins "After-Sonnenbrand"-Produkt einarbeiten, da sich unterm Fett die Hitze in der Haut noch mehr stauen kann, sie jedoch eher gekühlt werden sollte.
Deshalb sind auch Kauf-Produkte für "After-Sonnenbrand" mehr oder weniger fettfrei.
Sonnenbrand geschädigte Haut braucht was linderndes, das die Heilung unterstützt und Feuchtigkeit.
Und so sieht meine "after burn" Lotion aus:
50 ml Rosenhydrolat
3 ML Avocadoöl grün
3 ML Calendulaöl
2 ML Sqalan
2 ML Fluidlecithin Super
1 kML Johanniskrautextract
1 Msp. Allantoin
6 Tropfen A-Kons
3 Tropfen ÄÖ Rose
3 Tropfen ÄÖ Lavendel
2 Tropfen ÄÖ Kamille blau
Das Ganze in eine Flasche und vor Gebrauch schütteln.
Die SL lässt sich leicht verteilen, ohne langes reiben, was ja schmerzt. Sie zieht auch sehr gut ein. Ich hatte ein gepflegtes Häutchen, das nicht mehr so spannte und zwickte. Wenn ich eine Srühflasche da hätte, dann könnte man die SL bestimmt auch aufsprühen. Hätte dann vielleicht noch einen kühlenden Effekt.
mein rezept ist homöopathisch inspiriert und sieht so aus:
4 ml holunderhydrolat
1/4 tablette oder 1-2 globuli Apis Mellifica D30
4 ml propylenglycol
1 dicker tropfen lavendelhonig
2 Tr D-Panthenol
je 1ml Ringelblumen- und Johanniskrautrotöl (oder 2ml Johanniskrautrotöl und 2 Tr Ringelblumenextrakt)
2-4 Tr Sanddornfruchtfleischöl
in dieser reihenfolge in ein fläschchen geben. nach jeder zutat kräftig schütteln. ebenso vor jeder entnahme kräftig schütteln, da die öle sich sofort absetzen. die menge reicht für 2x einreiben von oben bis unten.
läßt sich leicht verteilen, befeuchtet und beruhigt fantastisch, in dieser konzentration klebt der honig noch nicht. das sanddornfruchtfleischöl mildert die röte zus. optisch ab und zaubert einen schönen goldenen hautton.
lavendelhonig aus der provence ist mein wunderheilmittel bei allen verbrennungen oder hautabschürfungen. es scheint, daß der lavendel durch die bienen gleichsam potenziert wurde. leider teuer- aber auch seeehr lecker.
"""Da mein mitrührer nichts mehr hasst als sich einzucremen und er aber sehr pflegebedürftige haut hat, habe ich ihm eine wässrige plörre gemacht, die er nach dem rasieren wie einen after shave balm benutzt und über das ganze gesicht verteilt. Durch den hohen alkoholgehalt (WAS SOLL DENN HIER DER ALK SEIN???) trocknet der balm schnell und wirkt gar nicht fettig. Bei einem starken bartwuchs ist das wichtig, das es wirklich wässrig ist, da sich alles andere aufemulgiert beim eincremen. Wenn es euren männern zu flüssig ist, könnt ihr es mit etwas natrosol oder xanthan transparent andicken.
Rezept:
100gr=100%
alle angaben in prozent
2 shea
5 lecithingranulat, oder wenn ihr eine weiße plörre wollt, nehmt fl super
8 öl
man kann auch 1,5 emik nehmen, dann eben 3,5 mehr öl
68 wasser
10 extrakt
3 glycerin
1 pirocton olamin
1 panthenol
1 bisabolol
1tr ms (???)
4tr nl (Natriumlaktat?)
3tr rokonsal
2-3tr äö nach wunsch und hautbeschaffenheit
der letzte absatz gilt für 30gr gesamt menge
Das ist ein test, mein mitrührer hat an allen stellen wo haare wachsen, sprich augenbrauen und bart gegend, schuppen und gereitzte haut. Gitta benutzt das pirocton olamin in ihren cremes und ich hatte mit ihr gemailt und sie meinte, man könne es dafür nehmen.
Gib es in eine braunglasflasche mit sprühaufsatz. So siehst du die hässliche Plörre nicht und sprühen mögen Männer recht gern.
"""Für die empfindliche Haut nach dem Schwimmen- muss nur aufgesprüht und verrieben werden - fertig! Vor der Benutzung muss es natürlich geschüttelt werden. :)
1Tl Solesalz
etwas Hyaluron
50ml heißes Wasser
10 Tr. Aloe Vera
1 Tl Glycerin
5ml Weingeist
etwas Lebensmittelfarbe
50ml Mandelöl
PÖ
1 Tl Solesalz mit etwas Hyaluron in ein Glas geben und mit 50 ml heißem Wasser übergießen. Umrühren damit das Salz sich löst.
Etwas abkühlen lassen und 10 Tr. Aloe Vera, 1Tl Glycerin, 5ml Weingeist dazu geben. (Ich hab dann für den optischen Effekt noch einen winzigen Spritzer blaue Lebensmittelfarbe hinzugefügt)
50ml Mandelöl in eine Sprühflasche geben und nach Wunsch beduften (ich habe Nevonia genommen weil das bei mir immer so ein "Gepflegt-Gefühl" hervorruft).
Jetzt das Wassergemisch dazu - fertig!
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
''Art / Konsistenz der Zutat:'' Flüssigkeit, Konservierung / Desinfektion<br/><br/>
Hochprozentiger Alkohol, z.B. Weingeist 96%, Melissengeist, Wodka (jeweils wohl so gut wie geruchlos). Isopropanol (sehr günstig aber riecht stark nach Alkohol. Auch Isopropylalkohol genannt).<br/><br/><br/>
<div style=> </div>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Alkohol, hochprozentig]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Alkohol, hochprozentig]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
"""
''Art / Konsistenz der Zutat:'' Wirkstoff, Pulver, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Allantoin ist ein feines, weißes, geruchloses Pulver, welches synthetisch aus Glyoxylsäure und Harnstoff hergestellt wird. In Lösung zeigt es einen leicht sauren pH-Wert (4,5-6).
''INCI-Bezeichnung:'' Allantoin/ 5-Ureidohydantoin / Glyoxylsäurediureid
''Duftprofil:'' Geruchlos
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Allantoin ist der Hautpflegestoff schlechthin. Es wirkt wundheilungsfördernd / <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div> und feuchtigkeitsspendend.
Er mildert Hautirritationen / wirkt hautberuhigend (v.a. als Zusatz in <div class="tooltip">tensidischen Produkten
<span class="tooltiptext">Produkte, die ein Tensid enthalten</span></div>) und gilt allgemein als ausgesprochen hautverträglich. Dadurch bewährt es sich in Rezepturen für entzündliche & sensible, trockene, sowie fettende & unreine Hautzustände.
Besonders bei Fußcremen ist es ein beliebter Wirkstoff, da Allantoin die Hornhaut erweicht. Unschlagbar in Kombination mit Urea!
''Einsatzkonzentration:'' 0,1-0,5%. Nicht höher dosieren, da es im Endprodukt kristallisieren kann.
Es wird aufgrund seiner intensiven Wirksamkeit in geringen Dosierungen eingesetzt. Eine 0,2%ige Lösung hat die gleiche <div class="tooltip">keratoplastische
<span class="tooltiptext">hier: Hornhaut erweichende</span></div> Wirkung wie eine 10%ige Harnstofflösung (siehe auch Harnstoff). Im Gegensatz zu Harnstoff wirkt Allantoin jedoch nicht <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div>.
''Lagerung:'' Trocken
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]]
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Allantoin wird in die noch warme <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> gerührt (hitzestabil bis 80°C), um eine bessere Löslichkeit zu erzielen. Oder in die noch handwarme Creme einrühren.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Allantoin]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Allantoin]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Bei Allergien / zur Immunsystemstärkung können folgende Zutaten hilfreich sein:''
<$list filter="[tag[Alle Zutaten: Allergien]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Allergien]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für die Seele können folgende Zutaten hilfreich sein:''
<$list filter="[tag[Alle Zutaten: Für die Seele]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Für die Seele]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken gegen Krankheitserreger:''
<$list filter="[tag[Alle Zutaten: Gegen Krankheitserreger]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Gegen Krankheitserreger]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich in der Haarpflege:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Haarpflege empfohlen wird! (zumindest bei den "feuchtigkeitsspendenden") -manche Tags verallgemeinern etwas...
<$list filter="[tag[Alle Zutaten: Haarpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Haarpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich in der Hautpflege:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (manche Tags verallgemeinern etwas...)
<$list filter="[tag[Alle Zutaten: Hautpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Hautpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Hautproblemen:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (manche Tags verallgemeinern etwas...)
<$list filter="[tag[Alle Zutaten: Hautprobleme]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Hautprobleme]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Problemen mit Verdauung / Magen / Darm / Essen:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Problemen mit Verdauung / Magen / Darm / Essen empfohlen wird! (manche Tags verallgemeinern etwas...)
<$list filter="[tag[Alle Zutaten: Probleme mit Verdauung/Magen/Darm/Essen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Probleme mit Verdauung/Magen/Darm/Essen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Problemen im Bereich Mundraum / Zähne:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Problemen im Bereich Mundraum / Zähne empfohlen wird! (manche Tags verallgemeinern etwas...)
<$list filter="[tag[Alle Zutaten: Probleme Mundraum / Zähne]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Probleme Mundraum / Zähne]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Rachen / Erkältungs- & Grippesymptomen:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Rachen / Erkältungs- & Grippesymptomen empfohlen wird! (manche Tags verallgemeinern etwas...)
<$list filter="[tag[Alle Zutaten: Rachen / Erkältungs- & Grippesymptome]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Rachen / Erkältungs- & Grippesymptome]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich für sonstige Einsatzgebiete/Unwohligkeiten:''
<$list filter="[tag[Alle Zutaten: Sonstige Einsatzgebiete/Unwohligkeiten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Sonstige Einsatzgebiete/Unwohligkeiten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich für Sonstiges im Leben:''
<$list filter="[tag[Alle Zutaten: Sonstiges im Leben]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Sonstiges im Leben]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten können hilfreich für die Zahnpflege sein:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (manche Tags verallgemeinern etwas...)
<$list filter="[tag[Alle Zutaten: Zahnpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Alle Zutaten: Zahnpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Allergien:''<br/><br/>
<$list filter="[tag[Tierhaarallergie]] [tag[Nahrungsmittelallergie]] [tag[Heuschnupfen]] [tag[Hausstaubmilben-Allergie]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Allergien:''<br/><br/>
<$list filter="[tag[Tierhaarallergie]] [tag[Nahrungsmittelallergie]] [tag[Heuschnupfen]] [tag[Hausstaubmilben-Allergie]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/66f5524dd1.jpg" style=" float:left;padding: 0 1.5em 0 0;"/>
''Gutes Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es leicht zubereitet werden kann (ohne Xanthan noch einfacher, wird dann allerdings absolut dünnflüssig).<br/>
''Eigenschaft dieses Allesreinigers:'' Reinigt wunderbar, schäumt ein kleines bisschen und ist durch das Xanthan auch etwas dickflüssig (schießt also nicht wie Wasser aus der Flasche).<br/>
Jedoch ''nicht geeignet'' für alkaliempfindliche Oberflächen wie Marmor, polierter Granit, Kalkstein, kalkhaltige Materialien. Bei empfindlichen Oberflächen bitte vor der Anwendung an verdeckter Stelle prüfen!<br/>
''Meine Erfahrung damit:'' Verwende ich seit kurzem mit Begeisterung. Ich habe vorher Rezepte ausprobiert, die man vielfach im Netz findet mit geriebener Kernseife und auch mit Schmierseife. Alle Ergebnisse waren mir viel zu dünnflüssig und haben einfach nur schlecht gereinigt.
''Anwendung:'' Benötigte Menge auf einen Schwamm / Lappen oder die Oberfläche geben, verwischen und wieder abbrausen / abwischen.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> ml<br/>(Mindestmenge 100ml, wenn Du 0.07 - 0.14g Xanthan abwiegen kannst. Oder 85ml, wenn Du den Reiniger nicht verdicken möchtest und keine 0,01g-genaue Waage hast. Und wenn Du verdicken möchtest, aber keine 0,01g-genaue Waage hast, dann mind. 340ml)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 500 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /500* 500,2)</$calc>g/ml Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /500* 6.29,2)</$calc>g [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 13,2)</$calc>g [[Zitronensäure]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 0.36,2)</$calc> - <$calc>round({{!!gesamtmenge}} /500* 0.7,2)</$calc>g ( =<$calc>round({{!!gesamtmenge}} /500* 0.72,2)</$calc> - <$calc>round({{!!gesamtmenge}} /500* 1.4,2)</$calc> gestr. Messl.) [[Xanthan]] (?)
* <$calc>round({{!!gesamtmenge}} /500* 5,2)</$calc> - <$calc>round({{!!gesamtmenge}} /500* 10,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /500* 0.22,2)</$calc>-<$calc>round({{!!gesamtmenge}} /500* 0.45,2)</$calc>g) [[Lavendelöl]] (?)
<br/>
''Zubereitungszeit:'' Muss ich nochmal drauf achten...
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Wasser'' mit SLMI aufkochen & auf unter 100°C abkühlen lassen.
# ''Zitronensäure'' einrühren.
# ''Xanthan'' mit einem Schneebesen nach und nach einrühren @@font-size:0.8em;(ich habe Xanthan in einem kleinen Schälchen abgewogen und klopfe mit diesem gegen den Schneebesen, mit dem ich die ganze Zeit kräftig rühre. Auf die Art rieselt immer nur wenig Xanthan ein und verteilt sich sofort. So bekommst Du das beste, nämlich klumpenfreie, Ergebnis.).@@<br/>Nun sollten sich auch alle Zitronensäure-Kristalle aufgelöst haben.
# Auf Handwärme abkühlen lassen und ''Lavendelöl'' unterrühren.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* Am besten im Kochtopf rühren.
* Schneebesen
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort verwendbar. Die endgültige Konsistenz ist allerdings erst nach 1 Tag vorhanden (Xanthan & SCI dicken nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
Wasser: (durchschnittlich 0,2Ct / Liter)
Trägermaterial...
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,19€)
Reinigt, entfernt Fettiges, dabei hautschonend. Und macht ein bisschen Schaum (durch Schaumbildung wird Schmutz noch besser abtransportiert). Ausserdem senkt es die Oberflächenspannung des Wassers und sorgt so für eine bessere Haftung des Reinigers auf glatten Oberflächen.
[[Zitronensäure]] (0,09€)
Zitronensäure wirkt entkalkend, <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>.
Greift jedoch Marmor, Naturstein und andere kalkhaltige Materialien an. Bei empfindlichen Oberflächen bitte vor der Anwendung an verdeckter Stelle prüfen.
[[Xanthan]] (0,03-0,06€)
Xanthan macht den Allesreiniger dickflüssiger, damit er nicht nicht wie Wasser aus der Flasche schießt. Wenn Du das nicht möchtest, kannst Du es einfach weglassen.
__Alternative:__ [[Guarkernmehl]]
[[Lavendelöl]] (0,08-0,17€)
In diesem Rezept wird Lavendelöl aufgrund seines Dufts und der <div class="tooltip">desinfizierenden
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> Wirkung verwendet.
Dafür ist das "Lavandinöl" (Lavandula intermedia) oder das Spik-Lavendelöl / Spiköl (Lavandula latifolia) am besten geeignet- und wesentlich günstiger.
__Alternative:__ Zitronenöl, Orangenöl, Limettenöl, Eukalyptusöl, Grapefruitöl, Minzöl, Nelkenöl, Oreganoöl, Palmarosaöl, Rosengeranienöl, Teebaumöl, Thymianöl, Vanilleöl, Zitronenmelissenöl
''Selbstkonservierend durch'' Zitronensäure (<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>) & Lavendelöl (nicht nur konservierend, sondern auch <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>).
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 3 Monate haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 0,39-0,51€ für 500ml Gesamtmenge.
Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Allgemeingültiges bei der Selbstrührerei' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
''Bei allen Rezepten (v.a. für Haut- & Haarpflege) gilt:''<br/>
Jede Haut & jedes Haar reagiert anders. So ist eine z.B. eine Creme für trockene Haut nicht für alle Menschen mit trockener Haut perfekt. Es wird oftmals nicht ausbleiben, dass Du noch ein wenig experimentieren musst, bis Du das für Dich perfekte Rezept gefunden hast oder ein Rezept so verändert hast, bis es für Dich passt.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Amaranthus caudatus Seed Oil
''Jodzahl:'' 78-90 (nicht trocken)
''Schmelzbereich:'' -27°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' ca. 9 Monate
''Anteile an Unverseifbarem:'' 7–9% (Squalen eingerechnet)
''Verseifungszahl:'' 170-200
Aufgrund seines außergewöhnlich hohen Anteils an Squalen, einem hautverwandten, gut spreitenden Lipid und Triterpen mit antioxidativen Eigenschaften, und seinem ausgewogenen Fettsäure-Spektrum ist das klare, leicht gelbliche Amaranthöl ein ausgezeichnetes Basisöl für __trockene__ und __gereizte__ Haut mit __gestörter Barrierefunktion__. Es enthält die wesentlichen hauteigenen Lipide in einer ausgesprochen günstigen Zusammensetzung: Phytosterole unterstützen die Hautregeneration durch Stärkung der hauteigenen Lipidbarriere. Durch den hohen Squalen-Gehalt besitzt es darüber hinaus die Fähigkeit, UV-Strahlen zu absorbieren. Eine Studie belegte die Fähigkeit von Squalen, Sauerstoffmoleküle freier Radikale zu »quenchen«, d. h. in einen unangeregten Zustand zurück zu versetzen und dadurch die Lipidoxidation effektiv zu verhindern. Diese Ergebnisse lassen Amaranthöl als geeignetes Öl für Sonnenpflege-Produkte erscheinen.
In einer Studie wurde seine __entzündungshemmende__ Wirkung bei __Psoriasis vulgaris__ bestätigt.
Amaranthöl wird durch seine Affinität zu hauteigenen Lipiden __sehr gut aufgenommen__, es wirkt __feuchtigkeitserhaltend__ und __rückfettend__. Sein hoher Gehalt an Squalen und Phytosterolen bewirkt ein __gutes Einziehverhalten__ und eine __gute Spreitfähigkeit__; dies zeigt auch sein sehr niedriger Schmelzbereich von ca. -27 °C, trotz des hohen Gehalts an Palmitinsäure: beide Eigenschaften würde man, nur mit Blick auf das Fettsäurespektrum, eher gering einschätzen. In Rezepturen für __reife Haut__ empfehlen sich Kombinationen mit α- oder γ-linolensäurehaltigen Ölen, z. B. Preiselbeersamen-, Hanf-, Wildrosen-, Holundersamen- oder Johannisbeersamenöl.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Amaranthöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Amaranthöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
Mit diesem Befehl kannst Du eine andere Webseite (z.B. auch ein anderes Wiki) in Dein Wiki einbinden:
```
<iframe src="URL" width="640 height="480"></iframe>
```
Die Breite & die Höhe kannst Du mit dem width- & dem height-Wert justieren.
<div style="background:White;">
"""
Musst Du einem Tiddler einen anderen Titel geben, als er in der Seitenleiste angezeigt werden soll, ist auch das kein Problem.
Bei mir ist das häufig bei Tags so, die ich in einer bestimmten Sortierung haben möchte.
Die nennen sich dann zum Beispiel so: @@color:green;A.1G.Vorhanden@@. Möchte ich aber in der Seitenleiste in einem Inhaltsverzeichnis nur @@color:green;Vorhanden@@ sehen, so gebe ich im Vorhanden-Tiddler ganz unten im Feld Name caption ein und daneben im Feld Text/Wert Vorhanden ein. Die Sortierung im Inhaltsverzeichnis richtet sich aber immer nach den Originalnamen. Kann ich aber natürlich auch noch beeinflussen, indem ich z.B. nach Erstellungsdatum sortiere und nach bestimmten Feld-Werten.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Durch die Kombination aus Fett und Eingebranntem lassen sich Fritteusen, Pfannen und Töpfe oft nur schwer reinigen. Gefäße einfach mit [[Waschsoda]]lösung füllen und diese aufkochen lassen. Dann lässt sich der Schmutz schnell entfernen.
Dosierung:
1–2 TL (5-10g) Reine Soda auf 100ml Wasser
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""
<div style="background:White;">
Dieser Tiddler hat einen altrosafarbenen Titel-Hintergrund, weil er den Tag "Farbig" hat. Wenn Du auch Titelhintergründe aufgrund bestimmter Tags farbig haben möchtest, dann erstelle einen Tiddler mit folgendem Befehl:
`div.tc-tagged-Farbig .tc-tiddler-title {
background-color: #09B9F7;
}`
Was für ein Tag der auslösende ist, ist völlig egal. "Farbig" kann also auch irgendein anderer Tag sein.
Außerdem tagge den Tiddler mit "$:/tags/Stylesheet".
Die eingesetzten Farben müssen englisch sein oder die entsprechenden Code-Nummern haben, siehe z.B.<br/>
https://bfw.ac.at/020/farbtabelle.html (englische Farbtabelle) oder Colorpicker: https://www.w3schools.com/colors/colors_picker.asp
<div style="background:White;"><br/>
Wenn Du nach der Haupteinrichtung des Designs weitere Design-Anpassungen vornehmen möchtest:<br/><br/>
Wenn Du auf der Seite (am besten dort, wo Du gerne etwas anpassen möchtest), einen Rechts-Klick ausführst, öffnet sich ein Popup, dort gehst Du auf "Element untersuchen (Q)".<br/>
Dann öffnet sich unten auf der Seite der Inspektor.<br/><br/>
[img[http://up.picr.de/31644386dv.jpg]]
Wenn Du -wie ich im Screenshot- im linken Panel mit der Maus auf `+ <div class="tc-tiddler-tite"></div>` zeigst, ist der Tiddlertitel, wo Du im Wiki gerade bist, blau markiert. (Lässt sich im Screenshot leider nicht zeigen, da die blaue Markierung nur so lange angezeigt wird, wie die Maus dort verweilt).<br/>
Im rechten Panel kannst Du nun rumtesten, was sich wie verändert, wenn Du dort den grünen Text / Zahlen änderst.<br/>
Diese Änderungen werden aber nicht gespeichert!<br/>
Um das gewünschte Design zu speichern, musst Du einen Tiddler erstellen, mit $:/tags/Stylesheet taggen und dort dein gewünschtes Design hineinschreiben- siehe z.B. mein [[Seiten und Tiddler Style]].
<br/><br/>
__Soll nur ein bestimmter Tiddler (oder mehrere bestimmte Tiddler)__ so designt werden bzw. anders designt werden, so gebe ganz unten im Tiddler im "Feld Name" @@color:green;customstylefield@@ ein und daneben im "Feld Text/Wert" gib @@color:green;customframe@@ ein.
Dann erstelle einen Tiddler, tagge ihn mit $:/tags/Stylesheet und schreibe folgendes in den Tiddler:<br/><br/>
`[data-style="customframe"] {
{ padding: 5px 5px 1px 60px; border:2px solid Fuchsia; }
}
[data-style="customframe"] {
padding: 5px 5px 1px 60px; border:2px solid Fuchsia; }`
<br/><br/>
Wobei `padding: 5px 5px 1px 60px; border:2px solid Fuchsia;` das Design selbst ist. Das kannst Du natürlich so schreiben, wie Du das Design haben möchtest- siehe Rechtsklick auf Seite >Elemente untersuchen >rechtes Panel.<br/><br/><br/>
''Anleitung mit Beispielen / Ideen für CSS-Styling: https://www.w3schools.com/css/css_examples.asp''<br/><br/>
Eine gute (englischsprachige) Anleitung für Seiten- & Tiddler-Styling:<br/>
http://docsuggestions.tiddlyspot.com/#Page%20and%20tiddler%20layout%20customisation2
"""Fettphase:
1,5 g Tegomuls
5 ml Aprikosenkernöl
Wasserphase:
35 ml Wasser
Wirkstoffphase:
5 ml Arganöl
2,5 ml Weizenkeimöl
10 Tr. Sanddornfruchtfleischöl
1 kl. ML Hyaluronsäure
1 kl. ML Elastin
1 ML Tigerkrautextrakt
1,5 ml Propolistinktur
1 Kapsel Q10
2 Tr. ÄÖ Styrax
3 Tr. ÄÖ Frangipani
Konservierung:
1,5 ml Weingeist (Propolistinktur und Tigerkrautextrakt wirken ebenfalls konservierend)
Die Konsistenz des Serums geht in Richtung Cremefluid und ist optimal für den Pumpspender.
Es zieht ganz schnell ein, ist nicht fettend, wirkt leicht straffend durch das Weizenkeimöl und macht die Haut prall und glatt. Durch das Propolis wirkt es schön porenverfeinernd.
Frangipani hat stark regenerierende Eigenschaften, es mildert Rötungen und Reizungen, außerdem duftet es himmlisch.
Das Serum ist sehr langanhaltend feuchtigkeitsspendend.
Für fettige Haut oder im Sommer auch bestimmt allein ausreichend, bei trockener Haut eine Creme darüber geben.
"""100% = 100g
45 Wasser, abgekocht
22 Lavendelhydr.
22 Weingeist
8 Jojoba
1 LL
2 ÄÖ
Auf die Gesamtmenge von bei mir 67g Spray habe ich folgende ÄÖs benutzt (bin zum umrechnen von durchschnittlich 22 Tr. äö pro Gramm ausgegangen. Die einzelnen Öle jetzt in Prozent zu rechnen überfordert mich grad
Je 10 Tr. Citronella und Lemongrass
Je 5 Tr. Lavendel fein und Palmarosa
3 Tr. Teebaumöl
Alles in einer Sprühflasche gut geschüttelt und mein Kind von oben bis unten eingenebelt. Nur das Gesicht habe ich mit einem Wattepad vorsichtig abgerieben. Er riecht ziemlich heftig...
Hat aber definitiv gewirkt!!
Du könntest höchstens versuchen, falls sich die Dosierung der ätherischen Öle doch als zu hoch für ihn erweisen sollte auf 1 Prozent reduzieren und statt dessen 5 - 10 % Niemblättertinktur testen. Niemöl nur 0,5-2% das hilft zwar garantiert, aber riecht halt streng. Die Neemblättertinktur ist geruchsneutral, nur das Öl riecht streng.
Ich sollte mir auch ein Spray für den Körper fertig machen. Ich hatte mal ein ganz einfaches, nur mit Lavandin und Citronella. Das hat auch gut gewirkt.
Ich habe ein einfaches Raumspray gemacht. Dazu habe ich Geranium, Lavandin, Eukalyptus, Lemongrass, Zeder und Litsea in eine Blauglasflasche getropft und mit Wodka aufgefüllt. Kräftig schütteln und sprühen!
Eine weitere Mischung von ätherischen Ölen enthält Rosengeranie, Lavandin, Patchouli, Lemongrass, Citronella und Nelkenknospe. Damit bedufte ich kleine Sandrosen, die ich auf den Fensterbänken verteilt habe.
Ich bin auch total zerstochen und habe für die Arbeit jetzt mal meine Duftlampe mitgenommen. Dort habe ich dann in die Schale einfach nur Wasser und 10 Tropfen Citronella und 10 Tropfen Eukalyptus (mehr passende ÄÖ hatte ich nicht) gegeben und sie an die Balkontür, vor meinem Schreibtisch gestellt. Ich kann sagen, dass ich seitdem nicht mehr dort gestochen wurde! Und vorher hab ich die während des Arbeitens picksen gemerkt!
folgende Mischung benutzte ich gegen stechende Plagegeister. In 10ml Weingeist jeweils 3 Tropfen Lavendel, Teebaum, Zeder, Zitrone, Eukalyptus und Nelkenöl lösen, dann mit 90 ml Teebaumhydrolat auffüllen, der Geruch ist nicht jedermanns Sache, aber bei mir hält es die Mücken fern.
"""20 ml Aprikosenkernöl
5 ml Wildrosenöl
2 Tr. ÄÖ Cistrose
2 Tr. ÄÖ Immortelle
2 Tr. ÄÖ Karottensamen
10 Tr. ÄÖ Lavendel extra
10 Tr. ÄÖ Grapefruit
Das ist natürlich _ ganz entfernt _ dem Elixier von l'Occitane nachempfunden. Das Squalan, das da drin ist, habe ich weggelassen, da meine Haut mit Squalan nicht so glücklich ist. Die Wirkung entsteht sowieso durch die straffenden, gewebsregenerierenden und entschlackenden ( Hi, Cotton ) ätherischen Öle und natürlich das Wildrosenöl.
Ich benutze dieses Öl schon lange und sehr gern; ich nehme es entweder unter der gerade angesagten Pflege oder pur auf gesichtswassernasser Haut. Die Haut wird glatt und schön, und ich liebe den Duft.
"""Mein Göttergatte hatte Bläschen entwickelt, und da ich kein Melissenöl habe (weil sehr teuer), musste ein Ersatz her. Habe folgendes zusammengestellt, wobei man für die Nachbehandlung dann ggf. nochmal die Menge braucht:
20 Tr Teebaumöl (Melaleuca Alternifolia)
10 Tr Niaouli (Melaleuca quinquinerva Viridiflora; MQV)
24 Tr Lavendel (Lavandula augustifolia)
3 Tr Geranium (Pelargonium Odorantissimum)
3 Tr Eukalyptus (Chemotyp Radiata)
Hatte meinem Menne gesagt, er soll das 3x tgl auf das Bläschen auftragen, bis es spannt und ausgetrocknet ist.
Nach ca 20Std war das Ding aber schon weg ...nachbehandeln mochte er nicht ( hatte die o.g. Mischung zu 10% in Haselnussöl (geht auch jedes andere fette, aber das hatte ich gerade da) gelöst, er sollte das dann noch 2-3 Tage benutzen und danach Lippenpflegestift.
Mal ein Erfolg ...und was noch besser ist (für mich): der Mix killt entzündete Pickel /Pusteln. Etwas stinkig, aber wirksam ... falls jemand Fragen zu den Ölen und deren Bestandteile /Wirkungen hat, stehe ich gern zur Verfügung.
Eine Warnung noch: der Mix ist relativ hautverträglich, aber bitte trotzdem nur punktuell verwenden. Und am besten vorher mit den Ölen, die Ihr noch nicht kennt /einschätzen könnt, einen Allergietest machen ( Armbeuge, pur oder in der Verdünnung, wie Ihr sie später benutzen möchtet; 24Std warten, zur Sicherheit ggf. wiederholen).
Hört sich vielleicht schräg an, aber ich bin als Asthmatiker lieber übervorsichtig, manche Nebenwirkungen sind nicht ohne...
Ich hoffe, Ihr findet das Rezept nützlich. Man kann auch nur Teebaumöle nehmen, aber den Gestank halte ich nicht aus . Und die zusätzlichen Öle sind ebenfalls gut wirksam und hautfreundlich.
Versuch Deine Mischung mal in Johanniskrautöl, dann schmerzen die Bläschen weniger.
ich tupf mir bei den ersten anzeichen immer zinkoxid pur drauf, hilft wunderbar und am nächsten tag ist meist schon alles weg.
"""5 g Jojobaöl
3 g Shea
2 g Bienenwachs
2 g Lanolin
2 g Zinoxyd
5 Tr. Teebaumöl
Dieser Stift ist sehr wirksam, riecht aber nicht sehr gut und weißelt sehr. Daher sollte er wirklich nur nachts verwendet werden.
https://www.olionatura.de/kosmetikrezepturen/gesichtspflege/usnea-pickelpaste
"""Auch für Kinder!!
Ein wirklich wirksames Spray, das Schnaken abwehrt (und meinem Sohn diesen Sommer seine schlimm anschwellenden Stiche erspart hat):
100% = 100g
45 Wasser, abgekocht
22 Lavendelhydr.
22 Weingeist
8 Jojoba
1 Lysolecithin
2 Ätherische Öle, die Mücken abwehren
Auf die Gesamtmenge von bei mir 67g Spray habe ich folgende ÄÖs benutzt (bin zum umrechnen von durchschnittlich 22 Tr. äö pro Gramm ausgegangen. Die einzelnen Öle jetzt in Prozent zu rechnen überfordert mich grad
Je 10 Tr. Citronella und Lemongrass
Je 5 Tr. Lavendel fein und Palmarosa
3 Tr. Teebaumöl
Man kann auch andere ÄÖs nehmen, die gegen Stechmücken helfen!
Alles in einer Sprühflasche gut schütteln.
Ich habe meinen Sohn von oben bis unten leicht damit eingesprüht. Im Gesicht habe ich das Spray mit einem Wattepad aufgetragen und Mund und Augenpartie gut ausgespart.
Auch gut helfen soll Zitroneneukalyptus (Corymbia citriodora) ÄÖ.
"""''Anti-Zecken-Spray'' (Geruch ist allerdings nicht so toll!- Evtl. ätherische Öle dazu, die gegen Zecken wirken??):
125 ml dest. Wasser
2 ml Neemöl
2 ml Kokosöl, vergin duftend
4 ml Rimulgan
2 ml Neemblättertinktur
3 Tr. Teebaumöl
konserviert mit Biokons und Rokonsal
alles zusammen kippen, vor Gebrauch schütteln, fertig.
Das Kokosöl wird allerdings schnell hart. Ich stell im Moment das Spray immer vor Gebrauch kurz in heißes Wasser, oder auf die Heizung. Wenn die Temperaturen steigen braucht man das nicht mehr. Wem das zu umständlich ist läßt es einfach weg und reduziert das das Rimulgan um die Hälfte. ''>>Wahrscheinlich Kokosöl weglassen (dann weniger fettig) & dann Rimulgan um die Hälfte reduzieren!''
"""
----------------------------------------------------------------------------------------------------------
''Bei akutem Läuse- oder Flohbefall'' kann man die EK bis auf 20 % Neemöl oder Mix mit der Neemblättertinktur erhöhen.
----------------------------------------------------------------------------------------------------------
"""''Neemlotion ohne Gestank gegen Mücken''
Fettphase: 30 g = 16,12 %
14 g Avocadoöl = 7,777 %
6 g Kokos = 3,33333
8 g Tegomuls = 4,44444444 %
1 MSP Xanthan
Wasserphase ca. 156 g = 83,87 %
etwas Honig (das war in etwa ein Mokkalöffel)
150 g Wasser = 83,333333 %
15 T Squalan = 1%
1 ML D-Panthenol
60 Tropfen Neemöl = 1 % ( besser 2%)
15 Tropfen Citronella ÄÖ
20 Tropfen Lemongrass ÄÖ
11 Tropfen Lavendel ÄÖ
Man nimmt vom Geruch her wirklich nichts mehr vom Neem war.
Schützt vor Mückenstichen und meine Freundin hat berichtet dass ihr Ekzem sehr gut abgeheilt ist mit der Lotion.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=190 src="https://share-your-photo.com/img/110286a7ab.jpg" style=" float:left;padding: 0 1.5em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann.
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieser Mundspülung:'' Wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div>,
<div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span></div>,
<div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span></div>, keimtötend, entzündungshemmend,
<div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>, karieshemmend, Mundgeruch-neutralisierend, reguliert den pH-Wert im Speichel.<br/>
<div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div> & Zahnstein werden gemindert.<br/>
Sorgt für festes Zahnfleisch und hat eine leicht bleichende Wirkung auf die Zähne.<br/>
Ist gut geeignet für empfindliche Zähne & Zahnfleisch (da schmerzstillend & beruhigend).<br/>
''Meine Erfahrung damit:'' Benutze ich erst seit kurzem.
''Anwendung:'' Vor jeder Anwendung schütteln, da sich Natron & die Gewürze unten absetzen. Den Mund mit ca. 15ml ( = ca. 1 EL) für 1-2 Minuten gründlich spülen. Danach __nicht__ mit Wasser ausspülen.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> ml (Mindestmenge 90ml)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 250 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /250* 240,2)</$calc>ml lauwarm abgekühlter [[Salbeitee]]+[[Rooibushtee]] / Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /250* 25,2)</$calc>g [[Xylit]] @@font-size:0.8em;(5g sind ca. 2 leicht gehäufte 2,5ml-Messl.)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /250* 5.3,2)</$calc>g [[Natron]] @@font-size:0.8em;(5.3g sind ca. 1 TL)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /250* 2,2)</$calc>g [[Zimt]] @@font-size:0.8em;(2g sind ca. 1 TL)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /250* 3,2)</$calc> [[Nelken]] (!!)
* <$calc>round({{!!gesamtmenge}} /250* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /250* 0.22,2)</$calc>g) [[Minzöl (Pfefferminze oder Krauseminze)]] (!!) @@font-size:0.8em;color:red;Achtung: Tropft schnell!@@
* <$calc>round({{!!gesamtmenge}} /250* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /250* 0.22,2)</$calc>g) [[Zitronenöl]] (!!)
<br/>
''Zubereitungszeit:'' Ca. 10 Minuten
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# Je ''1 Teebeutel Salbeitee & Rooibushtee'' mit den ''Nelken'' & ca. <$calc>round({{!!gesamtmenge}} /250* 270,2)</$calc>ml ''Wasser'' aufkochen und nach dem Abkühlen davon <$calc>round({{!!gesamtmenge}} /250* 240,2)</$calc>ml verwenden.
# ''Xylit'', ''Natron'' & ''Zimt'' unter Rühren im Tee/Wasser auflösen.
# Nach dem Abkühlen ''Minzöl'' & ''Zitronenöl'' untermischen.
# In ein Behältnis füllen.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* Wasserkocher (Natürlich kann man das Wasser auch im Topf oder der Mikrowelle aufkochen.)
* Behältnis zum Rühren, z.B. ein Glas
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort nach der Herstellung verwendbar. Die Konsistenz verändert sich auch nicht mehr.
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Salbeitee]] (0,07€)
Salbeitee wirkt entzündungshemmend, <div class="tooltip">adstringierend
<span class="tooltiptext">= zusammenziehend</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>.
[[Rooibushtee]] (0,10€)
Beugt Karies vor durch natürlich enthaltenes Fluor. Außerdem wirkt er antibakteriell, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>.
[[Xylit]] (0,50€)
Xylit / Birkenzucker wirkt antibakteriell, karieshemmend, <div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div> & Zahnstein werden gemindert.
[[Natron]] (0,02€)
''Achtung:'' Achtet darauf, möglichst fein pulverisiertes Natron zu kaufen (grobes hat eine Körnung ähnlich wie Salz & ist zu heftig für die Zähne)!
Wirkt geruchsneutralisierend, antibakteriell & antifungal. Außerdem reguliert Natron den ph-Wert im Speichel. Das ist wichtig, um Krankheiten wie Karies und Parodontitis vorzubeugen.
[[Zimt]] (0,09€)
Zimt wirkt antibakteriell, entzündungshemmend & schmerzstillend, was sich positiv auf empfindliche Zähne und Zahnfleisch auswirkt.
[[Nelken]] (0,01€)
Nelken wirken antibakteriell, entzündungshemmend & schmerzstillend, was sich positiv auf empfindliche Zähne und Zahnfleisch auswirkt.
[[Minzöl (Pfefferminze oder Krauseminze)]] (0,12€)
Minzöl wirkt antibakteriell, beruhigend, entzündungswidrig, keimtötend & schmerzstillend.
[[Zitronenöl]] (0,10€)
Zitronenöl wirkt antibakteriell, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>.
Es sorgt für festes Zahnfleisch und hat eine leichte bleichende Wirkung auf die Zähne.
''Selbstkonservierend durch'': Alle Zutaten wirken <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>. Ausserdem wirken die enthaltenen ätherischen Öle (Minzöl & Zitronenöl) konservierend.
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 6 Monate haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 1,01€ für 250ml Gesamtmenge. Stand August 2018
<div style="clear:both;line-height:0px;"></div>
"""2,5 ml Aprikosenkernöl
1 geh. ML Sheabutter
ca. 1 1/2 ML Tegomuls
20 ml Wasser
1 Messersp. Hyaluron
1 kl. ML Elastin
8 ml Avellanaöl
2 ml CO2 Wildrosenöl
10 Tr. Sanddornfruchtfleischöl
1 ML Panthenol
2,5 ml Rosenextrakt
1,5 ml Glycerin
20 Tr. Fibrostimulin ( von Duft u. Schönheit)
4 Tr. ÄÖ (2 Tr. Rosa Centifolia, 1 Tr. Orange, 1Tr. Palmarosa)
5 Tr. Paraben
Aprikosenkernnöl, Sheabutter und Tegomuls im Wasserbad schmelzen. Wasser abkochen, Elastin und Hyaluron darin auflösen und mit der Fettphase verrühren.
Nach dem Abkühlen Avellanaöl, CO2 Wildrosenöl, Sanddornfruchtfleischöl und Wirkstoffe dazugeben.
Diese im ersten Moment sehr reichhaltige Creme zeigt bei meiner Haut wirklich eine Wirkung. Nach dem eincremen, sieht meine Haut bißchen so aus, als hätte ich eine Foundation drauf.
Außerdem ist die Creme durch das Avellanaöl leicht straffend und die Haut sieht ganz prall aus.
Kleine Fältchen verschwinden wirklich!!!!!
Sie macht eine absolut glatte und ebenmäßige Haut.
"""1Tl Zinkoxid
1Tl Kieselsäure
1 Tl D-Panthenol
1Tl Salbeiextrakt (selbstgemacht)
1 Tropfen Manuka ÄÖ
1 Tropfen Teebaum ÄÖ
1 Tropfen Lavendel ÄÖ
Einfach alles miteinander verrühren.
Punktuell auf die Pickel tupfen.
Wenn Du den Salbeiextrakt aus hochprozentigem Alkohol machst brauchst Du nicht extra konservieren.
Frischen oder getrockneten Salbei mit ausreichend Alk übergießen und zwei Wochen verschlossen ziehen lassen. Immer darauf achten, dass der Alk ca 1 cm über den Kräutern steht, sonst gammelt es. oder Du kaufst einfach Salbeitinktur in der Apotheke. Bei den Rohstoffhändlern gibt es auch alle möglichen Kräuterextrake und manchmal auch Tinkuren.
In diesem Fall würde ich die kolloidale Kieselsäure verwenden. Die gibts im Reformhaus.
"""eine mischung gefunden, bei der kleine pickel bei mir ratzfatz abheilen + unterlagerungen fix nach oben kommen + sich dadurch viel schneller verabschieden.
ich habe den eindruck, dass v.a. salz + lorbeeröl bei mir zusätzliche erfolge bringen.
ich rühre immer kleine mengen, damit die äö-wirkstoffe schön frisch bleiben. da es punktuell aufgetragen wird, braucht man ja nicht viel davon. wie oft bei kleinstmengen + durch die viele experimentiererei: die untenstehenden mengenangaben sind circa-angaben. gerade bei den ölen muss man natürlich checken, ob man sie verträgt.
1 gr. gehäufter ML zinkoxid
1 gr. gehäufter ML kieselsäure
1,5 kl. ML sole (aus totem-meer-salz)
1 msp. panthenol
1 msp. grünes lorbeeröl (tendiert mehr in richtung 0,5 kl. ML)
2 tr. salbei äö
2 tr. rosmarin äö
ca. 1 gr. ML babassu
bzw. soviel, dass es schön pastig wird + gut auf der haut haftet.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=330 src="https://share-your-photo.com/img/6d9a76fd15.jpg"/>||
|<h6>KUGerhardt, [[Apfelwunder Birkengrund|https://commons.wikimedia.org/wiki/File:Apfelwunder_Birkengrund.jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 4.0|https://creativecommons.org/licenses/by-sa/4.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Flüssigkeit, Wirkstoff, ''Löslichkeit:'' Wasserlöslich
''INCI-Bezeichnung:'' Acetum
''Ursprung/Beschreibung:'' Apfelessig ist ein Speiseessig aus Apfelwein. Durch Fermentation dieser alkoholhaltigen Basis entsteht Essig.
''Duftprofil:'' Starker Essiggeruch halt... Dieser verfliegt aber nach der Trocknung :-)
''Inhaltsstoffe:'' Apfelessig enthält über 90 Inhaltsstoffe, dazu zählen Folsäure, Beta-Karotin, Vitamin C, Bioflavonide, Tannin und organische Säuren.
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, erfrischend, hautstraffend & durchblutungsfördernd. Macht Haare weich, besser kämmbar & glänzend. Reguliert den pH-Wert der Kopfhaut, verhindert eine übermäßige Talgproduktion, vermindert Kopfhautjucken & wirkt gegen Schuppen.
''Lagerung:'' Er muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' Wirkt austrocknend auf die Haut- also mit Vorsicht anwenden! Bei oralem Genuss: Nicht täglich in größeren Mengen zu Dir nehmen, da er sonst die Zähne schädigen kann.
''Erhältlich bei:'' Ich kauf ihn beim Biomarkt um die Ecke.
''Worauf beim Kauf achten:'' Bio-Qualität & naturtrüb.
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Apfelessig]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Apfelessig]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Eine intensive Durchblutung und Hautstraffung erzielst du durch Zugabe von [[Apfelessig]] im Badewasser. 200-250ml sind für ein 15-minütiges Bad ausreichend.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Die folgenden Anwendungen können insbesondere bei Schuppenflechte Linderung verschaffen. So kannst du [[Apfelessig]] zur schonenden Behandlung von <div class="tooltip">Psoriasis
<span class="tooltiptext">Schuppenflechte; nicht ansteckende Hautkrankheit, die sich im Wesentlichen durch punktförmige bis handtellergroße gerötete, stark schuppende Hautstellen zeigt</span></div> einsetzen:
''Als Haarspülung''
Eine Apfelessig-Haarspülung löst Hautschuppen, fördert die Abheilung und verhindert das Nachschuppen. Mische dazu 1 Teil Apfelessig mit 2 Teilen Wasser und wende diese Spülung nach der normalen Haarwäsche an.
''Flechtenbehandlung''
Betupfe die betroffenen Körperstellen mit einer Mischung aus Wasser & Apfelessig im Verhältnis 1:1. Nach 10 Minuten Einwirkzeit kannst du die Flechte mit klarem Wasser abwaschen und eine reizarme Creme auftragen.
Bei hartnäckiger Verschuppung trägst du ihn unverdünnt auf. Nach 7 Tagen ist mit einer deutlichen Besserung zu rechnen und eventuell nach längerer Anwendungszeit auch mit einer erscheinungsfreien Haut.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Nicht selten folgt auf die Trocken- oder Nassrasur ein unangenehmer Rasurbrand. Damit es gar nicht so weit kommt, kannst du die Rötungen der irritierten Haut mit unverdünntem [[Apfelessig]] betupfen. Er wirkt wie ein Aftershave entzündungshemmend und vorbeugend gegen einwachsende Haare.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Schnittwunden, Schürfungen sowie Sonnenbrand sind nicht nur unangenehm, sondern fordern die Haut heraus, sich mit zusätzlichen Aufgaben der Regenerierung zu befassen. Du kannst diesen Vorgang unterstützen, indem du die betroffene Hautstelle mit unverdünntem [[Apfelessig]] vorsichtig betupfst. Das fördert die Blutgerinnung und wirkt <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>.
Alternativ legst du ein in Obstessig getränktes Tuch auf die Stelle. Die Kühlung unterstützt den Heilungsprozess zusätzlich.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Prunus Armeniaca (Apricot) Kernel Oil
''Jodzahl:'' 90–115 (nicht trocken/halbtrocken)
''Schmelzbereich:'' –4 bis –21°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' 0,4–1,3%
''Verseifungszahl:'' 185–195
__Verträgliches Basisöl für alle Hauttypen. Sensible, trockene Haut, Babyhaut. Hervorragendes Massageöl, Reinigungsöl, Basisöl für aromatherapeutische Mischungen.__
Es aktiviert den Hautstoffwechsel und unterstützt die Zellerneuerung. Es wirkt __gewebestraffend__ und wird daher oft in __Cellulite__-Ölen verwendet.
Aprikosenkernöl ist ein universell einsetzbares Basisöl, das auch von __empfindlicher Haut__ gut vertragen wird und __gut einzieht__.
Durch __seine Milde__ ist es ein ideales Öl für die Babypflege und kann auch __pur__ (z.B. als __Make-up-Entferner__ oder __Babyöl__) angewendet werden. Aprikosenöl __wirkt glättend, besänftigend und zieht gut ein, penetriert jedoch nicht sehr tief in die Hornschicht__. Rezepturen mit Aprikosenöl sind aufgrund des ähnlichen Fettsäurespektrums denen mit Mandelöl ähnlich, haben jedoch eine __etwas leichtere Konsistenz__ durch den tendenziell höheren Anteil an Linolsäure.
Aprikosenkernöl ist ein sehr schönes Öl für leichte Feuchtigkeitscremes. Kombiniere es je nach Hautzustand z.B. __mit Traubenkernöl (für eher fette Haut)__ oder einem linolensäurereichen Öl __bei tendenziell trockener Haut (z.B. Nachtkerzenöl oder Wildrosenöl)__; ein Zusatz von Jojobaöl wirkt oxidativ stabilisierend. In vielen Quellen wird es als Öl für reifere Haut empfohlen; von seiner Zusammensetzung her scheinen andere Öle prädestinierter. Ein möglicher Grund ist eventuell der Gehalt an Pangamsäure, der anregend auf die Sauerstoffversorgung von Zellen wirken soll; vermutlich resultiert daraus die in manchen Quellen notierte Aussage, Aprikosenkernöl lasse »die Haut strahlen«. Seriöse Quellen dazu liegen mir zur Zeit leider noch nicht vor. Ich selbst verwende es, auch wenn ich eher reiferen Semesters bin, ausgesprochen gerne als mildes, reizloses Basisöl in meinen Rezepturen; sein Vorteil liegt aus meiner Erfahrung vor allem in seiner Milde, die es als Öl bei __irritierten und gereizten Hautzuständen__ prädestiniert.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Aprikosenkernöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Aprikosenkernöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Argania Spinosa Kernel Oil
''Jodzahl:'' 95–105 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' ca. 1%
''Verseifungszahl:'' 187–197
Das kostbare leicht gelbliche Arganöl gilt als hervorragendes Öl für __trockene und reife Haut__. Auch __erkrankte Haut__ profitiert vom Fettsäurespektrum dieses Öls, das sich durch eine ausgewogene Kombination an Öl-, Palmitin- und Linolsäure auszeichnet. Traditionell wird Arganöl bei __Problemhaut, Akne, Allergien, Dermatosen, Neurodermitis und Schuppenflechte__ eingesetzt. In Kombination mit trocknenden Ölen (mit mehrfach ungesättigten Fettsäuren, z. B. Wildrosenöl oder Granatapfelsamenöl) ergibt es ausgesprochen pflegende Rezepturen mit einer langfristigen Optimierung der hauteigenen Barrierefunktion und bietet sich insbesondere in Rezepturen für __reife und barrieregestörte Haut__ an. __Fettende, unreine und Mischhaut__ profitiert von dem hohen Linolsäuregehalt und der gleichzeitig vergleichsweise guten oxidativen Stabilität durch den Gehalt an der für Arganöl typischen Sterolfraktion.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Arganöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Arganöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Arthrose/Arthritis/Rheuma/Gicht:''<br/><br/>
<$list filter="[tag[Arthrose/Arthritis/Rheuma/Gicht]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Arthrose/Arthritis/Rheuma/Gicht:''<br/><br/>
<$list filter="[tag[Arthrose/Arthritis/Rheuma/Gicht]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Zum Testen von Duftmischungen kannst du von jedem Duft einen Tropfen auf ein Stück Tempo oder einen Zahnstocher geben und gemeinsam für einige Zeit in ein Schraubdeckelglas legen.
Nach einiger Zeit Deckel aufmachen und schnuppern.
PS: Das Glas darf natürlich nicht vorher schon nach irgendetwas riechen, z.B. Senf oder so.
Anleitung & Tips: https://www.aroma1x1.com/aetherische-oele-mischen/
https://www.kuhnke24.de/aetherische-oele-richtig-dosieren-verduennungsformel/
https://www.aromapflege.com/Grand-Cru-Farfalla-aetherische-Oele-Aromapflege-Aromatherapie-Duftwelt-Aromapflege-Magazin-DIY-Dosierung-Rezepte-Praktische-Tipps-zur-richtigen-Dosierung
Kauftips, Bücher, Kurse, etc.: https://www.aroma1x1.com/ressourcen/
!!''Ätherische Öle / Parfümöle''
''Einsatzkonzentration:'' Tropfenweise
''Umrechnung:'' 20 Tropfen ergeben __ungefähr__ 1ml = 0,9g.
''Lagerung:'' In dunklem Fläschchen & max. bei Zimmertemperatur lagern.
''Löslichkeit:'' In Alkohol löslich, mit Fetten mischbar, in Wasser dagegen nur sehr wenig löslich; doch teilen sie diesem Geruch & Geschmack mit.
''Es gibt eine Vielzahl von gut riechenden Essenzen in unterschiedlichen Qualitäten, darunter 2 Sorten von ätherischen Ölen.''
__Naturreine ätherische Öle__ bestehen zu 100% aus der Stammpflanze, ohne jegliche weitere Zusätze.
__Natürliche ätherische Öle__ bestehen aus Bestandteilen, die aus natürlichen Zutaten gewonnen werden, damit sie nach der Stammpflanze riechen und auch eine ähnliche Wirkung haben. So kann man z.B. nach wie vor den wundervollen Rosenholzduft genießen, ohne das eine unter Naturschutz stehende Pflanze abgeholzt werden muss. Zudem sind solche Öle erschwinglicher, als die naturreinen. Und zum Beduften von Badezusätzen etc. reichen diese allemal.
__Naturidentische Öle__ bestehen aus Geruchstoffen, die der Natur nachempfunden sind. So muss man auch mit normalen Geldbeutel nicht z.B. auf Rosenduft verzichten, wenn man seine Kosmetik parfümieren möchte. Wer die gesundheitliche Wirkung des Rosenduftes erreichen möchte, muss allerdings auf das naturreine Öl zurück greifen.
__Mit Parfumölen__ können Düfte hergestellt werden, die es als ätherische Öle nicht gibt.
<div style="background:Lavender;">
<div style=> </div>
!!''TAGS: << weg!, A-Z, Lavender, 'Zutatenart', 'Zutatenwirkungen' (Zutat:Einsatzgebiete) & Zutat:Einsatzgebiete-Obergruppen!''
@@color:red;"""Webseiten, die Korianderöl bzgl. Zahnpflege erwähnen:
https://oelerini.com/korianderoel
http://www.aetherische-oele.net/aetherische-oele/koriander.htm
https://www.ätherische-öle.com/korianderoel"""@@
@@.lefttable
|<img width=300 src="URL"/>||
|<h6>Bildautor, [[Bildname|Bild-Link]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' ~~Basisöl~~, ''Ölgruppe:'' ~~B-1~~, ''Löslichkeit:'' ~~Fettlöslich~~
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Weitere Handelsnamen:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Anwendungsbereiche / Besonders geeignet für:''
''Duftprofil:''
''Einsatzkonzentration:'' %
''Schmelzbereich:'' °C
''Haltbarkeit (nach Öffnung):''
''Spreitwert nach Olionatura®:''
''Anteile an Unverseifbarem:''
''Für welchen pH-Wert geeignet:''
''<div class="tooltip">HLB-Wert
<span class="tooltiptext">Abkürzung für "Hydrophilic Lipophilic Balance".<br/><br/>Der HLB-Wert beschreibt die Tendenz eines Emulgators, sich eher in wässrigen (so genannten polaren) oder eher in öligen (so genannten unpolaren) Medien zu lösen. Bei besserer Wasserlöslichkeit (Hydrophilie) des Emulgators bildet Wasser die äußere Phase, in der kleine Öltröpfchen vom Emulgator ummantelt werden; bei besserer Öllöslichkeit ist es genau umgekehrt.<br/><br/>Jedes Emulgatormolekül weist also eine unterschiedlich stark ausgeprägte Löslichkeit in Wasser oder in Öl auf. Das Verhältnis von hydrophilen und lipophilen Gruppen in einem Emulgatormolekül, also die Balance zwischen beiden »Kräften«, wird in einer Zahl zwischen 0 und 20 ausgedrückt (wenn man es ganz genau nimmt, wird der Anteil der wasserliebenden Teile zur gesamten Masse des Moleküls berechnet). Diese Skala kann bis zu HLB 40 reichen. Prinzipiell gilt:<br/><br/>Emulgatoren mit einem HLB-Wert unter 10 (im engeren Sinne: HLB 3 - ca. 6) bilden eher Wasser-in-Öl-,<br/>Emulgatoren mit einem HLB-Wert ca. 8 - ca. 18 Öl-in-Wasser-Emulsionen.<br/>Verwendet man mehrere Emulgatoren, kann man den HLB-Wert einfach arithmetisch aus den Mittelwerten errechnen.</span></div>:''
''Verseifungszahl:''
''Jodzahl:''
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], ~~außer bei~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@
Damit man Rezepte für Emulsionen (z.B. Cremes, Lotionen, etc.) besser verstehen, nachvollziehen und ggf. besser verändern kann, sind diese häufig in Fettphase und Wasserphase unterteilt.
Für die Einschätzung der »Reichhaltigkeit« eines kosmetischen Produkts- dem Grad seiner Rückfettung und der spürbaren Filmbildung- ist es sinnvoll, die enthaltene Menge an Lipiden (Öle, Buttern, Wachse, Emulgatoren) anzugeben, eben die Fettphase. Und den Rest der Einfachheit halber als Wasserphase zu bezeichnen.
Wenn Du also eine Rezeptur liest, die mit »Fettphase: 25%« gekennzeichnet ist, enthält sie 25% Lipide- und einen »Rest« von 75% an Wasser, Wirkstoffen und Zusatzstoffen wie Antioxidantien, Gelbildner, Konservier- und Duftstoffen. Dies ist im Hinblick auf die Charakteristiken mancher Substanzen nicht ganz korrekt (so zählen z.B. Tocopherole chemisch zu den Lipiden), erweist sich aber in unserem Bereich als akzeptable Vereinfachung, zumal viele Wirkstoffe in sehr geringen Mengen eingesetzt werden (und manche sensibel auf höhere Temperaturen reagieren und daher nicht zusammen mit anderen Fetten in der Fettphase erhitzt werden sollten). Manche rechnen fettlösliche Wirk- & Hilfsstoffe aber auch zur Fettphase dazu. Da es hierbei jedoch meist nur um geringe Prozentanteile geht, ist das nicht sooo relevant.
Häufig werden Phasen gemäß ihrer verarbeitungsrelevanten Abfolge im Herstellungsprozess benannt- z.B. Phase A, Phase B, Phase C,... oder Phase 1, Phase 2, Phase 3,...
__Tipp:__ Plane Emulsionen von der Fettphase aus. Dann überlege Dir, welche und wieviele Wirk- und Zusatzstoffe Du benötigst- der Rest ist Wasser."""
Zur __Fettphase__ werden gezählt:
* Öle & Buttern
* Emulgator(en)
* Konsistenzgeber, z.B.
** Fettalkohole & Wachsester
** Wachse
* weitere Lipide, z.B.
** Avocadin
** Lanolin, Wollwachsalkohol
** Gamma-Oryzanol
** Squalan
** …
Zur __Wasserphase__ werden gezählt:
* Wasser
* (Hydrolate)
* Wirk- und Hilfsstoffe
** Wirkstoffe
** Gelbildner
** Konservierungsstoffe
** pH-Wert-Regulatoren
** Antioxidantien
** Duftstoffe
"""
''Erläuterungen zu den Phasen''
__Die Fettphase:__
Öle bilden das Herz von Pflegeemulsionen. Buttern gestalten eine Emulsion im Hautgefühl reichhaltiger, rückfettender und etwas fester. Sind noch festere Cremekonsistenzen gewünscht, plant man konsistenzgebende Wachse, Wachsester und Fettalkohole ein, die die Viskosität einer Emulsion erhöhen.
Wachse (Bienenwachs, Beerenwachs, Candelillawachs,...) geben spürbar Konsistenz; sie werden in Emulsionen aus haptischen Gründen in der Regel in sehr geringen Dosierungen von 0,5–1% eingesetzt.
Der Vorteil bei den sogenannten Fettalkoholen und Wachsestern ist, dass sie mitemulgieren (»koemulgieren«). Soweit ich weiß, gibt es nur einen palmölfreien Fettalkohol: Behenylalkohol. Palmölfreie Wachsester: Keine Ahnung...
Die naturkosmetischen Emulgatoren auf Basis pflanzlicher Fette werden ebenfalls zur Fettphase gerechnet. Wozu die Emulgatoren, die nicht aus pflanzlichen Fetten hergestellt sind, gezählt werden, weiß ich nicht.
Auch Lecithine, Squalan, Phytosterole (z.B. Avocadin) sowie Lanolin bzw. Wollwachsalkohol sind Fette.
__Die Wasserphase:__
Zur Wasserphase zählen im Wesentlichen alle wässrigen Komponenten wie Wasser & Hydrolate. Rein rechnerisch werden die im Folgenden ergänzten Wirk- & Hilfsstoffe subsummierend zur Wasserphase gezählt. Das liegt daran, dass viele dieser Stoffe wasserlöslich sind (aber nicht alle).
Neben Wasser und/oder Hydrolaten enthält eine Emulsion in der Regel Wirkstoffe (wasserlöslich, manchmal auch fettlöslich), Konservierungsstoffe, pH-Wert-Regulatoren und Antioxidantien (Substanzen, die die Oxidationsneigung von Lipiden mindern), sowie Duftstoffe. Gelbildner werden hinzugefügt, um die Emulsion zu stabilisieren und sie in der Konsistenz leicht anzudicken.
''Die passende Emulsion für Deine Haut''
An erster Stelle entscheidest Du, welche Phasenanteile an Fett und Wasser überhaupt zu Deiner Haut passen. Die folgende Auflistung nennt klassische Produkttypen und ihre bevorzugte Eignung für bestimmte Hautsituationen. Sieh die Angaben als Orientierung. Die meisten kommerziellen Produkte liegen übrigens in einem Fettphasenbereich von 15–30 %.
__Serum, leichtes Hydrodispersionsgel__
(5–10% Fettphase)
Vorwiegend niedrigviskose Öle, keine bis geringe Anteile an Konsistenzgebern, selten Wachse. Mit 0,8–1,2% Gelbildner stabilisiert, alternativ 2,5–3% Bergamuls ET 1. Gerne Lipoderminzusatz. Eignet sich als Solo-Pflege für fettende, unreine Hautzustände, als Feuchtigkeitsserum für normale und trockene Haut.
__Reichhaltiges Hydrodispersionsgel, Cremefluid__
(10–20% Fettphase)
Vorwiegend Öle und geringer Zusatz an Buttern, geringe Anteile (bis 1%) an Konsistenzgebern, keine oder geringe Menge (bis 1%) Wachse. Mit Gelbildner stabilisiert. Gerne Lipoderminzusatz. Evtl. Einsatz von Sucrosestearat und/oder Phospholipon 80 H (ca. 2–3%). Eignet sich als Solo-Pflege für fettende Hautzustände und Mischhaut, als Feuchtigkeitspflege für normale und leicht trockene Haut (letztere kann mit etwas Hautöl oder einem Oleogel gezielt zusätzliche Lipide angeboten bekommen), als Gelmaske oder leichtes Körperfluid.
__Lotion, Cremefluid, leichte Creme__
(15–25% Fettphase)
Vorwiegend Öle, Buttern und geringe Anteile an konsistenzgebenden Lipiden (1–1,5% Fettalkohole und Wachsester), kein bis geringer Wachsanteil, d. h. 0,5–1%). Mit 0,2–0,4% an Gelbildnern stabilisiert. Eignet sich als Solo-Pflege für normale und leicht fettende Hautzustände oder für zu Unreinheiten neigende reife Haut sowie als Körperlotion.
__Feuchtigkeitscremes, »Tagescremes«__
(25–35% Fettphase)
Öle und Buttern (20–30% Butteranteil auf die Öle gerechnet), mittlerer Anteil an Konsistenzgebern (bis 3% Fettalkohole und Stearate), geringer Wachsanteil (0,5–1,5%). Eignet sich als Tages- oder Nacht-Pflege für normale und leicht trockene Hautzustände und als reichhaltige Körperlotion.
__Reichhaltige Cremes, »Nachtcremes«, Körpercremes__
(ab 35% Fettphase)
Öle und höherer Butter-Anteil, Zusatz konsistenzgebender Lipide (Fettalkohole, Stearate, Wachse, Stearinsäure usw.). Eignet sich als Tages-Pflege für trockene Hautzustände oder als Nachtpflege für normale bis leicht trockene Hautzustände, für Crememasken oder Körpercremes.
<div style="background:Cornsilk;">
''Fällig am: ''<$edit-text tiddler=<<currentTiddler>> field="due"/>"""
<br/>
[ ] __Unteraufgabe 2__: Mach dieses, mach jenes
[x] __Unteraufgabe 1__: Dies ist eine erledigte Unteraufgabe (die Checkbox wurde angeklickt). Dadurch wird sie nach unten verschoben, ausgegraut & durchgestrichen)
Original-Fälligkeit: 1. Jan, Wiederholung jährlich
<div style="background:Cornsilk;">
''Fällig am: ''<$edit-text tiddler=<<currentTiddler>> field="due"/>"""
[ ] In den Unteraufgaben können auch Links zu anderen Tiddlern, Webseiten, usw. stehen: [[Aufgabe 1]]
Original-Fälligkeit: 2. Januar, Wiederholung 2 wöchentlich
<div style="background:Cornsilk;">
''Fällig am: ''<$edit-text tiddler=<<currentTiddler>> field="due"/>"""
[ ] Und noch ne Unteraufgabe
Original-Fälligkeit: 1. Januar, Wiederholung monatlich
<div style="background:Cornsilk;">
''Fällig am: ''<$edit-text tiddler=<<currentTiddler>> field="due"/>"""
[ ] Blablabla... ;-)
Original-Fälligkeit: 11. Februar, nach Erledigung LÖSCHEN!
<div style="background:Cornsilk;">
''Fällig am: ''<$edit-text tiddler=<<currentTiddler>> field="due"/>"""
[ ] Eine Unteraufgabe<br/><br/>
[ ] Und noch ne Unteraufgabe<br/><br/>
[ ] Und noch ne Unteraufgabe<br/><br/>
<$button>
<$action-setfield $tiddler={{!!title}}/>
<$action-sendmessage $message="tm-edit-tiddler" $param={{!!title}}/>
Edit Titel
</$button>
Original-Fälligkeit: 10. Februar, Wiederholung jährlich
<div style="background:White;">
Und zu guter Letzt natürlich die einzelnen Aufgaben mit den Unteraufgaben wie z.B. [[Aufgabe 1]] erstellen:<br/>
Mit (der Inhalt des grauen Kastens kann einfach kopiert werden):
```
<div style="background:Cornsilk;">
''''Fällig am:'' ''<$edit-text tiddler=<<currentTiddler>> field="due"/>"""
[ ] Deine Unteraufgabe<br/><br/>
[ ] Und noch eine Unteraufgabe mit Zeilenumbruch.<br/>
Neue Zeile<br/><br/>
[ ] Und noch eine Unteraufgabe<br/><br/>
<$button>
<$action-setfield $tiddler={{!!title}}/>
<$action-sendmessage $message="tm-edit-tiddler" $param={{!!title}}/>
Edit Titel
</$button>
Original-Fälligkeit: Dein Fälligkeitsdatum, Deine gewünschte Wiederholung
```
Das Fälligkeitsdatum wird automatisch in das Feld "due" geschrieben, wenn Du es in der normalen Tiddleransicht in das Feld neben ''Fällig am:'' reinschreibst. Damit die Aufgaben in den Listen richtig sortiert werden, ist es wichtig, dass Du das Fälligkeitsdatum im Format YYYY.MM.DD (oder YY/MM/DD oder YY-MM-DD) eingibst. Für bessere Lesbarkeit habe ich dann daneben noch das Datum in "normalem" Format eingegeben. Muss man natürlich nicht.
Damit die Unteraufgaben sich nicht überlappen, gib am Ende jeder Unteraufgabe `<br/><br/>` ein (doppelter Zeilenumbruch).
Du //musst// natürlich keine Unteraufgaben erstellen- Du kannst auch einfachen Text reinschreiben.
<br/><br/><br/>
```
<$button>
<$action-setfield $tiddler={{!!title}}/>
<$action-sendmessage $message="tm-edit-tiddler" $param={{!!title}}/>
Edit Titel
</$button>
```
steht dabei für <$button>
<$action-setfield $tiddler={{!!title}}/>
<$action-sendmessage $message="tm-edit-tiddler" $param={{!!title}}/>
Edit Titel
</$button>
Wenn Du diesen Button anklickst, öffnest Du automatisch den entsprechenden Aufgaben-Tiddler im Bearbeitungsmodus.
<br/><br/><br/>
```
<div style="background:Cornsilk;">
```
steht für den pastellfarbenen Hintergrund. Cornsilk kannst Du natürlich auch mit jeder anderen Farbe ersetzen- siehe z.B. https://bfw.ac.at/020/farbtabelle.html (englische Farbtabelle).<br/><br/>
"""Koffein wirkt in Augencremes abschwellend.
Das Kaffeöl habe ich mit einem Kaffepad hergestellt.
Einfach das Öl mit dem Kaffeepad vorsichtig erwärmen und nach einer Stunde den Pad entfernen.
So erhält man ohne große Fummelei ein tolles mazeriertes Kaffee Öl.
Oder so:
200 ml Olivenöl
60 g Kaffeebohnen
Für das Kaffeeöl das Ollivenöl mit denKaffeebohnen in einen Topf geben.
Auf 80 ° Grad erhitzen, nicht kochen lassen. 15 Minuten ziehen lassen.
Dann durch ein Sieb filtern und in eine Flasche füllen.
Rezept für 30 g Balsam
9 g Sheabutter
9 g Kakaobutter
9 g Kaffeeöl (Olivenöl, Jojobaöl zu gleichen Teilen plus Kaffepad )
2 g Wildrosenöl
1 g UdA
Vitamin E 2 Tr.
3 Tr. Lavendel, 1 Tr, Immortelle
Es bleibt in dem Pad einiges an Öl zurück.
Einfach etwas Öl auffüllen.
das ist halt eine ganz normale feste Salbe.
Geschmeidig.
- ja und braucht nur ganz dünn aufgetragen werden.
Ich verwende es zusammen mit einem Hydrolat.
Man kann auch bestimmt gemahlenen Kaffee in einem Teesieb rein tun für den einmaligen Gebrauch und dann in dem Öl reinhängen? Ein Pad enthält ca. 7 g Kaffeepulver.
Es bleibt in dem Pad einiges an Öl zurück.
Einfach etwas Öl auffüllen.
"""Jojobaöl auf feuchten (oder nassen?) Wattepad oder gröberes Mikrofasertuch geben.
Jojobaöl, weil es nicht in die Augen kriecht.
"""Bügelt kleine Knitterfältchen unter den Augen schön glatt und lässt Augenlieder morgens leicht abschwellen. Tagsüber hinterlässt sie ein gepflegtes und glattes Gefühl rund um die Augenpartie.
2 gr Babassuöl
1,5 gr Arganöl
1 gr Jojobaöl
1 gr Hagebuttenöl
1,5 gr Lamecreme
1 gr Mangobutter
1 ML Algenöl
---------------------------
---------------------------
12 gr Rosenblütenhydrolat
2 gr Irisch Moosgel
---------------------------
---------------------------
5 Tr. Feuchtigkeitsfaktor MF
1 ML Vitamin E
1 Msptz. Hyaluron
1 Msptz. Allantoin
5 Tr. Squalan
1 kl ML Lipodermin
1 kl ML Augentrostextrakt
1 kl ML Süßholzwurzelextrakt
1 kl ML Grüntee Extrakt
2 ML Wildrosenextrakt
Vom erwärmten Rosenhydrolat etwas wegnehmen und mit 2 ml kosm. Basiswasser, dem Algengel und Hyaluron aufgelen.
Ich rühre das Gel in das fertige Endprodukt.
Lipodermin rühre ich auch kräftig mit dem Schaumi in das fertige, abgekühlte Endprodukt ein.
Ein paar Tropfen äth. Rosenholz- und/oder Geraniumöl sind auch noch ganz nett dazu.
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Gevuina Avellana Molina Seed Oil
''Jodzahl:'' 87 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 9 Monate
''Unverseifbares:'' 0,4–1,3%
__Gutes Basisöl bei trockener, gereizter und reifer Haut. Für intensiv pflegende Haut- und Sonnenpflegeprodukte.__
Avellanaöl ist ausgesprochen verträglich auch bei __gereizter oder neurodermitischer Haut__. Ihm wird ein __gewisser Lichtschutzfaktor__ zugeschrieben; es absorbiert offenbar kurzwellige UV-Strahlung und lässt nur bräunende Strahlen passieren. Ein Mann schilderte mir in einer Mail sehr positive Erfahrungen mit diesem Öl, er selbst habe »mit Avellanaöl und Sonnenschutz bisher gute Erfahrungen gemacht«, selbst einen mehrstündigen Aufenhalt im Garten habe seine Haut ohne Rötungen überstanden.
Das Öl __zieht sehr schnell ein__ und hinterlässt ein weiches Hautgefühl. Da sein Linolsäuregehalt gering ist, bietet sich in nächtlichen Pflegepräparaten eine Kombination z. B. mit Hanföl oder anderen Ölen an, die Linol- und Linolensäuren mitbringen. Johannisbeersamen-, Wildrosen- und Nachtkerzenöl sind sehr gute Begleiter. In Sonnenschutz-Formulierungen sollte Avellanaöl ausschließlich mit lichtstabilen Ölen kombiniert werden.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Avellanaöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Avellanaöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstoff, butterartig?, ''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Avocadin ist eine Mischung aus (über 50%) Avocadoöl, (25-50%) unverseifbaren Phytosterolen und (10-25%) Olivenöl.
Unverseifbares sind wertvolle Stoffe (Phytosterole), die in Pflanzenölen vorkommen und die, wie der Name sagt, nicht verseifbar sind. Sie sind den hauteigenen Cholesterolen ähnlich, welche als wichtiger Bestandteil des Hydro-Lipid-Films über die Ernährung dem Körper zugeführt werden müssen.
''INCI-Bezeichnung:'' Persea Gratissima (Avocado) Oil, Phytosterols, Olea Europaea (Olive) Fruit Oil
''Weitere Handelsnamen:'' Unverseifbares der Avocado, UdA
''Duftprofil:'' ?
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Regeneriert die Barriereschicht der Haut, wirkt rückfettend, feuchtigkeitsbindend und verhornungsregulierend, fördert die Hydratisierung und Elastizität der Haut, mildert Irritationen durch UVB-Licht-Belastung & Tenside.
Es wirkt, gering dosiert (bis 2%), deutlich rückfettend & regenerierend, ohne klebrig zu sein, und zieht langsam, jedoch gut in die Haut ein.
Auch in der Haarpflege (v.a. Conditioner & Haarkuren) erhöht Avocadin das Wasserbindevermögen, wirkt sanft rückfettend und fördert Geschmeidigkeit & Griff des Haares.
''Anwendungsbereiche:'' Creme, Gel, Sonnenschutz, After-Sun-Produkte- v.a. bei trockener, spröder, empfindlicher, neurodermitischer, ekzematische, reifer und sonnengeschädigter Haut, auch bei Schuppenflechte. Haarpflege (v.a. Conditioner & Haarkuren).
''Einsatzkonzentration:'' 0,5-10%
Da Unverseifbares in der Regel ein konzentriertes Produkt darstellt, reichen bereits geringe Dosierungen aus, um in kurzer Zeit sichtbare Wirkungen zu erzielen: In Emulsionen 0,5-2%, bei Barrierestörungen / stark angegriffener Haut bis 10%, in Hydrodispersionsgelen 0,5-1%, in Haarpflegeprodukten 0,5-2%.
Bei höheren Konzentrationen (bereits ab 2%, je nach Formulierung) kann es jedoch deutlich filmbildend und »dicht« wirken.
''Haltbarkeit (nach Öffnung):'' Es ist oxidationsstabil und ca. 1 Jahr haltbar.
''Anteile an Unverseifbarem:'' 25-50%
''Für welchen pH-Wert geeignet:'' ?
''Lagerung:'' Optimal bei 15-25°C. Bei kühler Lagerung neigen die Phytosterole dazu, auszukristallisieren; bei warmer Lagerung kann sich Öl absondern. Ein kurzes Erhitzen und Aufrühren bewirkt jedoch wieder eine Homogenisierung der Konsistenz.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], außer bei Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Bei ca. 104°C (bis zu 110°) mit oxidationsstabilen Ölen in der Fettphase aufschmelzen, Endprodukt unbedingt bis zum Erkalten rühren (es neigt zur Rekristallisation und sollte bis zum Erkalten geduldig emulgiert werden).
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""70g Rosenwasser
14g Avocado grün
14g Traubenkern
6g Mangobutter
4g Tego
2g Emulsan
4g Squalan
4g Urea
2g Panthenol
Biokons
Duft nach Wahl, bei Avocado grün + Biokons recht schwierig; ich hab Herbs Ex und Atalante gemischt und es gefällt mir gut.
Öle mit Emus erhitzen, Mango etwas später hinzu, Rosenwasser erhitzen, Urea darin auflösen.
Rosenwasser zu Fettphase, im kalten Wasserbad rühren, zum Schluss die Wirkstoffe hinzufügen, mit Duft "abschmecken"
Die Lotion lässt sich prima in Pumpspender giessen. Beim nächsten Mal nehme ich einen Tick weniger Wasserphase.
Tolle Lotion für trockene Haut, macht einen weichen Po, zieht gut weg und macht das Anziehen hinterher nicht zu einem Bußgang (ich find´s schrecklich, wenn die Klamotten nach dem Eincremen am Körper "festkleben")
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Persea Gratissima (Avocado) Oil
''Jodzahl:'' 65–95 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' 2–6%
''Verseifungszahl:'' 170–197
__Hochwirksames Öl zur Behandlung trockener, spröder und rissiger Haut, bei Neurodermitis, Verhornungs- und Barrierestörungen. Gutes Narbenöl.__
Sehr reichhaltiges Öl mit vielen Vitaminen und wertvollen Fettsäuren. __Hält die Haut geschmeidig__ und __fördert die Widerstandskraft__. Besonders gut geeignet für reichhaltige Körperlotionen und die __Babypflege__. Für __alle Hauttypen__.
Avocadoöl fördert die Zellregeneration und wird sowohl für die Pflege __trockener, rissiger und barrieregestörter Haut__ wie auch in der __Haarpflege__ eingesetzt. Sein hoher Gehalt an Palmitoleinsäure (wie auch Macadamianussöl, Avellana- und Sanddorn-Fruchtfleischöl) bewirkt seine gute Verträglichkeit auch bei __sensiblen und kranken Hautzuständen__. Phytosterole helfen, die Barrierefunktion der Haut zu unterstützen, da sie dem in der Haut enthaltenden Cholesterin in seinem molekularen Aufbau ähneln, es ersetzen können und die Zellproduktion anregen.
Durch seinen »Gleitschieneneffekt« kann Avocadoöl Wirkstoffe einer Ölmischung oder Emulsion in die Haut »begleiten« und steigert auf diese Weise die Wirksamkeit und Effizienz eines Pflegepräparats.
In Emulsionen verhält sich Avocadoöl ausgeprägt konsistenzgebend und das Einziehverhalten fördernd.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Avocadoöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Avocadoöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' MCT-Öl, ''Ölgruppe:'' PF-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Orbignya Oleifera (Babassu) Seed Oil
''Jodzahl:'' 14–20 (nicht trocken)
''Schmelzbereich:'' 21–26°C
''Spreitwert nach Olionatura®:'' Hochspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 18 Monate
''Anteile an Unverseifbarem:'' 1%
''Verseifungszahl:'' 245–256
__Hochspreitendes Lipid für trockene, strapazierte Haut und entzündliche Haut, sehr gut als Massageöl geeignet.__
Typisch ist sein Schmelzverhalten: Bei Hautkontakt schmilzt es sofort und erzeugt ein weiches, seidiges Hautgefühl, spreitet ausgezeichnet und __zieht (vergleichbar Kokosöl) schnell, jedoch nicht tief in die Haut ein__. In Emulsionen wirkt es interessanterweise, analog zu Kokosöl, eher viskositätsmindernd. Es ergänzt, wie auch Kokosöl, Rezepturen mit öl- und linolsäurereichen Ölen zu einer ausgewogenen Spreitkaskade. Eine Besonderheit des Babassuöls ist sein hoher Gehalt an Laurinsäure, die eine __antimikrobielle Wirkung__ aufweist. Die Kosmetikindustrie verwendet Babassuöl daher nicht nur bei __trockener, spröder Haut__, sondern auch bei __fettiger Haut__ oder __Mischhaut mit entzündlichen Unreinheiten__ sowie als kühlende Ölkomponente bei __juckender, neurodermitischer Haut__.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Babassuöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Babassuöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""''a. sommer''
26/74 fph/wph
alle angaben in prozent
5 emu nach wunsch, ich nehme lanette typ a
3 shea
2 kabu
4 mandel
4 jojoba
8 kokos
67 hydrolat oder wasser oder aloegel 1:1
5 extrakt
1msp allantoin
1 bisabolol
1 rokonsal
Duft nach wunsch
''b. winter''
35/65 fph/wph
alle angaben in prozent
5 emu nach wunsch, ich nehme lanette typ a
1 walrat
1 wachs nach wunsch
4 shea
2 kabu
2 lanolin
5 mandel
5 jojoba
10 kokos
58 hydrolat oder wasser oder aloegel 1:1
5 extrakt
1msp allantoin
1 bisabolol
1 rokonsal
Duft nach wunsch
Das bisabolol und das allantoin könnt ihr auch einfach weglassen und durch 1% panthenol ersetzen.
Ich hab hier keine weiteren wirkstoffe, es ist eine einfache creme für kinder mit gesunder haut.
"""''a. Sommer:''
30/70 fph/wph
alle angaben in prozent
5 LL, LG oder FLsuper
5 shea
5 jojoba
5 olivenöl
10 kokos
63 hydrolat
5 extrakt
1 panthenol
1 rokonsal
dufte nach wunsch
gelbildner nach wunsch. Damit ists dann eine dickere lotion.
Es gibt eine sprühfähige lotion (ohne gelbildner). Meine erdferkelchen lieben diese milch und sprühen sich mit begeisterung ein. Sie dürfen sich schon den duft aussuchen, als babies bekamen sie nur lavendel oder kamille.
Ihr könnt auch 1% walrat oder cetyl dazu geben, dann nur 9% kokos. Mit den koemulgatoren bzw. konsistenzgebern ists dann etwas fester.
Wenn ihr die lotion reichhaltiger wollt, dann gebt 2% lanolin, 1% wachs und 2% kabu dazu. Das sähe dann so aus:
''b. Winter''
35/65 fph/wph
alle angaben in prozent
5 LL, LG oder FLsuper
1 wachs
1 walrat od. cetyl
2 lanolin
4 shea
2 kabu
5 jojoba
5 olivenöl
10 kokos
58 hydrolat
5 extrakt
1 panthenol
1 rokonsal
dufte nach wunsch
gelbildner nach wunsch. Damit ists dann eine dickere lotion.
"""Massagebutter für die einjährige Enkelin meines Mannes gerührt habe und laut Tochter auch bei roten, trockenen Wangen hilft.
Sie befeuchtet vorher ihre Hände mit Lavendelhydrolat, bevor sie das Fett in das Gesichtchen gibt.
134 g Bio Sheabutter raffiniert- 67%
66 g Bio Kokosöl nativ - 33%
1 Tropfen Bio Rosenöl
Herstellung
Die Sheabutter bei etwa 70 °C schmelzen , das Kokosöl dazu geben und ebenfalls schmelzen.
Ins Kühle stellen und wenn die Masse beginnt fest zu werden, das Rosenöl dazu geben.
Mit einem Mixgerät sahnig aufschlagen und bevor die Butter in die Dose gefüllt wird, alles noch einmal kräftig aufschlagen.
Statt Kokosöl: Ich würde vielleicht 5-10% Nachtkerzenöl in der Mischung verwenden,70% Sheabutter und mit Reiskeimöl auf 100% auffüllen.
"""Bei wundem Popo – von meiner Tochter bei ihrem Kleinen ausprobiert, nach 1 ½ Tagen war alles verheilt.
16 g Distelöl
3 g Walratersatz
2 g Emulsan
5 g Kakaobutter
8 g Zinkoxyd
im Wasserbad so lange erwärmen, bis alles geschmolzen ist. Zwischendurch etwas durchrühren, damit sich das Zinkoxyd gut verteilt.
Dann 23 g heißes Wasser dazugießen und mit dem Milchaufschäumer kurz verrühren.
Wenn die Creme abgekühlt ist, noch
1 ml Calendulaöl
2,5 ml D-Panthenol
zugeben. Konserviert habe ich mit 5 Tropfen Biokons.
ich benutze schwarztee auch für wunde babypopos und da hat es immer ganz toll geholfen.
"""welches dann aber bitte noch mit einem nassen waschlappen abgewischt wird, da manche kinder empfindlich auf die reinigungstenside reagieren können.
Reinigungsöle sind sehr einfach herzustellen:
100gr=100%
alle angaben in %
a. 10 tensid nach wahl
90 öl nach wahl
b. 90 öl nach wahl
10 wachs nach wahl
c. eine mischung aus a+b
10 wachs nach wahl
10 tensid nach wahl
80 öl nach wahl
"""
------------------------------------------------------------------------------------
"""Zur Reinigung im Windelbereich:
Unser Popo-Spray war eine Mischung aus Wasserphase und Öl + ggf ÄÖ einmal pro Woche frisch zubereitet in eine 50 Ml Medizinflasche mit Sprühaufsatz. Vor Gebrauch gut durchschütteln.
Das Mischungsverhältnis habe ich aus Forum Essenzia (1 Teil Öl, 2 Teile Wasser) die Zutaten habe ich nach Bedarf kombiniert. Meine Lieblingsmischung war: Rosenhydrolat (rein, ohne Alkohol) + Weizenkeimöl.
Oder Abgekochtes Wasser + 1% NaCL + Olivenöl + je 1 Tr. ÄÖ Lavendel/Rose/Manuka
Später habe ich mit LL emulgiert, das war dann noch pflegender.
Zubereitet habe ich immer nur kleine Mengen, perfekt für Unterwegs.
"""Nimm einfach shea, calendula und mandelöl, mach ne salbe davon und gib 10% panthenol und 1% bisabolol rein. Die wirkstoffe kannst vorher in 10% rosenwasser lösen. Laut maxelli brauchst das nicht zu konservieren, ich würde 1-2tr rokonsal reingeben. Das mußt du selber entscheiden. MEine heilsalben mach ich ähnlich. Leider kleben die bei der menge an panthenol etwas, aber der po ist in nul komma nix wieder heile.
Dazu würde ich noch 20tr lavendel äö auf 100gr salbe geben, das heilt auch gut.
ich benutze schwarztee auch für wunde babypopos und da hat es immer ganz toll geholfen.
"""Für alle mamas, die wissen wie weh die blöden feuchttücher tun, wenn man wund ist
50gr mandelöl
6gr Lecithingranulat
44gr rosenwasser
10tr rokonsal
einfach das Lecithingranulat im mandelöl aufschmelzen, das rosenwasser leicht erwärmen und zusammen kippen. Sehr hochtourig rühren und gut.
Wenn ihr die lotion mit Lysolecithin macht, braucht ihr nicht mal was erwärmen.
Gibt eine wunderbare lotion, die jeden windeldreck wegbekommt und auch mal schnell das gesicht und die hände unterwegs reinigt. Duftet dezent nach rosen und kann auch als badezusatz und/oder körperlotion verwendet werden. Mit 10 tr bisabolol wirkt es wunder gegen einen offenen po, kleine wunden oder rauhe bäckchen.
Und als ''abschminköl'' ist das zeug ebenfalls grandios.
ich benutze schwarztee auch für wunde babypopos und da hat es immer ganz toll geholfen.
"""Man kann die Salbe anscheinend auch auf offene Stellen schmieren.
50 Shea
17 Calendulaöl
12 Lanolin
7 Mandelöl
8 Bienenwachs
5 Panthenol
1 Vit. E
Öle und Wachse erhitzen, Sheabutter vorsichtig zum Schluss drunter und verflüssigen, dann ohne kaltes Bad handwarm rühren, Wirkstoffe dazu rühren. Alles von Hand rühren!
Dass sie schnell heilt kann ich mir durch den hohen Lanolinanteil gut vorstellen. Klebt vielleicht ein kleines bisschen, aber dem Babypopo dürfte das nicht stören.
Ich hatte ja ein ähnliches Rezept mit Zinkoxid zusätzlich, das wurde schlussendlich wohl so hart, dass die beschenkte Mama den Balsam mit Kraft aus dem Tiegel herauskratzen musste. Falls ich nochmal die Gelegenheit bekomme, einen Windelbalsam zu rühren, werde ich das Zinkoxid stark reduzieren und dafür mehr Lanolin nehmen.
Und ich werde beim nächsten mal noch bisschen Zink reintun.
"""Wasserphase:
25% Wasser oder Rosenhydrolat
FP
20% Aloe-Öl
20% Jojobaöl
20% Lanolin
7,5% Bienenwachs
7,5% Shea
ÄÖ: 3 Tr. Rose, je 2 tr. Geranie, Manuka, Thymian, 1 Tr. Palmarosa
Kleine Mengen zubereiten, hochtourig arbeiten und in Tuben oder Airless-Spender abfüllen.
ich benutze schwarztee auch für wunde babypopos und da hat es immer ganz toll geholfen.
"""babybad
da gibt es mehrere möglichkeiten:
a. ihr nehmt 50gr milch und 50gr olivenöl und schüttelt es bis sich eine vorübergehende emulsion bildet. Diese dann ins badywasser geben. 1-2 tr lavendelöl und das baby schläft wie ein engelchen.
b. 100gr=100%
alle angaben in %
6 ll (Lysolecithin??)
14 öl
80 aloevera purum
1-2 konservierung nach gusto
duft, am besten auch lavendel oder rose. Bitte sehr sparsam!
davon gebt ihr einen guten schuß ins badewasser
c. wenn die ferkelchen richtig dreckig sind......
eigentlich reicht da eine schöne selbstgesiedete seife, aber wenn ihr lieber duschgel habt, nun auch das ist kein problem.
Anja hatte da mal ein sehr nettes duschgel mit tensid, mipu und öl eingestellt. Daraus hab ich folgendes gemacht:
100gr=100%
alle angaben in %
30 betain, plantapon oder cocogluko
50 mandelöl oder welches ihr wollt
20 Milchpulver- da könnt ihr nehmen, was ihr wollt, babynahrung geht auch
das öl und das Milchpulver zu einem brei verrühren und das tensid zugeben und hoffen das es nicht flüssig wird. Mir passiert das oft, tut aber der qualität keinen abbruch. Vor gebrauch IMMER schütteln. Beduften nach wunsch. Konservieren bei größeren mengen. Dann auf den phwert auchten, das nicht jeder konservierer in jedem bereich wirkt.
d. die einfachste aber nicht beste variante, je nachdem wie hoch euer anspruch an die natürlichkeit ist
100gr=100%
alle angaben in %
20 mulsifan
80 öl
dies ist ein altes hobbythekrezept. Es braucht IMMER schütteln, ist aber gar nciht schlecht, auch für erwachsene ein einfaches und nettes geschenkt. Zur not könnt ihr jedes tensid nehmen, welches ihr dahabt, mit dem öl nach wunsch vermischen und beduften. Fertig ist ein nettes ölbad/duschzuatz/poporeiniger.
"""So, heute verrate ich euch mein kleines aber feines Rezept für Babyöl. Es begleitet uns jetzt schon seit 7 Monaten und ich möchte es nicht mehr missen, egal ob zur Babymassage, als Badezusatz oder einfach zur Pflege.
60ml Mandelöl
2g Ceralan
1 Vanilleschote
3 Tr. ÄÖ Lavendel
Zuerst legt man die Vanillieschote aufgeschnitten in dem Mandelöl ein. 2-3 Wochen reichen, ich neige aber dazu, sowas zu vergessen und auch längere Zeit schadet nicht.
Dann abseihen und das Mandelöl mit dem Ceralan ganz leicht erwärmen, bis das Ceralan geschmolzen ist.
Nach dem Abkühlen das Lavendelöl dazu geben und abfüllen.
Aus der Mischung ergibt sich ein ganz toller Lavendel-Vanilleduft, der mich wohl für immer an unsere Babyflitterwochen erinnern wird.
Tipp für werdende Mütter: Vor der Geburt des Babys herstellen! So kann das Öl lange ziehen; außerdem hat man nachher keine Zeit mehr für sowas.
<div style="background:#DFFE97;">
''//__Bei allem Genannten gilt: Immer gründlich mit klarem Wasser nachspülen / nachwischen, damit Natron- & ggf. Salzreste entfernt werden.__//''
@@background:#DFFE97;"""<h3>''Töpfe / Pfannen von Angebranntem befreien:''</h3>
Gib in den Topf / die Pfanne 1 Liter Wasser mit 1 EL Natron und koche es auf-
die Speisereste lösen sich schnell und können mit Hilfe von einem Tuch / Schaber / Schwamm gut entfernt werden.
Oder aufkochen __und__ über Nacht einweichen lassen, am nächsten Tag sauber wischen.
Oder mit unten genannter Paste über Nacht einweichen lassen und am nächsten Tag sauber wischen.
__Meine Erfahrung damit:__ Das habe ich inzwischen schon mehrfach gemacht (Natron mit Wasser in einer Pfanne / Topf aufgekocht & über Nacht eingeweicht) und es hat gut geklappt :-)
Sehr heftig Angebranntes lässt sich übrigens fantastisch mit einem ''Kupfertuch / Kupferschwamm'' entfernen! Sogar viel viel besser als mit der Kratzeseite von konventionellen Spülschwämmen! Dabei zerkratzt das Kupfer weder Töpfe noch Glas noch Ceranfelder. Das zu säubernde Material muss härter sein als Kupfer- Teflon ist also leider nicht dafür geeignet."""@@
<br><br>
<div style="background:#FFE28C;">
"""<h3>''Backofen reinigen:''</h3>
Hier gibt es verschiedene Methoden- ich habe sie alle noch nicht ausprobiert, da mein Ofen einfach noch nicht so heftig verschmutzt war...
Ich vermute aber, dass Natron auch hier gut funktioniert, da es bei meinen Pfannen & Töpfen ja auch gut funktioniert.
Sogar die Ofenscheibe soll mit diesem Natron-Tipp wieder glasklar werden...
__Aber Achtung:__ @@color:red;Diese Methode ist nicht zum Ofen-Reinigen geeignet, wenn dieser über einen Selbstreinigungsmodus verfügt!@@
Die beste Möglichkeit ist wohl eine Natron-Salz-Paste. Aber auch mit einer Natron-Lösung aus der Sprühflasche können beim Ofen-Reinigen gute Ergebnisse erzielt werden.
''Natron-(Salz-)Paste'' """
* 2 EL [[Natron]]
* evtl. 1 EL Salz (Kochsalz)
* 2 EL Wasser
* Schwamm, Lappen oder Mikrofasertuch
* ggf. eine Sprühflasche
Zeitaufwand: 10 Minuten + 20 Minuten Einwirkzeit
# ''Natron, Salz & Wasser'' zu einer Paste mischen.
# Diese Paste mit einem Schwamm oder feuchtem Tuch im schmutzigen Ofen verteilen.
# @@color:red;Sollten die Heizstäbe bzw. Heizelemente im Ofen freiliegen, dann unbedingt darauf achten, dass sie nicht mit der Paste in Kontakt kommen.@@
# 20 Minuten bei geschlossener Ofentür einwirken lassen- oder ggf. über Nacht.
# Mit einem feuchten Tuch / Mikrofasertuch den Ofen auswischen und die Natron-Reste entfernen.<br><br><br>
''Natron-Lösung zum Sprühen:''
# 1 EL Natron in eine leere Sprühflasche füllen und mit ca. 100ml warmen Wasser (unter 40°) auffüllen und gut schütteln.
# Ofen mit der Natron-Lösung einsprühen.<br><br><br>
''Dampf-Methode:''
# 50g Natron auf den Ofenboden streuen.
# Ca. 100ml Wasser darüber geben
# und den Ofen für ca. 10 Minuten auf 50-70° erhitzen.
# Die Natron-Lösung beginnt zu verdampfen und hilft, den Ofen zu reinigen. Denn nach dem Öffnen sind alle Verschmutzungen angefeuchtet und lassen sich mit einem Schwamm oder feuchten Tuch auswischen.<br><br><br>
<h3>''Wirkungsweise:''</h3>
Eingebrannte Speisereste und Krusten bestehen aus Eiweiß, Fett und deren Nebenprodukten wie Fettsäuren und Aminosäuren. Durch Natron zusammen mit Wasser im schmutzigen Ofen entsteht eine sodaalkalische Lösung, worin Eiweißstoffe und auch Fette in Säuren gespalten werden, welche dann wiederum wasserlösliche Salze bilden. Die eingebrannten Reste im Ofen lösen sich.<br><br>
"""Für Badebomben mit Special-Effect braucht ihr Knisterzucker, den man auch unter der Bezeichnung Knallzucker oder Knallbrause kaufen kann.
Wichtig: die Badebomben sollten nicht zu lange lagern, sonst verliert der Zucker evtl seinen Effekt. Ich habe z.B. nach zwei Monaten eine meiner (in luftdichtem Glas gelagerten) Knisterbomben benutzt, die leider nur noch gesprudelt, aber nicht mehr geknistert hat.
Für etwa 8 große Kugeln:
175g Natron
90g Zitronensäuregrieß
40g SLSA
Alkohol (am besten in einer Sprühflasche)
evtl. 20-30 Tr. ätherische Öle oder Parfümöl, wenn Ihr Eure Badebomben beduften wollt.
Die trockenen Zutaten sorgfältig vermischen (bitte Vorsicht, SLSA staubt leicht, das kann unangenehm werden, falls man es einatmet). Ggf. beduften.
Dann kommt der knifflige Teil: man sprüht nach und nach sehr geringe Mengen Alkohol auf das Pulver und vermischt es sorgfältig (Handschuhe tragen). Wichtig ist, den Alkohol sehr vorsichtig zu dosieren, damit man den Punkt nicht verpasst, an dem Natron und Zitronensäure vorzeitig miteinander reagieren. Die Konsistenz sollte, wie es immer so schön heißt, die von nassem Sand sein. Es darf sich meiner Erfahrung nach aber nicht nass anfühlen! Am besten drückt man immer mal wieder eine Portion der Masse gut zusammen, um zu sehen, ob sie hält.
Ich habe dann einen Meatballmaker benutzt, um die Kugeln zu formen. In die untere Hälfte der Zange Badebombenmasse einfüllen, eine Mulde reindrücken und alles schonmal gut in die Form pressen. Dann etwas Knisterzucker in die Mulde geben. Das sieht dann so aus:
[img width=150 [https://files.homepagemodules.de/b779733/f84t39072p654405n2_wPnvqEjR.jpg]]Dann, braucht auch etwas Übung, greift man mit der Zange in die Schüssel mit der Masse und versucht, ordentlich viel davon mit der Zange zu erfassen, dabei aber nicht den Zucker verlieren. Dann die Zange fest zusammenpressen. Wenn man die Kugel wieder aus der Form lösen will, die Zange ganz vorsichtig ein bisschen öffnen, durch das Loch die Kugel lösen, das gleiche in die andere Richtung mit dem anderen Loch. Wenn genug Masse in der Zange war und die richtig gut zusammengepresst wurde, lässt sich die Badebombe ganz leicht lösen und fällt auch nicht mehr auseinander.
Also, ich habe tatsächlich die 500g bestellt. Der Zucker ist in so einem Druckverschlussbeutel aus Plastik und knallt noch wie am ersten Tag. Man muss aber schon aufpassen, dass er nicht feucht wird, sonst klebt er arg zusammen. Zum Beispiel zieht er sofort Luftfeuchtigkeit an, wenn man einen Rest Zucker unverpackt stehen lässt.
Bisher habe ich noch versucht, den Zucker als Füllung in einfachen Schokopralinen zu benutzen. Habe übrige Schokohasen eingeschmolzen, Pralinenförmchen halb befüllt, dann eine dünne Schicht Zucker draufgegeben und mit Schokolade abgedeckt. Der Knalleffekt ist nicht mehr so stark wie bei einer frischen Badebombe (oder wenn man den Zucker einfach so in den Mund steckt - das ist supergenial), aber schon ordentlich.
Ich denke, man sollte immer relativ trockene Produkte aus dem Zucker machen, dann bleibt der Knalleffekt erhalten.
"""Im Laufe der Jahre habe ich eigene Rezepte entwickelt. Einmal ohne Stärke, mit Heilerde, Salz, Milchpulver, nur mit Öl oder diese Variante mit Heilkreide, die die Bomben sehr fest werden lassen.
Die Hauptzutaten bleiben immer Natron und Zitronensäure im Verhältnis 1:0.5 bis 1:0,75.
Die zwei Sprühstöße Melissengeist lassen Natron und Zitronensäure miteinander reagieren , wodurch die Bomben sehr fest werden. Bei Bomben mit Öl, statt mit Kakaobutter, ist diese minimale Feuchtigkeit sehr wichtig.
Die Masse sollte beim Zusammendrücken mit der Hand nicht auseinander fallen. Aber auch nicht zu feucht sein, sonst gehen die Bomben schon vor der Benutzung auf, wie ein Hefekloß. Werden allerdings andere wässrige Zutaten wie z.B Mulsifan, flüssige Farbe etc. dazu gegeben kann der Melissengeist entfallen.
Und bitte immer die Fette abkühlen lassen ( um die 50 Grad C), bevor sie mit den übrigen Zutaten gemischt werden.
''BADEPRALINE Für acht Badeherzchen'' (2 Herzchen pro Bad mit 12,5 g Fett pro Bad)
24 g Kakaobuttern (im Sommr 2/3 Kakaobutter und 1/3 Sheabutter nehmen)
24 g Sheabutter
2 g Dermofeel PP (4% der Fettphase)
30 g Natron
15 g Zitronensäure
5 g Stärke
4 Tropfen Rosengeranienöl pro Herzchen
Msp. rosa Mica in die Trockenmischung
Deko mit kleingeschnittenen Blümchen vorher in die Silikonform streuen.
''Stimmungsaufhellende Badeherzchen''
Die Menge ergibt zwei kleine Herzchen, die für ein Vollbad reichen.
8 g Meersalz
8 g Natron
8 g Kakaobutter
4 g Sheabutter
1 g Stärke
1 g SLSA
dazu gibt man die ätherische Ölmischung in Tropfen mit
8 Zitrone
6 Grapefruit
2 Jasmin
4 Sandel
"""Mit Micas werden sie wohl eher pastellig.
Mit flüssigen Ostereierfarben werden sie wohl knalliger.
Natron und Zitronensäure schäumen auf, aber mit einem Pulvertensid wie z.B. SLSA bekommst du einen beständigen Schaum.
es zwei Regeln, die zu beachten sind:
1. Natron und Zitronensäure müssen im Verhältnis 2:1 dosiert werden. Also 2 Teile Natron und 1 Teil Zitronensäure
2. Die Masse darf nicht zu feucht und nicht zu trocken sein. Ist sie zu feucht, reagieren Natron und Zitronensäure vorzeitig und die Badebomben bekommen weiße Sprenkel oder sie gehen auf wie Hefeteig. Ist sie zu trocken, halten sie nicht zusammen.
Das heißt also: wenn du Fette verwendest, benötigst du Stärke, die die Feuchtigkeit bindet. Bei Fettzusatz ist es auch sinnvoll, einen Emulgator zu verwenden, damit sich keine Fettaugen auf der Wasseroberfläche absetzen und die Wanne nicht verklebt. Es ist aber nicht zwingend, einen Emulgator zu verwenden. Alle anderen Zusätze, wie Milchpulver, SLSA, Duft, Farbe etc., kannst du nach Lust und Laune verwenden. Bei der Dosierung der Zusätze musst du nur beachten, dass die Masse am Ende die richtige Konsistenz hat. Gibst du z. B. viele trockene Zutaten rein, musst du den Fettanteil erhöhen. Möchtest du viel Fett drin haben, brauchst du mehr Stärke. Die Mengenangaben der einzelnen Zusätze sind von Rezept zu Rezept unterschiedlich, weil das eine mehr Fett und das andere mehr Pulver verwendet. Man kann aber auch komplett auf Fette verzichten, dann benötigt man auch keine Stärke. Flüssige Farbe und Duftstoffe reichen in der Regel, Natron und Zitronensäure zu weit zu befeuchten, dass sie gut zusammen halten.
wenn man wesentlich weniger Zitronensäure verwendet, bleibt ein Natron-Überschuss. Der wirkt als "Wasserenthärter" und macht die Haut ganz glatt und weich. Es bewirkt aber auch, dass die Badebomben nicht so lange sprudeln. Die Zitronensäure braucht man für den Sprudeleffekt. Natron alleine kann das nicht. Es ist also die chemische Reaktion von Natron mit Zitronensäure, die das Sprudeln verursacht.
Eine pauschale Aussage, wie viel Fett und wie viel Stärke man braucht, kann ich nicht machen. Es kommt immer auf die Gesamtrezeptur an. Wie ich bereits geschrieben habe, ist die Konsistenz am Ende maßgebend. Du kannst aber ausgleichen: ist deine Masse zu feucht, gibst du noch Stärke hinzu - ist sie zu trocken, gibst du vorsichtig etwas Öl dazu. Vorteilhaft ist, die zusätzlichen Mengen zu wiegen, damit du sie beim nächsten Mal gleich mit berücksichtigen kannst.
SLSA und Milchpulver haben zwar eine leicht emulgierende Wirkung, sie reicht aber in den meisten Fällen nicht aus, um die gesamte Fettmenge so weit zu emulgieren, dass keine Fettaugen auf dem Wasser schwimmen. Mulsifan wird in der Regel 10-15 % dosiert - also auf 100 g Fett ca. 10-15 g Mulsifan. Wenn du SLSA und/oder Milchpulver verwendest, kannst du im unteren Bereich bleiben oder sogar noch weniger nehmen - ca. 8 %
Bei deiner Rezeptplanung solltest du auch beachten, dass Fette die Schaumbildung reduzieren. Wenn du also schäumende Badebomben möchtest, solltest du die Fettmenge so gering wie möglich halten.
"""100 gr. Natriumbicarbonat (oder Kaisernatron)
50 gr. Zitronensäure
25 gr. Mais- oder Kartoffelstärke
25 gr. Milchpulver
30 gr. Kakaobutter (gelb)
Öl nach Bedarf
25 Tropfen Vanille (oder auch mehr)
Trockene Zutaten mischen. Kakaobutter erhitzen, bis sie flüssig ist (nicht zu heiß werden lassen, asonst wird sie nicht mehr richtig fest!!!) und langsam zu den trockenen Zutaten dazugeben. Falls die Masse noch zu trocken scheint kann noch Pflanzenöl eigener Wahl dazugegegeben werden. Wenn alles kalt ist das Vanilleöl dazu und dann entweder Kugeln formen oder mit Sandkastenformen Bömbchen formen. Trocknen lassen! Fertig.
Durch das zugegebene Milchpulver emulgiert das ganze etwas im Wasser. Man kann das Milchpulver aber auch weglassen - dann schwimmt das Fett oben. Pflegen tun beide Varianten.
"""ich mache fettfreie Badebomben ohne Schnickschnack - also ohne Stärke, SLSA und sonstiges Zeugs. Da kommen nur Natron, Zitonensäure, Bittersalz, Duft und Farbe rein. Zum Färben nehme ich manchmal Tonerde.
Natron und Zitonensäure 2:1, dann 5 % Bittersalz, 5 % Tonerde ca. 1,5-1,8 % ätherische Öle.
Wenn du Stärke verwendest, werden sie mürbe und bröseln. Die Stärke braucht man nur, wenn man Fett drin hat. Sie "trocknet" die Masse ein wenig und sorgt für den Zusammenhalt. SLSA hatte ich in Badebomben noch nie drin, daher weiß ich nicht, wie viel Flüssigkeit es aufsaugt. Da kannst du aber mit Alkohol nachhelfen, falls der Teig zu trocken sein sollte.
"""300g Natron
150g Zitronensäure
100g Stärke
50g Milchpulver
120g Kakaobutter
20g Olivenöl (oder anderes flüssiges Öl)
15g Mulsifan
gelbes Pigment
25g Honig-PÖ
Bienenwachswaben zugeschnitten und in die Formen gelegt
Die trockene Masse vermengen.
Kakaobutter schmelzen, Olivenöl dazu, PÖ und Mulsifan ebenso.
Alles vermengen und in Eiswürfelformen drücken. Ab in den Kühlschrank.
Ein Würfelchen hat ca. 30g und reicht dicke für eine pflegende Wanne! Habs gerade ausprobiert, genial.
Vielleicht könnte man noch ein wenig echten Honig mit einarbeiten, ich weiß nicht, wie sich das mit der Konsistenz bzw. Härte verträgt, aber einen Versuch wäre es wert. Dann aber wohl das Olivenöl weglassen. Oder Honigpulver einarbeiten?
Die lösen sich dann vom Würfel und man kann sie aus dem Wasser fischen. Das Wachs hat doch einen viel zu hohen Schmelzpunkt, als dass es im Wasser schmilzt
"""Wirkung:
Pflegend, rückfettend und saubere Wanne.
Keine Klümpchen und die Emulsion ist nach zwei Wochen immer noch stabil.
Dosierung: 4 Eßlöffel pro Bad.
Angaben in Prozent
40 Wasser
20 Olivenöl
10 Sesamöl
10 Ziegenmilchpulver
10 Alkohol (94%)
5 Betain oder einfach pulvrige Seife
5 Lecithingranulat von DM
Das Lecithingranulat wird mit der doppelte Menge an Wasser angerührt und nach 10 Minuten emulgiert. Dann erst gibt man die Öle und die wässrigen Bestandteile mit dazu. Sehr gut rühren, dann trennt sich auch nichts. Das Betain und Ziegenpulver zum Schluss dazu geben.
"""300g Himalaya Salz
5g Honig
30g Olivenöl
25g Ziegenmilchpulver
50g Buttermilchpulver
50g Seifenraspel
20g Kakaobutter
50g Natron
30g Zitronensäure
30g Stärke
7g Kieselsäure
Duft und Farbe nach Wahl
Man mischt den flüssigen Honig mit dem Salz und gibt das Olivenöl dazu. Dann beduftet und färbt man das Gemisch. Anschließend gibt man das Milchpulver zum Badesalz dazu. Danach folgen Natron, Zitronensäure und Stärke, die nach und nach untergemengt werden. Als vorletzter Schritt kommt das Zugeben von Seifen- und Kakaobutterraspeln. Alles schön verrühren, sodass nur noch wenige Klümpchen enthalten sind. Zum Schluss wird dann ganz vorsichtig die Kieselsäure untergerührt.
Wem das ganze noch zu "bröckelig ist" kann es durch den Multihacker jagen, zum Verschenken sieht das sicher schöner aus. Für mich privat fand ich es okay so, denn die kleinen Bröckchen lösen sich sowieso im Wasser auf.
Mir gefällt das Bademilchpulver super gut, weil es die Haut schön pflegt und man während des badens so eine schöne ölige Schicht auf der Haut spürt. Außerdem finde ich die Kombination aus Ziegenmilch(pulver), Honig und Olivenöl einfach unschlagbar!!! Ich nehme die drei Mittelchen auch gerne pur als Badezusatz. Das macht einfach totaaaal samtige Haut, die danach nicht mehr eingecremt werden muss. Trotzdem ist man nach dem Abtrocknen nicht eingeölt oder fettig, sondern einfach nur gepflegt, das gefällt mir besonders gut.
Die Zitronensäure habe ich reingegeben, wegen der Seifenspäne. Quasi zum regulieren (Ph-Wert).
Und die Stärke macht die Haut zusätzlich schön weich!
''Alle getesteten Rezepte zum Baden:''<br/><br/>
<$list filter="[tag[Baden]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zum Baden:''<br/><br/>
<$list filter="[tag[Baden]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""[img width=200 [http://2.bp.blogspot.com/-XrW_6yJ-leo/T1Uo6lYU70I/AAAAAAAAAQ0/rRfZJj2d1Ns/s640/1+(2).JPG]]
Zutaten für unteren Teil (Alle Angaben in Prozent, 100% = 100g)
40 Natron
20 Zitronensäure
10 Stärke
10 Milchpulver
12 Kakaobutter
8 SLSA
Rezept Topping (oberer Teil). Alle Angaben in Prozent, 100% = 100g
25 Kakaobutter
10 Shea
8 Kokosfett
25 Natron
11 Zitrone
7 Milchpulver
6 Stärke
8 Slsa
das Slsa bildet eine zarte Schaumschicht auf der Wasseroberfläche, du kannst auch ruhig mehr davon nehmen .
Sie lösen sich übrigens gut im Wasser auf, nach dem Auflösen einmal gut durchmischen und es ist mit dem Wasser emulgiert
"""Zutaten für 200 g
158 g goldgelbes Pflanzenöl (z. B. Soja, Raps oder Maiskeim)
30 g Mulsifan
20 Tr. Geranium
12 Tr. Bergamotte
15 Tr. Mandarine
24 Tr. Rosenholz
6 Tr. Benzoe (Achtung: Setzt sich unten ab & lässt sich auch nicht mehr durch Schütteln verteilen!!- Das passiert auch bei anderen Harzen.)
7 g Kieselsäure
0,2 g Kosmetikglitter Gold
Herstellung:
Pflanzenöl, ätherische Öle und Mulsifan mischen.
Kieselsäure in 2-3 Portionen in die Ölmischung einrühren.
Zum Schluss das Goldglitter zugeben und verrühren.
Badeöl in eine schöne Flasche füllen.
Anmerkung: Durch Rühren bilden sich kleine Luftbläschen, die das Öl trüb erscheinen lassen. Nach ein paar Tagen haben sich diese Bläschen erfahrungsgemäß aufgelöst.
Ich habe das Badeöl auch schon mal mit einem Tropfen Lebensmittelfarbe gefärbt. Dazu habe ich aber ein sehr helles Öl verwendet, damit die Farbe nicht verfälscht wird. Mehr als 2 Tropfen Farbe sollte man nicht nehmen, damit der Glitzereffekt nicht übertönt wird.
Diese groben Kosmetikglitter bekommt man in Online-Shops für Theaterschminke oder zur Karnevalszeit auch in diversen Kaufhäusern. Normale Goldpigmente für dekorative Kosmetik haben nicht den gleichen Effekt.
Mulsifan ersetzen?
als einzige Alternative fällt mir dazu nur Fluidlecithin Super ein. Aber damit habe ich es noch nie getestet und kann daher nicht mit Sicherheit sagen, dass es wirklich funktioniert. Für dieses Badeöl braucht man einen Emulgator, der nicht färbt, das Öl nicht eintrübt und sich kaum absetzt. FLS setzt sich ab - LL färbt - Dermofeel PP trübt ein und setzt sich dann ab...
Emulsan, Tego: diese Emulgatoren emulgieren aber nicht im Badewasser, weil sie eine höhere Temperatur dazu brauchen. Du kannst sie zwar schmelzen und mit dem Öl vermischen aber wenn das alles abgekühlt ist, wird es trüb. Und wenn du das Öl dann ist Badewasser kippst, werden die Bröckelchen vom Emulgator einträchtig neben den Fettaugen im Wasser schwimmen...
du kannst LL nehmen oder ein anderes tensid. Wird dann etwas anders, aber bestimmt auch schön. Mit dem LL hast du halt Ränder in der Wanne.
Zum lösen des LL musst das Öl ein wenig erwärmen, LG geht nicht, siehe gittas post, mit betain gehts gut (Du gibst das betain in das Glas, dann ruehrst mit dem glasstab oder loeffelstiel das Öl unter, bis es ganz homogen ist. Dann den Rest langsam unter rühren. Und ja betain so 10% ig einsetzen. Hochtourig NUR wenn Milchpulver dabei ist und nur wenn es dich nicht stört, dass du erstmal ein paar Tage warten musst, damit sich die schaumbruehe in schönes duschgel verwandelt), hab ich scho gemacht, nur minimal trüber als gittas.
Ich hab auch schon cocogluco und plantapon genommen, selben Ergebnis.
Ich habe es tatsächlich mit Betain versucht. Es mischt sich zwar gut mit dem Öl, ist aber alles andere als "geringfügig trüber". Es ist richtig milchig dicklich. Sicherlich spielt die Vorgehensweise eine Rolle. Ich habe Betain ins Glas getan, eine kleine Menge Öl zu u mit dem Glasstab sanft gerührt, bis es homogen war. Dann weitere Schlückchen drauf u dann immer größere Schlücke Öl. Es ist dick, weiß u es siehr richig appetitlich aus - wie eine Leckerei. Hat aba nix mit "Gold Marie" gemein.
Was das absenken vom Goldglitter betrifft kann ich ich nur sagen, dass es sich minimal etwas gesenkt hat nach 4 Wochen in meinem Bad um 1,5cm.
Und es klebt kein Glitter am Körper nach dem Baden.
Kieselsäure: ist diese nötig & was bewirkt sie ?
Ich denke mal das sie das Glitter in der Schwebe hält sonst würde es absinken.
du kannst die gesamte Menge auf einen Rutsch machen, wenn alle gleich sein sollen. Musst nur mehr rühren, bis die große Menge Kieselsäure untergemischt ist aber ansonsten spielt es keine Rolle, wie groß die Gesamtmenge ist, die du anrührst. Ich denke mal, ein Kochlöffel ist da zum Umrühren hilfreich...
"""Der neue Emulgator ist auch für Badeöle geeignet und wird dort in 5 %iger Konzentration eingesetzt. Sehr angenehm: das Öl bleibt klar, der Emulgator hat keinen Eigengeruch, der durchschlägt.
Das Badeöl verwöhnt trockene Winterhaut und gibt ihr wertvolle Lipide zurück. Die Mischung der ätherischen Öle wirkt entspannend, ausgleichend und stimmungsaufhellend.
Fettphase:
80,0 gr Mandelöl
5,0 gr Jojobaöl
5,0 gr Nachtkerzenöl
5,0 gr Polyglyceryl-3 Polyricinoleate
Wirkstoffe:
5,0 gr Vitamin E
Ätherische Öle:
12 Tr. Linaloeholz
8 Tr. Sandelholz
10 Tr. Palma Rosa
8 Tr. Ylang-Ylang
10 Tr. Blutorange
6 Tr. Grapefruit
Herstellung:
Öle mischen, den Emulgator hinzufügen und gut homogenisieren.
Vitamin E und die ätherischen Öle hinzugeben, gut vermischen und in eine dichte Flasche füllen.
Hinweise:
20 ml des Badeöls in das fertig eingelaufene Bad geben, damit die ätherischen Öle nicht vorher »verduften«. Die Konzentration der ätherischen Öle liegt bei umgerechnet 9 Tropfen pro Vollbad – das entspricht ca. 0,5 ml, ist damit sehr gering dosiert und sollte auch bei empfindlicher Haut nicht zu Irritationen führen. Wer mehr Duft mag, darf unbesorgt gerne die doppelte Menge verwenden. Ein Anhaltspunkt: Eliane Zimmermann empfiehlt für ein Vollbad bis zu 2 ml ätherische Öle.
Variationen:
Jetzt im Winter passt auch eine würzig-anregende Mischung ätherischer Öle, z. B. Wacholder, Zypresse, Weisstanne, Zitrone, Grapefruit, Orange, Minze, Petitgrain und Niaouli.
"""ergibt 900 ml Endprodukt:
60 g Lanolin
130 g Reiskeimöl
130 g Traubenkernöl
167 g Avocadoöl
90 g Sesamöl
93 g Rapsöl
72 g Betain
18 g Mulsifan
die Duftmischung entstand aus Gracefruit-Parfümöl-Resten, duftet aber herrlich:
20,2 g Rice Flower
4,8 g Water Lily
4,5 g Davinia
4,2 g Honey Wash
Es setzt sich trotz Zugabe von Mulsifan noch immer ab.
Und eine ganz klare Variante mit Dermofeel PP und Wollwachs.
5 % Wollwachs
5% Dermofeel PP
90% Sonnenblumen- und Olivenöl
Nach 10 Stunden hat sich nichts entmischt und ich glaube es bleibt auch so. Ganz klar, wie man sich ein Badeöl vorstellt.
Um das Lanolin zu schmelzen, musst du ja eh alles erwärmen. Gib das Dermofeel einfach mit dazu, alles braucht nur sanfte Wärme.
Ich finde das Dermofeel PP einen ganz tollen Emu für Badeöle. Was mich daran stört ist, dass es aus Palmöl ist.
"""Die Pralinen bestehen aus festen Fetten mit Emulgator und lösen sich beim Baden im warmen Wasser auf. Ein simples Vollbad verwandeln sie so in ein verwöhnendes Pflegebad! Die Öle lösen sich dank des Emulgators gut im Wasser und verteilen sich in kleinen Tröpfchen überall im Wasser. Diese Pralinen enthalten für die Optik zusätzlich Lavendelblüten, hauptsächlich an der Oberseite der Praline, ein paar sind jedoch auch im "Körper" verteilt.
Die Fette machen die Haut unglaublich weich und geschmeidig, eincremen ist nach diesem Bad nicht mehr notwendig! Für Personen mit trockener, schuppiger Haut ist gerade diese Wirkung sehr wohltuend und nur zu empfehlen.
20g Kakaobutter
10g Kokosfett
10g Sheabutter
3g Öl
4g LL
(4g Mulsifan)
Herstellung:"""
# Fette alle zusammen aufschmelzen
# Lavendelblüten in die Pralinenform geben, sodass die Oberseite der Badepraline mehr oder weniger bedeckt ist (siehe Foto).
# die Blüten mit dem geschmolzenen Fett übergießen, sodass sie gerade bedeckt sind. Dann in der Tiefkühltruhe 20 Minuten lang aushärten lassen. Dadurch bleiben die Blüten an der Unterseite der Form (Oberseite der Praline) und sinken nicht auf die Oberseite der Form (Boden der Praline).
# nun die Pralinen aus der Tiefkühltruhe nehmen und das restliche Fett darübergießen, bis die Pralinenform ausgefüllt ist. In der Tiefkühltruhe oder an der Winterluft ca. 30 Minuten lang aushärten lassen.
# Nun können die Pralinen aus der Silikonform gedrückt werden. Bitte nicht zu lange anfassen, da sie bei Körperkontakt schmelzen. Eine Aufbewahrung im Kühlschrank ist ratsam.
"""60 g Kakaobutter, 15 g Sheabutter, 15 g Olivenöl, 9 g Lysolecithin und 20 Tropfen ÄO nach Lust und Laune.
Für meinen Papa mache ich die auch immer wieder neu, aber bei dem sind statt LL dann 5 g Dermofeel PP drin, damit die Wanne nicht so flutschig wird und er selber auch nicht. Ich selber mag das für mich, aber möchte ja nicht, dass er ausrutscht. Und pflegen tun sie trotzdem. Er hat immer Juckreiz an den Beinen durch die Stützstrümpfe, weil die die Haut so austrocknet dadurch und er mag sich nicht eincremen. Seitdem er die Pralinen bekommt, ist der Juckreiz weg.
''ich hatte letztens ja mal die Lebensmittelfarben metallic vom Pativersand an meinen Badebomben getestet.''
''Das schönste Ergebnis erzielte ich mit dem Goldglitter, was einfach nur aufgepinselt wird und sieht bisher am schönsten auf meinen pflegenden Badepralinen aus.''
"""Diese Badepralinen dienen der Hautpflege. Dies wird durch den hohen Gehalt an Kakaobutter und Kokosöl erreicht, beim Baden schmelzen diese Pralinés und hinterlassen auf der Haut einen zarten Ölfilm, der ausgesprochen pflegend ist, er macht die Haut weich. Eincreme ist nach dem Bad nicht mehr notwendig. Die Pralinen lösen sich langsam aber sicher im Badewasser unter sanftem Sprudeln (Reaktion von Natron und Zitronensäure) auf und werden dabei immer weicher. Irgendwann haben sie sich völlig aufgelöst und befinden sich nun in kleinen Partikeln im Badewasser (dank des Mulsifans). Diese Pralinchen sind schön hart, schmelzen kaum auf der Hand und glänzen auch.
Ich rate euch, nicht eure Haare in diesem Badewasser zu waschen, da sie sonst fettig werden können. Das schadet zwar nicht, sieht aber nicht so gut aus. Wascht eure Haare lieber vorher schnell im ölfreien Badewasser und steckt sie dann hoch.
Rezept für 6 Herzen
20 g Kakaobutter
10 g Kokosöl
20 g Milchpulver
20 g Natron
10 g Zitronensäure
10 g Salz
6g Mulsifan (oder anderer Emulgator oder pulverförmiges Tensid)
Pigment
Duft
"""bei pflegenden Badeprodukten benötigst du einen Emulgator (z.B. DermofeelPP), damit es keine Fettränder in der Wanne gibt.
ABER, je höher die Einsatzkonzentration ist z.B. beim DermofeelPP, desto weniger pflegende Stoffe verbleiben auch auf der Haut.
Ich arbeite mit Minimaldosierung bei den Emulgatoren. Unschöne Fettränder habe ich nie, aber so ein ganz leichter Ölfilm bleibt in der Wanne meistens zurück. Der ist aber ruckzuck mit leichtem Ansprühen von Flüssigreiniger und anschließendem Abspülen vergessen.
etwas milchpulver bei festen badezusätzen emulgiert schön natürlich oder etwas lysolecithin in badeöle ... das setzt sich zwar in der flasche ab, ist mir aber lieber als muslifan und der ganze andere kram
"""20g Meersalz
72 Tropfen äth. Öl (oder Parümöl) ich habe aber maximal 40 Tropfen genommen !
10g Sojaöl
20g Maisstärke
60g Natron
60g Milchpulver
20g Zitronensäure
6g Kieselsäure
Pigment oder Farbe nach Wahl
Meersalz mit den Ölen mischen, nach und nach alle weiteren Zutaten unterrühren. Am Schluß das ganze portionsweise in einem elektrischen Kutter oder ähnliches zu einem feinen Pulver mahlen. Wer will kann dann noch Pigment oder Blüten (Rosen- oder Veilchenblüten) untermischen.
Meine Kinder lieben dieses prickelnde Badevergnügen und ich natürlich auch.
Mein persönlicher Favorit ist: Parfümöl Erdbeer-Champagner und am Ende noch ein wenig Farbpigment Pink-Perl. :-a
Das Pulver in kleine Tütchen abfüllen. Pro Bad 3-5 Eßl. - einfach herrlich
"""80 g Kakaobutter
30g Honig
40g Milchpulver (z.B. Folgemilch)
ca. 250g mittelgrobes Salz (ich habe mit Pflanzenfarbe gefärbtes Meersalz genommen
meine habe ich beduftet mit:
ca. 15 Tr. PÖ Honigmilch
ca. 4 ml ÄÖ Limette
"""Badreiniger in der 1 Liter Sprühflasche - neues Rezept
Anteile in Prozent:
Wasser,640 g
Zitronensäure,150 g
Zuckertenside, 50 g
Spiritus ,150 g
äth. Orangenöl bis max 1%
Oder
Zutaten
10 g Waschsoda (1%)
25 g Zitronensäure (2,5%)
14 g konzentriertes Spülmittel (1,4 %)
1 g ätherisches Öl wie z.B. Eukalyptus Citriodora, Orangen- oder Zitronenöl (0,1%)
950 g Wasser (95 %)
Herstellung
Von dem Wasser etwa 200 g abnehmen und mit dem Waschsoda
etwa drei Minuten aufkochen, damit sich das Soda restlos auflöst.
Danach gibt man vorsichtig die Zitronensäure dazu (braust auf].
Das ätherische Öl mit dem Spülmittel verrühren und zusammen mit dem restlichen Wasser in die Soda-Zitronensäure-Mischung geben.
Alles in eine Sprühflasche abfüllen und wer möchte kann sofort mit dem Putzen loslegen.
Ich verbrauche den Reiniger etwa in 6 Wochen und habe noch nie konserviert.
Anders verhält es sich bei einem Reinigungskonzentrat, das man auf Vorrat herstellt.
Soda und Zitronensäure sind ja auch konservierend. Ansonsten bietet sich Alkohol an.
"""klassischer Balsam mit äö
25 sheabutter
25 lanolin
25 öle nach wahl
15 kakaobutter
10 bienenwachs (oder irgendein wachs (stichwort:vegan))
Alles aufschmelzen, abfüllen, auf ca. handwärme abkühlen lassen und die entsprechenden äös einrühren. Ab in den kühlschrank und gut.
sehr lange haltbar. Außerdem kann man sich viele kleine tiegelchen füllen und für jedes wehwehchen das richtige ÄÖ reingeben.
"""100g/100%
58 Sheabutter
20 Kokosöl
2 Rizinusöl
5 Arganöl
5 Borretschöl
5 Panthenol
1 Bisabolol
2 Vitamin E
2 Ätherische Öle (ein Gemisch aus Edeltanne, Latschenkiefer, Lavendel fein, Lemongrass, Palmarosa, Pfefferminze und Salbei, insgesamt sind mir etwa 17 Tropfen Öle auf 50g Balsam reingerutscht, ich hab sie nicht abgewogen)
Shea und Kokosöl klar aufschmelzen, vom Herd ziehen, dann die anderen Öle unterrühren und, sobald die Mischung etwas abgekühlt ist, die Wirkstoffe und Ätherischen Öle dazu. Beim vollständigen Abkühlen hätte ich etwas fleißiger rühren sollen... da ich dazu zu bequem war, ist der Balsam jetzt etwas krisselig von der Sheabutter. Das nächste Mal würde ich noch etwas Wachs zugeben, mir ist die Mischung einen Tick zu weich.
Ich habe das Gefühl, dass der Balsam hilft, jedenfalls beklagt sich mein Kleiner nicht mehr so oft über seine Stiche - und sie sind nicht mehr geschwollen :)
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Adansonia Digitata Seed oil
''Jodzahl:'' 65–95 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' 1–3,8%
''Verseifungszahl:'' 185–200
__Trockene, spröde, barrieregestörte Haut. Gutes Massageöl.__
Baobaböl ist ein vielseitig einsetzbares Öl und eignet sich als stabilisierende Komponente vor allem in Ölmischungen für __trockene und barrieregestörte Haut__. Sein hoher Gehalt an gesättigten Fettsäuren prädestiniert es als Ersatz für Pflanzenbuttern in feuchtigkeitsbindenden, fluideren Emulsionen oder als Basisöl in Verbindung mit linolensäure-betonten Ölen wie Wildrosen-, Granatapfel- und Nachtkerzenöl sowie den oxidationsempfindlichen »grünen« Ölen wie Johannisbeersamen- oder Holundersamenöl. __Es schützt die Haut vor transepidermalem Wasserverlust und wirkt glättend, ausgesprochen »einhüllend« und barriereschützend.__
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Baobaböl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Baobaböl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Bartöl besteht aus Trägeröl und ätherischen Ölen.
Es soll gegen einen juckenden und kratzenden Bart helfen. Mein Sohn bestellt es regelmäßig nach.
Man kann es mit einer Bürste einarbeiten, wobei man nur wenige Tropfen benötigt.
kann man auch für die 3 Tage Bärte nehmen. Dann kann man die Gesichtshaut auch gleich ein wenig damit pflegen.
Es soll diese Bärte wohl auch weicher machen. Dann bekommen die Damen, die von den bärtigen geküsst werden, nicht immer gleich eine Akkupunkturbehandlung gratis.
Rezept für eine 50 ml Tropfflasche:
20 g Mandelöl
10 g Jojobaöl
10 g Isopropylmyristat
5 g Traubenkernöl
5 g Squalan
Duft:
5 Tropfen Bergamotteöl , 3 Tropfen Vanilleextrakt, 1 Tropfen Patchouli
alternative Duftrichtung:
5 Tropfen Manukaöl, 3 Tropfen Pfefferminzöl 1 Tropfen Vetiveröl
Einfach alle Zutaten in die Tropfflasche geben und gut schütteln.
Meine erste Idee für das 50 g Bartöl.
40 g Mandelöl 80%
10 g Arganöl) 20%
3 Tropfen Zedernholzöl
7 Tropfen Limettenöl
Vielleicht sollte ich auch noch 0,2 % Vitamin E dazu geben.
Also habe ich eine schöne Mischung zusammengestellt.
41,18 % Mandelöl (70 g)
41,18 % Traubenkernöl (70 g)
11,76 % Jojobaöl (20 g)
5,88 % Rizinussöl (10 g)
Dazu kamen je 6 Tropfen von folgenden ätherischen Ölen:
Limette, Orange, Ylang-Yang, Patchouli, Lemongras, Citronella, Bergamotte, Rosenholz
und 3 Vitamin E Kapseln
Es duftet zart und sehr verführerisch. Ich hoffe die Männer werden es mögen.
<div style="background:White;">
!!Diese Basis- & Wirkstofföle brauchst Du für die getesteten Rezepte:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Basis- & Wirkstofföle]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Basis- & Wirkstofföle]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Die erwähnten Basis- & Wirkstofföle kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Basis- & Wirkstofföle]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
Emulsion Lotion mit Montanov 202, 25 % Fettphase
__Phase A__
* 17% Öle
* 5% Butter
* 3% Montanov 202
__Phase B__
* 71% Wasser
__Phase C__
* 0,2% Xanthan
* 2,8% Glycerin (palmölfreies!)
__Phase D__
* 1% Konservierungsmittel, z.B. ? (evtl. Biogard?)
* Milchsäure q. s. (quantum satis«, das bedeutet »so viel wie nötig«)
<br/>
# __Phase A (Fette):__ Alle Komponenten bei ca. 75°C im Rührglas aufschmelzen.
#* Danach Rührglas vom Herd nehmen.
# __Phase B (Wasser):__ Wasser auf ca. 75°C erhitzen und unter Rühren in kleinen Portionen zu Phase A geben.
#* Nach Emulsionsbildung 1-4 Min. (je nach Rührgerät) hochtourig homogenisieren.
# __Phase C (Gelbildner):__ Gelbildner mit Messlöffel, Spatel oder Glasstab in Glycerin dispergieren.
#* Dann zu Phase A/B geben.
#* Emulsion sanft kalt rühren.
# __Phase D (Konservierung & pH-Wert):__ Emulsion konservieren.
#* PH-Wert prüfen und bei Bedarf auf pH 5–5,4 korrigieren.
---------------------------------------------------------------------------------------------------------
Emulsion Fluid mit Phospholipon & Imwitor, 25 % Fettphase
__Phase A__
* 16,4% Öle
* 5% Buttern
* 1,6% Phospholipon 80 H
* 2% Imwitor
__Phase B__
* 71% Wasser
__Phase C__
* 0,2% Xanthan
* 2,8% Glycerin (palmölfreies!)
__Phase D__
* 1% Konservierungsmittel, z.B. ? (evtl. Biogard?)
* Milchsäure (80%) q. s. (quantum satis«, das bedeutet »so viel wie nötig«)
# __Phase A (Fette):__ Alle Komponenten bei ca. 70-80°C im Rührglas aufschmelzen.
#* Danach Rührglas vom Herd nehmen.
# __Phase B (Wasser):__ Wasser auf ca. 80°C erhitzen und unter Rühren in kleinen Portionen zu Phase A geben.
#* Nach Emulsionsbildung 1-4 Min. (je nach Rührgerät) hochtourig homogenisieren.
# __Phase C (Gelbildner):__ Gelbildner mit Messlöffel, Spatel oder Glasstab in Glycerin dispergieren.
#* Dann zu Phase A/B geben.
#* Emulsion sanft kalt rühren.
# __Phase D (Konservierung & pH-Wert):__ Emulsion konservieren.
#* PH-Wert prüfen und bei Bedarf auf pH 5–5,4 korrigieren.
\define bm-addtofilter(tooltip, class)
<$button class="tc-btn-invisible bm-btn-addtofilter $class$"
tooltip="""$tooltip$""">
$(label)$⤴
<$action-setfield $tiddler=batchmanipulator
bm-filter-previous={{batchmanipulator!!bm-filter}} />
<$action-listops $tiddler="batchmanipulator" $field="bm-filter"
$subfilter="""[enlist<fieldselection>]""" />
</$button>
\end
\define concat() $(append2me)$ -[[$(tid)$]]
\define bm-removefromfilter()
<$vars append2me={{batchmanipulator!!bm-filter}} >
<$button class="tc-btn-invisible bm-btn-addtofilter bm-fontsmall bm-btn-tooltip bm-center">
{{$:/core/images/close-button}}
<div class="bm-tooltip">Remove from list</div>
<$action-setfield $tiddler=batchmanipulator
bm-filter-previous={{batchmanipulator!!bm-filter}} />
<$action-setfield $tiddler=batchmanipulator
bm-filter=<<concat>> />
</$button>
</$vars>
\end
\define addremove-btn(field, val, list)
<$set name=list value="""$list$""">
<$set name=addremove-this filter="""[[batchmanipulator]bm-field[tag]]"""
value="""$val$""" emptyValue="""$field$""">
<$vars field="""$field$""">
<$button class="bm-btn bm-btn-$(add-or-remove)$ tc-btn-invisible bm-btn-tooltip" >
<div class="bm-tooltip">$(add-or-remove)$ $field$ : $val$</div>
<$list filter="""[enlist<list>]""">
<$fieldmangler>
<$action-sendmessage
$message="tm-$(add-or-remove)$-$(tag-or-field)$"
$param=<<addremove-this>>
/>
<$macrocall $name="$(add-or-remove)$-$(tag-or-field)$" val="""$val$"""/>
</$fieldmangler>
</$list>
</$button>
</$vars>
</$set>
</$set>
<br>
\end
\define addremove-field-all(field, val)
<$wikify name=field text="$field$" >
<$wikify name=val text="""$val$""" >
<$set name=add-or-remove
filter="""[enlist<thetids>!$field$<val>] [enlist<thetids>is[missing]]"""
value=add emptyValue=remove >
<$macrocall $name=addremove-btn
field=<<field>>
val=<<val>>
list=<<thetids>>
/>
</$set>
</$wikify>
</$wikify>
\end
\define addremove-tag-single()
<$set name=add-or-remove filter="""[[$(tid)$]!tag[$(val)$]] [[$(tid)$]is[missing]]"""
value=add emptyValue=remove >
<$set name=t filter="""[[$(tid)$]]""">
<$macrocall $name=addremove-btn
field=tag
val=<<val>>
list=<<t>> />
</$set>
</$set>
\end
\define addremove-field-single()
<$list filter="""[[$(tid)$]!$(thefield)$[$(val)$]] [[$(tid)$]is[missing]!is[shadow]]""">
<$button class="bm-btn bm-btn-add tc-btn-invisible bm-btn-tooltip">
<div class="bm-tooltip">Set $(thefield)$ to $(val)$ (currently:
<$transclude tiddler=<<tid>> field=<<thefield>> />)
</div>
<$action-setfield $tiddler="""$(tid)$""" $(thefield)$="""$(val)$""" />
</$button>
</$list>
<$list filter="""[[$(tid)$]$(thefield)$[$(val)$]]""">
<$button class="bm-btn bm-btn-remove tc-btn-invisible bm-btn-tooltip">
<div class="bm-tooltip">Keep the field ($(thefield)$) but remove value $(val)$
</div>
<$action-setfield $tiddler="""$(tid)$""" $(thefield)$="" />
</$button>
</$list>
\end
\define delete-tid-btn()
<$button class="tc-btn-invisible bm-btn bm-fontsmall" tooltip="Delete this tiddler">
<$action-deletetiddler $tiddler="""$(tid)$"""/>
{{$:/core/images/delete-button}}
</$button>
\end
\define bm-relations-table-row()
<tr>
<td style="text-align:center">
<$list filter="""[[$(tid)$]is[tiddler]]"""><<delete-tid-btn>></$list>
</td>
<td style="padding:0"><<bm-removefromfilter>></td>
<td class="peek-hover">
<$link to="""$(tid)$""">$(tid)$</$link>
<div class="peek"><$transclude tiddler=<<tid>>/></div>
<$set name=label filter="""[tag<tid>count[]]""">
<$wikify name=fieldselection text="""[tag[<<tid>>]]""">
<$macrocall $name=bm-addtofilter
tooltip="Add as tag to filter"
class="bm-fontsmall"
/>
</$wikify>
</$set>
</td>
<$list filter="""[[batchmanipulator]bm-field[tag]]""">
<$list filter="""[enlist<thetids>tags[]sort[]reverse[]] [[$(val)$]] +[reverse[]]"""
variable="val">
<td><<addremove-tag-single>></td>
</$list>
</$list>
<$list filter="$(thefield)$ -tag">
<$list filter="""[enlist<thetids>fields[]] -created -creator -modified -modifier -tags -text -title +[sort[]reverse[]] [[$(thefield)$]] +[reverse[]]""" variable="thefield">
<td><<addremove-field-single>></td>
</$list>
</$list>
</tr>
\end
\define delete-all-items(items)
<$button popup=<<qualify "$:/state/batchDelete/$items$">>
tooltip="Delete $items$"
class="tc-btn-invisible">
{{$:/core/images/delete-button}}
</$button>
<$reveal state=<<qualify "$:/state/batchDelete/$items$">>
type="popup" position="belowleft" animate="yes">
<div class="tc-block-dropdown-wrapper foo">
<div class="tc-block-dropdown tc-edit-type-dropdown">
<div class="tc-dropdown-item-plain">
Are you sure you wish to delete all these $items$?
</div>
<div class="tc-dropdown-item-plain">
<$button class="tc-btn">
Delete all these $items$
<$list filter=""" $items$ +[suffix[tiddlers]]""">
<$action-deletetiddler $filter=<<thetids>>/>
</$list>
<$list filter=""" $items$ +[suffix[tags]]""">
<$list filter="""$(thetids)$""">
<$action-setfield $tiddler={{!!title}} tags=""/>
</$list>
</$list>
<$list filter=""" $items$ +[suffix[fields]]""">
<$list filter="""$(thetids)$""" >
<$action-deletefield $(thefield)$ />
</$list>
</$list>
</$button>
</div>
</div>
</div>
</$reveal>
\end
\define bm-dragpill()
<$draggable filter={{batchmanipulator!!bm-filter}} class="bm-drag">ALL</$draggable>
\end
\define head-tags-1(val)
<$list filter="""[enlist<thetids>$(tag-or-field)$s[]] +[sort[]reverse[]] [[$(val)$]] +[reverse[]]""">
<$wikify name=newfilter text="""[tag[{{!!title}}]tags[]tagging[]] $(limit)$""">
<th class="rotate"><div><span>
<$button set="batchmanipulator!!bm-filter"
setTo=<<newfilter>>
class="tc-btn-invisible tc-tiddlylink green-link bm-btn-tooltip">
<$view field="title"/>
<div class="bm-tooltip">Apply relations filter</div>
<$action-setfield $tiddler="$:/batchmanipulator/temp" text=""/>
</$button>
</span></div></th>
</$wikify>
</$list>
\end
\define head-tags-2()
<$list filter="""[enlist<thetids>$(tag-or-field)$s[]] +[sort[]reverse[]] -[[$(val)$]] [[$(val)$]] +[reverse[]]""">
<th><div><span>
<$macrocall $name=addremove-field-all field=tag val="{{!!title}}" />
</span></div>
</th>
</$list>
\end
\define head-fields-1()
<$list filter="""[enlist<thetids>$(tag-or-field)$s[]] -created -creator -modified -modifier -tags -text -title +[sort[]reverse[]] [[$(thefield)$]] +[reverse[]]""">
<$wikify name=newfilter text="""[has[{{!!title}}]get[{{!!title}}]tagging[]] $(limit)$""">
<th class="rotate"><div><span>
<$button set="batchmanipulator!!bm-filter"
setTo=<<newfilter>>
class="tc-btn-invisible tc-tiddlylink green-link bm-btn-tooltip">
<$view field="title"/>
<div class="bm-tooltip">Apply relations filter</div>
<$action-setfield $tiddler="$:/batchmanipulator/temp" text=""/>
</$button>
</span></div>
</th>
</$wikify>
</$list>
\end
\define head-fields-2()
<$list filter="""[enlist<thetids>$(tag-or-field)$s[]] -created -creator -modified -modifier -tags -text -title +[sort[]reverse[]] [[$(thefield)$]] +[reverse[]]""">
<th><div><span>
<$macrocall $name=addremove-field-all field={{!!title}} val="""$(val)$""" />
</span></div>
</th>
</$list>
\end
\define bm-relations-table-head()
<tr style="border-bottom:1px solid silver;">
<td colspan=3 style="text-align:right;">
<$list filter="""[[batchmanipulator]bm-field[tag]]""">
Apply tag to tiddler
</$list>
<$list filter="[[batchmanipulator]bm-display[relations]!bm-field[tag]]">
Set ''$(val)$'' as value for:
</$list>
</td>
<<head-$(tag-or-field)$s-1>>
</tr>
<tr style="border-bottom:2px solid silver ">
<td style="text-align:center;position:relative"><<delete-all-items tiddlers>></td>
<td></td>
<td style="text-align:center;"><<bm-dragpill>></td>
<<head-$(tag-or-field)$s-2>>
</tr>
\end
\define bm-relations-table()
<table class="bm-table bm-relations-table">
<<bm-relations-table-head>>
<$list filter=<<thetids>> variable="tid">
<<bm-relations-table-row>>
</$list>
</table>
\end
\define remove-btn(item)
<$button class="tc-btn-invisible bm-fontsmall " tooltip="Delete field $(thefield)$ and its value">
{{$:/core/images/delete-button}}
<$fieldmangler tiddler=<<tid>>>
<$action-sendmessage
$message=tm-remove-$(tag-or-field)$
$param="""$item$""" />
</$fieldmangler>
</$button>
\end
\define set-or-clear()
<$list filter="""[[$(tq)$]has[$(thefield)$]]""">
<$button tooltip="Set $(thefield)$">
''!''
<$action-setfield $tiddler="""$(tid)$""" $(thefield)$={{$(tq)$!!$(thefield)$}} />
<$action-deletetiddler $tiddler="""$(tq)$""" />
</$button>
</$list>
<$list filter="""[[$(tid)$]has[$(thefield)$]]""">
<$list filter="""[[$(tq)$]!has[$(thefield)$]]""">
<$button class="bm-btn tc-btn-invisible" tooltip="Clear $(thefield)$">
{{$:/core/images/close-button}}
<$action-setfield $tiddler="""$(tid)$""" $(thefield)$="" />
</$button>
</$list>
</$list>
\end
\define tid-qualify()
temp/bm/<<qualify """$(tid)$""">>
\end
\define bm-singledata-table()
<table class="bm-table">
<tr class="bm-singledata-table-head">
<td style="position:relative;"><<delete-all-items tiddlers>></td>
<td></td>
<td style="text-align:center;"><<bm-dragpill>></td>
<td style="text-align:center;">
<<addremove-field-all "$(thefield)$" """$(val)$""">>
</td>
<td style="position:relative;text-align:center;">
<$list filter="""[enlist<thetids>has:field[$(thefield)$]first[]] [[batchmanipulator]bm-field[tag]]""">
<<delete-all-items "$(tag-or-field)$s">>
</$list>
</td>
<$list filter="[[batchmanipulator]!bm-field[tag]]">
<td style="text-align:center;">,,$(thefield)$,,<br>^^value^^</td>
<td style="text-align:center;">
<$button class="tc-btn-invisible"
tooltip="Clear all $(thefield)$ fields">
{{$:/core/images/close-button}}
<$list filter="""$(thetids)$""">
<$action-setfield $(thefield)$="" />
</$list>
</$button>
</td>
</$list>
</tr>
<$list filter="""$(thetids)$""" variable="tid">
<tr>
<td><<delete-tid-btn>>
</td>
<td style="padding:0"><<bm-removefromfilter>></td>
<td class="peek-hover">
<$link to=<<tid>>><<tid>></$link>
<$set name=label filter="""[tag<tid>count[]]""">
<$wikify name=fieldselection text="[tag[<<tid>>]]">
<$macrocall $name=bm-addtofilter
tooltip="Add as tag to filter"
class="bm-fontsmall"
/>
</$wikify>
</$set>
<div class="peek"><$transclude tiddler=<<tid>>/></div>
</td>
<$list filter="[[batchmanipulator]!bm-field[tag]]">
<td style="white-space:nowrap">
<<addremove-$(tag-or-field)$-single>>
</td>
<td>
<$list filter="""[<tid>has:field[$(thefield)$]]""">
<<remove-btn $(thefield)$>>
</$list>
</td>
<$wikify name=tq text=<<tid-qualify>>>
<td style="padding-right:0; padding:0">
<$set name=placeholder filter="""[<tid>get[$(thefield)$]]""">
<$edit-text tag=input size=8
tiddler=<<tq>> field="$(thefield)$"
placeholder=<<placeholder>>
/>
</$set>
</td>
<td class="bm-fontsmall bm-center">
<<set-or-clear>>
</td>
</$wikify>
</$list>
<$list filter="""[[batchmanipulator]bm-field[tag]]""">
<td style="white-space:nowrap; text-align:center;">
<<addremove-$(tag-or-field)$-single>>
</td>
<td style="padding-top:0px;">
<$set name=tgs value={{{ [<tid>get[tags]] }}}>
<div class="bm-fontsmall">
<$list filter="""[enlist<tgs>]""">
<$checkbox
tiddler=<<tid>>
tag={{!!title}}
/>
<$wikify name=newfilter text="""[tag[{{!!title}}]tags[]tagging[]] $(limit)$""">
<$button set="batchmanipulator!!bm-filter"
setTo=<<newfilter>>
class="tc-btn-invisible tc-tiddlylink green-link bm-btn-tooltip">
<$view field="title"/>
<div class="bm-tooltip">Apply relations filter</div>
<$action-setfield $tiddler="$:/batchmanipulator/temp" text=""/>
</$button>
<$set name=label filter="""[tag{!!title}count[]]""">
<$wikify name=fieldselection text="[tag[{{!!title}}]]">
<$macrocall $name=bm-addtofilter
tooltip="Add as tag to filter"
/>
</$wikify>
</$set>
</$wikify>
</$list>
</div>
</$set>
</td>
</$list>
</tr>
</$list>
</table>
\end
\define bm-input-table()
<table class="bm-table bm-input-table" >
<tr>
<td style="text-align:center; vertical-align:bottom">^^Back. Up. First. !^^<br>
<$button>
<$list filter="[[batchmanipulator]bm-display[singledata]]">
single data
<$action-setfield $tiddler=batchmanipulator bm-display=relations/>
</$list>
<$list filter="[[batchmanipulator]!bm-display[singledata]]">
relations
<$action-setfield $tiddler=batchmanipulator bm-display=singledata />
</$list>
</$button>
</td>
<td style="white-space:nowrap;">
,,Select / type titles or 'filter'. Note [[space brackets]].,,<br>
<$edit-text class='tc-edit-texteditor' tag=input
default={{batchmanipulator!!bm-filter}}
tiddler="$:/batchmanipulator/temp/filter"
placeholder={{batchmanipulator!!bm-filter}}
/>
</td>
<td style="vertical-align:bottom;padding:0;padding-bottom:5px;white-space:nowrap;">
<$list filter="[[$:/batchmanipulator/temp/filter]has[text]] [[batchmanipulator]get[bm-filter]] +[first[]]">
<$button class="bm-btn tc-btn-invisible" tooltip="Clear filter">
{{$:/core/images/close-button}}
<$action-setfield $tiddler="batchmanipulator" bm-filter="" />
<$action-setfield $tiddler="$:/batchmanipulator/temp/filter" text="" />
<$action-navigate $to="batchmanipulator"/>
</$button>
</$list>
<$list filter="[[$:/batchmanipulator/temp/filter]has[text]]">
<$button class="bm-alert bm-btn-tooltip">
!
<div class="bm-tooltip">Click to apply filter</div>
<$action-setfield $tiddler=batchmanipulator
bm-filter-previous={{batchmanipulator!!bm-filter}} />
<$action-setfield $tiddler=batchmanipulator
bm-filter={{$:/batchmanipulator/temp/filter}} />
<$action-deletetiddler $tiddler="$:/batchmanipulator/temp/filter"/>
</$button>
</$list>
</td>
</tr>
<tr>
<td style="text-align:center; vertical-align:top;">
^^Current view^^
</td>
<td style="white-space:nowrap">
<$select tiddler="batchmanipulator" field="bm-filter" default="""{{!!bm-filter}}""" >
<option value={{batchmanipulator!!bm-filter-previous}}>back to last filter</option>
<optgroup label='Filters based on user set values (i.e set them first)'>
<$list filter="""[[batchmanipulator]bm-field[tag]]""">
<option value="[tag[$(val)$]] $(limit)$">$(val)$ tag siblings</option>
<option value="[tag[$(val)$]tags[]tagging[]] $(limit)$">$(val)$ tag cousins</option>
</$list>
<$list filter="$(tag-or-field)$ -tag">
<option value="[has:field[$(thefield)$]] $(limit)$">field siblings: $(thefield)$</option>
<option value="[has:field[$(thefield)$]$(thefield)$[$(val)$]] $(limit)$">field+value siblings: $(thefield)$:$(val)$</option>
</$list>
</optgroup>
<optgroup label='custom - Locate "XXX" in editmode to customize'>
<option value="[type[text/x-tiddlywiki]] $(limit)$">TWC to TW5 - remove type & changecount </option>
<option value="aa [[bb bb]] cc dd ee">titles for testing</option>
<option value="">...</option>
</optgroup>
</$select><$select tiddler="batchmanipulator" field="bm-filterlimit" default="limit[10]" >
<option value="+[limit[5]]">5</option>
<option value="+[limit[10]]">10</option>
<option value="+[limit[20]]">20</option>
<option value="+[limit[50]]">50</option>
<option value="+[limit[100]]">100</option>
<option value="">no.l</option>
</$select>
<$wikify name=fieldselection text="{{batchmanipulator!!bm-filterlimit}}">
<$macrocall $name=bm-addtofilter
tooltip="(Optional) Add limit to filter"
/>
</$wikify>
</td>
<td></td>
</tr>
<tr>
<td style="white-space:nowrap;">
,,Select or create what to manipulate:,,</td>
<td>
,,New or existing field value or tag to use:,,
</td>
<td>
</td>
</tr>
<tr>
<td style="white-space:nowrap; text-align:right;">
<$select tiddler="batchmanipulator" field="bm-field" default="tag">
<option value="tag"> tags</option>
<option value="bm-new-field"> [create new field]</option>
<optgroup label='fields'>
<$list variable="field"
filter="""[{!!bm-field}] [!is[shadow]!is[system]fields[]sort[]] -title -text -field-filter
-bm-filter -bm-filter-previous -bm-filterlimit -bm-value -bm-field -bm-tag -bm-display -bm-message""" >
<option value=<<field>>><<field>></option>
</$list>
</optgroup>
</$select>
<$list filter="$(thefield)$ -tag">
<$set name=label filter="""[has[$(thefield)$]count[]]""">
<$wikify name=fieldselection text="""[has[$(thefield)$]]""">
<$macrocall $name=bm-addtofilter
tooltip="""(Optional) Add [has[$(thefield)$]] to filter"""
class="bm-fontsmall"
/>
</$wikify>
</$set>
</$list>
<$list filter="[[batchmanipulator]bm-field[bm-new-field]]"><br>
<$set name=placeholder
filter="[[batchmanipulator]get[bm-field]] -bm-new-field"
value={{batchmanipulator!!bm-name}}
emptyValue=" new field name"
>
<$edit-text tag=input size=15
tiddler="$:/batchmanipulator/temp" field="bm-field"
placeholder=<<placeholder>>
/>
</$set>
<$button class="bm-alert bm-btn-tooltip">
!
<div class="bm-tooltip">Click to create field name</div>
<$action-setfield $tiddler=batchmanipulator
bm-field={{$:/batchmanipulator/temp!!bm-field}} />
<$action-setfield $tiddler="$:/batchmanipulator/temp" bm-field="" />
</$button>
</$list>
</td>
<$list filter="[[$(tag-or-field)$]prefix[field]]">
</$list>
<td style="white-space:nowrap">
<$set name=placeholder filter="""[[batchmanipulator]get[bm-value]]"""
value="""$(val)$"""
emptyValue="(new value)"
>
<$edit-text class='tc-edit-texteditor bm-fieldeditor' tag=input
tiddler="$:/batchmanipulator/temp" field="bm-value"
placeholder=<<placeholder>>
/>
</$set>
<$list filter="[[$:/batchmanipulator/temp]!has[bm-value]]">
<$set name=label filter="""[$(thefield)$[$(val)$]count[]]""">
<$wikify name=fieldselection
text="""[{{batchmanipulator!!bm-field}}[{{batchmanipulator!!bm-value}}]]""">
<$macrocall $name=bm-addtofilter
tooltip="(Optional) Add to filter"
class="bm-fontsmall"
/>
</$wikify>
</$set>
</$list>
<$list filter="""[[$:/batchmanipulator/temp]get[bm-value]]""">
<$button class="bm-alert bm-btn-tooltip">
!
<div class="bm-tooltip">Click to apply value</div>
<$action-setfield $tiddler=batchmanipulator
bm-value={{$:/batchmanipulator/temp!!bm-value}}
/>
<$action-setfield $tiddler="$:/batchmanipulator/temp"
$field="bm-value"
$value=""
/>
</$button></$list>
</td>
<td>
</td>
</tr>
</table>
\end
\define singledata() <<bm-singledata-table>>
\define relations() <<bm-relations-table>>
\define bm-inner()
<$set name=tag-or-field filter="""[[batchmanipulator]get[bm-field]] -tag"""
value=field emptyValue=tag >
<$set name=val value={{batchmanipulator!!bm-value}}>
{{Xbatchmanipulator/peek}}
<<bm-input-table>>
<br>
<$list filter="[[batchmanipulator]has[bm-filter]!bm-field[bm-new-field]]">
<$macrocall $name={{!!bm-display}} />
</$list>
</$set>
</$set>
\end
<$reveal type="nomatch" state="$:/state/SampleRevealHBM" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHBM" setTo="show">@@background-color:orange;Hilfe für batchmanipulator@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealHBM" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHBM" setTo="hide">@@background-color:orange;Verberge Hilfe für batchmanipulator@@</$button>
Der batchmanipulator kommt von: http://batchmanipulator.tiddlyspot.com/<br/><br/>
@@font-size:1.0em;''Ersetzen bzw. Umbenennen eines Tags:''@@
# Zuerst nach Tiddlern mit dem Tag filtern.
# Dann im Feld "New or existing field value or tag to use:" den gewünschten neuen Tag eingeben.
# Dann das graue Kästchen __über__ der Linie (über den gelisteten Tiddlern) anklicken- der neue Tag ist allen gelisteten Tiddlern hinzugefügt worden.
# Ab Punkt 2. alles mit dem alten Tag wiederholen.<br/><br/>
@@font-size:1.0em;''Nach Tiddlern mit einem bestimmten Feld mit bestimmtem Wert filtern am Beispiel des Felds "creator":''@@ [creator[surya]]<br/>
@@font-size:1.0em;''Nach Tiddlern mit bestimmten Anfangsbuchstaben filtern- Achtung: Groß-/Kleinbuchstaben-sensitiv!:''@@ [prefix[An]]<br/><br/>
@@font-size:1.0em;''Ziehe ich einen Tag als solchen ins Suchfeld, so werden alle Tiddler gefunden, die mit diesem getaggt sind. Wähle ich den Tag als Tiddlertitel aus, so wird nur DIESER Tiddler gefunden. Eine Tag AND Tag-Funktion ist nur per manuellem Schreiben möglich, und zwar so:'' [tag[RezeptGetestet]] +[tag[Kokosöl]]@@
</$reveal>
<$set name=thetids filter={{batchmanipulator!!bm-filter}} >
<$wikify name=limit text={{batchmanipulator!!bm-filterlimit}} >
<$set name=thefield filter={{batchmanipulator!!bm-field}} >
<<bm-inner>>
</$set>
</$wikify>
</$set>
.bm-table {margin:0 auto;}
.bm-table, .bm-table th, .bm-table td {
border:0; background:white;
}
.bm-input-table {width:100%;}
.bm-input-table > tr > td:nth-child(2) {max-width:300px;}
.bm-input-table select {max-width:calc(100% - 50px - 1.2em);}
.bm-fieldeditor {max-width:calc(100% - 1.2em);}
.bm-relations-table {margin-top:4em;}
.bm-table th.rotate {
white-space: nowrap;
vertical-align:bottom;
}
.bm-table th.rotate > div {
transform: translate(27px, -.5em) rotate(315deg);
width: 1em;
margin-left:-1em;
}
.bm-table th.rotate > div > span {
border-bottom: 1px solid #ccc;
padding: 0px 10px 2px 0;
margin-left:-.6em;
background:white;
}
.bm-table ::-webkit-input-placeholder { color: #a6a6a6; }
.bm-table :-ms-input-placeholder { color: #a6a6a6; }
.bm-table ::-ms-input-placeholder { color: #a6a6a6; }
.bm-table ::-moz-placeholder { color: #a6a6a6; }
.bm-singledata-table-head {border-bottom:2px solid silver}
.bm-btn {width:1em;}
.bm-btn-addtofilter {color:blue; }
.bm-btn-add, .tm-add-tag, .tm-add-field { background:lightgray;}
.bm-btn-remove, .tm-remove-tag, .tm-remove-field {background:lightgreen;}
.peek {display:none;z-index:2;background-color:lightgray;position:absolute;}
.peek-hover:hover .peek {display:block; background:lightgray;}
.bm-tooltip {position:absolute; display:none; z-index:2;background:white; margin:-2.6em -1em; border:1px solid silver; padding:0 5px; color:black;white-space:nowrap;}
.bm-btn-tooltip:hover .bm-tooltip {display:block;}
.bm-fontsmall {font-size:.8em; fill:gray;}
.bm-center {text-align:center; vertical-align:text-bottom;}
.bm-fontsmall svg,
.bm-fontsmall input[type="checkbox"] {vertical-align:text-top}
.bm-alert {border-color:red;}
.bm-drag {background:#ec6; border-radius:1em; padding:0; line-height:1.1em; width:3em; display:inline-block;}
button.green-link {color:#00cc00;}
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=250 src="https://share-your-photo.com/img/3c816e26cd.jpg"/>||
|<h6>Aomorikuma, [[Toxicodendron vernicifluum 03|https://commons.wikimedia.org/wiki/File:Toxicodendron_vernicifluum_03.jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>, Ko-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Wachs (-pastillen)
''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Beerenwachs (weiß-gelbe Pastillen) wird aus den Fruchtschalen des Lackbaumes / Lacksumachs gewonnen, einem Laubbaum mit bis zu 20m Wuchshöhe, der in Teilen Asiens heimisch ist. Nach der Ernte werden die Früchte, die durchschnittlich 6 x 6cm groß sind, zunächst in speziellen Kesseln gekocht. Anschließend lässt sich das Rohwachs relativ einfach abschöpfen, bevor es dann möglichst schonend gefiltert wird.
''INCI-Bezeichnung:'' Rhus Verniciflua (Peel) Cera
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Beerenwachs hat eine <div class="tooltip">konsistenzgebende
<span class="tooltiptext">die Beschaffenheit einer Emulsion fester gestaltend</span></div>, rückfettende und leicht ko-<div class="tooltip">emulgierende
<span class="tooltiptext">emulgieren = Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.</span></div> Wirkung und ist eine beliebte Komponente in Lippen- & Pflegestiften, <div class="tooltip">Oleogelen
<span class="tooltiptext">__KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.</span></div>, Cremes und <div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>- und <div class="tooltip">W/O
<span class="tooltiptext">Wasser-in-Öl</span></div>-<div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> in der Haut- & Haarpflege und der dekorativen Kosmetik. Z.B. für eine weiche glatte Haut mit unsichtbarer Schutzschicht, geschmeidige Lippen (gegen spröde rissige Lippen) und gegen trockene Hände.
Charakteristisch ist seine halbtransparente, gelartige Struktur (v.a., wenn es in Rizinusöl bzw. in Mischungen mit diesem Öl aufgeschmolzen wird). Daher wird diese geschmeidige & nichtklebende Komponente für Lippenstifte & Lipgloss besonders häufig verwendet.
Seine angenehme Haptik basiert auf seinem spezifischen Fettsäuremuster und einem Schmelzpunkt nahe der Hauttemperatur.
Es ist ein guter Ersatz für Japanwachs, wie auch Bienenwachs- hierbei muss jedoch beachtet werden, dass Beerenwachs einen niedrigeren Schmelzpunkt hat. Also ggf. mit höher schmelzenden Wachsen kombinieren! Beerenwachs wirkt deutlich weniger filmbildend als Bienenwachs, was von vielen als angenehm empfunden wird.
In der Haarpflege schätzt man seine feuchtigkeitsspendende und rückfettende Wirkung ganz besonders. Außerdem sorgt es für glänzendes Haar.
Beerenwachs lässt sich problemlos mit anderen Ölen kombinieren und trocknet auffallend hell.
''Duftprofil:'' Geruchlos
''Einsatzkonzentration:'' 1-5%
In wasserbetonten <div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>-Emulsionen nicht höher als 1%, wenn Du noch andere <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> (v.a. Fettalkohole oder Stearate) verwendest.
In <div class="tooltip">W/O
<span class="tooltiptext">Wasser-in-Öl</span></div>-Emulsionen mit hohem <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>anteil bis zu 5%.
In <div class="tooltip">Oleogelen
<span class="tooltiptext">__KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.</span></div> 4–5%.
''Schmelzbereich:'' 48-54°C
''Haltbarkeit:'' Sehr gut
''Verseifungszahl:'' 180-220mg KOH/g
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], jedoch nicht in Drogerien, Bioläden.
''Worauf beim Kauf achten:'' Hochwertiges Beerenwachs ist absolut natürlich und darf keine Zusatzstoffe enthalten. Minderwertige Alternativen lassen sich leicht an der Zutatenliste erkennen: Hier sollten neben der Bezeichnung „Reines Pflanzenwachs“ keine weiteren Stoffe aufgeführt sein.
''Tipp für die Verarbeitung:'' Schmelzen in der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Beerenwachs]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Beerenwachs]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
Klicke auf die Monatsbuttons, dann werden Dir in einem Popup die Aufgaben angezeigt, die in dem entsprechenden Monat erledigt werden sollen. Die Aufgaben sind erst nach Fälligkeit sortiert, dann nach Titel. Die Fälligkeit wird über jeder Aufgabe angezeigt, sie ist direkt in diesem Popup bearbeitbar (Fälligkeit verschieben).<br/>
Klicke dann auf die Aufgaben, werden Dir in einem weiteren Popup die entsprechenden Unteraufgaben angezeigt. Auch dort kannst Du die Fälligkeit & die Unteraufgaben bearbeiten. Links in den Unteraufgaben sind anklickbar.<br/>
Es sind Aufgaben mit Unteraufgaben im Januar & Februar als Beispiele vorhanden.<br/>
Beim 2. Klick auf einen Button wird der Inhalt wieder verborgen.
Klicke hier für die Anleitung zur Erstellung einer solchen ToDo-Listenübersicht nach Monaten (inkl. Unterlisten, Aufgaben & Unteraufgaben): [[ToDo-Listen mit Fälligkeitsdatum erstellen]]
<div style="margin-left: 250px;border-left: 50px solid Darkslateblue;border-right: 250px solid white;
background-color: Darkslateblue;"><br/>
<$button class="lightgreenbigbutton" message="tm-new-tiddler" param="K:">+Neuer Task</$button><br/><br/>
<$reveal type="nomatch" state="$:/state/SampleReveal1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal1" setTo="show">ToDo-Liste (Januar)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal1" setTo="hide">Verberge ToDo-Liste (Januar)</$button>
{{ToDo-Liste (Januar)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal2" setTo="show">ToDo-Liste (Februar)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal2" setTo="hide">Verberge ToDo-Liste (Februar)</$button>
{{ToDo-Liste (Februar)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal3" setTo="show">ToDo-Liste (März)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal3" setTo="hide">Verberge ToDo-Liste (März)</$button>
{{ToDo-Liste (März)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal4" setTo="show">ToDo-Liste (April)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal4" setTo="hide">Verberge ToDo-Liste (April)</$button>
{{ToDo-Liste (April)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal5" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal5" setTo="show">ToDo-Liste (Mai)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal5" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal5" setTo="hide">Verberge ToDo-Liste (Mai)</$button>
{{ToDo-Liste (Mai)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal6" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal6" setTo="show">ToDo-Liste (Juni)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal6" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal6" setTo="hide">Verberge ToDo-Liste (Juni)</$button>
{{ToDo-Liste (Juni)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal7" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal7" setTo="show">ToDo-Liste (Juli)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal7" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal7" setTo="hide">Verberge ToDo-Liste (Juli)</$button>
{{ToDo-Liste (Juli)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal8" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal8" setTo="show">ToDo-Liste (August)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal8" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal8" setTo="hide">Verberge ToDo-Liste (August)</$button>
{{ToDo-Liste (August)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal9" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal9" setTo="show">ToDo-Liste (September)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal9" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal9" setTo="hide">Verberge ToDo-Liste (September)</$button>
{{ToDo-Liste (September)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal10" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal10" setTo="show">ToDo-Liste (Oktober)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal10" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal10" setTo="hide">Verberge ToDo-Liste (Oktober)</$button>
{{ToDo-Liste (Oktober)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal11" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal11" setTo="show">ToDo-Liste (November)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal11" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal11" setTo="hide">Verberge ToDo-Liste (November)</$button>
{{ToDo-Liste (November)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal12" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal12" setTo="show">ToDo-Liste (Dezember)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal12" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal12" setTo="hide">Verberge ToDo-Liste (Dezember)</$button>
{{ToDo-Liste (Dezember)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal13" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal13" setTo="show">ToDo-Liste (alle)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal13" text="show">
<$button class="willkommenbutton" set="$:/state/SampleReveal13" setTo="hide">Verberge ToDo-Liste (alle)</$button>
{{ToDo-Liste (alle)}}
</$reveal>
.
"""Deine benötigte Emulgatormenge kannst Du anhand der Fettphase berechnen.
Bei den klassischen Emulgatoren liegt die im Allgemeinen zwischen 16 und 25% liegt. Ich orientiere mich meistens an unteren Einsatzwert von 16%.
Beispiel für eine Emulsion mit 16% Emulgator von der Fettphase:
Bei 22% Fettphase sind das dann bei 100g Emulsion mind. 22g mal 16 geteilt durch 100 = 3.52 g Glycerin Stearat SE.
Bei 30% Fettphase sind das dann bei 100g Emulsion mind. 30g mal 16 geteilt durch 100 = 4,8 g Glycerin Stearat SE.
Du siehst, je höher die Fettphase, umso mehr Emulgator benötigst du
Und wenn du jetzt wie in unserem Beispiel Emulsan dazu nimmst, dann kannst du selber abwägen wie du die beiden Emulgatoren mischst. Zum Beispiel 1:1 oder 1:2 usw.
''Emulgatormenge anhand der Fettphase berechnen:''
Bei einer Rezept-Gesamtmenge von <$edit-text tiddler='Emulgator-Rechner Data Rezept anhand Fettphase' field='rezeptmenge' size=5/>g mit einer Fettphase von <$edit-text tiddler='Emulgator-Rechner Data Rezept anhand Fettphase' field='fettphase' size=3/>% und gewünschten <$edit-text tiddler='Emulgator-Rechner Data Rezept anhand Fettphase' field='emulgatorprozent' size=3/>% Emulgator-Anteil brauchst Du:<br/>''
<$list filter="[[Emulgator-Rechner Data Rezept anhand Fettphase]has[fettphase]has[emulgatorprozent]has[rezeptmenge]]" emptyMessage="@@background-color:lightgreen;Kein Ergebnis aufgrund fehlender Werte@@" >@@background-color:lightgreen;<$calc>round({{Emulgator-Rechner Data Rezept anhand Fettphase!!fettphase}} * {{Emulgator-Rechner Data Rezept anhand Fettphase!!emulgatorprozent}} / {{Emulgator-Rechner Data Rezept anhand Fettphase!!rezeptmenge}},2)</$calc>g Emulgator@@
</$list>''<br/>
''Emulgatormenge anhand der Rezept-Gesamtmenge berechnen:''
Bei einer Rezept-Gesamtmenge von <$edit-text tiddler='Emulgator-Rechner Data Rezept' field='rezeptmenge' size=5/>g und gewünschten <$edit-text tiddler='Emulgator-Rechner Data Rezept' field='emulgatorprozent' size=5/>% Emulgator-Anteil brauchst Du: ''<$list filter="[[Emulgator-Rechner Data Rezept]has[emulgatorprozent]has[rezeptmenge]]" emptyMessage="@@background-color:lightgreen;Kein Ergebnis aufgrund fehlender Werte@@" >@@background-color:lightgreen;<$calc>round({{Emulgator-Rechner Data Rezept!!emulgatorprozent}} * {{Emulgator-Rechner Data Rezept!!rezeptmenge}} / 100,2)</$calc>g Emulgator@@
</$list>''<br/>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
"""
''Art / Konsistenz der Zutat:'' Weißes Pulver, <div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, ''Löslichkeit:'' Fett- & wasserlöslich
''Ursprung/Beschreibung:'' BergaMuls ET 1 ist ein multifunktioneller Wirkstoff: Ein rein pflanzlicher Emulgator und Verdicker auf Basis von quellbarer, löslicher sowie unlöslicher Obst- und Getreidefasern. Beta-Glucan ist zu ca. 45-60% enthalten, Pektin zu ca. 40-55%. Er ist unkonserviert und frei von Nanopartikeln.
''INCI-Bezeichnung:'' Beta-Glucan (and) Pectin
''Duftprofil:'' Geruchsneutral
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Bergamuls ist ein multifunktionaler Rohstoff, der gleichzeitig hervorragend emulgiert (<div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>-Emulsionen), verdickt, Feuchtigkeit spendet und völlig natürlich ist.
Er lässt sich sowohl warm als auch kalt verarbeiten und emulgiert & verdickt dabei in einem Arbeitsschritt.
Ein weiterer Vorteil ist seine Kompatibilität mit anderen in der Kosmetik verwendeten Inhaltsstoffen, wie pflanzlichen Ölen, Silikonölen, Estern, Elektrolyten, UV-Filtern und anderen Wirkstoffen.
Seine gute Elektrolyttoleranz, PH-Wert-Toleranz, hohe Beständigkeit gegen <div class="tooltip">Scherkräfte
<span class="tooltiptext">durch kräftiges Rühren auf die innere Phase (Fett oder Wasser) einer Emulsion einwirkende Kräfte, die diese in möglichst viele kleinste Tropfen zerteilt</span></div> & Temperaturen und die leichte Verarbeitbarkeit machen ihn zu einem vielseitigen <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, auch für Einsteiger.
Auch Gelbildner sind bei Einsatz dieses Emulgators nicht mehr notwendig.
Er gibt schnell Konsistenz und stabilisiert <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> zuverlässig.
BergaMuls® ET 1 arbeitet nach einem sehr interessanten und innovativen Prinzip: Die Fasern dieses natürlichen Emulgators bilden ein Gelnetzwerk, in das die Öltröpfchen eingebunden sind; kleine unlösliche Faserpartikel in dieser Gelmatrix wirken zusätzlich grenzflächenstabilisierend.
Emulsionen mit Bergamuls ziehen schneller ein und hinterlassen keinen Fettfilm. Haptisch wirkt er mattierend.
Er eignet sich v.a. für unreine, fettende und Mischhaut.
Daneben eignet sich BergaMuls® ET 1 sehr gut zur Stabilisierung von Pigmenten.
Er verfügt über vergleichbare bis leicht bessere feuchtigkeitspendende Eigenschaften als Glycerin.
Wer Fettalkohole in Gesichtspflegeprodukten nicht verträgt, findet in BergaMuls® ET 1 eine wunderbare Alternative: In Kombination mit anderen <div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>-Emulgatoren erzeugt er haptisch leichte Emulsionen, die schnell einziehen, kaum fetten und in keiner Weise weißeln.
Gute Emulgator-Partner: Kombinationen mit <div class="tooltip">Phospholipiden
<span class="tooltiptext">Lecithine, phosphorhaltige, ambiphile Lipide, die als Membranlipide am Aufbau von Zellen beteiligt sind</span></div> (Lecithinen). Kosmetisch pflegende, leichte Fluids und Lotionen ergeben z.B. Kombinationen aus BergaMuls® ET 1 und hydrierten Lecithinen (wie Phospholipon® 80 H oder Emulmetik® 320). Auch Fluidlecithine sind ausgezeichnete »Partner«. Daneben bieten sich selbst<div class="tooltip">emulgierende
<span class="tooltiptext">emulgieren = Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.</span></div> Partialglyceride oder Zuckerester an. Palmölfreie Konzepte lassen sich mit BergaMuls® ET 1, Dermofeel® GSC palm oil free und einem Lecithin umsetzen.
Creme-Konsistenzen werden durch die Zugabe von Fettalkoholen, Wachsestern, Partialglyceriden und Wachsen erreicht.
''Anwendungsbereiche:''
Gesichts- & Körperpflege (z.B. leichte Cremes, Cremegele, Fluids, Lotionen), Haarpflege, Sonnenschutzprodukte, dekorative Kosmetik.
__NICHT__ geeignet als <div class="tooltip">Ko-Emulgator
<span class="tooltiptext">Ko-Emulgatoren sind schwache Emulgatoren, die den Hauptemulgator bei der Emulsionsbildung unterstützen</span></div> mit kationischen Emulgatoren oder als Verdicker von <div class="tooltip">tensidischen Produkten
<span class="tooltiptext">Produkte, die ein Tensid enthalten</span>
</div>.
''Für welchen pH-Wert geeignet:'' 4–9
''Einsatzkonzentration:'' 1,5–5% (ca. 3% als Solo-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>), darunter muss er mit einem anderen Emulgator (sehr gut eignen sich Lecithine oder z.B. Phospholipon® 80 H) kombiniert werden, um die Stabilität zu gewährleisten.
Bei höherer Dosierung haptische Schwächen: Solo eingesetzt zeigt er kurz nach dem Auftragen bisweilen, abhängig von der Dosierung und dem Gesamtkonzept der Rezeptur, eine leichte Adhäsion (»Klebrigkeit«), wie man es von hochdosierten Gelbildnern kennt, die jedoch schnell nachlässt. Diese Klebrigkeit lässt sich deutlich verringern, wenn man die langen Rührzeiten von 40 Minuten einhält.
''Lagerung:'' Er muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]]
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:''
__Empfohlene Verarbeitung für Selbstrührer ohne Rührwerk: Herstellung heißgerührter Emulsionen:__"""
# BergaMuls mit der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> (ohne temperaturempfindliche Stoffe) bei 70-80° aufschmelzen und <div class="tooltip">dispergieren
<span class="tooltiptext">=fein verteilen (nicht lösen)</span></div>.
# Die Wasserphase (ohne temperaturempfindliche Stoffe) auf die gleiche Temperatur (70-80°) erhitzen
# und zur Fettphase hinzugeben (die [[One-Pot-Methode|Rührmethoden für Emulsionen]]).
# Abhängig vom verwendeten Rührwerkzeug 1–4 Min. <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> homogenisieren
# und im Anschluss sanft bis auf Handwärme rühren.
# In die handwarme Emulsion die temperaturempfindlichen Rohstoffe einrühren
# und anschließend ca. 1 Min. <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> homogenisieren.
# Die kalte Emulsion konservieren.
# pH-Wert bei Bedarf korrigieren.
# Optimal ist es, die Emulsion nach 24 Stunden Ruhezeit noch einmal <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> für ca. 1 Min. durchzurühren.<br/><br/>
__Verarbeitung für Selbstrührer ohne Rührwerk: Herstellung kaltgerührter Emulsionen:__
# Wasserlösliche Wirkstoffe in der Wasserphase auflösen.
# BergaMuls in die kalte Wasser-Phase einrühren, bis es homogen aufgequollen ist.
# Ätherische Öle und andere flüssige Fettkompontenten homogen in die <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> einarbeiten.
# Nun unter moderatem Rühren die Fettphase zur Wasserphase hinzufügen.
# Im Anschluss beide Phasen je nach Rührgerät 2–4 Min. <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> <div class="tooltip">dispergieren
<span class="tooltiptext">=fein verteilen (nicht lösen)</span></div>.
# Wurden in der Fettphase vorher höherschmelzende Fette, z.B. Buttern aufgeschmolzen, sollte man die Emulsion nach 60 Min. noch einmal kräftig dispergieren, um Rekristallisationen zu vermeiden.
# Optimal ist ein letztes Aufrühren nach 24 Stunden.<br/><br/>
__Verarbeitung für Profis mit Rührwerk__
# BergaMuls in die <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> einwiegen und <div class="tooltip">dispergieren
<span class="tooltiptext">=fein verteilen (nicht lösen)</span></div>.
# Wasserphase unter Rühren ergänzen.
# Beide Phasen kurz <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> vermischen
# und anschließend bis zu 40 Min. bei ca. 800 <div class="tooltip">rpm
<span class="tooltiptext">Einheit für die Häufigkeit der Umdrehung (Drehzahl) eines Motors (z.B. eines Rührgeräts)</span></div> rühren.
# Nach Erkalten wird die Emulsion 30–60 Sekunden <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> bei ca. 9500 rpm homogenisiert.
Grund für diese lange Rührdauer ist, dass Pektine diese Zeit benötigen, um zu hydratisieren, also Wasser aufzunehmen und ein Gelgerüst zu bilden. Bleibt diese Phase aus oder wird sie zu kurz angesetzt, spüren wir dies durch »Piddelchen« bei höherer Dosierung.
<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Ergebnis: feuchte, matte, zarte, feinporige Haut
4 gr Shea, unraff. (behawe)
3 gr Mowrah
2 gr Kokum
2 gr Lanolin
2 gr Lame
1 gr Emulsan
1.5 gr Johannisbeersamenöl
1.5 gr Wildrose
3 gr Argan
3 gr Sesamöl, ungeröstet
3 gr Centella in Mandel (Gibt's bei AoB)
1.5 kl. ML Urea
40 gr Nerolihydrolat, Rosenhydrolat halb und halb
Konservierung nach Wahl
ÄÖ: Rose, Neroli, Petitgrain, Manuka, Patchouli, Sandelholz, Rosenholz
Emulgatoren schmelzen, feste Fette dazu, Wasserphase mit Urea erwärmen, mixen bis zur Emulsion, dann die Öle dazugeben, noch 2 oder 3 Mal beim Abkühlen durchmixen, ÄÖs jeweils 1 Tropfen hinzufügen. Konservierung nach Vorliebe.
Ja, der Fettanteil ist SEHR hoch - verrückterweise ist das in dieser Mischung mit dem Kokum überhaupt kein Problem!
Da natürlich nicht alle Kokum haben oder wollen, einfach 1 gr Bienenwachs statt des Kokum verwenden, eventl. sogar 1.5 gr. oder 0.5 gr Bienenwachs und 1 gr Tego - Kokum trocknet nur wesentlich angenehmer und nicht schwitzig.
"""Ein "puristisches" Gesichtswasser für irritierte und unreine Haut:
50 ml Hamameliswasser
1 ML Harnstoff (Urea)
1 kl. ML Melissenextrakt
10 Tr. Manukaöl ätherisch
ggf. 2 ML Weingeist (Konservierung und als Adringens)
Einfach die Zutaten in eine Sprühflasche geben und durchschütteln bis der Harnstoff sich aufgelöst hat.
Morgens und abends nach der Reinigung auf das Gesicht sprühen - wirkt durch den Anteil des äth. Öls leicht durchblutungsfördernd.
Durch das Manukaöl legt sich ein hauchzarter Film auf die Haut - manchmal braucht es im Sommer dann keine weitere Pflege mehr.
''Alle getesteten Rezepte zur Beruhigung:''<br/><br/>
<$list filter="[tag[Beruhigung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Beruhigung:''<br/><br/>
<$list filter="[tag[Beruhigung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
@@.lefttable
|<img width=330 src="https://share-your-photo.com/img/beffdfb4a1.jpg"/>||
|<h6>Emmanuel Boutet, [[Honeycombs-rayons-de-miel-1|https://commons.wikimedia.org/wiki/File:Honeycombs-rayons-de-miel-1.jpg]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya<br/>(u.a. Louise Docker, [[Pollinationn|https://commons.wikimedia.org/wiki/File:Pollinationn.jpg]],<br/>Ausschnitt von Surya, [[CC BY-SA 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]),<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>, Wachs, ''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Stoffwechselprodukt der Bienen, das den tierischen Fetten zugerechnet wird.
''INCI-Bezeichnung:'' Cera Flava (Beeswax) / Cera Alba (Beeswax)
''Einsatzgebiet:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> für <div class="tooltip">Body Melts
<span class="tooltiptext">Quasi eine "feste" Creme- sieht optisch aus wie ein Seifestück. Bei Hautkontakt schmilzt es und wird wie eine Creme verteilt. Ohne Wasseranteil.</span></div>, Cremes, Lippenstifte, Kajalstifte und Körperlotionen, Deosticks; auch zur Herstellung von Bienenwachskerzen.
''Besonderheit / kosmetische Wirkung:'' Besonders für trockene, spröde Haut geeignet, die einen natürlichen Schutz benötigt. Insbesondere geeignet für Handcremes, da das Bienenwachs einen wachsigen Film auf der Haut hinterlässt.
''Duftprofil:'' Fast geruchsneutral.
''Einsatzkonzentration:'' 1-10% der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>
''Schmelzbereich'': Ca. 61-65°
''Lagerung:'' Es muss nicht gekühlt werden, sollte jedoch nicht in der prallen Sonne liegen.
''Beachte / Verarbeitungstip:'' /
''Nebenwirkungen & bei Anwendung beachten:'' Wie bei allen zu erhitzenden Zutaten nicht zu hoch erhitzen, da sonst wertvolle Inhaltsstoffe verloren gehen. Nur so hoch, dass es gerade so eben schmilzt.
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' Gibt es auch gebleicht- aber wozu? Es gehen doch immer Inhaltsstoffe verloren...
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Bienenwachs]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Bienenwachs]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<img width=150 src="URL" style=" float:left;padding: 0 2em 0 0;"/>
MeinTextHier
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
!!Mein favorisierter Weg:
"""
Mit diesem Befehl ist das Bild auf der linken Seite des Tiddlers (man kann es natürlich genauso gut mit float:right oder float:center rechts oder mittig platzieren. Der nachfolgende Text fließt dann um das Bild herum.
Damit das Bild (je nach Bildgröße & Textlänge) nicht über den Tiddler hinausragt, gibt man am Ende des Tiddlers`<div style="clear:both;line-height:0px;"></div>`ein.
Die Größe des Bilds lässt sich mit width=beliebige Zahl, in diesem Beispiel ists 150, einstellen.
Also so:
"""
`<img width=150 src="URL vom Bild" style=" float:left;padding: 0 1em 0 0;"/>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
<div style="clear:both;line-height:0px;"></div>`
!!!wird zu
<img width=150 src="http://up.picr.de/31596048xt.jpg" style=" float:left;padding: 0 1em 0 0;"/>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
<div style="clear:both;line-height:0px;"></div>
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
!!Direkter Bilder-Import
Man kann Bilder direkt ins Wiki importieren- diese werden dann zu Bild-Tiddlern. Man kann diese dann- glaub ich- von überall online & offline betrachten. Großer Nachteil: Importiert man viele Bilder, wird das Wiki schnell zu groß, was zu Problemen führen kann. Das Wiki ist dann irgendwann nicht mehr nutzbar...
So geht es: Rechts in der Seitenleiste auf Import (Symbol Büroklammer) klicken und in der sich öffnenden Ordnerstruktur das gewünschte Bild auswählen.
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
!!Einfachere Bildereinbindung, teils mit weiterer Konfiguration
Importiertes Bild in Tiddler einbinden mit: `[img[Name des Bild-Tiddlers.jpg]]`Bei diesem Beispiel kann ich kein Bild zeigen, da ich kein importiertes habe- es würde aber genauso angezeigt werden wie das folgende:
`[img[URL vom Bild]]`
!!!wird zu
[img[http://up.picr.de/31596048xt.jpg]]
<br/><br/><br/>
`[img width=32 [URL vom Bild]]`
!!!wird zu
[img width=32 [http://up.picr.de/31596048xt.jpg]]
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
!!Lokale Bilder (also nicht im Internet, sondern lokal im Computer gespeicherte Bilder) einbinden
__Vorteil:__ Beeinflusst die Größe des Wikis nicht zu sehr, man kann eigene Bilder verwenden ohne sie irgendwo hochladen zu müssen.<br/>
__Nachteil:__ Sind nur von dem Computer aus sichtbar, auf dem sie auch gespeichert sind.<br/>
__So gehts:__<br/>
Unten in jedem Tiddler sind 3 Felder.
Gib in dem Feld "Feld Name" folgendes ein: _canonical_uri<br/>
Gib in dem Feld "Feld Text/Wert" folgendes ein: Den vollständigen Pfad deines Bildes (also z.B. /home/username/usw....../Bildname.jpg).
<$list filter="[all[tiddlers+shadows]tag[$:/tags/Image]]">
<$link><$transclude/></$link>
</$list>
"""Grundrezeptur für meine Nasen- und Brustsalben und auch manchmal für einen Versuch diverse Cremes mit Paraffin nachzurühren.
Ich nenne es Bio Melkfett oder nachgebautes Bioparaffin.
Alles in Gramm
7Sesamöl
5Kokosöl
4Olivenöl
3Bienenwachs
2 Sheabutter
Die Paste riecht angenehm nach Bienenwachs und wird jetzt Grundlage von vielen Cremes und vor allen Dingen für Heilsalben.
Gerührt habe ich ganz einfach mit einem Holzstäbchen.
Das ganze schmelzen lassen und dann geduldig bis zum Festwerden rühren.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
"""
''Art / Konsistenz der Zutat:'' Konservierer, flüssig, ''Löslichkeit:'' Löslich in Wasser (gering), Alkohol & Glycolen
''Ursprung/Beschreibung:'' Als Breitbandkonservierer verhindert Biogard das Wachstum von Bakterien, Hefen und Schimmelpilzen.
Es ist ein synthetischer Konservierer- eine Mischung aus Dehydracetsäure und Benzylalkohol.
Benzylalkohol ist eine farblose, leicht ölige Flüssigkeit, die in vielen ätherischen Blütenölen vorkommt und in Naturkosmetikprodukten häufig zur Konservierung eingesetzt wird. Er ist- sofern er in geringen Konzentrationen eingesetzt wird (nicht mehr als 3%)- sehr hautverträglich. Pflanzlicher Benzylalkohol wird aus Blättern des chinesischen Zimtbaums gewonnen.
Dehydracetsäure ist ein Natriumsalz, das wegen seiner fungiziden Wirkung in Lebensmitteln, Medikamenten und Kosmetik verwendet wird.
''INCI-Bezeichnung:'' Dehydroacetic Acid, Benzyl Alcohol
''Weitere Handelsnamen:'' Cosgard, Geogard
''Duftprofil:'' Intensiver Eigengeruch
''Inhaltsstoffe:'' Dehydracetsäure & Benzylalkohol
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Er hat ein ausgezeichnetes Toxizitätsprofil, ist chemisch & pysikalisch stabil, verursacht keine Hautirritationen und ist nicht sensibilisierend.
Er ist Ecocert zertifiziert & BDIH-konform und somit in Natur-Kosmetika zugelassen.
Als Alternative zu Paraben K eignet er sich ganz hervorragend: Bei den Kosmetikrezepten wird er in der gleichen Dosierung wie Paraben eingesetzt und wie Paraben wird er zum Schluss tropfenweise in die handwarme Creme eingerührt.
Einsetzbar ist er in allen kosmetischen Formulierungen (außer Aerosolen).
''Konservierend gegen:'' Bakterien: ++, Hefen: +, Schimmel: +
''Für welchen pH-Wert geeignet:'' bis 6,5
''Einsatzkonzentration:'' Laut Anbieter 0,5–1,0%.
1 Tropfen Biogard auf 10g Endprodukt = Haltbarkeit von 6 Monaten,
2 Tropfen Biogard auf 10g Endprodukt = Haltbarkeit von 12 Monaten.
Laut Olionatura.de: Cremes: 1,15% (oder 0,5% + 0,2% Kaliumsorbat (Granulat)); Shampoo, Duschgel: 0,8–1%
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' Sicherheitshinweise: H332: Gesundheitsschädlich bei Einatmen, H319: Verursacht schwere Augenreizung, H302: Gesundheitsschädlich bei Verschlucken.
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]]
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Unterhalb von 40° in das fertige Produkt einrühren.
Aufgrund der geringen Wasserlöslichkeit empfiehlt es sich, dieses Produkt bevorzugt in Emulsionen und nicht in rein wässrigen Kosmetikprodukten einzuplanen. Alternativ ist der Einsatz eines Lösungsvermittlers notwendig.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:'' Intensiver Eigengeruch
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
Siehe [[Xylit]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte gegen Blähungen:''<br/><br/>
<$list filter="[tag[Blähungen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Blähungen:''<br/><br/>
<$list filter="[tag[Blähungen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Und zwar kriegt man grad solche fiesen, eingetrockneten Blutflecken super weg, wenn man sie in ein Natron-Wasser einlegt und über Nacht einweicht.
Danach einfach nur ausspülen, normal waschen und es ist wie nie passiert.
Ich hab einfach nen Eimer mit kaltem Wasser gefüllt, ein Päckchen Natron rein und ab dafür.
"""
Für mehr feuchtigkeitsspendende Wirkung im Body Melt hat eine im Rührküchenforum Folgendes __erfolgreich__ ausprobiert:
2% Urea in 2% Glycerin dispergiert (Prozente vermutlich aufs Gesamtrezept bezogen) und in die handwarmen Fette gerührt.
Da ich noch einen Bodymelt ohne Urea da hatte, konnte ich auch gleich einen Vergleichstest machen: Mit Urea ist das Gefühl viel weicher und sanfter auf der Haut.
Der Link dazu: https://www.ruehrkueche.de/viewtopic.php?f=3&t=11067
"""Sie ist für meine trockene Haut einfach viel gehaltvoller und gefällt mir durch die etwas festere Konsistenz supergut!
Rezept:
12 g Emulsan
15 g Avocadoöl
10 g Olivenbutter
10 g Sheabutter
5 g Kakaobutter
160 ml/g Aloe Vera Wasser
2 EL Schafmilchpulver
10 Tr. Squalan
10 Tr Seidenprotein
10 Tr. Gurkenextrakt
5 Tr. Vit. E
10 Tr. Vit A
7 Tr. Green Tea Parfumöl
20 Tr. Paraben K
Traumhaft sahnig dick und macht Haut wie Samt!
"""''Von Maxelli ausm Beautykosmos!''
Gesamtmenge: 100 g
Fettphase: 70%
60.00 % Kakaobutter
10.00 % Mandelöl
30.00 % Wasser
10 Tropfen Grapefruit Time PÖ bei 100 g
Herstellung
Die Fettmasse bei ca 60 ° C schmelzen und in die leicht abgekühlte Masse bei ca 35 °C das Wasser mit der selben Temperatur schluckweise emulgieren. Das PÖ in die abgekühlte noch flüssige Emulsion einrühren. In eine Form gießen und im Kühlfach aushärten lassen. Nach 30 Minuten ausformen
Zitat aus der Patentbeschreibung:
"Erhitzen der Kakaobutter auf ungefähr 60 °C, Emulgieren des wasserhaltigen Bestandteils bei ungefähr 30 °C, Kühlen der Lotion auf ungefähr 25 °C, Gießen der Lotion in eine oder mehrere Formen und Abkühlen der Lotion bei 16 °C. "
2. Versuch mit Bienenwachs
Eine Coldcreme am Stück.
55.00 % Kakaobutter
15.00 % Mandelöl
05.00 % Bienenwachs
25.00 % Wasser
Anmerkung
Für eine 100 g Menge nehme ich als Konservierung entweder 3,5 g französischen Weingeist (90%) oder 3 Tropfen Rokonsal mit einer pH Wert Einstellung auf 5.
Und das Rezept mit Bienenwachs gefällt mir schon ganz gut.
Ein dritter Versuch mit Wollwachsen, Lecithinen bzw. Unverseifbares wäre jetzt der nächste Schritt
"""''Bodymousse für trockene Haut''
15 g Lamecreme
5g Tegomuls
10 g Lanolin
20ml Arganöl
40 ml Mandelöl
120 ml abgek. dest. Wasser
10 g Urea
4 ml Panthenol
5 ml Aloe Vera 10fach
Konservierung 6 ml Weingeist oder 25 Tr. Praraben
''Bodymousse für sehr trockene Haut''
15g Lamecreme
5g Tegomuls
10g Lanolin
20 ml Mandelöl
20 ml Avocadoöl roh grün
20 ml Arganöl
100 ml abgekochtes dest. Wasser
4 ml Panthenol
20 ml Aloe Vera 10fach
20 g Urea
Konservierung 6 ml Weingeist oder 25 Tr. Praraben
Es muss sehr lange mit einem Mini-Mixer gerührt werden damit ein Mousse entsteht , ansonsten bleibt es eher eine Lotion .
Oder vielleicht ein paar Gramm Sheabutter reingeben .
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Borago Officinalis (Borage) Seed Oil
''Jodzahl:'' 130–150 (halbtrocken)
''Schmelzbereich:'' 20°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 0,5–2%
''Verseifungszahl:'' 184–194
Es eignet sich hervorragend zur Pflege __trockener, empfindlicher, rissiger, neurodermitischer, entzündlicher und schuppiger Haut__. Lindert z.B. __Schuppenflechte__ und __Neurodermitis__. Es verleiht der Haut Elastizität und Spannkraft. Die Schuppenbildung und der Juckreiz werden gemindert.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Borretschsamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Borretschsamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte gegen Brechreiz:''<br/><br/>
<$list filter="[tag[Brechreiz]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Brechreiz:''<br/><br/>
<$list filter="[tag[Brechreiz]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/9322e5c599.jpg" style=" float:left;padding: 0 2em 0 0;"/><br/><br/>
''Ersatz'': Keiner! Man muss viel zu oft im 0,1g-Bereich wiegen.
''Erhältlich bei'':
Amazon, Ebay, große Kaufhäuser, etc.
<br/><br/><br/><br/><br/>
''Für welche getesteten Rezepte benötigt:''
* [[Antibakterielle Mundspülung- ideales Einsteiger-Rezept]]
* [[Massagebar]]
* [[Handmelt (Handcreme am Stück)]]
* [[Cremespülung für feines trockenes Haar]]
* [[Deocreme im Döschen- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]
* [[Deostick]]
* [[Hair Repair / Haarspitzenfluid]]
* [[Handwaschbar für Handwerker, rückfettend]]
* [[Handwaschbar Kokos-Roggen ('Handseife')]]
* [[Handwaschbar Olivenschaf ('Handseife')]]
* [[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]]
* [[Kalkentferner- ideales Einsteiger-Rezept]]
* [[Lippenpflegestift]]
* [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]
* [[Zahnpasta]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-0, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Brassica Oleracea Italica ( Broccoli ) Seed Oil
''Jodzahl:'' 90–120 (nicht trocken/halbtrocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Verseifungszahl:'' 160–190
__Als Haaröl, Basis für Haar-Conditioner und -kuren, in dekorativer Kosmetik (Foundations, getönte Cremes, Concealer).__
Tropfenweise sparsamst pur in die feuchten Haarlängen geknetet wirkt es __konditionierend und glättend__, ohne die Haare strähnig wirken zu lassen. Es mindert die Neigung zu __fliegenden Haaren__ und Kräuseln und sorgt für __gute Nass-Kämmbarkeit, Glanz, Weichheit und verringerter Aufladung__. Im trockenen Haar zeigt es leicht strukturierende Wirkungen, ebenfalls ohne zu fetten. Der typische Geruch verfliegt schnell und ist nicht wahrnehmbar. Einem Build Up-Effekt lässt sich durch sparsame Dosierung vorbeugen.
Aus meiner Anwendungserfahrung seit nun mehreren Monaten ist es ein wundervolles, wenn nicht das optimale Öl für konditionierende und __Haarschäden vorbeugende Haarpflege (auch für chemisch behandeltes Haar!)__, ein hervorragendes Öl in Haarspülungen und __für leichte und seidig wirkende Make Up-Formulierungen__, da es in keiner Weise fettet und nicht aufliegt.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Brokkolisamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Brokkolisamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""3 ML* Pigmentmix Dunkel
3 ML Füllstoffbasis für Puder
2 ML oriental beige **
0,75 ML Perlbraun oder Schokoglanz***
1-2 Msp Rotbraun
2-3 Tr Jojobaöl
1-2 Tr PÖ ( optional)
Dieser Puder ist von mittlerer Bräune. Wer sehr helle Haut hat nimmt lieber den mitteren Pigmentmix
1 ML *= 2,5 ml ( Hobbytheklöffel)
** erhältlich bei Alexmo Cosmetics oder Kosmetische Rohstoffe
*** erhältlich bei Hobby-KosmetikAugsburg / Kosmetikmacherei
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Dieses Haarspray ist ruck zuck hergestellt und ermöglicht ein großflächiges Einfärben der Haare. Man kann sehr schöne Akzente setzen, oder auch ganze Strähnen einfärben.
50 ml Kosmetisches Basiswasser
1-3 Messl. Festiger HF 37, je nach gewünschtem Halt
1-2 Messl. Perlglanzpigmente
Basiswasser und Festiger in die Spraydose geben, gut schütteln und dann die Pigmente nach und nach beifügen (Farbintensität testen!). Fertig ist das bunte Haarspray!
Hinweis: Auch dieses Spray muss nach dem Feiern sehr gut ausgewaschen werden. Zwar färbt es Haare und Kopfhaut längst nicht so nachhaltig, wie die gekauften Sprühfarben. Je nach Haaren (z.B. stark blondiert, spröde) und Beschaffenheit der Kopfhaut kann es zu kurzfristigen Verfärbungen kommen.
Tipp: Je großflächiger die Haare besprayt werden sollen, desto weniger Festiger sollte verwendet werden, damit die Haare nicht zu sehr verkleben. Ganz verzichten kann man allerdings nicht auf den Festiger, da die Pigmente ansonsten sofort wieder verwischen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
!!Für die getesteten Rezepte brauchst Du folgende Buttern:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Buttern]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Buttern]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Die erwähnten Buttern kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Buttern]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
Manche Codes / Kommandos lassen sich nicht in einem Button konfigurieren- zumindest habe ich es mit "Meine bevorzugte Art Bilder einzufügen" nicht geschafft & im Forum konnte mir auch niemand diese Frage beantworten.<br/>
Dann kannst Du Dir damit behelfen, einen Textschnipsel zu erstellen.<br/>
Textschnipsel kannst Du mit dem Stempel-Button in der Editor-Toolbar aufrufen oder auch mit `Strg+S`.
!!So erstellst Du einen Textschnipsel (am Beispiel "Meine bevorzugte Art Bilder einzufügen"):
Erstelle einen Tiddler mit:
```
<img width=150 src="URL" style=" float:left;padding: 0 1em 0 0;"/>
MeinTextHier
<div style="clear:both;line-height:0px;"></div>
```
!!!wird zu:
<img width=150 src="URL" style=" float:left;padding: 0 1em 0 0;"/>
MeinTextHier
<div style="clear:both;line-height:0px;"></div>
Tagge diesen Tiddler mit $:/tags/TextEditor/Snippet, dann ist er in der Editor-Toolbar im Stempel-Button in jedem Tiddler enthalten.<br/>
Wenn Du also einen Tiddler bearbeitest und eine Leerzeile hast, kannst Du den Stempel-Button anklicken & Deinen gewünschten Textschnipsel (Tiddler-Link) auswählen, dann wird das in der Leerzeile eingefügt. Dann musst Du nur noch die URL oder den Pfad Deines gewünschten Bildes einfügen.<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Gib Deinem Textschnipsel-Tiddler einen aussagekräftigen Namen.
<div style="background:Aliceblue;">
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|
|Zelle3|Zelle3|Zelle3|
|!DieseZelleMitDerUnterenZusammen|Inhaltszelle 2 |Inhaltszelle 2 |
|~|Diese Zelle wurde mit der rechten zusammengefasst |<|
| !Titelzelle 4 | Inhaltszelle 4| Inhaltszelle 4|
| right-aligned| centered |left-aligned |f
"
count="1"
/>
@@
|.|.|.|
@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|
|Zelle3|Zelle3|Zelle3|
|!DieseZelleMitDerUnterenZusammen|Inhaltszelle 2 |Inhaltszelle 2 |
|~|Diese Zelle wurde mit der rechten zusammengefasst |<|
| !Titelzelle 4 | Inhaltszelle 4| Inhaltszelle 4|
| right-aligned| centered |left-aligned |f
"
count="1"
/>
@@
|.|.|.|
@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest und eine Leerzeile hast, kannst Du diesen Button anklicken, dann wird in der Leerzeile eine Tabelle ohne Inhalt eingefügt.<br/>
Und zwar so:<br/>
|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|
|Zelle3|Zelle3|Zelle3|
|!DieseZelleMitDerUnterenZusammen|Inhaltszelle 2 |Inhaltszelle 2 |
|~|Diese Zelle wurde mit der rechten zusammengefasst |<|
| !Titelzelle 4 | Inhaltszelle 4| Inhaltszelle 4|
| right-aligned| centered |left-aligned |f
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
<div style="background:Aliceblue;">
!!Löschen eines Tiddlers
```
<$button>
<$action-deletetiddler $tiddler="Tiddlertitel"/>
Lösche Tiddlertitel
</$button>
```
!!!wird zu
<$button>
<$action-deletetiddler $tiddler="Tiddlertitel"/>
Lösche Tiddlertitel
</$button>
Wenn Du auf den Button klickst, wird der entsprechende Tiddler gelöscht.
---------------------------------------------------------------------------
!!Bearbeiten desselben Tiddlers, in dem der Button ist
```
<$button>
<$action-sendmessage $message="tm-edit-tiddler" $param={{!!title}}/>
Bearbeite diesen Tiddler
</$button>
```
!!!wird zu
<$button>
<$action-sendmessage $message="tm-edit-tiddler" $param={{!!title}}/>
Bearbeite diesen Tiddler
</$button>
<br/>
<div class="tooltip"><$button>#♥
<$list filter='[list[$:/StoryList]]'>
<$fieldmangler tiddler=<<currentTiddler>>>
<$action-sendmessage $message='tm-add-tag' $param=♥/>
</$fieldmangler>
</$list>
</$button>
<span class="tooltiptext">Tagge alle offenen Tiddler mit ♥</span>
</div>
<div class="tooltip"><$button>
<$action-navigate $to="Erweiterte Suche per Multipler Tags"/>
[img width=18 [http://up.picr.de/31710437mv.jpg]]
</$button>
<span class="tooltiptext">Erweiterte Suche per Multipler Tags</span>
</div>
<style>
.lavenderbutton {
border-radius: 50%;
background-color:Lavender;
}
</style>
<div class="tooltip"><$button class="lavenderbutton" setTo="show"> <$action-sendmessage $message="tm-new-tiddler" color="#13a59c" tags="[[PT.Zutaten]] [[Lavender]]" text={{ZutatenVorlage!!text}}/>+Z</$button>
<span class="tooltiptext">Neue Zutat- Tiddler erstellen</span>
</div>
<style>
.lightgreenbutton {
border-radius: 50%;
background-color:#DFFE97;
}
</style>
<div class="tooltip"><$button class="lightgreenbutton" setTo="show"> <$action-sendmessage $message="tm-new-tiddler" tags="[[1RezeptGetestet]]" text={{RezeptGETESTETVorlage!!text}}/>+RG</$button>
<span class="tooltiptext">Neues Rezept GETESTET- Tiddler erstellen</span>
</div>
<style>
.lightorangebutton {
border-radius: 50%;
background-color:#FFE28C;
}
</style>
<div class="tooltip"><$button class="lightorangebutton" setTo="show"> <$action-sendmessage $message="tm-new-tiddler" tags="[[RezeptNICHTgetestet]]" text={{RezeptUNGETESTETVorlage!!text}}/>+RU</$button>
<span class="tooltiptext">Neues Rezept UNGETESTET- Tiddler erstellen</span>
</div>
<<showmenu "$(currentTiddler)$">>
<$checkbox tiddler="Button für Show/Hide Interna" tag="$:/tags/mymenusTopLeftBar"> @@background-color:orange;''MyMenu "Checkboxen f. Aktionen f. Online-Bearbeiten meiner Webseite (TopLeftBar)" anzeigen''@@</$checkbox>
<br/><br/>
<$checkbox tiddler="Tiddlerfuß Menu" tag="$:/tags/mymenusfooter" + tiddler="$:/core/ui/SideBar/More" tag="$:/tags/SideBar"> "Aktionen-Menu" im Tiddlerfuß und die "MoreSideBar" anzeigen</$checkbox>
<div style="background:White;">
Diese Buttons sind nicht besonders schick und auch nicht multifunktional. Aber sie tun, was sie sollen.
<h2 class="">Für die Seitenleiste (PageControls oder TopRightBar) oder die TopLeftBar</h2><br/>
<div style="background:Aliceblue;"><br/>
[[Buttons erstellen zum automatischen Kreieren neuer vorkonfigurierter Tiddler (inkl. Tags)]]<br/><br/>
<div style="background:White;"><br/>
<h2 class="">Für die Tiddler-Editor-Toolbar</h2><br/>
<div style="background:Lavender;">
[[Buttons erstellen zum Einfügen von Zeichen / Textpassagen an Cursorstelle]]
<div style="background:Aliceblue;">
[[Buttons erstellen zum Einfügen von Zeichen am Anfang jeder Zeile einer Textpassage]]
<div style="background:Lavender;">
[[Buttons erstellen zum Formatieren einer Textpassage]]
<div style="background:Aliceblue;">
[[Button erstellen zum Einfügen einer Tabelle ohne Inhalt]]
<div style="background:Lavender;">
[[Button erstellen nicht möglich? Geht auch mit Textschnipseln! Z.B. 'Meine bevorzugte Art Bilder einzufügen']]
<div style="background:White;"><br/>
<h2 class="">Innerhalb eines Tiddlers</h2>
<div style="background:Aliceblue;">
[[Button erstellen zum Löschen oder Bearbeiten eines Tiddlers]]
<div style="background:White;">
<div style="background:White;">
!!!@@background-color:orange;Du darfst alle hier gezeigten Buttons gerne ausprobieren :-)@@
Button für einen vorkonfigurierten neuen Tiddler (mit dem Inhalt & den Werten des Tiddlers "Tiddlervorlage"):<br/>
`<$button message="tm-new-tiddler" param="Tiddlervorlage">+T</$button>`.<br/><br/>
''wird zu:''<br/>
<$button message="tm-new-tiddler" param="Tiddlervorlage">+T</$button><br/>
Tagge diesen Tiddler mit ~$:/tags/PageControls. Nun erscheint er in der Seitenleiste bei all den anderen Buttons. Du kannst die Reihenfolge der Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Page Toolbar per Drag & Drop verändern.<br/>
Wenn Du den Tiddler mit ~$:/tags/TopRightBar taggst, erscheint der Button in der TopRightBar, wenn Du ihn mit ~$:/tags/TopLeftBar taggst, erscheint der Button in der TopLeftBar. Diese beiden TopBars sind sticky, d.h. sie bleiben immer sichtbar, egal wohin du scrollst- im Gegensatz zu PageControls, wo im Ursprungs-TiddlyWiki die Buttons sind. Du kannst allerdings nicht ihre Reihenfolge in den TopBars verändern- bzw. ich weiß noch nicht, wie. In diesem Wiki habe ich alle Buttons aus PageControls entfernt.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld "Feld Name" description rein und daneben im Feld "Feld Text/Wert" Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
Nun musst Du noch einen Tiddler erstellen mit dem Namen Tiddlervorlage.<br/>
In diesem Tiddler schreibst Du den Text (kann inkl. Bildern, Tabellen, Listen oder sonstigem vorformatiertem Text sein), den Du in jedem neuen Tiddler haben möchtest, wenn Du den Button anklickst (Du kannst den Textbereich natürlich auch leer lassen).<br/>
Außerdem kannst Du diesem Vorlage-Tiddler Tags geben und Felder zuweisen (ggf. auch mit Werten).
Alles hier geschriebene gilt auch für alle nachfolgenden Button-Erstellen-Anleitungen.
----------------------------------------------------------------
<br/>
Button, der einen neuen Tiddler mit folgenden Werten erstellt:
Mit den Tags "tag1" "Test: Geht das?" und dem gesamten Inhalt aus dem Tiddler "Herzlich willkommen :-)":
`<$button> <$action-sendmessage $message="tm-new-tiddler" tags="[[tag1]] [[Test: Geht das?]]" text={{Herzlich willkommen :-)!!text}}/>+</$button>`
''wird zu:''
<$button> <$action-sendmessage $message="tm-new-tiddler" tags="[[tag1]] [[Test: Geht das?]]" text={{Herzlich willkommen :-)!!text}}/>+</$button>
----------------------------------------------------------------
<br/>
Button (mit dem Bild eines Weckers, nämlich dem Bild vom Tiddler "~$:/core/images/timestamp-on"), der einen neuen Tiddler mit folgendem Inhalt erstellt:<br/>
<<now>><br/><br/>
`<$button> <$action-sendmessage $message="tm-new-tiddler" text=<<now>>/>{{$:/core/images/timestamp-on}}</$button>`
''wird zu:''
<$button> <$action-sendmessage $message="tm-new-tiddler" text=<<now>>/>{{$:/core/images/timestamp-on}}</$button>
----------------------------------------------------------------
<br/>
Button (mit dem Bild einer Katze, nämlich dem Bild von der URL "http://up.picr.de/31596048xt.jpg"), der einen neuen Tiddler mit folgendem Inhalt (Aktuelle Zeitangabe in bestimmten Format) erstellt:<br/>
<<now "Heute ist der DD. MMM YYYY">>
`<$button> <$action-sendmessage $message="tm-new-tiddler" text=<<now "Heute ist der DD. MMM YYYY">>/>[img width=52 [http://up.picr.de/31596048xt.jpg]]</$button>`
''wird zu:''
<$button> <$action-sendmessage $message="tm-new-tiddler" text=<<now "Heute ist der DD. MMM YYYY">>/>[img width=52 [http://up.picr.de/31596048xt.jpg]]</$button><br/><br/>
----------------------------------------------------------------
<br/>
Farbiger Button mit einem in Word / OpenOffice-Writer verfügbaren Sonderzeichen, der einen neuen Tiddler mit folgendem Inhalt (Bild mit bestimmter Größe & eine Tabelle) erstellt:<br/>
[img width=52 [http://up.picr.de/31596048xt.jpg]]<br/>
''Tabelle''
|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|
<br/>
''Und zwar so:''
`<style>
.farbigerbutton {
border-radius: 50%;
background-color:orange;
}
</style>
<$button class="farbigerbutton" setTo="show"> <$action-sendmessage $message="tm-new-tiddler" text="[img width=52 [http://up.picr.de/31596048xt.jpg]]<br/>
''Tabelle''
|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|" />▼</$button>`
''wird zu:''
<style>
.farbigerbutton {
border-radius: 50%;
background-color:orange;
}
</style>
<$button class="farbigerbutton" setTo="show"> <$action-sendmessage $message="tm-new-tiddler" text="[img width=52 [http://up.picr.de/31596048xt.jpg]]<br/>
''Tabelle''
|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|" />▼</$button><br/><br/>
----------------------------------------------------------------
<br/>
Button, der alle Tiddler im StoryRiver (alle Tiddler, die momentan angezeigt werden) mit '✔' taggt:<br/>
`<style>
.lightgreenbutton {
border-radius: 10%;
background-color:lightgreen;
}
</style>
<$button class="lightgreenbutton" setTo="show">
#✔
<$list filter='[list[$:/StoryList]]'>
<$fieldmangler tiddler=<<currentTiddler>>>
<$action-sendmessage $message='tm-add-tag' $param=✔/>
</$fieldmangler>
</$list>
</$button>`
''wird zu:''
<style>
.lightgreenbutton {
border-radius: 10%;
background-color:lightgreen;
}
</style>
<$button class="lightgreenbutton" setTo="show">
#✔
<$list filter='[list[$:/StoryList]]'>
<$fieldmangler tiddler=<<currentTiddler>>>
<$action-sendmessage $message='tm-add-tag' $param=✔/>
</$fieldmangler>
</$list>
</$button><br/><br/>
----------------------------------------------------------------
<br/>
Folgende Buttons habe ich mit dem Plugin "MyMenus" (http://tiddlywiki.psat.com.au/mymenus/) erstellt und mit ~$:/tags/TopRightBar getaggt:<br/><br/>
{{'Offen' Menu}}
{{+Neuer Tiddler von Vorlagen (Menu)}}
{{Mehrfach-Aktionen Menu für die Sidebar}}
{{Tiddlerfuß Menu}}
<div style="background:Aliceblue;">
<$reveal type="nomatch" state="$:/state/SampleRevealB3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB3" setTo="show">Button erstellen für Checkbox einfügen</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealB3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB3" setTo="hide">Verberge Button erstellen für Checkbox einfügen</$button>
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="[ ] <br/><br/>"
/>
@@`[ ]`@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="[ ] <br/><br/>"
/>
@@`[ ]`@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest, kannst Du diesen Button anklicken, dann wird an der Stelle, wo der Cursor sich gerade befindet ein solche Checkbox eingefügt. Ohne `<br/><br/>` hat die Textzeile der Checkbox keinen doppelten Zeilenumbruch.<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealB4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB4" setTo="show">Button erstellen für Sonderzeichen einfügen</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealB4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB4" setTo="hide">Verberge Button erstellen für Sonderzeichen einfügen</$button>
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="← ↑ → ↓ ↔ ↵ ⇐ ⇑ ⇒ ⇓ ⇔<br/>
½ ⅓ ⅔ ¼ ¾<br/>
± × ÷ ≤ ≥ ≠ ≅ ≈ ≡ ∅ √ ✔ ✘"
/>
@@→½∅ √@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="← ↑ → ↓ ↔ ↵ ⇐ ⇑ ⇒ ⇓ ⇔<br/>
½ ⅓ ⅔ ¼ ¾<br/>
± × ÷ ≤ ≥ ≠ ≅ ≈ ≡ ∅ √ ✔ ✘"
/>
@@→½∅ √@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest, kannst Du diesen Button anklicken, dann werden an der Stelle, wo der Cursor sich gerade befindet diese Sonderzeichen ← ↑ → ↓ ↔ ↵ ⇐ ⇑ ⇒ ⇓ ⇔<br/>
½ ⅓ ⅔ ¼ ¾<br/>
± × ÷ ≤ ≥ ≠ ≅ ≈ ≡ ∅ √ ✔ ✘ mit Zeilenumbrüchen eingefügt.<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealB5" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB5" setTo="show">Button erstellen für Zeilenumbruch/Leerzeile einfügen</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealB5" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB5" setTo="hide">Verberge Button erstellen für Zeilenumbruch/Leerzeile einfügen</$button>
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="<br/>"
/>
@@`<br/>`@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="replace-selection"
text="<br/>"
/>
@@`<br/>`@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest, kannst Du diesen Button anklicken, dann werden an der Stelle, wo der Cursor sich gerade befindet die Zeichen <br/> eingefügt. 1x `<br/>` erzeugt einen Zeilenumbruch, 2x `<br/>` eine Leerzeile.<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
</$reveal>
<div style="background:Aliceblue;">
<$reveal type="nomatch" state="$:/state/SampleRevealB6" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB6" setTo="show">Button erstellen für Eingezogene Punkteliste einfügen</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealB6" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB6" setTo="hide">Verberge Button erstellen für Eingezogene Punkteliste einfügen</$button>
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="*"
count="2"
/>
@@
**
@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="*"
count="2"
/>
@@
`**`
@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest und eine Textpassage markiert hast, kannst Du diesen Button anklicken, dann wird vor jeder markierten Zeile ein ** eingefügt (& erscheint dann in der Ansicht als eingezogene Punkteliste).<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealB7" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB7" setTo="show">Button erstellen für Eingezogene Aufzählungsliste einfügen</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealB7" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB7" setTo="hide">Verberge Button erstellen für Eingezogene Aufzählungsliste einfügen</$button>
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="#"
count="2"
/>
@@
.1.--
@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="#"
count="2"
/>
@@
.1.--
@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest und eine Textpassage markiert hast, kannst Du diesen Button anklicken, dann wird vor jeder markierten Zeile ein ## eingefügt (& erscheint dann in der Ansicht als eingezogene Aufzählungsliste).<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealB8" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB8" setTo="show">Button erstellen für Header1-6 einfügen</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealB8" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealB8" setTo="hide">Verberge Button erstellen für Header1-6 einfügen</$button>
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="! Header 1
!! Header 2
!!! Header 3
!!!! Header 4
!!!!! Header 5
!!!!!! Header 6
NormalerText"
count="1"
/>
@@
H1-6
@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="prefix-lines"
character="! Header 1
!! Header 2
!!! Header 3
!!!! Header 4
!!!!! Header 5
!!!!!! Header 6
NormalerText"
count="1"
/>
@@
H1-6
@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Dieser Button ist ganz gut, um eine Übersicht zu bekommen, wie man eine Zeile formatieren möchte.<br/>
Wenn Du also einen Tiddler bearbeitest und eine Leerzeile hast, kannst Du diesen Button anklicken, dann werden in der Leerzeile alle Header eingefügt.<br/>
Und zwar so:<br/>
! Header 1
!! Header 2
!!! Header 3
!!!! Header 4
!!!!! Header 5
!!!!!! Header 6
NormalerText<br/><br/>
Ich persönlich tue mich dann leichter, auszuwählen, welchen Header ich für eine gewünschte Zeile (z.B. Überschrift oder untergeordnete Überschrift) haben möchte.<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
</$reveal>
<div style="background:Aliceblue;">
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix=@@background-color:darkorange;
suffix=@@
/>
@@background-color:darkorange;Mark@@
```
!!!wird zu
<$action-sendmessage
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix=@@background-color:darkorange;
suffix=@@
/>
@@background-color:darkorange;Mark@@
Tagge diesen Tiddler mit $:/tags/EditorToolbar, dann ist er in der Editor-Toolbar in jedem Tiddler.<br/>
Wenn Du also einen Tiddler bearbeitest und eine Textpassage markiert hast, kannst Du diesen Button anklicken, dann wird der Hintergrund der Textpassage orange. Du kannst darkorange natürlich auch mit jeder beliebigen anderen Farbe ersetzen, siehe z.B. https://bfw.ac.at/020/farbtabelle.html (englische Farbtabelle).<br/>
Du kannst die Reihenfolge der Editor-Toolbar-Buttons im ControlPanel (Zahnradsymbol in der Seitenleiste) unter Design >Toolbar >Editor Toolbar per Drag & Drop verändern.<br/>
Außerdem kannst Du noch eine Beschreibung hinzufügen (sichtbar, wenn Du mit der Maus über den Button fährst) mit:<br/>
Schreibe ganz unten im Tiddler in dem Feld Feld Name description rein und daneben im Feld Feld Text/Wert Deine gewünschte Beschreibung. Klicke daneben auf den Button "ok".
<style>
.lightgreenbigbutton {
line-height:1.6em;
border-radius: 40%;
background-color:#DFFE97;
box-shadow: 5px 5px 5px white;
}
</style>
<style>
.willkommenbutton {
line-height:1.6em;
border-radius: 40%;
box-shadow: 5px 5px 5px white;
}
</style>
<style>
.willkommenbuttonfarbig {
line-height:1.6em;
background-color:#fff0b3;
border-radius: 40%;
box-shadow: 5px 5px 5px white;
}
</style>
<style>
.willkommenbuttonlang {
line-height:1.6em;
border-radius: 27%;
box-shadow: 5px 5px 5px white;
}
</style>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:'' Relativ geruchsarm
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
"""
''Art / Konsistenz der Zutat:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> / Ko-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Wachs, ''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Candelillawachs ist relativ hart, brüchig, gelblich-braun und nahezu durchscheinend. Es entsteht durch <div class="tooltip">Extraktion
<span class="tooltiptext">Stoffgewinnung durch Ausziehen einer Substanz aus einem Stoffgemisch durch ein Lösungsmittel</span></div> der Blätter & Stängel des vorwiegend in Mexiko und Texas wachsenden ca. 30cm hohen Candelilla-Busches. Zum Schutz vor Wasserverlust scheiden diese Pflanzen einen dünnen Wachsbelag aus. Durch Abschneiden & Erhitzen der Triebe wird daraus das Candelillawachs gewonnen und abgeschöpft. Da die Pflanze auf der Liste der geschützten Arten steht, wird die Produktion dieses Wachses von der mexikanischen Regierung reguliert.
''INCI-Bezeichnung:'' Euphorbia Cerifera (Candelilla) Wax / Candelilla Cera
''Duftprofil:'' Sehr dezent
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Das Candelillawachs ist ein hervorragender Ölbinder, gibt einen wunderschönen Glanz (diese Eigenschaft schätzt man besonders in Lippenpflegeprodukten) und fühlt sich auf der Haut sehr weich und nicht klebend an. Candelillawachs gibt einen zarten Hauch, der die Haut schützt und vor dem Austrocknen bewahrt.
Rezepturen mit Candelillawachs lassen sich gut auftragen und ziehen schnell ein, ohne einen wachsigen Fettfilm zu hinterlassen (wie das leider oft bei anderen Wachsen ist).
Besonders beliebt ist sein Einsatz in Hand- & Fußcremen, Bodybuttern & Massagebars und natürlich in Lippenpflegeprodukten- besonders mit Farbe (MICA-Pigmenten), denn das Candelillawachs gibt einen herrlichen Glanz und schützt die empfindliche Lippenhaut vor dem Austrocknen.
Außerdem in Haarspülungen- den Haaren gibt es hierbei mehr Glanz, Griffigkeit und Kämmbarkeit.
Kaum ein Zusatzstoff stabilisiert besser <div class="tooltip">W/O
<span class="tooltiptext">Wasser-in-Öl</span></div>-<div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> und bildet einen verträglicheren, angenehmeren Film auf der Haut. Das Pflanzenprodukt überbietet in puncto Haltbarmachung von Eyelinern, Mascaras und Lippenstiften jeden synthetischen Zusatz. Damit ist das Candelillawachs einer der universellen Pflanzenstoffe der Kosmetik.
Weitere Verwendung: Trenn- & Überzugsmittel für u.a. Schokolade, Nüsse, Kaffeebohnen, zum Wachsen von Früchten, für Backwaren, Kaugummi, Schuhputzmittel, Möbelpolitur, Radiergummis, Kerzen, Schreibtinte,...
''Einsatzkonzentration:'' 0,5-10%, in Cremes 1-2% der Gesamtzusammensetzung
''Schmelzbereich:'' Ca. 65-79°C
''Haltbarkeit:'' Sehr, sehr lange
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], aber nicht in Drogerien, Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
"""
''Art / Konsistenz der Zutat:'' Wachs, ''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Carnaubawachs wird aus der Carnaubapalme gewonnen, die v.a. in Nord-Brasilien heimisch ist. Diese imposante Fächerpalme kann bis zu 15m hoch werden. In der Trockenzeit (September-März) bildet sie auf ihren bis zu 2m langen Blättern Wachsschüppchen, die sie vor dem Vertrocknen schützen- dann wird das Wachs geerntet. Ca. alle 2 Monate werden 6-8 Palmblätter abgeschnitten. Durch den natürlichen Schrumpfprozess der Blätter lockern sich die Wachsschüppchen, die dann relativ leicht abgestreift, abgebürstet oder abgeklopft werden können. Zum Teil kommen dafür heutzutage aber auch verschiedene Maschinen zum Einsatz. Anschließend wird das Wachs zum Reinigen und Filtern in Wasser gekocht. Nach dem anschließenden Festwerden lässt es sich in Stücke brechen.
Die Gewinnung von Carnaubawachs ist also sehr umständlich und arbeitsintensiv, zumal auch der Ertrag recht gering ausfällt. Eine einzige Palme produziert im Jahr nur etwa 150-180g Wachs, was eine durchschnittliche Ernte von gerade einmal 5g Wachs je 100g Blattmaterial bedeutet.
Es handelt sich aber um eine nachhaltige und ökologisch sehr verträgliche Grundstoffnutzung, denn die Palmen gelten als sehr robust und resistent gegenüber Umwelteinflüssen. Da die abgeernteten Blätter zudem ständig nachwachsen, erleiden die Palmen durch die Ernte keinen Schaden.
Vielfältiger Einsatz außerhalb der Kosmetik: U.a. Oberflächenbehandlung von Möbeln & Fußböden, Autopolituren, Schuhcreme, Kaugummi, Medikamente, Äpfel, Zitrusfrüchte,...
''INCI-Bezeichnung:'' Cera Carnauba / Copernicia prunifera (carnauba) wax / Copernicia cerifera Cera
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Macht Produkte wärmeresistent & wasserabweisend.
Unter allen pflanzlichen Wachsen ist es das härteste Wachs, der Schmelzbereich liegt bei 82-86°C. Es wirkt wasserabweisend und bildet einen leichten, aber keineswegs unangenehmen Film. So sorgt es beispielsweise bei Lippen(pflege)stiften dafür, dass sie auch bei höheren Temperaturen ihre Form & Geschmeidigkeit behalten und nicht schmelzen. Auch z.B. Haarspülungen, Emulsionen und Mascara sind damit für hochsommerliche Temperaturen geeignet.
Darüber hinaus schützt Carnaubawachs die Haut, indem es einen leichten Film bildet, und sorgt gleichzeitig für Geschmeidigkeit und Glätte.
''Einsatzkonzentration:'' 0,2–0,5% in <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>, 01-0,2% in Haarspülungen, 5-15% in Lippenstiften, 3-6% in Lipgloss, 7-10% in Kajal-, Brauen- / Lippenkonturenstiften
''Schmelzbereich'': Der höchste aller Wachse, nämlich 82-87°C
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], jedoch nicht in Drogerien, Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Schmelzen in der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Carnaubawachs]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Carnaubawachs]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<$checkbox tiddler="Mehrfach-Aktionen Menu für die Sidebar" field="menu-item-4" checked="{{$:/core/ui/Buttons/control-panel}}<br/>" unchecked=" " default=" "> "Control-Panel" im Mehrfach-Aktionen-Menu der TopRightBar anzeigen</$checkbox><br/>
<$checkbox tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete" field="text" checked="show" unchecked="hide" default="hide"> Zeige </$checkbox>{{$:/core/images/delete-button}} Löschen-Button in Tiddlerview<br/>
<$checkbox tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions" field="text" checked="show" unchecked="hide" default="hide"> Zeige </$checkbox>{{$:/core/images/down-arrow}} Mehr-Button in Tiddlerview<br/>
<$checkbox tiddler="$:/config/ViewToolbarButtons/Visibility/$:/plugins/TWaddle/SideEditor/Button" field="text" checked="show" unchecked="hide" default="hide"> Zeige{{$:/plugins/TWaddle/SideEditor/Button!!caption}} button in Tiddlerview<br/>
-------------------------------------------------------------------------------
<$button class='tc-btn-invisible'>
<$reveal type='match' state='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit' text='hide'>
<input type='checkbox'/>
<$button class='tc-btn-invisible'>
<$reveal type='match' state='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone' text='hide'>
<input type='checkbox'/>
<$fieldmangler tiddler="$:/core/ui/SideBar/More">
<$action-sendmessage $message='tm-add-tag' $param="$:/tags/SideBar"/>
</$fieldmangler>
<$fieldmangler tiddler="+Neuer Tiddler von Vorlagen (Menu)">
<$action-sendmessage $message='tm-add-tag' $param="$:/tags/mymenusTopRightBar"/>
</$fieldmangler>
<$fieldmangler tiddler="Tiddlerfuß Menu">
<$action-sendmessage $message='tm-add-tag' $param="$:/tags/mymenusfooter"/>
</$fieldmangler>
<$action-setfield $tiddler='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit' text='show'/>
</$reveal>
<$reveal type='nomatch' state='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit' text='hide'>
<input type='checkbox' checked/>
<$action-setfield $tiddler='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone' text='show'/>
</$reveal>
<$reveal type='nomatch' state='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone' text='hide'>
<input type='checkbox' checked/>
<$fieldmangler tiddler="$:/core/ui/SideBar/More">
<$action-sendmessage $message='tm-remove-tag' $param="$:/tags/SideBar"/>
</$fieldmangler>
<$fieldmangler tiddler="+Neuer Tiddler von Vorlagen (Menu)">
<$action-sendmessage $message='tm-remove-tag' $param="$:/tags/mymenusTopRightBar"/>
</$fieldmangler>
<$fieldmangler tiddler="Tiddlerfuß Menu">
<$action-sendmessage $message='tm-remove-tag' $param="$:/tags/mymenusfooter"/>
</$fieldmangler>
<$action-setfield $tiddler='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit' text='hide'/>
<$action-setfield $tiddler='$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit' text='hide'/>
</$reveal>
</$button>
<$checkbox class="nowrapme" field="criteria" checked="yes" unchecked="no">{{!!title}} </$checkbox><span> </span>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Die Chili-Lanolin-Creme wirkt durchblutungsfördernd und kann schmerzhafte Beschwerden des Bewegungsapparates lindern. Sie eignet sich für die Behandlung von Muskelkater, Zerrungen, Rückenschmerzen, Nackenschmerzen, Gelenkschmerzen, Verspannungen und Hexenschuss.
Ihre Wirkung hängt von der Schärfe der verwendeten Chilis ab. Mittelscharfe Chilis ergeben eine Creme mit milder Durchblutungswirkung. Schärfere Chilis bewirken eine deutliche Wärmewirkung mit Hautrötung und noch schärfere Chilis reizen die Haut, so dass sie brennt.
Die verwendeten ätherischen Öle steigern die Durchblutungswirkung. Sie helfen auch, den Chili-Wirkstoff ins verspannte Gewebe zu transportieren, um die Durchblutung vor Ort zu steigern. Man kann auch andere ätherische Öle nach Wahl verwenden, beispielsweise Kiefer, Fichtennadel oder Zypresse.
30 ml Chili-Öl
15 gr Lanolin anhydrid (Wollwachs ohne Wasser) =Emulgator
4 gr Bienenwachs
30 ml Chili-Tinktur
Evtl. Konservierungsmittel nach Wahl
10 Tr ätherisches Rosmarin-Öl
10 Tr ätherisches Minz-Öl
10 Tr ätherisches Kampfer-Öl
10 Tr ätherisches Wacholder-Öl
10 Tr ätherisches Zimt-Öl
Vermisch Chili-Öl, Lanolin anhydrid & Bienenwachs in einem Glas (Fettphase).
Giess die Tinktur in ein anderes Glas (Wasserphase).
Erhitze beide Gläser, bis die festen Bestandteile der Fettphase geschmolzen sind.
Giess dann die Wasserphase nach und nach unter ständigem Rühren in die Fettphase.
Rühren, rühren, rühren.
Rühr bis die Creme auf Handwärme abgekühlt ist.
Dann wird es Zeit für die ätherischen Öle.
Tropf die ätherischen Öle unter ständigem Rühren in die Creme.
Füll die Creme in Salbentiegel.
Verschliess die Salbentiegel und beschrifte sie mit Inhalt und Datum.
Wenn du die Creme im Kühlschrank aufbewahrst, hält sie sich länger als ungekühlt.
''Chili-Öl herstellen''
In Öl löst sich vor allem der rote Farbstoff von Chilis, was Chili-Öl stark orange-rot leuchten lässt. Der scharfe Wirkstoff Capsaicin löst sich nicht sehr gut in Öl, aber es reicht aus, um Chili-Öl scharf zu machen, wenn auch weniger scharf als eine Tinktur aus den gleichen Chilis.
Man kann wahlweise frische oder getrocknete Chilis verwenden.
Je nach Sorte wird das Öl unterschiedlich scharf. Aus Peperonis wird das Öl mittelscharf, aus Cayenne scharf und aus Habaneros extram scharf.
Achtung!
Nach dem Umgang mit Chilis und deren Produkten muss man sich gründlich die Hände waschen und per Zungentest überprüfen, ob die Hände nicht mehr scharf sind, denn sonst könnte das beiläufige Reiben der Augen fatale Folgen haben.
Auch die gesamte Umgebung kann unabsichtlich "geschärft" werden, wenn man sich nicht sofort die Hände wäscht.
40 gr geschnittene Chilis
120 ml Pflanzen-Öl
Schneide die Chilis in kleine Stücke.
Füll die Chili-Stücke in ein Schraubdeckel-Glas.
Giess Öl über die Kräuter, bis sie reichlich bedeckt sind.
Verschliess das Glas.
Um den Extraktionsprozess zu verstärken, kann man das verschlossene Glas für eine halbe Stunde ins kochende Wasserbad stellen.
Stell das Glas dann an einen warmen Ort und lass es zwei bis sechs Wochen ziehen.
Nach der Wartezeit muss das Öl abgefiltert werden.
Stülpe einen Kaffeefilter über ein anderes Glas.
Giess das Öl durch den Kaffeefilter.
Wenn ein Teil der Kräuter mit in den Filter fällt, dann ist das in Ordnung.
Achte jedoch darauf, dass der Kaffeefilter nicht überläuft.
Das Öl tropft nach und nach in das zweite Glas.
Wenn das Öl abgefiltert ist, kann man es in eine dunkle Flasche füllen.
Dazu eignet sich ein kleiner Trichter.
Verschliess die Flasche und beschrifte sie mit Inhalt und Datum.
''Chili-Tinktur herstellen''
Capsaicin, der scharfe Wirkstoff in Chilis löst sich besonders gut in Alkohol. Daher ist eine Chili-Tinktur die Zubereitung der Wahl, wenn man aus Chilis möglichst viel Schärfe extrahieren will.
Man kann wahlweise frische oder getrocknete Chilis verwenden.
Je nach Sorte wird die Tinktur unterschiedlich scharf. Aus Peperonis wird die Tinktur mittelscharf, aus Cayenne scharf und aus Habaneros extrem scharf.
Achtung!
Nach dem Umgang mit Chilis und deren Produkten muss man sich gründlich die Hände waschen und per Zungentest überprüfen, ob die Hände nicht mehr scharf sind, denn sonst könnte das beiläufige Reiben der Augen fatale Folgen haben.
Auch die gesamte Umgebung kann unabsichtlich "geschärft" werden, wenn man sich nicht sofort die Hände wäscht.
20 gr. Chili, geschnitten
100 ml Doppelkorn (oder ähnliches)
Schneide die Chilis in kleine Stücke.
Füll die Chili-Stücke in ein Schraubdeckel-Glas.
Es sollte etwa halb voll werden.
Giess den Doppelkorn über die Kräuter, bis sie reichlich bedeckt sind.
Verschliess das Glas.
Um den Extraktionsprozess zu verstärken, kann man das verschlossene Glas für eine halbe Stunde ins kochende Wasserbad stellen.
Stell das Glas dann an einen warmen Ort und lass es zwei bis sechs Wochen ziehen.
Nach der Wartezeit muss die Tinktur abgefiltert werden.
Stülpe einen Kaffeefilter über ein anderes Glas.
Giess die Tinktur durch den Kaffeefilter.
Wenn ein Teil der Kräuter mit in den Filter fällt, dann ist das in Ordnung.
Achte jedoch darauf, dass der Kaffeefilter nicht überläuft.
Wenn die Tinktur abgefiltert ist, kann man sie in eine dunkle Flasche füllen.
Dazu eignet sich ein kleiner Trichter.
Verschliess die Flasche und beschrifte sie mit Inhalt und Datum.
"""ich liebe ja Bäder mit Milch und Honig über alles. Leider hat der Honig einen großen Nachteil - er klebt. Wenn ich nun Milchpulver mit dem Honig verrühre, gibt es Tapetenkleister oder ich rühre Unmengen Kieselsäure rein.
Also habe ich, in Anlehnung an das Betainpulver, nun auch Honig pulverisiert.
50g flüssiger Honig werden mit 100g Speisestärke verrührt (erst mit dem Löffel, dann mit der Hand durchkneten). Anschließend in den Multihacker und raus kommt feinstes Honigpulver, das ganz lecker duftet und sofort weiter verarbeitet werden kann. Soll es auf Vorrat gemacht werden, ist es sicher besser, es zu trocknen. Dazu habe ich das Pulver in eine Schüssel gegeben und in der Mikrowelle zweimal 2 Minuten auf 270W getrocknet. Vor dem Abfüllen auskühlen lassen.
Dieses Honigpulver durfte dann in mein Cleopatrabad aus:
100g Totes Meer Salz
10 Tr. äth. Orangenöl
5 Tr. äth. Geraniumöl
3 Tr. äth. Rosenöl bulgarisch
4 Tr. äth. Amyrisöl
145 g Honigpulver (=Menge von o.g. Ansatz)
200g Milchpulver
20g geraspelte Kakaobutter
5g Rosenblüten
3g Kieselsäure
Herstellung:
TMS im Multihacker etwas zerkleinern
äth. Öle zugeben und gut mischen
nach und nach Milchpulver, Honigpulver, Kakaobutter und Blüten untermischen
die Pulvermischung nochmals portionsweise in den Multihacker geben (dadurch werden auch die Blüten zerkleinert)
zum Schluss die Kieselsäure untermischen.
ich bin großzügig und schütte ca. 50 g in die Wanne Das dürften etwa 3-4 EL sein
Im Ernst, mit Milch und Honig kann man nichts falsch machen, sofern man keine Allergie auf eines der Bestandteile hat.
naja, das Honigpulver von Gracefruit ist schon anders, denn es ist, wenn ich das richtig sehe, reiner Honig im Sprühtrocknungsverfahren pulverisiert. Was ich da produziert habe, ist kein reiner Honig. Aber dann nimmt man eben etwas mehr und dann passt es auch wieder.
die Kieselsäure dient hier als Trocknungsmittel. Es saugt Feuchtigkeit auf, so dass das Pulver nicht verklumpt. In diesem Fall ist also nicht kosmetisch sondern produkttechnisch eingesetzt. die Kieselsäure kannst du auch notfalls weg lassen, sollte kein Problem sein.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
Siehe [[Preiselbeersamenöl]]
"""die konsistenz von dem teil ist fest, aber wenn man drueberstreicht wird es zu einer soften creme.
rezept:
fettphase:
6 gr squalan
3 gr jojobaoel
1 gr carnaubawachs
1 gr sheabutter
1 gr tegomuls
-------------------------
wasserphase:
6,5 gr wasser oder hamamelishydrolat
1 gr glycerin
evt. noch 4 tr. hamamelisextrakt u. 4 tr. seidenprotein oder was anderes
Konservierung
fettphase gut auf dem herd durchschmelzen, wasser auch mit heiss machen. das heisse wasser in die homogene fettphase kippen und mit dem ruehrstab durchruehren bis emulsion entsteht.
dann kann man 3-7 ML reine MF pigmente untermischen, je nachdem, wie deckkraft gewuenscht ist. 3 ist ganz leicht, 7 eher staerker. oder halt nach gefuehl...
die heisse fluessige emulsion direkt in eine form kippen, abkuehlen lassen. darauf achten, dass sie nicht austrocknet, da wasser drin ist! (dass man den irgendwie verschlossen aufbewahren soll).
das zeug ist schon ziemlich fest, klar koenntest du es auch als creme fuers ganze gesicht nehmen, aber da gibt es bessere methoden."""
------------------------------------------------------------------------------------------------------------
"""''Lip Plumber''
Den habe ich jetzt auch mit Pigmenten versorgt und ein klein wenig verändert.
2 g Bienenwachs
2 g Mandelöl mit Vanille
2 g Sheabutter statt Kakaobutter
0.6 g Lanolin
0,7 g Schokoperlpigmente
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""7g Sheabutter unraff.
4g Mandelöl
4g Jojobaöl
1g Bienenwachs
10g Nachtkerzenöl (erst wenn´s abgekühlt ist, einrühren)
2,5g Emulsan
2,5g Tegomuls
120g destl. Wasser
15g Harnstoff
2g Kieselerde
7 Tr. Lavendel
6 Tr. Bergamotte
Die Creme habe ich in eine Lotionsflasche gefüllt. Sie ist gut flüssig, verteilt sich prima, zieht flux ein und macht meine Haut weich, ohne zu fetten oder einen Film zu hinterlassen.
Für Leute die´s reichhaltig wollen ist das, denk ich, nix. Aber bei meiner
ND Haut macht mich schon der kleinste Fettfilm wahnsinnig und alles juckt.
"""da sie hautberuhigend ist, auch nach der Rasur geeignet)
Fettphase:
5ml Macadamianussöl
2,5ml Olivenöl
2,5ml Monoi Tiare' Vanille (oder Kokosöl oder Mandelöl)
2ml Jojobaöl
2g Emulsan
1g Tego
3g Sheabutter
Wasser:33ml
Wirkstoffe:
1ML D-Panthenol
1ML Kamillenöl
15Tr. Meristemextrakt
6Tr. Paraben
Die Creme ist sehr angenehm, anfangs fettig, zieht aber gut ein, hat eine leichte Konsistenz.
Die Farbe ist durch den Meristemextrakt vanillig...passend zum Duft!
Mir ist gerade ein schöner Name für dieses Cremchen eingefallen:
KAMILLI-VANILLI
"""100gr=100%
30/70 fph/wph
4% wwa
2% lanolin
1% emik
4% shea
2% kakaobutter
2% ipm
5% neutralöl
4 % jojoba (darin calendula mazeriert)
2% schwarzkümmelöl
2% borretsch
1,5% gammaoryzanol
0,5% fettlösliches vit c (gibts bei alexmo)
1msp natrosol
50% (oder 58%??) calendulahydrolat
5% calendulaextrakt
5% glycerin
2% ectoin
1msp allantoin
auf 30gr 1tr ms, 4tr nl und 3tr rokonsal
Da ich immer nur 30gr rühre, wird die creme nicht alt und muß nicht mit 6tr rokonsal konserviert werden. Eigentlich müßte sie gar nicht konserviert werden, aber da bin ich zu feige zu.
Schwarztee hat viel gerbsäure und das hat sich bei meinen rezepten gegen Neurodermitis bisher sehr bewährt.
"""Einige Dinge kann ich dir schon raten. Jojobaöl soll mindesten zu 40% in der Ölmischung vorhanden sein. Propolis ist ein guter entzündungshemmender Stoff. Und täglich 3 Tassen Brennesseltee würde ich auch empfehlen.
"""Creme mit Glitzereffekten für Auftritte.
Fettphase:
2 gr Jojoba
3 gr Avocadoöl
5 gr Sonnenblumenöl
3 gr Tegomuls
2,5 gr Ceralan
1 gr Kakaubutter
Wasserphase:
35 ml Wasser dest.
Wirkstoffe:
1 ML D-Panthenol
1 ML Glycerin
Pigmente und Glitter:
1/2 ML Seidenweiss mit Perglanz
1/2 ML Goldglitter
1/4 ML Kupferglitter
1/4 ML Feingold Glanzpigment
Konservierung und Duft nach Wahl
Goldglitter und Kupferglitter habe ich aus dem Asienladen, sind allerdings nicht Schwermetall geprüft
Ich gebe meist die Pigmente in die fertige Creme und rühre dann noch mal kräftig durch. Habe sie aber auch schon mal zur Fettphase dazugegeben, doch keinen Unterschied bemerkt.
Durch das Ceralan setzen sich die Pigmente in der Creme nicht ab.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=220 src="https://share-your-photo.com/img/72e684d838.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
''Eigenschaft dieser Spülung:'' Macht die Haare weich, besser kämmbar & glänzend. Reguliert den pH-Wert der Kopfhaut, verhindert eine übermäßige Talgproduktion, vermindert Kopfhautjucken & wirkt gegen Schuppen. Und sie verhindert die statische Aufladung der Haare.
Die Spülung lässt sich angenehm in den Haaren verteilen.
''Meine Erfahrung damit:'' Benutze ich seit mehreren Jahren. Und bin immer noch begeistert! Ohne diese Spülung würde ich Stunden zum Haarebürsten brauchen (habe Po-langes sehr feines glattes Haar).
Ich habe keine Schuppen und meine Frisörin ist bei jedem Haareschneiden erstaunt darüber, wie wenig Spliss ich habe. Wieviel Schuld diese Spülung daran hat (oder auch mein Shampoo- ein festes Kokos-Shampoo von Lush), weiß ich nicht. Aber die bessere Kämmbarkeit liegt definitiv an dieser Spülung.
''Anwendung:'' Nachdem ich meine Haare einshampooniert & wieder ausgewaschen hab, verwöhne ich meine Haare, insbesondere natürlich die Spitzen, mit der Spülung und lass diese ein paar Minuten einwirken. Dann wasche ich sie wieder aus.
Der Essiggeruch verfliegt beim Trocknen und es bleibt nur noch der Duft des gewählten Duftöls."""<br/><br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> ml (Mindestmenge 65ml- Lysolecithin ist sehr schwer abzuwiegen)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 170 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Fettphase:'' 8,04%
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /170* 10.2,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /170* 3.47,2)</$calc>g [[Lysolecithin]] (!)
* <$calc>round({{!!gesamtmenge}} /170* 50.97,2)</$calc>ml [[Apfelessig]] oder abgekochtes Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /170* 101.92,2)</$calc>ml abgekochtes Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /170* 0.61,2)</$calc>g @@font-size:0.9em;(0.6g = 2 kl. Messl.)@@ [[Haarguar HT]] (!) @@font-size:0.9em;Du kannst Haarguar auch komplett durch Guarkernmehl ersetzen- Haarguar ist aber zusätzlich gegen fliegende Haare besser@@
* <$calc>round({{!!gesamtmenge}} /170* 0.2,2)</$calc>g @@font-size:0.9em;(0.2g = 1 kl. Messl.)@@ [[Guarkernmehl]] (!)
* <$calc>round({{!!gesamtmenge}} /170* 17,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /170* 0.77,2)</$calc>g) [[Seidenprotein]] (!)
* <$calc>round({{!!gesamtmenge}} /170* 17,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /170* 0.77,2)</$calc>g) [[Vithaar HT]] (!)
* <$calc>round({{!!gesamtmenge}} /170* 25,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /170* 1.12,2)</$calc>g) [[Weizenprotein]] (!)
* <$calc>round({{!!gesamtmenge}} /170* 20,2)</$calc>-<$calc>round({{!!gesamtmenge}} /170* 28,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /170* 0.9,2)</$calc>-<$calc>round({{!!gesamtmenge}} /170* 1.26,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
<br/>
''Zubereitungszeit:'' Ca. 20 Minuten
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Kakaobutter'' im feuerfesten Rührglas auf dem Herd schmelzen.<br/>Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist <div class="tooltip">(bei mir auf Stufe 2,5) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. Sonst gehen Inhaltsstoffe verloren! Außerdem kann sie sonst krisselig werden.
# In einem 2. Glas ''Essig / Wasser'' nach und nach ins ''Lysolecithin'' einrühren.<br/>Wenn Du- so wie ich- nur ein ganz kleines Becherglas hast, kannst Du auch erstmal nur einen kleinen Teil vom Essig / Wasser einrühren und erst ganz zum Schluss den Rest Essig / Wasser untermischen- dann aber gründlich...
# Dann den ''Essig/Wasser-Lysolecithin-Mix'' in die geschmolzene ''Kakaobutter'' rühren- GANZ langsam das kalte ins warme und kräftig dabei rühren!!! Sonst verbindet sich beides nicht richtig!
# ''Haarguar'' & ''Guarkernmehl'' mischen und nach und nach mit einem Milchschäumer einrühren.
# ''Seidenprotein'', ''Vithaar HT'', ''Weizenprotein'' & ''Duftöl'' unterrühren.
# Achtung: Die Spülung wirkt erstmal recht flüssig. Sie dickt aber noch nach- ca. 24 Stunden später hat sie ihre endgültige Konsistenz erreicht.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* [[Milchschäumer]] (Xanthan geht am besten mit dem Milchschäumer unterzurühren), oder ein anderes hochtouriges Rührgerät
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort verwendbar. Die endgültige Konsistenz ist allerdings erst nach 1-2 Tagen vorhanden (Kakaobutter härtet nach & Haarguar dickt nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kakaobutter]] (0,22€)
<div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften für trockene Haare.
[[Lysolecithin]] (0,15€)
Lysolecithin ist hier ein pflegender, rückfettender und <div class="tooltip">konditionierender
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> Zusatz.
[[Apfelessig]] (0,10€)
Macht Haare weich, besser kämmbar & glänzend. Reguliert den pH-Wert der Kopfhaut, verhindert eine übermäßige Talgproduktion, vermindert Kopfhautjucken & wirkt gegen Schuppen. Und wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>.
Wasser: (durchschnittlich 0,2Ct / Liter)
Trägermaterial...
[[Haarguar HT]] (0,09€)
Hier v.a. als Verdicker / Gelbildner eingesetzt.
Haarguar wirkt haarschützend und glättend. Es verhindert die statische Aufladung der Haare, verbessert die Kämm- und Frisierbarkeit.
Eine zu starke Entfettung von Haaren & Kopfhaut wird dank Haarguar ebenfalls verhindert.
[[Guarkernmehl]] (0,01€)
Guarkernmehl verbessert die Kämmbarkeit der Haare und verdickt Spülungen.
[[Seidenprotein]] (0,13€)
Seidenprotein wirkt feuchtigkeitsspendend, filmbildend und schützend für die Haare und sorgt für Glanz.
[[Vithaar HT]] (0,13€)
Besonders geeignet für feines, sprödes, trockenes Haar. Das Haar wird kräftiger, gesünder und erhält mehr Spannkraft. Es glättet die Haare, gibt Glanz & Volumen und sie lassen sich besser durchkämmen.
[[Weizenprotein]] (0,05€)
Macht Haare geschmeidig und seidig. Weizenprotein glättet raue Haarschuppen und legt einen schützenden Film um das Haar. Außerdem werden die Haare verdickt und gekräftigt.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst...)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' Apfelessig (<div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>). Ausserdem wirken die enthaltenen ätherischen Öle konservierend.
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 3 Monate haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 0,88€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst) für 170ml Gesamtmenge. Stand März 2018
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.8em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Pflanzenbutter, ''Ölgruppe:'' PF-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Theobroma Grandiflorum Seed Butter
''Jodzahl:'' 40–50 (nicht trocken)
''Schmelzbereich:'' 27–33°C
''Spreitwert nach Olionatura®:'' Niedrigspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' 1–2%
''Verseifungszahl:'' 180–200
__Feuchtigkeitsarme, trockene und sensible Haut, in Haarpflegeprodukten, für Massagebars und Oleogele.__
Cupuaçubutter ist eine geschmeidige, spürbare __feuchtigkeitsbindende__ Fettkomponente mit guten, __koemulgierenden__ Eigenschaften. Haptisch wirkt sie __leichter und weniger aufliegend__ als Sheabutter (Subspecies paradoxa) und wird daher gerne in Emulsionen als Ersatz verwendet. Durch ihren Phytosterolgehalt __unterstützt sie die Regeneration der Hautbarriere__ und gilt als __hautberuhigend__ und __Rötungen mildernd__. Auch in der __Haarpflege__ wird sie als __feuchtigkeitsbindende__ Komponente geschätzt, die die Reißfestigkeit des Haares verbessert, wie Studien zeigten: Offenbar durchdringt Cupuaçubutter (wie auch Sheabutter) den Haarcortex und verbessert signifikant die Haar-Elastizität.
''Tip für die Verarbeitung:'' Buttern sollten nicht zu lange und zu hoch erhitzt werden, da sonst die Wirkstoffe verloren gehen können und sie dann teilweise gerne auskrisseln. Daher fast zum Schluss in der Fettphase schmelzen- aber vor Kakaobutter und hitzeempfindlichen flüssigen Ölen.
Die generelle Reihenfolge ist also: 1. Hitzeunempfindliche Lipide (Wachse, Öle, sonstige Lipide), 2. sonstige Buttern bei verringerter Hitze, 3. Kakaobutter bei noch stärker verringerter Hitze, 4. hitzeempfindliche Öle ohne Hitze, 5. Pulver, Wirkstoffe, etc., 6. Ätherische Öle.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Cupuaçubutter]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Cupuaçubutter]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Darmträgheit:''<br/><br/>
<$list filter="[tag[Darmträgheit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Darmträgheit:''<br/><br/>
<$list filter="[tag[Darmträgheit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte zur Denkfähigkeit:''<br/><br/>
<$list filter="[tag[Denkfähigkeit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Denkfähigkeit:''<br/><br/>
<$list filter="[tag[Denkfähigkeit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""''Odex ist nicht naturkosmetik-konform!!''
100gr=100%
7gr glycerin
40gr alkohol
5 gr neutralöl oder squalan
3gr odex
45gr hydrolat
xathan nach wunsch
Duft nach wunsch
Das glycerin und das neutralöl soll die haut pflegen, der alkoholgehalt garantiert schnelles trocknen und das xanthan dick es etwas an, damit es nicht aus dem roller läuft. Wenn ihr ein spray wollt, dann laßt ihr es einfach weg.
Auch duft ist optional, da es auch ohne duft wirkt.
Das Konservierungsmittel Biokons PA 30 soll auch unterstützend als Deowirkstoff wirken.
Odex-Deo, so ähnlich wie Seleas Rezept mit weniger Glyzerin, funzte so leidlich. Bis ich einmal die glorreiche Idee hatte, mein Deo sauer ein zu stellen.
Siehe da, schon klappt das mit dem nicht-mehr-stinken-wie-ein-Elch. Frau muß nur mal den ph-Wert unter den Achseln testen und schon hat man die Antwort auf alle Fehlversuche.
Denn beim Stöbern im Netz las ich mal, das der ph beim schwitzenden Mensch unterschiedlich ist. Bei Frauen kann er sogar schwanken. Basische Menschen brauchen was Saures, saure Menschen kommen mit Basischem besser zurecht.
Ich habe den pH-Wert meiner Achselhöhlen noch nie gemessen, mir ist nur aufgefallen, dass es Zeiten gibt, in denen bei mir nur saure Deos und in anderen Zeiten nur basische wirken. Aber die Sache mit dem pH-Wert der Achselhöhlen finde ich interessant.
Wenn du sauer bist, brauchst du was basisches, und umgekehrt.
Halt einfach mal einen streifen unter deine achseln, wenn du sauer bist ein basisches deo, wenn du basisch bist, brauchst was saueres.
Wenn du statt natron weinstein nimmst und es mit ms und nl auf 5 einstellst, hast du gleich auch pflegende komponenten mit drin.
Zu Weinsteinsäure habe ich im Web ein paar interessante Infos gefunden. Der Wirkstoff soll als Antitranspirant wirken, wäre also ein Ersatz für die Aluminiumsalze. Es gibt inzwischen auch Deos mit Weinstein, z.B. syNeo free. Die Bewertungen bei Amazon zeigen aber auch, dass manche damit gar nicht klar kommen. Da muss wohl jede(r) für sich selbst probieren, ob und wie Weinsteinsäure wirkt.
Den ph-Wert habe ich damals ganz poppelig mit ph-Papier unter der Achsel gemessen. Einen Streifen untern Arm geklemmt und nach so ca. 30 Min. mit der Farbscala verglichen. Damals, so vor 5 Jahren, war mein Schweiß basisch. Ergo rührt frau was Saures. Seither habe ich keine Müffelprobleme, denn Experimente sind nicht mehr nötig.
Erstaunlicherweise funzte das Deo bei meiner Cousine kein bißchen, bis ich ihr ebengfalls einen Streifen ph-Papier untern Arm klemmte: sie brauchte etwas Basisches, da das Papier einen sauren Bereich anzeigte. Und es klappt.
Möglich, das ich total daneben liege oder absoluten Quatsch erzähle, die Praxis gibt mir jedenfalls Recht.
Die Theorie dass "basischen Schwitzern" eher saures Deo hilft und sauren Schwitzener" eher basisches Deo, das kann ich aus eigener Erfahrung bestätigen.
Ein Deo mit antitranspiranter Wirkung für diejenigen, bei denen nur saure Deos wirken:
Deo Roll-On Sour
35 ml Hamamelisrindenwasser oder Wasser
5 ml gefilterten Zitronensaft oder etwas Zitronensäure
4 ml Alcohol 96%
3,3 g Alaun*
20-30 Tr. Farnesol
ca. 1 kl. ML Xanthan
Hamamelisrindenwasser und Zitronensaft mischen, Alaun darin auflösen. Xanthan mit dem Alc. in eine Deorollerflasche (50 ml) geben, restliche Zutaten dazugeben und schütteln.
Man kann auch noch diverse Extrakte wie Salbeiextrakt und/oder ÄÖs hinzufügen, aber ich wollte ein möglichst geruchsneutrales Deo.
Die ersten Tage musste ich das Deo noch vor dem Auftragen schütteln, danach blieb es stabil und auch das ölige Farnesol blieb dispergiert.
*Alaun geht mit maximal 7,5% in wässrige Lösung, daher dieser krumme Betrag. Ich habe einen hochwertigen Deostein auf einer feinen Reibe gerieben. Es gibt bei Alaun qualitativ große Unterschiede, daher habe ich diese Methode gewählt.
Ich verwende dieses Deo seit fast zwei Monaten und es wirkt auch an heißen Tagen.
"""Kokosöl: Der hohe anteil an Laurinsäure in Verbindung mit Capryl- und Caprinsäure ist für die Wirkung verantwortlich,
die sind in der Menge und Zusammensetzung nur im nativen vorhanden. Wirkt gegen Grampositive Bakterien. Bei manchen Leuten ist es aber egal, welches Fett sie verwenden- ihr Deo wirkt trotzdem. Solche Leute können also auch raffiniertes / desodoriertes Kokosöl nehmen.
Allerdings weiß ich auch von einer Bekannten, die kein Natron verträgt, dass ihre Deocreme wunderbar nur mit Zinkoxid funktioniert.
Zinkoxid ist für das "Weisseln" im Deo zuständig und bei dunkler Kleidung Flecken hinterlassen kann. Und ich habe bei Deos mit ZiO die Erfahrung gemacht, dass sie recht fest werden.
Nicht Alaun als Deo-Wirkstoff verwenden!! >Ist eine Aluminiumverbindung!!!
Vorher hatte ich etliches probiert: Odex, Farnesol, einzeln, dann eine Mischung aus beiden, Smellfree...bei allen *müffelte* es nach einer Weile, und das obwohl ich kaum schwitze.
Bartflechtenextrakt könnte man schon verwenden. Ist aber relativ teuer. Alle antibakteriell wirkenden Extrakte könnte man versuchen. Da sind Salbei- oder Thymianrxtrakt günstiger. Weil es sehr stark antibakteriell wirkt, könnte es aber bei empfindlichen Personen auch hautreizend wirken was natürlich auch immer auf die Dosierung ankommt.
Kieselsäure hatte ich schon in meinem Natrondeo (allerdings ein flüssiges). Sie sorgt tatsächlich dafür, dass erstens das Deo auf der Haut schneller trocknet und zweites, dass die Haut länger trocken bleibt. Kieselerde oder Tonerden habe ich noch nicht getestet.
Versuche es mal mit Kieselsäure statt Kieselerde. Erstere absorbiert viel Feuchtigkeit. Sie wird auch als Rieselhilfe in Pulvermischungen (z. B. Badepulver) eingesetzt. In meinem flüssigen Natrondeo für den Roller habe ich auch Kieselsäure drin. Sie fungiert als leichter Gelbildner, daher kratzt das Pulver nicht auf der Haut.
Kieselsäure ist ein Gelbildner der besonderen Art, denn sie bildet sowohl in Wasser als auch in Ölen ein Gel. Ölgele mit Kieselsäure werden vollkommen klar. Man braucht aber sehr viel davon, um das Öl (oder das Wasser) anzudicken. Für Produkte, die auf der Haut bleiben, darf man nicht so hoch dosieren, weil das Pordukt sonst stumpf im Auftrag wird und auch weiße Schlieren auf der haut hinterlässt. Aber eine kleine Menge in einem Deo macht keine Probleme. Du kannst Kieselsäure auch als Gelbildner für Cremes verwenden - z. B. in einer Creme für fette Haut.
Um eine Reaktion von Kieselsäure mit Natron musst du dir keine Sorgen machen - ich hatte da noch nie Auffälligkeiten bemerkt. Und mein Natrondeo rühre ich schon seit vielen Jahren nach dem gleichen Rezept.
Ich löse zuerst Natron im Wasser. Anschließend kommen alle weiteren Stoffe dazu. In einem zweiten Glas mische ich Kieselsäure und Xanthan und gieße unter Rühren mit dem Spatel das Natronwasser dazu. Da reagiert nichts. Die Flüssigkeit wird nur so weit angedickt, dass sie nicht neben der Roll-on-Kugel aus der Flasche läuft. Es darf aber auch nicht zu dick sein. Der pH-Wert meines Deos liegt bei 8.
"""
* https://schwatzkatz.com/rosenwachs-deo-whip-ohne-aluminium/<br/><br/>
* https://schwatzkatz.com/alufreies-vanille-creme-deo-ohne-natron/<br/><br/>
* Viele Deo-Rezepte: https://schwatzkatz.com/deo-selber-machen-ganz-natuerlich-ohne-aluminium-mit-natron/<br/><br/>
* Rezept für Sprüh-Deo suchen
"""Zutaten für 60 g (passend für 50-ml-Deoroller)
Phase A:
1,2 g Dermofeel-Öl
0,3 g Smell Free (Decalact Deo)
2,7 g Zitronensäureester
3,3 g Dermofeel G10LW
6 g Weingeist
Phase B:
0,3 g Xanthan transparent
1,2 g Glycerin
43,8 g destilliertes Wasser
Phase C:
0,6 g Natriumlaktat
12 Tr. Konservierungsstoff nach Wahl
Herstellung:
Alle Bestandteile der Phase A mischen.
Xanthan in Glycerin dispergieren, dann Wasser unter sanftem Rühren mit dem Spatel zugießen.
Mit Phase C ergänzen.
Zum Schluss pH-Wert messen und ggf. mit Milchsäure auf 4,5 einstellen.
"""Ich rühr immer die saure Variante und zwar so.
Alles in ca.-Angaben: ICh nehm 2 TL von meiner immer recht festen Sheasahne (70 % Shea, 30 % Öl), dazu kommt ein kleiner Spritzer Quetschzitrone und 0,5-1TL Zinkoxid. Alles ordentlich durchrühren und beduften. Das gibt eine schöne weiche Creme. Wenns mal zu fest sein sollte geb ich einfach noch ein paar Tropfen Öl dazu.
Beduftet ist meins immer mit einer Mischung aus Zitronengras und Minze.
Ich denke, ich würde als Öl das Kokosöl nehmen.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=260 src="https://share-your-photo.com/img/85a80b410d.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Fast alle Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann.
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieses Deos:'' Es schützt nicht nur vor unangenehmen Düften, sondern pflegt dabei auch noch die Achselhaut. Manche reagieren jedoch empfindlich auf das Natron. Natürlich auch als Fuß-Deo verwendbar :-)<br/>
''Meine Erfahrung damit:'' Ich benutze es seit mehreren Jahren und bin begeistert. Endlich keine geröteten Achseln durchs Rasieren mehr :-) Und es hält sein eigentliches Deo-Versprechen: Unangenehme Körpergerüche einen ganzen Tag lang verhindern!
''Anwendung:'' Achseln mit Wasser befeuchten, damit sich das Natron dort direkt auflöst. Sonst fühlt man ein leichtes "Scheuern" der Natronkörnchen. Das trocknet auch schnell wieder. Möglichst nicht mit dem Finger entnehmen, da die Creme sonst mit zuviel Keimen in Berührung kommt. Sondern besser mit kleinem Löffel oder Spatel entnehmen und zügig unter den Achseln verteilen, da es bei Hautkontakt sehr schnell schmilzt. Es reicht die Menge von ca. einer viertel Erbse pro Achsel.<br/>
''Wenn Dir dieses Rezept zu fettig ist'', kannst Du problemlos die Pulvermenge (Stärke & Natron) verdoppeln bis verdreifachen- habe ich schon ausprobiert, es wirkt genauso gut :-) Allerdings habe ich das nur "über den Daumen" ausprobiert. Und es wird noch mehrere Wochen bis Monate dauern, bis ich ein entsprechendes genaues Rezept dazu erstellen kann. Musst Du also bis dahin ggf. selbst probieren.
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 5g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 24 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /24* 13.5,2)</$calc>g [[Kokosöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /24* 6,2)</$calc>g [[Stärke]] (!!) @@font-size:0.8em;(ich nehm Kartoffelmehl, es geht aber jede Stärke)@@
* <$calc>round({{!!gesamtmenge}} /24* 4.5,2)</$calc>g [[Natron]] (!!)
* Max. <$calc>round({{!!gesamtmenge}} /24* 3.36,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /24* 0.15,2)</$calc>g) [[Limettenöl]] (!)
* <$calc>round({{!!gesamtmenge}} /24* 6,2)</$calc>-<$calc>round({{!!gesamtmenge}} /24* 10,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /24* 0.27,2)</$calc>-<$calc>round({{!!gesamtmenge}} /24* 0.45,2)</$calc>g) [[Parfümöl|.ÄtherischeÖleParfümöle]] (?)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Kokosöl'' im feuerfesten Rührglas auf dem Herd schmelzen. Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist. Sonst gehen Inhaltsstoffe verloren! <div class="tooltip">(bei mir auf Stufe 1-1,5, je nach Sommer / Winter) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>.
# Wenn das Kokosöl geschmolzen ist, vom Herd nehmen und erst ''Stärke'', dann ''Natron'' unterrühren (Natron soll nicht über 50° erhitzt werden).
# Bei Handwärme ''Limettenöl'' & ggf. ''Duftöle'' unterrühren.
# Bis es vollständig fest geworden ist, immer wieder umrühren, damit sich das Natron nicht absetzt (Festwerden geht sehr viel schneller im Kühlschrank- innerhalb ca. 30 Min. Ohne Kühlschrank kann es je nach Raumtemperatur ewig dauern).<br/>Falls es Dir zu schnell fest geworden ist und sich dadurch das Natron abgesetzt hat: Einfach bei Zimmertemperatur solange umrühren, bis es sich sozusagen wieder gut umrühren lässt und dann Kühl-Umrühr-Kühl-Prozedur wiederholen.
# Umfüllen in ein Döschen.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* __Aufbewahrung:__ Schraubglas, Tiegel o.ä.
"""
''Ab wann verwendbar''
Nach ca. 1h (ca. 30 Min. Aushärtung im Kühlschrank + ca. 30 Min. "Auftauen" bei Zimmertemperatur) verwendbar.
Die Konsistenz kann sich je nach Zimmertemperatur immer wieder ändern (Ideale Aufbewahrungstemperatur um die 20-22°. Bei >23° flüssig mit abgesetztem Natron, bei <19° fest- wird beim Verstreichen jedoch ganz schnell wieder flüssig).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kokosöl]] (0,23€)
Kokosöl wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & entzündungshemmend.<br/>Enthaltene Laurinsäure verhindert unangenehmen Schweißgeruch.<br/>Lässt sich leicht verteilen, zieht schnell ein ohne Fettfilm zu hinterlassen, pflegt die Haut.<br/>Duftet angenehm nach Kokos & nicht zu stark.
[[Stärke]] (0,05€)
Stärke verdickt die Creme & nimmt Feuchtigkeit auf.
[[Natron]] (0,02€)
''Achtung:'' Achtet darauf, möglichst fein pulverisiertes Natron zu kaufen (grobes hat eine Körnung ähnlich wie Salz & ist zu heftig für die Achseln)!
Natron wirkt <div class="tooltip">antibakteriell <span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div>, <div class="tooltip">antifungal <span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span></div> & <div class="tooltip">desodorisierend
<span class="tooltiptext">geruchsneutralisierend</span></div>.
[[Limettenöl]] (0,11€)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Limettenöl wirkt gegen die <div class="tooltip">Transpiration
<span class="tooltiptext">=Schweißbildung (damit ist aber nur die Feuchtigkeit gemeint. Der Schweißgeruch entsteht erst durch Bakterien, die sich durch den Schweiß ernähren!)</span></div>.
__Alternative ätherische Öle__: Citronella, Eukalyptus, Fichtenöl, Kiefernnadel, Lavendel, Lemongras, Muskatellersalbei, Petitgrain, Salbei, Teebaum, Zypresse.
[[Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser, Kokosöl (<div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>), Natron (antibakteriell) & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 0,41€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst) für 24g Gesamtmenge. Stand August 2018
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=350 src="https://share-your-photo.com/img/5139cfcac4.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann.
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieses Deos:'' Es schützt nicht nur vor unangenehmen Düften, sondern pflegt dabei auch noch die Achselhaut. Manche reagieren jedoch empfindlich auf das Natron. Natürlich auch als Fuß-Deo verwendbar :-) Diese Version ist für Tubenverwendung im Sommer geeignet. Sie fühlt sich noch ein klein wenig "weicher" beim Verreiben unter den Achseln an- superangenehmes Auftragen :-). Und sie lässt sich viel feiner dosieren. Im Vergleich zur [[Deocreme im Döschen|Deocreme im Döschen- ideales Einsteiger-Rezept]] und zum [[Deostick]]. Mein momentaner Favorit im Sommer.
''Meine Erfahrung damit:'' Die Grundversion dieses Deos ([[Deocreme im Döschen|Deocreme im Döschen- ideales Einsteiger-Rezept]]) benutze ich schon seit Jahren und bin absolut begeistert von der Wirkung und dem Duft. Endlich keine geröteten Achseln durchs Rasieren mehr und endlich in einer gut handhabbaren Tube :-) Und es hält sein eigentliches Deo-Versprechen: Unangenehme Körpergerüche einen ganzen Tag lang verhindern!<br/>Getestet habe ich es bisher bei 21-25° Zimmertemperatur- Konsistenz ist perfekt.
''Anwendung:'' Achseln mit Wasser befeuchten, damit sich das Natron dort direkt auflöst. Sonst fühlt man ein leichtes "Scheuern" der Natronkörnchen. Das trocknet auch schnell wieder. Eine winzige Menge (ich brauche ca. die Größe von einer viertel Erbse) aus der Tube drücken und zügig unter den Achseln verteilen, da es bei Hautkontakt sehr schnell schmilzt.<br/>
''Wenn Dir dieses Rezept zu fettig ist'', kannst Du problemlos die Pulvermenge (Stärke & Natron) verdoppeln bis verdreifachen- habe ich schon ausprobiert, es wirkt genauso gut :-) Allerdings habe ich es noch nicht insoweit ausgetestet, ob es dann auch noch gut mit dem Tubedo rauszudrücken geht. Und es wird noch bis zum nächsten Sommer dauern, bis ich das testen kann und ein entsprechendes Rezept erstellen kann. Musst Du also bis dahin ggf. selbst probieren.
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 5g, dann jedoch nicht aus der Tube pressbar)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 50 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /50* 24,2)</$calc>g [[Kokosöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /50* 4.1,2)</$calc>g [[Mangobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /50* 12.5,2)</$calc>g [[Stärke]] (!!) @@font-size:0.8em;(ich nehm Kartoffelmehl, es geht aber jede Stärke)@@
* <$calc>round({{!!gesamtmenge}} /50* 9.4,2)</$calc>g [[Natron]] (!!)
* Max. <$calc>round({{!!gesamtmenge}} /50* 7,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /50* 0.315,2)</$calc>g) [[Limettenöl]] (!)
* <$calc>round({{!!gesamtmenge}} /50* 12,2)</$calc>-<$calc>round({{!!gesamtmenge}} /50* 20,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /50* 0.54,2)</$calc>-<$calc>round({{!!gesamtmenge}} /50* 0.90,2)</$calc>g) [[Parfümöl|.ÄtherischeÖleParfümöle]] (?)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Kokosöl'' im feuerfesten Rührglas auf dem Herd schmelzen <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>.
# Ist das Kokosöl geschmolzen, Herd ausstellen und ''Mangobutter'' mitschmelzen. In den letzten Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen (Mangobutter ist hitzeempfindlich!). Ständiges Rühren hilft beim Schmelzprozess.
# Wenn beides klar geschmolzen ist, vom Herd nehmen und erst ''Stärke'', dann ''Natron'' unterrühren (Natron soll nicht über 50° erhitzt werden).
# Bei Handwärme ''Limettenöl'' & ggf. ''Duftöle'' unterrühren.
# Bis es vollständig fest geworden ist, immer wieder umrühren, damit sich das Natron nicht absetzt (Festwerden geht sehr viel schneller im Kühlschrank- innerhalb ca. 15 Min. Ohne Kühlschrank kann es je nach Raumtemperatur lange dauern).<br/>Falls es Dir zu schnell fest geworden ist und sich dadurch das Natron abgesetzt hat: Einfach bei Zimmertemperatur solange umrühren, bis es sich sozusagen wieder gut umrühren lässt und dann Kühl-Umrühr-Kühl-Prozedur wiederholen.
# Umfüllen in eine Tube.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* [[Tube (wiederbefüllbar)]] (es geht natürlich auch jede andere wiederbefüllbare Tube)
"""
''Ab wann verwendbar''
Nach ca. 45 Minuten (ca. 15 Min. Aushärtung im Kühlschrank + ca. 30 Minuten "Auftauen" bei Zimmertemperatur) bzw. einen halben bis einen Tag Aushärtung bei Zimmertemperatur verwendbar.
Die Konsistenz kann sich je nach Zimmertemperatur ändern (Ideale Aufbewahrungstemperatur 20-25°. Bei >26° beginnt es flüssig zu werdenmit teilweise abgesetztem Natron, bei <19° fest und nicht mehr aus der Tube pressbar- wird beim Verstreichen jedoch ganz schnell wieder flüssig).
''Änderungen:'' Erhöhe die Mangobutter-Menge & verringere die Kokosölmenge, wenn die Creme bei höheren Temperaturen lagert. Pro Grad jeweils vielleicht um die 1%. Wenn die Creme bei niedrigeren Temperaturen lagert, natürlich genau anders herum.
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kokosöl]] (0,41€)
Kokosöl wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & entzündungshemmend.<br/>Enthaltene Laurinsäure verhindert unangenehmen Schweißgeruch.<br/>Lässt sich leicht verteilen, zieht schnell ein ohne Fettfilm zu hinterlassen, pflegt die Haut.<br/>Duftet angenehm & nicht zu stark.
[[Mangobutter]] (0,15€)
Mangobutter verdickt die Creme, sodass sie sommerlichen Temperaturen nicht flüssig aus der Tube rinnt, sondern als Creme entnommen werden kann. Außerdem verbessert sie ungemein das Auftragegfühl- superangenehm! Sie zieht ausserdem schnell ein.
[[Stärke]] (0,10€)
Stärke verdickt die Creme & nimmt Feuchtigkeit auf.
[[Natron]] (0,04€)
''Achtung:'' Achtet darauf, möglichst fein pulverisiertes Natron zu kaufen (grobes hat eine Körnung ähnlich wie Salz & ist zu heftig für die Achseln)!
Natron wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & <div class="tooltip">desodorisierend
<span class="tooltiptext">geruchsneutralisierend</span></div>.
[[Limettenöl]] (0,15€)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Limettenöl wirkt gegen die <div class="tooltip">Transpiration
<span class="tooltiptext">=Schweißbildung (damit ist aber nur die Feuchtigkeit gemeint. Der Schweißgeruch entsteht erst durch Bakterien, die sich durch den Schweiß ernähren!)</span></div>.
__Alternative ätherische Öle__: Citronella, Eukalyptus, Fichtenöl, Kiefernnadel, Lavendel, Lemongras, Muskatellersalbei, Petitgrain, Salbei, Teebaum, Zypresse.
[[Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser, Kokosöl (<div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>), Natron (antibakteriell) & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 0,85€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst) für 50g Gesamtmenge. Stand August 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=340 src="https://share-your-photo.com/img/5139cfcac4.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann.
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieses Deos:'' Es schützt nicht nur vor unangenehmen Düften, sondern pflegt dabei auch noch die Achselhaut. Manche reagieren jedoch empfindlich auf das Natron. Natürlich auch als Fuß-Deo verwendbar :-) Diese Version ist für Tubenverwendung im Winter geeignet. Sie fühlt sich noch ein klein wenig "weicher" beim Verreiben unter den Achseln an- superangenehmes Auftragen :-). Und sie lässt sich viel feiner dosieren. Im Vergleich zur [[Deocreme im Döschen|Deocreme im Döschen- ideales Einsteiger-Rezept]] und zum [[Deostick]]. Mein momentaner Favorit im Winter.
''Meine Erfahrung damit:'' Die Grundversion dieses Deos benutze ich schon seit Jahren und bin absolut begeistert von der Wirkung und dem Duft. Endlich keine geröteten Achseln durchs Rasieren mehr und endlich in einer gut handhabbaren Tube :-) Und es hält sein eigentliches Deo-Versprechen: Unangenehme Körpergerüche einen ganzen Tag lang verhindern!<br/>Seit einigen Wochen nutze ich diese Variante mit Jojobaöl, um die Deocreme in einer Tube im Winter nutzen zu können. Bis jetzt habe ich keine Flecken in den Textilien. Getestet habe ich es bisher bei 16-21° Zimmertemperatur- Konsistenz ist perfekt.
''Anwendung:'' Achseln mit Wasser befeuchten, damit sich das Natron dort direkt auflöst. Sonst fühlt man ein leichtes "Scheuern" der Natronkörnchen. Das trocknet auch schnell wieder. Eine winzige Menge (ich brauche ca. die Größe von einer viertel Erbse) aus der Tube drücken und zügig unter den Achseln verteilen, da es bei Hautkontakt sehr schnell schmilzt.<br/>
''Wenn Dir dieses Rezept zu fettig ist'', kannst Du problemlos die Pulvermenge (Stärke & Natron) verdoppeln bis verdreifachen- habe ich schon ausprobiert, es wirkt genauso gut :-) Allerdings habe ich es noch nicht insoweit ausgetestet, ob es dann auch noch gut mit dem Tubedo rauszudrücken geht. Und es wird noch mehrere Wochen bis Monate dauern, bis ich das testen kann und ein entsprechendes Rezept erstellen kann. Musst Du also bis dahin ggf. selbst probieren.
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 5g, dann jedoch nicht aus der Tube pressbar)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 50 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /50* 17.2,2)</$calc>g [[Kokosöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /50* 8.3,2)</$calc>g [[Jojobaöl]] (!!)<br/> @@font-size:0.8em;(diese Menge ist für 16-21° Lagertemperatur. Erhöhe die Jojobaöl-Menge, wenn die Creme bei niedrigeren Temperaturen lagert)@@
* <$calc>round({{!!gesamtmenge}} /50* 15,2)</$calc>g [[Stärke]] (!!) @@font-size:0.8em;(ich nehm Kartoffelmehl, es geht aber jede Stärke)@@
* <$calc>round({{!!gesamtmenge}} /50* 10,2)</$calc>g [[Natron]] (!!)
* Max. <$calc>round({{!!gesamtmenge}} /50* 7,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /50* 0.31,2)</$calc>g) [[Limettenöl]] (!) @@font-size:0.8em;Geht auch: Eukalyptus, Lavendel, Teebaum, Salbei@@
* <$calc>round({{!!gesamtmenge}} /50* 6,2)</$calc>-<$calc>round({{!!gesamtmenge}} /50* 12,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /50* 0.27,2)</$calc>-<$calc>round({{!!gesamtmenge}} /50* 0.54,2)</$calc>g) [[Parfümöl|.ÄtherischeÖleParfümöle]] (?)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Jojobaöl'' & ''Kokosöl'' im feuerfesten Rührglas auf dem Herd schmelzen.<br/>Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist <div class="tooltip">(bei mir auf Stufe 2) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. Sonst gehen Inhaltsstoffe verloren!
# Wenn beides klar geschmolzen ist, vom Herd nehmen und erst ''Stärke'', dann ''Natron'' unterrühren (Natron soll nicht über 50° erhitzt werden).
# Bei Handwärme ''Limettenöl'' & ggf. ''Duftöle'' unterrühren.
# Bis es vollständig fest geworden ist, immer wieder umrühren, damit sich das Natron nicht absetzt (Festwerden geht sehr viel schneller im Kühlschrank- innerhalb ca. 30 Min. Ohne Kühlschrank kann es je nach Raumtemperatur ewig dauern).<br/>Falls es Dir zu schnell fest geworden ist und sich dadurch das Natron abgesetzt hat: Einfach bei Zimmertemperatur solange umrühren, bis es sich sozusagen wieder gut umrühren lässt und dann Kühl-Umrühr-Kühl-Prozedur wiederholen.
# Umfüllen in eine Tube.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* [[Tube (wiederbefüllbar)]] (es geht natürlich auch jede andere wiederbefüllbare Tube)
"""
''Ab wann verwendbar''
Nach ca. 1h (30 Minuten Aushärtung im Kühlschrank + ca. 30 Minuten "Auftauen" bei Zimmertemperatur) bzw. einen halben bis einen Tag Aushärtung bei Zimmertemperatur verwendbar.
Die Konsistenz kann sich je nach Zimmertemperatur ändern (Ideale Aufbewahrungstemperatur 16-21°. Bei >22° beginnt es flüssig zu werden mit teilweise abgesetztem Natron, bei <16° fest und nicht mehr aus der Tube pressbar- wird beim Verstreichen jedoch ganz schnell wieder flüssig).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kokosöl]] (0,29€)
Kokosöl wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & entzündungshemmend.<br/>Enthaltene Laurinsäure verhindert unangenehmen Schweißgeruch.<br/>Lässt sich leicht verteilen, zieht schnell ein ohne Fettfilm zu hinterlassen, pflegt die Haut.<br/>Duftet angenehm & nicht zu stark.
[[Jojobaöl]] (0,45€)
Jojobaöl gibt der Deocreme eine bessere Konsistenz, sodass sie bei 16-21° Lager-Temperatur nicht zu flüssig & nicht zu fest aus der Tube kommt, sondern als Creme entnommen werden kann. Außerdem verbessert sie ungemein das Auftragegfühl- superangenehm! Ausserdem zieht es schnell ein und wirkt haptisch nicht fettend.
[[Stärke]] (0,12€)
Stärke verdickt die Creme & nimmt Feuchtigkeit auf.
[[Natron]] (0,04€)
''Achtung:'' Achtet darauf, möglichst fein pulverisiertes Natron zu kaufen (grobes hat eine Körnung ähnlich wie Salz & ist zu heftig für die Achseln)!
Natron wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & <div class="tooltip">desodorisierend
<span class="tooltiptext">geruchsneutralisierend</span></div>.
[[Limettenöl]] (0,15€)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Limettenöl wirkt gegen die <div class="tooltip">Transpiration
<span class="tooltiptext">=Schweißbildung (damit ist aber nur die Feuchtigkeit gemeint. Der Schweißgeruch entsteht erst durch Bakterien, die sich durch den Schweiß ernähren!)</span></div>.
__Alternative ätherische Öle__: Citronella, Eukalyptus, Fichtenöl, Kiefernnadel, Lavendel, Lemongras, Muskatellersalbei, Petitgrain, Salbei, Teebaum, Zypresse.
[[Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser, Kokosöl (<div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>), Natron (antibakteriell) & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 1,05€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst) für 50g Gesamtmenge. Stand Mai 2019
<div style="clear:both;line-height:0px;"></div>
"""12% Natron
8% Zinkoxid
10% Kokosöl (erstmal __viel__ niedriger dosiert ausprobieren, da es sein könnte, dass es mit 10% eine feste Creme wird!!!)
2% ÄÖ
1,5% Panthenol
1% Konservierung
0,9% Xanthan
0,5% Sodium PCA
0,1% Natrosol
Rest Wasser. Du kannst den Gelbildner auch durch Tego CG90 1,5% oder Dermofeel GSC ersetzen, ist dann noch pflegender.
Erst WP mit dem Gelbildner ansetzen.
Den Rest dazu.
Ja Kokosöl sollte flüssig sein, fest kriegst Du es nur schwer eingearbeitet. :-)
Vielen Dank für das Rezept. :-) Das sind ordentliche Dosierungen. Mein Deo hat nur die halbe Menge an Natron und bisher auch nur 1% Zinkoxid.
Natürlich habe ich ein paar Fragen: Reicht das Kokosöl zum dispergieren vom Zinkoxid? Löst sich das Natron im Wasser komplett auf? Ist Natrosol ein guter Partner für Xanthan?
Natrosol stabilisiert das Xanthan. Ja das Kokosöl reicht mit dem Gelbildner. Beim Emu Tego CG 90 setzt sich das Zink ab und man muss ab und zu schütteln.
"""https://schwatzkatz.com/wirkungsvoller-deopuder-selbstgemacht/
Auf Natronbasis, hört sich super an!!
GGf. in einen befüllbaren Pinsel füllen.
Befüllbare Pinsel hier: https://www.parfums-alienor.com/Shop/Brush/SPC/Artikel/index.de.htm (Versand: 4,50 €, Versandkosten für Minis (Proben): 1,50 €, Ab 50 € Bestellwert liefern wir innerhalb Deutschlands versandkostenfrei.)
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<img width=250 src="https://share-your-photo.com/img/fe385a2259.jpg" style=" float:left;padding: 0 2em 0 0;"/>
"""
''Eigenschaft dieses Deos:'' Es schützt nicht nur vor unangenehmen Düften, sondern pflegt dabei auch noch die Achselhaut. Manche reagieren jedoch empfindlich auf das Natron. Natürlich auch als Fuß-Deo verwendbar :-) Und durch das Wachs schmilzt das Deo nicht einfach aus der Hülse heraus- im Sommer oder auf Reisen ein echter Vorteil.
''Meine Erfahrung damit:'' Die Grundversion dieses Deos benutze ich schon seit Jahren und bin absolut begeistert von der Wirkung und dem Duft. Endlich keine geröteten Achseln durchs Rasieren mehr und endlich in einem gut handhabbaren Deostick :-) Und es hält sein eigentliches Deo-Versprechen: Unangenehme Körpergerüche einen ganzen Tag lang verhindern!
In der Deostick-Variante nutzte ich es einige Monate (mit Bienenwachs) und einige Tage in dieser Rezept-Variante mit Beerenwachs + Kakaobutter. Bis jetzt keine Flecken in den Textilien, gutes Auftragsverhalten und wie gehabt, fantastische Wirkung & wunderbarer Duft :-) Getestet habe ich es bisher bei 20-26° Zimmertemperatur- Konsistenz ist perfekt.
''Anwendung:'' Achseln mit Wasser befeuchten, damit sich das Natron dort direkt auflöst. Sonst fühlt man ein leichtes "Scheuern" der Natronkörnchen. Das trocknet auch schnell wieder. Mit dem Drehrädchen das Deo ein Stückchen herausdrehen (ca. 1mm) und unter die Achsel streichen. Ggf. noch mit dem Finger verreiben.
''Wachsvarianten:''
Anfangs nahm ich [[Bienenwachs]] >regionale Zutat. Sie härtet den Stick gut. Allerdings nicht gut genug für hochsommerliche Zimmertemperaturen. Außerdem hinterlässt es ganz leichte Verfärbungen in den Textilien- nicht schlimm, aber vorhanden.
Momentan nehme ich [[Beerenwachs]] + [[Kakaobutter]] zum Härten >keine regionalen Produkte. Beerenwachs allein härtet den Stick nicht so gut, aber in Kombi mit Kakaobutter wunderbar- auch bei hochsommerlichen Zimmertemperaturen. Und Beerenwachs soll keine Flecken in den Textilien hinterlassen.
Eine weitere Möglichkeit wäre [[Carnaubawachs]] >auch keine regionale Zutat, aber durch seinen sehr hohen Schmelzbereich dürfte es den Stick auch bei hochsommerlichen Temperaturen bestens härten, selbst wenn er in der Sonne steht."""
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 6g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 24 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten'' (Gesamtmenge 24g für genau 2 Deostick-Hülsen á 15 ml)<br/>
* <$calc>round({{!!gesamtmenge}} /24* 3.6,2)</$calc>g [[Beerenwachs]] (!!)
* <$calc>round({{!!gesamtmenge}} /24* 3.6,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /24* 5.8,2)</$calc>g [[Kokosöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /24* 6.1,2)</$calc>g [[Stärke]] (!!) @@font-size:0.8em;(ich nehm Kartoffelmehl, es geht aber jede Stärke)@@
* <$calc>round({{!!gesamtmenge}} /24* 4.9,2)</$calc>g [[Natron]] (!!)
* Max. <$calc>round({{!!gesamtmenge}} /24* 3.36,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /24* 0.15,2)</$calc>g) [[Limettenöl]] (!)
* <$calc>round({{!!gesamtmenge}} /24* 6,2)</$calc>-<$calc>round({{!!gesamtmenge}} /24* 10,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /24* 0.27,2)</$calc>-<$calc>round({{!!gesamtmenge}} /24* 0.45,2)</$calc>g) [[Parfümöl|.ÄtherischeÖleParfümöle]] (?)
<br/><br/>
''Zubereitungszeit:'' Ca. 15 Minuten
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Beerenwachs'' im feuerfesten Rührglas auf dem Herd schmelzen.<br/>Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. Sonst gehen Inhaltsstoffe verloren!
# Wenn sie geschmolzen ist, dann Hitze etwas runterdrehen und ''Kokosöl'' mitschmelzen <div class="tooltip">(bei mir auf Stufe 1,5) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>.
# Wenn es geschmolzen ist, dann Hitze ausstellen und ''Kakaobutter'' mitschmelzen. In den letzten paar Sekunden Rührglas vom Herd nehmen- die Kakaobutter schmilzt in der Resthitze (Kakaobutter ist sehr hitzeempfindlich!). Ständiges Rühren hilft beim Schmelzprozess.
# Wenn alles geschmolzen ist, erst ''Stärke'', dann ''Natron'' unterrühren (Natron soll nicht über 50° erhitzt werden).
# Bei Handwärme ''Limettenöl'' & ggf. ''Duftöle'' unterrühren.
# Bis es vollständig fest geworden ist, immer wieder umrühren, damit sich das Natron nicht absetzt (Festwerden geht sehr viel schneller im Kühlschrank- innerhalb ca. 15 Min.).<br/>Falls es Dir zu schnell fest geworden ist und sich dadurch das Natron abgesetzt hat: Einfach bei Zimmertemperatur solange umrühren, bis es sich sozusagen wieder gut umrühren lässt und dann Kühl-Umrühr-Kühl-Prozedur wiederholen.
# Wenn es ausgehärtet ist, in 2 Deostick-Hülsen füllen (mach ich immer mit dem Doppelspatel).
<br/><br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* [[Doppelspatel]] (ersatzweise irgendetwas sehr schmales- max. 1cm breit zum Einfüllen)
* [[Wiederbefüllbare Deostick-Hülse]]
"""
''Ab wann verwendbar''
Nach ca. 75 Minuten (ca. 15 Min. Aushärtung im Kühlschrank + ca. 1h "Auftauen" bei Zimmertemperatur).
Die Konsistenz ändert sich nur bei starker Temperaturveränderung: >25° wird er zu weich & lässt sich dann nicht mehr gut verstreichen, <17° wird er zu hart und lässt sich nicht mehr gut verstreichen. Ideale Aufbewahrungstemperatur um die 19-23°).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Beerenwachs]] (0,29€)
Härtet den Stick und verhindert so das Schmelzen des Deos – im Sommer oder auf Reisen ein echter Vorteil. Außerdem lässt sich das Deo so einfach durch unter-den-Achseln-streichen aufbringen.
[[Kakaobutter]] (0,08€)
Härtet den Stick auch etwas- so lässt sich das Deo einfach durch unter-den-Achseln-streichen aufbringen. Außerdem pflegt sie die Haut und wirkt hautberuhigend.
[[Kokosöl]] (0,10€)
Kokosöl wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & entzündungshemmend.
Enthaltene Laurinsäure verhindert unangenehmen Schweißgeruch.
Lässt sich leicht verteilen, zieht schnell ein ohne Fettfilm zu hinterlassen, pflegt die Haut.
Duftet angenehm & nicht zu stark.
[[Stärke]] (0,05€)
Stärke verdickt die Creme & nimmt Feuchtigkeit auf.
[[Natron]] (0,02€)
''Achtung:'' Achtet darauf, möglichst fein pulverisiertes Natron zu kaufen (grobes hat eine Körnung ähnlich wie Salz & ist zu heftig für die Achseln)!
Natron wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & <div class="tooltip">desodorisierend
<span class="tooltiptext">geruchsneutralisierend</span></div>.
[[Limettenöl]] (0,11€)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Limettenöl wirkt gegen die <div class="tooltip">Transpiration
<span class="tooltiptext">=Schweißbildung (damit ist aber nur die Feuchtigkeit gemeint. Der Schweißgeruch entsteht erst durch Bakterien, die sich durch den Schweiß ernähren!)</span></div>.
__Alternative ätherische Öle__: Citronella, Eukalyptus, Fichtenöl, Kiefernnadel, Lavendel, Lemongras, Muskatellersalbei, Petitgrain, Salbei, Teebaum, Zypresse.
[[Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser, Kokosöl (<div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>), Natron (antibakteriell) & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 0,65€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst) für 24g Gesamtmenge. Stand August 2018
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
Siehe [[Panthenol]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte für die Seele:''<br/><br/>
<$list filter="[tag[Abgeschlagenheit]] [tag[Belebung]] [tag[Beruhigung]] [tag[Denkfähigkeit]] [tag[Erfrischung]] [tag[Gute Laune]] [tag[Konzentration]] [tag[Lustlosigkeit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte für die Seele:''<br/><br/>
<$list filter="[tag[Abgeschlagenheit]] [tag[Belebung]] [tag[Beruhigung]] [tag[Denkfähigkeit]] [tag[Erfrischung]] [tag[Gute Laune]] [tag[Konzentration]] [tag[Lustlosigkeit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
* [[Hair Repair / Haarspitzenfluid]]
** Mit Apfelessig auf pH 4-5 einstellen
** evtl. Weizenprotein / Nuratin P-Menge erhöhen auf empfohlene EK
** >>dann testen!!<br/><br/>
* [[Cremespülung für feines trockenes Haar]]
** nochmal rühren (Essig erstmal weglassen, pH der reinen Wasserphase testen und dann ggf. mit Apfelessig auf 4-5 einstellen).
** Außerdem: Weizenprotein / Nuratin P-Menge evtl. erhöhen, siehe empfohlene EK, genauso Vithaar & Seidenprotein
** >>dann testen!!<br/><br/>
* [[Zahnpasta]]
** Mit SCI (EK-Empfehlung?!?) statt Facetensid
** auf pH-Wert testen
** und evtl. Xylit auf bis zu 20% erhöhen
** >>dann testen!!<br/><br/>
* [[Antibakterielle Mundspülung- ideales Einsteiger-Rezept]]
** nochmal während der Herstellung auf pH-Wert testen<br/><br/>
* [[Deostick]] / [[Deocreme in der Tube (für Sommer)- ideales Einsteiger-Rezept]] / [[Deocreme im Döschen- ideales Einsteiger-Rezept]]
** Deo-FAQ bei allen Deo-Rezepten einarbeiten!<br/><br/>
* [[Body Melt]]
** Mit Jojobaöl & Allantoin<br/><br/>
* [[Scheuermilch]]
** Xanthan-Menge austesten, __abwiegen & aufschreiben!!__
** pH-Wert testen & aufschreiben
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Carthamus Tinctorius (Safflower) Oil
''Jodzahl:'' 138–152 (halbtrocken)
''Schmelzbereich:'' -13 bis -20°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' 0,5–1,5%
''Verseifungszahl:'' 188–194
__Normale bis fettige Haut, Mischhaut, bei unreinen Hautpartien.__
Distelöl fühlt sich in Cremes verarbeitet sehr "leicht" an und eignet sich besonders gut für Tagescremes und leichte Körperlotionen. Es ist auch für __leicht fettende oder unreine Haut__ besonders gut geeignet, da es eine leicht mattierende Wirkung hat, __sehr schnell einzieht (allerdings nicht tief)__, nicht fettet und keinen Film auf der Haut bildet.
Hast Du unreine, stark fettende Haut? Mische Distelöl mit einem entzündungshemmenden Öl mit α- und/oder γ-Linolensäure-Gehalt wie Hanföl, Johannisbeersamenöl oder einem anderen Öl mit stark antioxidativen Eigenschaften, z.B. Traubenkernöl, runde die Mischung evtl. mit Babassuöl oder Squalan als schnell spreitender Ölkomponente ab. Vitamin K zeigt sich wirksam in der Behandlung von Haut, die zu Couperose und Rosacea neigt; auch dunkle Augenringe, oft durch eine Schwäche des oberflächlichen Kapillarsystems der Haut verursacht, können von Vitamin-K-reichen Ölen profitieren.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Distelöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Distelöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/da0dc17b90.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ersatz'': Etwas schmales- max. 1cm breit! Brauchst Du aber auch nur zum Einfüllen in sehr schmale Behältnisse- wie z.B. Lippenpflegestift-Hülsen oder Deostick-Hülsen. Ist aber auch prima zum Umrühren.
''Erhältlich bei'': Ich habe meinen über Amazon gekauft.
<br/><br/>
''Für welche getesteten Rezepte benötigt:''
* [[Deostick]]
* [[Lippenpflegestift]]
<div style="clear:both;line-height:0px;"></div>
<$select tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidart1'>
<option>anionisch</option>
<option>kationisch</option>
<option>nichtionisch</option>
</$select>
Tensid-Rechner Data Rezeptplanung!!rezeptmengetensid: {{Tensid-Rechner Data Rezeptplanung!!rezeptmengetensid}}
Tensid-Rechner Data Rezeptplanung!!rezeptwastensid1: {{Tensid-Rechner Data Rezeptplanung!!rezeptwastensid1}}
Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid1: {{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid1}}
Tensid-Rechner Data Rezeptplanung!!tensid1: {{Tensid-Rechner Data Rezeptplanung!!tensid1}}
Tensid-Rechner Data Rezeptplanung!!tensidwastensid1: {{Tensid-Rechner Data Rezeptplanung!!tensidwastensid1}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Wenn Du eine spritzige, prickelnde Atmosphäre herstellen willst, die Dich über Deine alltäglichen Sorgen humorvoll lachen lässt, probiere diese aufheiternde Mischung gegen Lustlosigkeit und Müdigkeit."""
''Zutaten''
* 6 Tropfen [[Limettenöl]]
* 3 Tropfen [[Grapefruitöl]]
* 3 Tropfen [[Vanilleöl]]
* etwas Wasser
Alles miteinander vermischen.
__Tip:__ Limettenöl erfrischt und desinfiziert die Raumluft ähnlich gut wie Lemongrasöl.
''Alle getesteten Rezepte gegen Durchfall:''<br/><br/>
<$list filter="[tag[Durchfall]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Durchfall:''<br/><br/>
<$list filter="[tag[Durchfall]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Es schäumt, aber es gibt keine Schaumwolken, weil ich den Tensidanteil zugunsten des Ölanteils reduziert habe. Für ganz empfindliche Haut würde ich sogar noch mehr reduzieren.
Rezept
30% Jojobaöl
25% Sonnenblumenöl
20 % Plantapon ® SF
15% Reiskeimöl
2 % Seidenprotein
5 % Glycerin (99%)
1 % weiße Heilerde (Kaolin)
1% Milchprotein (haltbarer als Trockenmilch)
1% PÖ Torso
2 Tropfen Konservierung, z.B. Rokonsal-wegen des Wasseranteils im Plantapon-
Das Plantapontensid mit den Wirkstoffen sehr gut emulgieren und die Ölmischung unterrühren. Diese Mischung ergibt eine schöne Duschgelkonsistenz ohne weitere Zusätze.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=305 src="https://share-your-photo.com/img/d56deb0b35.jpg" style=" float:left;padding: 0 1em 0 0;"/>
''Eigenschaft dieses Duschbars:'' Da dieser Bar keine gesiedete Seife ist, bezeichne ich ihn lieber als "Duschbar". Er hat aber die gleiche Funktion, Optik & Handling wie eine Seife zum Duschen. Von der Optik her sieht er fast genauso aus, wie gewohnte Seife- nur die Farbe ist etwas "erdiger"- das liegt am Roggenmehl.<br/>
''Meine Erfahrung damit:'' Dieser Duschbar reinigt den Körper sehr gut, entfettet die Haut aber nicht. Im Normalfall entsteht nicht sehr viel, aber nach meinem Empfinden super angenehmer Schaum :-) Ich würde ihn als sehr weich & cremig bezeichnen.
''Unterschied zu Handwaschbars:'' Duschbars mache ich -im Gegensatz zu Handwaschbars- so hart wie nur möglich, dadurch verbraucht er sich wesentlich langsamer und die Schaumbildung ist trotzdem wunderbar. Und in Handwaschbars verwende ich lieber (Schaf-)Milchpulver anstatt Roggenmehl, das Milchpulver macht den Bar etwas glatter- finde ich beim Duschbar aber nicht notwendig.
''Anwendung:'' Wie "normale" Dusch-Seife auch.<br/>
__Hinweis:__ Je wärmer das Wasser ist und je weniger fettig / je trockener Deine Haut ist, desto mehr Schaum bildet sich!<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 10g, das wird wirklich ein winziges Pralinchen)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 55 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@<br/>
</div>
!!! ''Möglichkeit 1:''<br/>
(Bisher erst mit 20g getestet!)<br/><br/>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /55* 16.5,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 31.9,2)</$calc>g __pulverisiertes__ [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)<br>@@color:red;Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt. Deshalb: Vorsichtig & mit ruhiger Hand abwiegen!!@@
* <$calc>round({{!!gesamtmenge}} /55* 6.6,2)</$calc>g [[Roggenmehl]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /55* 0.22,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
* Farbe (z.B. [[Mica]]) (?)
* Ggf. Atemschutz (z.B. kleines Tuch), um Atemwegsreizungen durch das SLMI vorzubeugen
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Kakaobutter'' klar aufschmelzen.<br/>Nicht zu stark erhitzen <div class="tooltip">(bei mir auf Stufe 1,5-2) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. >Sonst ist es der Kakaobutter zu heiß- diese krisselt dann gerne aus und wird ggf. nicht mehr richtig fest, wenn sie zu lange & zu stark erhitzt wird!
# ''Herd ausstellen''.
# Ggf. ''Farbe'' zugeben (geht aber auch später- spätestens, wenn Du die Masse in die Form füllst). Menge nach Bedarf (bei Micas reicht oft schon 1 Messerspitze für eine pastellige Farbe).
# ''Roggenmehl'' & ''SLMI (Tensid)'' unterrühren.<br/>@@color:red;Langsam rühren!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@<br/>Nicht irritieren lassen: Du wirst denken, dass Du das Mehl & das SLMI niemals komplett untergerührt bekommst- aber es klappt! Einfach weiterrühren- es wird nach einigen Sekunden eine Masse ähnlich wie krümeliger Teig.
# Auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# @@color:red;Spätestens ab hier zügig arbeiten, da die Kakaobutter in diesem Rezept recht schnell anfängt zu härten.@@
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.<br/>Wenn Du eine Form mit Verzierungen hast wie bei den abgebildeten Bars, musst Du die Masse in die Vertiefungen eindrücken, da sie nicht fließfähig ist. Sonst entstehen kleine Löcher im fertigen Bar.
# Je nach Größe des Bars mind. 2 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst die Seife nun benutzen, sie wird jedoch noch härter, wenn Du sie noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
<br/>
!!! ''Möglichkeit 2:''<br/>
(Bisher nur mit pulverisiertem SLMI getestet! Ich kann leider nicht versichern, ob sich bei dieser Vorgehensweise / Wassermenge das SLMI in der Plättchenform auch löst). Nicht viel mehr Wasser nehmen, da der Bar sonst nicht fest genug wird! - Etwas weicher wird er aber auf jeden Fall.<br/>
Vorteil bei dieser Vorgehensweise: Du brauchst das SLMI nicht pulverisieren (weniger Abwasch, Arbeit & Staub).<br/><br/>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /55* 15.4,2)</$calc>g abgekochtes Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /55* 16.5,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 31.9,2)</$calc>g [[SLMI / SurfaLux palmölfrei (Tensid)]] in Plättchenform (!!)<br>
* <$calc>round({{!!gesamtmenge}} /55* 6.6,2)</$calc>g [[Roggenmehl]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /55* 0.22,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
* Farbe (z.B. [[Mica]]) (?)
* Ggf. Atemschutz (z.B. kleines Tuch), um Atemwegsreizungen durch das SLMI vorzubeugen
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Kakaobutter'' zusammen mit Wasser klar aufschmelzen.<br/>Nicht zu stark erhitzen <div class="tooltip">(bei mir auf Stufe 1,5) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. >Sonst ist es der Kakaobutter zu heiß- diese krisselt dann gerne aus und wird ggf. nicht mehr richtig fest, wenn sie zu lange & zu stark erhitzt wird!
# ''SLMI (Tensid)'' unterrühren bis es sich gelöst hat.
# ''Herd ausstellen''.
# Ggf. ''Farbe'' zugeben (geht aber auch später- spätestens, wenn Du die Masse in die Form füllst). Menge nach Bedarf (bei Micas reicht oft schon 1 Messerspitze für eine pastellige Farbe).
# ''Roggenmehl'' unterrühren. Es wird nach einigen Sekunden eine Masse ähnlich wie dickflüssiger Teig.
# Auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.
# Je nach Größe des Bars mind. 2 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst die Seife nun benutzen, sie wird jedoch noch härter, wenn Du sie noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
<br/>
!!! @@color:red;''Notfallrettung:''@@<br/>
Falls Dir die Kakaobutter beim Rühren doch zu schnell gehärtet ist und Du deshalb die inzwischen zu bröselige Masse nicht mehr gut in die Form gefüllt bekommst: Nach Durchhärtung (mind. 2h Kühlschrank) drückst / knetest Du mit Hilfe von ein ganz klein wenig Wasser die Masse mit allen Bröseln zu einer Kugel. Somit hast Du dann doch noch einen Duschbar- auch wenn dieser nicht sonderlich hübsch ist... ;-)<br/><br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 2 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 3-5 Tagen vorhanden (Kakaobutter härtet nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kakaobutter]] (0,42€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe. Hier v.a. als Trägermaterial eingesetzt, welches den Bar härtet. Und da Kakaobutter ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,94€)
Reinigt auf sehr milde Art die Haut und sorgt für den (cremigen) Schaum.
[[Roggenmehl]] (0,01€)
__Kurz__: Streckt den Bar, sorgt für besseren Schaum und pflegt die Haut / mildert das Tensid.
__Lang__: Viele Dusch- & Shampoobars haben Stärke mit drin- diese streckt den Bar einfach nur, ohne weitere Wirkung. Ich fand das blöd, dass diese Zutat sonst keine reinigende oder pflegende Eigenschaft hat. Da viele Menschen ihre Haare nur mit einem Roggenmehl-Wasser-Mix waschen (reinigende UND pflegende Wirkung), probierte ich diesen Mix auf der Haut aus >> sie fühlte sich weniger trocken an als vorher, also pflegt Roggenmehl auch die Haut. Beim Händewaschen habe ich bei einem Handwaschbar //mit// Roggenmehl genau den gleichen Verbrauch wie bei einem Bar //ohne// Roggenmehl.
Farbe (z.B. [[Mica]])
Durch das Roggenmehl im Rezept werden die Farben erdiger. Bei dem linken blauen Bar habe ich den mittleren Punkt ungefärbt eingefüllt, dann die umgebenden Punkte mit ca. 1 Messerspitze Mica "Malachgreen" gefärbt & eingefüllt und den Rest -ca. 90% der Masse- mit ca. 5 großen Messerspitzen Pigment "Blau" gefärbt & eingefüllt.
Den rechten wollweiß-türkisen Bar habe ich mit Mica marmoriert: Rezept fertig rühren, vor dem Einfüllen in die Form einen kleinen Teil der Masse abteilen und (stark) mit der Farbe einfärben (bei diesem habe ich in 1/3 der Masse 2 Messerspitzen Mica "Sea Dreams" vollständig eingerührt). Dann erst die ungefärbte Masse in die Form füllen, darauf die gefärbte Masse und diese dann wie Eischnee unterheben.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser die ätherischen Öle / Parfümöle.
''Haltbarkeit:'' So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 1,37€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst und ohne Farbe, da ich dafür die Gramm-Anzahl nicht abschätzen kann) für 55g Gesamtmenge. Stand Dezember 2019
<div style="clear:both;line-height:0px;"></div>
"""Das Duschgel hat 12 % waschaktive Substanzen. Es ist für normale bis leicht trockene Haut geeignet.
Zutaten für 200 g
Phase A:
108 g destilliertes Wasser
2 g Meersalz
4 g D-Panthenol
Phase B:
71 g Plantapon SF
8 g Haarsoft (Lamesoft PO 65)
Phase C:
40 Tr. Konservierungsmittel nach Wahl
ca. 48 Tr. Milch- oder flüssige Zitronensäure
ca. 40 Tr. ätherische Öle oder Parfümöle nach Wahl
Herstellung:
Salz und Panthenol im Wasser lösen.
Tenside mischen und Wasser langsam unter sanftem Rühren mit einem Spatel zugießen.
Mit Phase C ergänzen.
pH-Wert messen – er sollte 5 bis max. 5,5 betragen.
im Prinzip kann man jedes andere Tensid nehmen. Plantapon SF ist halt eine fertige Tensidmischung.
kann ich in dieses Rezept ein wenig Öl einbauen.?
ein bisschen Öl kannst du bestimmt einbauen. Ich fürchte aber, dass das alleine nicht das cremige Gefühl hervorruft.
"""Das beste für trockene haut und garantiert nicht austrocknend ist ein gemisch aus öl, glycerin und tensid.
Meine freundin mit sehr trockener haut schwört dabei auf türkisch rotöl. Aber ich finde es geht auch mit jedem anderen tensid.
10% tensid nach
10-20% glycerin
80-90% öl
duft nach wunsch, konserviert werden braucht nicht. Sehr schön macht sich auch noch 6-10% lecithin dazu, die menge dann vom öl abziehen. Das duschöl muß aber vor gebrauch geschüttelt werden!
wie wäre es noch mit deinen beiden Lieblingshydratisierern,die ich selber auch wieder neu entdeckt habe.
Also noch zusätzlich Glycerin und etwas Wasser mit NL und ML, das die Agressivität des Tensids wirklich mildert.
55% Öl (in Anlehnung an das Duschöl von N....a )
15% Tensid (z.B. Betain u. Coco oder auch Plantapon)
15% Wasser
10% Glycerin
4% Natriumlactat
1% Milchsäure
Die geringe Menge an Wasser und die 10% Glycerin erübrigen eine zusätzliche Konservierung. pH Wert sollte um 5.5 liegen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:white;">
Eine Textbox wie die gelbe "Zutatenlegende" kannst Du erstellen mit:
```
<div style="float:right;margin-right:2em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(!!) = muss auf jeden Fall rein, Menge leicht variabel<br/>
(!) = sollte rein, Menge variabel<br/>
(?) = kann je nach Wunsch rein, Menge variabel@@
</div>
```
!!wird zu
<div style="float:right;margin-right:2em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(!!) = muss auf jeden Fall rein, Menge leicht variabel<br/>
(!) = sollte rein, Menge variabel<br/>
(?) = kann je nach Wunsch rein, Menge variabel@@
</div>
Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text. Hier steht dann der Text.
<br/>
!!!''Oder eine links ausgerichtete Textbox mit''
```
<div style=
"float:left;margin-right:1em;background-color:orange;
border-top: dotted;
border-right:3px solid red;
border-bottom:8px groove;
border-left:5px double;">
''Textbox''<br/>
Text hier drinnen
</div>
```
!!wird zu
<div style=
"float:left;margin-right:1em;background-color:orange;
border-top: dotted;
border-right:3px solid red;
border-bottom:8px groove;
border-left:5px double;">
''Textbox''<br/>
Text hier drinnen
</div><br/><br/><br/>
!Wichtig!!:
Falls die Textbox über den Tiddler hinausragt, musst Du am Ende des Tiddlers folgendes eingeben: `<div style="clear:both;line-height:0px;"></div>`<br/><br/>
''Anleitung mit Beispielen / Ideen für CSS-Styling: https://www.w3schools.com/css/css_examples.asp''
<div style="clear:both;line-height:0px;"></div>
"""Öl-in-Wasser-Emulsionen sind in der Regel unproblematisch. Kältestabiler werden sie mit einer geringen Menge Gelbildner (Xanthan, Guarkernmehl oder eine Mischung aus beiden, ca. 0,2% auf die Gesamtmenge). Wenn die Konsistenz nach dem Auftauen gelitten hat, kannst Du das Produkt durch Schütteln wieder ins Lot bringen oder indem Du das Produkt mit einem desinfizierten Glasstab / Spatel / Löffel durchrührst.
Wasser-in-Öl-Emulsionen trennen sich meist; die inneren Tröpfchen vergrößern sich durch den Wechsel des Aggregatzustands, kristallisieren aus und lösen sich aus dem stabilen Emulsionsverbund.
Ich habe schon erfolgreich eingefroren & wieder aufgetaut:
[[Deocreme im Döschen- ideales Einsteiger-Rezept]],
[[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]],
[[Deostick]],
[[Zahnpasta]],
alle Handwaschbars.
<div style="background:Lavender;">
<div style=> </div>
!!Tags: A-Z, Farbe, Lavender, PT.Zutaten
<img width=350 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>"""
''Art / Konsistenz der Zutat:'' Farbe, Pulver, ''Löslichkeit:'' Wasserlöslich. In geringer Menge Öl konnte ichs relativ gut lösen, in größerer Menge geschmolzenen Fetten (Kakaobutter & Sheabutter) jedoch kaum.
''Ursprung/Beschreibung:'' Diese Pigmente eignen sich zum Färben von Seifen & Dusch- / Handwasch- / Shampoobars, Bodylotions und LIppenpflegeprodukte sowie zur Herstellung von Schminkprodukten.
''Der Schaum von Seifen & Dusch- / Handwasch- / Shampoobars bleibt weiß, zumindest solange Du den Bar nicht sehr stark einfärbst. Bei z.B. sehr starker blauer Einfärbung wird der Schaum ganz leicht hellblau.''
''Die Pigmente lassen sich untereinander mischen.''
''Duftprofil:'' Geruchlos
''Haltbarkeit (nach Öffnung):'' Sehr lange- es steht kein MHD drauf.
''Lagerung:'' trocken, sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], außer Drogerien und Biomärkten. Ich kauf meines bei Alexmo (https://www.alexmo-cosmetics.de/Eisenoxid-Pigmente).
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Mica]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Mica]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
```
<style>
.tooltip {
position: relative;
display: inline-block;
}
.tooltip .tooltiptext {
width: 120px;
top: 100%;
left: 50%;
margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}
.tooltip .tooltiptext {
visibility: hidden;
width: 220px;
top: 100%;
left: 50%;
margin-left: -80px; /* Use half of the width (120/2 = 60), to center the tooltip */
background-color: purple;
color: white;
text-align: center;
border-radius: 6px;
padding: 5px 0;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
</style>
<div class="tooltip">[img width=80 [http://up.picr.de/31673564lz.jpg]]
<span class="tooltiptext">Deocreme- ideales Einsteiger-Rezept!</span>
</div>
```
!!wird zu:
<style>
.tooltip {
position: relative;
display: inline-block;
}
.tooltip .tooltiptext {
width: 120px;
top: 100%;
left: 50%;
margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}
.tooltip .tooltiptext {
visibility: hidden;
width: 220px;
top: 100%;
left: 50%;
margin-left: -80px; /* Use half of the width (120/2 = 60), to center the tooltip */
background-color: purple;
color: white;
text-align: center;
border-radius: 6px;
padding: 5px 0;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
</style>
<div class="tooltip">[img width=80 [http://up.picr.de/31673564lz.jpg]]
<span class="tooltiptext">Deocreme- ideales Einsteiger-Rezept!</span>
</div>
<br/><br/><br/>
▼▼▼
```
<div class="tooltip">[img width=80 [http://up.picr.de/31673564lz.jpg]]
<span class="tooltiptext">Deocreme- ideales Einsteiger-Rezept!</span>
</div>
```
kannst du nun mit allen möglichen Elementen wiederholen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten- wie zum Beispiel Öl & Wasser, zu einem fein verteilten Gemisch- der sogenannten Emulsion, zu vermengen und zu stabilisieren.
Beachte bei einer Rezeptänderung / Rezept-Entwicklung bitte, ob Dein gewünschter Emulgator ein O/W- oder W/O-Emulgator ist und welchen pH-Wert er braucht!
Übrigens: Sobald Du ein oder mehrere Tenside in Deinem Rezept hast, brauchst Du nicht mehr zwingend einen Emulgator. Denn Tenside wirken auch emulgierend- sonst könnten sie keinen Schmutz entfernen.
Auch sinnig, nochmal zu lesen für eine längere Erläuterung: "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]"""
!!Für die getesteten Rezepte brauchst Du folgende Emulgatoren:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Emulgatoren]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Emulgatoren]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Die erwähnten Emulgatoren kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Emulgatoren]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
!!Für die getesteten Rezepte brauchst Du folgende <div class="tooltip">Emulgatoren
<span class="tooltiptext">@@font-size:0.7em;Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten- wie zum Beispiel Öl & Wasser, zu einem fein verteilten Gemisch- der sogenannten Emulsion, zu vermengen und zu stabilisieren.@@
</span>
</div> / <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>:
''Für die getesteten Rezepte brauchst Du folgende Buttern:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Buttern]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Buttern]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Buttern kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Buttern]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
------------------------------------------------------------------------------------
"""Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten- wie zum Beispiel Öl & Wasser, zu einem fein verteilten Gemisch- der sogenannten Emulsion, zu vermengen und zu stabilisieren.
Beachte bei einer Rezeptänderung / Rezept-Entwicklung bitte, ob Dein gewünschter Emulgator ein O/W- oder W/O-Emulgator ist und welchen pH-Wert er braucht!
Übrigens: Sobald Du ein oder mehrere Tenside in Deinem Rezept hast, brauchst Du nicht mehr zwingend einen Emulgator. Denn Tenside wirken auch emulgierend- sonst könnten sie keinen Schmutz entfernen.
Auch sinnig, nochmal zu lesen für eine längere Erläuterung: "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]"""
''Für die getesteten Rezepte brauchst Du folgende Emulgatoren:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Emulgatoren]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Emulgatoren]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Emulgatoren kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Emulgatoren]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Verdicker / Gelbildner:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Verdicker / Gelbildner]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Verdicker / Gelbildner]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Verdicker / Gelbildner kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Verdicker / Gelbildner]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Wachse:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wachse]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Wachse]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Wachse kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wachse]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""1 gehäufter Eßlöffel Pfefferminzblätter
1 gehäufter Eßlöffel Lavendelblüten
1 gehäufter Eßlöffel Kamillenblüten
1 gehäufter Eßlöffel Lindenblüten
Zubereitung:
Alle Zutaten in einen Mixer geben und gut durchmixen. Danach zur längeren Aufbewahrung in eine Dose geben.
Anwendung:
Pro Vollbad etwa ein gestrichener Eßlöffel der Mischung in einen Feinstrumpf geben und den Feinstrumpf zuknoten. Nun den Strumpf unter den Wasserhahn hängen, damit das warme Wasser gleich darüber läuft.
"""3 Essl. Salz aus dem toten Meer (oder anderes)
2 Essl. Molkepulver
1 Essl. Mandelöl
7 Tropfen ÄÖ Rosenholz
3 Tropfen Duftöl Kokos
Ich habe das Salz (2/3) und das Molkepulver (1/3) schon vorgemischt in einem Einmachglas. Für das Bad gebe ich dann nur noch das Öl mit den Düften in die Wanne dazu.
Das riecht so gut, da könnte ich in der Wanne einschlafen
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte zur Erfrischung:''<br/><br/>
<$list filter="[tag[Erfrischung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Erfrischung:''<br/><br/>
<$list filter="[tag[Erfrischung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Erkältung:''<br/><br/>
<$list filter="[tag[Erkältung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Erkältung:''<br/><br/>
<$list filter="[tag[Erkältung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""45 gr mandelöl
45 gr olivenöl
10 gr Lysolecithin (oder 15g, wenn ich nicht soviel Wanne-putzen will)
je 10 tr äö eucalyptus, thymian, kampher, speicklavendel, fichtennadel.
Oder an Ölen nur 90g Olivenöl
die menge reicht mir für 2 vollbäer. die fetten öle habe ich nach persönlicher vorliebe gewählt und sind sicher austauschbar.
da eh schon kampfer mit drin ist in der mischung , ist es nicht so schlimm, wenn der speicklavendel fehlt. den habe ich wg dem hohen kampfergehalt ausgesucht. eliane zimmermann empfiehlt ihn unter anderem in ihrem buch.
Krauseminze solltest du nicht für ein Badeöl nehmen. Mit Minzöl im Badewasser kann dir sehr schnell kalt werden. Dieser Effekt wird vor allem durch das enthaltene Menthol verursacht.
Mir hilft bei Erkältung Cajeput gut. Cajeput ist übrigens ein tolles ätherisches Öl, angenehm auch für Kindernasen :)
"""5 gr. Lanolin anhydrid
5 gr. Mandelöl
5 gr. Sheabutter
10ml Wasser
1 kl. ML Borretschöl
10 Tr. äth. Eukalyptusöl (Eukalyptus globulus,- ist sehr geruchtsmild, deswegen die Hohe Dosierung)
5 Tr. äth. Fichtennadelöl
2 Tr. Zimtrindenöl (Mein Schatz will es warm haben, wenn er krank ist,- und er liebt Zimt!)
3 Tr. Biokons
Ergibt einen sehr ergiebigen Balsam der köstlich nach Zimt duftet und jede Erkältung versüsst.
"""Lavendel-Massageöl von Weleda. Ich habe und mache hier immer noch einen Brustwickel damit. Das hat noch immer geholfen.
Lavendelöl (also das fertige, nicht äth. Lavendelöl) auf die Brust und den Hals großzügig verteilen. Heißes, feuchtes Tuch auflegen, darauf ein trockenes Tuch, darauf eine Wärmflasche. Gut zudecken und lange drauf lassen (Zeit zum Märchen vorlesen )
Wenn der Wickel abkommt, gut zudecken und die Wärmflasche noch drauf lassen.
Der Lavendel entspannt die Bronchien und Schleim kann abfließen.
Lavendelwickel mache ich zwei Mal täglich.
aber Schwarzkümmel und Lavendel kannst Du bei Bedarf im akuten Stadium zwei bis dreimal machen.
Schwarzkümmelöl, Cajeput und Lavendel kannst Du auch bei Kindern verwenden. Fenchelöl süß und Kiefer auch. Das Problem ist allerdings, dass heutzutage immer mehr Kinder allergisch reagieren. Damit es für die kleine Nase nicht so heftig stinkt kannst Du noch benzoe, Vanille, Tonka, Mandarine rot oder Zitrone, Grapefruit mit reinmischen. Die Dosierung bei solch kleinen Kindern ist höchstens ein Viertel der EK als beim Erwachsenen. Du kannst aber auch mit der Duftlampe testen, ob das Kind sich damit wohlfühlt bevor Du es einschmierst. Eukalyptus und Thymian lieber nur in der Duftlampe, oder wenn das Kind schon im schulflichtigen Alter ist. Aber Tee kannst Du damit machen. 1 TL auf eine Kanne reicht.
das Buch "SOS Hustenzwerg" daheim und da wird ein Brustbalsam für Kinder ab 3 Jahren beschrieben.:
20ml Mandelöl und 10ml Calendulaöl werden mit 3 Tropfen Cajeput, 2 Tropfen Lavendel fein und 3 Tropfen Orange süß vermischt.
Schwarzkümmelöl ist auch für Neurodermitiker geeignet und zusätzlich eine sehr gute Basis für einen Bronchitisbalsam der für Kinder sein soll. Calendulaöl ist auch ein tolles Öl für die Kinderpflege, unterstützt aber nicht die Wirkung bei Erkältungskrankheiten.
Meine Kinder ( fast 2 und 3,5) hatten gerade eine spastische Bronchitis. Was uns toll geholfen hat, war Ingwermehl aus der Apotheke. Daraus 1 TL Mit etwas warmem Wasser anrühren und einen feuchten Brustwickel wie oben schon beschrieben machen. Das lockert den Husten und er war ganz schnell weg. Vor dem Schlafen hab ich zur Beruhigung der Bronchien Lavendelwickel gemacht. Es war sensationell in Kombination.
Ich werf mal "abgespeckte" Majoranbutter nach dem Vorbild Forum Essentia in die Runde.
Mittlerweile hab ich die nach unseren Bedürfnissen abgewandelt:
ich neme eine 10 ml Tropfflasche , da tropfe ich je 1 Tropfen ÄÖ Majoran, Thymian, Myrte und 2 Tr. lavendel rein und fülle mit Jojobaöl auf. Das ist die verdünnte ÄÖ-Mischung auf Vorrat, die sich gut dosieren lässt.
Dann nehme ich eine wasserfreie (!) Salbengrundlage
Z.B. Lanolin anhydrat (bei Schnupfen mit 4% D-Panthenol kalt verrührt) oder
BioVaseline ö.ä.
Da rühre ich je nach gewünschtem ÄÖ-Gehalt dann die obige Mischung kalt ein.
bis ca. zum 2. LJ habe ich auf 5 ml Salbengrundlage 1 Tropfen der verdünnten ÄÖ-Mischung genommen.
Im Alter von 4 Jahren waren wir bei 3 Tropfen und 1 in der Verdampferschale auf der Heizung.
Dann natürlich feuchte Tücher aufhängen und mit Kochsalzlösung inhalieren.
Das hilft bei meinen Olchis immer und auch ich schmier mir das Zeug v.a. bei Schnupfen direkt an die Nase, hilft nämlich auch prima gegen Wundschneuzen und bei den Kids im Winter gegen Leckekszem
\define addPrefix() +[tag[
\define addSuffix() ]]
\define finalFilter() [all[tiddlers]] $(myfilter2)$ +[regexp[^$(additionalCriteria)$]]
@@color:red;''Gefundene Tiddler (also z.B. Rezepte oder Zutaten) werden am Ende dieses Tiddlers angezeigt!''@@<br/>
Ganz unten (am Ende der lilafarbenen Box) kannst Du die gefundenen Tiddler auch noch nach Anfangsbuchstaben filtern.
<div style="background:plum;"><br/>
<div style="text-align: center;font-size:1.4em;">''__Rezepte suchen__ anhand von Tags''</div>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSG&W" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSG&W" setTo="show">Zeige Tags für @@color:green;"Gesundheit & Wohlbefinden"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSG&W" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSG&W" setTo="hide">Verberge Tags für @@color:red;"Gesundheit & Wohlbefinden"@@</$button>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSAll" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSAll" setTo="show">Zeige Tags für @@color:green;"Allergien"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSAll" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSAll" setTo="hide">Verberge Tags für @@color:red;"Allergien"@@</$button>
<$list filter="[tag[Allergien]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSFdS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSFdS" setTo="show">Zeige Tags für @@color:green;"Für die Seele"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSFdS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSFdS" setTo="hide">Verberge Tags für @@color:red;"Für die Seele"@@</$button>
<$list filter="[tag[Die Seele]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSHP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSHP" setTo="show">Zeige Tags für @@color:green;"Hautprobleme"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSHP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSHP" setTo="hide">Verberge Tags für @@color:red;"Hautprobleme"@@</$button>
<$list filter="[tag[Hautprobleme]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSVMDE" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSVMDE" setTo="show">Zeige Tags für @@color:green;"Probleme betreffend Magen / Darm / Verdauung / Essen"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSVMDE" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSVMDE" setTo="hide">Verberge Tags für @@color:red;"Probleme betreffend Magen / Darm / Verdauung / Essen"@@</$button>
<$list filter="[tag[Magen/Darm/Verdauung/Essen]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSPMZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSPMZ" setTo="show">Zeige Tags für @@color:green;"Probleme betreffend Mundraum & Zähne"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSPMZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSPMZ" setTo="hide">Verberge Tags für @@color:red;"Probleme betreffend Mundraum & Zähne"@@</$button>
<$list filter="[tag[Mundraum/Zähne]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSREG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSREG" setTo="show">Zeige Tags für @@color:green;"Rachen / Erkältungs- & Grippesymptome"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSREG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSREG" setTo="hide">Verberge Tags für @@color:red;"Rachen / Erkältungs- & Grippesymptome"@@</$button>
<$list filter="[tag[Rachen/Erkältungs-&Grippesymptome]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSSUK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSSUK" setTo="show">Zeige Tags für @@color:green;"Sonstige Einsatzgebiete / Unwohligkeiten"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSSUK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSSUK" setTo="hide">Verberge Tags für @@color:red;"Sonstige Einsatzgebiete / Unwohligkeiten"@@</$button>
<$list filter="[tag[Sonstige Einsatzgebiete/Unwohligkeiten]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
</$reveal>
<line>
---------------------------------------------------------------------------------
</line>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSKP" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSKP" setTo="show">Zeige Tags für @@color:green;"Körperpflege"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSKP" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSKP" setTo="hide">Verberge Tags für @@color:red;"Körperpflege"@@</$button>
<$list filter="[[Körpergeruch]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
<$list filter="[[Körperreinigung]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/><br/>
''Haarpflege:'' <$list filter="[tag[Haarpflege]![$:/temp/pptg-taggroup]!tag[1RezeptGetestet]!tag[1RezeptNICHTgetestet]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/><br/>
''Hautpflege:'' <$list filter="[tag[Hautpflege]![$:/temp/pptg-taggroup]!tag[1RezeptGetestet]!tag[1RezeptNICHTgetestet]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/><br/>
''Zahnpflege:'' <$list filter="[tag[Zahnpflege]![$:/temp/pptg-taggroup]!tag[1RezeptGetestet]!tag[1RezeptNICHTgetestet]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<line>
---------------------------------------------------------------------------------
</line>
''<$list filter="[[Reinigung im Haushalt]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>''
<line>
---------------------------------------------------------------------------------
</line>
''Sonstiges im Leben:'' <$list filter="[tag[Sonstiges im Leben]![$:/temp/pptg-taggroup]!tag[1RezeptGetestet]!tag[1RezeptNICHTgetestet]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/><br/>
{{/%-------------------------------------------------------------------------%/}}
{{Rezepte kreieren / verändern anhand von Tags}}
{{/%-------------------------------------------------------------------------%/}}
''Rezepte nur mit bestimmtem Anfangsbuchstaben anzeigen'' @@font-size:0.8em;(Anfangsbuchstaben im Feld eintippen. Achtung: Case-sensitiv!)@@:
<$edit-text tiddler=additionalCriteria tag=input size=10 /><p/>
<$vars additionalCriteria={{additionalCriteria}}>
<div style="background:white;"><br/>
<$set filter="[field:criteria[yes]addprefix<addPrefix>addsuffix<addSuffix>]" name=myfilter>
<$wikify text=<<myfilter>> name=myfilter2 type=text>
<$edit-text tiddler="$:/temp/Erweiterte Suche per Multipler Tags Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Zutaten hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
Gewählte Tags: <$list filter="[field:criteria[yes]]" storyview="pop"><$set name="backgroundColor" value={{!!color}}><span style=<<tag-pill-styles>> class="tc-tag-label">
<$view field="title" format="text" />
<$button message="tm-remove-tag" param={{!!title}} class="tc-btn-invisible tc-remove-tag-button">×</$button></span>
</$set>
</$list>
<div style="display:inline;"><<show-system>></div>
<$button class="willkommenbutton">Öffne ''ALLE gefundenen'' Tiddler
<$list filter=<<finalFilter>>>
<$action-navigate $to=<<currentTiddler>> $scroll=no/>
</$list>
</$button>
<$count filter=<<finalFilter>> /> Gefundene Tiddler:
<$reveal type="nomatch" state="$:/state/SampleRevealMTSGefundene" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSGefundene" setTo="show">Zeige @@color:green;"Gefundene Tiddler"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSGefundene" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSGefundene" setTo="hide">Verberge @@color:red;"Gefundene Tiddler"@@</$button>
<$macrocall $name=list-links filter=<<finalFilter>> />
{{/%
</$wikify>
</$set>
</$vars>
%/}}
</$reveal>
@@font-size:0.85em;color:red;Klicke diesen "Zeige gefundene Tiddler" bitte erst, wenn Du einen Filter (Tag / Anfangsbuchstabe) gesetzt hast, damit nicht über 1000 Suchergebnisse gerendert werden müssen- das kann einen Browser sonst evtl. ärgern... ;-)@@
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
''Art / Konsistenz der Zutat:'' Flüssigkeit, ''Löslichkeit:'' Wasserlöslich
''INCI-Bezeichnung:'' Acetum
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Essig]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Essig]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/fa22987f4f.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ersatz'': Kannst Du ersatzlos streichen. Aber um hübsche abwischbare selbstklebende Etiketten (es gibt sogar welche, die spülmaschinenfest sind!) zu drucken, ist das schon toll.
''Erhältlich bei'': Ich hab den bei Amazon gekauft. Sicher auch bei Ebay. Es gibt Etikettendrucker von den unterschiedlichsten Herstellern mit unterschiedlichsten Funktionen.
<br/><br/>
''Für welche getesteten Rezepte benötigt:'' Potentiell für alle, die Du beschriften möchtest oder halt für keine.
<div style="clear:both;line-height:0px;"></div>
"""
Herstellung des Etikettenentferners
Zur Herstellung benötigst Du nur drei einfache Zutaten:
125g (1/2 cup) Backsoda
60 ml (1/4 cup) Öl*
3 TL Geschirrspülmittel
Alles wird miteinander vermisch und in einem verschließbaren Gefäß aufbewahrt. Bei beschichteten Etiketten sollte die oberste Schicht schon entfernt sein, damit die Mischung einwirken kann.
* Jedes Öl erfüllt hier seinen Zweck – das im Originalrezept angegebene Kokosöl ist mir für diesen Einsatz zu schade. Einfaches Pflanzenöl oder auch ein Rest Babyöl reicht völlig.
Anwendung des Etikettenentferners
Der Etikettenentferner wird einfach auf die betroffene Fläche aufgetragen, 5-10 Minuten einwirken gelassen und lässt sich dann in den meisten Fällen mit dem Finger unter fließendem Wasser abreiben. Je nach Art des Klebers muss mitunter der Fingernagel zum Einsatz kommen oder, bei sehr hartnäckigem Kleister, eine zweite Runde durchgeführt werden. Doch selbst wenn ich die Behandlung wiederholen muss ist das Ganze immer noch weit weniger aufwändig als bisherige Versuche, die oft mit verklebtem und anderweitig ruiniertem Fingernagel endeten.
Etiketten entfernen – noch einfacher
Inzwischen bin ich über eine noch praktischere Lösung gestolpert, Etiketten einfach und unkompliziert zu entfernen. Mit wenigen Tropfen Zitronenöl ist die Entfernung von Kleberesten jetzt ein Kinderspiel. Ich empfehle ein möglichst hochwertiges ätherisches Öl zu verwenden, da die günstigen Alternativen deutlich geringere Viskosität aufweisen. Sie bleiben so weniger gut an Ort und Stelle und man benötigt im Endeffekt deutlich mehr. Auch die Wartezeit verkürzt sich mit dem Öl!
Gib einfach genügend Tropfen des Zitronenöls auf das Etikett oder die Klebereste und verstreiche sie mit dem Finger so, dass die gesamte Fläche vom Öl bedeckt wurde. Klebereste können mit einem Stück Küchenrolle direkt entfernt werden. Wenn das Etikett noch intakt war, dann kann es jetzt abgezogen werden. Eventuell muss noch ein Tropfen aufgetragen werden, um die Reste vollständig zu entfernen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Eukalyptusöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Eukalyptusöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Eukalyptusöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""(Orangen)Terpene sind das stärkste Fettlösemittel überhaupt. Sie wird zur Entfernung von Schmier- und Motoröl eingesetzt, sowie bei der Entfernung von Harzen. Ich nehme immer eine 3 - 5 % Konzentration.
(achte beim Kauf, dass es die reinen Terpene sind. Sie sind farblos und flüssig wie Wasser).
Und wenn sie in einer Kunstoffflasche geliefert werden, dann fülle sie recht schnell in eine Glasflasche um. Nicht alle Materialien kann man problemlos mit ihnen putzen (oder wenn, dann nur stark verdünnt): bestimmte Kunstoffoberflächen (wie im Kühlschtank), Holz, Marmor, Granit.....
Bei Dragonspice gibt es auch Zetesol, aber leider nicht reine Orangenterpene, sondern Orangenodex. Das ist eine Mischung von Orangenterpenen und...keine Ahnung. Da sich mein Baccararose - Vorrat zur Neige geht, bin ich auf der Suche nach einem Anbietern von kleinen Chargen. In der Regel kann man es in einem Liter Gebinde kaufen. Doch das ist mir zuviel. Das würde für über 10 Jahre reichen und ich weiß nicht, ob es so lange haltbar ist. Deswegen wollte ich bei Dragonspice die Tage nach der Zusammensetzung von Orangenodex fragen.
Ich habe nach Deiner Antwort ein Datenschutzblatt von Herstellern gelesen und darin stand, dass Orangenterpene, bzw. das darin enthaltende Limonen für eineige Mikroorganismen in Gewässern giftig ist. Aber leider nicht in welchen Konzentrationen. Ich verbrauche pro Jahr ca. 70 - 80ml Orangenterpene für all meine Reiniger insgesamt. Bis dato hielt ich die Menge für zu gering, als dass sie Schaden anrichtet. Jeztz habe ich Zweifel. Ich ruf mal bei unseren Wasserwerken an und erkundige mich lieber.
ich verwende für fettiges Biozym F, meist pur, z. B. Backofen, Grillrost.
Eher pur zum putzen (z. B. Backofen) und als Vorwäsche. Reinigt sehr gut :) Hab mal gehört, dass es sich mit manchen tensiden nicht verträgt. Ins Spüli gebe ich es aber auch
"""30/70, 100gr=100%, alle angaben in prozent
2 dermofeel gsc palm oil free von alexmo
1 emik
1 lanolin
1 beerenwachs
1 bergamuls auch von alexmo
6 buttern
18 öl z.b. jojoba/avokado/neutralöl/sq
60 wasser/ hydrolat
10 extrakt/ oder wenn gewollt glycerin oder eine mischung von beidem
4tr milchsäure
16tr natriumlactat
10tr rokonsal
wenn gewünscht duft
<div style="background:White;">
!!Mit diesen Farben kannst Du Deine Produkte einfärben:
<$list filter="[tag[Farbe]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""https://www.shop.oekolab.de: Die haben unglaublich viele Farben, auch viiieeel mehr Micas- auch in kräftigem Blau!!
Blau, fettlöslich: https://www.behawe.com/#// (>Pigmente & Farben >Seifenpigmente & Farben >Ultramarinblau).
Außerdem:
Ich verwende jeweils die Dragocolor Farben von behawe. Das sind wasserlösliche Farben, die sich aber auch gut in Öl lösen.
Hab´s auch mit Dragocolor einfärben wollen. Alle Farben sind "schmutzig" geworden.
\define toc-caption()
<$list filter="[all[current]tag[Farbig]]" variable="dum">@@color:#09B9F7;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]tag[Wichtig]]" variable="dum">@@color:#ff66d9;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]tag[1RezeptGetestet]]" variable="dum">@@color:#61b616;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]tag[1RezeptNICHTgetestet]]" variable="dum">@@color:#ff944d;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]!tag[Farbig]!tag[Wichtig]!tag[1RezeptNICHTgetestet]!tag[1RezeptGetestet]]" variable="dum"><$view field="caption"><$view field="title"/></$view></$list>
\end
.tc-tagged-1RezeptGetestet .tc-tiddler-title {
background-color:#DFFE97;
}
.tc-tiddler-frame.tc-tagged-1RezeptGetestet {
background-color:#DFFE97;
}
.tc-tagged-1RezeptNICHTgetestet .tc-tiddler-title {
background-color:#FFE28C;
}
.tc-tiddler-frame.tc-tagged-1RezeptNICHTgetestet {
background-color:#FFE28C;
}
.tc-tiddler-frame.tc-tagged-Lavender {
background-color:Lavender;
}
.tc-tagged-Lavender .tc-tiddler-title { background-color:Lavender; }
.tc-tiddler-frame.tc-tagged-Flieder {
background-color: #ccb3ff;
}
.tc-tagged-Flieder .tc-tiddler-title { background-color: #ccb3ff; }
.tc-tagged-Farbig .tc-tiddler-title {
background-color: #09B9F7;
}
.tc-tagged-TagsHidden .tc-tags-wrapper {
display: none
}
.tc-tagged-TagsHidden .tc-titlebar { font-size: 25px; margin: 0px 0px -28px 0px; color: #911115; }
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
Zum Fensterputzen nehme ich Teebaumöl ... Davon einfach ein paar Tropfen ins Fensterputzwasser (klares Wasser ohne weitere Zutaten) und dann ganz normal Fenster putzen.
Gibt absolut saubere und streifenfreie Fenster, die ewig lang vor neuem Schmutz geschützt sind
Da reicht es dicke, zweimal im Jahr Fenster zu putzen.
Das Teebaumöl wird einfach ins klare Wasser gegeben. Es kommt nix dazu.
Nur mit der Wasser-Teebaumöl-Mischung Fenster putzen.
Allerdings sollte man mit einem trockenen Geschirrhandtuch nachwischen, da es sonst Streifen gibt.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=185 src="https://share-your-photo.com/img/bc8e4b4957.jpg" style=" float:left;padding: 0 1.5em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann.
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieses Fensterreinigers:'' Reinigt wunderbar und streifenfrei, wenn Du mit einem Fensterabzieher das Wasser abziehst.<br/>
''Meine Erfahrung damit:'' Benutze ich seit vielen Jahren mit Begeisterung, da so simpel...
''Anwendung:'' Wie jeder andere Fensterreiniger auch.<br/><br/>
''Zutaten & Zubereitungszeit:'' Ca. 1 Minute<br/>
* 1l Wasser
* ein paar Spritzer Spüli- ich hab noch nie gezählt, schätzungsweise 2-4 Spritzer
Mischen, fertig. Und losputzen ;-)"""
''Zubehörliste:'' /
''Ab wann verwendbar''
Sofort nach der Herstellung verwendbar. Die Konsistenz verändert sich auch nicht mehr.
''Gesamtkosten der Zutaten:'' Wenige Cent??
<div style="clear:both;line-height:0px;"></div>
''Hinweise, wenn Du ein fertiges Produkt im Nachhinein verändern möchtest''
* __Hast Du das Produkt schon konserviert (mit Zutaten, die als Konservierer gelten)?__
** __Achtung:__ Die Konservierung wird unwirksam, wenn Du noch eine Zutat dazu gibst!!<br/><br/>
* __Dein festes Produkt (z.B. <div class="tooltip">__Body Melt__
<span class="tooltiptext">Quasi eine "feste" Creme- sieht optisch aus wie ein Seifestück. Bei Hautkontakt schmilzt es und wird wie eine Creme verteilt. Ohne Wasseranteil.</span></div>) ist zu hart / zu weich geworden, Du möchtest ihn also wieder einschmelzen?__
** Wenn Du das Produkt wieder erhitzt (also einschmelzt), können Wirkstoffe verloren gehen!
*** Ätherische Öle verlieren ihre Wirkung, wenn sie wärmer als handwarm werden.
*** Öle / Fette verlieren ihre Wirkung, wenn sie über ihren Schmelzbereich erhitzt werden.
*** Konsistenzgeber (z.B. Kakaobutter!) können ihre konsistenzgebende Eigenschaft verlieren / verändern.
*** Bei anderen Zutaten ist es unterschiedlich- steht in den jeweiligen Zutaten-Portraits.<br/><br/>
* __Außerdem kann sich die Konsistenz unerwartet verändern__, wenn Du eine weitere Zutat im Nachhinein dazu gibst<br/><br/>
Es macht also nur Sinn, ein Produkt im Nachhinein zu verändern, wenn Du das Produkt nicht verschenken / verkaufen möchtest und Du Dir im Klaren darüber bist, dass es evtl. an Wirkung einbüßt und es auch sehr viel schneller verderben kann.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">"""
Wenn man in einer staubigen Umgebung arbeitet (auch wenn nur über kurze Zeit), verstopft gerne mal die Nase oder man hat dauernd festsitzende Popel- ohne unbedingt eine Erkältung oder Schnupfen zu haben.
Dagegen hilft es sehr gut, Fett / Öl in das entsprechende Nasenloch einzubringen.
Das kann Butter oder irgendein Speiseöl sein.
Eine kleine Portion davon auf den kleinen Finger geben und mit diesem im Nasenloch verteilen. Am besten vor dem Schlafengehen- so kann es über Stunden gut einwirken.
''Meine Erfahrung damit:'' Hat mir schon sehr oft geholfen. Ich bin immer mal wieder in einer staubigen Umgebung (staubiges Außengelände vom Kindergarten, Abschleifen von Holz, etc.). Tja, und trotz kräftigem Ausschnaubens ist meine Nase dann zu.
"""5 ml Avellanaöl
5 ml kaltgepresstes Nachtkerzenöl
2,5 ml kaltgepresstes Traubenkernöl
2,5 Mßl. Sheabutter unraff.
2,5 Mßl. Tegomuls
30 ml abgek. dest. Wasser
1 kl Mßl. Elastin
1 Mßl Fibrostimulin
1 Mßl Urea
1 kl Mßl Hyluronsäure oder 2 Mßl Hylurongel
1 Mßl Panthenol
Duft und Konservierung nach Wahl .
Fettphase schmelzen , die Wirkstofföle in die etwas abgekühlte Fettphase geben .
Die Wirkstoffe im Wasser auflösen und langsam unter rühren in die Fettphase geben .
Ich muss dazu sagen dass ich den Messlöffel von AoB habe und der fasst ja bekanntlich etwas weniger wie der normale .
Die Creme ist sehr feuchtigkeitsspendend und sehr ergiebig , man braucht nur wenig davon .
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""0,3 gr emik
4,2 gr Fettphase (je ein drittel mandel, softisan und traubenkern, ich bereite das auf vorrat zu)
0,5 MS xanthan transparent in
2,5 gr kamillenextrakt, 70%-ig lösen
23 gr kamillenhydrolat
wirkstoffe:
0,5gr Vitamin A (12 tr)
2,5 gr urea
0,7 gr d-panthenol
0,3 gr alpha-bisabolol (5 tr)
0,7 gr sorbit (glycerin ist auch gut)
1 tr milchsäure
2 tr natriumlaktat
je 1 tr äö manuka,kamille blau, lavendel (mach ich auch nur ab und zu
konservierung : 3tr biogard oder sonstiger konservierer
ich kann übrigens nur jedem urea empfehlen, das zeug war echt eine offenbarung für meine haut
"""25 g Wasser
1/2 ML Xanthan
Xanthan ins Wasser geben und kurz warten bis es eine gelige Konzistenz hat.
Wirkstoffe:
1/2 ML D-Panthenol
1 ML Vitamin-A-Acetat Fluid HT
1 ML Vitamin A-C-E Fluid HT
1/2 ML Vitamin E-Acetat
1 ML Gurkenextrakt
1 ML Plantessenz HT
15 Tr. Aloe Vera
1 Tr. Lavendelöl
Konservierung mit Heliozimt 2 Tropfen.
Alles einarbeiten und mit nem Milchschäumer gut verschäumen (gibts das wort ?) FERTIG
Dieses Fluid sieht eben nicht sehr appetitlich aus aber es hilft sehr gut !
"""kleiner ML 1 ml
großer ML 2.5 ml
Für 100 ml
2 große ML Neutralöl
1 große ML Natriumlaktat
5 Tr. Milchsäure
5 große ML Ethanol (96%)
1ML Glycerin
½ kleiner ML Panthenol
alles in eine Sprühflasche und auf 100 ml mit Lavendelhydrolat aufgefüllen. Und wer Kokoshydrolat hat,kann es ja mal auch damit versuchen. Laut Luna soll das die Haare besonders pflegen.
Schütteln nicht vergessen!
Und als Gesichtswasser kann man an es auch gleich benutzen. Ganz ideal nur pur für fettige Haut.
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/8e85159c87.jpg" style=" float:left;padding: 0 2em 0 0;"/><br/>
''Ersatz'': Marmeladenglas. Man kann auch ein anderes Behältnis aus Glas, Porzellan, Metall, oder ähnlich hitzefestem Material nehmen- sollte dieses nur evtl. nicht direkt auf die Herdplatte stellen, was man mit diesem feuerfesten Rührglas durchaus tun kann. __Das Behältnis sollte auf jeden Fall höher als breit sein.__
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], jedoch nicht in Drogerien & Biomärkten.<br/><br/><br/><br/>
''Für welche getesteten Rezepte benötigt:''
* [[Antibakterielle Mundspülung- ideales Einsteiger-Rezept]]
* [[Massagebar]]
* [[Handmelt (Handcreme am Stück)]]
* [[Cremespülung für feines trockenes Haar]]
* [[Deocreme im Döschen- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]
* [[Deostick]]
* [[Hair Repair / Haarspitzenfluid]]
* [[Handwaschbar für Handwerker, rückfettend]]
* [[Handwaschbar Kokos-Roggen ('Handseife')]]
* [[Handwaschbar Olivenschaf ('Handseife')]]
* [[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]]
* [[Lippenpflegestift]]
* [[Zahnpasta]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Fieber:''<br/><br/>
<$list filter="[tag[Fieber]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Fieber:''<br/><br/>
<$list filter="[tag[Fieber]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Ich habe 1 Jahr lang getestet, nach den verträglichsten Rohstoffen gesucht, und folgendes Rezept für sehr gut befunden:
50 g/20:80 (Fett/Wasser)
2 g Fluidlecithin Super
2 g Mangobutter
4 g Rapsöl kaltgepr. (Vit. K)
2 g Sojaöl kaltgepr.
1 g Vit E-Acetat
35 g Wasser
0,25 g Allantoin
0,5 g Grünteeextrakt (Pulver)
1 g Squalan
2 g Panthenol
5 Tr. Sanddornvollöl
2 Tr. ÄÖ Karottensamen
2 Tr. ÄÖ Immortelle
2 Tr. ÄÖ Zypresse
1 Tr. Milchsäure
9. Tr. Kalimsorbatlösung 1:5
Ev. noch 2 Msp. Xanthan zum Nachdicken.
Ich schmelze Fluidlecithin und Mangobutter zusammen im Wasserbad und gebe es in den Pumpspender. Die anderen Öle dazu. (Ev. noch mal erwärmen). Wasser leicht erwärmen und Allantoin und Grünteeextraktpulver lösen. In den Pumpspender füllen und die Wirkstoffe hinzufügen. Es tönt mit Sanddornöl auch leicht.
Dieses Fluid wirkt kühlend, glättend, glänzt nicht und zieht super ein.
Ich habe versucht nur Rohstoffe zu verwenden, die die Haut nicht "zudecken". Die Couperose verschwindet natürlich nicht, aber sie "versteckt" sich unter optimalen Bedingungen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
!!@@background-color:orange;color:red;''Neue Einsatzgebiete in den entsprechenden Oberkategorien als Tag in den automatischen Listen eintragen!!''@@
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
''Flüssige Handwaschseife mit Tensidmischung der Hobbythek (bekommst Du in Hobbythekläden und im Internet).''
Für 500ml Seife nimmst Du 250ml dieser Mischung und 250ml Wasser für eine 15%ige WAS-Lösung.
Man kann dann noch 1 Meßlöffel Harnstoff und/oder Allantion, Panthenol, Fluidlecithin (Rückfettung), Aloe Vera Gel ect. reintun. Geht aber auch ohne.
Du kannst auch mit anderen Tensiden Dir selbst was zusammenmischen (z.B. Collagentensid, Sanfteen, Facetensid, Zetesol) aber da braucht man dann die Verdünnungsverhältnisse.
''Duschgel für jeden Hauttyp''
__INFO:__ Eine Konservierung ist nur notwendig, wenn Lysolecithin eingearbeitet wird."""
Zutaten:
* 35 ml Betain
* 25 ml Collagentensid
* 1-2 Messl. Rewoderm
* 15 Tr. d-Panthenol
* 70 ml abgekochtes Wasser
* bei trockener Haut als Rückfettung zusätzlich 1 TL Lysolecithin
* konservieren z.B. mit 14 Tr. Biogard
"""__Zubereitung__
Das Wasser leicht erwärmen und die weiteren Zutaten der Reihe nach einrühren. Mit dem leicht erwärmten (Wasserbad) Rewoderm bestimmen Sie die Konsistenz des Duschgels. Da es etwas verzögert andickt, nach dem Einrühren kurz warten und noch einmal durchrühren. Mit einigen Tropfen Zitronensäure (Zitrone) den pH-Wert einstellen. Das Duschgel kann jetzt noch etwas nachdicken, daher vorsichtig mit der Rewoderm Menge umgehen. Lieber erst mit einem Messlöffel anfangen.
Zum Schluss parfümieren und eventl. konservieren."""
''Mildes Duschgel, rückfettend (230 ml)''
__Zutaten:__
* 50 ml Facetensid
* 10 ml Betain
* 2 TL Sanfttensid
* 1 TL ml Fluidlecithin Super, alternativ Haarsoft
* 5 ml Mandelöl
* 150 ml abgekochtes Wasser
* 12 ml Tensoderm
* einige Tropfen Kalkex oder Zitronensäure zur Einstellung des pH-Wertes
* 23 Biogard, alternativ 12 Tr. Rokonsal (pH-Wert mit Zitronensäure auf 5,4 einstellen)
"""__Herstellung:__
Verrühren Sie alle Zutaten, außer Rewoderm und Wasser, miteinander. Fügen Sie dann das lauwarme Wasser hinzu. Rühren Sie dann das lauwarme Rewoderm ein. Die Creme quellen lassen und nach 2-3 Minuten nochmals verrühren und gegebenenfalls noch etwas Rewoderm hinzugeben.
Bei einer Verarbeitung mit Fluidlecithin sollten Sie das Shampoo konservieren. Bei einer Konservierung mit Rokonsal muss der pH-Wert genau eingestellt werden.
__Herstellung eines Duschgels__
Erwärmen Sie den Verdicker Tensoderm vor der Einarbeitung immer etwas (Wasserbad) und arbeiten Sie mit lauwarmem Wasser. Nach dem Einrühren, die Mischung immer ca. 2 Minuten quellen lassen. Anschließend noch einmal gut durchrühren. Sollte das Shampoo zu dick geworden sein, mit etwas Wasser verdünnen. Bleibt das Shampoo zu flüssig, ist der pH-Wert falsch eingestellt, dann etwas Zitrone zu geben.
Bleibt es weiter flüssig, noch etwas Tensoderm unterrühren. Der pH-Wert sollte ca. 5,5 bis 6 betragen.
Shampoos und Duschgele ohne Fluidlecithin halten unkonserviert ca. 2 Monate, mit Fluidlecithin sind sie wesentlich empfindlicher. Hier empfehlen wir eine Konservierung mit Biogard (pro 10 ml 1 Tr. Biogard oder Rokonsal 1 Tr. auf 20 ml Endprodukt.)
''Schaumseife selber machen – geht das?''
Seit einiger Zeit findet man in Drogerie-Märkten und Online-Shops bei den Flüssigseifen auch Seifenspender, die die eingefüllte Flüssigseife in einen feinen Seifenschaum verwandeln. Nachfüllpackungen gibt es für die Schaumseife aber offenbar nicht, so dass man den gesamten Spender wegwerfen muss, wenn er leer ist. Das ist nur wenig umweltfreundlich. Also haben wir ausprobiert, wie man die Schaumseife selber machen und so etwas für die Umwelt und den Geldbeutel tun kann.
Wer häufig herkömmliche Flüssigseife benutzt, der hat es vielleicht auch schon beobachtet: Kinder haben damit häufig so ihre Schwierigkeiten. Die flüssige Seife kommt auf die Hand, es läuft Wasser darüber und die meiste Seife landet so sehr schnell im Abfluss. Auch so mancher Erwachsene macht das ähnlich. Das Ergebnis: Im Abflussrohr unter dem Waschbecken kann sich eine klebrige Masse aus Flüssigseife, Schmutz und Hautpartikeln bilden, die allmählich zur Verstopfung des Abflusses führen kann. Bei Schaumseife gibt es diese Probleme nicht. Da die Schaumseife einen hohen Wasseranteil besitzt, kann man sich damit sogar ganz ohne zusätzliches Wasser die Hände waschen.
Seifenspender nachfüllen
Schaumseifen wie „Palmolive Magic Softness“ (*) oder „Sagrotan Sanft zur Haut“ (*) werden in einem speziellen Seifenspender geliefert, der beim Drücken auf den Knopf die flüssige Seife mit Luft aufschäumt und in Seifenschaum verwandelt. Während normale Flüssigseife eher dickflüssig ist, ist die in den Schaumseifen-Spendern verwendete Seifen-Flüssigkeit sehr dünn. Aber: Ist die Original-Seife aufgebraucht, kann man sich sehr schnell seine Schaumseife selber machen. Die allermeisten Schaumseifen-Spender lassen sich nämlich aufschrauben und nachfüllen. Wir haben verschiedene „normale“ Flüssigseifen im Schaumseifen-Spender getestet. Tipp: Auch Duschgel (sogar seifenfreies) eignet sich in aller Regel sehr gut. Zu stark gefärbtes oder Creme-Duschgel sollte man allerdings nicht benutzen, da sonst der Seifenspender schnell verfärbt oder verschmiert wird. Egal welche Seife – man muss aufs Mischungsverhältnis achten. Die besten Ergebnisse haben wir mit einem Drittel Flüssigseife und zwei Dritteln Wasser erzielt.
Schaumseife selber machen – so geht’s:"""
# schrauben Sie den Schaumseifen-Spender auf
# füllen Sie etwa ein Drittel Flüssigseife ein
# geben Sie etwa zwei Drittel Wasser hinzu
# füllen Sie den Spender nicht bis oben sondern lassen Sie etwa einen Finger breit Platz
# schrauben Sie den Spender wieder zu
# drehen Sie den Spender vorsichtig um und schütteln ihn leicht
"""Fertig. Eventuell dauert es einige Waschgänge, bis sich die neue Schaumseife richtig verteilt hat. Wenn zuerst etwas „normale“ Flüssigseife aus dem Spender kommt, ist das völlig normal. Übrigens: Nach unseren Erfahrungen kann man einen Seifenspender mindestens zehn Mal nachfüllen, bis die Mechanik allmählich etwas müde wird. Geld gespart und etwas für die Umwelt getan hat man bis dahin aber in jedem Fall."""
@@background-color:orange;color:red;''Neue Zutaten in [[Zutaten (Palmölfrei)]] eintragen & in die beiden automatischen Listen dort als Tag eintragen!! Außerdem in den eventuellen Oberkategorien als Tag eintragen!!''@@
''Zutaten''
* [[Zutat]]
Alles miteinander vermischen.
__Tip:__
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
|!Gewünschte Formatierung|!Code|!Shortcut|
|''fett''|`''fett''`|`Strg+B`|
|.|~|~|
|__unterstrichen__|`__unterstrichen__`|`Strg+U`|
|.|~|~|
|~~durchgestrichen~~|`~~durchgestrichen~~`|`Strg+T`|
|.|~|~|
|//kursiv//|`//kursiv//`|`Strg+I`|
|.|~|~|
|^^superscript^^|`^^superscript^^`|`Strg+Shift+P`|
|.|~|~|
|,,subscript,,|`,,subscript,,`|`Strg+Shift+B`|
|.|~|~|
|`Dicktengleiche Schrift für 1 Zeile`|1 Accent grave vor & 1 nach dem Text|`Strg+M`|
|.|~|~|
|`Dicktengleiche Schrift für mehrere Zeilen`|3 Accent grave vor & 3 nach dem Text|`Strg+Shift+M`|
|.|~|~|
<br/>
''Text einrücken''
`:Text`
!!!wird zu
:Text
----------------------------------------------------------
''Zitat einfügen'' mit `3 < vor dem Text & 3 < nach dem Text`<br/>
(Shortcut: `Strg+Q`)<br/><br/>
__Beispiel:__
<<<
Zitat
<<<
----------------------------------------------------------
''Textformat mit vorangestellten ! definieren''<br/>
mit vorangestellten ! wird die ganze Zeile formatiert, mit `<h1> usw.` wird nur der Text bis `</h1>` formatiert!<br/>
|<h1>Header1</h1>|<h2>Header2</h2>|<h3>Header3</h3>|<h4>Header4</h4>|<h5>Header5</h5>|<h6>Header6</h6>|
|`!Header1`oder `<h1>Text</h1>`|`!Header2`oder `<h2>Text</h2>`|`!Header3`oder `<h3>Text</h3>`|`!Header4`oder `<h4>Text</h4>`|`!Header5`oder `<h5>Text</h5>`|`!Header6`oder `<h6>Text</h6>`|
<br/>
----------------------------------------------------------
!!!Textgröße eines Wortes, aber auch einer Textpassage ändern (ohne Auswirkung auf ganzen Tiddler):
Z.B.
`@@font-size:1.4em;[[Rezepte]]@@
@@font-size:0.8em;WeitererText@@`
!!!wird zu
<br/>
@@font-size:1.4em;[[Rezepte]]@@
@@font-size:0.8em;WeitererText@@
----------------------------------------------------------
"""
`@@background-color:darkorange;OrangerText@@`
=
@@background-color:darkorange;OrangerText@@"""
----------------------------------------------------------
"""
`@@color:green;Grünertext@@`
=
@@color:green;Grünertext@@"""
----------------------------------------------------------
"""
`@@font: 1.9em Plicata PERSONAL USE ONLY;line-height:1.0em;color:turquoise;DeinTextHier@@`
=
@@font: 1.9em Plicata PERSONAL USE ONLY;line-height:1.0em;color:turquoise;DeinTextHier@@"""
----------------------------------------------------------
"""
''Text right-aligned'' (oder center oder left):
`<div style="text-align: center"> TextMittig </div>` =
<div style="text-align: center"> TextMittig </div>"""
----------------------------------------------------------
"""
`{{/% Versteckter Text %/}}` ={{/% Versteckter Text %/}}
"""
----------------------------------------------------------
Wenn Du leeren Platz zwischen Wörtern brauchst, dieses aber nicht mit Leerzeichen klappt (z.B. aufgrund irgendeines Kommandos), so kannst Du das mit ` ` machen. Jedes ` ` erzeugt ein Leerzeichen, also erzeugt z.B. ` ` 3 Leerzeichen.
So wird aus `Wort Wort` das hier: Wort Wort
----------------------------------------------------------
''Horizontale Linie einfügen:''
`---`
=
---
Anleitung mit Beispielen / Ideen für CSS-Styling: https://www.w3schools.com/css/css_examples.asp
"""5 % Rosskastanienextrakt
5 % Mäusedornextrakt
5 % Arnikaextrakt
und/oder: 5 % Rotes-Weinlaub-Extrakt
5 % Urea
5 % Glyzerin
2,5 % Natriumlactat
0,5 % Milchsäure
Rest beliebiges Hydrolat auf 100 %
10 Tr. ÄÖ Krauseminze
einige Kristalle Menthol nach Belieben..muss man sich herntasten..
kons. mit 1-2 % A-kons oder auch Leucidal..
Wunderbar erfrischend und kühlend!
"""Einige Glasmurmeln im Fußbad wirken an der Fußsohle wie eine leichte Massage.
Die pflegende Kakaobutter sorgt für die notwendige Rückfettung.
Gesamtmenge: 100 g – 6 Stück
50.0 g Haushaltsnatron
25.0 g Zitronensäure
10.0 g Stärke
10.0 g Rügener Heilkreide
4.5 g Kakaobutter
0.5 g Dermofeel PP ((Emulgator)
4-6 Tropfen flüssige, wasserlösliche grüne Lebensmittelfarbe
25 Tropfen Pfefferminzöl
10 Tropfen Lemongrasöl
Etwas Menthol macht sich übrigens auch ganz gut.
eventuell einige Sprühstöße Melissengeist
Gefärbte (mit Seifenpigmenten) Ureaperlen und Ringelblumenblätter als Topping.
Kann mir jemand sagen wie ich meine Mentholkristalle da hineinarbeiten kann?? Muß ich die vorher auflösen oder soll ich die einfach in den ganzen "Teig" so wie sie sind hineingeben???
Die mentholkristalle kannst im ätherischen öl auflösen .... ich würde sie vorher etwas mörsern, dann lösen sie sich besser, weil es ja nicht sooo viel äö ist.
wie viel Menthokristalle habt ihr denn gemörsert bei der Masse?
So 0,5 - 1 g würde ich sagen.
kann ich Dermofeel mit Lysolecithin austauschen?
Ja, das geht.
macht man so ein Fußbad dann mit heißem oder kaltem Wasser? Erfrischend, Minze, Menthol, das klingt für mich eher nach kalt, aber dann würde sich die Kakaobutter doch gar nicht lösen, oder?
Es sollte schon Körpertemperatur haben, also 35 -36 Grad.
Den Kühleffekt hast du trotzdem durch das Menthol
Für die kalte Variante lässt du die Kakaobutter einfach weg oder ersetzt sie evtl. durch ein Öl.
damit gefärbtes Salz oder auch Blümchen auf den Pralinen bei mir halten, schmelze ich etwas Kabu und tropfe es dann auf die Praline und streue dann das gefärbte Salz drauf oder drücke ein Blümchen fest. Das hält auch und schmilzt dann eh im Bad
"""Da ich immer extrem zur Hornhaut neige und ich es leid bin mir immer 3 ca abzuhobeln hab ich vor Weihnachten eine Fußcreme zusammengepanscht (anders kann man das nicht nennen) und siehe da es funktioniert. Die Risse sind wesentlich weniger geworden und auch die Hornhaut.
Wasserphase:
30 g Wasser
15 g Harnstoff
Fettphase:
8,5 Avocadoöl
8,5g Macadamianußöl
10 g Sheabutter
10 g Tegomuls
5 g Fluidlecithin Super (Nachträglich hineingeworfen - drohende trennung)
Wirkstoffe (alle erst beim Erkalten zugegeben)
5 g D-Pantenol
2 g Vit. E
2 g Nachtkerzenöl
3 g Aloe Vera 10 fach
1 Msp. Allatoin
Alles rühren bis es wirklich kühl ist, 2-3 Tage stehnlassen und nochmals fest duchrühren.
Ist zwar ein bißchen krisselig aber tut der Pflegewirkung keine Abbruch.
''Alle getesteten Rezepte bei Fußgeruch:''<br/><br/>
<$list filter="[tag[Fußgeruch]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Fußgeruch:''<br/><br/>
<$list filter="[tag[Fußgeruch]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Fußpilz ist oft eine Reaktion auf ein ungünstiges Hautklima bei feuchten und schweißigen Füßen. Zur Behandlung betupfe die betroffene Stelle mehrmals täglich mit unverdünntem [[Apfelessig]]. Gegen Hornhaut hilft dies ebenfalls.
Nutze Naturfasersocken und entkeime sie vor der Wäsche mit einer 20%igen Essig-Mischung. Lass die Textilien mindestens 30 Minuten darin einweichen, spüle sie kurz mit der Hand durch und gib sie anschließend in die Waschmaschine.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""2 El Kaisernatron
1 El Magnesiumstearat
1 El Zinkoxid
1-2 Tl Kieselsäure (nicht Kieselerde!)
20 Tropfen Squalan
2 Tropfen Salbei
2 Tropfen Manuka
2 Tropfen Teebaum
4 Tropfen Speiklavendel
2 Tropfen Thymian
1 Tropfen Pfefferminze
Zinkoxid und Kaisernatron mit dem Squalan etwas mörsern, damit die Grobkörnigkeit dieser Zutaten etwas gemildert wird. Mit den restlichen Zutaten in einen Schüttelbecher füllen und miteinander verschütteln. Erst mit einem Tl Kieselsäure anfangen, dann die „Rieselfähigkeit“ überprüfen und ggf. noch etwas Kieselsäure dazugeben. Kaisernatron bindet Gerüche, Magnesiumstearat ist für die Haftfähigkeit verantwortlich, Zinkoxid wirkt entzündungshemmend, Kieselsäure ist ein wichtiger Bestandteil der Haut und sorgt für die Rieselfähigkeit der Zusammensetzung. Die ätherischen Öle wirken alle fungizid und bakterizid.
Die Kieselsäure ist wirklich wichtig (nicht Kieselerde) - die saugt die Zutaten & Feuchtigkeit auf und sorgt dafür, dass es pudrig bleibt. Eventuell das Kaisernatron noch mörsern vorher, wenn es dir nicht fein genug ist. Das Kaisernatron ist wichtig, weil das die unangenehmen Gerüche bindet und neutralisiert. Pfefferminze ÄÖ würd' ich im Winter weglassen - das macht sonst kalte Füße.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
https://docs.google.com/forms/d/e/1FAIpQLSeOYxVEJf7_Ph6bwnLfwzpLVaRmsmjP3o2_7OHtxgFUxEWdaw/viewform?usp=pp_url&entry.992357240=$(tid)$&entry.1232216431=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
"""''Für normale Haut und Mischhaut''
__Emulgatoren__
Glycerinstearat SE, Xyliance, Emulsan, Olivem 1000, Montanov 68
__Konsistenzgeber__
Cetylalkohol, Lanette O, Mangobutter, Sheabutter, Tegosoft MM, Walratersatz
__Pflanzenöle__
Aprikosenkernöl, Babassuöl, Dermofeel-Öl, Distelöl, Jojobaöl, Mandelöl, Neutralöl, Reiskeimöl, Sojaöl, Sonnenblumenöl, Traubenkernöl, Walnussöl
__Wirkstofföle__
Holundersamelöl, Kamillenöl, Sanddornkernöl, Squalanöl
__Wirkstoffe__
Allantoin, Aloevera, Bisabolol, D-Panthenol, Ectoin, Glycerin, Harnstoff, Natriumlaktat, Sodium PCA, Sorbit, Vitamin E
__Kräuterextrakte__
Kamille, Ringelblume, Gurke
__Ätherische Öle__
Bergamotte, Clementine, Kamille, Lavendel, Linaloeholz, Neroli, Petitgrain, Rose, Rosenholz, Sandelholz, Vanille, Zitrone"""
---------------------------------------------------------------------------------------------------------------
"""''Für trockene Haut und reife Haut''
__Emulgatoren__
Emulsan, Montanov 68, Lamecreme, Olivem 900, Dermofeel PR
__Konsistenzgeber__
Bienenwachs, Cupuacubutter, Kakaobutter, Lanette O, Sheabutter, Tegosoft MM, Walratersatz,
__Pflanzenöle__
Andirobaöl, Aprikosenkernöl, Arganöl, Avellanaöl, Avocadoöl, Babassuöl, Dermofeelöl, Hanföl, Haselnussöl, Jojobaöl, Kokosöl, Macadamianussöl, Mandelöl, Neutralöl, Olivenöl, Sesamöl, Sojaöl, Traubenkernöl, Weizenkeimöl
__Wirkstofföle__
Aloeveraöl, Borretschsamenöl, Centellaöl, Granatapfelsamenöl, Johannisbeersamenöl, Nachtkerzenöl, Wildrosenöl, Carotinöl, Sanddornfruchtfleischöl, Squalanöl
__Wirkstoffe__
Avocadin, Aloevera, D-Panthenol, Ectoin, Glycerin, Glycinbetaine, Harnstoff, Hyaluronsäure, Lanolin, Lipodermin, Natriumlaktat, Niacin, Pentavitin, Seidenprotein, Sodium PCA, Sorbit, Vitamin E
__Kräuterextrakte__
Gurke, Johanniskraut, Malve, Schafgarbe, Centella, Hopfen, Kamille, Olivenblatt
__Ätherische Öle__
Benzoe, Cistrose, Geranium, Immortelle, Kamille, Karottensamen, Lavendel, Linaloeholz, Myrrhe, Neroli, Orange, Patschuli, Rose, Rosenholz, Sandelholz, Tolubalsam, Vanille, Verbene, Vetiver, Weihrauch, Ylang-Ylang"""
---------------------------------------------------------------------------------------------------------------
"""''Für fette Haut (auch Aknehaut)''
__Emulgatoren__
Tegomuls, Glycerinstearat SE, Xyliance, Dermofeel GSC, TegoCare CG 90
__Konsistenzgeber__
Cetylalkohol, Lanette O, Mangobutter, Sheabutter, Tegosoft MM, Walratersatz
__Pflanzenöle__
Andirobaöl, Aprikosenkernöl, Babassuöl, Dermofeelöl, Distelöl, Hanföl, Jojobaöl, Kukuinussöl, Mandelöl, Neutralöl, Sojaöl, Sonnenblumenöl, Traubenkernöl
__Wirkstofföle__
Calophyllumöl, Holundersamenöl, Kamillenöl, Kiwisamenöl, Wildrosenöl
__Wirkstoffe__
Allantoin, Aloevera, Bisabolol, Dermofeel Decalact Liquid, D-Panthenol, Glycerin, Harnstoff, Natriumlaktat, Niacin, Sodium PCA, Sorbit, Vitamin E, Zinc PCA
__Kräuterextrakte__
Arnika, Birke, Brennnessel, Grüner Tee, Hamamelis, Kamille, Ringelblume, Salbei, Zitronenschale
__Ätherische Öle__
Benzoe, Bergamotte, Clementine, Gingergras, Grapefruit, Immortelle, Kamille, Koriandersamen, Lavandin, Lavendel, Lavendelsalbei, Limette, Litsea cubeba, Mandarine, Manuka, Muskatellersalbei, Myrte, Niaouli, Orange, Petitgrain, Rosenholz, Rosmarin, Speiklavendel, Teebaum, Thymian, Wacholderbeere, Zeder, Zitrone, Zypresse
Trick: Glas mit Wasser füllen, etwas Spülmittel dazu geben und auf die Herdplatte stellen bis sich das Wachs vom Glas löst. Dann umrühren und auskippen. Man tut aber gut daran, einen Topflappen zu nehmen, denn das Glas wird sehr heiß.
Oder direkt nach dem ausgießen das noch warme restliche Wachs mit Küchenpapier aus dem Glas wischen.
Oder mit kochendem Wasser übergießen, so geht es auch gut ab.
Einfrieren.
Spülmaschine, das wird super zur not 2x. (erst nach dem auswischen)
"""Aufgrund starker Arthrose und Muskelschmerzen in den Füßen und im Knie musste eine Einreibung her. Da ich auch oft verschnupft bin – gleich doppelt gemoppelt!
Diese Salbe nennt sich im Original "Vapormet" und soll fast ein Wundermittel sein.
2,5 g Latschenkiefernöl
3 g Eucalyptusöl
0,5g Fichtennadelöl (anstatt Terpentinöl)
0,5 g Kampfer
0,5 g Menthol
3 Tropfen Neroli
eingearbeitet in eine Salbengrundlage aus:
30 g Öl (ich nahm Mandelöl)
6 g Kakaobutter (auch Shea ist möglich)
6 g Bienenwachs
Zubereitung:
Fette für die Salbengrundlage schmelzen.
separat löste ich in ein wenig Öl den Kampfer und in dem ÄÖ-Gemisch das Menthol.
Sind die Fette geschmolzen Öl/Kampfer und ÄÖ’s/Menthol dazu rühren
und weiterrühren bis die Masse andickt. In einen Tiegel damit und fertig!
Die Konsistenz ist ganz wunderbar und der Duft erinnert mich sehr stark
an Wick-Vaporup - GESUND eben!
Gestern abend hatte ich Schmerzen am Rist –
also Salbe drauf und nach 20 min. wars gut.
Ich bin begeistert!
Statt des Mandelöls, würde ich eher zu Olivenöl tendieren, weil dieses Öl auch schmerzlindernde Eigenschaften hat.
''Alle getesteten Rezepte bei Gelenkschmerzen:''<br/><br/>
<$list filter="[tag[Gelenkschmerzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Gelenkschmerzen:''<br/><br/>
<$list filter="[tag[Gelenkschmerzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
Siehe [[Biogard]]
<div style="background:#DFFE97;">
<div style=> </div>
<h2>Entkalken von Wasserkocher / Tauchsieder & Kaffeemaschinen</h2>
''Eigenschaft dieses Entkalkers:'' Entkalkt ;-)<br/>
''Meine Erfahrung damit:'' Benutze ich seit vielen Jahren mit Begeisterung.
''Zutaten''<br/>
* 2-3 EL (40-60g) [[Zitronensäure]]
* 1 l kaltes Wasser
# Zitronensäure im kalten Wasser lösen.
# Bis zum Kalkansatz ins Gerät füllen und darin erhitzen- jedoch nicht über 100° (durch das Erhitzen über 100°C von Zitronensäure entsteht Calciumcitrat. Dies ist eine klebrige weiße Masse, die sich in dem zu entkalkenden Gerät absetzt)!!<br/>Kurz einwirken lassen.
# Gut nachspülen.
Bzw. Tauchsieder in die Lösung stellen, erhitzen und dann abspülen.
''Kosten:'' Zitronensäure ist wesentlich günstiger als spezielle Entkalkungsmittel.
<br/><br/><br/>
<h2> Entkalken von Kaffeepad- / Espressomaschinen u.ä.</h2>
''Eigenschaft dieses Entkalkers:'' Entkalkt ;-)<br/>
''Meine Erfahrung damit:'' Benutze ich seit mehreren Jahren mit Begeisterung.
''Zutaten''<br/>
* 2-3 EL (40-60g) [[Zitronensäure]]
* 1 l kaltes Wasser
# Zitronensäure im kalten Wasser lösen.
# Bis zum Kalkansatz ins Gerät füllen und durchlaufen lassen.
# Anschließend die Maschine 2x mit klarem Wasser durchlaufen lassen.
''Info:'' Das entkalkende Gerät darf das Wasser jedoch nicht über 100°erhitzen, denn: Durch das Erhitzen über 100°C von Zitronensäure entsteht Calciumcitrat. Dies ist eine klebrige weiße Masse, die sich in dem zu entkalkenden Gerät absetzt!!
''Kosten:'' Zitronensäure ist wesentlich günstiger als spezielle Entkalkungsmittel.
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=200 src="https://share-your-photo.com/img/b8d0abe930.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Eigenschaft dieses Geruchsentferner-Sprays:'' Neutralisiert unangenehme Gerüche und hinterlässt meistens keine Rückstände.<br/>Für z.B.: Stinkende Mülleimer, muffige Klamotten, Katzenpipi-Malheurs, Schuhe mit Fußschweiß-Duft, etc.<br/>
''Meine Erfahrung damit:'' Seit Juli 2019 sprühe ich das Innenleben meiner Schuhe immer mal wieder damit ein, da sich insbesondere im Sommer häufig Fußschweiß-Geruch darin bildet. Ich sprühe abends ein, lasse es über Nacht trocknen und am nächsten Morgen ist kein Fußschweiß-Geruch mehr da :-)"""<br/>Auch wenn ich es bisher nicht für Textilien benutze, habe ich es auch mal daran ausprobiert: Auf blauer Jeans, schwarzem Jersey und hellgrüner Baumwolle hat es keinerlei Spuren hinterlassen. Auf braunem Leder (glatte wie auch raue Seite) sind nach dem Trocknen ganz leichte Schatten sichtbar. Diese sind jedoch auch bei reinem destilliertem Wasser (ohne jegliche weitere Zutaten) sichtbar.<br/>Sogar Katzenpipi-"Duft" ist nach 3maligem Einsprühen nicht mehr riechbar! (Das hat mich wirklich überrascht!)<br/><br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=3/> ml (Mindestmenge 125ml)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 500 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom Doppel-Messlöffel (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom Doppel-Messlöffel (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /500* 470,2)</$calc>g/ml Wasser oder destilliertes Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /500* 30,2)</$calc>g/ml [[Isopropanol|Alkohol, hochprozentig]] oder <$calc>round({{!!gesamtmenge}} /500* 60,2)</$calc>g/ml Wodka o.ä. hochprozentiger Alkohol (!!)
* <$calc>round({{!!gesamtmenge}} /500* 24,2)</$calc>g [[Natron]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 10,2)</$calc> - <$calc>round({{!!gesamtmenge}} /500* 15,2)</$calc>Tropfen [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# ''Wasser'' abkochen und auf ca. 40°C abkühlen lassen.<br/>Bei destilliertem Wasser kannst Du diesen Schritt auslassen.
# ''Natron'' unterrühren, bis es sich vollständig aufgelöst hat.<br/>(Wenn es sich nicht vollständig auflöst, "hängt" sich das ätherische Öl / Parfümöl daran).
# ''Alkohol / Isopropanol'' & ''Parfümöl'' unterrühren oder alles direkt in die Sprühflasche hineingeben und gut schütteln.<br/><br/>
''Anwendung:''
# Unangenehm Riechendes einsprühen & trocknen lassen...<br/><br/>
''Zubehörliste:''
* Ggf. Wasserkocher
* [[Briefwaage]]
* ggf. Gefäß zum Verrühren
* Teelöffel
* Sprühflasche
"""
''Ab wann verwendbar'': Sofort verwendbar.
''Zutatenliste mit Wirkweise in diesem Rezept:''
__Wasser__ (Kosten hängen von Deinen Wasserwerken ab...)
Kannst Du quasi weglassen (ohne Funktion), aber //nur// mit Alkohol wird es wohl doch etwas teuer....
[[Isopropanol|Alkohol, hochprozentig]] (0,29€) oder Wodka o.ä.
Desinfiziert, entfernt Bakterien- neutralisiert somit auch Gerüche- und verlängert die Haltbarkeit. Isopropanol riecht schon heftig nach Alkohol, ist aber dafür günstig. Nach dem Trocknen ist der Alkoholgeruch auch wieder weg. Wodka z.B. ist halt wesentlich teurer aber dafür so gut wie geruchlos.
Du kannst den Alkohol auch weglassen- dann reduziert sich aber die geruchsneutralisierende Wirkung und es ist nur kurz haltbar.
[[Natron]] (0,11€)
Evtl. ist möglichst fein pulverisiertes Natron hier besser geeignet, da es sich evtl. besser im Wasser auflöst (grobes hat eine Körnung ähnlich wie Salz).
Neutralisiert unangenehme Gerüche.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]]
Zum optionalen Beduften.
''Konserviert durch'' den Alkohol.
''Haltbarkeit'': Ca. 6 Monate.
''Gesamtkosten der Zutaten:'' 0,40€ (ohne Wasser & Duftöle, da ich nicht weiß, wieviel Dein Trinkwasser kostet; und ob & welche & wieviel Duftöle Du nimmst) für 500ml Gesamtmenge. Stand September 2019
<div style="clear:both;line-height:0px;"></div>
"""Vorher hab ich nur mit Rosenwasser abgeschminkt und war nicht so begeistert von der Reinigungswirkung. Jetzt ist es besser. Ich hab es in einem Sprüher. Erfrischt auch super an warmen Tagen.
70 ml Rosenwasser
15 ml Calendulatinktur
15 ml Arnikatinktur
1/2 TL Urea
5 Tr. Traubenkernöl
Ist eine Schüttel-Sache. Trennt sich immer wieder. Aber riecht herrlich nach Honig und Rose. *find* :)
Danke an Krystal, Brianna und Wildes Wuslon. Ist wohl eine Mischung aus allem geworden.
Und: Es macht super weiche und glatte Haut. Hab selbst fettige Mischhaut. Und siehe da.....es macht nicht mehr Pickel....sie heilen sogar schneller ab.
"""Zutaten:
10g Babassuöl
10g Sheabutter unraffiniert (evtl. weniger, da sonst evtl. krisselig)
5 g Cupuacu
5 g Hanföl kaltgepresst
8 Tr. Bisabolol
ÄÖ Palmarosa und Geranium
Diesen Gesichtsbalsam benutze ich seit 6 Wochen und bin begeistert.Ich habe zwar (mit 26 Spätpubertierende) Fettige Haut mit Unreinheiten aber dieser Balsam beruhigt meine Haut und seitdem ich diesen Balsam immer Abends benutze habe ich viiiiel weniger Unreinheiten bekommen.Die Haut ist ebenmäßiger geworden,weicher und vorallem habe ich das gefühl das meine Haut nach dem auftragen glatter und straffer wird (sogar besser als mit Hy-Gel ).
"""
--------------------------------------------------------------------------------------------------------
"""Möchte euch mein Balsam Rezept vorstellen, hilft gut bei rauher Haut und zieht sehr gut ein.
7 g Sheabutter
7 g Mangobutter
5 ml Aprikosenkernöl
2,5 ml Jojobaöl
2 5, ml Pflanzenextrakt ( ich nehme Malve oder Calendula )
Man kann auch noch ätherische Öle einrühren.
Die Fette leicht erwärmen , dann den Extrakt gut einrühren. Ich rühre min. 15 min damit sich alles gut verbindet.
"""1 knappen kl. ML Hysäure in
ca. 1 ml Alkohol auflösen und mit
15 ml Rosenhydrolat (geht natürlich auch jedes andere) ein relativ dickes Hygel herstellen
darin
1 knappen kl. ML Urea lösen
Dieses Hygel mit 15 ml Öl (bei mir: 5 ml Macadamia- und 10 ml Traubenkernöl)
sowie
1 kl. ML Vit. A
1 kl. ML Vit. E
ca. 1 - 1 1/2 kl. ML Fluidlecithin Super
Konservierung nach Wahl
in einen Pumpspender geben, gut schütteln, fertig.
Das Ganze ergibt eine schön dickflüssige Gesichtsmilch, die wunderbar pflegt, schnell einzieht (auftragen, anziehen, schminken) und sogar leicht strafft. Seitdem ich sie benutze ist meine Haut auf alle Fälle wunderbar prall und gut versorgt. Nichts spannt, juckt oder schuppt und zusätzliche Unreinheiten gibts auch nicht. Abends nehm ich das Gleiche und bei Bedarf noch etwas Shea pur darüber.
Das Fluidlecithin kann man mit Sicherheit auch weglassen (ergibt halt dann ne Schüttel-Gesichtsmilch ), aber ich persönlich brauch es quasi noch als zusätzlichen Pflegefaktor.
Beim Ölgemisch kann man auch relativ frei variieren, fürs schnelle Einziehen sollte aber - glaube ich - auf alle Fälle ein Trockenes wie Traubenkernöl dabei sein. Einer Freundin hab ich fast zeitgleich die Kombination Distel- und Mandelöl gerührt, das funktioniert ebenso gut.
"""3 Tl Tapiokastärke
1 Tl Kieselerde
Eisenoxide nach Bedarf
30 Tropfen Seidenprotein
15 Tropfen Squalan
Mit dem Mörser die Flüssigkeit untermischen.
"""Gesichtsreiniger-Bar: Rezept suchen
"""Reinigungsmilch fürn Winter:
15gr öl (je nach hautzustand und alter zwischen 3-15gr)
3,5gr LL (hier ist das zeug echt toll)
10 tr paraben
duft wenn gewünscht
zusammen in eine flache geben und feste schütteln, bis eine stabile milch entsteht.
Nun gebe ich noch dazu
3% lipodermin
3% coffein
2% pentavitin
Oder was mir sonst noch einfällt.
Dann auf 100 g mit Hydrolat auffüllen.
So, und nun gibt es auch noch eine sommerversion, die ich hier gleich mal einfüge, damit man sie leichter findet.
Sommerrezept:
30gr lavendelalkoholextrakt
5% urea
5%glycerin
1-2% panthenol
3% coffein
4tr lavendel äö
Mit Lavendelhydrolat auf 100 g auffüllen.
Das kann man genau so anwenden wie das andere.
wenn es euch zuviel alk ist, .......ich habe sogar oft halbe/halbe und vertrage es gut. Muß man halt ausprobieren. 10% sollten es aber sein, da es ja auch gleichzeitig konserviert.
"""Ein sehr mildes Reinigungsgel mit einer (WAS ca 2,5%) für das Gesicht.
Eine Fettphase ist nicht vorhanden, da nach einer Theorie , welche mir auch einleuchtet, eine anschließende kosmetische Behandlung die Aufnahme der Wirkstoffe durch die Fette behindern kann. Ich benutze diese Gel seit sechs Wochen und zwar immer abends .
Mischung aus Wasser und Aloe Vera Gel , 78,5 g
Sorbitol, 5 g
Pentylene Glycol, 5 g
Glycerin, 5 g
Coco-Glucoside, 5g (Tensid: ph-Wert 11,9, WAS um 50%, Ecocert)
Xanthan Gum, 1 g
äth. Zitronenöl 0,5g
pH-Wert mit Milchsäure auf 5 einstellen. (das muss sein, da der pH Wert des Tensids sonst zu hoch ist)
Die feuchtigkeitsbindenden, hydratisierenden Substanzen wie Sorbitol, Glycerin und Pentylene Glycol mindern ähnlich wie Fett die irritative und austrocknende Wirkung der Tenside.
"""Phase A
66 g Neutralöl
10 g Avocadoöl
5 g Squalan
0,5 g Phospholipon 80H
0,5 g Avocadin
0,1 g Ceramide III
0.2 g Gamma Oryzonal
Phase B
13,7 g Glycerin
4 g Plantapon® SF
Phase C
10 Tr. ätherische Öle nach Wahl
Herstellung
Phase A auf 85 - 90 °C erhitzen bis alles klar ist und schluckweise in Phase B einrühren . Sehr gut emulgieren und die äth. Öle dazu geben.
Beschreibung
Ergibt ein schönes dickes Gel, und und emulgiert mit Wasser zu einer milden Reinigungsmilch, welches sehr sanft und gründlich das Make up entfernt.
Das hydrierte Lecithin hat zudem barriereschützende Eigenschaften. In das Gel können auch ganz problemlos verschiedene Peelingzusätze eingearbeitet werden, die sich nicht absetzen.
Die Gesichtsmilch hinterlässt einen sehr schönen Schutzfilm und
man kann auch mal u.U. auf die anschließende Nachtpflege verzichten.
"""30 ml Orangenblütenwasser
30 ml Hamameliswasser
30 ml kosmetisches Basiswasser
60 ml dest. Wasser abgekocht
5 ml D-Panthenol 75
5 ml Aloe Vera 10 fach
3 g Harnstoff in warmem Wasser aufgelöst
4 ml Salbeiextrakt
3 ml Calendulaextrakt
2 ml Efeuextrakt
3 ml Lipoderminkonzentrat
8 Trpf Paraben K
Äth. Öl auf Wunsch ( evtl Zitrone)
''Alle getesteten Rezepte für die Gesundheit & das Wohlbefinden:''<br/><br/>
<$list filter="[tag[Abgeschlagenheit]] [tag[Appetitlosigkeit]] [tag[Belebung]] [tag[Beruhigung]] [tag[Blähungen]] [tag[Brechreiz]] [tag[Darmträgheit]] [tag[Denkfähigkeit]] [tag[Durchfall]] [tag[Erfrischung]] [tag[Erkältung]] [tag[Fieber]] [tag[Fußgeruch]] [tag[Gelenkschmerzen]] [tag[Grippe]] [tag[Gute Laune]] [tag[Halsschmerzen]] [tag[Hautjucken]] [tag[Hautparasiten]] [tag[Hautpilz]] [tag[Herpes]] [tag[Husten]] [tag[Insektenstich]] [tag[Kinder / Schwangerschaft]] [tag[Konzentration]] [tag[Kopfschmerzen]] [tag[Körpergeruch]] [tag[Krampfadern & Co.]] [tag[Lippenbläschen]] [tag[Lustlosigkeit]] [tag[Magen-Darm-Grippe]] [tag[Magenkrämpfe]] [tag[Magenschmerzen]] [tag[Mandelentzündung]] [tag[Massage]] [tag[Müdigkeit]] [tag[Mundgeruch]] [tag[Mundschleimhautentzündung]] [tag[Muskelkater]] [tag[Muskelschmerzen]] [tag[Narben]] [tag[Neurodermitis]] [tag[Pickel]] [tag[Rachenentzündung]] [tag[Arthrose/Arthritis/Rheuma/Gicht]] [tag[Schlappheit]] [tag[Schluckbeschwerden]] [tag[Schnupfen]] [tag[Schuppenflechte]] [tag[Schwellung]] [tag[Schwitzen]] [tag[Sonnenbrand]] [tag[Übelkeit]] [tag[Verbrennung (kleine)]] [tag[Verstopfung]] [tag[Völlegefühl]] [tag[Wunden]] [tag[Zahnschmerzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte für die Gesundheit & das Wohlbefinden:''<br/><br/>
<$list filter="[tag[Abgeschlagenheit]] [tag[Appetitlosigkeit]] [tag[Belebung]] [tag[Beruhigung]] [tag[Blähungen]] [tag[Brechreiz]] [tag[Darmträgheit]] [tag[Denkfähigkeit]] [tag[Durchfall]] [tag[Erfrischung]] [tag[Erkältung]] [tag[Fieber]] [tag[Fußgeruch]] [tag[Gelenkschmerzen]] [tag[Grippe]] [tag[Gute Laune]] [tag[Halsschmerzen]] [tag[Hautjucken]] [tag[Hautparasiten]] [tag[Hautpilz]] [tag[Herpes]] [tag[Husten]] [tag[Insektenstich]] [tag[Kinder / Schwangerschaft]] [tag[Konzentration]] [tag[Kopfschmerzen]] [tag[Körpergeruch]] [tag[Krampfadern & Co.]] [tag[Lippenbläschen]] [tag[Lustlosigkeit]] [tag[Magen-Darm-Grippe]] [tag[Magenkrämpfe]] [tag[Magenschmerzen]] [tag[Mandelentzündung]] [tag[Massage]] [tag[Müdigkeit]] [tag[Mundgeruch]] [tag[Mundschleimhautentzündung]] [tag[Muskelkater]] [tag[Muskelschmerzen]] [tag[Narben]] [tag[Neurodermitis]] [tag[Pickel]] [tag[Rachenentzündung]] [tag[Arthrose/Arthritis/Rheuma/Gicht]] [tag[Schlappheit]] [tag[Schluckbeschwerden]] [tag[Schnupfen]] [tag[Schuppenflechte]] [tag[Schwellung]] [tag[Schwitzen]] [tag[Sonnenbrand]] [tag[Übelkeit]] [tag[Verbrennung (kleine)]] [tag[Verstopfung]] [tag[Völlegefühl]] [tag[Wunden]] [tag[Zahnschmerzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Wie gehe ich denn am besten vor, wenn ich eine getönte Creme "frisch" herstellen will: rühre ich die Pigmente schon mit der Fettphase an? Oder reicht es tatsächlich, sie erst am Schluss einzurühren?
Grundsätzlich dürfte es egal sein, ob ich die Pigmente in die Wasser-oder Fettphase gebe. Micas, Titandioxid und Zinkoxid sind in beiden Phasen unlöslich.
Es entsteht eine Dispersion, die sich auch gern wieder entmischt. In die Ölphase hat man früher gern Ceralan genommen um die Pigmente in Schwebe zu halten.
In der Wasserphase kann ich ein Verdickungsmittel zugeben und habe den gleichen Effekt.
Sollte also gehupft wie gesprungen sein. Oder?
Und was spricht jetzt dagegen, die Pigmente in die fertige Emulsion zu geben?
Muss ich mal überlegen, ob es dafür eine einleuchtende Begründung gibt. Gut, es könnte sein, dass der Emulgator empfindlich reagiert, wenn er zu lange bearbeitet wird.
Die Pigmente bleiben schon gut verteilt, wenn du in die Wasserphase z.B. Xanthan gibst und die Fettphase auch entsprechende Konsistenz hat.
Also geht beides und hängt letztendlich von den verwendeten Rohstoffen ab.
Möglich wäre aber auch eine Vordispersion , die man dann in die fertige Emulsion rührt. Genau wie bei den Sonnenschutzmitteln.
Habe ich schon mal bei Formulierungen von Firmen gesehen, die mit vorgefertigten Pigmentmischungen arbeiten und diese in die fertige Emulsion rühren.
!!Für die getesteten Rezepte brauchst Du folgende Gewürze / Kräuter:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Gewürze & Kräuter]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Gewürze & Kräuter]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Die erwähnten Gewürze & Kräuter kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Gewürze & Kräuter]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Dieses Festigergel macht nicht nur im Töpfchen was her, sondern auch auf den Haaren. Perfekt für die festliche Frisur zu den Feiertagen oder für die Sylvesterparty. Aber auch durch das Jahr hinweg finden sich immer wieder Gelegenheiten, zu denen etwas Glitzer im Haar sehr gut passt.
Die Gesamtmenge dieses Rezeptes beträgt ca.: 105ml
1Messl. Gelbildner PNC 400
2-6 Messl. Festiger Pulver HF 64
20g Kosmetisches Basiswasser
80g frisch abgekochtes, erkaltetes Wasser
1Messl. D-Panthenol 75%
1-2 Tr. ätherisches Öl
1Messl. Perlglanz Pigmente Gold oder Silber
Gelbildner PNC 400 und Festiger Pulver HF 64 in Kosmetischem Basiswasser auflösen. Die übrigen Zutaten im Wasser verrühren und diese Mischung unter ständigem Rühren in die Festigerlösung einarbeiten.
Tipp: Die Menge des HF 64 hängt von dem gewünschten Halt ab. Ein guter, mittelfester Halt liegt bei ca. 5 Messl.
Tipp: Man kann das HF 64 auch weglassen, wenn nur der Glitzereffekt gewünscht ist.
Tipp: Statt Gelbildner PNC 400 kann auch Xanthan verwendet werden (ca. doppelte Menge). Allerdings wird das Gel mit Xanthan etwas milchiger bzw. schleimiger, was man aber auf dem Haar nicht mehr sieht.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Punica Granatum (Pomegranate) Seed Oil
''Jodzahl:'' 210–250 (trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' 1,5–2,3%
''Verseifungszahl:'' 185–195
__Kostbares Wirkstofföl für trockene, reife Haut, bei Ekzemen und Psoriasis. Pur tropfenweise als Spezialpflege/Nachtpflege.__
Granatapfelsamenöl gilt als hervorragendes Gesichtsöl für __trockene, alternde und beanspruchte Haut__ durch den hohen Gehalt an Phytoöstrogenen und der hohen antioxidativen Wirkung der Punicinsäure. Es wird primär als Wirkstofföl in Kombination mit Basisölen eingesetzt. Es fördert die Zellproliferation (Neubildung von Zellen), erhöht die __Hautelastizität__ und regeneriert das Gewebe. Seine __entzündungshemmende__ Wirkung unterstützt die Pflege __neurodermitischer, ekzematischer und sonnengeschädigter Haut__.
__Reife Haut__ profitiert von einer Kombination aus Arganöl, Weizenkeimöl, Wildrosen- (alternativ Preiselbeersamenöl) und Granatapfelsamenöl. Kurmäßig pur aufgetragen hat es stark regenerierende und aktivierende Wirkungen und hilft bei __akuten Hautproblemen__. Durch seine oxidative Instabilität sollte Granatapfelsamenöl nur in geringen Einsatzkonzentrationen und mit stabilen Ölen kombiniert in Tagespräparaten eingearbeitet werden. Perfekt eignet es sich als Pflege für die Nacht in einem kostbaren Serum oder Oleogel.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Granatapfelsamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Granatapfelsamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Grapefruitöl"''
@@background-color:orange;''Achtung:''@@ Wirkt phototoxisch!: >>siehe [[!Phototoxizität mancher ätherischen Öle]]
<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Grapefruitöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Grapefruitöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Grippe:''<br/><br/>
<$list filter="[tag[Grippe]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Grippe:''<br/><br/>
<$list filter="[tag[Grippe]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Hallo,
ich stehe momentan etwas auf dem Schlauch, und habe deshalb eine Verständnisfrage.
In Frau Käsers Buch werden Rührmethoden für Emulsionen beschrieben (nach Emulgatorgruppen sortiert).
Bei jeder Methode wird betont, wie wichtig es ist, die Temperatur der Phasen nach dem Emulgator auszurichten, niedriger als 65°C soll es jedoch nie sein.
Heißt das für die Fettphase, wenn ich (als Beispiel) Kakaobutter, Kokosöl & Mandelöl hab, dass ich bei einer Rührmethode für einen Emulgator, der 75°C verlangt, dann nur die Kakaobutter am Anfang einrühre und erst ganz zum Schluss Kokosöl & Mandelöl?
Was ist, wenn ich in einem Rezept nur temperaturempfindliche Öle hab? Kann ich dann keine dieser Rührmethoden verwenden und muss dann einen Kaltemulgator verwenden?
Es gibt ja nicht soviele Öle, die solch hohe Temperaturen abkönnen, ohne Wirkstoffe zu verlieren.
Oder missverstehe ich irgendwas?
"""
------------------------------------------------------------------------------------
"""Als erstes ist wichtig, dass beide Phasen - Fett und Wasser - die gleiche Temperatur haben müssen, damit eine stabile Emulsion entsteht. Der zweite wichtige Punkt ist, dass beide Phasen jene Temperatur haben, die der Emulgator verlangt.
Die Emulgatoren haben oft unterschiedliche Schmelzpunkte - der eine schmilzt bei 65 °C, der andere erst bei 70 °C. Alle Komponenten in der Fettphase müssen klar geschmolzen sein, sonst hat man Krümel in der fertigen Creme und sie verliert an Stabilität.
Ich gebe alle Öle, den Fettalkohol (z. B. Cetylalkohol), Mangobutter oder Sheabutter und den Emulgator ins Glas. Diese Mischung erhitze ich auf die Temperatur, die vom Emulgator verlangt wird. Im Falle von Montanov 68 sind dies 75 °C. Ist in meinem Rezept Kakaobutter enthalten, gebe ich diese in die geschmolzenen Fette. Kakaobutter krisselt gerne aus, wenn sie zu lange zu heiß wird, sie verliert dadurch auch einen Teil ihrer konsistenzgebenen Eigenschaften.
Sind in meinem Rezept bspw. Wildrosen- oder Granatapfelsamenöl enthalten, gebe ich diese kurz bevor das Wasser dazu kommt, in die Fettphase. Manchmal gebe ich sie auch in die fertige Emulsion.
Du erhitzt die Öle ja nicht stundenlang ... Es sind nur wenige Minuten, die die Öle diesen hohen Temperaturen ausgesetzt sind - das verkraften sie problemlos.
"""
------------------------------------------------------------------------------------
"""So, wie ich Deine Antwort insgesamt verstehe, heißt das, dass z.B. Wildrosen- oder Granatapfelsamenöl (oder auch andere temperaturempfindliche Öle) auch die heiße Temperatur des erhitzten Wassers (welches ja die gleiche Temperatur haben soll wie die Fettphase) für die kurze Zeit vertragen, ohne Wirkstoffe / Wirkweisen zu verlieren. Ist das richtig?
"""
------------------------------------------------------------------------------------
"""Ja, so ist es.
"""
------------------------------------------------------------------------------------
"""Basisöle kann man erhitzen.
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=300 src="https://share-your-photo.com/img/fc5c060cbf.jpg"/>||
|<h6>Paul Munhoven, [[Camellia_sinensis_flower_tea.JPG|https://commons.wikimedia.org/wiki/File:Camellia_sinensis_flower_tea.JPG]]),<br/>Farbwert & weiteres Foto eingefügt von Surya,<br/>(Vantey, [[Kototoi_Dango.jpg|https://commons.wikimedia.org/wiki/File:Kototoi_Dango.jpg]],<br/>Ausschnitt von Surya, [[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]),<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Blättchen, Teezutat
''INCI-Bezeichnung:'' Camellia sinensis
''Ursprung/Beschreibung:'' Alle Tee-Sorten werden aus den Blättern der Camellia-Teepflanzen hergestellt. Der Tee gehört zu der Gattung der Kamelien. Der immergrüne Strauch hat dunkle, gezahnte, lederartige Blätter. Die Blüte ist weiß bis rosa, die Frucht klein mit harter Schale.
Für grünen Tee werden die Teeblätter im Gegensatz zum schwarzem Tee nicht fermentiert (nicht der Oxidation ausgesetzt). Für grünen Tee werden aufgrund der anderen Verarbeitung eher die Blätter von Camellia sinensis gegenüber der Varietät assamica bevorzugt, da sich die kleinblättrige, zartere Sorte besser eignet.
''Inhaltsstoffe:'' Koffein, Catechine- v.a. Epicatechin (EC), Epicatechingallat (ECG), Epigallocatechin (EGC) & Epigallocatechingallat (EGCG), Aminosäuren, Vitamin A, Vitamin B, Vitamin B2, Calcium, Kalium, Phosphate, Magnesium, Kupfer, Zink, Nickel, Carotine und Fluorid.
Grüner Tee enthält mehr Gerbstoffe (Tannine) als schwarzer Tee.
''Besonderheit / Heilwirkung:'' Grüner Tee ist bei Herpes, Feigwarzen, Akne, fettiger oder empfindlicher Haut, entzündlichen Hautkrankheiten, nach dem Sonnenbad, gegen Hautalterung und in der Zahnpflege hilfreich.
Er wirkt bei Akne durch die antibakteriellen, entzündungshemmenden & reparierenden Inhaltsstoffe.
Bei Akne-anfälliger Haut können die enthaltenen Katechine die Akne-verursachenden Bakterien abtöten.
Auch bei fettiger Haut ist grüner Tee nützlich, da das enthaltene Koffein eine gefäßverengende Wirkung hat und somit die Ölproduktion reduzieren kann. Da der Tee einen hohen Gerbstoffgehalt hat, wird das Koffein nicht sofort abgegeben, sondern kontinuierlich für einige Stunden.
Von diesem Koffein-Effekt profitiert auch empfindliche gerötete Haut.
Auch bei entzündlichen Hautkrankheiten wie Psoriasis (Schuppenflechte), Ekzeme, Rosazea ist die entzündungshemmende Wirkung nutzbringend. So können sich Entzündungen verbessern, Irritationen & Rötungen gemindert und der Haut geholfen werden, sich zu reparieren.
Besonders übermäßiges Sonnen lässt freie Radikale entstehen und schädigt die DNA, so dass Hautkrebs entstehen kann. Grüner Tee wirkt durch sein enthaltenes EGCG antioxidativ, d.h. er wirkt freien Radikalen entgegen. Empfehlenswert ist daher der Einsatz von Hautpflege-Produkten mit grünem Tee nach dem Sonnenbad.
Die Antientzündlichen, antioxidativen & reparierenden Eigenschaften schützen die Haut auch vor vorzeitiger Alterung und Faltenbildung. Das Hautbild wirkt durch die im grünen Tee enthaltenen Wirkstoffe insgesamt glatter, jünger, straffer und besser befeuchtet.
Prinzipiell eignen sich Kosmetika mit grünem Tee für alle Hauttypen. Besonders bei anspruchsvoller und empfindlicher Haut wirken Pflegeprodukte damit erneuernd und beruhigend.
__Zahnpflege__
Der Fluoridgehalt in grünem Tee hilft, Knochen & Zähne zu stärken. Durch seine antibakteriellen & antiviralen Eigenschaften bekämpft grüner Tee Keime, die Erkrankungen des Zahnfleisches auslösen können. Er reduziert außerdem die Produktion schädlicher Säuren durch Bakterien. Die im Schwarztee und insbesondere im grünen Tee enthaltenen Polyphenole und Fluoride senken das Risiko für Zahnkaries.
Die Hauptwirkstoffe im Grüntee sind antioxidativ wirksame Polyphenole, insbesondere Flavonoide, wie Catechine, Catechingallate (wie z.B. EGCG) und Proanthocyanidine.
Grünteecatechine können überdies den pH-Wert des Speichels im gesunden leicht basischen Milieu halten (7,2-7,4), in dem sich insbesondere Streptococcus mutans (Kariesbakterien) gar nicht wohlfühlt. Außerdem lindert er auch Zahnfleischbluten.
Die gesundheitlichen Auswirkungen für die Zahnpflege scheinen umso höher zu sein, je höher die Catechinkonzentration im grünen Tee ist. Dies gilt jedoch nicht, wenn der Grüntee getrunken wird (dann kann insbesondere zuviel EGCG gesundheitsschädigend sein)!! Den höchsten EGCG-Gehalt (& auch Gesamt-Catechine aller Tees) hat wohl Benifuuki-Grüntee, knapp danach z. B. Sayamamidori, Gokou, Sayamakaori, Okumidori, Yamatomidori und Izumi. Da der Catechingehalt in den jungen Blätter stets höher ist, sollte man Grüntee aus früher Pflückung wählen.
Grüntee in Beuteln hat meist einen eher geringen Catechingehalt und eignet sich daher als Mundspülung nicht so gut.
__Zubereitungsempfehlung für Zahnpflege-Produkte:__
Auf 100ml Wasser sollten 20g Tee genommen werden. Das Überbrühen mit 95°C heißem Wasser und eine längere Ziehdauer (10-60 Minuten) verbessert die Extraktion der Polyphenole.
''Lagerung:'' Getrocknete Kräuter verschlossen, dunkel und nicht länger als 1 Jahr lagern.
''Nebenwirkungen & bei Anwendung beachten:'' -
''Erhältlich bei:'' Ich kauf ihn beim Biomarkt um die Ecke.
''Worauf beim Kauf achten:'' Möglichst Bio-Qualität.
''Tipp für die Verarbeitung:'' -
"""<br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Grüner Tee]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Grüner Tee]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=310 src="https://share-your-photo.com/img/90fc24634f.jpg"/>||
|<h6>த*உழவன்,<br/>[[Cluster bean-guar-Cyamopsis psoralioides-Cyamopsis tetragonolobus-TAMIL NADU73|https://commons.wikimedia.org/wiki/File:Cluster_bean-guar-Cyamopsis_psoralioides-Cyamopsis_tetragonolobus-TAMIL_NADU73.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Verdickungsmittel, ''Löslichkeit:'' Wasserlöslich
''INCI-Bezeichnung:'' Guar Gum / Cyanopsis Tetragonalba (E 412) / Cyamopsis tetragonoloba
''Ursprung/Beschreibung:'' Guarkernmehl wird aus den Samen der Guarbohne gewonnen. Es ist ein natürliches, pflanzliches Verdickungsmittel.
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Guarkernmehl verbessert die Kämmbarkeit der Haare und verdickt Shampoos / Spülungen.
''Duftprofil:'' Duftneutral.
''Einsatzkonzentration:'' 0,1-5% des fertigen Endprodukts
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs beim Biomarkt um die Ecke- gibts in jedem Biomarkt. Vielleicht auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Es ist allgemein etwas schwierig, Guarkernmehl klümpchenfrei in die <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> einzuarbeiten. Bisher musste ich aber einfach nur darauf achten, dass ich es schön langsam nach und nach mit dem Milchschäumer einrühre. Und zwischen den einzelnen Zugaben immer erstmal kurz mit dem Milchschäumer weiterrühren.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Guarkernmehl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Guarkernmehl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte für Gute Laune:''<br/><br/>
<$list filter="[tag[Gute Laune]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte für Gute Laune:''<br/><br/>
<$list filter="[tag[Gute Laune]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
* Bergamuls: Verdickend, emulgierend, feuchtigkeitsspendend
* Gamma Oryzanol: Antistatisch, leicht konsistenzgebend
''Alle getesteten Rezepte zur Pflege feiner Haare:''<br/><br/>
<$list filter="[tag[Haar: Feines]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Pflege feiner Haare:''<br/><br/>
<$list filter="[tag[Haar: Feines]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte zur Pflege fettiger Haare:''<br/><br/>
<$list filter="[tag[Haar: Fettig]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Pflege fettiger Haare:''<br/><br/>
<$list filter="[tag[Haar: Fettig]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei irritierter Kopfhaut:''<br/><br/>
<$list filter="[tag[Haar: Irritierte Kopfhaut]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei irritierter Kopfhaut:''<br/><br/>
<$list filter="[tag[Haar: Irritierte Kopfhaut]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Schuppen:''<br/><br/>
<$list filter="[tag[Haar: Schuppen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Schuppen:''<br/><br/>
<$list filter="[tag[Haar: Schuppen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte zur Pflege feiner Haare:''<br/><br/>
<$list filter="[tag[Haar: Trocken]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Pflege feiner Haare:''<br/><br/>
<$list filter="[tag[Haar: Trocken]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""50 ml Rosenwasser
1 Tl Apfelessig
1 Tl Seidenproteine
5 Tropfen äth. Öl
Konservierung nach Wahl
Reicht völlig aus, um die Haare leichter kämmbar zu machen. D-Panthenol und auch Aloe Vera haben mir das Haar zu sehr verklebt.
"""Zutaten für 100 g
Phase A:
7 g Haarfestigerpulver HF 64
15 g Weingeist
Phase B:
1,2 g Xanthan transparent
5 g Weingeist
Phase C:
69 g destilliertes Wasser
1 g Natural Betaine
1 g Natriumlaktat
Phase D:
0,5 g Isopropylmyristat oder Brokkolisamenöl
optional: 6 Tr. ätherisches Öl oder Parfümöl nach Wahl
Herstellung:
Haarfestigerpulver in ein Glas geben und Weingeist darüber gießen. Mit einem Spatel so lange rühren, bis sich das Pulver gelöst hat.
Separat Xanthan im Weingeist dispergieren.
Phase C in einem separaten Glas mischen und unter sanftem Rühren mit einem Spatel zu Phase B gießen.
Phase A untermischen und mit Phase D ergänzen.
Das Gel in eine Tube oder einen Spender füllen.
Um wie viel etwa sollte ich die Wirkstoffe reduzieren, damit es für meine NICHT spröde-trockenen Haare geeignet ist?
du kannst die Fettstoffe (Isopropylmyristat/Brokkolisamenöl) weg lassen, dann wird daraus ein reines Feuchtigkeitsgel mit festigender Wirkung. Mit Natriumlaktat und Natural Betaine musst du ausprobieren, ob dir das zu viel ist. Falls ja, kannst du die Menge um jeweils die Hälfte reduzieren.
"""Ich habe viele, aber feine Haare, die am Ansatz gern platt runterhängen und sich an den Enden dafür in alle Richtungen winden, wenn ich sie machen lasse was sie wollen ;)
damit sie da bleiben wo ich sie haben will nehme ich das Spray in die feuchten gewaschenen Haare, lasse es antrocknen (anziehen, Kaffee machen...) und föhne dann fertig.
in%
30 Melissengeist
7 HF64 Haarfestigerpulver
61 Wasser
1 Panthenol
1 Sodium PCA
HF64 in Melissengeist lösen, bis die Mischung klar ist.
Wasser nach und nach unterrühren (edit: mit dem Glasrührstab oder Löffel, nicht Minimixer), dann Panthenol und Sodium PCA zugeben.
Wasser kann teilweise oder ganz durch Hydrolat ersetzt werden. Oder nach Wunsch Wirkstoffe ersetzen bzw ergänzen.
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=270 src="https://share-your-photo.com/img/7d2569554b.jpg"/>||
|<h6>த*உழவன்,<br/>[[Cluster bean-guar-Cyamopsis psoralioides-Cyamopsis tetragonolobus-TAMIL NADU73|https://commons.wikimedia.org/wiki/File:Cluster_bean-guar-Cyamopsis_psoralioides-Cyamopsis_tetragonolobus-TAMIL_NADU73.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Wirkstoff & Verdickungsmittel,
''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Aus dem Samen der Guarpflanze gewonnenes feines Pulver.
''INCI-Bezeichnung:'' Hydroxypropyl Guar / Hydroxypropyldrimonium Chloride
''Besonderheit / kosmetische Wirkung:'' Wirkt pflegend, haut- und haarschützend und wirkt glättend auf Haut und Haar.
Haarguar verhindert die statische Aufladung der Haare, verbessert die Kämm- und Frisierbarkeit.
Eine zu starke Entfettung von Haaren & Kopfhaut wird dank Haarguar ebenfalls verhindert.
Es steigert die Cremigkeit und Fülle des Schaums in Shampoos und Reinigungs<div class="tooltip">emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> auf Tensidbasis und hat zusätzlich verdickende Eigenschaften, da es gelbildende Eigenschaften aufweist.
Gut geeignet auch als <div class="tooltip">Haarkonditioner
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> und als Zusatz in Rasiercremes und -gelen.
''Duftprofil:'' Geruchsneutral.
''Einsatzkonzentration:'' 0,2-1,5%.
Gele: 1,5-2%. Seifen & Emulsionen: 0,5%
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Man muss darauf achten, das Haarguar klümpchenfrei in die <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> einzuarbeiten. Am Besten wird die benötigte Menge in ein trockenes Becherglas gegeben und das Wasser mit Hilfe eines Milchschäumers oder ähnlichem kräftig eingerührt.
Ich rühre es eher in das fertige oder fast fertige Produkt ein: Und zwar mit dem Milchschäumer __nach und nach und jedes Mal nur wenig!__
"""<br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Haarguar HT]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Haarguar HT]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte zur Haarpflege:''<br/><br/>
<$list filter="[tag[Haar: Feines]] [tag[Haar: Fettig]] [tag[Haar: Irritierte Kopfhaut]] [tag[Haar: Schuppen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Haarpflege:''<br/><br/>
<$list filter="[tag[Haar: Feines]] [tag[Haar: Fettig]] [tag[Haar: Irritierte Kopfhaut]] [tag[Haar: Schuppen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Zitrone stärkt das Haar, was insbesondere bei feiner Struktur empfehlenswert ist. Wer feines Haar unterstützen möchte, nutzt statt Shampoo einige Eidotter, die mit [[Zitronenöl]] oder reinem Zitronensaft vermischt werden. Damit lässt sich auch das Haar waschen, es wird glänzend und sieht sehr gesund aus.
Es ist auch möglich, 10-20 Tropfen ätherisches [[Zitronenöl]] in eine Flasche handelsübliche Shampoo zu geben. Die Wirkung ist ebenfalls deutlich sichtbar und das bereits nach wenigen Anwendungen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""1 Teil Bienenwachs
1 Teil Sheabutter
1 Teil Kakaobutter
2 Teile Pflanzenöl
1 Teil Cetylalkohol
2 Teile Gerstenmalz-Extrakt (gibts im Bioladen)
Alles zusammen erwärmen bis alles geschmolzen ist. Bis zum Erkalten rühren, sonst setzt sich das Gerstenmalz unten ab. Ergibt ein festigendes Haarwachs.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/d674a648ed.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>
''Nur f. Haarspitzen, nicht ausspülen!''<br/>@@font-size:0.9em;Würdest Du es in die gesamte Haarpracht verteilen, würde das Haar zu sehr beschwert.@@
''Eigenschaft dieses Hair Repairs:'' In die Haarspitzen gegeben, schützt es die empfindlichen Haarspitzen.<br/>
''Meine Erfahrung damit:'' Habe ich früher öfter mal genutzt. Nun brauche ich es schlichtweg nicht (mehr)... Meine Frisörin ist bei jedem Besuch begeistert, wie erstaunlich wenig kaputt meine Haarspitzen sind (meine Haare gehen bis zum Po und sind sehr fein & glatt).
''Anwendung:'' Einfach in die Haarspitzen geben.<br/><br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 31g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 92.5 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /92.5* 0.6,2)</$calc>g @@font-size:0.9em;(0.6g = 3/4 Messl. (2,5ml-Seite))@@ [[Haarguar HT]] (!!)
* <$calc>round({{!!gesamtmenge}} /92.5* 28,2)</$calc> Tropfen = <$calc>round({{!!gesamtmenge}} /92.5* 1.8,2)</$calc>g @@font-size:0.9em;(28 Tropfen / 1.8g = 1 Messl. (2,5ml-Seite))@@ [[Weizenprotein]] (!!)
* <$calc>round({{!!gesamtmenge}} /92.5* 95,2)</$calc>ml = <$calc>round({{!!gesamtmenge}} /92.5* 90,2)</$calc>g abgekochtes, noch warmes Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /92.5* 10,2)</$calc>-<$calc>round({{!!gesamtmenge}} /92.5* 20,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /92.5* 0.45,2)</$calc>-<$calc>round({{!!gesamtmenge}} /92.5* 0.9,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Haarguar'' & ''Weizenprotein'' mit dem Messlöffel gründlich ins warme ''Wasser'' einrühren oder direkt in die mit dem Wasser gefüllte Flasche geben und schütteln.
# Ggf. ''Parfümöl'' untermischen.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* Behältnis zum Rühren, z.B. ein Glas
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort verwendbar. Die endgültige Konsistenz ist allerdings erst nach 1 Tag vorhanden (Haarguar dickt nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Haarguar HT]] (0,09€)
Wirkt haarschützend und gegen die statische Aufladung der Haare. Gut geeignet auch als <div class="tooltip">Haarkonditioner
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div>. Außerdem weist es verdickende / gelbildende Eigenschaften auf.
[[Weizenprotein]] (0,11€)
Macht Haare geschmeidig & seidig. Hat einen "Repaireffekt" bei strukturgeschädigtem Haar, indem es raue Haarschuppen glättet und einen schützenden Film um das Haar legt. Dadurch bessere Kämmbarkeit der Haare und Schutz vor Folgen schädlicher Haar-Einflüsse.
Außerdem werden die Haare verdickt und gekräftigt.
Übernimmt neben Silkprotein die Funktionen, die sonst die Silikone übernehmen- ohne deren schädlichen Nebenwirkungen.
Wasser: (durchschnittlich 0,2Ct / Liter)
Trägermaterial...
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' die enthaltenen ätherischen Öle.
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 6 Monate haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 0,20€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst) für 92,5g Gesamtmenge. Stand Februar 2018
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
''Bei Grippebeschwerden, Mandelentzündungen & Schluckbeschwerden'' empfiehlt sich ein Halswickel mit [[Zitronenöl]] oder Zitronenessenz.
Hierzu werden 5 Tropfen [[Zitronenöl]] in 1 l heißem Wasser aufgelöst, wobei das Tuch sofort eingetaucht und ausgewrungen werden sollte. Es wird auf den Hals gelegt und ein zweites, trockenes Tuch darüber gewickelt. Die Halswickel sollten 30 Min. einwirken.
''Bei Fieber & Bronchitis''
ist ein Brustwickel mit [[Zitronenöl]] zu empfehlen. Brustwickel wirken schonender als Wadenwickel. Brustwickel beruhigen die Nerven und machen schläfrig.
Auf 1 l Wasser werden 5 Tropfen [[Zitronenöl]] gegeben und das Tuch getränkt. Hat der Patient 39° Fieber, sollte der Wickel ungefähr 37° haben. Das wirkt bereits kühlend und fiebersenkend.
"""
Ganz klar ist: Wir arbeiten beim Selbstrühren nicht unter Labor-Bedingungen (Staubabsaugung, kein Kontakt mit den Zutaten, absolut sterile Bedingungen, usw.)... Dementsprechend können wir auch keine Ewig-Haltbarkeit unserer gerührten Produkte erwarten. Unsere normalen Bedingungen beim Rühren reduzieren die Haltbarkeit schonmal von vorneherein.
Dementsprechend: Je genauer Du die Hygiene-Regeln einhältst, umso näher kommst Du unten beschriebenen Haltbarkeits-Werten.
Ganz klar ist auch:"""
* Ein Produkt, in dem nur 1 abgelaufene Zutat enthalten ist, ist sofort abgelaufen, auch wenn alle anderen Zutaten noch 3 Jahre haltbar sind!
* Auch kannst Du von keinem Konservierer erwarten, dass er das Mindesthaltbarkeitsdatum deiner Rohstoffe verlängert. Abgelaufen ist abgelaufen!
* Eine Lagerung im Kühlschrank verbessert natürlich auch die Haltbarkeit.<br/><br/>
''Das sind die Hygiene-Regeln:''
* Hände, Arbeitsmittel (Löffel, Rührglas, etc.), Arbeitsfläche und Behältnisse (bestenfalls mit luftdichtem Schraubverschluss) müssen so sauber wie möglich sein.
** All das also normal reinigen. Dann...
** Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt)
*** durch Abkochen: Günstig & einfach, aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.
*** mit Alkohol: Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.
* Arbeitsfläche nach dem Reinigen und nachfolgendem Desinfizieren mit Küchenkrepp auslegen. Hier kannst Du dann später alles Benötigte / Benutzte hygienisch ablegen. Aber erstmal legst / stellst Du hier nun alles Desinfizierte (Rührglas, Löffel, Behältnis, etc.) verkehrt herum hin, also mit der Öffnung nach unten.
* ''Nach dem Abfüllen des Produkts:'' Vergiss nicht, auf dem Behältnis des Produkts das geschätzte "Ablauf"-datum zu vermerken- z.B. auf einem Etikett: "Haltbar bis ca. 1. März 2019".<br/><br/>
''__Haltbarkeit selbstgemachter Kosmetik__''
Unter oben genannten Voraussetzungen:
* __Wasserfreie Produkte mit/ohne getrockneten Zutaten (z.B. getrocknete Kräuter) ohne Konservierer__: Bis zum frühesten Ablaufdatum aller verwendeten Rohstoffe haltbar. Wenn z.B. die Mandeln nur noch 3 Wochen haltbar sind, die Öle aber 2 Jahre, ist Dein Produkt trotzdem wahrscheinlich nach 3 Wochen abgelaufen.<br/>Du kannst wasserfreie Produkte durch einen Tropfen Vitamin E vor einem vorzeitigen Ranzigwerden schützen (v.a., wenn Du eine hohe Menge an <div class="tooltip">oxidationsgefährdeten
<span class="tooltiptext">Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> Ölen drin hast).<br/><br/>
* __Wasserfreie Produkte mit frischen Zutaten (z.B. frische Kräuter, überbrühtes Kaffee-/ Teepulver, eingeweichte Nüsse, frischer Ingwer,...) ohne Konservierer__: Ca. 1 Woche haltbar.<br/>Du kannst wasserfreie Produkte durch einen Tropfen Vitamin E vor einem vorzeitigen Ranzigwerden schützen (v.a., wenn Du eine hohe Menge an <div class="tooltip">oxidationsgefährdeten
<span class="tooltiptext">Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> Ölen drin hast).<br/><br/>
* __Wasserhaltige Produkte ohne Konservierer__: Bei Zimmertemperatur ca. 8 Tage, im Kühlschrank ca. 16 Tage haltbar.<br/>Du kannst dann jedoch fertige Produkte portionsweise einfrieren, um nicht permanent rühren zu müssen. Zum Auftauen in den Kühlschrank stellen.<br/><br/>
* __Wasserhaltige Produkte mit Konservierer__: Laut Hersteller bis zu 6 Monate haltbar. Trotzdem ist ein aufmerksames Auge / Nase wichtig, falls es doch mal schneller abläuft. Wie gesagt, wir haben keine Laborbedingungen.
** Alle wasserhaltigen Produkte kannst Du mit bis zu 12-18% [[Alkohol, hochprozentig]] (z.B. Weingeist 96%, Melissengeist) konservieren. In dieser Konzentration wirkt es nicht austrocknend auf Haut oder Haar. Oder Du entscheidest Dich für einen anderen Konservierer.
** Lies Dir dazu genau durch, unter welchen Bedingungen (z.B. pH-Wert) und in welcher Konzentration Du welchen Konservierer einsetzen musst. Zu lesen in: [[Konservierer-Übersicht|1. Konservierer-Übersicht]] & [[Alkohol, hochprozentig]].
<br/><br/>
!!''Nun schildere ich __meine (!!!)__ eigene (andere) Erfahrung''
(die mir aber eine Kosmetikerin, welche auch rührt und mit ihren Produkten an ihren Kunden arbeitet, bestätigt hat):"""
Als ich vor ein paar Jahren angefangen habe mit der Selbstrührerei, landete ich erstmal nur bei wasserfreien Produkten (Body Melt, Lippenpflegestift). Die brauchen keine Konservierung, da das Wasser fehlt. Ich machte mir damals auch keine großartigen Gedanken über Konservierung oder sonstige Aspekte der Rezepte. Ich rührte halt einfach Rezepte nach, die ich im Netz gefunden hatte. Da in diesen Rezepten nichts von Konservierung stand (war ja auch nicht notwendig bei den wasserfreien Rezepten), gewöhnte ich mich wohl daran, nichts von Konservierung zu lesen. So kam es mir auch nicht komisch vor, dass in wasserhaltigen Rezepten, die ich später aufstöberte, auch keine Konservierung erwähnt wurde.
Ich war zu der Zeit soweit mit den Produkten zufrieden. Und mir wurde in der ganzen Zeit noch nie etwas schlecht, schimmelig, faulig, kippte nicht um, roch nicht komisch, veränderte sich nicht in der Haptik, trennte sich nicht nach längerer Zeit,... //nichts//. Auch hatte ich durch die Anwendung der Produkte weder Haut-, noch Haarprobleme. Inzwischen hatte ich wasserfreie und wasserhaltige Produkte, alle ohne Konservierer. Aufbewahrt ganz normal im normal temperierten Bad im Regal, nicht im Kühlschrank.
Nun beschäftige ich mich seit etwa einem Jahr intensiver mit der Selbstrührerei, meldete mich in einem Selbstrühr-Forum an, las Bücher,... Und ausnahmslos überall stand, dass man wasserhaltige Produkte //unbedingt// konservieren //muss// oder innerhalb einer Woche aufbrauchen muss.
Es war mir ein Rätsel!
Meine wasserhaltigen Produkte hätten also allesamt nach 1 Woche schlecht geworden sein müssen. Waren sie aber nicht. Nie. Gut, es heißt, es kann sein, dass ein Produkt abgelaufen ist, ohne dass man etwas merkt (Geruch, Aussehen, Haptik, etc. kann trotzdem noch wunderbar sein). Aber dann tut es der Haut / dem Haar natürlich nicht mehr gut. Okay, aber warum hatte ich dann auch keinerlei Haut- / Haarprobleme durch die Anwendung dieser "offiziell" eigentlich abgelaufenen Produkte??? Es widerstrebt mir, einen Konservierer in ein Rezept einzufügen, wenn ich doch nie ein Problem damit hatte. Ich bekam nirgends eine Antwort darauf. Nur entsetzte Reaktionen, dass ich //unbedingt// konservieren muss.
Doch nun wurde mein Rätsel (__für mich!__) gelöst. Ich hatte die Gelegenheit, mit einer Kosmetikerin darüber zu sprechen.
Diese Kosmetikerin betreibt ein Kosmetikstudio, rührt selbst auch und wendet ihre selbstgerührten Produkte auch bei ihren Kunden an.
Laut ihrer Information wirken auch ätherische Öle und Parfümöle konservierend- egal ob sie eine antibakterielle Wirkung haben oder nicht. Warum? Weil sie mit Alkohol hergestellt sind. Tja, und Alkohol ist ja ein ganz offizieller Konservierer...
Ich analysierte alle meine Rezepte- und siehe da... ich hatte in allen Rezepten die erforderliche Menge an ätherischen Ölen / Parfümölen.
Endlich war mein "gordischer Konservierungsknoten" gelöst :-)
"""
* Und zwar folgendermaßen: 10-20 Tropfen ätherische Öle / Parfümöle auf ca. 80ml wässrige Phase des Produkts = ca. 6 Monate Haltbarkeit!
* Ausserdem wirke auch Zitronensäure konservierend (hilfreich z.B., wenn ich ein Reinigungsmittel ohne oder mit weniger ätherischen Ölen / Parfümölen herstellen will: 1ml Zitronensäure auf ca. 200ml wässrige Phase des Produkts = ca. 2 Wochen Haltbarkeit.
"""
Es ist __Deine__ Entscheidung, welche Regeln Du befolgst (ob oben unter "Haltbarkeit selbstgemachter Kosmetik" genannten oder die von der erwähnten Kosmetikerin).
''Ich übernehme keinerlei Garantie oder Gewähr für unten gemachte Aussagen!! Es ist lediglich __meine__ Erfahrung, die ich hier schildere und für die ich für mich endlich eine Erklärung gefunden habe.
"""Fettphase
2g Bienenwachs
3g Lanolin
4g Babassu
12g Avocadoöl
3g Tegomuls
2g Lamecreme
Wasserphase
25ml Wasser
1g Harnstoff
Wirkstoffe, Konservierung und Duft
5ml Kamillenextrakt
2,5ml Gurkenextrakt
20 Tropfen D-Panthenol
3 Tropfen ÄÖ Vetiver
4 Trofen ÄÖ Lavendel
1 Tropfen ÄÖ Mandarine
Die Extrakte habe ich selbst gemacht. Sie sind gleichzeitig Wirkstoff und Konservierung:
Beide Extrakte hab ich mit 37,5%igem Wodka angesetzt, etwa 2 Wochen lang, täglich schütteln .
Gurkenextrakt: frische Salatgurke ohne Schale, in kleine Stücke geschnitten, mit Wodka aufgefüllt, so dass ca. 1cm Wodka über den Gurken steht.
Kamillenextrakt: getrocknete Kamillenblüten (im letzten Sommer selbstgesammelt ) mit Wodka aufgefüllt, bis der Wodka min. 1cm über den Blüten steht. Genaue Mengen hab ich mir leider nicht aufgeschrieben.
Das Rezept ergibt eine schön feste und reichhaltige Creme.
Eigentlich hab ich sie als Handcreme gemacht, da hat sie mir sehr gut gegen ein paar hartnäckige trockene Hautstellen geholfen, ich benutze sie aber auch für die Füsse, raue Stellen am Ellenbogen usw., deshalb "Universalcreme".
"""Sie ist recht reichhaltig, zieht aber wunderbar ein. Und sie verhindert bei mir diese doofen Hautfetzelchen unter den Fingernägeln we sonst keine Creme.
Fettphase (40%):
10 Olivenöl
6 Calendulaöl
6 Lamecreme
2 Lanolin
6 Kakaobutter
10 Sheabutter
Wasserphase (60%):
43 Wasser
2 Aloe vera 10-fach
5 Gurkenextrakt
2 Glycerin
4 Urea
1 ML Seidenprotein
2 D-Panthenol
Konservierung und Duft nach Wunsch
Puffern war bei mir noch nie nötig; sie bleibt stabil in der Zeit, in der ich 50 Gramm davon verbrauche.
"""Meine große hat furchtbare haut an den händen. Trocken, pergamentartig, rauh und rissig und feuerrot. Jede creme lag dumm auf der haut rum, ging nicht rein und verschlimmerte alles, da sie diesen schlätz natürlich sofort wieder loswerden wollte. Als ich ihr mal mein gel gegeben habe, war sie begeistert. Ich habs ihr geschenkt und sie cremt seit dem wie eine blöde. Das zeug zieht weg wie nix, die haut ist deutlich besser und sie hat nicht mehr das *wääähhhh meine hände sind glitschig* gefühl.
Es ist ziemlich egal welche öle ich ihr rein tue, alles funzt und wie gesagt, sie hat seit jahren nicht mehr so gepflegte hände gehabt. Das rote ging auch ganz weg und obwohl ich ihr in die neue charge den ureaanteil vorübergehend erhöht habe, brennt da nix.
5gr hanf
5gr jojoba
5gr avo
5gr mandel
5gr urea
5gr glycerin
3gr panthenol
2gr lipodermin
1Msp allantoin
1Msp elastin
1Msp-1kl ML natrosol oder guar mit xanthan gemischt
10tr bisabolol (ist nett, hilft beim einschleusen, heilt sonnenschäden, ist aber nicht lebensnotwendig für dieses Rezept.)
5gr pfefferminzextrakt
1tr milchsäure (optional)
4tr natriumlactat (optional)
Der phwert sollte idealerweise bei 5 liegen.
auf 100ml mit pfefferminzhydrolt auffüllen
mit 2-3tr minzöl beduften, und mit 10tr konservierer konservieren.
Es geht natürlich auch jedes andere hydrolat, jeder andere extrakt und jedes andere äö. Mir gefällt pfefferminz, da es schön kühlt.
Und wer möchte, kann 1gr lecithin dazu geben in form von RL, LL oder emik. DAs gramm dann von der ölmenge abziehen.
Dieses Gel zieht super ein, und hinterläßt ein total eingecremtes Gefühl.
Andere Variante, weil ich den bergamuls recht gerne mag.
alle angaben in prozent, fph/wph 20/80
1 bergamuls
6 neutralöl
4 jojoba
4 avo oder olive oder hanf
5 sheanussöl
3 urea
3 glycerin
2 panthenol
2 lipodermin
2 sofitix breitband
1msp allantoin
1msp hyaloron
1msp natrosol
4tr ms
16tr nl
20tr rokonsal
10 extrakt
add 100 aloeveragel
duft nach wunsch
Mir gefällt die neue Version besser. Die erste musste ich immer mal schütteln, weil sie sich trennte. Von der Wirkung sind beide gleich super!
Wenn ihr das bergamuls auf 2-3 erhöht und es 30 min. rührt, nach 40 min. nochmal richtig mit schmackes, wirds noch besser und richtig stabil. Wenn ihr kein rührwerk habt, welches 30min durchhält, dann müßt ihr intervallmäßig daran gehen. Also 1min. rühren, 5 min. ruhen. Das halt 30 min. lang dann 10min. ruhen und dann nochmal richtig hochtourig für 30-60 sek.
Für schnelles Einziehen: nimm von den 20% fph ungefähr 5 % schnellspreiter, d.h. sq oder neutralöl. Dann halt die anderen öle ein wenig reduzieren.
Und das panthenol auf 1% runter, das klebt auch gerne. Nimm lieber 1% bisabolol dazu.
"""2,5 gr. Dermofeel gsc palmoilfree
0,25 gr. Wollwachsalkohol
6 gr. Mandelöl
2 gr. Olivenöl
2 gr. Avocadin
3 gr. Shea
30 gr. Wasser
1,5 gr. alkohlischer Extrakt
0,8 gr. Kollagen 1%ig
2 Tr. Milchsäure
6 Tr. Natriumlactat
3 Tr. A-Kons
4-6 Tr. äth. Öl
evtl. + Bergamuls (Bergamuls + Dermofeel gsc palmoilfree soll die __ideale__ Kombi sein!)
Die Creme zieht sehr gut ein, die Haut entspannt sofort, die Hände werden wieder weich. Auch nach ein paar Stunden ist das gecremte, weiche Handgefühl noch vorhanden.
Die Kosistenz ist ein wenig wie zu fest geratene Lotion. Aber sie tropft bzw. fließt nicht aus dem Töpfchen.
Die nächste Handcreme werde ich mit etwas mehr Wasser machen; mal sehen, wo die Grenzen dieses Emus ist.
"""Mein Intention bestand darin, eine Lotion zu rühren, die einerseits pflegt,
schnell einzieht und nicht den unerwünschten Nachfetteffekt hat.
100g gleich 100%
24% FP /76% WP
7g Kokosöl /Tonkabohnenmazerat
4g Jojobaöl / Vanillemazerat
5,5g Pflaumenkernöl
--------------
2g Mangobutter
2g Kakaobutter
-------------
2,5g Bergamuls
1g Phospholipon
--------------
70g dest. Wasser
-----------------
2g Natriumlaktat
2g Sodium PCA
1g Glycerin
----------------
1g Rokonsal
Gearbeitet habe ich nach der One-Pot-Methode. Beide Phasen auf 75 Grad erhitzt.
Habe die Knethaken des Handrührgerätes benutzt. Lange auf höchster Stufe,
dann auf kleinster Stufe geduldig kaltgerührt. Vielleicht 20 Min., denke ich.
M.E. reicht die Rührzeit für ein zufriedenstellendes Ergebnis.
"""
--------------------------------------------------------------------------------
"""Ich habe heute die Handcreme gerührt, ich habe tatsächlich 30 min gerührt, in Intervallen, mal mit dem Mixer mal mit dem Spatel. Die Lotion ist noch etwas flüssig, wirkt beim Eincremen etwas klebrig, zieht aber sofort ein und die Hände sich echt streichelweich.
7 g Babassus
4 g Mandelöl
5,5 g Sojaöl
2 g Mangobutter
2 g Kakaobutter
2,5 g Bergamuls
1 g Phospholipon
70 g Rosenwasser
5 g Feuchtigkeitsfaktor
1 g Biokons
Beduftet habe ich mit Palmarosa , Geranie und Lavendel.
"""
--------------------------------------------------------------------------------
"""Gutes Einziehverhalten fördern: Feste Fette entsprechend wählen- Mangobutter finde ich angenehm in Handcremes, und ein wenig Beerenwachs macht auch ein „trockenes“ Gefühl.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=260 src="https://share-your-photo.com/img/8832ccf3ca.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
Mit diesem Handmelt kannst Du Deine Hände eincremen- Du streichst ihn einfach über die Haut, dann schmilzt das Fett sofort.
Nach dem gleichen Prinzip funktionieren auch Body Melts, Duschmelts, Lotion Bars, usw.
Du kannst sie ganz auf Deine Haut (fettige, trockene, unreine, reife, jugendliche,...) abstimmen- je nachdem welche Öle, Buttern & Wachse in welchen Mengen Du verwendest. Siehe unten bei "Erläuterungen".
''Eigenschaft dieses Handmelts:'' Lässt sich prima verteilen, pflegt gut und zieht schnell ein.
Ich habe ihn aus einem Massagebar-Rezept heraus entwickelt. Vorher hab ich einige Jahre mit meinem Massagebar die Hände eingecremt; dabei nervte es mich immer sehr, dass meine Hände danach ewig fettig waren. Ich habe dann den Tip mit der Mangobutter bekommen- die macht diesen Melt sehr viel schneller einziehend :-) Ausserdem gebe ich inzwischen Urea hinzu- daduch zieht die entstehende Spontan-Emulsion noch etwas schneller ein und die Haut kann mehr Feuchtigkeit speichern.
''Meine Erfahrung damit:'' Pflegt meine z.T. sehr trockenen Hände gut und zieht ziemlich schnell ein.
Ich mag diese festen Produkte lieber als Cremes in Dosen, da sie hübscher aussehen und ich sie angenehmer zum Verteilen finde. Außerdem spart man damit Verpackungsmüll und muss nicht konservieren, da kein Wasser enthalten ist.
''Anwendung:'' Hände mit klarem Wasser benetzen / besprühen (sie muss nicht nass sein, nur feucht), dann den Melt einfach über die Haut streichen und das Fett einmassieren. Warum vorher befeuchten: Mit dem Wasser bildet sich eine "Spontan-Emulsion", die von der Haut besser aufgenommen wird. In Cremes, Lotionen, etc. ist das Wasser schon vorhanden, somit hat sich schon eine Emulsion gebildet. Ohne Wasser kann es sein, dass die Haut nicht in der Lage ist, die Pflege aufzunehmen. Meine Haut ist sogar noch trockener geworden, als ich das noch nicht wusste und ihn auf die trockene Haut aufgetragen hab.
__Bitte nicht über 25°C lagern__- dann fängt er an, weich zu werden / zu schmelzen!"""<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 2g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 19 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten'' (19g ergibt 1 Mini-Muffin-Förmchen)<br/>
* <$calc>round({{!!gesamtmenge}} /19* 0.72,2)</$calc>g [[Bienenwachs]] (!)
* <$calc>round({{!!gesamtmenge}} /19* 5.03,2)</$calc>g [[Olivenöl]] (!)
* <$calc>round({{!!gesamtmenge}} /19* 6.69,2)</$calc>g [[Mangobutter]] (!)
* <$calc>round({{!!gesamtmenge}} /19* 5.03,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /19* 0.54,2)</$calc>g [[Urea / Harnstoff]] (?)
* <$calc>round({{!!gesamtmenge}} /19* 3,2)</$calc>-<$calc>round({{!!gesamtmenge}} /19* 4,2)</$calc> Tropfen [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Urea'' fein pulverig mörsern.
# ''Bienenwachs'' & ''Olivenöl'' im feuerfesten Rührglas auf dem Herd schmelzen.<br/>Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. Sonst gehen Inhaltsstoffe verloren!
# Wenn alles klar geschmolzen ist, dann Hitze verringern (bei mir auf Stufe 2).
# ''Mangobutter'' mitschmelzen. (Bei mir auf Stufe 2) >Sonst gehen Inhaltsstoffe verloren und Mangobutter krisselt gerne aus, wenn sie zu lange & zu stark erhitzt wird!
# Wenn alles klar geschmolzen ist, dann Herd ausstellen.
# ''Kakaobutter'' mitschmelzen, in den letzten paar Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen. Ständiges Rühren hilft beim Schmelzprozess.
# Unter Rühren auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Urea'' unterrühren.
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.
# Je nach Größe des Melts mind. 3 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst den Body Melt nun benutzen, er wird jedoch noch härter, wenn Du ihn noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
"""
''Erläuterungen:''
Die Anteile der einzelnen Zutaten & auch die Zutaten selbst können nach Bedarf variiert / ersetzt werden- je nachdem, was einem bei dem Handmelt wichtig ist.
Wachse dienen v.a. dazu, den Handmelt "hart" zu machen. Auch Kakaobutter & Mangobutter machen ihn härter- aber weit weniger als Wachse. Ausserdem bilden Wachse einen schützenden Film auf der Haut. Je höher der Schmelzpunkt, desto härter macht es den Bar.
Kakaobutter, Mangobutter & Olivenöl haben v.a. pflegende Eigenschaften. Man kann diese aber auch durch diverse andere Öle / Fette ersetzen / ergänzen. Jedes Fett hat andere Eigenschaften. Je niedriger der Schmelzpunkt ist, desto weicher wird der Bar.
Mangobutter sorgt hier für das schnellere Einziehverhalten.
Herumexperimentieren ist gefragt & Recherche. Ich hoffe, dass meine diversen Suchmöglichkeiten auch eine gute Hilfe dabei sind.
Eine gute Webseite zur Recherche über die diversen Öle ist z.B. auch http://www.olionatura.de.
Und ich hoffe, dass auch mein [[Schmelztemperatur-Rechner]] Dir beim Rezepte-Ändern hilft."""
<br/><br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis)
* Mörser
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 3 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 2-3 Tagen vorhanden (Kakaobutter härtet nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
__[[Bienenwachs]]__ (0,03€)
Bienenwachs härtet den Body Melt und hat außerdem hautpflegende Eigenschaften: Besonders für trockene, spröde Haut.
__Ersatz:__ Andere Wachse (Schmelzpunkt beachten!). Für noch schnelleres Einziehverhalten eignen sich [[Candelillawachs]], [[Carnaubawachs]] & Sonnenblumenwachs. Allerdings erschwerte sich bei mir dann das Rühren durch den höheren Schmelzpunkt. Oder ganz weglassen, dann aber den Kakaobutter-Anteil erhöhen.
__[[Olivenöl]]__ (0,06€)
Olivenöl ist sehr reichhaltig und nährend- also toll für trockene Haut.
__Ersatz:__ Eigentlich alle Öle, insbesondere diejenigen, die unter [[Zutat:Hautzustand_Trocken]] gelistet sind. Ein schneller einziehendes Öl ist [[Jojobaöl]]; bei dessen Verwendung erschwerte sich bei mir aber das Rühren- vermutlich weil es chemisch gesehen eigentlich ein Wachs ist.
__[[Mangobutter]]__ (0,27€)
Mangobutter ist ein leichtes, reizfreies, mild rückfettendes und intensiv feuchtigkeitsspendendes Lipid für jeden Hauttyp. Sie sorgt in diesem Bar für schnelleres Einziehverhalten. Macht den Bar auch härter.
__Ersatz:__ [[Sheabutter]] (Schmelzpunkt sehr viel niedriger, stärker pflegend, langsamer einziehend), [[Cupuaçubutter]] (Schmelzpunkt viel niedriger, keine Erfahrung damit).
__[[Kakaobutter]]__ (0,13€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe.
__Ersatz:__ Vollständig ersetzen würde ich sie nicht- sie sorgt dafür, dass der Bar auf der Haut zart schmilzt. Die Anteile kann man aber durchaus verändern.
__[[Urea / Harnstoff]]__ (0,01€)
Urea wirkt feuchtigkeitsbindend und Hautbarriere-stärkend- somit super für trockene Haut und lässt die Emulsion etwas schneller einziehen.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]]
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 0,50€ für 19g Gesamtmenge (1 Mini-Muffin-Förmchen). Stand März 2020.
<div style="clear:both;line-height:0px;"></div>
"""Das klingt zwar langweilig, aber man kann doch einfach pur flüssiges Tensid nehmen. Das reicht doch.
für eine 500 ml Flasche
15-30g fein geraspelte Seife (1-2 EL) - bevorzugt Olivenölseife, wenn 15g dann mit Xanthan nach-verdicken
10 g Soda (1 Tl)
10 g Glycerin ( 1 EL) optional
10 g Tensid - Betain - (1 EL) optional
2 g Natriumcitrat
1/2 g äth. Zitronenöl
ad 500 ml Wasser
Konservierung nach Wahl.
Die Seife raspeln und mit wenig 300 g heißem Wasser übergießen. Nach Auflösung der Seife, die übrigen Zutaten mit dem restlichen Wasser vorsichtig unterrühren.
seit gut 2 Jahren verwend ich nur noch das:
380 ml dest. Wasser
30 g geraspelte Seife
50 ml Aloe Vera Wasser (vom DM)
1 El Betain (opt.+ 1 El. SLSA)
1 Tl Glycerin
PÖ oder ÄÖ nach Geschmack
für eine 500 ml Flasche
15 g feingeraspelte Seife (dickt noch nach, lieber nach einem Tag noch etwas Seife dazu geben, falls die Konsistenz höher sein soll)
10 g Natron (1 Tl)
10 g Glycerin ( 1 EL)
2 g Zitronensäure (1/4 TL) (ergibt mit einem Teil von Soda Natriumcitrat)
ätherisches Orangenöl
Farbstoffe orange
ad 500 ml Wasser
ohne Konservierung
10% klein geraspelte Seife (anionisches Tensid)
5% SLSA ( oder anderes anionisches Tensid )
1% Citrat (enthärtend)
1 % Orangen-Zitronenöl (Duft-fettlösend)
1 % Salz, ganz normales Salz ohne Trennmittel (Konsistenz)
ad 100 % Wasser (Verdünnung)
rote Lebensmittelfarbe (optional)
Die Seife raspeln und mit wenig heißem Wasser übergießen. Nach Auflösung der Seife, die übrigen Zutaten mit dem restlichen Wasser vorsichtig unterrühren.
Eine Konservierung erfolgt mit 0,14 % Kaliumsorbatgranulat , bei einer pH-Einstellung um 5 mit Milchsäure.
>>
Frage von Karin: Citrat (aus Zitronensäure & Natron) >>Verhältnis von ZS und dem Natron
Antwort: ca 1,3 Teile Natron : 1 Teil Zitronensäure
ergibt mit Wasser und dann getrocknet Natriumcitrat.
Ich mache mein Spüli immer wie folgt:
200 ml Wasser
8 g Sanfteen
60 ml Betain
23 ml Plantaren
20 g Glycerin
2 ml Kalweg
das ganze mit äth. Öl (orange oder Zitrone)und Lebensmittelfarbe schön einfärben
Wir haben hier sehr kalkhaltiges Wasser und ich nehme ca. 10g Essigsäure (15%) auf 500 g Spüli (das wären eine 2% Konzentration).
ich verwende für fettiges Biozym F, meist pur, z. B. Backofen, Grillrost.
Eher pur zum putzen (z. B. Backofen) und als Vorwäsche. Reinigt sehr gut :) Hab mal gehört, dass es sich mit manchen tensiden nicht verträgt. Ins Spüli gebe ich es aber auch
"""Zutaten (ergeben 100g = 100%), Zutatenmengen sind also auch die prozentualen Anteile:
27.27g Kakaobutter
5.27g Kokosöl
12g Roggenmehl
55.27g SCI (Tensid)
9 Tropfen Ätherische Öle / Parfümöl
<div style="background:#DFFE97;">
<div style=> </div>
<img width=290 src="https://share-your-photo.com/img/db62248c60.jpg" style=" float:left;padding: 0 1em 0 0;"/>
@@background:orange;"""SCI ist nicht mehr sicher palmölfrei zu bekommen, daher habe ich es hier durch SLMI ausgetauscht.
Es scheint aber so zu sein, dass SLMI ein Produkt weniger härtet als SCI. Daher wird in diesem Rezept mehr Kakaobutter / Sheabutter und weniger Olivenöl nötig sein. Langfristig wede ich dieses Rezept daraufhin anpassen- das wird jedoch noch sehr lange dauern, da ich durch sehr viele Tests ca. 3kg "Seife" zu verbrauchen habe... Ihr müsst Euch also ggf. selbst heran tasten...
''Ihr könnt das Rezept trotzdem so rühren, wie es hier angegeben ist- der Bar wird dann halt nur weicher, ist aber trotzdem als Handwaschbar benutzbar!''"""@@
''Eigenschaft dieses Handwaschbars:'' Da dieser Bar keine gesiedete Seife ist, bezeichne ich ihn lieber als "Handwaschbar". Er hat aber die gleiche Funktion wie eine Handseife. Von der Optik her sieht er genauso aus, wie gewohnte Seife. Und er ist fast genauso fest wie "normale" Seife- nur wenn man an dünnen Kanten stark drückt, gibt er etwas nach; bemerkt man im Normalfall also gar nicht.<br/>
Er ist für die (leicht rückfettende) Reinigung von stark verschmutzten Händen gedacht.<br/><br/>
''Meine Erfahrung damit:'' Ganz neues Rezept, welches ich noch nicht sehr lang getestet habe. Dieser Handwaschbar pflegt die Hände leicht aber merklich und reinigt sie wunderbar, selbst Ölschmiere von Fahrrädern o.ä. schafft er. Wenn die Hände fettig sind, bildet sich allerdings erst bei einem 2. Händewaschen guter Schaum. Im Normalfall entsteht nicht sehr viel, aber nach meinem Empfinden einfach wundervoller Schaum :-) Ich würde ihn als sehr weich, sehr cremig, fein & dicht bezeichnen.
''Anwendung:'' Wie normale Handseife auch.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 15g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 55 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /20* 0.74,2)</$calc>g [[Olivenöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /20* 0.78,2)</$calc>g [[Lanolin]] (!!)
* <$calc>round({{!!gesamtmenge}} /20* 3.94,2)</$calc>g [[Sheabutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /20* 1.58,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /20* 2,2)</$calc>g Salz (!!)
* <$calc>round({{!!gesamtmenge}} /20* 2,2)</$calc>g [[Roggenmehl]] (!!)
* <$calc>round({{!!gesamtmenge}} /20* 9,2)</$calc>g pulverisiertes [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)<br>@@color:red;Vorsichtig & mit ruhiger Hand abwiegen!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@
* <$calc>round({{!!gesamtmenge}} /20* 2,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /20* 0.09,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
* Farbe (z.B. [[Mica]]) (?)
* Ggf. Atemschutz (z.B. kleines Tuch), um Atemwegsreizungen durch das SCI vorzubeugen
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Olivenöl mit Lanolin'' aufschmelzen <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. >Nicht zu stark erhitzen, sonst ist es der Kakaobutter später zu heiß- diese krisselt dann gerne aus und wird ggf. nicht mehr richtig fest, wenn sie zu lange & zu stark erhitzt wird!
# ''Wenn das Lanolin geschmolzen ist, Hitze verringern'' <div class="tooltip">(bei mir auf Stufe 2) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div> und ''Sheabutter'' mit aufschmelzen.
# ''Wenn die Sheabutter geschmolzen ist, Herd ausstellen und die Kakaobutter'' mit aufschmelzen- in den letzten paar Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen. Ständiges Rühren hilft beim Schmelzprozess.
# Ggf. ''Farbe'' zugeben (geht aber auch später- spätestens, wenn Du die Masse in die Form füllst). Menge nach Bedarf (bei Micas reicht oft schon 1 Messerspitze für eine pastellige Farbe).
# ''Salz'', ''Roggenmehl'' & '' SLMI (Tensid)'' unterrühren.<br/>@@color:red;Langsam rühren!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@<br/>Nicht irritieren lassen: Du wirst denken, dass Du das Milchpulver & das SLMI niemals komplett untergerührt bekommst- aber es klappt! Einfach weiterrühren- es wird nach einigen Sekunden eine Masse ähnlich wie mittelfester Teig.
# Auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.
# Je nach Größe des Bars mind. 2 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst die Seife nun benutzen, sie wird jedoch noch härter, wenn Du sie noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 3 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 3-5 Tagen vorhanden (Kakaobutter & SLMI härten nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Olivenöl]] (0,03€)
Olivenöl ist sehr reichhaltig und nährend- also toll für trockene Haut. Und da es ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Lanolin]] (0,22€)
Lanolin macht die Haut weich, bindet ein Vielfaches an Wasser und wirkt ko-emulgierend. Und da es ein Lipid ist, mildert es das Tensid / pflegt die Haut. Es ist sehr wertvoll für trockene Haut.
[[Sheabutter]] (0,41€)
Sheabutter wirkt hautberuhigend, feuchtigkeitsspendend und nährend- also toll für trockene Haut. Und da es ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Kakaobutter]] (0,11€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe. Hier v.a. als Trägermaterial eingesetzt, welches den Bar härtet. Und da Kakaobutter ein Fett ist, mildert es das Tensid / pflegt die Haut.
Salz (0,03€)
Entfernt groben Schmutz durch leichte Peelingwirkung.
[[Roggenmehl]] (nicht mal 0,01€)
__Kurz__: Streckt den Bar, sorgt für besseren Schaum und pflegt die Haut / mildert das Tensid und sorgt dafür, dass z.B. Ölschmiere von Fahrzeugen keine glitschige Schmiere auf dem Handwaschbar verursacht.
__Lang__: Viele Dusch- & Shampoobars haben Stärke mit drin- diese streckt den Bar einfach nur, ohne weitere Wirkung. Ich fand das blöd, dass diese Zutat sonst keine reinigende oder pflegende Eigenschaft hat. Da viele Menschen ihre Haare nur mit einem Roggenmehl-Wasser-Mix waschen (reinigende UND pflegende Wirkung), probierte ich diesen Mix auf der Haut aus >> sie fühlte sich weniger trocken an als vorher, also pflegt Roggenmehl auch die Haut. Beim Händewaschen habe ich bei einem Handwaschbar //mit// Roggenmehl genau den gleichen Verbrauch wie bei einem Bar //ohne// Roggenmehl.
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,73€)
Reinigt auf sehr milde Art die Haut und sorgt für den (cremigen) Schaum.
Farbe (z.B. [[Mica]])
Ich habe den Bar schwarz eingefärbt, da er durch das Waschen der sehr dreckigen Hände mit der Zeit sonst echt sch**** aussehen würde ;-)
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser & die ätherischen Öle / Parfümöle.
''Haltbarkeit:'' So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 1,54€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst und ohne Farbe, da ich dafür die Gramm-Anzahl nicht abschätzen kann) für 55g Gesamtmenge. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/a6610466ce.jpg" style=" float:left;padding: 0 1em 0 0;"/>
@@background:orange;"""SCI ist nicht mehr sicher palmölfrei zu bekommen, daher habe ich es hier durch SLMI ausgetauscht.
Es scheint aber so zu sein, dass SLMI ein Produkt weniger härtet als SCI. Daher wird in diesem Rezept mehr Kakaobutter und weniger Kokosöl nötig sein. Langfristig wede ich dieses Rezept daraufhin anpassen- das wird jedoch noch sehr lange dauern, da ich durch sehr viele Tests ca. 3kg "Seife" zu verbrauchen habe... Ihr müsst Euch also ggf. selbst heran tasten...
''Ihr könnt das Rezept trotzdem so rühren, wie es hier angegeben ist- der Bar wird dann halt nur weicher, ist aber trotzdem als Handwaschbar benutzbar!<br/>Oder Du verwendest den [[Duschbar (Dusch-'Seife')]] als Handwaschbar- funktioniert auch :-)''"""@@
''Eigenschaft dieses Handwaschbars:'' Da dieser Bar keine gesiedete Seife ist, bezeichne ich ihn lieber als "Handwaschbar". Er hat aber die gleiche Funktion wie eine Handseife. Von der Optik her sieht er fast genauso aus, wie gewohnte Seife- nur die Farbe ist etwas "erdiger"- das liegt am Roggenmehl.<br/>
''Meine Erfahrung damit:'' Dieser Handwaschbar reinigt die Hände sehr gut (entfettet allerdings auch ganz schön), sogar Fahrradschmiere schafft er :-) Wenn ich am Abend vorher die Hände stark eingecremt habe, bildet sich erst nach einem 2. Händewaschen wieder guter Schaum. Im Normalfall entsteht nicht sehr viel, aber nach meinem Empfinden einfach wundervoller Schaum :-) Ich würde ihn als sehr weich, cremig & mittelfein bezeichnen.
''Anwendung:'' Wie normale Handseife auch.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 15g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 55 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@<br/>
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /55* 16.5,2)</$calc>g [[Kokosöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 1.1,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 5.5,2)</$calc>g [[Roggenmehl]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 31.9,2)</$calc>g pulverisiertes [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)<br>@@color:red;Vorsichtig & mit ruhiger Hand abwiegen!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@
* <$calc>round({{!!gesamtmenge}} /55* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /55* 0.22,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
* Farbe (z.B. [[Mica]]) (?)
* Ggf. Atemschutz (z.B. kleines Tuch), um Atemwegsreizungen durch das SCI vorzubeugen
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Kokosöl'' klar aufschmelzen.<br/>Nicht zu stark erhitzen <div class="tooltip">(bei mir auf Stufe 2,5) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. >Sonst ist es der Kakaobutter zu heiß- diese krisselt dann gerne aus und wird ggf. nicht mehr richtig fest, wenn sie zu lange & zu stark erhitzt wird!
# ''Wenn das Kokosöl geschmolzen ist, Herd ausstellen und die Kakaobutter'' mit aufschmelzen- in den letzten paar Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen. Ständiges Rühren hilft beim Schmelzprozess.
# Ggf. ''Farbe'' zugeben (geht aber auch später- spätestens, wenn Du die Masse in die Form füllst). Menge nach Bedarf (bei Micas reicht oft schon 1 Messerspitze für eine pastellige Farbe).
# ''Roggenmehl'' & '' SLMI (Tensid)'' unterrühren.<br/>@@color:red;Langsam rühren!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@<br/>Nicht irritieren lassen: Du wirst denken, dass Du das Mehl & das SLMI niemals komplett untergerührt bekommst- aber es klappt! Einfach weiterrühren- es wird nach einigen Sekunden eine Masse ähnlich wie fester Teig.
# Auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.<br/>Wenn Du eine Form mit Verzierungen hast wie bei den abgebildeten Bars, musst Du die Masse in die Vertiefungen eindrücken, da sie nicht fließfähig ist. Sonst entstehen kleine Löcher im fertigen Bar.
# Je nach Größe des Bars mind. 2 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst die Seife nun benutzen, sie wird jedoch noch härter, wenn Du sie noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 3 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 3-5 Tagen vorhanden (Kakaobutter & SLMI härten nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kokosöl]] (0,28€)
Kokosöl lässt sich sehr leicht verteilen und zieht schnell ein, ohne einen Fettfilm auf der Haut zu hinterlassen. Besonders trockene, rissige und empfindliche Haut profitiert vom Kokosöl. Außerdem wirkt es <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungshemmend und <div class="tooltip">antimikrobiell
<span class="tooltiptext">=desinfizierend=gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>. Hier v.a. als Trägermaterial eingesetzt, welches die Schaumbildung unterstützt. Und da Kokosöl ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Kakaobutter]] (0,03€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe. Hier v.a. als Trägermaterial eingesetzt, welches den Bar härtet. Und da Kakaobutter ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Roggenmehl]] (0,01€)
__Kurz__: Streckt den Bar, sorgt für besseren Schaum und pflegt die Haut / mildert das Tensid.
__Lang__: Viele Dusch- & Shampoobars haben Stärke mit drin- diese streckt den Bar einfach nur, ohne weitere Wirkung. Ich fand das blöd, dass diese Zutat sonst keine reinigende oder pflegende Eigenschaft hat. Da viele Menschen ihre Haare nur mit einem Roggenmehl-Wasser-Mix waschen (reinigende UND pflegende Wirkung), probierte ich diesen Mix auf der Haut aus >> sie fühlte sich weniger trocken an als vorher, also pflegt Roggenmehl auch die Haut. Beim Händewaschen habe ich bei einem Handwaschbar //mit// Roggenmehl genau den gleichen Verbrauch wie bei einem Bar //ohne// Roggenmehl.
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,94€)
Reinigt auf sehr milde Art die Haut und sorgt für den (cremigen) Schaum.
Farbe (z.B. [[Mica]])
Durch das Roggenmehl im Rezept werden die Farben erdiger. Bei dem linken grünen Bar habe ich 4 große Messerspitzen Mica "Malachgreen" direkt zu den Fetten gegeben.
Den rechten blau-weißen Bar habe ich mit Mica marmoriert: Rezept fertig rühren, vor dem Einfüllen in die Form einen kleinen Teil der Masse abteilen und stark mit dem Mica einfärben (bei diesem habe ich in 1/4 der Masse 3 Messerspitzen Mica "Sweet Baby Blue" vollständig eingerührt). Dann erst die ungefärbte Masse in die Form füllen, darauf die gefärbte Masse und diese dann wie Eischnee unterheben.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser, antibakterielles Kokosöl & die ätherischen Öle / Parfümöle.
''Haltbarkeit:'' So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 1,26€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst und ohne Farbe, da ich dafür die Gramm-Anzahl nicht abschätzen kann) für 55g Gesamtmenge. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=300 src="https://share-your-photo.com/img/53e30c5adb.jpg" style=" float:left;padding: 0 1em 0 0;"/>
@@background:orange;"""SCI ist nicht mehr sicher palmölfrei zu bekommen, daher habe ich es hier durch SLMI ausgetauscht.
Es scheint aber so zu sein, dass SLMI ein Produkt weniger härtet als SCI. Daher wird in diesem Rezept mehr Kakaobutter und weniger Olivenöl nötig sein. Langfristig wede ich dieses Rezept daraufhin anpassen- das wird jedoch noch sehr lange dauern, da ich durch sehr viele Tests ca. 3kg "Seife" zu verbrauchen habe... Ihr müsst Euch also ggf. selbst heran tasten...
''Ihr könnt das Rezept trotzdem so rühren, wie es hier angegeben ist- der Bar wird dann halt nur weicher, ist aber trotzdem als Handwaschbar benutzbar!<br/>Oder Du verwendest den [[Duschbar (Dusch-'Seife')]] als Handwaschbar- funktioniert auch :-)''"""@@
''Eigenschaft dieses Handwaschbars:'' Da dieser Bar keine gesiedete Seife ist, bezeichne ich ihn lieber als "Handwaschbar". Er hat aber die gleiche Funktion wie eine Handseife. Von der Optik her sieht er genauso aus, wie gewohnte Seife. Und er ist fast genauso fest wie "normale" Seife- nur wenn man an dünnen Kanten stark drückt, gibt er etwas nach; bemerkt man im Normalfall also gar nicht.<br/>
Er ist für die Reinigung von leicht bis mittelprächtig verschmutzten Händen gedacht.<br/>
Dieser Handwaschbar ist mit Olivenöl eine etwas regionalere Variante. Warum kein "deutsches" Öl? 1. Gibt es kaum Öle in Bioqualität, die in Deutschland hergestellt werden. Und 2. wollte ich ein stark hautnährendes Öl- da ist Olivenöl das regionalste Öl. Außerdem ist in diesem Handwaschbar Schafmilchpulver anstatt Roggenmehl. Schafmilchpulver färbt den Bar im Gegensatz zu Roggenmehl nicht so erdig, sondern lediglich ganz leicht gelblich. Und Roggenmehl gibt einem Handwaschbar ein etwas "sandiges" Gefühl- das macht Schafmilchpulver nicht.<br/>
Langfristig werde ich auch noch einen stark reinigenden Handwaschbar (Handwerker-Handwaschbar) entwickeln.<br/><br/>
''Meine Erfahrung damit:'' Dieser Handwaschbar reinigt die Hände wunderbar, sogar Fahrradschmiere entfernt er größtenteils. Dabei wirkt er leicht pflegend / rückfettend. Wenn ich am Abend vorher die Hände stark eingecremt habe, bildet sich auch erst nach einem 2. Händewaschen wieder guter Schaum. Im Normalfall entsteht nicht sehr viel, aber nach meinem Empfinden einfach wundervoller Schaum :-) Ich würde ihn als sehr weich, cremig, fein & dicht bezeichnen.
''Anwendung:'' Wie normale Handseife auch.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 15g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 55 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /55* 10.17,2)</$calc>g [[Olivenöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 9.35,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 6.05,2)</$calc>g [[Schafmilchpulver|Milchpulver]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 29.42,2)</$calc>g pulverisiertes [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)<br>@@color:red;Vorsichtig & mit ruhiger Hand abwiegen!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@
* <$calc>round({{!!gesamtmenge}} /55* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /55* 0.22,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
* Farbe (z.B. [[Mica]]) (?)
* Ggf. Atemschutz (z.B. kleines Tuch), um Atemwegsreizungen durch das SCI vorzubeugen
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Olivenöl'' leicht erhitzen <div class="tooltip">(bei mir auf Stufe 2,5) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. >Nicht zu stark erhitzen, sonst ist es der Kakaobutter zu heiß- diese krisselt dann gerne aus und wird ggf. nicht mehr richtig fest, wenn sie zu lange & zu stark erhitzt wird!
# ''Nach ein paar Minuten Herd ausstellen und die Kakaobutter'' mit aufschmelzen- in den letzten paar Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen. Ständiges Rühren hilft beim Schmelzprozess.
# Ggf. ''Farbe'' zugeben (geht aber auch später- spätestens, wenn Du die Masse in die Form füllst). Menge nach Bedarf (bei Micas reicht oft schon 1 Messerspitze für eine pastellige Farbe).
# ''Schafmilchpulver'' & '' SLMI (Tensid)'' unterrühren.<br/>@@color:red;Langsam rühren!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@<br/>Nicht irritieren lassen: Du wirst denken, dass Du das Milchpulver & das SLMI niemals komplett untergerührt bekommst- aber es klappt! Einfach weiterrühren- es wird nach einigen Sekunden eine Masse ähnlich wie fester Teig.
# Auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.<br/>Wenn Du eine Form mit Verzierungen hast wie bei den abgebildeten Bars, musst Du die Masse in die Vertiefungen eindrücken, da sie nicht fließfähig ist. Sonst entstehen kleine Löcher im fertigen Bar.
# Je nach Größe des Bars mind. 2 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst die Seife nun benutzen, sie wird jedoch noch härter, wenn Du sie noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 3 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 3-5 Tagen vorhanden (Kakaobutter & SLMI härten nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Olivenöl]] (0,12€)
Olivenöl ist sehr reichhaltig und nährend- also toll für trockene Haut. Und da es ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Kakaobutter]] (0,25€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe. Hier v.a. als Trägermaterial eingesetzt, welches den Bar härtet. Und da Kakaobutter ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Schafmilchpulver|Milchpulver]] (0,18€)
__Kurz__: Streckt den Bar, sorgt für besseren Schaum und pflegt die Haut / mildert das Tensid.
__Lang__: Viele Dusch- & Shampoobars haben Stärke mit drin- diese streckt den Bar einfach nur, ohne weitere Wirkung. Ich fand das blöd, dass diese Zutat sonst keine reinigende oder pflegende Eigenschaft hat. Hier habe ich sie durch Schafmilchpulver ersetzt, da dieses die Haut zusätzlich pflegt und nährt. Beim Händewaschen habe ich bei einem Handwaschbar //mit// Schafmilchpulver genau den gleichen Verbrauch wie bei einem Bar //ohne// Schafmilchpulver.
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,87€)
Reinigt auf sehr milde Art die Haut und sorgt für den (cremigen) Schaum.
Farbe (z.B. [[Mica]])
Bei dem linken grünen Bar habe ich 4 große Messerspitzen Mica "Malachgreen" direkt zu den Fetten gegeben.
Den rechten blau-weißen Bar habe ich mit Mica marmoriert: Rezept fertig rühren, vor dem Einfüllen in die Form einen kleinen Teil der Masse abteilen und stark mit dem Mica einfärben (bei diesem habe ich in 1/4 der Masse 3 Messerspitzen Mica "Sweet Baby Blue" vollständig eingerührt). Dann erst die ungefärbte Masse in die Form füllen, darauf die gefärbte Masse und diese dann wie Eischnee unterheben.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser & die ätherischen Öle / Parfümöle.
''Haltbarkeit:'' So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 1,42€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst und ohne Farbe, da ich dafür die Gramm-Anzahl nicht abschätzen kann) für 55g Gesamtmenge. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=339 src="https://share-your-photo.com/img/b14f71bbb9.jpg" style=" float:left;padding: 0 1em 0 0;"/>
@@background:orange;"""SCI ist nicht mehr sicher palmölfrei zu bekommen, daher habe ich es hier durch SLMI ausgetauscht.
Es scheint aber so zu sein, dass SLMI ein Produkt weniger härtet als SCI. Daher wird in diesem Rezept mehr Kakaobutter / Sheabutter und weniger Olivenöl nötig sein. Langfristig wede ich dieses Rezept daraufhin anpassen- das wird jedoch noch sehr lange dauern, da ich durch sehr viele Tests ca. 3kg "Seife" zu verbrauchen habe... Ihr müsst Euch also ggf. selbst heran tasten...
''Ihr könnt das Rezept trotzdem so rühren, wie es hier angegeben ist- der Bar wird dann halt nur weicher, ist aber trotzdem als Handwaschbar benutzbar!<br/>Oder Du verwendest den [[Duschbar (Dusch-'Seife')]] als Handwaschbar- funktioniert auch :-)''"""@@
''Eigenschaft dieses Handwaschbars:'' Da dieser Bar keine gesiedete Seife ist, bezeichne ich ihn lieber als "Handwaschbar". Er hat aber die gleiche Funktion wie eine Handseife. Von der Optik her sieht er genauso aus, wie gewohnte Seife. Und er ist fast genauso fest wie "normale" Seife- nur wenn man an dünnen Kanten stark drückt, gibt er etwas nach; bemerkt man im Normalfall also gar nicht.<br/>
Er ist für die (leicht rückfettende) Reinigung von leicht verschmutzten & wenig fettigen Händen gedacht. Dies ist ja der Normalfall (staubige Hände, nach dem Toilettengang, etc.). Prädistiniert für sehr trockene / gereizte / empfindliche Hände.<br/>
Vor der Entwicklung dieses Bars (47 "Versuche"...) habe ich gedacht, es wäre nicht möglich & sinnvoll, einen rückfettenden Handwaschbar zu entwickeln. Ich war bis dahin der Meinung, dass es sinnvoller sei, die Pflege von der Reinigung komplett zu trennen, da ja Tenside nunmal Fett entfernen- die Reinigung also die Pflege aufhebt. Da mich aber eine Freundin darum bat und mein Ehrgeiz erwacht war, habe ich mich dann doch an die Arbeit gemacht ;-) Meine daraufhin entstandene Idee war, nicht eine größere Menge an Lipiden zu verwenden, sondern die bisher verwendeten Lipide durch die am stärksten nährenden und rückfettenden Lipide zu ersetzen, die mir bisher bekannt sind. Diese Idee funktionierte und ich brauchte den Bar nun "nur" noch zu verfeinern.<br/>
Mit Olivenöl- eine etwas regionalere Variante. Warum kein "deutsches" Öl? 1. Gibt es kaum Öle in Bioqualität, die in Deutschland hergestellt werden. Und 2. wollte ich ein stark hautnährendes Öl- da ist Olivenöl das regionalste Öl. Außerdem ist in diesem Handwaschbar Schafmilchpulver anstatt Roggenmehl. Schafmilchpulver färbt den Bar im Gegensatz zu Roggenmehl nicht so erdig, sondern lediglich ganz leicht gelblich. Und Roggenmehl gibt einem Handwaschbar ein etwas "sandiges" Gefühl- das macht Schafmilchpulver nicht.<br/><br/>
''Meine Erfahrung damit:'' Dieser Handwaschbar pflegt die Hände leicht aber merklich und reinigt sie wunderbar, solange sie nicht heftig verschmutzt bzw. fettig sind- z.B. Ölschmiere von Fahrrädern o.ä. schafft er nicht. Wenn ich am Abend vorher die Hände stark eingecremt habe, bildet sich auch erst nach einem 2. Händewaschen wieder guter Schaum. Im Normalfall entsteht nicht sehr viel, aber nach meinem Empfinden einfach wundervoller Schaum :-) Ich würde ihn als sehr weich, sehr cremig, fein & dicht bezeichnen.
''Anwendung:'' Wie normale Handseife auch.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 15g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 55 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /55* 2.91,2)</$calc>g [[Olivenöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 3.41,2)</$calc>g [[Lanolin]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 19.41,2)</$calc>g [[Sheabutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 3.3,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 1.65,2)</$calc>g [[Schafmilchpulver|Milchpulver]] (!!)
* <$calc>round({{!!gesamtmenge}} /55* 24.25,2)</$calc>g pulverisiertes [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)<br>@@color:red;Vorsichtig & mit ruhiger Hand abwiegen!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@
* <$calc>round({{!!gesamtmenge}} /55* 5,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /55* 0.22,2)</$calc>g) [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
* Farbe (z.B. [[Mica]]) (?)
* Ggf. Atemschutz (z.B. kleines Tuch), um Atemwegsreizungen durch das SCI vorzubeugen
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Olivenöl mit Lanolin'' aufschmelzen <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. >Nicht zu stark erhitzen, sonst ist es der Kakaobutter später zu heiß- diese krisselt dann gerne aus und wird ggf. nicht mehr richtig fest, wenn sie zu lange & zu stark erhitzt wird!
# ''Wenn das Lanolin geschmolzen ist, Hitze verringern'' <div class="tooltip">(bei mir auf Stufe 2) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div> und ''Sheabutter'' mit aufschmelzen.
# ''Wenn die Sheabutter geschmolzen ist, Herd ausstellen und die Kakaobutter'' mit aufschmelzen- in den letzten paar Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen. Ständiges Rühren hilft beim Schmelzprozess.
# Ggf. ''Farbe'' zugeben (geht aber auch später- spätestens, wenn Du die Masse in die Form füllst). Menge nach Bedarf (bei Micas reicht oft schon 1 Messerspitze für eine pastellige Farbe).
# ''Schafmilchpulver'' & '' SLMI (Tensid)'' unterrühren.<br/>@@color:red;Langsam rühren!! Pulverisiertes SLMI staubt sehr schnell, was zu Atemwegsreizungen führt.@@<br/>Nicht irritieren lassen: Du wirst denken, dass Du das Milchpulver & das SLMI niemals komplett untergerührt bekommst- aber es klappt! Einfach weiterrühren- es wird nach einigen Sekunden eine Masse ähnlich wie flüssiger Pfannkuchenteig.
# Auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Ätherische Öle / Parfümöle'' nach Bedarf unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.
# Je nach Größe des Bars mind. 2 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst die Seife nun benutzen, sie wird jedoch noch härter, wenn Du sie noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 3 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 3-5 Tagen vorhanden (Kakaobutter & SLMI härten nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Olivenöl]] (0,04€)
Olivenöl ist sehr reichhaltig und nährend- also toll für trockene Haut. Und da es ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Lanolin]] (0,35€)
Lanolin macht die Haut weich, bindet ein Vielfaches an Wasser und wirkt ko-emulgierend. Und da es ein Lipid ist, mildert es das Tensid / pflegt die Haut. Es ist sehr wertvoll für trockene Haut.
[[Sheabutter]] (0,74€)
Sheabutter wirkt hautberuhigend, feuchtigkeitsspendend und nährend- also toll für trockene Haut. Und da es ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Kakaobutter]] (0,08€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe. Hier v.a. als Trägermaterial eingesetzt, welches den Bar härtet. Und da Kakaobutter ein Fett ist, mildert es das Tensid / pflegt die Haut.
[[Schafmilchpulver|Milchpulver]] (0,05€)
__Kurz__: Streckt den Bar, sorgt für besseren Schaum und pflegt die Haut / mildert das Tensid.
__Lang__: Viele Dusch- & Shampoobars haben Stärke mit drin- diese streckt den Bar einfach nur, ohne weitere Wirkung. Ich fand das blöd, dass diese Zutat sonst keine reinigende oder pflegende Eigenschaft hat. Hier habe ich sie durch Schafmilchpulver ersetzt, da dieses die Haut zusätzlich pflegt und nährt. Beim Händewaschen habe ich bei einem Handwaschbar //mit// Schafmilchpulver genau den gleichen Verbrauch wie bei einem Bar //ohne// Schafmilchpulver.
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,72€)
Reinigt auf sehr milde Art die Haut und sorgt für den (cremigen) Schaum.
Farbe (z.B. [[Mica]])
Bei dem linken grünen Bar habe ich 4 große Messerspitzen Mica "Malachgreen" direkt zu den Fetten gegeben.
Den rechten blau-weißen Bar habe ich mit Mica marmoriert: Rezept fertig rühren, vor dem Einfüllen in die Form einen kleinen Teil der Masse abteilen und stark mit dem Mica einfärben (bei diesem habe ich in 1/4 der Masse 3 Messerspitzen Mica "Sweet Baby Blue" vollständig eingerührt). Dann erst die ungefärbte Masse in die Form füllen, darauf die gefärbte Masse und diese dann wie Eischnee unterheben.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (Kosten: Kommt drauf an, welche Du nimmst)
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser & die ätherischen Öle / Parfümöle.
''Haltbarkeit:'' So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 1,98€ (ohne Duftöle, da ich nicht weiß, welche Du nimmst und ohne Farbe, da ich dafür die Gramm-Anzahl nicht abschätzen kann) für 55g Gesamtmenge. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Cannabis Sativa (Hemp) Seed Oil
''Jodzahl:'' 148–167 (halbtrocken/trocken)
''Schmelzbereich:'' -27 bis -15°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' 0,5–1,5%
''Verseifungszahl:'' 190–195
Seine __entzündungshemmende__ Wirkung bewährt sich auch bei Hauterkrankungen wie __Neurodermitis__. Dies liegt u.a. am geringen Gehalt an Gamma-Linolensäure, die nur in Nachtkerzen-, Borretschsamen- und Johannisbeersamenöl in nennenswerter Menge vorkommt. Die wertvolle α-Linolensäure verleiht dem Hanföl stark regenerierende und zellerneuernde Eigenschaften, die es sowohl für einen Einsatz bei __trockener als auch bei reifer Haut__ prädestinieren.
Hanföl mit seinen über 80% mehrfach ungesättigten Fettsäuren sollte daher kühl, gut verschlossen und dunkel gelagert werden; sein hoher Gehalt an antioxidativ wirksamem γ-Tocopherol gibt ihm jedoch einen gewissen »Eigenschutz«. Hanföl profitiert von einer Kombination mit ölsäurehaltigen Ölen wie z. B. Avocado-, Mandel-, Argan- oder Haselnussöl. Besonders empfehlenswert ist es in einer Mischung mit dem außerordentlich oxidationsstabilen Marulaöl, das nicht nur das Fettsäurespektrum hervorragend ergänzt, sondern auch das Hanföl stabilisiert. Im Hautgefühl ist es dem Wildrosenöl sehr ähnlich; es __zieht haptisch gut ein__ und __macht die Haut ausgeprochen glatt und weich__.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Hanföl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Hanföl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Corylus avellana (Hazel) Seed Oil
''Jodzahl:'' 83–90 (nicht trocken)
''Schmelzbereich:'' -20 bis -10°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 9 Monate
''Anteile an Unverseifbarem:'' 0,2–0,3%
''Verseifungszahl:'' 188–197
__Trockene und spröde Haut, sehr gutes Massageöl. Basisöl in der Aromapflege.__
Das dezent duftende, wohlriechende Haselnussöl ist durch den hohen Ölsäuregehalt ein __sehr gutes Massageöl__, das langsam, jedoch gut einzieht und haptisch leicht »einhüllend« wirkt. Daneben wird ihm eine __straffende, gefäßverengende und gewebefestigende Wirkung__ zugeschrieben.
Der Tocopherolgehalt ist nicht auffallend hoch, besteht jedoch vorwiegend aus aktivem α-Tocopherol, das __hautglättend__ wirkt und gegen freie Radikale wirksam ist. Für den kosmetischen Einsatz ist die ungeröstete Variante vorzuziehen (stark riechende Öle verdanken diese Eigenschaft in der Regel einer vorherigen Röstung der Nüsse).
In einer ausgewogenen Mischung bei __trockenen Hautzuständen__ kannst Du Haselnussöl mit linolsäure-betonten Ölen und einer Pflanzenbutter mischen, die schützende gesättigte Fettsäuren und Phytosterole ergänzt. Nussallergiker müssen jedoch vorsichtig sein, Haselnüsse gehören zu den bekanntesten Allergenen.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Haselnussöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Haselnussöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Hausstaubmilben-Allergie:''<br/><br/>
<$list filter="[tag[Hausstaubmilben-Allergie]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Hausstaubmilben-Allergie:''<br/><br/>
<$list filter="[tag[Hausstaubmilben-Allergie]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Peelings erleichtern die Hauterneuerung, indem sie die abgestorbenen Hautschuppen mechanisch entfernen. Die folgende Behandlung kannst du 1x pro Woche anwenden. Sie beugt gegen Pickel vor, erfrischt und strafft die Haut.
''Zutaten''
* 2 Esslöffel [[Apfelessig]]
* 1 Schüssel
* 1 Handtuch
* 1 Leinen- oder Baumwolltuch
* warmes Wasser
# Lege ein warmes, feuchtes Handtuch für 2 Minuten auf, um die Poren zu weiten.
# Gib den naturtrüben Apfelessig in eine Schüssel mit warmem Wasser.
# Tränke das Leinentuch in der Lösung.
# Lege es auf die Haut und beschwere es mit dem feuchten Handtuch.
# Lasse den Apfelessig fünf Minuten einwirken.
# Wasche die Haut gründlich mit warmem Wasser.
# Mit dem feuchten Handtuch kannst reibst du die Fläche gründlich ab. Hartnäckige Hautschuppen lösen sich problemlos.
__Tip:__ Bestens geeignet ist ein härteres Handtuch mit grober Struktur, welches ohne Weichspüler gewaschen wurde.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
''Alle getesteten Rezepte bei fettiger Haut:''<br/><br/>
<$list filter="[tag[Haut: Fettig]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei fettiger Haut:''<br/><br/>
<$list filter="[tag[Haut: Fettig]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei gereizter Haut:''<br/><br/>
<$list filter="[tag[Haut: Gereizt]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei gereizter Haut:''<br/><br/>
<$list filter="[tag[Haut: Gereizt]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Mischhaut:''<br/><br/>
<$list filter="[tag[Haut: Mischhaut]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Mischhaut:''<br/><br/>
<$list filter="[tag[Haut: Mischhaut]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei normaler Haut:''<br/><br/>
<$list filter="[tag[Haut: Normal]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei normaler Haut:''<br/><br/>
<$list filter="[tag[Haut: Normal]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei reifer Haut:''<br/><br/>
<$list filter="[tag[Haut: Reif]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei reifer Haut:''<br/><br/>
<$list filter="[tag[Haut: Reif]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei trockener Haut:''<br/><br/>
<$list filter="[tag[Haut: Trocken]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei trockener Haut:''<br/><br/>
<$list filter="[tag[Haut: Trocken]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei unreiner Haut:''<br/><br/>
<$list filter="[tag[Haut: Unrein]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei unreiner Haut:''<br/><br/>
<$list filter="[tag[Haut: Unrein]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Hautjucken:''<br/><br/>
<$list filter="[tag[Hautjucken]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Hautjucken:''<br/><br/>
<$list filter="[tag[Hautjucken]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte zur Hautpflege:''<br/><br/>
<$list filter="[tag[Akne]] [tag[Baden]] [tag[Fußgeruch]] [tag[Haut: Fettig]] [tag[Haut: Trocken]] [tag[Haut: Unrein]] [tag[Hautreinigung]] [tag[Hornhaut]] [tag[Körpergeruch]] [tag[Lippenpflege]] [tag[Pickel]] [tag[Rasur]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Hautpflege:''<br/><br/>
<$list filter="[tag[Akne]] [tag[Baden]] [tag[Fußgeruch]] [tag[Haut: Fettig]] [tag[Haut: Trocken]] [tag[Haut: Unrein]] [tag[Hautreinigung]] [tag[Hornhaut]] [tag[Körpergeruch]] [tag[Lippenpflege]] [tag[Pickel]] [tag[Rasur]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Hautpilz:''<br/><br/>
<$list filter="[tag[Hautpilz]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Hautpilz:''<br/><br/>
<$list filter="[tag[Hautpilz]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Problemen betreffend Hautprobleme:''<br/><br/>
<$list filter="[tag[Fußgeruch]] [tag[Hautjucken]] [tag[Hautparasiten]] [tag[Hautpilz]] [tag[Herpes]] [tag[Insektenstich]] [tag[Körpergeruch]] [tag[Krampfadern & Co.]] [tag[Lippenbläschen]] [tag[Narben]] [tag[Neurodermitis]] [tag[Schuppenflechte]] [tag[Schwellung]] [tag[Schwitzen]] [tag[Sonnenbrand]] [tag[Verbrennung (kleine)]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte bei Problemen betreffend Hautprobleme:''<br/><br/>
<$list filter="[tag[Fußgeruch]] [tag[Hautjucken]] [tag[Hautparasiten]] [tag[Hautpilz]] [tag[Herpes]] [tag[Insektenstich]] [tag[Körpergeruch]] [tag[Krampfadern & Co.]] [tag[Lippenbläschen]] [tag[Narben]] [tag[Neurodermitis]] [tag[Schuppenflechte]] [tag[Schwellung]] [tag[Schwitzen]] [tag[Sonnenbrand]] [tag[Verbrennung (kleine)]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte zur Hautreinigung:''<br/><br/>
<$list filter="[tag[Hautreinigung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Hautreinigung:''<br/><br/>
<$list filter="[tag[Hautreinigung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Besonders bei unreiner und fettiger Haut kann eine verdünnte Apfelessig-Mischung Abhilfe schaffen.
Aber auch jeder andere Hauttyp profitiert von der durchblutungsfördernden Reinigung, die die Haut erfrischt und gleichzeitig ein strafferes Gefühl verleiht."""
''Zutaten''
* 2-3 EL naturtrüber [[Apfelessig]]
* 1 Liter Wasser
Miteinander vermischen.
Trage diese Mischung nach der normalen Reinigung mit einem Waschlappen oder Kosmetikpads auf und verreibe die Flüssigkeit sanft.
Trockne die Haut mit einem Handtuch ab.
Diese Reinigung kannst du auch großflächig nach dem Duschen auf dem ganzen Körper anwenden.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""''Schon ausprobiert (wasserfrei): Lanolin, Sheabutter, Bienenwachs, Panthenol''
25g Lanolin
25g unraff. Sheabutter
5g Bienenwachs
25ml dest. Wasser
Wirkstoffe:
20g Ringelblumenöl
10ml Panthenol
eventuell 5g Zinkoxid (das Hautgefühl kann kreidig werden ausserdem trocknet es die Haut aus, wirkt aber)
Wird eine feste, gut verteilbare Creme, mit der fast alles blitzartig abheilt.
Ich sag dir was. Diese Mischung würde ich nicht nachmachen.
Z.B Panthenol und Lanolin sind viel zu hoch angesetzt. (aber evtl. für medizinischen Zweck doch richtig so??)
Falls jemandem von euch das normale Rezept zu hart ist einfach das Bienenwachs weglassen, dann zieht sie schneller ein, ist von der Konsistenz penatenartig, fäenziehend und hinterlässt nicht in dem Maße einen Schutzfilm.
Das ist bei Verletzungen eigentlich praktischer.
Hier nochmal das Rezept für WEICHE Behbanten:
25g Lanolin
25g unraff. Sheabutter
25ml dest. Wasser
Wirkstoffe:
20g Ringelblumenöl
10ml Panthenol
eventuell 5g Zinkoxid (macht ein kreidiges Gefühl, für nässende Verletzungen besonders geeignet)
Ich hab noch eine feste Variante für Babypopo und Co.
25 g Sheabutter
20 g Öl
5 g Panthenol
2,5 g Zinkoxyd
Gibt einen Schutzfilm über wunde Haut. Und für mich das Wichtigste, ich muss nicht konservieren, was mir bei offenen Stellen nicht taugt.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""auf 100 g Creme:
15 g Zinkoxid
5 g Titanoxid (kann man weglassen, nur ein weißpigment und hat sonst keine heilende wirkung)
30 g Lanolin (als Alternative soll Olivem 900 gut sein, habe ich gelesen, aber noch nicht selbst ausprobiert! Ich habe die 30g Lanolin ersetzt durch 30g einer Bienenwachs-Sonnenblumenöl-Mischung im Verhältnis 1:4, das ergibt von der Konsistenz her eine "lanolinige" Salbengrundlage)
10 g Bienenwachs
20 g Ringelblumenöl
10 g Jojoba
10 g Shea
10 Tr. Lavendelöl
Alle Öle, außer Shea, und Bienenwachs schmelzen, Shea einrühren und das ganze über das, fein gemörserte Zink- und Titanoxid gießen, mit dem Handmixer kräftig durchrühren, bis keine Bröckchen mehr drinn sind und dann kühl stellen.
Nochmal ein Langzeitergebnis:
Was ich an der Salbe sehr schätze: sie bleibt , wo sie
hingehört .
Kleines Minus: sie ist auf Dauer zu austrocknend und
im zweiten Heilstadium kann ich sie nicht mehr
einsetzen, da ich dann mehr Pflege brauche.
"""100gr=100%
alle angaben in prozent
20 Olivenöl
20 Jojobaöl
10 Bienenwachs
5 Kakaobutter
10 Lanolin
10 Shea-Butter
5 D-Panthenol wobei ich hier bei einer reinen heilsalbe 10% nehme
20 Aloegel
10Tr. Teebaumöl
5Tr. Lavendelöl
5Tr. Lemongrassöl
5Tr. Sandelholzöl
Du mußt die öle erhitzen, dann das becherglas vom herd, die buttern rein, das aloegel tropfenwweise einarbeiten. Darauf achten, das die fph und die wph die gleiche temperatur haben, in die emulgierte masse das panthenol und die äös. Versuchs mal so, dass könnte weicher werden. Eine salbe mit wph ist auf jeden fall weicher.
Wenn du kene wph willst, kannst du es so versuchen:
30 Olivenöl
30 Jojobaöl
10 Bienenwachs
5 Kakaobutter
10 Lanolin
10 Shea-Butter
5 D-Panthenol wobei ich hier bei einer reinen heilsalbe 10% nehme
10Tr. Teebaumöl
5Tr. Lavendelöl
5Tr. Lemongrassöl
5Tr. Sandelholzöl
Wenn du 10% panthenol nehmen willst, was laut meiner apothekerin gar kein problem ist, dann mußt die 5% die dazukommen von den flüssigen ölen abziehen.
"""ich habe gute Ergebnisse erzielt bei kleinen Wunden und Kratzern. Ich benutze sie aber auch bei leichten Ausschlägen und so.
15 ml Ringelblumenöl
15 ml Spitzwegerichöl
1 g Bienenwachs
2 g Kakaobutter
10 Tropfen Lavendelöl
3 Tropfen Teebaumöl
Das Bienenwachs schmelze ich im Wasserbad zusammen mit den Ölen.
Die Mischung wird aus dem Wasserbad genommen und das Lavendel- und Teebaumöl wird hinzugefügt.
Dann wird die Salbe in noch flüssigem Zustand in Cremetöpfe gefüllt.
(Dies Kräuteröle können übrigens selbst hergestellt werden: Man übergießt einfach die jeweiligen Kräuter mit Öl und stellt sie für ca einen Monat an einen warmen Ort. Alternativ wenn man es eilig hat, kann man das Ganze auch kurz aufkochen lassen und dann filtern. Du kannst die Kräuter auch im Reformhaus oder der Apotheke getrocknet kaufen! Dann halten sie sich auch länger. Beim Spitzwegerich nimmt man die Blätter. Bei Ringelblumen und Johanniskraut sollte man aber auf jeden Fall frische Pflanzen nehmen! ).
"""100g/100%
60 FP, 40 WP
14 Lanolin
4 Bienenwachs
2 UdA
3 Lecithingranulat
11 Shea
10 Kakaobutter
6 Calophyllumöl
2 Rizinusöl
6 Arganöl
2 Borretschöl
30 Kamilledestillat
6 Panthenol
2 Bisabolol
2 Aloe Vera 10fach
ÄÖ Lavendel, Teebaum, Cajeput
Konservierung
Bis auf die Einsatzkonzentration von Bisabolol und Panthenol habe ich keine Einwände. 2% Bisabolol sind doch recht viel, wenn der Hersteller eine Dosierung von 0,1 - 0,5 % empfiehlt.
Bei Panthenol sagt die Erfahrung, dass max 5% ausreichen.
Da muß ich mich jetzt mal trauen zu widersprechen. Als heilsalbe, die ich nicht tgl. über langen zeitraum und große flächen anwende, kann man bisabolol gut 1%ig nehmen, es beschleunigt auch das eindringen der salbe. 1% ist ok, 2% sind zuviel.
Und panthenol wird in der heilkunde laut meines apothekers oft bis zu 10% eingesetzt, in der kosmetik reichen 4%. Es gibt da sogar abhandlungen drüber, aber ich bin da nicht so geduldig sie zu suchen. Er hatte mich gefragt, welche heilsalbe mit welchen inhaltsstoffen ich mache und mir das dann erklärt. Ich vertraue ihm und würde nie auf die idee kommen, so was ohne vorherige information hier kundzutun.
Mit dem bisabolol ist so, daß in der ht zeit 1% genommen wurde, steht so in einem der bücher. Daher nehm ich es schon immer 1%ig. Meine frage nach diesem wirkstoff wurde von dem apotheker ebenfalls mit allerhöchstens 1% angegeben, in der Kosmetik 0,5%
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Herpes:''<br/><br/>
<$list filter="[tag[Herpes]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Herpes:''<br/><br/>
<$list filter="[tag[Herpes]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#DFFE97;">
<div style=> </div>
"""
Wende diese Behandlung an, BEVOR die Bläschen anfangen, aufzuplatzen!
Teste das Wasserstoffperoxid erstmal an gesunder Haut, ob Du es verträgst. Wenn Du es zu lange / zu oft hintereinander anwendest oder überempfindlich bist, kann es zu Hautschäden kommen.
''Eigenschaft dieser Herpesbehandlung:'' Wasserstoffperoxid trocknet die Bläschen aus und bekämpft die Herpesviren. Zitronenmelissenöl bekämpft die Herpesviren.
''Meine Erfahrung damit:'' Habe ich erst 1x ausprobiert (allerdings ohne das Zitronenmelissenöl- ich hatte es nicht vorrätig). Der Herpesausbruch war weniger schlimm und kürzer als die Male vorher. Seitdem (vor ca. 2 Jahren, Stand März 2018) hatte ich kein Herpes mehr.
Ich kann also nicht wirklich sagen, ob dieses Rezept erfolgreich ist. Aber dieses eine Mal war der ganze Verlauf weniger heftig und kürzer als sonst.
Das Zitronenmelissenöl ist sehr teuer. Falls ich irgendwann mal wieder Herpes bekommen sollte, werde ich also erstmal schauen, ob das Wasserstoffperoxid wieder den Verlauf lindert & verkürzt.
"""
''Zutaten''<br/>
* [[Wasserstoffperoxid]] (in einer 3%igen Lösung!!!)
* 2 Wattestäbchen / Wattebäusche
* [[Zitronenmelissenöl]] @@font-size:0.9em;Es muss ''Melissa officinalis'' sein, alles andere ist kein echtes Zitronenmelissenöl!@@
# Tränke das Wattestäbchen / den Wattebausch im ''Wasserstoffperoxid'' und drücke es 1 Minute auf die betroffene Stelle.
# Wiederhole diesen Vorgang, bis Du dort einen feinen weißen Schaum siehst (oder max. 15 Minuten).<br/>Diesen Schaum besser nicht berühren, sondern wenn dann mit einem sauberen Tuch abtupfen, ohne es weiter zu verteilen.
# Warte 30 Minuten, bis das Bläschen komplett trocken ist.
# Gib etwas ''Zitronenmelissenöl'' auf ein neues Wattestäbchen / Wattebausch und betupfe die betroffene Stelle damit.
# Warte einige Minuten.
# Wiederhole diesen Vorgang 3x.
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Heuschnupfen:''<br/><br/>
<$list filter="[tag[Heuschnupfen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Heuschnupfen:''<br/><br/>
<$list filter="[tag[Heuschnupfen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""High Beam-Nachbau - flüssiger Highlighter
Zutaten:
1 Ml dest. Wasser
1 kl Ml Weingeist
1 kl ML Magnesiumstearat
1 Msp Xanthan
1 Msp Gummi arabicum
1 Ml Seidenweiß
1 Ml Iriodin silber seidenglanz
1 Msp pinkperl
1 winziges Krümelchen braunes Pigment
10 Tropfen Seidenprotein
1 Tropfen Duokons
- Die Pigmente und Magnesiumstearat gut mischen (Kaffeemühle), es sollte eine leicht rosèfarbene Mischung rauskommen. Das braune Pigment bitte nur in einer homöopathischen Dosis dazugeben.
- Wasser erwärmen und Gummi arabicum drin auflösen.
- Xanthan in dem Weingeist lösen
Alles zusammengeben und umrühren. Zum Schluss 1 Tropfen Duokons dazu - ist zwar nur eine kleine Menge, aber mir reicht das ewig hin - daher lieber konservierte als verschimmelte Ware.
Zum Auftragen:
Beim original High Beam hat man etwas Zeit zwischen Auftragen und Verteilen - das ist beim nachgebauten nicht so. Heißt also, mit einem Pinselchen auftragen und SOFORT verwischen.
-------edit-------
Ml (groß geschrieben) bedeutet Messlöffel!!!
------ nochmaliges edit---------
Zu viel Xanthan macht eine wabbelige Konsistenz - daher langsam rantasten - Xanthan dickt nach.
Weingeist nur so viel nehmen, wie zum Auflösen von Xanthan nötig ist.
Was mir noch einfällt - ich hab den Edelstahlmesslöffel hergenommen - der hat kleinere Maßeinheiten als der HT-Plastikmesslöffel - also eventuell dann die Mengen reduzieren, falls der HT-Messlöffel benutzt wird.
Statt diesem Iriodin silber seidenglanz hab ich aber Polarsilber genommen.
Die Pigmente hab ich in einem Schälchen so vermischt, weil ich keine Kaffemühle habe und Mörsern bei Perlglanz ja nicht geht. Nur das braune hab ich vorher gemörsert, weil es sonst zu groß war.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Sambucus Nigra (Elderberry) Oil
''Jodzahl:'' 185 (trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 1–3%
''Verseifungszahl:'' 186
__Sensible, unreine Haut. Neurodermitis, Akne.__
Dieses Öl hat durch seinen Anteil an α-Linolensäure und Phytosterolen einen __entzündungshemmenden__ und __beruhigenden__ Effekt auf __sensible, neurodermitische und Akne-Haut__. Die Phytosterole ähneln in ihrer Struktur den hauteigenen Cholesterolen, die zu den wirksamsten Fetten in den Lipidlayern des Stratum Corneums (der Hornschicht) gehören und wesentlich für eine intakte Barriereschicht sind. Sie stabilisieren den Lipidmantel der Haut und machen sie weich und geschmeidig. Bei Gelenkbeschwerden soll das Öl, pur aufgetragen, entzündliche Prozesse stoppen und abschwellend wirken.
Holundersamenöl ist aufgrund seines Fettsäurespektrums ein leichtes Öl mit niedrigem Schmelzpunkt, das __nicht aufliegt und angenehme, nicht filmbildende Emulsionen__ für __fettende und unreine Haut__ ergibt. __Sehr trockene Haut__ profitiert von einer Kombination mit phytosterolhaltigen Pflanzenbuttern und einem ölsäurebetontem Öl wie z. B. Avocadoöl, Mandelöl oder Macadamianussöl, das das Einziehverhalten optimiert und durch einen geringen Anteil an gesättigten Fettsäuren schützend und »einhüllend« wirkt.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Holundersamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Holundersamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
Holzbodenreiniger:
ca. 100gr ranziges öl (super zur verwertung von ranzölen)
ca. 20gr orangenreiniger HT früher oranex
ca. 12-15gr bienenwax.
das öl erhitzen, das bienenwachs darin schmelzen, abkühlen lassen und bei handwärme das oranex unterrühren.
Ranziges öl dringt besser ins holz, oranex reinigt und duftet und hilft auch dass das öl besser einzieht und bienenwachs schützt das holz.
Auch dieses rezept hilft uns reste zuverwerten, die wir so nicht mehr brauchen können.
Mit dem öl kannst du auch gartenmöbel aus naturholz super aufpeppen und schützen.
Alle paar wochen solltest du zum gründlichen reinigen einen teil der mischung 1:1 mit tensid versetzen und mit einem eimer heißem wasser vermengen. Sonst bildet sich so ne komsische schicht auf dem boden.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Hornhaut:''<br/><br/>
<$list filter="[tag[Hornhaut]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Hornhaut:''<br/><br/>
<$list filter="[tag[Hornhaut]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Macht die Hornhaut-Füße weich :-)
12g Emulsan
20g Kokosöl
20g Kakaobutter
20g Sheabutter
80 ml abgek. dest. Wasser
30g Urea (15%)
10 ml Glycerin (optional?)
10 ml Panthenol (optional?)
6 ml (3 gr. Mßl. ) Efeuextrakt (optional?)
6 ml ( 3 gr. Mßl.) Gurkenextrakt (optional?)
10 ml Kamillenextrakt (optional?)
25 Tr. Paraben (Konservierung)
Duft nach belieben
Ergiebt ca. 220 g Creme .
''Alle getesteten Rezepte bei Husten:''<br/><br/>
<$list filter="[tag[Husten]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Husten:''<br/><br/>
<$list filter="[tag[Husten]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
Hydrolate müssen nicht konserviert werden, sie sind steril. Und eignen sich hervorragend als Wasserphase in Produkten! (Aussage Olionatura!). Damit ich sie als Wasserphase verarbeiten kann, wie folgend vorgehen:
Etwas
Tinkturen und Öle bieten per se keine Angriffsfläche für Mikroben.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
[img width=30 [http://up.picr.de/31991981wc.png]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Was sind INCIs?''<br/>
Einfach gesagt: Die Zutatenliste bei kosmetischen / pharmazeutischen Produkten.<br/>INCI ist die Abkürzung für "International Nomenclature of Cosmetic Ingredients") und bezeichnet eine internationale Richtlinie für die korrekte Angabe der Inhaltsstoffe (Ingredients) von Kosmetika- ohne Mengenangaben.
Die Inhaltsstoffe werden nach ihrem Gewichtsanteil in abnehmender Reihenfolge aufgelistet- sofern sie jeweils mehr als 1% des Inhalts ausmachen.<br/>
Im Gegensatz zu dem geltenden System in den USA werden bei pflanzlichen Rohstoffen die lateinischen Gattungsnamen (oder den der Spezies), jedoch nicht exakt der Teil der Pflanze benannt, der verwendet wird. So wird bei Verwendung eines Rohstoffs des Olivenbaums unter INCI "Olea Europaea" angegeben, obwohl es sich um das fette Öl, gehärtete Olivenbutter oder um einen Extrakt aus Olivenblättern handeln könnte. Das amerikanische System differenziert hier deutlich und nennt (hier auf Produkte aus Weizen bezogen) Hydrolized Wheat Protein, Wheat Germ Oil usw., die ja vollkommen unterschiedliche kosmetische Substanzen mit spezifischem Einsatzgebiet und spezifischen Wirkungen darstellen.<br/>
Farbstoffe werden am Ende der Auflistung mit der jeweiligen CI-Nummern (CI = Colour-Index) aufgeführt- ohne besondere Sortierung oder Reihenfolge. Bei Kosmetika in verschiedenen Farbvarianten werden die in den Varianten verwendeten Farbstoffe in einer eckigen Klammer aufgelistet. Eine Kennzeichnung „+/−“ zeigt an, dass eventuell nicht alle der aufgeführten Farbstoffe im Produkt enthalten sind, zum Beispiel: [+/− CI12700, CI14270, CI20470]. Zum Schutz der Rezeptur kann für Inhaltsstoffe besondere Vertraulichkeit beantragt werden. Solche Inhaltsstoffe werden durch einen siebenstelligen Code, zum Beispiel 600277D oder ILN5643, aufgelistet.
__Legende:__
* Schwarz geschriebene INCI = Aus irgendeinem Grund problematisch (aus kosmetischer oder ökologischer Sicht)<br/>
* @@color:green;Grüne INCI@@ = In keiner Form aus Palmöl / Palmöl-<div class="tooltip">Derivaten
<span class="tooltiptext">Stoffe, die auf Basis des Ursprungsstoffs- hier also Palmöl / Palmkernöl- hergestellt werden</span></div> hergestellt. Außerdem weder aus kosmetischer, noch aus ökologischer Sicht problematisch<br/>
* Ohne Ausrufezeichen = Kein Palmöl / Palmölderivate enthalten<br/>
* @@color:red;''!''@@ = Evtl. / wahrscheinlich Palmöl / Palmölderivate enthalten<br/>
* @@color:red;''!!''@@ = Definitiv Palmöl / Palmölderivate enthalten
<$reveal type="nomatch" state="$:/state/SampleRevealINCIA" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIA" setTo="show">A</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIA" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIA" setTo="hide">Verstecke A</$button>
* @@color:green;Acetum@@
** >> [[Essig]] allgemein, also z.B. auch [[Apfelessig]]<br/><br/>
* Acrylates Copolymer (AC), Acrylates Crosspolymer (ACS)
** >> Mikroplastik
** >> @@color:red;Umweltschädlich, langfristig sicher auch gesundheitsschädlich für uns- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Adansonia Digitata Seed oil@@
** >> [[Baobaböl]]<br/><br/>
* @@color:green;Adeps Ianae / Lanolin / Lanolin Anhydrid / Lanolin Anhydrat@@
** >> [[Lanolin]] (Lipid, Wirkstoff, Emulgator)<br/><br/>
* @@color:green;Allantoin@@
** >> [[Allantoin]] (Wirkstoff)<br/><br/>
* Aluminium Chlorohydrat / Aluminium Zirkonium, Aluminium Zirkonium Tetrachlorohydrex GLY / AZAG
** >> (Aluminiumsalze, in Antitranspirantien)
** >> @@color:red; Gesundheitsschädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Amaranthus caudatus Seed Oil@@
** >> [[Amaranthöl]]<br/><br/>
* Amodimethicone
** >> Silikon
** >> @@color:red;Ist eher schädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Arachmide MEA
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Argania Spinosa Kernel Oil@@
** >> [[Arganöl]]<br/><br/>
* Ascorbyl Palmitate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Aspalathus Linearis@@
** >> [[Rooibushtee]]
</$reveal>
{{AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIB" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIB" setTo="show">B</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIB" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIB" setTo="hide">Verstecke B</$button>
* Behentrimonium Chloride
** >> Kurquat / Incroquat / Incroquat Behenyl
** >> <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Haar-Konditionierer, wird aber als kationisches Tensid geführt, Plättchen
** >> enthält wohl keine Palmölderivate, @@color:red;aber wie alle Quats ist es recht umweltschädlich. Es ist haut- & schleimhautreizend, allergisierend, wirkt austrocknend, kann krebserregend wirken und ist schlecht biologisch abbaubar. Es hat keine pflegende Wirkung, sondern verbessert nur die Kämmbarkeit.@@<br/><br/>
* Benzene-1,3-diol, 1,3-Benzoldiol
** >> Resorcin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Benzophenone-3, Benzophenone-4
** >> Synthetisch hergestellter UV-Filter
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Betaine / Trimethylglycin@@
** >> Natural Betaine / Tego® Natural Betaine / Glycinbetain / Trimethylglycin
** >> Amphoteres Tensid, Pulver / Nadeln<br/><br/>
* @@color:green;Borago Officinalis (Borage) Seed Oil@@
** >> [[Borretschsamenöl]]<br/><br/>
* @@color:green;Brassica Oleracea Italica ( Broccoli ) Seed Oil@@
** >> [[Brokkolisamenöl]]<br/><br/>
* @@color:green;Buttermilk Powder@@
** >> [[Buttermilchpulver|Milchpulver]] (Wirkstoff)<br/><br/>
* Butyl-Carbamate
** >> Halogenorganische Verbindung
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Butyl Stearate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Butyrospermum / Butyrospermum Parkii (Shea) Butter / Vitellaria paradoxa subspecies nilotica@@
** >> [[Sheabutter]]<br/><br/>
* @@color:green;Butyrospermum Parkii (Shea) Seed Oil@@
** >> [[Sheanussöl]]
</$reveal>
{{BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIC" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIC" setTo="show">C</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIC" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIC" setTo="hide">Verstecke C</$button>
* @@color:green;Calciumcarbonat@@
** >> [[Schlämmkreide]] (Wirkstoff)<br/><br/>
* Calcium Oleyl Lactylate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Camelia Oleifera Seed Oil@@
** >> [[Kameliensamenöl]]<br/><br/>
* @@color:green;Candelilla Cera / Euphorbia Cerifera (Candelilla) Wax@@
** >> [[Candelillawachs]] (Wachs)<br/><br/>
* @@color:green;Cannabis Sativa (Hemp) Seed Oil@@
** >> [[Hanföl]]<br/><br/>
* Caprate
** @@color:red;>> ''!''@@<br/><br/>
* Capric/Caprylic Acid
** @@color:red;>> ''!''@@<br/><br/>
* Caprylate
** @@color:red;>> ''!''@@<br/><br/>
* Capric/Caprylic Triglyceride
** @@color:red;>> ''!''@@ Neutralöl (MCT-Öl) / Mygliol 812® / Myritol 312® / Tegosoft® CT (Basisöl)
** @@color:green;>> es gibt auch palmölfreies!@@<br/><br/>
* Capryl/Caprylyl Glucoside
** @@color:red;>> ''!''@@<br/><br/>
* Caprylyl Glykol
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Carthamus Tinctorius (Safflower) Oil@@
** >> [[Distelöl]]<br/><br/>
* @@color:green;Cera Carnauba / Copernicia prunifera (carnauba) wax / Copernicia cerifera Cera@@
** >> [[Carnaubawachs]]<br/><br/>
* @@color:green;Cera Flava (Beeswax) / Cera Alba (Beeswax)@@
** >> [[Bienenwachs]]<br/><br/>
* Cera Microcristallina, Ceresin
** >> Paraffin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Ceteareth-Phosphate
** >> Halogenorganische Verbindung
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Cetearyl Alcohol
** @@color:red;>> ''!''@@ Cetearyl Alcohol
(Fettalkohol, <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> / Ko-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>)<br/><br/>
* Cetearyl Glucoside
** @@color:red;>> ''!''@@<br/><br/>
* Ceteth
** @@color:red;>> ''!''@@<br/><br/>
* Cetyl Acetate
** @@color:red;>> ''!''@@<br/><br/>
* Cetyl Alcohol
** @@color:red;>> ''!!''@@ Cetyl Alcohol
** >> Fettalkohol, <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> / Co-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Plättchen
** @@color:green;>> kann durch Kakaobutter ersetzt werden@@<br/><br/>
* Cetyl Lactate
** @@color:red;>> ''!''@@<br/><br/>
* Cetyl Palmitate
** @@color:red;>> ''!''@@<br/><br/>
* Charcaol Powder
** >> Aktivkohle
** >> @@color:red;enthält PAK- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Chloroacetamide
** >> Halogenorganische Verbindung
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Cinnamomun zeylanicum / Cinnamomum Cassia@@
** >> [[Zimt]]<br/><br/>
* @@color:green;Citric Acid (E 330)@@
** >> [[Zitronensäure]] (Wirkstoff)<br/><br/>
* @@color:green;Citrus aurantifolia oil@@
** >> [[Limettenöl]] (Ätherisches Öl)<br/><br/>
* @@color:green;Citrus limon peel oil@@
** >> [[Zitronenöl]] (Ätherisches Öl)<br/><br/>
* Climbazole
** >> Climbazol, Halogenorganische Verbindung
** >> @@color:red;Gesundheits- & umweltschädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Cocamidopropyl Betain(e)@@
** >> Cocamidopropyl Betain PLUS / Kokosbetain / Betain / Betain HT
** >> amphoteres Tensid, flüssig, 30-40% WAS; @@color:red;wohl nicht so mild wie teilweise behauptet wird- es hat ein gewisses <div class="tooltip">allergenes
<span class="tooltiptext">Allergien auslösendes</span></div> Potential@@<br/><br/>
* @@color:green;Coco Glucoside@@
** >> Coco Glucosid / Kokosglucosid / Plantacare® 818 UP
** >> nichtionisches Tensid, mild, flüssig, 50-53% WAS<br/><br/>
* Coconut Butter Equivalent (CBE)
** @@color:red;>> ''!''@@<br/><br/>
* Coconut Butter Substitute (CBS)
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Cocos Nucifera (Coconut) Oil@@
** >> [[Kokosöl]]<br/><br/>
* @@color:green;Copernicia prunifera (carnauba) wax / Copernicia cerifera Cera / Cera Carnauba@@
** >> [[Carnaubawachs]]<br/><br/>
* @@color:green;Corylus avellana (Hazel) Seed Oil@@
** >> [[Haselnussöl]]<br/><br/>
* @@color:green;Curcuma longa@@
** >> [[Kurkuma]]<br/><br/>
* @@color:green;Cyanopsis Tetragonalba (E 412) / Cyamopsis tetragonoloba / Guar Gum@@
** >> [[Guarkernmehl]] (Verdicker)<br/><br/>
* Cylomethicone
** >> Silikon
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Cyclopentasiloxane
** >> Silikon
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@
</$reveal>
{{CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCID" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCID" setTo="show">D</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCID" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCID" setTo="hide">Verstecke D</$button>
* @@color:green;Decyl Glucoside@@
** >> Plantaren / Plantacare / Decyl-Glucosid / Collagentensid
** >> nichtionisches Tensid, mild, flüssig, 51% WAS<br/><br/>
* Decyl Oleate
** @@color:red;>> ''!''@@<br/><br/>
* Diazolidinyl Urea
** >> Konservierer, Formaldehyd!
** >> @@color:red;siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Dicaprylyl Ether
** @@color:red;>> ''!''@@<br/><br/>
* Diethylhexylphthalat (DEHP), Diethylphthalat (DEP), Dimethyl Phthalat (DMP)
** >> Phthalate
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Diethyl Toluamide (DEET)
** >> Insektenabwehrmittel Diethyltoluamid (DEET)
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Dimethicone / Dimethiconol
** >> Silikon
** >> Kein Palmölderivat, soll pflegend für Haut & Haar sein, @@color:red;ist aber eher schädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Dimethyl Phthalat (DMP), Diethylhexylphthalat (DEHP), Diethylphthalat (DEP)
** >> Phthalate
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Disodium Cocoamphodiacetate@@
** >> Glycintensid / Rewoteric® AM 2 C NM
** >> amphoteres Tensid, flüssig, 39% WAS<br/><br/>
* Disodium EDTA
** >> EDTA
** >> <div class="tooltip">Komplexbildner
<span class="tooltiptext">binden Salze oder Metallionen in Emulsionen an sich und erhöhen ihre chemische & oxidative Stabilität</span></div>; eingesetzt als Wasserenthärter, <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Konservierer,...
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Disodium Lauryl/Laureth Sulfosuccinate
** >>@@color:red;''!''@@ Facetensid
** >> anionisches Tensid, dickflüssig, 40% WAS<br/><br/>
* @@color:green;Disodium/Sodium Cocoyl Glutamate@@
** >> Perlastan SC / Perlastan SC 25 NKPF
** >> anionisches Tensid, flüssig, 24-26% WAS<br/><br/>
* Distearate
** @@color:red;>> ''!''@@<br/><br/>
* DMDM Hydantoin Methenamine
** >> wohl ein Konservierer, Formaldehyd!
** >> @@color:red;siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Dodecanol/Dodecyl Alcohol
** @@color:red;>> ''!''@@<br/><br/>
* Dodecyl Sulphate (auch SDS oder NaDS)
** @@color:red;>> ''!''@@
</$reveal>
{{DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIEF" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIEF" setTo="show">EF</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIEF" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIEF" setTo="hide">Verstecke EF</$button>
* EDTA
** >> EDTA
** >> <div class="tooltip">Komplexbildner
<span class="tooltiptext">binden Salze oder Metallionen in Emulsionen an sich und erhöhen ihre chemische & oxidative Stabilität</span></div>; eingesetzt als Wasserenthärter, <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Konservierer,...
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Elaeis Guineensis
** @@color:red;>> ''!!''@@<br/><br/>
* Emulsifiers (E471 bis E 477)
** @@color:red;>> ''!''@@<br/><br/>
* Emulsifying Wax
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Enzyme-Modified Soy Lecithin / Lysolecithin@@
** >> [[Lysolecithin]]<br/><br/>
* Ethersulfat
** @@color:red;>> ''!''@@ Sodium Laureth Sulfat / SLES
** >> @@color:red;aggressives, sulfathaltiges@@, anionisches Tensid<br/><br/>
* Ethylhexyl Methoxycinnamate
** >> Synthetisch hergestellter UV-Filter
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Ethyl Lauroyl Alginate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Eugenia caryophyllata leaf oil@@
** >> [[Nelkenöl]]<br/><br/>
* @@color:green;Euphorbia Cerifera (Candelilla) Wax / Candelilla Cera@@
** >> [[Candelillawachs]] (Wachs)<br/><br/>
* Fatty Alcohol Sulphate
** @@color:red;>> ''!''@@<br/><br/>
* Fatty Acid Esters of Glycerol
(E 472)
** @@color:red;>> ''!''@@<br/><br/>
* Fatty Acid Methyl Esters Ethoxylate (E 431 - E 436)
** @@color:red;>> ''!''@@<br/><br/>
* Fettsäureglycerid
** @@color:red;>> ''!''@@
</$reveal>
{{EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIG" setTo="show">G</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIG" setTo="hide">Verstecke G</$button>
* @@color:green;Gevuina Avellana Molina Seed Oil@@
** >> [[Avellanaöl]]<br/><br/>
* Glutardialdehyd / Glutaraldehyd / 1,5-Pentandial
** >> Glutaral, Konservierer / antibakterieller Wirkstoff
** >> @@color:red;siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Glycerin
** @@color:red;>> ''!''@@ Glycerin (Wirkstoff, dickflüssig)
** @@color:green;>>es gibt auch palmölfreies!@@<br/><br/>
*Glycerinester/Polyglycerinester (E 475)
** @@color:red;>> ''!''@@<br/><br/>
* Glycerinfettsäureester
** @@color:red;>> ''!''@@<br/><br/>
* Glycerol
** @@color:red;>> ''!''@@ Glycerin (Wirkstoff, dickflüssig)
** @@color:green;>>es gibt auch palmölfreies!@@<br/><br/>
* Glycerol Tricaprylate
** @@color:red;>> ''!''@@<br/><br/>
* Glyceryl Caprylate
** @@color:red;>> ''!''@@ Dermosoft® GMCY. Da die Verwendung des Handelsnamens nicht gestattet ist, wird dieses Produkt für den Endverbraucher unter diversen Phantasienamen mit dem Zusatz »GMCY« angeboten.
** >>Konservierer<br/><br/>
* Glyceryl Laurate
** @@color:red;>> ''!''@@<br/><br/>
* Glyceryl Myristate
** @@color:red;>> ''!''@@<br/><br/>
* Glyceryl Oleiate
** @@color:red;>> ''!''@@<br/><br/>
* Glyceryl Palmitate
** @@color:red;>> ''!''@@<br/><br/>
* Glyceryl Stearate, Glyceryl Stearate Citrate
** @@color:red;>> ''!!''@@ Lamecreme (<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Plättchen)<br/><br/>
* @@color:green;Glycine Soja (Soybean) Oil@@
** >> [[Sojaöl]]<br/><br/>
* Glycol Stearate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Glyoxylsäurediureid@@
** >> [[Allantoin]] (Wirkstoff)<br/><br/>
* @@color:green;goat milk powder@@
** >> [[Ziegenmilchpulver|Milchpulver]] (Wirkstoff)<br/><br/>
* @@color:green;Guar Gum / Cyanopsis Tetragonalba (E 412) / Cyamopsis tetragonoloba@@
** >> [[Guarkernmehl]] (Verdicker)
</$reveal>
{{GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIH" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIH" setTo="show">H</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIH" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIH" setTo="hide">Verstecke H</$button>
* @@color:green;Helianthus Annuus (Sunflower) Seed Oil@@
** >> [[Sonnenblumenöl]]<br/><br/>
* Hexyl Laurate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Hippophae Rhamnoides (Seabuckthorn Fruit) Oil@@
** >> [[Sanddornfruchtfleischöl]]<br/><br/>
* @@color:green;Hippophae Rhamnoides (Seabuckthorn) Seed Oil@@
** >> [[Sanddornkernöl]]<br/><br/>
* Hydrated Palm Glycerides/Hydrated Palm (Kernel) Glycerides
** @@color:red;>> ''!!''@@<br/><br/>
* @@color:green;Hydrogen peroxid@@
** >> [[Wasserstoffperoxid]] (Wirkstoff)<br/><br/>
* @@color:green;Hydrogenated castor oil@@
** >> hydriertes Rizinus-Öl<br/><br/>
* Hydrogenated Palm Glycerides/
Hydrogenated Palm (Kernel) Glycerides
** @@color:red;>> ''!!''@@ Tegomuls (<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Pulver)<br/><br/>
* @@color:green;Hydrogenated rapeseed oil@@
** >> gehärtetes Rapsöl<br/><br/>
* Hydrogenated Vegetable Oil
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Hydrolyzed Wheat Protein / Hydrolyzed Wheat Gluten@@
** >> [[Weizenprotein]] (Wirkstoff)<br/><br/>
* 2-Hydroxy-4-methoxybenzophenone
** >> Synthetisch hergestellter UV-Filter
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Hydroxyphenol 3, 3-Hydroxyphenylacetat
** >> Resorcin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Hydroxypropyl Guar / Hydroxypropyldrimonium Chloride@@
** >> [[Haarguar HT]]
</$reveal>
{{HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIIJK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIIJK" setTo="show">IJK</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIIJK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIIJK" setTo="hide">Verstecke IJK</$button>
* Imidazolidinyl Urea
** >> Konservierer, Formaldehyd!
** >> @@color:red;siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Iodopropynyl
** >> Halogenorganische Verbindung
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Isoamyl Laurate
** @@color:red;>> ''!''@@<br/><br/>
* Isopropyl Isostearate
** @@color:red;>> ''!''@@<br/><br/>
* Isopropyl Octyl Palmitate
** >>@@color:red;''!''@@<br/><br/>
* Isostearamide DEA
** @@color:red;>> ''!''@@<br/><br/>
* Isostearate
** @@color:red;>> ''!''@@<br/><br/>
* Isostearyl Alcohol
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Juglans Regia (Walnut) Oil@@
** >> [[Walnussöl]]
</$reveal>
{{IJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJKIJK}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIL" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIL" setTo="show">L</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIL" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIL" setTo="hide">Verstecke L</$button>
* @@color:green;Lanolin / Lanolin Anhydrid / Lanolin Anhydrat / Adeps Ianae@@
** >> [[Lanolin]] (Lipid, Wirkstoff, Emulgator)<br/><br/>
* Lauramide
** @@color:red;>> ''!''@@<br/><br/>
* Lauramine Oxide
** @@color:red;>> ''!''@@<br/><br/>
* Laurate
** @@color:red;>> ''!''@@<br/><br/>
* Lauric Acid
** @@color:red;>> ''!''@@<br/><br/>
* Lauroyl Lysine/Sarcosine
** @@color:red;>> ''!''@@<br/><br/>
* Lauryl Betaine/Glucoside/Lactate/Sulfate
** @@color:red;>> ''!''@@<br/><br/>
* Lauryl Glucosid
** @@color:red;>> ''!''@@ Lauryl Glucosid
** >> nichtionisches Tensid, flüssig, 51-55% WAS<br/><br/>
* @@color:green;Lavandula Angustifolie / intermedia / latifolia@@
** >> [[Lavendelöl]] (Ätherisches Öl)<br/><br/>
* @@color:green;Limnanthes alba (Meadowfoam) Seed Oil@@
** >> [[Wiesenschaumkrautöl]]<br/><br/>
* Linoleate
** @@color:red;>> ''!''@@<br/><br/>
* Linoleic Acid
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Lysolecithin / Enzyme-Modified Soy Lecithin@@
** >> [[Lysolecithin]]
</$reveal>
{{LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIM" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIM" setTo="show">M</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIM" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIM" setTo="hide">Verstecke M</$button>
* @@color:green;Macadamia Ternifolia Seed Oil@@
** >> [[Macadamianussöl]]<br/><br/>
* Magnesium Stearate
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Mangifera Indica (Mango) Seed Butter@@
** >> [[Mangobutter]]<br/><br/>
* @@color:green;maremilk@@
** >> [[Stutenmilchpulver|Milchpulver]] (Wirkstoff)<br/><br/>
* m-Dihydroxybenzene
** >>Resorcin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Mentha arvensis / piperita / spicata / viridis@@
** >> verschiedene Minzarten, siehe z.B. [[Pfefferminztee]]<br/><br/>
* @@color:green;Mentha Arvensis Herb Oil / Mentha arvensis leaf oil / Mentha spicata herb oil@@
** >> [[Minzöl (Pfefferminze oder Krauseminze)]] (Ätherisches Öl)<br/><br/>
* Methicone
** >> Silikon
** >> Kein Palmölderivat, soll pflegend für Haut & Haar sein, @@color:red;ist aber eher schädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Methyl Glucose Sesquistearate / Methylglucose-sequistearate
** @@color:red;>> ''!''@@ Emulsan / TEGO® Care PS
** >> <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Plättchen<br/><br/>
* @@color:green;Mica@@
** >> [[Mica]] (Farbe)<br/><br/>
* Microcrystalline Wax
** >> Mineralöl
** >> @@color:red;umweltschädlich & nicht gut für unsere Haut, siehe unter "Mineralöl" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]@@<br/><br/>
* Mineral Oil
** >> Paraffin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Mono- und Diglyceride von Speisefettsäuren (oft als Fettsäureglycerid bezeichnet)
** @@color:red;>> ''!''@@<br/><br/>
* Myristate
** @@color:red;>> ''!''@@<br/><br/>
* Myristic Acid
** @@color:red;>> ''!''@@<br/><br/>
* Myristol
** @@color:red;>> ''!''@@<br/><br/>
* Myristyl Alcohol/Myristate
** @@color:red;>> ''!''@@
</$reveal>
{{MMMMMMMMMMMMMMMMMMMMMMMMMMMM}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIN" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIN" setTo="show">N</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIN" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIN" setTo="hide">Verstecke N</$button>
* Natrium Alkyloxysulfuricum, Natriumdodecylpoly-Oxyethylen, Natriumlaurethsulfat, Natriumlaurylethersulfat, Natriumpolyoxyethylen (1-4)dodecylethersulfat
** @@color:red;>> ''!''@@ Sodium Laureth Sulfat / SLES
** >> @@color:red;aggressives, sulfathaltiges@@, anionisches Tensid<br/><br/>
* @@color:green;Natriumcarbonat@@
** >> [[Waschsoda]]<br/><br/>
* @@color:green;Natriumcocoylisethionat / Sodium Cocoyl Isethionate / SCI@@
** >> [[SCI (Tensid)]]
** >> Anionisches mildes Tensid, Pulver / Nadeln, 80% WAS<br/><br/>
* @@color:green;Natriumhydrogencarbonat@@
** >> [[Natron]] (Wirkstoff)<br/><br/>
* Natriumlaurylethylsulfat / Sodium Laureth Sulfat / SLES
** @@color:red;>> ''!''@@ Sodium Laureth Sulfat (SLES)
** >> @@color:red;aggressives, sulfathaltiges@@, anionisches Tensid<br/><br/>
* Natriumlaurylsulfat / Sodium Lauryl Sulfate / SLS
** @@color:red;>> ''!''@@ Sodium Lauryl Sulfat (SLS)
** >> @@color:red;sulfathaltiges@@ anionisches Tensid, Körnchen, 28-32% WAS<br/><br/>
* @@color:green;Nigella Sativa (Black Cumin) Seed Oil@@
** >> [[Schwarzkümmelöl]]<br/><br/>
* N,N-Diethyl-m-toluamid & N,N-Diethyl-3-methylbenzamid (DEET)
** >> Insektenabwehrmittel Diethyltoluamid (DEET)
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@
</$reveal>
{{NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIO" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIO" setTo="show">O</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIO" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIO" setTo="hide">Verstecke O</$button>
* @@color:green;Oenothera Biennis (Evening Primrose) Oil@@
** >> [[Nachtkerzenöl]]<br/><br/>
* @@color:green;Olea Europaea (Olive) Fruit Oil@@
** >> [[Olivenöl]]<br/><br/>
* Oleamide
** @@color:red;>> ''!''@@<br/><br/>
* Oleate
** @@color:red;>> ''!''@@<br/><br/>
* Oleic Acid/Oleinsäure
** @@color:red;>> ''!''@@<br/><br/>
* Oleyl Betaine
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Orbignya Oleifera (Babassu) Seed Oil@@
** >> [[Babassuöl]]<br/><br/>
* @@color:green;Oryza sativa (Rice Germ) Oil@@
** >> [[Reiskeimöl]]<br/><br/>
* Ozokerite
** >> Paraffin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@
</$reveal>
{{OOOOOOOOOOOOOOOOOOOOOOOOOOOO}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIPQ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIPQ" setTo="show">PQ</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIPQ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIPQ" setTo="hide">Verstecke PQ</$button>
* Palmitic Acid/Palmitinsäure
** @@color:red;>> ''!''@@<br/><br/>
* Palm Kernel Oil
** @@color:red;>> ''!!''@@<br/><br/>
* Palm Kernel Amid MEA
** @@color:red;>> ''!!''@@<br/><br/>
* Palm Olein
** @@color:red;>> ''!!''@@<br/><br/>
* Palmöl
** @@color:red;>> ''!!''@@<br/><br/>
* Palm Sterine
** @@color:red;>> ''!!''@@<br/><br/>
* Palmate
** @@color:red;>> ''!!''@@<br/><br/>
* Palmitate
** @@color:red;>> ''!''@@<br/><br/>
* Palmitinsäure/Palmitic Acid
** @@color:red;>> ''!''@@<br/><br/>
* Palmitoyl Myristyl ...
** @@color:red;>> ''!''@@<br/><br/>
* Palmitoyl Oxostearamide/Oligopeptide/Tetrapeptide-3
** @@color:red;>> ''!''@@<br/><br/>
* Palm Kernelate
** @@color:red;>> ''!!''@@<br/><br/>
* Palmkernöl
** @@color:red;>> ''!!''@@<br/><br/>
* @@color:green;Panthenol@@
** >> [[Panthenol]] / Dexpanthenol / D-Panthenol (Wirkstoff)<br/><br/>
* @@color:green;Papaver Somniferum (Seed) Oil@@
** >> [[Mohnöl]]<br/><br/>
* Paraffinum Liquidum, Paraffin Oil, Paraffin Wax
** >> Paraffin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* 1,5-Pentandial / Glutardialdehyd / Glutaraldehyd
** >> Glutaral, Konservierer / <div class="tooltip">antibakterieller
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div> Wirkstoff
** >> @@color:red;siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Peptide Complex
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Persea Gratissima (Avocado) Oil@@
** >> [[Avocadoöl]]<br/><br/>
* Petrolatum
** >> Paraffin, Vaseline aus Erdöl
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Pflanzenfett/pflanzliches Fett
** @@color:red;>> ''!''@@<br/><br/>
* Pflanzenöl/pflanzliches Öl
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Plukenetia Volubilis (Inca Peanut) Oil@@
** >> [[Sacha-Inchi-Öl]]<br/><br/>
* Polyamide (PA, Nylon), Polyacrylate (PAK), Polyethylen (PE), Polyethylene glycol (PEG), Polyethylenterephthalat (PET)
** >> Mikroplastik
** >> @@color:red;Umweltschädlich, langfristig sicher auch gesundheitsschädlich für uns- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Polyglycerinester/Glycerinester (E 475)
** @@color:red;>> ''!''@@<br/><br/>
* Polyglyceryl Caprate/Laurate
** @@color:red;>> ''!''@@<br/><br/>
* Polyglyceryl-10 Laurate
** @@color:red;>> ''!''@@ Softfeel G 10 LW MB / Dermofeel® G 10 LW
** >> Lösungsvermittler, wird aber als nichtionisches Tensid geführt, flüssig<br/><br/>
* Polymethylmethacrylat (PMMA)
** >> Mikroplastik
** >> @@color:red;Umweltschädlich, langfristig sicher auch gesundheitsschädlich für uns- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Polyoxyethylen-sorbitan-monolaurat/-monostearat/-monopalmitat
** @@color:red;>> ''!''@@<br/><br/>
* Polypropylen (PP), Polypropylene glycol (PPG), Polyquaternium (PQ)
** >> Mikroplastik
** >> @@color:red;Umweltschädlich, langfristig sicher auch gesundheitsschädlich für uns- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Polysiloxane
** >> Silikon
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Polystyren (PS), Polyurethan (PUR)
** >>(Mikroplastik)@@color:red; >>Umweltschädlich, langfristig sicher auch gesundheitsschädlich für uns- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Propylene Glycole Laurate
** @@color:red;>> ''!''@@<br/><br/>
* Propylene Glycol Stearate
** @@color:red;>> ''!''@@<br/><br/>
* Propylenglycolester von Speisefettsäuren (E 477)
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Prunus Armeniaca (Apricot) Kernel Oil@@
** >> [[Aprikosenkernöl]]<br/><br/>
* @@color:green;Prunus Dulcis / Prunus amygdalus Dulcis@@
** >> [[Mandelöl]]<br/><br/>
* @@color:green;Punica Granatum (Pomegranate) Seed Oil@@
** >> [[Granatapfelsamenöl]]
</$reveal>
{{PQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQ}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIR" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIR" setTo="show">R</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIR" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIR" setTo="hide">Verstecke R</$button>
* Resorcin, Resorcinol, Resorcin Monoacetate, Resorzin
** >> Resorcin
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Rhus Verniciflua (Peel) Cera@@
** >> [[Beerenwachs]] (Wachs)<br/><br/>
* @@color:green;Ribes Nigrum (Black Currant) Seed Oil@@
** >> [[Johannisbeersamenöl]]<br/><br/>
* @@color:green;Ricinus communis oil@@
** >> Rizinusöl (Öl)<br/><br/>
* @@color:green;Rosa canina Seed Oil@@
** >> [[Wildrosenöl]]
</$reveal>
{{RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIS" setTo="show">S</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIS" setTo="hide">Verstecke S</$button>
* @@color:green;Salvia officinalis@@
** >> [[Salbeitee]]<br/><br/>
* @@color:green;Sambucus Nigra (Elderberry) Oil@@
** >> [[Holundersamenöl]]<br/><br/>
* @@color:green;Sclerocarya birrea (Marula) Oil@@
** >> [[Marulaöl]]<br/><br/>
* @@color:green;Secale Cereale Seed Flour@@
** >> [[Roggenmehl]]<br/><br/>
* @@color:green;Sesamum Indicum (Sesame) Oil@@
** >> [[Sesamöl]]<br/><br/>
* @@color:green;Silicia@@
** >> [[Kieselsäure]] (Wirkstoff)<br/><br/>
* Simethicone
** >> Silikon
** >> Kein Palmölderivat, soll pflegend für Haut & Haar sein, @@color:red;ist aber eher schädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Simmondsia Chinensis (Jojoba) Seed Oil@@
** >> [[Jojobaöl]]<br/><br/>
* SLES / Sodium Laureth Sulfat / Natriumlaurylethylsulfat
** @@color:red;>> ''!''@@ Sodium Laureth Sulfat (SLES)
** >> @@color:red;aggressives, sulfathaltiges@@, anionisches Tensid<br/><br/>
* SLS / Sodium Lauryl Sulfate / Natriumlaurylsulfat
** @@color:red;>> ''!''@@ Sodium Lauryl Sulfat (SLS)
** >> @@color:red;sulfathaltiges@@ anionisches Tensid, Körnchen, 28-32% WAS<br/><br/>
* @@color:green;Sodium bicarbonate@@
** >> [[Natron]]<br/><br/>
* Sodium Cetearyl Sulfate
** @@color:red;>> ''!''@@<br/><br/>
* Sodium Coco Sulfate / SCS
** @@color:red;>> ''!''@@ SCS / Sodium Coco Sulfate
** >> Anionisches Tensid, Pulver / Nadeln, 90% WAS
** @@font-size: 0.8em;Zumindest in einem Shop (Alexmo) steht "...aus Kokosfett & Palmkernöl hergestellt...", die anderen schreiben nur Kokosfett. Für mich Grund genug, misstrauisch zu sein... Ausserdem soll es nicht so mild sein.@@<br/><br/>
* Sodium Cocoyl Isethionate / SCI / Natriumcocoylisethionat
** @@color:red;>> ''!''@@ SCI / Sodium Cocoyl Isethionate
** >> Anionisches mildes Tensid, Pulver / Nadeln, mind. 80% WAS<br/><br/>
* Sodium Dodecyl Sulfate
** @@color:red;>> ''!''@@<br/><br/>
* Sodium EDTA
** >> EDTA
** >> <div class="tooltip">Komplexbildner
<span class="tooltiptext">binden Salze oder Metallionen in Emulsionen an sich und erhöhen ihre chemische & oxidative Stabilität</span></div>; eingesetzt als Wasserenthärter, <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Konservierer,...
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Sodium Hydroxymethylglycinate
** >> Konservierer, Formaldehyd!
** >> @@color:red;siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Sodium Isostearoyl/Lauroyl Lactylate
** @@color:red;>> ''!''@@<br/><br/>
* Sodium Laureth Sulfat / SLES / Natriumlaurylethylsulfat
** @@color:red;>> ''!''@@ Sodium Laureth Sulfat (SLES)
** >> @@color:red;aggressives, sulfathaltiges@@, anionisches Tensid<br/><br/>
* @@color:green;Sodium Lauroyl Methyl Isethionate / SLMI@@
** >> [[SLMI / SurfaLux palmölfrei (Tensid)]]
** >> Anionisches mildes Tensid, Plättchen, 80-85% WAS<br/><br/>
* Sodium Lauryl Sulfate / SLS / Natriumlaurylsulfat
** @@color:red;>> ''!''@@ SLS / Sodium Lauryl Sulfat
** >> @@color:red;sulfathaltiges@@ anionisches Tensid, Körnchen, 28-32% WAS<br/><br/>
* Sodium Lauryl Sulfoacetate / SLSA
** @@color:red;>> ''!''@@ SLSA / Lathanol
** >> @@color:red;recht aggressives, sulfathaltiges@@ anionisches Tensid, Pulver / Nadeln, 65% WAS<br/><br/>
* Sodium Palmate
** @@color:red;>> ''!!''@@<br/><br/>
* Sodium Palm Kernelate
** @@color:red;>> ''!!''@@<br/><br/>
* Sodium Stearoyl Glutamate
** @@color:red;>> ''!''@@<br/><br/>
* Sorbitan Caprylate
** @@color:red;>> ''!''@@<br/><br/>
* Sorbitan Monolaurate (E 493)
** @@color:red;>> ''!''@@<br/><br/>
* Sorbitan Monooleate (E 494)
** @@color:red;>> ''!''@@<br/><br/>
* Sorbitan Monopalmitate (E 495)
** @@color:red;>> ''!''@@<br/><br/>
* Sorbitan Monostearate (E 491, E 492)
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Squalane@@
** >> [[Squalan / Phytosqualan]] (Basisöl)<br/><br/>
* Stearalkonium Chloride
** @@color:red;>> ''!''@@<br/><br/>
* Stearamide MEA
** @@color:red;>> ''!''@@<br/><br/>
* Stearamidopropyl Dimethylamine
** @@color:red;>> ''!''@@ Emul Amid S18
** >> Emulgator & Haar-Konditionierer, wird aber als kationisches Tensid geführt, Pulver / Nadeln
** >> @@color:red;mit Gesundheits- & Umwelt-Warnhinweisen versehen!@@<br/><br/>
* Stearate
** @@color:red;>> ''!''@@<br/><br/>
* Steareth
** @@color:red;>> ''!''@@<br/><br/>
* Steareth Sulfate
** @@color:red;>> ''!''@@<br/><br/>
* Stearin
** @@color:red;>> ''!''@@<br/><br/>
* Stearic Acid/ Stearinsäure
** @@color:red;>> ''!''@@<br/><br/>
* Stearoyl Sarcosine
** @@color:red;>> ''!''@@<br/><br/>
* Stearyl Alcohol
** @@color:red;>> ''!''@@<br/><br/>
* Stearyl Dimethicone Sorbitan Tristearate (E 436)
** @@color:red;>> ''!''@@<br/><br/>
* Stearyl Ether/Heptanoate
** @@color:red;>> ''!''@@<br/><br/>
* Stearyl Tartrat (E 483)
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Sucrose Cocoate@@
** >> Sanfttensid HT / Sanfteen
** >> Rückfettendes Emollient, aber unter nichtionischen Tensiden geführt, flüssig, 65% WAS<br/><br/>
* Sucrose Laurate
** @@color:red;>> ''!''@@
</$reveal>
{{SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIT" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIT" setTo="show">T</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIT" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIT" setTo="hide">Verstecke T</$button>
* Teflon (EFP, PFEP)
** >> Mikroplastik
** >> @@color:red;Umweltschädlich, langfristig sicher auch gesundheitsschädlich für uns- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Tetrasodium EDTA
** >> EDTA
** >> <div class="tooltip">Komplexbildner
<span class="tooltiptext">binden Salze oder Metallionen in Emulsionen an sich und erhöhen ihre chemische & oxidative Stabilität</span></div>; eingesetzt als Wasserenthärter, <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Konservierer,...
** >> @@color:red;Siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Theobroma Cacao (Cocoa) Seed Butter@@
** >> [[Kakaobutter]]<br/><br/>
* @@color:green;Theobroma Grandiflorum Seed Butter@@
** >> [[Cupuaçubutter]]<br/><br/>
* Tricaprylin
** @@color:red;>> ''!''@@<br/><br/>
* Triclosan
** >> Triclosan, aggressiver Bakterienkiller
** >> @@color:red;zerstört alle Bakterien & viele weitere Negativpunkte- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* Trideceth12
** >> <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div>, Tensid, Silikon
** >> Kein Palmölderivat, soll pflegend für Haut & Haar sein, @@color:red;ist aber eher schädlich- siehe unter "Sonstige schädliche Inhaltsstoffe" bei [[Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten]]@@<br/><br/>
* @@color:green;Trimethylglycin / Betaine@@
** >> Natural Betaine / Tego® Natural Betaine / Glycinbetain / Trimethylglycin
** >> Amphoteres Tensid, Pulver / Nadeln<br/><br/>
* Trimethylenglycol
** @@color:red;>> ''!''@@<br/><br/>
* Tristearin
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Triticum Vulgare (Wheat Germ) Oil@@
** >> [[Weizenkeimöl]]
</$reveal>
{{TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIUVW" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIUVW" setTo="show">UVW</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIUVW" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIUVW" setTo="hide">Verstecke UVW</$button>
* @@color:green;Urea@@
** >> [[Urea / Harnstoff]] (Wirkstoff)<br/><br/>
* @@color:green;5-Ureidohydantoin@@
** >> [[Allantoin]] (Wirkstoff)<br/><br/>
* @@color:green;Vaccinium Macrocarpon (Cranberry) Seed Oil@@
** >> [[Preiselbeersamenöl / Cranberrysamenöl]]<br/><br/>
* Vaseline
** @@color:red;>> ''!''@@ Mineralöl
** >> @@color:red;umweltschädlich & nicht gut für unsere Haut, siehe unter "Mineralöl" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]@@
** @@color:green;>> es gibt auch palmölfreie Vaseline (jedoch selten)!@@<br/><br/>
* Vegetable Oil/Vegetable Fat
** @@color:red;>> ''!''@@<br/><br/>
* @@color:green;Vitellaria paradoxa subspecies nilotica / Butyrospermum / Butyrospermum Parkii (Shea) Butter@@
** >> [[Sheabutter]]<br/><br/>
* @@color:green;Vitis Vinifera (Grape) Seed Oil@@
** >> [[Traubenkernöl]]
</$reveal>
{{UVWUVWUVWUVWUVWUVWUVWUVWUVWUVWUVWUVW}}
<$reveal type="nomatch" state="$:/state/SampleRevealINCIXYZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIXYZ" setTo="show">XYZ</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealINCIXYZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealINCIXYZ" setTo="hide">Verstecke XYZ</$button>
* @@color:green;Xanthan Gum (E 415)@@
** >> [[Xanthan]]<br/><br/>
* @@color:green;Xylit / Xylitol (E 967)@@
** >> [[Xylit]] / Xylitol / Birkenzucker (Wirkstoff)<br/><br/>
* @@color:green;Zinc oxide@@
** >> Zinkoxid (Wirkstoff)<br/><br/>
* Zink Stearate
** @@color:red;>> ''!''@@<br/><br/>
* Zuckerester von Speisefettsäuren (E 473)
** @@color:red;>> ''!''@@<br/><br/>
* Zuckerglyceride (E 474)
** @@color:red;>> ''!''@@<br/><br/>
* Zuckertenside
** @@color:red;>> ''!''@@
</$reveal>
"""
Ölsäure
Ölsäure bildet fast immer die Grundlage von Pflanzenölen. Die einfach ungesättigte Fettsäure gibt Ölen die Eigenschaft gut auf der Haut verteilbar zu sein. Außerdem fördert sie die Aufnahme verschiedener Wirkstoffe in der Hautbarriere und deren Weiterleitung in unterliegende Hautschichten. Mit Ölsäure verbindet man das weiche Gefühl der Haut nach dem Auftragen eines Gesichts- bzw. Körperöls. Ölsäure dient dem Körper als ungesättigte Fettsäure unter anderem als Bestandteil der Zellmembranen und sorgt für deren Durchlässigkeit für Nährstoffe und Wasser.
Stearinsäure
Stearinsäure ist zu großen Teilen in den verglichenen pflanzlichen Ölen enthalten. Die Anteile bewegen sich zwischen 25 und 51 Prozent. Diese gesättigte Fettsäure gibt häufig eine cremig-feste Konsistenz z.B. in Cremes oder bei Body Butter. Ähnlich wie Palmitinsäure kann sie einen Film auf der Haut bilden, der Schutz vor äußeren Einflüssen bietet, jedoch das Abfließen von Talg erschwert. Bei unreiner Haut ist von der Verwendung der Kosmetik mit den Buttern daher generell abzuraten, da die Stearinanteile sehr hoch sind.
Palmitinsäure
Palmitinsäure gilt als natürlicher Bestandteil der Hautbarriere. In Zusammenarbeit mit Ceramiden und Cholesterin schützt sie gegen äußere schädliche Umwelteinflüsse. Als gesättigte, oxidationsstabile Fettsäure kann sie nicht ranzig werden und bewahrt somit auch die kosmetischen Produkte vorm Verfall. Weiterhin gehört es zu ihren Eigenschaften, einen leicht umhüllenden Film auf der Haut zu bilden, was schützende Effekte zur Folge hat und den transepidermalen Wasserverlust verringert. Im Vergleich zu Kakaobutter enthält Mangobutter tendenziell weniger, verglichen mit Sheabutter mehr Palmitinsäure.
Linolsäure
Linolsäure ist eine zweifach ungesättigte Fettsäure. Besonders bei empfindlicher, leicht reizbarer und trockener Haut ist die Anwendung sehr empfehlenswert, da diese Säure besonders fettreich ist. Auch bei entzündlichen Prozessen ist die Verwendung von Produkten mit Linolsäure unterstützend, da sie besonders mild auf die Haut wirkt und lindernde Effekte hat. Bei Neurodermitis empfehlen sich linolsäurehaltige Pflegeöle. Die Anteile sind in allen verglichenen Ölen eher gering, weshalb sich zum Beispiel Sanddornkernöl eher anbietet.
Vitamine
In Mangobutter sind außerdem verschiedene Vitamine enthalten. Dazu zählen Vitamin A, C, D, E und ein Vitamin B-Komplex. Mineralstoffe wie Magnesium, Calcium, Kalium und Eisen ergänzen die wertvollen gesättigten und ungesättigten Fettsäuren um wichtige Wirkstoffe.
@@background-color:orange;''Sortierbare Tabelle aller Lipide mit ihren Inhaltsstoffen erstellen!''@@
''Alle getesteten Rezepte zur Insektenabwehr:''<br/><br/>
<$list filter="[tag[Insektenabwehr]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Insektenabwehr:''<br/><br/>
<$list filter="[tag[Insektenabwehr]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Insektenstichen:''<br/><br/>
<$list filter="[tag[Insektenstich]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Insektenstichen:''<br/><br/>
<$list filter="[tag[Insektenstich]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:white;">
''Interaktive Tiddlerlisten kannst Du erstellen mit:''
Bei dieser Version steht nur noch die Überschrift ''Fette:'' dort, wenn es keine Tiddler gibt, die mit "Fette" getaggt sind (das kann etwas irritierend sein, also am besten nur verwenden, wenn Du Dir sicher bist, dass immer etwas in der Liste stehen wird. Außerdem wird die Liste der gefundenen Tiddler mit `margin-left:2em` etwas nach rechts gerückt, damit die Punkte innerhalb des Tiddlers sind:<br/>
```
''Fette:''<br/><br/>
<$list filter="[tag[Fette]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
```
!!wird zu
''Fette:''<br/><br/>
<$list filter="[tag[Fette]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
------------------------------------------------------------------
Bei dieser Version werden die gefundenen Tiddler wie oben aufgelistet. Allerdings wird, wenn keine Tiddler gefunden werden, darauf aufmerksam gemacht mit "Keine" (emptyMessage="Keine").<br/><br/>
```
''Ungetestete Rezepte:''<br/><br/>
<$list filter="[tag[X]tag[Y]]" emptyMessage="Keine" >
<li><$link><<currentTiddler>></$link></li>
</$list><br/>
```
!!wird zu
''Ungetestete Rezepte:''<br/><br/>
<$list filter="[tag[X]tag[Y]]" emptyMessage="Keine" >
<li><$link><<currentTiddler>></$link></li>
</$list>
<div style="background:White;">
`[[Linktitel]]` =[[Linktitel]] <br/>
so sieht der Link aus, wenn der Tiddler nicht vorhanden ist (bzw. nicht gefunden wurde)- nämlich kursiv.
`[[Herzlich willkommen :-)]]` =[[Herzlich willkommen :-)|.Herzlich willkommen :-)]] <br/>
so sieht der Link aus, wenn der Tiddler vorhanden ist.
Genauso wird auch ein Internetlink eingefügt.
Du kannst auch so einen Tiddler-Link einfügen: Klicke oben in der Editorleiste auf [img[http://up.picr.de/31627208nr.jpg]], gebe dann in der aufgepoppten Suchleiste den Tiddler ein, den Du verlinken willst und klicke dann auf den richtigen Tiddler- er ist dann automatisch als Link an der Cursorstelle eingefügt.
Geht auch mit einem Shortcut: `Strg + L`.
<br/><br/>
''Beschreibung zum Link hinzufügen:''
`[[Willkommensseite|Herzlich willkommen :-)]]`<br/>
!!wird zu<br/>
[[Willkommensseite|.Herzlich willkommen :-)]]<br/>
und verlinkt zum Tiddler "Herzlich willkommen :-)"<br/><br/><br/>
''Bei Links zu anderen Internetseiten (externen Links)'' brauchst Du nur die Adresse eingeben (ohne `[[]]`- das wird trotzdem automatisch ein Link). Ansonsten gilt alles wie bei den internen Links.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Ribes Nigrum (Black Currant) Seed Oil
''Jodzahl:'' 160–175 (trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 1,8–2.3%
''Verseifungszahl:'' 185–195
__Trockene, entzündliche und reife Haut, hypersensible Haut. Unreine Haut.__
Dieses wertvolle, milde Öl ist in seinem Einsatz ein vielseitiges Wirkstofföl: __Trockene und reife Haut__ profitiert von den mehrfach ungesättigten Fettsäuren und lipophilen Flavonoiden mit zellschützenden und -regenerierenden Eigenschaften. __Fettende, unreine und dermatitische Hautzustände__ durch die __entzündungshemmenden__ Inhaltsstoffe und den geringen Gehalt an gesättigten Fettsäuren. Vor allem __sensible Hautzustände__ profitieren von diesem Öl.
Verwende Johannisbeersamenöl als Wirkstofföl nicht über 10% der Ölmischung; seine geringe oxidative Stabilität macht eine Kombination mit Jojoba-, Wiesenschaumkraut- (Meadowfoam-) oder Marulaöl sowie ölsäurereichen Ölen empfehlenswert; auch als Zusatz in einem Sheabalsam ist es als heilende Komponente hervorragend geeignet.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Johannisbeersamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Johannisbeersamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-0, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Simmondsia Chinensis (Jojoba) Seed Oil
''Schmelzbereich:'' 6-7°C
''Haltbarkeit (nach Öffnung):'' Ca. 24 Monate
''Jodzahl:'' 80–88 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Anteile an Unverseifbarem:'' 37–49%
''Verseifungszahl:'' 90–98
__Für alle Hauttypen, insbesondere zur Pflege von trockener, empfindlicher Haut. Optimales, oxidationsstabiles Basisöl, hervorragend geeignet als Trägeröl für Naturparfüm.__
Es __hält die Haut geschmeidig__ und fördert die __Widerstandskraft__.
Zudem ist es __besonders gut für Augencremes__ geeignet, da es nicht "kriecht", also nicht in die Augen zieht.
Jojobaöl wird durch seine spezifische Struktur auf der Haut nur verzögert durch hauteigene Lipasen gespalten und schützt die Hornschicht daher zuverlässig und langanhaltend vor Wasserverlust, __ohne haptisch fettend zu wirken__. Diese Faktoren sind wesentlich für die __feuchtigkeitsspendende__ Wirkung verantwortlich, die Jojobaöl auszeichnet.
Interessant ist, dass Jojobaöl von Mikroorganismen wie Staphylococcus aureus, Pseudomonas aeruginosa und Candida albicans nicht verstoffwechselt werden kann und ihnen somit die Lebensgrundlage entzieht. Gleiches gilt analog für Propionibacterius acnes, anaerobe Keime, die bei verstopften Follikelausgängen zu entzündlichen Komedonen bis hin zu Akne führen können. Für __unreine Haut__ ist Jojobaöl daher eine hervorragende Lipidkomponente. Im Hinblick auf Konservierung bedeutet dies, dass Rezepturen mit Jojobaöl geringere Mengen an konservierenden Zusätzen benötigen als andere Ölkombinationen.
Bemerkenwert ist seine außerordentliche Resistenz gegenüber oxidativen Prozessen; dadurch eignet sich Jojobaöl in Ölmischungen auch zu einer Stabilisierung anderer Öle, die dadurch deutlich länger haltbar bleiben. Es weist einen sehr dezenten Eigengeruch auf und ist aus diesem Grund beliebt als Basisöl in Kombination mit ätherischen Ölen. Es ist ausgesprochen verträglich und __zieht leicht ein__. In Emulsionen verhält sich Jojoba deutlich konistenzgebend, gilt jedoch als schwierig zu emulgieren.
Jojobaöl wird wegen seiner __feuchtigkeitsbindenden__ Eigenschaften gerade bei __reifer und trockener Haut__ sehr geschätzt. Darüber hinaus ist es ein universell in der Haut- & Haarpflege einsetzbares Öl, das jede Rezeptur sinnvoll ergänzen kann. Mische es mit linolsäure- und linolensäurehaltigen Ölen, da es selbst keine Anteile an diesen Fettsäuren hat.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Jojobaöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Jojobaöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Gib 1 TL [[Natron]] in die Kanne / Flasche / Tasse (bei Tassen entsprechend weniger).
Gib kochendes Wasser dazu und lass das ganze für ein paar Stunden / über Nacht einweichen.
Schon sind hartnäckige Beläge spielend aufgelöst.
Für besonders hartnäckige Fälle kannst du Gebissreiniger-Tabs verwenden. Diese wirken noch besser und schonen gleichzeitig die Beschichtung von Thermoskannen.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=350 src="https://share-your-photo.com/img/f976b70496.jpg"/>||
|<h6>Rhaessner, [[Kakaofruechte|https://commons.wikimedia.org/wiki/File:Kakaofruechte.JPG]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya<br/>(u.a.: USCapitol, [[Chocolate in its Rawest Form (27583224425)|https://commons.wikimedia.org/wiki/File:Chocolate_in_its_Rawest_Form_(27583224425).jpg]], gemeinfrei),<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""@@font-size:0.8em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@
''Art / Konsistenz der Zutat:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>, Pflanzenbutter, ''Ölgruppe:'' PF-1,
''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Kakaobutter ist ein blass- bis hellgelbes Pflanzenfett, das durch das Pressen von Kakaosamen oder Kakaomasse gewonnen wird.
Unterhalb des Schmelzbereichs (32–36°C) ist sie hart und spröde, darüber schmilzt sie.
''INCI-Bezeichnung:'' Theobroma Cacao (Cocoa) Seed Butter
''Inhaltsstoffe:'' Stearinsäure (ca. 30-37%), Ölsäure (ca. 30-39%), Palmitinsäure (ca. 23-31%), Linolsäure (ca. 2-5%), Carotinoide, ca. 0,4% <div class="tooltip">Unverseifbares
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div> (darunter <div class="tooltip">Phytosterole
<span class="tooltiptext">Begleitstoff von Pflanzenfetten; haben eine dem Cholesterin ähnliche Struktur und können dieses in der Haut weitgehend ersetzen</span></div>, u.a. β-Sitosterol, Stigmasterol und Campesterol).
''Besonderheit / kosmetische Wirkung:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften für alle Arten von <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>, Salben, Lippenpflegestiften, <div class="tooltip">Body Melts
<span class="tooltiptext">Quasi eine "feste" Creme- sieht optisch aus wie ein Seifestück. Bei Hautkontakt schmilzt es und wird wie eine Creme verteilt. Ohne Wasseranteil.</span></div>, Badebomben, Haarspülungen, Haarkuren- allgemein Haarpflegemitteln.
Sie wirkt hautberuhigend bei gereizter, spröder Haut und erzeugt ein wundervoll samtig-weiches Hautgefühl. Außerdem ist Kakaobutter hilfreich gegen Schwangerschaftsstreifen.
Und sie pflegt trockene Haare.
Nicht nur das Fett der Kakaobutter selbst wirkt dabei äußerst feuchtigkeitsspendend, sondern es fungiert auch als Träger für weitere pflegende Zusatzstoffe.
''Duftprofil:'' Sie riecht nur dezent nach Kakao.
''Einsatzkonzentration:'' 5-35% der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>
''Pflanzenbutter | Ölgruppe:'' PF-1 (innerhalb B-0)
''Schmelzbereich:'' 32–36°C
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Jodzahl:'' 33–42 (nicht trocken)
''Spreitwert nach Olionatura®:'' <div class="tooltip">Niedrigspreitend
<span class="tooltiptext">Niedrigspreitendes Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.</span></div>
''Anteile an <div class="tooltip">Unverseifbarem
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div>:'' max. 0,4%
''Verseifungszahl:'' 192–198
''Lagerung:'' Sie muss nicht gekühlt werden. Allerdings sollte man sie nicht über 35°C lagern, da die Kakaobutter ab dieser Temperatur schmilzt.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs bei Alexmo (ist bei [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufgeführt). Ansonsten auch bei den meisten anderen dort aufgeführten Anbieter erhältlich; jedoch nicht in Drogerien. Im Biomarkt bei mir um die Ecke seit neuestem nicht mehr als Pastillen erhältlich :-(
''Worauf beim Kauf achten:'' Nur Bio-Qualität nehmen.
''Tipp für die Verarbeitung:'' Die Kakaobutter sollte nicht zu lange und zu hoch erhitzt werden, da sonst die Wirkstoffe verloren gehen können, sie dann gerne auskrisselt und ihre Härte-Fähigkeit verlieren kann. Daher ganz zum Schluss in der Fettphase schmelzen- aber vor hitzeempfindlichen flüssigen Ölen.
Die generelle Reihenfolge ist also: 1. Hitzeunempfindliche Lipide (Wachse, Öle, sonstige Lipide), 2. sonstige Buttern bei verringerter Hitze, 3. Kakaobutter bei noch stärker verringerter Hitze, 4. hitzeempfindliche Öle ohne Hitze, 5. Pulver, Wirkstoffe, etc., 6. Ätherische Öle.
//Musst// Du die Kakaobutter doch mal in stärker erhitzten Lipiden schmelzen, so rühre sie längere Zeit "kalt" (also ohne Hitzezufuhr), dann verbessert sich ihre Härte-Fähigkeit wieder (sie kann dann ihre kristallinen Strukturen wieder besser ausbilden). Ca. solange, bis der Becherboden gute Handwärme erreicht hat.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Kakaobutter]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Kakaobutter]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
{{/%Wieviel ist die Endmenge in ml?%/}}
<img width=210 src="https://share-your-photo.com/img/e3a88e57a7.jpg" style=" float:left;padding: 0 1.5em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann (ohne Xanthan einfacher, außerdem brauchst Du dann keine "exotische" Zutat; wird dann allerdings absolut dünnflüssig).
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieses Kalkentferners:'' Entfernt Kalk bestens & schnell. Hat durch seine Dickflüssigkeit etwas Einwirkzeit, da er nicht gleich komplett runter läuft. Trotzdem in einer Sprühflasche ohne Verstopfen verwendbar (zumindest in einer Sprühflasche von einem aufgebrauchten Kalkentferner).<br/>
''Meine Erfahrung damit:'' Verwende ich seit vielen Jahren mit Begeisterung und bin froh, endlich einen Kalkentferner zum Sprühen zu haben, dessen Dickflüssigkeit ich selbst einstellen kann.
''Anwendung:'' Aufsprühen, ggf. ein paar Minuten einwirken lassen und wieder kalt abbrausen / abwaschen.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> ml<br/>(Mindestmenge 100ml, wenn Du 0,07g Xanthan abwiegen kannst & kein Lavendelöl brauchst, mit Lavendelöl 280ml. Und wenn Du keine 0,01g-genaue Waage hast, dann mind. 340ml)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 500 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /500* 500,2)</$calc>g/ml Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /500* 6.25,2)</$calc>g [[SLMI / SurfaLux palmölfrei (Tensid)]] (!)
* <$calc>round({{!!gesamtmenge}} /500* 80,2)</$calc>g [[Zitronensäure]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 0.37,2)</$calc>g ( =<$calc>round({{!!gesamtmenge}} /500* 0.74,2)</$calc> gestr. Messl.) [[Xanthan]] (?)
* <$calc>round({{!!gesamtmenge}} /500* 2,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /500* 0.09,2)</$calc>g) [[Lavendelöl]] @@font-size:0.8em;oder anderes äth. Öl / Duftöl@@ (?)
<br/>
''Zubereitungszeit:'' Ca. 15 Minuten
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Wasser'' mit SLMI aufkochen & auf unter 100°C abkühlen lassen.
# ''Zitronensäure'' einrühren.
# ''Xanthan'' mit einem Schneebesen nach und nach einrühren (@@font-size:0.8em;ich habe Xanthan in einem kleinen Schälchen abgewogen und klopfe mit diesem gegen den Schneebesen, mit dem ich die ganze Zeit kräftig rühre. Auf die Art rieselt immer nur wenig Xanthan ein und verteilt sich sofort. So bekommst Du das beste, nämlich klumpenfreie, Ergebnis.)@@<br/>Nun sollten sich auch alle Zitronensäure-Kristalle aufgelöst haben.
# Auf Handwärme abkühlen lassen und ''Lavendelöl'' unterrühren.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* Am besten im Kochtopf rühren.
* Schneebesen
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort verwendbar. Die endgültige Konsistenz ist allerdings erst nach 1 Tag vorhanden (Xanthan dickt nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
Wasser: (durchschnittlich 0,2Ct / Liter)
Trägermaterial...
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,18€)
Tenside senken die Oberflächenspannung des Wassers und sorgen so für eine bessere Haftung des Reinigers auf glatten Oberflächen. Ausserdem dickt SCI den Reiniger etwas an.
[[Zitronensäure]] (0,59€)
Zitronensäure wirkt entkalkend, <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>.
[[Xanthan]] (0,03€)
Xanthan macht den Kalkentferner dickflüssiger, damit er nicht sofort die Armatur runterläuft. Wenn Du das nicht möchtest, kannst Du es einfach weglassen.
[[Lavendelöl]] (0,03€)
In diesem Rezept wird Lavendelöl aufgrund seines Dufts und der <div class="tooltip">desinfizierenden
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> Wirkung verwendet.
Dafür ist das "Lavandinöl" (Lavandula intermedia) oder das Spik-Lavendelöl / Spiköl (Lavandula latifolia) am besten geeignet- und wesentlich günstiger.
''Selbstkonservierend durch'' Zitronensäure (<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>) & Lavendelöl (nicht nur konservierend, sondern auch <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>).
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 3 Monate haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 0,83€ für 500ml Gesamtmenge. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Kalkränder von Tonwaren wie Blumentöpfen oder Zierfiguren entfernt ein warmes [[Waschsoda]]-Bad. Dafür 1 TL bzw. 3g auf 1 l Wasser geben und den Tongegenstand einige Stunden einweichen."""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Camelia Oleifera Seed Oil
''Jodzahl:'' 83–89 (nicht trocken)
''Schmelzbereich:'' -10°C - 0°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Verseifungszahl:'' 180–188
__Trockene, sensible Haut, irritierte Haut, gilt als hervorragendes Haarpflegeöl.__
In seinem Fettsäurespektrum weist Kameliensamenöl aus Camellia oleifera eine hohe Ähnlichkeit mit Haselnussöl auf, besitzt jedoch weniger Linolsäure. Auch Marulaöl kommt der Zusammensetzung recht nah, ist jedoch noch »einhüllender«. In den Herkunftsländern wird es ähnlich wie Olivenöl als vielseitiges Öl in der Küche und auch in der Haut- und Haarpflege verwendet. Sein hoher Ölsäuregehalt und der nicht sehr ausgeprägte Gehalt an gesättigten Fettsäuren weist es als Öl mit __glättender und leicht »einhüllender« Wirkung__ aus, das __sehr gut einziehen__ und Wirkstoffe in die Haut schleusen kann. An Begleitstoffen werden in einigen Forschungsberichten Terpene genannt, die offenbar seine __irritationsmildernde__ Wirkung begründen.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Kameliensamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Kameliensamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Er leidet bei dem Wetter unter juckender Haut an den Schienbeinen, die er teilweise aufgekratzt hat. hierfür habe ich ihm einen Creme zubereitet aus Avocadoöl, Kakaobutter, d-Panthenol und die Wasserphase aus einem Sud aus schwarzen Tee und Kamille. Konserviert mit AKons.
Der Sud aus schwarzen Tee soll lt. Aussage meines Hautarztes eine ähnliche Wirkung haben wie Kortison.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte gegen Karies:''<br/><br/>
<$list filter="[tag[Karies]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Karies:''<br/><br/>
<$list filter="[tag[Karies]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
Siehe [[Sheabutter]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<link href="https://fonts.googleapis.com/css?family=Kaushan+Script" rel="stylesheet">
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
<img width=330 src="https://share-your-photo.com/img/5c9ff6d7f9.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Art / Konsistenz der Zutat:'' Pulver, Wirkstoff, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Silicium, also Kieselsäure, ist ein weißes, sehr feines & extrem leichtes Pulver und ein lebenswichtiges Spurenelement. Es fühlt sich an wie "trockene" Wolken & sieht auch so aus :-)
''INCI-Bezeichnung:'' Silicia.
"""
''Besonderheit / kosmetische Wirkung / Einsatzgebiet:'' Sorgt in Zahnpasta für eine leichte Schleifwirkung und unterstützt die Stabilität der Zahnpasta.
''Duftprofil:'' Geruchsneutral.
''Einsatzkonzentration:'' 1-10 %
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Beachte:'' Das Kieselsäurepulver ist __extrem__ leicht!!! Nicht husten oder stark ausatmen, keine schnellen / ruckartigen Bewegungen, Dose vorsichtig aufschrauben. Sonst hat man rundherum Kieselsäure rumfliegen!
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Kieselsäure]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Kieselsäure]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Kindern / in der Schwangerschaft:''<br/><br/>
<$list filter="[tag[Kinder / Schwangerschaft]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Kindern / in der Schwangerschaft:''<br/><br/>
<$list filter="[tag[Kinder / Schwangerschaft]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""da arbeite ich mit viel ÄÖ (wärmend, stimmungsaufhellend, beruhigend) und dem Ritual, damit kamen wir ziemlich oft um den Einsatz von Schmerzmitteln rum, ohne dass sich die Kinder quälen...
standardmäßig verwende ich die Mischung Lavendel, Melisse, Myrte und Immortelle.
Am letzten Wochenende habe ich bei einer neuen Charge Myrte durch Wintergrün ersetzt um die Wirkung noch ein wenig zu boosten (Methylsalicylat). Wird hier gut vertragen und wirkt wohl.
Auf 100 g reine Salbenmenge verwende ich je 1 g der ÄÖ's, Wintergrün habe ich jetzt mal mit 0,5 g angesetzt.
Verwendet wird pro schmerzendes Knie eine erbsengroße Menge in Verbindung mit Wärme (Wollstulpe überm Knie, Mamas oder Papas Hand auflegen und wiedereinschlafkuscheln)
"""komplett ohne Wasserphase, das nehmen beide heute noch als Lippen- und Nasenpflege bei Kälte:
10 g Mandelöl
5 g Lanolin
1,5 g Bienen- oder Sonnenblumenwachs
Bei Schnupfen kommt noch 5% D-Panthenol in die Mischung.
ÄÖ Kamille/Lavendel/ Rose (oder günstiger Geranie)
"""Superfantastische Heilcreme gerührt, die sowohl rauhe Stellen bei meinen beiden leichten Neurodermitikerkindern glatt macht, als auch bei kleinen Verletzungen hilft:
Fettphase:
4g Avocadoöl, grün
3g Johanniskrautöl
3g Calendulaöl
1g Tegomuls
2g Lanolin
3g Sheabutter
Öle mit Emulgatoren und Lanolin erhitzen, Sheabutter darin langsam schmelzen
Wasserphase:
25g Teeaufguss von Stiefmütterchenkraut
Heiße Wasserphase in die Fettphase rühren, bei Handwärme die folgenden Inhaltsstoffe ergänzen
1ML Panthenol..oder auch mehr
10 Tr. Aloe Vera 10fach
1ML Nachtkerzenöl
konserviert mit 2ml Weingeist oder kleine Portionen einfrieren!
Die Creme ist leicht grünlich durch das Avocadoöl und durch den Stiefmütterchenaufguss und läßt sich sehr leicht auftragen.
Stiefmütterchen sind auch klasse als Bad gegen Ekzeme geeignet und haben bei meiner Kleinen als sie die schlimmsten Neurodermitisschübe hatte, immer toll geholfen, deshalb habe ich die Creme damit gemacht!!
Schwarztee hat viel gerbsäure und das hat sich bei meinen rezepten gegen Neurodermitis bisher sehr bewährt.
"""Die Creme ist supercremig, leicht, zieht prima ein und die Kinder lieben sie.
10 ml Jojobaöl
2 g Tegomuls
5 g Lanolin
5 g unraffinierte Shea
25 ml Wasser
2,5 g Urea
Johanniskrautextrakt und Kamilleextrakt (ich habe hier 2 ml Johanniskraut, 2 ml Kamille und 1 ml Calendulaextrakt genommen)
ca. 8 Tr D-Panthenol
4 Tr Vitamin E
und ein bißchen Vanillearoma
Konservierer habe ich keinen genommen, da die Menge ja nicht so groß.
Abgewandelt:
8ml Jojobaöl
2ml Johanneskrautöl
1ML Tegomuls
2ML Lanolin
3ML Sheabutter
25ml Des.Wasser
1/2 ML Urea
1Ml Phantenol
10 Tropfen Aleovera 10
ist eine sehr schöne sahinge Creme geworden die sehr gut wegzieht, einen schönen Film auf der Haut bildet und dabei nicht so glänzt.
Wo ich doch gerade so auf Erdeerextrakt stehe: Könnte ich mir in dieser Creme auch sehr gut vorstellen! Kinder mögen ja bekanntlich Erdbeerduft und ich hab gerade nochmal nachgelesen, dass Erdbeeren seeehr gut für trockene Haut sind!
"""''Schnelle Perlglanz Schminkcreme''
Dieses Rezept hat den großen Vorteil, dass es in ein paar Minuten hergestellt ist und neben einer bereits fertigen Creme nur ein paar Perlganzpigmente benötigt werden. Außerdem können auf diese Weise auch sehr kleine Mengen hergestellt werden. Perfekt für Kurzentschlossene! Diese Schminke ist zwar nicht 100 % wischfest, einen Karnevalszug übersteht sie aber in der Regel gut. 2 weitere Zutaten perfektionieren die wischfeste Schminke.
Da es stark auf die verwendete Creme ankommt, gibt es keine genauen Mengenangaben. Als Richtwert kann man 5-10% des Cremevolumens an Perlglanzpigmenten verwenden. Pigmente einfach gut in die Creme einrühren, fertig.
Besonders eignet sich das Grundrezept der Calendula Creme für junge und empfindliche Haut, welches für die Schminke auch sehr gut mit Mandelöl hergestellt werden kann. Man kann es auch mit einer gekauften Creme versuchen, bei denen das Ergebnis aber nie sicher ist.
Die Gesamtmenge dieses Rezeptes beträgt ca.: 80ml
Fettphase:
4g Emulsan
13g Mandelöl
4g Cetylalkohol (zuerst in Öl lösen)
60g Wasser für die Wasserphase
0,5 Messl. D-Panthenol 75% (muss nicht, pflegt aber)
Wirkstoffe, um die Schminke wischfest und elastisch zu machen:
5 Messl. Gummi Arabicum
2,5Messl. Glycerin
3Messl. Perlglanzpigmente
Konservierung:
Eine Konservierung ist nicht nötig, wenn die Creme direkt verbraucht wird. Ansonsten ist die Creme für den normalen Gebrauch eh konserviert. Eine Ausnahme besteht, wenn die Schminke aufbewahrt werden soll. Dann unbedingt mit Paraben K konservieren, da Pigmente den PH Wert der Creme ändern können, so dass die natürlichen Konservierer nicht mehr arbeiten können.
Aufgeteilt in 4 Portionen à 20 g können 4 Farben hergestellt werden. Pro 20 g reichten ca. 1/2 bis 1 Messl. (10 g Pigmente sind ca. 8 Messl. à 2,5 ml) Perlglanzpigmente aus. Am besten die Pigmente nach und nach einrühren und immer wieder die Farbstärke testen. So kann man sich dem gewünschten Farbton nach und nach annähern.
Fettphase und Wasser auf 65-68 °C erhitzen. Danach Wasser unter ständigem Rühren in Fettphase einrühren. Bei Handwärme die weiteren Zusatzstoffe und ganz zum Schluss die Pigmente hinzufügen.
Tipp: Die Perlglanzpigmente können auch direkt in den Döschen gemischt werden.
Hinweis: Gummi Arabicum und Glycerin müssen zusammen verwendet werden, da die Creme durch das Gummi Arabicum zwar wischfest wird, aber einen leichten Film bildet, welcher durch das Glycerin elastisch gehalten wird.
''Schnelle Schminke mit normalen Pigmenten''
Auch normale Pigmente können in fertigen Cremes verarbeitet werden. Diese müssen allerdings mit der Creme verrieben werden. Es reicht also nicht aus, sie einfach in die Creme zu rühren. Die (Erd-) Pigmente sind wesentlich grober als die Perlglanzpigmente und entfalten ihre Farbe am besten durch das Verreiben in einem Mörser. Außerdem wird nur so ein klümpchenfreies Ergebnis erzielt.
Herstellung: Die gewünschte Menge Creme in einen Mörser geben und mit den Pigmenten verreiben. Ansonsten wie oben.
Im Vergleich zu den Perlglanzpigmenten ist die Dosierung der normalen Pigmente wesentlich geringer, da diese wesentlich farbintensiver sind. Daher wird hier nicht mit Messlöffeln, sondern mit Messerspitzen gearbeitet. (10 g Pigmente sind ca. 6 Messl. à 2,5 ml) Dabei eine kleine Messerspitze pro 20g Creme verwenden, verreiben, testen und evtl. Menge erhöhen.
Hinweis: Da die normalen Pigmente sehr farbintensiv sind, sollten sie nicht mit der Kleidung in Kontakt kommen, da sie abfärben könnten. Bei zu starker Dosierung kann es vorkommen, dass die Farbe schwer zu entfernen ist.
Tipp: Das Pigment Ocker ergibt ein ganz passables Gelb, was insbesondere für "Löwen" etc. geeignet ist. Die Pigmentmischung A, evtl. gemischt mit etwas Dunkelbraun oder Rotbraun, läßt Indianerträume wahr werden.
Mit Titandioxid kann jede Creme in blütenweiße Clownschminke verwandelt werden.
''Schminkstifte''
Meistens können Schminkstifte nur in den Grundfarben oder großen Sets gekauft werde, von denen man die meisten überhaupt nicht gebrauchen kann. Selbstgemachte Schminkstifte können demgegenüber in jeder Farbe und Größe hergestellt werden.
Als Hüllen eignen sich besonders gut dicke Strohhalme. Diese können sogar mit dem Stift angespitzt werden. Außerdem können Hüllen auch mit normalen Schreibpapier gebastelt (aufrollen und an einer Seite verkleben) werden. Diese sollten aber nach dem Austrocknen entfernt und die Stifte in Alufolie geschlagen werden. Leere Holzhüllen sind leider nicht mehr erhältlich. Wer etwas dickere Stifte haben möchte, kann natürlich auch die Lippenpflegestifthülsen verwenden.
Es gibt 2 Methoden, die Stifte zu befüllen:
Vor dem Befüllen können die Hüllen mit Frischhaltefolie verschlossen werden. Diese klebt von sich aus zusammen und ist leicht wieder zu entfernen. Dann kann die Hülle von oben direkt aus dem Becherglas befüllt werden.
Wer Strohhalme verwendet, kann die Masse auch mit dem Mund ansaugen. Dies ist vor allem bei eher dünnen Hüllen eine sehr gute Methode. Dazu den Strohhalm nicht zu weit oder gar nicht kürzen. So kann die Masse einfach so hoch wie gewünscht angesaugt werden, ohne dass sie im Mund landet. Der Rest abschneiden, anspitzen und fertig ist der Stift.
Tipp: Bevor der Strohhalm aus der Masse gezogen wird, das obere Ende mit dem Finger abdecken, damit nicht alles wieder hinausläuft.
Tipp Farbmischungen:
Wer Stifte mit gemischten Farben gießen möchte, kann den Reinigungsaufwand reduzieren, wenn z.B. Gelb zuerst in der doppelten Menge angesetzt, der gelbe Stift gegossen wird und der Rest dann mit blau zu grün gemischt wird.
Natürlich können alle Pigmente, auch Perlglanzpigmente mit normalen Pigmenten gemischt werden.
''Perlglanzstifte''
Das folgende Rezept reicht für ca. 8-9 mittelgroße Schminkstifte, die in den verschiedensten Farben hergestellt werden können.
Die Gesamtmenge dieses Rezeptes beträgt ca.: 50ml
36g Rizinusöl
3g Carnaubawachs
6g Bienenwachs
12 Tr. Vitamin E Acetat
Pigmente: Auf ca. 5-6g dieser Fettphase kommen 1-2 Messl. Perlglanzpigmente.
Konservierung: Die Stifte sind ca. 1 Jahr haltbar, da sie kein Wasser enthalten. Sie können also im kommenden Jahr noch einmal verwendet werden.
Zuerst den Carnaubawachs im Öl schmelzen, da dieser den höchsten Schmelzpunkt hat. Dann den Bienenwachs einschmelzen, alles etwas abkühlen lassen, und Vitamin E Acetat sowie Pigmente hinzugeben, gut verrühren und in die Stifte füllen.
''Schminkstifte mit "normalen" Pigmenten''
"Normale" Pigmente müssen wie bei der Creme im Mörser verrieben werden. Daher ist der Ölanteil etwas geringer, weswegen dieses Rezept nur für ca. 6-7 Stifte reicht.
Die Gesamtmenge dieses Rezeptes beträgt ca.: 40ml
27g Rizinusöl
3g Carnaubawachs
6g Bienenwachs
10 Tr. Vitamin E Acetat
Pigmente: Auf ca. 5-6g dieser Fettphase kommen 0,5-1 Messl. "normale" Pigmente
Zuerst den Carnaubawachs im Öl schmelzen, da dieser den höchsten Schmelzpunkt hat. Dann den Bienenwachs einschmelzen, in den Mörser geben und Vitamin E Acetat sowie Pigmente hinzugeben. Dann gut verreiben und eventuell noch einmal im Becherglas einschmelzen. Danach in die Stifte füllen."""
-------------------------------------------------------------------------------------------
"""Wenn die Schülerinnen und Schüler die Schminke selbst herstellen, gewinnen sie einen größeren Bezug zu dem aufzutragenden Material.
In einem Becherglas wird ein Gemisch aus 20ml Rizinusöl, 5ml Bienenwachs und 5ml Carnaubawachs bis auf 100° Celsius erhitzt, danach gibt man unter ständigem Umrühren 15ml eines Pigments hinzu.
Die dafür verwendeten Pigmente sollten für die Herstellung von Schminke zugelassen sein. Geeignet sind in der Regel synthetische Eisenoxidpigmente oder Zinkweiß bleifrei, da diese Pigmente auch für Lebensmittel oder medizinische Zwecke zugelassen sind.
Die geschmolzene Masse wird in einseitig geschlossene Röhrchen oder in Döschen vergossen. Nach dem Abkühlen kann die Schminke auf die Haut aufgetragen werden, wobei es günstig ist, das Gesicht vorher mit Niveacreme einzucremen. Zum Abschminken wird ebenfalls Nivea verwendet, da sich Wasser nicht mit der fetthaltigen Schminke verbindet.
Gummi Arabicum (=Acacia Senegal) lässt die Schminke besser und länger haften. Das macht also schon Sinn.
Gummi Arabicum kannst du als Gummar HT bei Behawe kaufen.
Ich denke auch, dass der Stoff dabei sein muss.
Die Konservierung ist wohl notwendig , da die Farbe mit dem feuchten Schwamm aufgenommen wird.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Mein Geschirr glänzt und hat keine Rückstände.
Der pH- Wert des Klarspülers sollte bei 2.2 - 2.8 liegen.
An diesem Klarspüler von Sodasan habe ich mich orientiert.
Zusammensetzung:
>30% Wasser, 15-30% Zitronensäure, 5-15% Alkohol (Ethanol), <5% Citrate, Zuckertenside.
56 % Wasser
20 % Zitronensäure
20 % Alkohol (96Vol.%)
2 % Natriumcitrat
2 % Decyl Glucoside (nichtionisches Zuckertensid)
5 Tropfen äth. Zitronenöl
Die Tenside sorgen für schnelles, gleichmäßiges Ablaufen, die Zitronensäure für fleckenfreies Geschirr.
Bei Unterdosierung bleiben Tropfen und Kalkstreifen zurück.
Bei Überdosierung haften schmierige Schlieren auf Gläsern und Geschirr.
Ich nehme Melissengeist, der ist auch relativ preiswert. Da habe ich ein besseres Gefühl, als bei Isopropylalkohol.
Es wird ja alles wieder abgewaschen, insofern spricht jetzt nichts dagegen.
Vielleicht der Geruch. Keine Ahnung.
Der Maschine schadet es auf keinen Fall.
Anderes Rezept
75% Wasser
15% Alkohol
5% Zitronensäure (max. 10%)
5% Decyl Glycosid (2-5%)
80 g Zitronensäure in 200 ml warmen Wasser auflösen, 300 ml Spiritus oder billigen Alkohol dazu, in eine Flasche umfüllen, gut schütteln, fertig.
der Alkohol ist gegen die Schlierenbildung
"""kleie, milch, ölbad:
2 handvoll schmelzflocken
2 eßl. milchpulver
200gr öl
50gr betain
alles, nach und nach verrühren und dann mit dem püstab gut aufrühren. Mit lavendelextrakt und lavendel äö vermischen und abfüllen.
Früher hab ich badepralinen mit haferflocken gemacht, die dann wie die lushteile, in gaze gewickelt wurden und im badewasser geschmolzen. Da aber die tochter meiner freundin ihr baby im waschbecken badet (hab ich schon bei meinen gemacht ) sind die nicht so praktisch. Darum hab ich eine flüssige version hergestellt. Sollte sich was trennen, einfach vor gebrauch schütteln. Das bad wird sehr gerne genommen und ständig nachbestellt. Eignet sich natürlich auch für große kinder jeglichen alters und pflegt die haut schön glatt......was babies ja nicht brauchen, omas aber schon
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=230 src="https://share-your-photo.com/img/f9850f5e9f.jpg"/>||
|<h6>Alex Lomas, [[Cocos nucifera (2944481522)|https://commons.wikimedia.org/wiki/File:Cocos_nucifera_(2944481522).jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]</h6>||
@@
"""@@font-size:0.8em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@
''Art / Konsistenz der Zutat:'' MCT-Öl, welches bei Zimmertemperatur fest ist.
''Ölgruppe:'' PF-2 (innerhalb B-0), ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Cocos Nucifera (Coconut) Oil
''Ursprung/Beschreibung:'' Klares Öl, welches aus den Früchten der Kokospalme gewonnen wird und dessen Schmelzpunkt zwischen 20 und 25°C liegt. Daher wird es bei Zimmertemperatur meist fest (& weiß) und muss vor Gebrauch entweder etwas erwärmt, oder aus den extra weithalsigen Flaschen mit einem Spatel entnommen werden. Bei Hautkontakt schmilzt es sofort.
''Inhaltsstoffe:'' Laurinsäure, Caprylsäure, Caprinsäure, Palminsäure, Stearinsäure, Myristinsäure, Aminosäuren, Linolsäure, Palmitinsäure, Vitamin E, Vitamin K, Selen, Magnesium, Calcium, Kalium, Phosphor, Eisen, Zink, Mangan, Kupfer.
''Besonderheit / kosmetische Wirkung:'' Kokosöl wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungshemmend und <div class="tooltip">antimikrobiell
<span class="tooltiptext">=desinfizierend=gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>. Es hält die Haut weich und versorgt sie mit viel frischer Feuchtigkeit.
Kokosöl hat eine sehr hohe Spreitfähigkeit (lässt sich also sehr leicht verteilen) und zieht schnell ein, ohne einen Fettfilm auf der Haut zu hinterlassen. Obwohl Kokosöl für jeden Hauttyp geeignet ist, profitiert trockene, rissige und empfindliche Haut besonders. Häufig liest man aber auch, dass Kokosöl für fettige / unreine / Mischhaut nicht geeignet sei, da es die Poren verstopfe- da ist wohl ausprobieren angesagt...
Durch seinen natürlichen (leichten!) Sonnenschutzfaktor ist Kokosöl ebenfalls für Sonnenkosmetik geeignet, da es die Sonnenschutzrohstoffe effektiv unterstützen kann.
Zudem ist Kokosöl hervorragend zur Haarpflege geeignet. Bei trockenem, sprödem und schuppigem Haar kann Kokosöl- über Nacht auf Kopfhaut und Haar verteilt- dem Haar wertvolle Feuchtigkeit spenden, es geschmeidig machen und die Haarwurzeln stimulieren. Ins nasse Haar nach dem Waschen gegeben, hilft es den Haarspitzen und gegen elektrische Aufladung.
''Duftprofil:'' Dezenter Kokosduft.
''Einsatzkonzentration:'' 5-100% in der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> (nicht über 65°C erhitzen).
''Ölgruppe:'' PF-2 (innerhalb B-0)
''Schmelzbereich:'' 20-25°C
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Jodzahl:'' 7–10 (nicht trocken)
''Spreitwert nach Olionatura®:'' <div class="tooltip">Hochspreitend
<span class="tooltiptext">Hochspreitendes Öl verteilt sich sehr gut & dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.</span></div>
''Anteile an <div class="tooltip">Unverseifbarem
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div>:'' Ca. 0,5%
''Verseifungszahl:'' 242–263
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten. Falls es mal leicht erwärmt werden muss: Einfach auf der warmen Heizung erwärmen oder mit einem Löffelstiel entnehmen.
''Beachte / Verarbeitungstip:'' Nicht über 65°C erhitzen- sonst gehen Wirkstoffe verloren!<br/>Obwohl das Öl einen niedrigen Schmelzpunkt hat, beeinflusst es nicht die Konsistenz von Cremes, sie werden also dadurch nicht fester.
''Erhältlich bei:'' Ich kaufs im Biomarkt um die Ecke.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
"""''Worauf beim Kauf achten:'' Nativ oder raffiniert? (Natives ist wesentlich wertvoller)
* __Native Öle__ sind naturbelassen und kalt gepresst ohne weitere Wärmezufuhr. Die kalte Pressung ohne Wärmezufuhr vermeidet Oxidation. Das Öl wird filtriert. Weder Öl noch Rohware werden vor- oder nachbehandelt, etwa durch Raffination, Dämpfung oder Rösten. Es bleiben alle Inhaltsstoffe erhalten. Der deutliche Frucht- / Saatgeschmack, Geruch und intensive Farbe sind charakteristisch.
* __Raffiniertes Kokosöl:__ Dieses wird stark erhitzt und es werden ihm chemische Substanzen zugefügt, wodurch es auch gebleicht und desodoriert wird, um Aromen, Farben & Gerüche zu entfernen. Durch die starke Erhitzung und die Produktion verliert das Öl viele wichtige Nährstoffe und die natürlichen Aromen. Die Fettsäuren mit der Laurinsäuren bleiben meistens weitgehend erhalten- und damit die antibakterielle Wirkung. Manchmal wird raffiniertes Kokosöl aber u.a. fraktioniert, wobei manchmal auch die Laurinsäuren mit entfernt werden. Dann ist auch keine antibakterielle Wirkung mehr vorhanden.<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Kokosöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Kokosöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/>
"""
''Leider besteht beim Kokosöl eine sehr ähnliche Problematik wie beim Palmöl''
- siehe [[Was ist denn so schlimm am Palmöl?|1. Was ist denn so schlimm am Palmöl?]] & [[Ziel: Statt Vermeidung- Faires Bio-Palmöl!|4. Ziel: Statt Vermeidung- Faires Bio-Palmöl!]]
Ich bin Rühr-Anfängerin, wenn auch schon etwas fortgeschritten. Bedeutet, dass ich nicht alles auf einmal kann, leider!!
Mein 1. Schritt ist, palmölhaltige Zutaten bestmöglichst zu ersetzen. Sehr häufig ist dann Kokosöl im Spiel- auch wenn es ein Öl mit fantastischen Eigenschaften ist, besteht ein ähnliches Problem wie beim Palmöl...
Langfristiges Ziel muss m.M. sein, nachhaltiges faires Bio-Palmöl einzusetzen. Doch leider gibt es noch keine Zutaten für die Selbstrührerei, die daraus hergestellt sind. Oder zumindest steht dies nirgends dabei.
Der Zwischenschritt ist mir noch nicht klar: Auf was setze ich denn am besten, solange es keine Zutaten gibt, die auf dem "guten" Palmöl basieren? Kokosöl hat weniger Ertrag und hat die gleichen Ansprüche wie Regenwald (ist aber wohl nicht für Großplantagen geeignet). Sojaöl hat den wenigsten Ertrag. Rapsöl & Sonnenblumenöl werden zwar regional angebaut, haben aber auch weniger Ertrag als Palmöl. Weitere Pflanzenöle: Ähnlich.
Was ist nun mittelfristig //die// Lösung??? Ich bin dabei, mich zu informieren...
__Update:__ Es gibt wohl keine perfekte Lösung. Alle Fette haben ihre umweltschädigenden Nachteile- siehe oben.
Falls aber jemand für die jeweiligen Rezepte eine tolle & umweltschonende Alternative zum Kokosöl (mit in den jeweiligen Rezepten benötigter Wirkweise) weiß: Dann gerne her damit :-)
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
!!Diese Konservierer werden für die getesteten Rezepte benötigt:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Konservierer]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Konservierer]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Die erwähnten Konservierer kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Konservierer]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Neben im Handel erhältlichen naturkosmetikkonformen Konservierungsmitteln gibt es verschiedene Substanzen, die ebenfalls eine konservierende oder keimtötende Wirkung zeigen, z.B. bestimmte __ätherische Öle__, __Harnstoff__, __Sorbit__, __Glycerin__ und andere (z.B. __antioxidativ wirkende__) Stoffe.
Das Problem ist, dass die erforderliche minimale Hemmkonzentration, um eine Wirkung zu erzielen, so hoch ist, dass sie oft nicht mehr im kosmetisch sinnvollen Rahmen liegt, weil zugleich andere, unerwünschte Wirkungen auftreten.
Dennoch unterstützen Glycerin, ätherische Öle, __manche Extrakte__ (z.B. __Bartflechtenextrakt__) oder __Tinkturen__ (z.B. __Benzoetinktur__) die mikrobielle Stabilität und können die Gesamtwirkung der enthaltenen Konservierer optimieren. Es spricht nichts dagegen, sie zusätzlich einzusetzen – alleine auf sie verlassen sollten sich Selbstrührer in keinem Fall."""
''Konservierungsstärkend wirken:''
* ätherische Öle (die stärksten sind Manukaöl und Teebaumöl),
* Propolis,
* Alkohol,
* Bienenwachs,
* Milchsäure (Е270). Sie wird auch in Lebensmitteln wie Milchprodukten als leicht konservierende Komponente eingesetzt.
"""Um eine längere Haltbarkeit zu erreichen, kann man mehrere dieser Stoffe mit Antioxidantien verwenden.
__Antioxidantien:__
Es sind Stoffe, die auch eine antibakterielle Wirkung haben, indem sie Oxidation verhindern.
Viele Extrakte, die Tannine und Flavonoide enthalten, haben einen antioxidativen Effekt. Wikipedia-Zitat (https://de.wikipedia.org/wiki/Tannine#Verwendung) aus dem Artikel über Tannine: “Als ausgeprägte Antioxidantien finden sie als Nahrungsergänzungsmittel Verwendung und werden auch zur Lebensmittelkonservierung eingesetzt. Sie wirken zudem antiviral und antibakteriell.”
Zu dieser Gruppe gehören:"""
* Eichenrindenextrakt,
* Birkenblatt-Extrakt,
* Rosmarin-Extrakt,
* Grüner-Tee-Extrakt,
* Sanddorn-Extrakt,
* Kiefernrindenextrakt.
Pflanzliche Extrakte, die reich an Benzoesäure sind, besitzen ebenfalls eine bakterizide und fungizide (pilztötende) Wirkung und sind starke Antioxidantien. Das sind:
* Moosbeerenextrakt (auch entzündungshemmend),
* Preiselbeeren-Extrakt (Cranberry Extrakt),
* Heidelbeer-Extrakt.
Auch in Honig ist Benzoesäure enthalten. Aber eines soll man beachten: Honig enthält gleichzeitig Zucker - die beste Umgebung für Bakterien. Daher sollte man Honig nur zusammen mit “starken” Konservieren verwenden oder daraus bereitete Kosmetik nur ein paar Tage lagern.
Es gibt noch andere organische Stoffe, die vielen Beeren und Früchten ihre antioxidative Wirkung verleihen. Ohne sie alle zu unterteilen, nenne ich hier einfach einige davon:
* Weintraubenextrakt (starke Antioxidantien sind Oligomere Proanthocyanidine - OPCs),
* Teebaum-Extrakt,
* Vogelbeere-Extrakt,
* Granatapfel-Extrakt,
* Acai-Beere-Extrakt,
* Johannisbeer-Extrakt.
Was mir am besten gefällt, ist dass alle pflanzlichen Extrakte, die als starke Antioxidantien gelten, laut verschiedenen Studien, die Hautalterung aufschieben sollen. Also, es ist das natürlichste aller Anti-Aging-Mitteln!
Noch ein riesiger Bonus: sie enthalten eine Menge Vitamine, Bitterstoffe und Mineralien, die die Haut täglich braucht.
Beispiele für pulverförmige Antioxidantien:
* Traubenkern (OPC),
* Aronia (Apfelbeere),
* Goji,
* Acai,
* Heidelbeere,
* Cranberry (Preiselbeere),
* Granatapfel.
Auch Vitamin E ist ein natürlicher Antioxidant.<br/><br/>
''Wie noch kann man die Haltbarkeit der selbstgemachten Cremes verlängern?''
* Gekochtes oder destilliertes Wasser verwenden.
* Im Kühlschrank lagern, mit sauberem Spatel entnehmen.
* Frieren Sie nicht benötigte Gebinde ein und __lassen Sie es am Abend vor der Nutzung im Kühlschrank sanft auftauen (damit sich wenig Kondenswasser bildet).__
* Je frischer die Öle sind, desto besser. Öle, die schon an der Grenze sind, sollte man (auch aus gesundheitlichen Gründen) nicht verwenden. Das Gleiches gilt bei Hydrolaten.
* Stabile Öle (oxidative Stabilität) in Hauskosmetik verlängern ihre Haltbarkeit.
** Beispiele instabile Öle: Leinöl (wird relativ schnell ranzig), Traubenkernöl.
** Beispiele stabile Öle: Marula-Öl (reich an Antioxidantien), Weizenkeimöl (reich an Vitamin E), Jojoba-Öl.
''Was verkürzt die Haltbarkeitsdauer der Naturkosmetik?''
* Kräutersude,
* Kräutertees,
* Lecithin.
"""
''Die bakterientötende oder wachstumshemmende Wirkung der Tenside und der (Orangen) Terpene'' hängt natürlich auch von dem Grad der Verkeimung des Wassers ab. Aber da unser Leitungswasser bakterientechnisch unbedenklich ist, habe ich mir nie die Mühe gemacht, genaue Angaben (durchschnittliche Verkeimungszahl und Bakterienart) einzuholen und dann die richtige Dosierung auszurechnen.
Die Essigsäure wirkt keimtötend (?), bzw. wachstumshemmend durch die Herabsetzung des ph - Wertes. So ab < 4,5 bist Du auf der sicheren Seite.
''Alle getesteten Rezepte für die Konzentration:''<br/><br/>
<$list filter="[tag[Konzentration]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte für die Konzentration:''<br/><br/>
<$list filter="[tag[Konzentration]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Kopfschmerzen:''<br/><br/>
<$list filter="[tag[Kopfschmerzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Kopfschmerzen:''<br/><br/>
<$list filter="[tag[Kopfschmerzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""16,7 g Emulsan (oder Tego/Lamecreme)
85 ml Monoi-Vanille
160 ml Wasser oder Hydrolat
Wirkstoffe
4 ml Aloe-Veraöl,oder auch andere Wirkstofföle(zb.Algenöl,Nachtkerzenöl etc.)
4 Msp Allantoin
1 ML Vitamin E
Konservierung
Ich habe einen guten Schuß Alk zugegeben
Beduftung nach Geschmack--ich nahm Tropical Fruit vom KM..MMMMjjjammiiii
Ergibt eine leichte ,cremige Bodycreme die sehr gut einzieht und super pflegt.Sie ist angenehm leicht-gerade richtig für laue Sommertage(und Abende)
''Alle getesteten Rezepte gegen Körpergeruch:''<br/><br/>
<$list filter="[tag[Körpergeruch]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Körpergeruch:''<br/><br/>
<$list filter="[tag[Körpergeruch]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Fettphase (auf Vorrat):
44g Emulsan II
22g Ceralan
15 ml Fluidlecithin super
150 ml Mandelöl ( oder 100 ml Mandel und 50 ml Sonnenblumenöl)
20 ml Boretschöl
20 ml Nachtkerzenöl
10 ml Karottenöl
10 ml Macadamianussöl
Das rührste langsam zusammen, wie ist ja bekannt, 30 g abwiegen,dann ab in ein Schraubglas und in den Kühlschrank. Hält sich bis zu einem Jahr.
Körperlotion:
von der Fettphase 30 g
60 ml Orangenblütenwasser
30ml dest. Wasser
1 Messl. D-Panthenol 75
5 ml Aloe Vera
3 g Harnsäure in warmen Wasser aufgelöst
60 Trpf. Meristemextrakt
24 Trpf. Vit A Palminat Öl
0,5 Messl- Vit. E Acethat
1 Messerspitze Perlmuttschimmer
14 Trpf. Paraben K
Duftöl und/oder äther. Öl nach Wunsch
Diese Lotion ist so schön, ich werde sie jeden Tag nehmen, sie tut meiner Haut unglaublich gut, zieht schnell ein und macht superzarte Haut.
"""70g dest. Wasser
12g Kaffeebutter
6g Aprikosenkernöl
6g Jojobaöl
8g Lanolin anhydrid
3-4g Lame
4ml Squalan
1ml Vanille-Extrakt
3ml Weingeist (96%)
Ich hab die Zutaten der Fettphase ganz brutal gleichzeitig im Wasserbad geschmolzen, das erhitzte Wasser mit dem Mini-Mixer eingerührt. Bei Handwärme Squalan, fast ausgekühlt Extrakt und Alkohol dazu.
Die Milch wird relativ fest (Plastikflasche verwenden!) und duftet nach Kaffee und Vanille mit ganz zartem Marzipan-Unterton.
Etwas mehr Starbucks als Wiener Kaffeehaus
Ich hab ja keine Kaffeebutter, bin aber sowieso eher der Kakaofan. Werde Deine BL mit Kakaobutter oder Mandelbutter und Kakaoextrakt nachbasteln. Vanille-WEingeist hab ich ja zum Glück jede Menge.
"""Fettphase (18 gr)
7 gr Jojobaöl
7 gr Aprikosenkernöl
2 gr Kokosöl
2 gr Sheabutter
Emulgatoren (4 gr)
4 gr Tegomuls
ca. 1 kl. gehäufter ML Xanthan
Wasserphase (75 gr)
75 gr Orangenblütenwasser
Wirkstoffphase (ca. 9 gr)
3,0 gr Urea
4,0 gr Glycerin
3,0 gr Panthenol
2,0 gr Beinwellwurzeltinktur (96%ig)
Ätherische Öle:
3 Tr. Vanille
3 Tr. Ylang-Ylang
3 Tr. Jasmin
2 Tr. Sandelholz
Konservierung:
6 Tr. Duokons
Alternativen zur Konservierung:
Alleinige Konservierung mit Alkohol (96%ig): 3,75 gr
Alleinige Konservierung mit Alkohol (70%ig): 5,0 gr
Alleinige Konservierung mit DuoKons: ca. 12 Tropfen
Herstellung:
Öle und Tegomuls auf ca, 70° erwärmen, vom Herd nehmen. Sheabutter und Kokosöl darin auflösen.
Hydrolat erwärmen (etwas davon zurückhalten, darin Urea auflösen), in die Fettphase geben und rühren, bis die Emulsion handwarm ist.
Den in etwas Hydrolat aufgelösten Harnstoff (Urea), Panthenol und das Glycerin hinzufügen, alles im kalten Wasserbad weiterrühren. Zum Schluss Xanthan, ätherische Öle und Beinwelltinktur ergänzen."""
------------------------------------------------------------------------
Erläuterung zur Kombi-Konservierung:
Da im Rezept ein 96%iger alkoholischer Pflanzenauszug (Beinwell) verwendet wird, der bereits in gewissem Rahmen konserviert, habe ich den zusätzlichen Konservierer DuoKons relativ niedrig dosiert. Dieser Pflanzenauszug kann natürlich durch einen anderen oder eben 96%igem Weingeist ersetzt werden. Bei einer 70%igen Tinktur benötigt man in Kombination mit DuoKons ca. 2,8 gr."""
Die ersten Versuche pflegten zwar gut, setzten sich aber nach einer Woche immer etwas wässrig ab. Das war zum Mäusemelken, weil alles andere sonst stimmte: Duft, Konsistenz, Wirkung. Erst das Xanthan hat dieses Wasser-Absetzen bis jetzt unterbunden.
sie ist cremig, leicht und trotzdem stabil. Am Anfang bleibt so ein weisser Film zurück, der sich aber nach intensivem Verreiben verliert. Heute ist der Film nicht mehr so stark. (Aber ich glaube, dass ist dieses "weisseln"?) Einziehen tut sie super! Eigentlich so wie man sich eine Körperlotion vorstellt. Ich hab zur Sicherheit mit Paraben koserviert..........merkt man gar nichts.
Ich hab nur für den Anfang die Wirkstoffe weggelassen, weil ich die nicht da hatte..............Phantenol hatte ich.
Sie zieht total schnell weg und übrig bleibt suuuperweiche Haut. Und sogar meine Schuppenflechte ist weg, einfach verschwunden :o. Das hat bisher noch gar keine Creme, Bodylotion, was auch immer geschafft.
Glycerin kannst du auch weglassen, stattdessen den Wasseranteil um die Glycerinmenge erhöhen.
"""1ML Hagebuttenöl
1ML Nachtkerzenöl
1ML D-Panthenol
1kl ML Vitamin E (nat)
30ml Erdnussöl
6Tr Lavendelöl kbA
4Tr Bergamotteöl
(ergibt insg 40ml - war ein Testflug, daher die geringe Menge)
Das Öl zieht ziemlich rasch ein und hinterlässt keinen Fettfilm auf der Haut.
''Alle getesteten Rezepte zur Körperpflege:''<br/><br/>
<$list filter="[tag[Akne]] [tag[Baden]] [tag[Fußgeruch]] [tag[Haar: Feines]] [tag[Haar: Fettig]] [tag[Haar: Irritierte Kopfhaut]] [tag[Haar: Schuppen]] [tag[Haut: Fettig]] [tag[Haut: Trocken]] [tag[Haut: Unrein]] [tag[Hautreinigung]] [tag[Hornhaut]] [tag[Karies]] [tag[Körpergeruch]] [tag[Körperreinigung]] [tag[Lippenpflege]] [tag[Mundgeruch]] [tag[Pickel]] [tag[Plaque an den Zähnen]] [tag[Rasur]] [tag[Zähne bleichen]] [tag[Zahnfleisch]] [tag[Zahnstein]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Körperpflege:''<br/><br/>
<$list filter="[tag[Akne]] [tag[Baden]] [tag[Fußgeruch]] [tag[Haar: Feines]] [tag[Haar: Fettig]] [tag[Haar: Irritierte Kopfhaut]] [tag[Haar: Schuppen]] [tag[Haut: Fettig]] [tag[Haut: Trocken]] [tag[Haut: Unrein]] [tag[Hautreinigung]] [tag[Hornhaut]] [tag[Karies]] [tag[Körpergeruch]] [tag[Körperreinigung]] [tag[Lippenpflege]] [tag[Mundgeruch]] [tag[Pickel]] [tag[Plaque an den Zähnen]] [tag[Rasur]] [tag[Zähne bleichen]] [tag[Zahnfleisch]] [tag[Zahnstein]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Körperpflege/Reinigung-DIY' ![$:/temp/pptg-taggroup]>>
</div>
''Alle getesteten Rezepte zur Körperreinigung:''<br/><br/>
<$list filter="[tag[Körperreinigung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Körperreinigung:''<br/><br/>
<$list filter="[tag[Körperreinigung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<img width=210 src="https://share-your-photo.com/img/d1dd2a81de.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
''Art / Konsistenz der Zutat:'' Flüssigkeit, Konservierung / Desinfektion
''INCI-Bezeichnung:'' Alcohol denat. (95%), Panthenol, Parfüm, leicht entflammbar!
''Ursprung / Beschreibung:'' synthetisch
''Einsatzkonzentration:'' 0,1-90%
''Besonderheit / kosmetische Wirkung:'' Durch das Hinzusetzen von D-Panthenol hat der Alkohol zugleich pflegende Eigenschaften. Das Parfum überdeckt den Alkoholgeruch weitestgehend.
''Einsatzgebiet:'' zur Herstellung von Haarspray, Haarwasser, Parfüms, Deos, Raumsprays, Gesichtswasser usw. Auch zum Desinfizieren der Arbeitsutensilien sehr gut geeignet.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Kosmetisches Basiswasser]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Kosmetisches Basiswasser]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Krampfadern & Co.:''<br/><br/>
<$list filter="[tag[Krampfadern & Co.]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Krampfadern & Co.:''<br/><br/>
<$list filter="[tag[Krampfadern & Co.]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
Siehe [[Minzöl (Pfefferminze oder Krauseminze)]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=320 src="https://share-your-photo.com/img/aafd98a9bc.jpg"/>||
|<h6>Love Krittaya, [[RFE06 214|https://commons.wikimedia.org/wiki/File:RFE06_214.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>(Simon A. Eugster, [[Curcuma longa roots|https://commons.wikimedia.org/wiki/File:Curcuma_longa_roots.jpg]],<br/>Ausschnitt & Farbwert von Surya, [[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]])<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Gewürz
''Ursprung/Beschreibung:'' Kurkuma ist eine Pflanzenart in der Familie der Ingwergewächse (Zingiberaceae). Gewonnen wird das würzige Pulver aus den Wurzeln der Kurkuma-Pflanze (Curcuma longa), die in Indien bzw. Südostasien heimisch ist. Seit über 4.000 Jahren werden Extrakte der Kurkuma in der Traditionellen Chinesischen Medizin und im Ayurveda, der indischen Medizin, eingesetzt.
''INCI-Bezeichnung:'' Curcuma longa
''Besonderheit / Heilwirkung:'' <div class="tooltip">Antibakterielle
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungs- & schmerzlindernde Wirkung. Kurkuma verbessert die <div class="tooltip">Mundflora
<span class="tooltiptext">Gesamtheit der in der Mundhöhle lebenden Bakterien & Pilze</span></div> und fördert die Durchblutung des gesamten Zahnfleischs und hat eine leichte Bleichwirkung auf die Zähne.
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' Da Kurkuma nicht wie viele andere Stoffe und Gewürze wasserlöslich sondern fettlöslich ist, muss es zwingend zusammen mit Fett angewendet werden!
''Erhältlich bei:'' Ich kaufs beim Biomarkt um die Ecke.
''Worauf beim Kauf achten:'' Möglichst Bio-Qualität.
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Kurkuma]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Kurkuma]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@background-color:orange;''Ich weiß nicht genau, ob das palmölfrei ist!!''@@
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
<img width=240 src="https://share-your-photo.com/img/63b162e63b.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
''Art / Konsistenz der Zutat:'' <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>, Wirkstoff, <div class="tooltip">W/O-Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. In W/O-Emulgatoren sind für W/O-Emulsionen, also Wasser-in-Öl-Emulsionen geeignet. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>, Co-Emulgator
''Löslichkeit:'' in Öl und Alkohol löslich, nicht in Wasser
''Ursprung/Beschreibung:'' Lanolin ist ein tierisches Lipid mit <div class="tooltip">emulgierenden
<span class="tooltiptext">emulgieren = Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.</span></div> Eigenschaften. Es ist schmierig-zäh bis fest und hell- bis dunkelgelb.
Es wird aus dem Sekret der Talgdrüsen des Schafes gewonnen (es dient den Schafen als Schutzfilm der Wollfasern) und ist dem Hauttalg des Menschen sehr ähnlich, daher verwendet man diesen wertvollen Rohstoff als klassische Salbengrundlage und als Grundlage für viele Balsam-Formulierungen. Nach dem Scheren der Schafe wird die Wolle ausgekocht und das Lanolin herausgelöst. Nachdem Verunreinigungen entfernt wurden, kann das Lanolin verwendet werden.
Es ist somit ein Naturprodukt aus 100% reinen Naturrohstoffen, enthält keine synthetischen Stoffe und keine Farb- / Duftstoffe.
Es ist mit anderen fetten Ölen beliebig mischbar und kann ebenso als W/O Emulgator oder als Co-Emulgator eingesetzt werden.
''INCI-Bezeichnung:'' Lanolin, Lanolin Anhydrid, Lanolin Anhydrat, Adeps Ianae
''Weitere Bezeichnungen:'' Wollwachs, Wollfett
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Lanolin bildet auf der Haut einen Schutzfilm und wirkt wasserabweisend (dadurch prädestiniert für Schutzbalsame; wasserabweisende Eigenschaft durch Wachse verstärkbar).
Es besitzt die Fähigkeit, ein Vielfaches an Wasser zu binden (Wasseraufnahmevermögen bis zu 200%). Dadurch wird das Austrocknen der Haut für mehrere Stunden verhindert.
Es wirkt rückfettend und zieht in das <div class="tooltip">Stratum corneum
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div> ein- dadurch macht es die Haut wunderbar weich.
Die Wundheilung wird durch Lanolin beschleunigt und bei barrieregestörter Haut wird die Regenerierung sichtbar begünstigt.
Kosmetische Produkte mit Lanolin werden meist sehr reichhaltig und rückfettend, daher ist dieser Rohstoff weniger für leicht fettende und unreine Haut geeignet! (Lanolin wirkt stark <div class="tooltip">komedogen
<span class="tooltiptext">Der Begriff komedogen bezieht sich auf Stoffe, die in Verdacht stehen, die Bildung von Komedonen, also Unreinheiten (z.B. Mitesser, Unterlagerungen, Pickel, Pusteln & Akne), sowie Entzündungen der Haut zu begünstigen und zu fördern. Eine Zusammensetzung, die die Poren der Haut nicht verstopft, wird als nicht-komedogen bezeichnet.</span></div>).
Es ist mit anderen fetten Ölen beliebig mischbar und kann ebenso als Emulgator eingesetzt werden.
Auch in der Haarpflege ist Lanolin ein beliebter Inhaltsstoff, da es die statische Aufladung der Haare vermindert und so „fliegende Haare“ sehr gut bändigt. Das Haar wird deutlich leichter kämmbar, geschmeidig, weich & glänzend.
''Besonders geeignet für'' trockene, schuppige, stark strapazierte, spröde, barrieregestörte und reife Haut.
Für Wundsalben, Balsame, Fettcremes, Hautschutzcremes, reichhaltige Pflegeprodukte, Schutzmittel im Winter / bei rauher Witterung, Pflege der Burstwarzen während der Stillzeit, Babycremes.
''Duftprofil:'' Schwacher charakteristischer Geruch.
''Einsatzkonzentration:'' Pur als Grundlage für Salben. Als Wirkstoff / Rückfetter 3-8%.
''Schmelzbereich:'' 38-44°C
''Haltbarkeit (nach Öffnung):'' Ca. 1 Jahr
''<div class="tooltip">HLB-Wert
<span class="tooltiptext">Abkürzung für "Hydrophilic Lipophilic Balance".<br/><br/>Der HLB-Wert beschreibt die Tendenz eines Emulgators, sich eher in wässrigen (so genannten polaren) oder eher in öligen (so genannten unpolaren) Medien zu lösen. Bei besserer Wasserlöslichkeit (Hydrophilie) des Emulgators bildet Wasser die äußere Phase, in der kleine Öltröpfchen vom Emulgator ummantelt werden; bei besserer Öllöslichkeit ist es genau umgekehrt.<br/><br/>Jedes Emulgatormolekül weist also eine unterschiedlich stark ausgeprägte Löslichkeit in Wasser oder in Öl auf. Das Verhältnis von hydrophilen und lipophilen Gruppen in einem Emulgatormolekül, also die Balance zwischen beiden »Kräften«, wird in einer Zahl zwischen 0 und 20 ausgedrückt (wenn man es ganz genau nimmt, wird der Anteil der wasserliebenden Teile zur gesamten Masse des Moleküls berechnet). Diese Skala kann bis zu HLB 40 reichen. Prinzipiell gilt:<br/><br/>Emulgatoren mit einem HLB-Wert unter 10 (im engeren Sinne: HLB 3 - ca. 6) bilden eher Wasser-in-Öl-,<br/>Emulgatoren mit einem HLB-Wert ca. 8 - ca. 18 Öl-in-Wasser-Emulsionen.<br/>Verwendet man mehrere Emulgatoren, kann man den HLB-Wert einfach arithmetisch aus den Mittelwerten errechnen.</span></div>:'' 4,0
''Verseifungszahl:'' 93
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' Nicht bei fettiger oder unreiner Haut verwenden, da es stark <div class="tooltip">komedogen
<span class="tooltiptext">Der Begriff komedogen bezieht sich auf Stoffe, die in Verdacht stehen, die Bildung von Komedonen, also Unreinheiten (z.B. Mitesser, Unterlagerungen, Pickel, Pusteln & Akne), sowie Entzündungen der Haut zu begünstigen und zu fördern. Eine Zusammensetzung, die die Poren der Haut nicht verstopft, wird als nicht-komedogen bezeichnet.</span></div> wirkt.
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, bei Alexmo oder Aliacura (Online-Shops).
Vermutlich auch bei den sonstigen Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien oder Biomärkten.
''Worauf beim Kauf achten:'' __Unbedingt beachten: Es muss wasserfrei (anhydrat bzw. anhydrid) & Pestizidfrei sein!__
Diese sind für die Anwendung auf der menschlichen Haut geeignet und eignen sich auch für die Anwendung in Salben und Balsamen und auch zur direkten Anwendung auf der Haut als Hautschutz.
Pflanzliche & vegane Alternativen sind Softisan & Vegeline (ich weiß aber noch nicht, ob diese auch palmölfrei sind!). Außerdem hat Avocadin ähnliche Eigenschaften wie das Lanolin.
''Tipp für die Verarbeitung:'' In der Fettphase schmelzen. Es ist hitzeunempfindlich.
Bei der Verarbeitung von Emulsionen darauf achten, dass bis zum Erkalten gut gerührt wird, damit sich die Emulsion nicht wieder trennt.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Lanolin]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Lanolin]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""für die extrem beanspruchten Hände:
10 gr. Lanolin anhydrid
10 gr. Sheabutter
10 gr. Mandelöl
20 ml Kamillenwasser (soll bei gereizter Haut beruhigend wirken)
1 ml Borretschöl
1,5 g Harnstoff (gegen Hornhaut)
2 ml Weingeist
einige Tropfen Flieder Parfümöl
Ich finde es zieht gut ein und den leichten Film empfinde ich nicht als störend.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
{{ÄtherischeÖleParfümöle}}
@@.lefttable
|<img width=310 src="https://share-your-photo.com/img/021bd46d13.jpg"/>||
|<h6>Achates, [[2007-06-16 Lavendel|https://commons.wikimedia.org/wiki/File:2007-06-16_Lavendel.JPG]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
!!''Ätherisches Öl "Lavendelöl"''
"""
''Ursprung/Beschreibung:'' Lavendel wird rund um das Mittelmeer kultiviert, wobei die Hauptanbaugebiete in der französischen Provence am berühmtesten sind. Der Lavendel bevorzugt halbtrockene, karge Böden und benötigt gemäßigte Temperaturen von 15-30°C. Geerntet wird er, sobald er blüht (Blütezeit je nach Anbaugebiet Anfang Juni bis Ende August).
Er wächst aber auch wild auf warmen und steinigen Böden. Auf einer Höhe zwischen 100 und 2000m gedeiht er am besten. Die Verbreitung des Lavendel erstreckt sich von den atlantischen Inseln bis ins Mittelmeergebiet, über Afrika, Südwestasien & Indien. Einige wenige Bestände des echten Lavendels sind auch nördl. der Alpen zu finden.
Lavendelöl wird hauptsächlich durch Wasserstoffdestillation gewonnen (höchste Wirkstoffkonzentration).
''INCI-Bezeichnung:'' Lavandula Angustifolie / intermedia / latifolia
''Duftprofil:'' Frisch, grün, krautig. Herznote
''Inhaltsstoffe:'' Lavendel enthält über 2000 verschiedene Wirkstoffe, abhängig von den jeweiligen Lavendelsorten. Davon ist bisher nur ein kleiner Teil wissenschaftlich erforscht. Ca. 300-400 der Wirkstoffe sind für unsere Gesundheit relevant. Ihre optimale Wirkung entfalten diese jedoch nur in Verbindung miteinander. Verschiedene Faktoren, z.B. Gewinnungsmethode, Destillationsdauer, Destillationstemperatur & die Qualität der Blüten entscheiden darüber, in welcher Menge die Inhaltsstoffe im Lavendelöl enthalten sind. Da einige Inhaltsstoffe von Lavendel hitzeempfindlich sind, überstehen diese nicht den Destillationsprozess. Die ätherischen Bestandteile der Pflanze sind jedoch hitzebeständig. Es wäre unmöglich, alle einzelnen bisher untersuchten Inhaltsstoffe des Lavendelöls einzeln zu nennen und zu beschreiben. Doch zumindest die wichtigsten Wirkstoffe des Öls werden hier genannt und beschrieben.
Zu den am besten untersuchten Bestandteilen des Lavendelöls zählen das ''Linalylazetat'' sowie das ''Linalool''. Beide Wirkstoffe gehören zur Gruppe der Monoterpene, die im Menschen eine hohe Bioverfügbarkeit aufweisen, bzw. im menschlichen Körper sehr schnell wirken. Daneben sind beide Wirkstoffe <div class="tooltip">lipophil
<span class="tooltiptext">fettlöslich /-anziehend /-bindend</span></div>. Konkret bedeutet das für den menschlichen Körper, dass diese Wirkstoffe sehr gut mit den <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>bestandteilen der Zellmembranen interagieren und problemlos die Gehirn-Blutschranke überwinden können. Dank dieser Eigenschaft können die gesundheitsfördernden Wirkungen dieser Wirkstoffe an den Nerven und im Gehirn schnell entfaltet werden. Dies ist der Grund, warum Lavendelöl unter anderem zum Inhalieren empfohlen wird. Ansonsten ist der Wirkstoff ''Linalylazetat'' gerade für den atemberaubenden charakteristischen Duft der Lavendelpflanze verantwortlich und stellt zugleich den wichtigsten Inhaltsstoff von Lavendel dar. Die Höhe des Linelylzetatgehaltes in der Pflanze hängt von der Höhe des Anbaugebietes des Lavendels ab. Da insgesamt das Klima, der Boden sowie die Wuchshöhe der Pflanzen den entscheidenden Einfluss auf die Inhaltsstoffe des Lavendels ausüben, ist der Gehalt an Linalylazetat in echtem Lavendel weitaus höher im Vergleich zu seinen Artverwandten. Die wichtigsten Eigenschaften des Wirkstoffes ''Linalylazetat'' liegen in der Tatsache, dass der Wirkstoff auf verschiedene Weisen die Psyche positiv beeinflusst. So ist gerade dieser Wirkstoff dafür verantwortlich, dass Lavendelöl sowohl die Nerven, als auch den gesamten Körper beruhigt und somit die gesamte Lebensqualität steigen kann.
Beim Wirkstoff ''Linalool'' handelt es sich um eine farblose, blumig riechende Flüssigkeit, die zugleich den Hauptbestandteil verschiedener ätherischer Öle darstellt und ansonsten in einer ganzen Reihe Gewürzpflanzen vorkommt. Im Lavendelöl ist der Wirkstoff für dessen entzündungshemmende, <div class="tooltip">antiseptisch
<span class="tooltiptext">=antibakteriell=antibiotisch= gegen Bakterien wirkend</span>
</div> und <div class="tooltip">antimikrobielle
<span class="tooltiptext">=gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> Wirkung verantwortlich. Aus diesem Grund ist dieses Öl ein hervorragendes Mittel sowohl für die Linderung von Hautbeschwerden als auch zur Behandlung von Beschwerden der Atemwege. Zwei weitere erwähnenswerte Wirkstoffe, die in jedem Lavendelöl enthalten sind, sind ''Kampfer'' & ''Cineol''. Zwar sind diese Wirkstoffe nicht in so hohen Mengen enthalten wie Linelyzetat & Linalool, doch sie tragen bedeutsam zu den allgemeinen positiven Eigenschaften des Lavendelöls bei. Denn die fiebersenkenden und krampflösenden Eigenschaften des Lavendelöls sind gerade auf diese beiden Wirkstoffe zurückzuführen. Daneben unterstützen sie den Wirkstoff Linalool in seiner Wirkung. Besonders der Wirkstoff ''Cineol'' spielt bei der Linderung der Atembeschwerden eine wichtige Rolle. Denn Cineol wirkt sowohl in der Lunge als auch in den Nasennebenhöhlen schleimlösend und bekämpft Bakterien. Zudem wirkt der Wirkstoff der Ausschüttung der Neurotransmitter entgegen, die für die Verengung der Bronchien verantwortlich sind. ''Kampfer'' weist ähnliche Eigenschaften auf, sodass es bei der Inhalation von Lavendelöl entzündungshemmend auf die Schleimhäute wirkt. Daneben weist er bei äußerlicher Anwendung des Lavendelöls schmerzlindernde Eigenschaften auf.
''Echtes Lavendelöl:'' 35-50% Linalylazetat, 30-45% Linalool
''Spiköl:'' 5-3% Linalylazetat, 40-50% Linalool
''Lavandinöl:'' 15% Linalylazetat, 30% Linalool
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Lavendelöl wirkt immunsystemstärkend, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>, entkrampfend, schmerzlindernd, <div class="tooltip">antimikrobiell
<span class="tooltiptext">=desinfizierend=gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>, durchblutungsfördernd, entzündungshemmend, <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, beruhigend, entspannend, konzentrationsfördernd & Insekten-abwehrend.
''Nebenwirkungen & bei Anwendung beachten:'' Äußerlich möglichst nicht pur und innerlich auf keinen Fall pur anwenden.
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, bei http://www.biologisch-hannover.de/ in Hannover-Linden oder bei https://lindenbluete.de/ in Hannover-Linden.
Vermutlich auch bei den Anbietern erhältlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Worauf beim Kauf achten:'' Soll das Lavendelöl für medizinische Zwecke sein, muss es das "Echte Lavendelöl" (Lavandula angustifolia) sein. Geht es nur um den Duft / antiseptische Eigenschaften, sollte es das "Lavandinöl" (Lavandula intermedia) oder das Spik-Lavendelöl / Spiköl (Lavandula latifolia) sein.
Denn der "Echte Lavendel" (Lavandula angustifolia) hat eine wesentlich höhere Wirkstoffkonzentration; ist also wesentlich wertvoller als der "Lavandin" (Lavandula intermedia) oder das Spik-Lavendelöl / Spiköl (Lavandula latifolia).
''Tipp für die Verarbeitung:'' /
"""<br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Lavendelöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Lavendelöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Bei Insektenstichen hilft es gegen den Juckreiz, 1 Tropfen [[Lavendelöl]] aufzutupfen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Kopfschmerzen können mit Hilfe einer Massage der Schläfen mit ein paar Tropfen [[Lavendelöl]] gelindert werden.
Hierfür solltest Du das Echte Lavendelöl (Lavandula angustifolia) nehmen."""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Die Ursache von Mundgeruch kann zwar mit Lavendelöl nicht beseitigt werden, allerdings der schlechte Atem selbst.
Dazu wird ein Mundwasser aus 2 Tropfen [[Lavendelöl]], 2 Tropfen [[Teebaumöl]] und 1 Tropfen [[Nelkenöl]] gemischt und in einem Glas warmem Wasser aufgelöst.
Dann Mund-sowie Rachenraum damit ausspülen.
Hierfür solltest Du das Echte Lavendelöl (Lavandula angustifolia) nehmen.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""{{/%Alkohol als Konservierung
%/}}
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Gegen Schlafstörungen hilft ein Kopfkissenspray aus 100ml destilliertem Wasser, 50ml [[Alkohol, hochprozentig]] (z.B. Weingeist 96%, Melissengeist) und 10 Tropfen [[Lavendelöl]].
Hierfür solltest Du das Echte Lavendelöl (Lavandula angustifolia) nehmen."""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""Glycerin, Panthenol und Betaine unterstützen durch ihre unter anderem reizlindernde Wirkung.
Hauttyp: normale Haut, trockene Haut, empfindliche Haut, bei Couperose und Rosacea.
Phase 1
5,00 g Calendulaöl auf Sesamölbasis
5,00 g Kokosglucosid (3 g könnten auch noch funktionieren)
3,00 g Glycerin
2,00 g Panthenol
2,00 g Natural Betaine (Glycinbetain)
1,00 g äth. Lavendelöl
1,00 g Xanthan (Cosphaderm X - 34)
Phase 2
80,00 g Lavendelhydrolat oder Lavendelhydrolat-Wassermischung
1,00 g Kaliumsorbatlösung (20%ig)
Phase 3
Citronensäure (oder Milchsäure) zur Einstellung des pH-Wertes auf 5 - 5.4.
Herstellung
kalte Verarbeitung und rühre per Hand mit einem Löffelstiel.
1. Phase 1 sehr gut dispergieren.
2. Phase 2 mit Phase 1 mischen und homogenisieren.
3. Die Mischung mit Citronensäure auf pH-Wert 5-5.5 einstellen und gut unterrühren.
Anwendung
Das Gesicht anfeuchten. Ein wenig Lavendelsahne in der Hand mit Wasser emulgieren und das Gesicht damit einmassieren. Mit Wattepads abnehmen und mit viel Wasser nachspülen.
Rohstoffe und ihre Aufgabe
Lavendelhydrolat: Duft und hautpflegend
Kokosglucosid :
Inci Cooc Glucoside
Tensidklasse: nichtionisch
WAS: 51 - 53
Glycerin: (99%ig) ,feuchtigkeitsspendend, mindert die Wirkung des Tensids.
Panthenol: (85% ig) beruhigend, feuchtigkeitsspendend, heilend.
Natural Betaine (Glycinbetain) . feuchtigkeitsspendend , mindert die Wirkung des Tensids.
Xanthan (Cosphaderm X - 34): Gelbildner
Kaliumsorbatlösung: als Konservierung - gute antimikrobielle Wirkung gegen Hefen und Pilze, etwas weniger Wirkung gegen Bakterien.
Lavendelöl: Duft und hautpflegend.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:'' @@color:red;ist leicht zu beschaffen (z.B. im DM-Drogeriemarkt), es emulgiert immer, es ist günstig, es ist irre hautverträglich, man kann mit den geeigneten zusatz stoffe jede art von emulsion herstellen, man kann es essen (gut für unser gehirn), auch anfänger können ohne probleme damit arbeiten und so günstig testen, ob sie überhaupt dieses hobby ausführen wollen..........@@
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Die Lotion ist eine O/W-Emulsion mit 20 % Fettphase. Sie ist für trockene, feuchtigkeitsarme Haut geeignet. Sie zieht sehr schnell ein, ohne Fettfilm zu hinterlassen.
Zutaten für 200 g
Phase A1:
20 g destilliertes Wasser
8 g Harnstoff
4 g Natriumlaktat
20 Tr. Milchsäure
4 g D-Panthenol
2 g Ection (oder Wasser)
Phase A2:
0,2 g Xanthan transparent
10 g Weingeist
Phase B:
4 g Jojobaöl
8 g Dermofeel-Öl (oder Neutralöl oder zur Not Kokos oder Babassu)
8 g Aprikosenkernöl oder Mandelöl oder Pflaumenkernöl
8 g Sojaöl (oder Traubenkern-, Distel- oder Sonnenblumenöl. Oder durch 4 g mehr Neutralöl oder Kokos oder Babassu und 4 g mehr Aprikosenkern- oder Mandelöl ersetzen)
3,2 g Olivem 1000 (oder Montanov L oder Ecomuls oder Emulsan)
5 g Sheabutter
4 g Vitamin E Acetat
Phase C:
104 g destilliertes Wasser
Phase D:
40 Tr. Konservierungsmittel nach Wahl
28 Tr. ätherische Öle oder Parfümöle nach Wahl
Herstellung:
Phase A1 mischen und lösen.
Phase A2 mischen, Phase A1 unter sanftem Rühren mit einem Spatel zugießen, Glas beiseite stellen.
Phase B (bis auf Sheabutter) mischen.
Phase B und Phase C im heißes Wasserbad auf 80 °C erhitzen.
Topf vom Herd nehmen, Gläser drin stehen lassen.
Sheabutter zur Fettphase geben, sanft schmelzen.
Gläser aus dem Wasserbad nehmen, Wasser ohne Rühren zur Fettphase gießen, dann mit einem Stabmixer emulgieren.
Emulsion im kalten Wasserbad auf ca. 30 °C abkühlen, dabei sanft mit einem Spaten rühren.
Emulsion portionsweise in den Wirkstoff-Premix (aus Phasen A1 und A2) einrühren.
Mit Phase D ergänzen.
"""Ich hab mir letztens eine Gesichtsbräunungscreme gemacht, da ich das Holiday Skin Zeugs nicht vertragen habe. Sie macht eine leichte Bräune bei täglicher Anwendung und ich vertrag sie gut, ausserdem wirkt sie noch leicht mattierend.
Fettphase:
5g Babassuöl
5g Aprikosenkernöl
3g Cetylalkohol
4g Tegomuls
Wasserphase:
55g dest. Wasser (oder Hydrolat)
1 Löffelspitze Kieselerde
1 Löffelspitze Stärke
Wirkstoffe:
2g DHA
2g Ananasextrakt
2g Efeuextrakt
Konservierung nach Wahl, Duft dezent oder am Besten gar nicht (wegen DHA).
Herstellung:
Fettphase schmelzen, 45g Wasser erhitzen, da die Stärke und Kieselerde einrühren, zusammenkippen, auf Handwärme runterrühren.
10g Wasser mit 2g DHA verrühren und unter die Creme rühren (DHA darf nicht hoch erhitzt werden, ich fand das so sicherer und es hat gut geklappt).
Die restlichen Wirkstoffe dazu und ggf. konservieren.
"""3 g Tegomuls
2 g Sheabutter
2 g Lanolin
2 g Bienenwachs
5 g Avellanaöl
5 g Centellaöl
6 g Avocadoöl (oder anderes)
einen Schuss Rizinusöl um die Creme heller zu bekommen (das klappt echt immer!)
30 g Wasser oder Hydrolat
etwas Vitamin E
etwas D-Panthenol
2 ML Colaextrakt
2 ML Tigerkrautextrakt
einen Schuss Nachtkerzenöl
Unbedingt darauf achten, dass der Tego sich gut in der Fettphase aufgelöst hat! Sonst wirds grisselig. Das Wasser ebenfalls erwärmen, ansonsten wird sich das Ganze immer wieder trennen. Das Wasser langsam unter Rühren (oder Milchaufschäumen) in die Fettphase laufen lassen und "kalt" rühren.
Bei Handwärme die Extrakte hinzufügen und nach belieben Konservieren und Beduften (ich habe Heliozimt und Fliederparfümöl).
Ergibt eine lockere fluffige Bodycreme, die sich durch den Tego gut verteilen läßt und auch sofort einzieht. Wenn man etwas zuviel nimmt, bildet sich ein kleiner Film auf der Haut, der sich aber gut wegmassieren lässt und keine klebenden Oberschenkel hinterlässt. Konsistenz ist moussig, deswegen am besten in ein Töpfchen :)
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<$set name="searchTiddler" value="$:/config/References/searchstrings">
<div class="tc-search">
<$edit-text tiddler="$:/config/References/searchstrings" type="search" placeholder="Tipp hier Deine Suche ein" tag="input" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify "$:/state/popup/search-dropdown">> class="tc-popup-handle"/>
<$reveal state="$:/config/References/searchstrings" type="nomatch" text="">
<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" text={{$:/config/References/searchstrings}}/>
<$action-setfield $tiddler="$:/config/References/searchstrings" text=""/>
<$action-navigate $to="$:/AdvancedSearch"/>
</$button>
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/config/References/searchstrings" text="" />
{{$:/core/images/close-button}}
</$button>
<$button popup=<<qualify "$:/state/popup/search-dropdown">> class="tc-btn-invisible">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
<$reveal state="$:/config/References/searchstrings" type="match" text="">
</$reveal>
</div>
<$reveal tag="div" class="tc-block-dropdown-wrapper" state="$:/config/References/searchstrings" type="nomatch" text="">
<$reveal tag="div" class="tc-block-dropdown tc-search-drop-down tc-popup-handle" state=<<qualify "$:/state/popup/search-dropdown">> type="nomatch" text="" default="">
<$list filter="[{$:/config/References/searchstrings}minlength{$:/config/Search/MinLength}limit[1]]
!is[system]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[>]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[<]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[<< WissenNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[<<<]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[Mein Arbeitsbereich]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[DIY]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[UNFERTIG!]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[RezepteUNFERTIG]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[RezeptBEARBEITEN]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[RezeptGANZ-NEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[ZutatUNFERTIG]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[Wiki-ToDo]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[HaushaltNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[Deko-KosmetikNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[HautpflegeNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[KörpergerücheNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[RezepteFürHaareNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[SeifenNEU]search{$:/config/References/searchstrings!!all-reference-search}]
!tag[SonstigesNEU]search{$:/config/References/searchstrings!!all-reference-search}]"
<variable="listItem"><$set name="resultCount" value="""<$count filter="[!is[system]!tag[>]!tag[<]!tag[<< WissenNEU]!tag[<<<]!tag[Mein Arbeitsbereich]!tag[DIY]!tag[UNFERTIG!]!tag[RezepteUNFERTIG]!tag[RezeptBEARBEITEN]!tag[RezeptGANZ-NEU]!tag[ZutatUNFERTIG]!tag[Wiki-ToDo]!tag[HaushaltNEU]!tag[Deko-KosmetikNEU]!tag[HautpflegeNEU]!tag[KörpergerücheNEU]!tag[RezepteFürHaareNEU]!tag[SeifenNEU]!tag[SonstigesNEU]search{$:/config/References/searchstrings}]"/>""">
{{$:/language/Search/Matches}}
</$set>
</$list>
<$list filter="[{$:/config/References/searchstrings}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
{{$:/core/ui/DefaultSearchResultList2}}
</$list>
</$reveal>
</$reveal>
</$set>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Lexika' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
''Pflegeprodukte alphabetisch sortiert''<br/><br/>
* ''C''remefluid
** 10–25% Fettphase.<br/>Mit 10–20% Fettphase: Eignet sich als Solo-Pflege für fettende Hautzustände und Mischhaut, als Feuchtigkeitspflege für normale und leicht trockene Haut (letztere kann mit etwas Hautöl oder einem Oleogel gezielt zusätzliche Lipide angeboten bekommen), als Gelmaske oder leichtes Körperfluid.<br/>Mit 15–25% Fettphase: Eignet sich als Solo-Pflege für normale und leicht fettende Hautzustände oder für zu Unreinheiten neigende reife Haut sowie als Körperlotion.<br/><br/>
* ''B''ody Melt / Lotion Bar / Feste Körperbutter / Massage Bar
** Quasi eine "feste" Creme- sieht optisch aus wie ein Seifestück. Bei Hautkontakt schmilzt es und wird wie eine Creme verteilt. Ohne Wasseranteil.<br/><br/>
* ''E''mulsion
** Ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung.
*** __O/W-Emulsionen__ sind Öl-in-Wasser-Emulsionen.<br/>Eine Emulsion kann man sich bildlich ausgedrückt als viele Blüten vorstellen. In diesen Emulsionen (Emulgator hat einen hohen HLB-Wert) ist in der Mitte jeder Blüte Öl- umgeben vom Emulgator, die Blütenblätter drumherum sind die Wassermoleküle.<br/>Wenn die Haut eher Feuchtigkeit braucht, ist es die richtige Emulsions-Art. Sie wird als Tagespflege, tendenziell v.a. für fettige und normale Haut empfohlen. Das Wasser zieht rasch in die Haut ein, das Öl wird von der befeuchteten Haut besser aufgenommen (im Gegensatz zu reinem Öl auf unbefeuchteter Haut) und hinterlässt auf der Haut kaum einen / gar keinen Film. Die Haut fühlt sich nach der Anwendung der Emulsion leichter an.
*** __W/O-Emulsionen__ sind Wasser-in-Öl-Emulsionen.<br/>In diesen Emulsionen (Emulgator hat einen niedrigen HLB-Wert) ist in der Mitte jeder Blüte Wasser- umgeben vom Emulgator, die Blütenblätter drumherum sind die Fettmoleküle.<br/>Wenn die Haut eher Fett braucht, ist es die richtige Emulsions-Art. Sie wird als Nachtpflege, tendenziell v.a. für trockene, rissige & empfindliche Haut empfohlen. Auch diese Emulsion befeuchtet die Haut, aber nachhaltiger. Hier wird zuerst das Öl von der Haut aufgenommen, das Wasser erleichtert nur den Prozess der Aufnahme. Da diese Emulsion dichter ist, bleibt ein Teil des Öls auf der Haut und bildet einen Schutzfilm (Okklusion). Dieser Film macht die Haut weicher und elastischer. Er “verstärkt” die dünne Haut. Mit der W/O-Emulsion fühlt sich die Haut schwerer an, ist aber auch besser vor Mikroben, Witterung, Sonne, Feuchtigkeitsverlust, usw. geschützt. Diese Emulsion ähnelt im Übrigen unserer Haut, da sie auch überwiegend aus Fetten besteht. Wasser-in-Öl-Emulsionen sind deshalb gesünder und wirksamer.
*** __Quasiemulsion:__ Neben den klassischen Emulsionstypen W/O & O/W können wir auch ohne grenzflächenaktive Substanzen stabile Emulsionen erzeugen. Das Prinzip dieser "Emulsion" basiert auf der hohen Viskosität der äußeren Phase, die die innere Phase festhält, "immobilisiert", d.h. verhindert, dass sich die Teilchen der inneren Phase zusammenfinden. Es ist also keine echte Emulsion, in der die innere Phase durch Grenzflächenfilme der Emulgatoren von der äußeren Phase getrennt werden. Typische Hilfsmittel für Quasiemulsionen sind Wachse & Wachsester, aber auch Fette mit hohem Schmelzpunkt (z.B. Pflanzenbuttern).<br/><br/>
* ''F''este Körperbutter / Body Melt / Lotion Bar / Massage Bar >siehe "Body Melt"<br/><br/>
* ''F''euchtigkeitscreme
** 25–35% Fettphase. Öle und Buttern (20–30% Butteranteil auf die Öle gerechnet), mittlerer Anteil an Konsistenzgebern (bis 3% Fettalkohole und Stearate), geringer Wachsanteil (0,5–1,5%). Eignet sich als Tages- oder Nacht-Pflege für normale und leicht trockene Hautzustände und als reichhaltige Körperlotion.<br/><br/>
* ''H''ydrodispersionsgel
** __KURZ:__ Wasserbasiertes Gel mit geringen Anteilen pflegender Fette<br/>__LANG:__ Ein Hydrodispersionsgel ist ein mit Gelbildnern (sogenannten Hydrokolloiden) mehr oder weniger viskos angedicktes, wasserbasiertes Kosmetikum, in dem eine geringe Menge an Ölen (in der Regel zwischen 5-20%) und, bei Bedarf, Wirkstoffe in das Gelgerüst eingearbeitet sind. Typische und gern verwendete Gelbildnern im naturkosmetischen Bereich sind Xanthan, Guarkernmehl, Hyaluronsäure und Cellulose-Derivate. Sie stabilisieren die Öltröpfchen durch Viskositäserhöhung der Wasserphase, die ein Zusammenfließen verzögert; manche Gelbildner bilden makromolekulare Grenzflächenfilme. Dies bedeutet, ihre Moleküle lagern sich an der Oberfläche der Öltröpfchen an wie ein Film und mindern die Gefahr ihres Zusammenfließens.<br/><br/>
* ''H''ydrogel / Hydrophiles Gel
** __KURZ:__ Wasserbasiertes, fettfreies Gel<br/>__LANG:__ Hydrogele sind gelierte Flüssigkeiten (Gele), die mit geeigneten Quellmitteln wie zum Beispiel Cellulosederivaten hergestellt werden. Im Unterschied zu den Oleogelen zeichnen sich die Hydrogele durch ihren hohen Wassergehalt aus (80-90%) und sind in der Regel fettfrei. Hydrogele werden einerseits als Grundlage zur lokalen Verabreichung von Wirkstoffen und anderseits meist ohne Wirkstoff zur Behandlung trockener Wunden verwendet.<br/>Wirkungen: Kühlend durch die Verdunstung von Wasser, kurzfristig hydratisierend, längerfristig austrocknend, nicht rückfettend.<br/>Verwendung mit Wirkstoff für: Zur lokalen Verabreichung von Wirkstoffen und zur Behandlung von Erkrankungen, bei denen eine Kühlung oder Austrocknung erwünscht ist, z.B. Insektenstiche, Sonnenbrand, bei Sportverletzungen, rheumatischen Beschwerden, nächtliche Wadenkrämpfe.<br/>Verwendung meist ohne Wirkstoff für: Hydrogele werden bei der feuchten Wundversorgung zur Feuchthaltung verwendet, z.B. bei trockenen Nekrosen oder bei einfachen Wunden in der Granulations- und Epithelisierungsphase. Dabei wird entweder das Gel alleine oder das Gel abgeschlossen in einer Wundauflage auf die Wunde gelegt.<br/><br/>
* ''K''örpercreme >siehe "Nachtcreme"<br/><br/>
* ''L''eave-in
** Haarpflegeprodukt, das nicht ausgespült wird<br/><br/>
* ''L''otion, leichte Creme
** 15–25% Fettphase. Vorwiegend Öle, Buttern und geringe Anteile an konsistenzgebenden Lipiden (1–1,5% Fettalkohole und Wachsester), kein bis geringer Wachsanteil, d. h. 0,5–1%). Mit 0,2–0,4% an Gelbildnern stabilisiert. Eignet sich als Solo-Pflege für normale und leicht fettende Hautzustände oder für zu Unreinheiten neigende reife Haut sowie als Körperlotion.<br/><br/>
* ''L''otion Bar / Body Melt / Lotion Bar / Feste Körperbutter / Massage Bar >siehe "Body Melt"<br/><br/>
* ''M''assage Bar / Body Melt / Lotion Bar / Feste Körperbutter >siehe "Body Melt"<br/><br/>
* ''N''achtcreme
** ab 35% Fettphase. Öle und höherer Butter-Anteil, Zusatz konsistenzgebender Lipide (Fettalkohole, Stearate, Wachse, Stearinsäure usw.). Eignet sich als Tages-Pflege für trockene Hautzustände oder als Nachtpflege für normale bis leicht trockene Hautzustände, für Crememasken oder Körpercremes.<br/><br/>
* ''O''leogel / Ölgel
** __KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.<br/><br/>
* ''S''erum
** 5–10% Fettphase. Vorwiegend niedrigviskose Öle, keine bis geringe Anteile an Konsistenzgebern, selten Wachse. Mit 0,8–1,2% Gelbildner stabilisiert, alternativ 2,5–3% Bergamuls ET 1. Gerne Lipoderminzusatz. Eignet sich als Solo-Pflege für fettende, unreine Hautzustände, als Feuchtigkeitsserum für normale und trockene Haut.<br/><br/>
* ''T''agescreme >siehe "Feuchtigkeitscreme"
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@<br/><br/>
Dieses Fachbegriffe- & Abkürzungen- Lexikon soll nicht nur dazu dienen, Begriffe auf dieser Webseite schnell nachschlagen zu können (diese habe ich aber auch immer in den jeweiligen Texten nochmal //im Text selbst// erklärt- ich verwende eh nur einen Bruchteil aller hier aufgeführten!), sondern auch auf anderen Webseiten und in Foren zu verstehen zu können.
* ''a''brasiv
** reibende oder schleifende Wirkung, die wiederum einen glättenden, reinigenden oder abnutzenden Effekt zur Folge hat<br/><br/>
* ''A''bsolue
** Mit Lösungsmitteln extrahierte Duftstoffe (ätherische Öle) aus Pflanzen, deren wachsige Bestandteile mit Alkohol ausgewaschen wurden.<br/><br/>
* ''A''bsorption >siehe "Resorption"<br/><br/>
* ''a''d 100
** Die entsprechende Zutat, bei der »ad 100« notiert ist, soll den noch verbleibenden Rest der Rezeptur bis auf 100% einnehmen. Diese Angabe wird häufig auf Wasser angewendet: Nach Angabe aller Zutaten nimmt Wasser den verfügbaren Rest ein. Sinnvoll ist eine solche Angabe grundsätzlich auch dann, wenn Ihnen vorher bei der Dosierung einer Zutat (z.B. des Konservierungsmittels oder der Duftstoffe) ein rezepturabhängiger Spielraum gegeben wird. Füllen Sie die Differenz zu 100% Produkt in diesem Fall entsprechend mit Wasser- eben ad 100- auf.<br/><br/>
* ''A''dditiv
** Hilfs-/Zusatzstoffe, die Produkten in geringen Mengen zugesetzt werden, um bestimmte Eigenschaften zu erreichen oder zu verbessern<br/><br/>
* ''Ä''Ö
** Ätherisches Öl<br/><br/>
* ''A''dsorption >siehe "Resorption"<br/><br/>
* ''a''dstringierend
** = Gewebe zusammenziehend<br/><br/>
* ''A''lkylpolyglucoside / APGs
** moderne & hochpreisige nichtionische Tenside<br/><br/>
* ''a''llergen
** Allergien auslösend<br/><br/>
* ''a''mbiphil
** sowohl hydrophil (wasserlöslich /-anziehend /-bindend), als auch lipophil (fettlöslich /-anziehend /-bindend)<br/><br/>
* ''A''MU
** Augen Make Up<br/><br/>
* ''a''naerob
** unter Abwesenheit von Sauerstoff<br/><br/>
* ''a''ntibakteriell
** = gegen Bakterien wirkend =antiseptisch =antibiotisch =bakteriostatisch =bakteriozid<br/><br/>
* ''a''ntifungal
** =fungizid =antimykotisch =gegen Pilze<br/><br/>
* ''a''ntikariogen
** gegen Karies wirkend<br/><br/>
* ''a''ntimikrobiell
** =desinfizierend =gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)<br/><br/>
* ''a''ntimykotisch
** gegen Pilze wirkend<br/><br/>
* ''a''ntioxidativ
** Im Körper kann es durch allerlei schädliche Umwelteinflüsse- wie z.B. Schadstoffe, Stress & Fehlernährung zur Bildung sog. freier Radikale kommen. Bei diesen handelt es sich eigentlich um Sauerstoffmoleküle, denen ein Elektron fehlt, wodurch diese Gewebe & DNA zerstören können. Gerade dies kann zu einer vorzeitigen Alterung des Gewebes führen oder aber bei Schädigung des Erbgutes sogar die Entstehung von Krebs begünstigen und beschleunigen. Antioxidativ wirkende Stoffe wirken diesen freien Radikalen effektiv entgegen und schließen alle negativen Folgen dieser Moleküle aus.<br/><br/>
* ''a''ntiseptisch
** =antibakteriell =antibiotisch =gegen Bakterien wirkend<br/><br/>
* ''a''ntiviral
** = gegen Viren<br/><br/>
* ''A''oB
** Art of Beauty<br/><br/>
* ''a''topisch
** allergische Entzündungsreaktion der Haut aufweisend<br/><br/>
* ''a''utoklavieren
** Sterilisieren mit 121°C heißem Wasserdampf bei 2 bar Druck- kann auch mit einem Dampfdrucktopf zuhause erfolgen<br/><br/>
* ''B''arrieregestörte Haut
** >Neigung zu Neurodermitis, Schuppenflechte<br/><br/>
* ''B''arriereschicht der Haut
** Als eines der größten Organe des menschlichen Körpers erfüllt die Haut vielfältige Aufgaben: Sie unterstützt die Wasser- & Temperaturregelung des Organismus, ist Ausscheidungsorgan für diverse Stoffe wie Säuren & Salze, Produktionsort wichtiger Substanzen unterschiedlichster Stoffwechselprozesse wie Interferone, Hormone, Vitamine (Vitamin D!) & Proteine- vor allem jedoch bildet die oberste Hautschicht, die Hornschicht (Stratum corneum) eine Schutzbarriere gegenüber Sonnenlicht, Mikroorganismen, chemischen & mechanischen Einflüssen, Substanzen //von// außen und eine Barriere für Wasser & kleine Moleküle //nach// außen.<br/><br/>
* ''B''asalschicht >siehe "Hautaufbau"<br/><br/>
* ''B''B
** Badebomben, BodyButter, BrambleBerry<br/><br/>
* ''B''BS
** Bubble Bars<br/><br/>
* ''B''DIH
** Bundesverband deutscher Industrie- & Handelsunternehmen für Arzneimittel, Reformwaren, Nahrungsergänzungsmittel und Körperpflegemittel. Gibt ein Prüfzeichen heraus, unter dem Mitglieder-Firmen "kontrollierte Naturkosmetik" anbieten.<br/><br/>
* ''B''ilayer
** Lipid-Doppelschicht(en) mit fett- & wasserliebenden Bereichen<br/><br/>
* ''B''J
** Beautyjunkies (Forum)<br/><br/>
* ''B''K
** Beautykosmos<br/><br/>
* ''B''L
** Body Lotion<br/><br/>
* ''B''M
** Body Milk<br/><br/>
* ''B''ody Melt / Lotion Bar / Feste Körperbutter / Massage Bar
** Quasi eine "feste" Creme- sieht optisch aus wie ein Seifestück. Bei Hautkontakt schmilzt es und wird wie eine Creme verteilt. Ohne Wasseranteil.<br/><br/>
* ''b''sb rk; bsb
** Barriereschutzbasis aus der Rührküche<br/><br/>
* ''B''tR
** Break the Rules (Seife die entgegen der Regel 50% feste und 50% flüssige Fette gesiedet wird)<br/><br/>
* ''B''ulkwasser
** freies, nicht gebundenes Wasser in einer Emulsion; wirkt kühlend und im Hautgefühl befeuchtend<br/><br/>
* ''B''W (bw)
** Bienenwachs<br/><br/>
* ''C''andida albicans
** Hefepilz, der häufig auf den Schleimhäuten von Mund & Rachen, im Genitalbereich sowie im Verdauungstrakt zu finden ist; nur bei Immunschwäche krank machend.<br/><br/>
* ''C''AS-Nummer
** CAS ist die Kurzbezeichnung für "Chemical Abstracts Service", einer amerikanischen Institution, die chemische Substanzen katalogisiert.<br/>Die CAS-Nummer ist v.a. dann hilfreich, wenn es darum geht, einen bestimmten Stoff eindeutig zu identifizieren. Ein konkretes Beispiel: Wir können als Selbstrührer Nicotinamid (CAS-Nummer 98-92-0) sinnvoll einsetzen, während die Nicotinsäure (CAS-Nummer 59-67-6) zu erheblichen unerwünschten Hautrötungen führen kann; beide werden jedoch mitunter unter dem Begriff »Niacin« subsummiert. Mit der CAS-Nummer ist der Kauf des eindeutig richtigen Rohstoffs möglich.<br/><br/>
* ''C''eramide
** Hauteigene Lipide; bilden in der Hornschicht der Haut mit anderen Lipiden eine natürliche feuchtigkeitsbindende Barriereschicht.<br/><br/>
* ''C''MC-Wert, niedrig
** = Tenside mit einem niedrigen CMC-Wert erreichen schon in geringer Konzentration die niedrigst mögliche Oberflächenspannung und können damit optimal Schmutz benetzen & lösen<br/><br/>
* ''C''ollagen
** wesentlicher, organischer Bestandteil des Binde- & Stützgewebes der Haut<br/><br/>
* ''C''OSMOS
** Gemeinnützige Organisation, formuliert Standards für Natur- & Biokosmetik<br/><br/>
* ''C''ouperose
** Frühform der Rosacea, anlagebedingte Gefäßerweiterung, zeigt sich in Form von Rötungen im Bereich des Gesichts<br/><br/>
* ''C''P
** Kaltverseifung (Cold Process)<br/><br/>
* ''C''uticula
** äußere Schuppenschicht des Haares<br/><br/>
* ''D''ekokt
** wässriger Sud, der durch das Kochen von festen Drogen wie Hölzern, Rinden und Wurzeln gewonnen wird<br/><br/>
* ''D''enaturierung
** Zerstören der Eiweißstruktur durch Wärmeeinwirkung über 40°C<br/><br/>
* ''D''erivat
** Ein Stoff, der auf Basis des Ursprungsstoffs hergestellt wird<br/><br/>
* ''D''ermatose
** >Ekzem<br/><br/>
* ''d''ermatitische Haut
** >ekzematische Haut<br/><br/>
* ''D''ermis >siehe "Hautaufbau"<br/><br/>
* ''d''esinfizierend
** =antimikrobiell =gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)<br/><br/>
* ''d''esodorisierend
** geruchsneutralisierend<br/><br/>
* ''d''esodorisieren von Fetten / desodorisiertes Fett
** Entfernen von geruchs- oder geschmacksintensiven Begleitstoffen eines Fetts durch Behandlung mit bis zu 250°C heißem Wasserdampf<br/><br/>
* ''D''G
** Duschgel<br/><br/>
* ''d''ispergieren
** =fein verteilen (nicht lösen)<br/><br/>
* ''d''ispers
** zerstreut, fein verteilt<br/><br/>
* ''D''MS
** Derma Membran System<br/><br/>
* ''D''&S
** Duft & Schönheit<br/><br/>
* ''E''COCERT
** Bio-Zertifizierungsorganisation; formuliert u.a. Richtlinien für "Naturkosmetik"<br/><br/>
* ''e''galisieren
** eine optisch gleichmäßige Wirkung erzielen<br/><br/>
* ''E''K (ek)
** Einsatzkonzentration<br/><br/>
* ''e''mik
** Emulmetik (Emulgator)<br/><br/>
* ''E''mollentien
** Emollentien (Singular: Das Emolliens) sind im weitesten Sinne hautpflegende Stoffe, die in die Zwischenräume der Hornzellen eindringen und eine angenehme, geschmeidige Haptik erzeugen. Zu den Emollentien gehören Öle, Wachse, aber auch feuchtigkeitsbindende Substanzen.<br/><br/>
* ''e''mulgieren
** Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.<br/><br/>
* ''E''mulgator
** Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.
*** __Kaltemulgatoren__ müssen nicht geschmolzen werden
*** __Ko-Emulgatoren__ sind schwache Emulgatoren, die den Hauptemulgator bei der Emulsionsbildung unterstützen
*** __Komplexemulgator:__ Emulgatorengemisch
*** __O/W-Emulgatoren:__ Diese sind für O/W-Emulsionen, also Öl-in-Wasser-Emulsionen geeignet.
*** __W/O-Emulgatoren:__ Diese sind für W/O-Emulsionen, also Wasser-in-Öl-Emulsionen geeignet.<br/><br/>
* ''E''mulsion
** Ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung.
*** __O/W-Emulsionen__ sind Öl-in-Wasser-Emulsionen.<br/>Eine Emulsion kann man sich bildlich ausgedrückt als viele Blüten vorstellen. In diesen Emulsionen (Emulgator hat einen hohen HLB-Wert) ist in der Mitte jeder Blüte Öl- umgeben vom Emulgator, die Blütenblätter drumherum sind die Wassermoleküle.<br/>Wenn die Haut eher Feuchtigkeit braucht, ist es die richtige Emulsions-Art. Sie wird als Tagespflege, tendenziell v.a. für fettige und normale Haut empfohlen. Das Wasser zieht rasch in die Haut ein, das Öl wird von der befeuchteten Haut besser aufgenommen (im Gegensatz zu reinem Öl auf unbefeuchteter Haut) und hinterlässt auf der Haut kaum einen / gar keinen Film. Die Haut fühlt sich nach der Anwendung der Emulsion leichter an.
*** __W/O-Emulsionen__ sind Wasser-in-Öl-Emulsionen.<br/>In diesen Emulsionen (Emulgator hat einen niedrigen HLB-Wert) ist in der Mitte jeder Blüte Wasser- umgeben vom Emulgator, die Blütenblätter drumherum sind die Fettmoleküle.<br/>Wenn die Haut eher Fett braucht, ist es die richtige Emulsions-Art. Sie wird als Nachtpflege, tendenziell v.a. für trockene, rissige & empfindliche Haut empfohlen. Auch diese Emulsion befeuchtet die Haut, aber nachhaltiger. Hier wird zuerst das Öl von der Haut aufgenommen, das Wasser erleichtert nur den Prozess der Aufnahme. Da diese Emulsion dichter ist, bleibt ein Teil des Öls auf der Haut und bildet einen Schutzfilm (Okklusion). Dieser Film macht die Haut weicher und elastischer. Er “verstärkt” die dünne Haut. Mit der W/O-Emulsion fühlt sich die Haut schwerer an, ist aber auch besser vor Mikroben, Witterung, Sonne, Feuchtigkeitsverlust, usw. geschützt. Diese Emulsion ähnelt im Übrigen unserer Haut, da sie auch überwiegend aus Fetten besteht. Wasser-in-Öl-Emulsionen sind deshalb gesünder und wirksamer.
*** __Quasiemulsion:__ Neben den klassischen Emulsionstypen W/O & O/W können wir auch ohne grenzflächenaktive Substanzen stabile Emulsionen erzeugen. Das Prinzip dieser "Emulsion" basiert auf der hohen Viskosität der äußeren Phase, die die innere Phase festhält, "immobilisiert", d.h. verhindert, dass sich die Teilchen der inneren Phase zusammenfinden. Es ist also keine echte Emulsion, in der die innere Phase durch Grenzflächenfilme der Emulgatoren von der äußeren Phase getrennt werden. Typische Hilfsmittel für Quasiemulsionen sind Wachse & Wachsester, aber auch Fette mit hohem Schmelzpunkt (z.B. Pflanzenbuttern).<br/><br/>
* ''e''nzymatisch
** eine durch Enzyme bewirkte bio-chemische Reaktion<br/><br/>
* ''E''nzym
** Proteine, die biochemische Reaktionen umsetzen und beschleunigen (z.B. Fett- oder Eiweißspaltung)<br/><br/>
* ''E''pidermis >siehe "Hautaufbau"<br/><br/>
* ''E''rythem
** durch Gefäßerweiterungen bedingte Hautrötung, u.a. Folge von zu hoher UV-Licht-Einstrahlung<br/><br/>
* ''E''steröle, kosmetische
** Als kosmetische Esteröle werden Fette pflanzlichen Ursprungs bezeichnet, die in der Regel auf Kokos- & Palmkernöl basieren und als Rückfetter, aber auch (je nach Komposition) als grenzflächenaktive Substanzen (Emulgatoren & Tenside) Einsatz finden.<br/>Auch in der Natur kommen viele natürliche Ester vor. Ester sind Verbindungen aus Säuren & Alkoholen, wie z.B. Pflanzenöle (Glycerin & Fettsäuren) oder Phospholipide (Ester der Phosphorsäure). Auch viele Komponenten ätherischer Öle stellen Esterverbindungen dar.<br/>Das Grundprinzip der Herstellung kosmetischer Esteröle ist, dass pflanzliche Öle zunächst in Fettsäuren und Glycerin gespalten werden. Nach der Spaltung werden die Fettsäuren gezielt nach gewünschter Kettenlänge neu kombiniert und mit Glycerin, Saccharose, Glucose oder anderen (Zucker-)Alkoholen verbunden (= »verestert«). Da sie chemisch neu zusammengesetzt (synthetisiert) werden, spricht man auch von synthetischen Lipiden, auch wenn sie aus nachwachsenden Rohstoffen stammen, nicht aus Mineralöl. Vom Grundprinzip her kann man sich eine Veresterung als umgekehrten Prozess der Verseifung vorstellen, bei der durch die Lauge Fettsäuren vom Glycerin abgespalten werden: Hier werden Fettsäuren wieder mit Glycerin (oder anderen Alkoholen) verbunden; der eine Prozess findet im basischen, der andere im sauren Milieu statt.<br/>Vorteile von Esterölen sind ihre weitgehende kosmetische Neutralität (sie gelten als nicht irritativ), dass sie mikrobiell geprüft werden und sich als oxidationsstabile Fettkomponenten eignen.<br/><br/>
* ''E''xtraktion
** Stoffgewinnung durch Ausziehen einer Substanz aus einem Stoffgemisch durch ein Lösungsmittel<br/><br/>
* ''F''antaschale
** glatte, dünnwandige Schale aus Melamin zur Herstellung von pharmazeutischen Salben, Cremes, Gelen oder anderen halbfesten Zubereitungen<br/><br/>
* ''F''este Körperbutter / Body Melt / Lotion Bar / Massage Bar >siehe "Body Melt"<br/><br/>
* ''F''ettphase
** Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst<br/><br/>
* ''F''iller
** Pigmente, die Deckkraft & Glanz einer Pigmentmischung regulieren<br/><br/>
* ''F''L (fl)
** Fluidlecithin (Emulgator)<br/><br/>
* ''F''LS
** Fluidlecithin Super<br/><br/>
* ''f''luidisieren der Haut / fluidisierende Fette
** Doppelmembrane von Zellwänden (oder die der Hautbarriereschicht) durch den Einbau ungesättigter Fettsäuren in ihrer Struktur auflockern, beweglicher und durchlässiger für Substanzen machen<br/><br/>
* ''F''ormulierung
** einfach gesagt: Rezept für den kosmetischen / pharmazeutischen Bereich<br/><br/>
* ''F''P
** Fettphase<br/><br/>
* ''F''raktion
** Untergruppe von Substanzen<br/><br/>
* ''f''reies Wasser
** Wasser in einer Emulsion, das sofort beim Auftragen zur Befeuchtung der Haut zur Verfügung steht<br/><br/>
* ''F''rizz
** Die Haar-Schuppenschicht liegt idealerweise glatt und dachschindelartig übereinander. Bei sehr trockenem Haar stehen die "Dachschindeln" ab- so dringt Feuchtigkeit ein und "pufft" das Haar auf. Statt geschmeidig und glänzend, sieht das Haar jetzt trocken, rau und struppig aus. Die Spitzen werden spröde und glatte Haare beginnen zu fliegen.<br/><br/>
* ''G''I
** Gisella Manske<br/><br/>
* ''G''lycerit
** Pflanzenauszug in Glycerin<br/><br/>
* ''G''MO
** genetisch modifizierte Organismen<br/><br/>
* ''g''o
** Gammaoryzanol<br/><br/>
* ''G''renzflächenspannung
** Kräfte, die zwischen Öl und Wasser auftreten; bilden eine gemeinsame Grenzfläche, die unter Grenzflächenspannung steht, sodass sie sich nicht miteinander vermischen können<br/><br/>
* ''G''S
** Glycerinstearat (Emulgator)<br/><br/>
* ''G''SSE
** Glycerinstearat SE (Emulgator, selbstemulgierend)<br/><br/>
* ''g''utta, guttae (Abkürzung je nach Literatur: gtt., gutt., gt., gutts.)
** Lateinisch- übersetzt »Tropfen«. Der Begriff wird manchmal als Maßeinheit für flüssige Zutaten verwendet.<br/><br/>
* ''G''W (gw)
** Gesichtswasser<br/><br/>
* ''H''aarfollikel
** Einstülpung der Basalschicht der Epidermis (Oberhaut), in der das Haar gebildet und verankert wird<br/><br/>
* ''h''aarkonditionierend / konditionierend
** die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.<br/><br/>
* ''H''aptik
** spürbare Wahrnehmung, Hautgefühl<br/><br/>
* ''h''aptisch
** Wahrnehmung des Tastempfindens<br/><br/>
* ''h''autanalog
** dem Aufbau und der Funktion hauteigener Substanzen ähnlich<br/><br/>
* ''H''autaufbau
** Die Haut besteht aus 3 Schichten (von unten nach oben): __Unterhaut (Subcutis)__, __Lederhaut (Dermis)__ und __Oberhaut (Epidermis)__. Kosmetika entfalten ihre Wirkung primär in der Epidermis.<br/>__Stratum basale (Basalschicht):__ Das Stratum basale ist die unterste Schicht der Oberhaut (Epidermis), die an die Lederhaut (Dermis) angrenzt. Hier findet die Neubildung von Hautzellen, die so genannte Proliferation statt. Die im Stratum basale produzierten Zellen teilen sich; eine Tochterzelle verbleibt jeweils im Stratum basale, die andere wandert als Keratinozyt in Richtung Oberhaut und verhornt zunehmend, sie keratinisiert und ist schließlich eine tote Hornzelle (Korneozyt). Diese Wanderung dauert ca. 14 Tage; weitere 14 Tage nimmt die Abschilferung der abgestorbenen Korneozyten in Anspruch, die normalerweise unauffällig erfolgt. Die Lipide des Stratum basale setzen sich vorwiegend aus Triglyceriden, freien Fettsäuren, Phospholipiden, Cholesterol, Ceramiden u.a. zusammen.<br/>__Stratum corneum (Hornschicht):__ Das Stratum corneum ist die äußere (oberste) Schicht der Epidermis (Oberhaut). Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.<br/><br/>
* ''h''autphysiologisch
** den Funktionen der Haut entsprechend und diese unterstützend<br/><br/>
* ''H''DG
** Hydrodispersionsgel<br/><br/>
* ''H''-Gel
** Hyalurongel<br/><br/>
* ''H''LB-Wert
** Abkürzung für "Hydrophilic Lipophilic Balance".<br/>Der HLB-Wert beschreibt die Tendenz eines Emulgators, sich eher in wässrigen (so genannten polaren) oder eher in öligen (so genannten unpolaren) Medien zu lösen. Bei besserer Wasserlöslichkeit (Hydrophilie) des Emulgators bildet Wasser die äußere Phase, in der kleine Öltröpfchen vom Emulgator ummantelt werden; bei besserer Öllöslichkeit ist es genau umgekehrt.<br/>Jedes Emulgatormolekül weist also eine unterschiedlich stark ausgeprägte Löslichkeit in Wasser oder in Öl auf. Das Verhältnis von hydrophilen und lipophilen Gruppen in einem Emulgatormolekül, also die Balance zwischen beiden »Kräften«, wird in einer Zahl zwischen 0 und 20 ausgedrückt (wenn man es ganz genau nimmt, wird der Anteil der wasserliebenden Teile zur gesamten Masse des Moleküls berechnet). Diese Skala kann bis zu HLB 40 reichen. Prinzipiell gilt:<br/>Emulgatoren mit einem HLB-Wert unter 10 (im engeren Sinne: HLB 3 - ca. 6) bilden eher Wasser-in-Öl-,<br/>Emulgatoren mit einem HLB-Wert ca. 8 - ca. 18 Öl-in-Wasser-Emulsionen.<br/>Verwendet man mehrere Emulgatoren, kann man den HLB-Wert einfach arithmetisch aus den Mittelwerten errechnen.<br/><br/>
* ''h''ochspreitend >siehe "Spreitfähigkeit / Spreitverhalten"<br/><br/>
* ''h''ochtourig rühren
** Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.<br/><br/>
* ''h''omogen
** gleichmäßig, einheitlich<br/><br/>
* ''h''omogenisieren
** gleichmäßige Vermischung verschiedener, nicht ineinander löslicher Komponenten; die Erzeugung gleich großer innerer Partikel in einer Emulsion<br/><br/>
* ''H''ornschicht >siehe "Hautaufbau"<br/><br/>
* ''H''P
** Heißverseifung (Hot Process)<br/><br/>
* ''H''y-Gel
** Hyaluron Gel<br/><br/>
* ''H''ydrathülle
** Anlagerung von Wassermolekülen um ein Ion<br/><br/>
* ''h''ydratisierend
** feuchtigkeitsbindend<br/><br/>
* ''H''ydratisierer
** feuchtigkeitsbindender kosmetischer Rohstoff<br/><br/>
* ''H''ydrodispersionsgel
** __KURZ:__ Wasserbasiertes Gel mit geringen Anteilen pflegender Fette<br/>__LANG:__ Ein Hydrodispersionsgel ist ein mit Gelbildnern (sogenannten Hydrokolloiden) mehr oder weniger viskos angedicktes, wasserbasiertes Kosmetikum, in dem eine geringe Menge an Ölen (in der Regel zwischen 5-20%) und, bei Bedarf, Wirkstoffe in das Gelgerüst eingearbeitet sind. Typische und gern verwendete Gelbildnern im naturkosmetischen Bereich sind Xanthan, Guarkernmehl, Hyaluronsäure und Cellulose-Derivate. Sie stabilisieren die Öltröpfchen durch Viskositäserhöhung der Wasserphase, die ein Zusammenfließen verzögert; manche Gelbildner bilden makromolekulare Grenzflächenfilme. Dies bedeutet, ihre Moleküle lagern sich an der Oberfläche der Öltröpfchen an wie ein Film und mindern die Gefahr ihres Zusammenfließens.<br/><br/>
* ''H''ydrogel / Hydrophiles Gel
** __KURZ:__ Wasserbasiertes, fettfreies Gel<br/>__LANG:__ Hydrogele sind gelierte Flüssigkeiten (Gele), die mit geeigneten Quellmitteln wie zum Beispiel Cellulosederivaten hergestellt werden. Im Unterschied zu den Oleogelen zeichnen sich die Hydrogele durch ihren hohen Wassergehalt aus (80-90%) und sind in der Regel fettfrei. Hydrogele werden einerseits als Grundlage zur lokalen Verabreichung von Wirkstoffen und anderseits meist ohne Wirkstoff zur Behandlung trockener Wunden verwendet.<br/>Wirkungen: Kühlend durch die Verdunstung von Wasser, kurzfristig hydratisierend, längerfristig austrocknend, nicht rückfettend.<br/>Verwendung mit Wirkstoff für: Zur lokalen Verabreichung von Wirkstoffen und zur Behandlung von Erkrankungen, bei denen eine Kühlung oder Austrocknung erwünscht ist, z.B. Insektenstiche, Sonnenbrand, bei Sportverletzungen, rheumatischen Beschwerden, nächtliche Wadenkrämpfe.<br/>Verwendung meist ohne Wirkstoff für: Hydrogele werden bei der feuchten Wundversorgung zur Feuchthaltung verwendet, z.B. bei trockenen Nekrosen oder bei einfachen Wunden in der Granulations- und Epithelisierungsphase. Dabei wird entweder das Gel alleine oder das Gel abgeschlossen in einer Wundauflage auf die Wunde gelegt.<br/><br/>
* ''H''ydrokolloide
** = Gelbildner<br/><br/>
* ''H''ydrolase
** Enzyme, die chemische Verbindungen durch Reaktion mit Wasser spalten<br/><br/>
* ''H''ydrolat
** durch Wasserdampfdestillation von Pflanzen entstandenes Pflanzenwasser; enthält flüchtige, wasserlösliche Pflanzenstoffe und geringe Mengen an ätherischen Ölen<br/><br/>
* ''H''ydro-Lipid-Film
** Auf der Hautoberfläche bilden verschiedene Lipide (vorwiegend Tricglyceride, Squalen, Wachsester & Fettsäuren) aus den Talgdrüsen und aus den freigesetzten Lipiden der Kittsubstanz der verhornten Keratinozyten Cholesterin & Cholesterinester zusammen mit in Wasser gelösten Substanzen aus dem Hautschweiß (Carbonsäuren, Aminosäuren & Salze) einen hydro-lipiden Film. Durch Spaltung der Triglyceride durch fettspaltende Enzyme (Lipasen) in freie Fettsäuren sinkt der pH-Wert der Haut auf 5,5-6,5 ab (daher auch der Name »Säureschutzmantel«) und besitzt eine antibakterielle Wirkung. Interessant ist, dass der Mensch über eine spezifische, hauteigene aerobe Keimbesiedlung verfügt, eine »residente Flora«, deren Stoffwechselprodukte antimikrobiell wirken und unerwünschte und pathogene (krankmachende) Fremdkeime minimieren. Ein hautphysiologischer pH-Wert im leicht sauren Bereich garantiert der hauteigenen Mikroflora optimale Bedingungen und ist wesentlich für die Gesunderhaltung der Haut. Der Hydro-Lipid-Film hat vor allem Schutzfunktion vor Mikroorganismen und Sonnenlicht (letzterer ist jedoch nur begrenzt). Die im Hydro-Lipid-Film enthaltenen Emulgatoren (hier v.a. Cholesterin, Fettsäuren & Diglyceride) emulgieren Hautlipide und Hautschweiß zu einer Emulsion, die sich auf der Hautoberfläche ausbreitet und sie schützend überzieht.<br/><br/>
* ''H''ydrolyse
** Spaltung einer chemischen Verbindung durch Reaktion mit Wasser<br/><br/>
* ''h''ydrolytisch
** Spaltung chemischer Verbindungen durch Wasser mithilfe eines Stoffes, der die Reaktion beschleunigt (Katalysator)<br/><br/>
* ''h''ydrophil
** wasserlöslich /-anziehend /-bindend<br/><br/>
* ''h''ydrophob
** wasserunlöslich /-abstoßend<br/><br/>
* ''h''ygroskopisch
** bestrebt, Luftfeuchtigkeit aufzunehmen<br/><br/>
* ''I''NCI
** Einfach gesagt: Die Zutatenliste bei kosmetischen / pharmazeutischen Produkten.<br/>INCI ist die Abkürzung für "International Nomenclature of Cosmetic Ingredients") und bezeichnet eine internationale Richtlinie für die korrekte Angabe der Inhaltsstoffe (Ingredients) von Kosmetika- ohne Mengenangaben. Die Inhaltsstoffe werden nach ihrem Gewichtsanteil in abnehmender Reihenfolge aufgelistet- sofern sie jeweils mehr als 1% des Inhalts ausmachen.<br/>Im Gegensatz zu dem geltenden System in den USA werden bei pflanzlichen Rohstoffen die lateinischen Gattungsnamen (oder den der Spezies), jedoch nicht exakt der Teil der Pflanze benannt, der verwendet wird. So wird bei Verwendung eines Rohstoffs des Olivenbaums unter INCI "Olea Europaea" angegeben, obwohl es sich um das fette Öl, gehärtete Olivenbutter oder um einen Extrakt aus Olivenblättern handeln könnte. Das amerikanische System differenziert hier deutlich und nennt (hier auf Produkte aus Weizen bezogen) Hydrolized Wheat Protein, Wheat Germ Oil usw., die ja vollkommen unterschiedliche kosmetische Substanzen mit spezifischem Einsatzgebiet und spezifischen Wirkungen darstellen.<br/>Farbstoffe werden am Ende der Auflistung mit der jeweiligen CI-Nummern (CI = Colour-Index) aufgeführt- ohne besondere Sortierung oder Reihenfolge. Bei Kosmetika in verschiedenen Farbvarianten werden die in den Varianten verwendeten Farbstoffe in einer eckigen Klammer aufgelistet. Eine Kennzeichnung „+/−“ zeigt an, dass eventuell nicht alle der aufgeführten Farbstoffe im Produkt enthalten sind, zum Beispiel: [+/− CI12700, CI14270, CI20470]. Zum Schutz der Rezeptur kann für Inhaltsstoffe besondere Vertraulichkeit beantragt werden. Solche Inhaltsstoffe werden durch einen siebenstelligen Code, zum Beispiel 600277D oder ILN5643, aufgelistet.<br/><br/>
* ''I''nfus
** = Tee; wässriger Aufguss fester Drogen (z.B. von Kräutern, Früchten, Pflanzenteilen) mit heißem oder kochendem Wasser<br/><br/>
* ''I''ngredienz
** Zutat, Rohstoff, Bestandteil<br/><br/>
* ''I''nhomogenität
** uneinheitliches Aussehen, ungleichmäßige Konsistenz<br/><br/>
* ''I''nterferenzpigmente
** Effektpigmente, die je nach Blickwinkel verschiedene Farbeffekte zeigen<br/><br/>
* ''i''nterlamellar
** in den "Maschen" der flüssig-kristallinen Gelnetzwerke einer Öl-in-Wasser-Emulsion<br/><br/>
* ''i''nterzellulär
** zwischen den einzelnen Zellen<br/><br/>
* ''i''ntrazellulär
** in den Zellen<br/><br/>
* ''i''pm
** Isopropylmyristat<br/><br/>
* ''i''rritativ
** Substanzen, die beim Aufbringen auf die Haut eine sichtbare Reaktion (z.B. Schwellung und/oder Rötung) bewirken<br/><br/>
* ''J''odzahl
** Chemisch betrachtet nennt die Jodzahl eines Öls die Menge an Jod (in Gramm pro 100g Fett), die sich an seine freie Doppelbindungen (der ungesättigten Fettsäuren) anlagern können. Je höher die Jodzahl, desto mehr (mehrfach) ungesättigte Fettsäuren sind in einem Öl enthalten. "Trocknend" meint im Übrigen nicht "die Haut austrocknend", sondern wie schnell ein Fett in Verbindung mit Sauerstoff trocknet.<br/>Jodzahl <100 (nicht trocknend): Diese Fette hinterlassen einen leichten Schutzfilm auf der Haut.<br/>Jodzahl 100-170 (halb trocknend): Diese Fette zählen zu den halbtrocknenden Fetten. Sie ziehen gut ein und hinterlassen nur einen geringen Film auf der Haut.<br/>Jodzahl > 170 (trocknend): Diese Fette ziehen, ohne zu fetten, gut in die Haut ein.<br/><br/>
* ''K''abu
** Kakaobutter<br/><br/>
* ''K''alt-Emulgator >Siehe "Emulgator"<br/><br/>
* ''k''altgepresst (kaltgepresstes Öl)
** Kalt gepresste Öle werden ohne Wärmezufuhr nur durch Druck oder Reibung in meist dezentralen Ölmühlen hergestellt. Auf die Pressung folgt meist eine Filtration. Durch die schonende Gewinnung bleiben Geschmackstoffe, Vitamine und die als gesund geltenden mehrfach ungesättigten Fettsäuren erhalten.<br/><br/>
* ''k''anzerogen
** krebsauslösend oder -fördernd<br/><br/>
* ''K''apillare
** feinste Blutgefäße in der Haut<br/><br/>
* ''k''bA
** kontrolliert biologischer Anbau<br/><br/>
* ''K''eratinozyten
** __Kurz:__ hornbildende Zellen in der Epidermis (Oberhaut)
** __Lang:__ Keratinozyten sind Zellen in der Oberhaut (Epidermis). Sie werden im Stratum Basale (4. Schicht von oben innerhalb der Epidermis) gebildet und wandern ca. innerhalb 1 Monats nach außen an die Hautoberfläche, der Hornschicht (Stratum corneum, oberste Schicht der Epidermis). Ihr Name basiert auf ihrer Funktion, das Protein Keratin herzustellen: Diese zunehmende Keratinisierung bedeutet, dass sie sich in ihrer Form und ihrer gewebe-chemischen Zusammensetzung verändern: Sie verlieren ihren Zellkern, verhornen (Keratin = Hornsubstanz), bis sie als Korneozyten die oberste Schicht des Stratum Corneum bilden.<br/><br/>
* ''k''eratolytisch
** das Keratin der Hornzellen im Stratum corneum (oberste Schicht der Epidermis) lockernd & aufklösend<br/><br/>
* ''k''eratoplastisch
** das Keratin der Hornzellen im Stratum corneum (oberste Schicht der Epidermis) verformbar machend<br/><br/>
* ''K''inkenstruktur
** spezifische Molekülstruktur der einfach ungesättigten Ölsäure mit einer Doppelbindung exakt in der Mitte; ergibt ein raumgreifendes, das __Einziehverhalten förderndes__ Molekül<br/><br/>
* ''K''K
** Konventionelle Kosmetik<br/><br/>
* ''k''l. ML
** kleiner Messlöffel<br/><br/>
* ''K''o-Emulgator >Siehe "Emulgator"<br/><br/>
* ''K''o-Tensid
** Mildes Tensid; mindert irritative Wirkungen waschaktiver Substanzen (WAS) des Haupttensids, wirkt schleimhautschützend<br/><br/>
* ''K''oaleszenz
** Zusammenfließen fein verteilter Teilchen, hier der Emulsionströpfchen<br/><br/>
* ''K''olloid
** Teilchen / Tröpfchen, die in einem Lösungsmittel als Feststoff, Flüssigkeit oder Gas fein verteilt vorliegen<br/><br/>
* ''k''omedogen
** Der Begriff komedogen bezieht sich auf Stoffe, die in Verdacht stehen, die Bildung von Komedonen, also Unreinheiten (z.B. Mitesser, Unterlagerungen, Pickel, Pusteln & Akne), sowie Entzündungen der Haut zu begünstigen und zu fördern. Eine Zusammensetzung, die die Poren der Haut nicht verstopft, wird als nicht-komedogen bezeichnet.<br/><br/>
* ''K''omedonen
** Hautunreinheiten, "Mitesser"<br/><br/>
* ''K''omplexbildner
** binden Salze oder Metallionen in Emulsionen an sich und erhöhen ihre chemische & oxidative Stabilität<br/><br/>
* ''K''omplexemulgator >Siehe "Emulgator"<br/><br/>
* ''k''onditionierend / haarkonditionierend
** die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen. Ein Conditioner tut also all diese Dinge ;-)<br/><br/>
* ''K''onsistenzerhöhung
** eine Erhöhung der Viskosität<br/><br/>
* ''K''onsistenzgeber
** Stoffe, die die Beschaffenheit einer Emulsion fester gestalten<br/><br/>
* ''K''ontamination
** Verunreinigung mit Schadstoffen oder Mikroorganismen<br/><br/>
* ''K''orneozyten
** Korneozyten sind abgestorbene, verhornte Keratinozyten, die- eingebettet in eine Schicht aus hauteigenen Fettstoffen wie Ceramiden, Cholesterin & Fettsäuren- die oberste Region des Stratum corneum (oberste Schicht der Epidermis) bilden.<br/><br/>
* ''k''q
** Kurquat<br/><br/>
* ''K''ruke
** Vorrats- bzw. Abgabegefäß des Apothekers, welches hauptsächlich für Salben, Pasten und Cremes verwendet wird<br/><br/>
* ''L''ederhaut >siehe "Hautaufbau"<br/><br/>
* ''L''eave-in
** Haarpflegeprodukt, das nicht ausgespült wird<br/><br/>
* ''L''G (lg)
** Lecithingranulat<br/><br/>
* ''L''L (ll)
** Lysolecithin<br/><br/>
* ''l''ichtexponiert / sonnenexponiert
** intensiv dem Sonnenlicht ausgesetzt<br/><br/>
* ''L''ipide
** Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.<br/><br/>
* ''L''ipidfraktion
** Lipidanteil einer chemischen Substanz, der sich aus verschiedenen Fetten zusammensetzt<br/><br/>
* ''L''ipidlayer
** Lipidschichten; Bestandteil der Zellmembran und der Hautbarriereschicht<br/><br/>
* ''L''ipidperoxidation
** die Schädigung und Zerstörung der ungesättigten Bindungen von Fettsäuren (in Fetten und Zellmembranen); verursacht bzw. beschleunigt durch Einfluss von Wärme, UV-Licht & Sauerstoff<br/><br/>
* ''L''ipogel
** __KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.<br/><br/>
* ''l''ipophil
** fettlöslich /-anziehend /-bindend<br/><br/>
* ''l''ipophob
** fettunlöslich /-abstoßend<br/><br/>
* ''l''iposomal
** Lecithine, die in Doppelmembrane bildender & kugelförmiger Anordnung in Wasser vorliegen<br/><br/>
* ''L''ösungsvermittler / Solubilisator
** Substanz, die die Löslichkeit lipophiler Stoffe (Pflanzenöle, ätherische Öle, Tocopherol, Bisabolol u.a.) in Wasser ermöglicht, ohne ihre chemische Struktur zu verändern. Der Solubilisator fungiert als grenzflächenaktive Substanz, die vorhandene Fette in Mizellen einlagert und damit wasserlöslich macht. Je nach Größe der Mizellen kann die Lösung vollkommen klar bis milchig erscheinen. Alkohol erhöht die solubilisierenden Eigenschaften dieser Stoffgruppe.<br/><br/>
* ''L''otion Bar / Body Melt / Lotion Bar / Feste Körperbutter / Massage Bar >siehe "Body Melt"<br/><br/>
* ''L''ow Luster Pigment
** lichtstreuende Pigmente mit geringem Glanz, die durch diese Eigenschaft eine sehr natürliche, egalisierende & "weichzeichnende" Optik bewirken<br/><br/>
* ''l''ymphatisch
** die Lymphe, die Lymphknoten, -gefäße betreffend<br/><br/>
* ''M''assage Bar / Body Melt / Lotion Bar / Feste Körperbutter >siehe "Body Melt"<br/><br/>
* ''M''azerat
** Pflanzenauszug in einem Lösungsmittel (Öle, Alkohol, Glycerin)<br/><br/>
* ''m''azerieren
** in einem Auszugsmittel einweichen<br/><br/>
* ''M''B
** Massagebar<br/><br/>
* ''M''BM
** Meat Ball Maker (Zange zum Formen von Badebomben)<br/><br/>
* ''M''elanin
** Pigment, das beim Menschen u.a. Haut- & Haarfarbe bestimmt<br/><br/>
* ''M''embran
** biologische Scheidewand; in erster Linie aus Lipiden bestehend<br/><br/>
* ''M''ethylgruppe
** [chem.] -CH-3, chemische Anordnung von Atomen; lipophil<br/><br/>
* ''M''F
** Mineral Foundation<br/><br/>
* ''M''IC
** "minimal inhibition concentration": Mindestmenge ab der ein Konservierungsmittel wirksam wird<br/><br/>
* ''m''ikrobizid
** Mikroorganismen schädigend bzw. abtötend. Richtet sich die Wirkung nur gegen eine spezielle Art von Mikroorganismen, wird zwischen algizid (Algen), bakterizid (Bakterien), fungizid (Pilze) und viruzid (Viren) unterschieden<br/><br/>
* ''M''ineralöl
** Mineralöl & seine Derivate beinhalten keine Substnazen, die "wirken". Diese fehlende Wirksamkeit ist (neben ökologischen) einer der Aspekte, der Mineralöl & seine Derivate bei Naturkosmetik ausschliesst. Mineralöle beinhalten- anders als pflanzliche Öle- keine Lipide & Fettsäuren, die Bestandteil des Stratum Corneum sind und die Funktionen der Haut, insbesondere die Integrität der Barriereschicht unterstützen / stabilisieren. Im Gegenteil weisen einige Mineralölderivate in der Lipidphase einen Okklusiv-Effekt auf, der hauteigene Regulationsprozesse stört. Pflanzenöle mit ungesättigten Fettsäuren (also genau die, die wir bevorzugt in unseren eigenen Rezepturen verarbeiten), zumal nativ, sind für die Kosmetikindustrie wenig attraktiv, weil sie oxidationsanfälliger sind als Mineralöl und als Naturprodukte kultur- & erntebedingte Schwankungen in Zusammensetzung und Verarbeitungsverhalten aufweisen; zudem können sie mikrobiell stärker kontaminiert sein. Industriell gefertigte Mineralölderivate ermöglichen hingegen voraussagbare Ergebnisse mit langer Haltbarkeit bei gleichzeitig sehr geringen Kosten.<br/>Mineralöl & seine Derivate erkennst Du in den INCIs u.a. an den Bezeichnungen Mineral Oil, Paraffinum liquidum Ceresin, Ozokerite, Vaseline, Microcrystalline Wax und Petrolatum.<br/>Pflanzliche Alternativen: Sind auf Grund des Hautzustands neutrale, nicht reaktive Lipide gewünscht, bieten sich rein pflanzliche Esteröle an.<br/><br/>
* ''M''iPu (mipu)
** Milchpulver<br/><br/>
* ''M''S (ms)
** Milchsäure<br/><br/>
* ''m''ittelspreitend >siehe "Spreitfähigkeit / Spreitverhalten"<br/><br/>
* ''M''izellen
** Anhäufungen von Tensid-Molekülen, die sich in einem Dispersionsmedium (meist Wasser) spontan zusammenlagern und kugelige Strukturen ausbilden<br/><br/>
* ''M''undflora
** Gesamtheit der in der Mundhöhle lebenden Bakterien & Pilze<br/><br/>
* ''M''W
** Milky Way Forms (Seifenformen)<br/><br/>
* ''N''aOH
** Natriumhydroxid<br/><br/>
* ''n''ativ
** Native Öle sind naturbelassen und kalt gepresst ohne weitere Wärmezufuhr. (bei Olivenöl auch "Virgin") Die kalte Pressung ohne Wärmezufuhr vermeidet Oxidation. Das Öl wird filtriert. Weder Öl noch Rohware werden vor- oder nachbehandelt, etwa durch Raffination, Dämpfung oder Rösten der Saat. Es bleiben alle Inhaltsstoffe erhalten. Der deutliche Frucht- / Saatgeschmack, Geruch und intensive Farbe sind charakteristisch.<br/><br/>
* ''N''C
** Nachtcreme<br/><br/>
* ''N''D
** Neurodermitis<br/><br/>
* ''n''iacin
** Nicotinamid<br/><br/>
* ''n''iedrigspreitend >siehe "Spreitfähigkeit / Spreitverhalten"<br/><br/>
* ''N''K
** Naturkosmetik<br/><br/>
* ''N''L (nl)
** Natriumlactat<br/><br/>
* ''N''MF
** Natural Moisturizing Factor; __KURZ__: Körpereigene wasserbindende Stoffe in der Hornschicht.<br/>__LANG__: Für eine gesunde Haut sind zwei Faktoren maßgeblich: Zum einen eine intakte Barriereschicht, zum anderen der Feuchtigkeitsgehalt in der Hornschicht (Stratum corneum). Feuchtigkeit kommt im Stratum corneum intrazellulär; genauer gesagt in den Korneozyten und interzellulär gebunden vor. Intrazellulär binden hydrophile Substanzen, die dermatologisch unter dem Begriff NMF (Natural Moisturizing Factor) zusammengefasst werden, das Wasser an sich. Der Impuls für die Haut, diese NMF zu bilden, ist u.a. von ihrem Wassergehalt abhängig. NMF setzen sich aus Bestandteilen von Schweiß, Talg und Produkten des Verhornungsprozesses der Haut zusammen, u.a. organischen Säuren, Salzen, Zuckern und Harnstoff.<br/><br/>
* ''n''on GMO
** frei von genetisch modifizierten Organismen<br/><br/>
* ''N''S
** Naturseife.com<br/><br/>
* ''N''SF
** Naturseifenforum<br/><br/>
* ''O''berhaut >siehe "Hautaufbau"<br/><br/>
* ''Ö''lmazerat
** öliger Pflanzenauszug<br/><br/>
* ''O''HP
** Oven Hot Process<br/><br/>
* ''o''kklusiv / Okklusion
** __KURZ:__ Okklusive Fette bilden eine Barriereschicht der Hornschicht nach außen, sodass keine hauteigene Feuchtigkeit mehr verdunsten kann. Okklusion ist diese Barriereschicht.<br/>__LANG:__ Die Folge einer Okklusion ist eine Aufquellung der Hornschicht durch eine so genannte »Mazeration« und eine vorübergehende optische Glättung der Epidermis, weil die Hornzellen der Haut das Wasser aufnehmen, aufquellen und kleine (Knitter-)Fältchen scheinbar verschwinden. Konventionelle, auf Mineralölen / ihren Derivaten basierende Kosmetika, machen sich diesen Okklusiv-Effekt zunutze, um eine Wirksamkeit gegen Hautalterungen zu suggerieren. Nachteil einer ausgeprägt okkludierenden Wirkung ist, dass die Haut als Organ keine regulierenden Impulse mehr von außen erhält, um eigene Prozesse zu steuern.<br/><br/>
* ''O''leogel / Ölgel
** __KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.<br/><br/>
* ''O''ne-Pot-Methode
** Herstellungsverfahren, bei dem Fett- & Wasserphase einer Emulsion zunächst zusammengegeben und dann erst verrührt werden<br/><br/>
* ''o''pak
** lichtundurchlässig<br/><br/>
* ''o''palisierend
** ein Farbspiel erzeugend<br/><br/>
* ''O''/W-Emulgator >siehe "Emulgator"<br/><br/>
* ''O''/W-Emulsion >siehe "Emulsion"<br/><br/>
* ''O''xidation hauteigener Lipide
** Hautfette werden "ranzig"; wesentlicher Faktor für Hautalterungsprozesse<br/><br/>
* ''o''xidationsstabil
** __KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.<br/><br/>
* ''o''xidativ
** mit Sauerstoff reagierend<br/><br/>
* ''o''xidativer Stress
** Die Reparatur- & Entgiftungsfunktion einer Zelle wird durch Stoffwechselprozesse überfordert, dies führt zur Schädigung der Zellstrukturen<br/><br/>
* ''P''arabene
** Antimikrobiell & fungizid wirkende Substanzen; Einsatz als Konservierungsstoff; sind aufgrund der östrogenen Wirkung im Organismus umstritten; nicht naturkosmetikkonform<br/><br/>
* ''p''athogen
** krankmachend<br/><br/>
* ''P''EG
** Stoffgruppe der Polyethylenglykole; Einsatz u.a. als Emulgatoren, Feuchthaltemittel, Konsistenzgeber, Tenside; gelten als reizend, nicht für Naturkosmetik geeignet<br/><br/>
* ''P''enetration
** Eindringen einer kosmetisch wirksamen Substanz in die Haut<br/><br/>
* ''P''eriorale Dermatitis / POD
** Hautkrankheit mit Auftritt eines bläschenhaften Ausschlags um den Mund herum; Ursache ist oft eine Quellung der Haut durch hydratisierende Substanzen und Eindringen von Bakterien<br/><br/>
* ''P''ermeabilität
** Durchlässigkeit<br/><br/>
* ''P''ermeabilitätsbarriere
** Barriereschicht der Haut; schützt vor übermäßigem Wasserverlust und vor schädlichen Substanzen von außen<br/><br/>
* ''P''ermeation >siehe "Resorption"<br/><br/>
* ''P''hase
** Teil einer Emulsion, der entweder alle fett- oder alle wasserlöslichen Rohstoffe umfasst. Dementsprechend gibt es 2 Phasen: Die Fettphase und die Wasserphase.<br/><br/>
* ''P''haseninversionstemperatur (PIT)
** Temperatur, bei der sich lipophile & hydrophile Eigenschaften eines nichtionischen Emulgators die Waage halten; gilt als optimale Temperatur zur Herstellung einer stabilen Emulsion<br/><br/>
* ''P''hospholipide
** Lecithine, phosphorhaltige, ambiphile Lipide, die als Membranlipide am Aufbau von Zellen beteiligt sind<br/><br/>
* ''p''H-Wert
** bezeichnet die Konzentration an Hydronium-Ionen in einer wässrigen Lösung und kennzeichnet sie als sauer (pH 1-6), neutral (pH 7) oder basisch (pH 8-14)<br/><br/>
* ''P''hytosterole
** Begleitstoff von Pflanzenfetten; haben eine dem Cholesterin ähnliche Struktur und können dieses in der Haut weitgehend ersetzen<br/><br/>
* ''P''igmentbenetzung
** Pigmente werden vom Trägerstoff gleichmäßig ummantelt, sodass sie sich gut in ihm verteilen und nicht zusammenhaften<br/><br/>
* ''p''i ol
** Pirocton Olamin<br/><br/>
* ''P''istill
** Stößel mit verbreitertem rundem Ende, der zum Zerkleinern und Verreiben von Reibegut in einer Fantaschale verwendet wird<br/><br/>
* ''P''OD / Periorale Dermatitis
** Hautkrankheit mit Auftritt eines bläschenhaften Ausschlags um den Mund herum; Ursache ist oft eine Quellung der Haut durch hydratisierende Substanzen und Eindringen von Bakterien<br/><br/>
* ''P''Ö
** Parfümöl<br/><br/>
* ''p''olar
** Polare Stoffe lösen sich gut in polaren Lösungsmitteln (z.B. Wasser), nicht aber in unpolaren Lösungsmitteln wie Benzol<br/><br/>
* ''p''olares Öl
** besteht aus polaren Molekülen und löst sich dadurch besonders gut in polaren Lösungsmitteln (z.B. Wasser)<br/><br/>
* ''P''olyole
** organische Verbindungen mit mehreren OH-Gruppen, u.a. Zuckeralkohole wie Glycerin, Sorbit, Insosit, Xylit<br/><br/>
* ''P''olyphenole
** bioaktive, in Pflanzen vorkommende Substanzen wie Farbstoffe, Geschmacksstoffe und Tannine; wirken entzündungshemmend & krebsvorbeugend<br/><br/>
* ''P''räliposomenpräparat
** bildet erst bei Wasserkontakt Doppelmembranen und Hohlkügelchen (Liposome) aus<br/><br/>
* ''P''soriasis
** Schuppenflechte; nicht ansteckende Hautkrankheit, die sich im Wesentlichen durch punktförmige bis handtellergroße gerötete, stark schuppende Hautstellen zeigt<br/><br/>
* ''P''unicinsäure
** mehrfach ungesättigte Fettsäure, kommt v.a. im Granatapfelsamenöl vor<br/><br/>
* ''q''uantum satis (q.s.)
** = "soviel wie benötigt" / "soviel wie notwendig". Er wird dann verwendet, wenn eine Ingredienz zu einer Rezeptur hinzugefügt wird, deren Einsatzmenge je nach Gesamtrezeptur variieren kann.<br/>Ein typisches Beispiel ist der Zusatz von Milchsäure zur Korrektur des pH-Werts: Da kosmetische Rohstoffe durch ihren eigenen pH-Wert den Gesamt-pH-Wert eines Produkts beeinflussen, kann nicht immer notiert werden, wieviel Milchsäure zum Einstellen des gewünschten Werts notwendig ist. Da es durchaus vorkommen kann, dass jemand Mengenverhältnisse in einer Rezeptur verändert oder Rohstoffe austauscht, schreibt man für Milchsäure sinnvollerweise keine feststehende Mengenangabe, sondern "q.s.".<br/><br/>
* ''q''uartär
** [chemisch] eine Verbindung von vier organischen Resten an ein zentrales Atom aufweisend; macht diese Verbindungen reaktionsträge<br/><br/>
* ''Q''uasiemulsion >Siehe "Emulsion"<br/><br/>
* ''r''affiniert (raffiniertes Öl)
** Warmpressung und Extraktion mit Lösungsmitteln ermöglichen deutlich höhere Ausbeuten aus der Pflanze, allerdings muss das so gewonnene Öl hinterher «raffiniert», also von unerwünschten Begleitstoffen gereinigt werden. Das zerstört neben Vitaminen und mehrfach ungesättigten Fettsäuren auch das Aroma.<br/>Das Öl wird zunächst bei Temperaturen von über 100°C heiß gepresst. Bei der chemischen oder physikalischen Raffination gehen wertvolle sekundäre Pflanzenstoffe, geschmackliche Eigenarten und die typische Farbe verloren. Das raffinierte Öl ist weitestgehend geschmacksneutral, von heller Farbe, lange haltbar und universell einsetzbar.<br/><br/>
* ''R''ahmenrezeptur
** Quasi "Grundrezept". Rezeptur mit wesentlichen Bestandteilen eines kosmetischen Produkts; Beispielrezepturen des Rohstoffherstellers, die Einsatzbereiche & Einsatzkonzentrationen zeigen.<br/><br/>
* ''r''eaktiv >oxidationsunstabil, siehe "oxidationsstabil"<br/><br/>
* ''r''eizfrei
** nicht hautreizend<br/><br/>
* ''R''L
** Reinlecithin<br/><br/>
* ''r''pm
** Einheit für die Häufigkeit der Umdrehung (Drehzahl) eines Motors (z.B. eines Rührgeräts)<br/><br/>
* ''R''esorption
** Aufnahme von körpereigenen / körperfremden Stoffen durch lebende Zellen / Gewebe, hier im engeren Sinne die Aufnahme gelöster Substanzen durch die Zellmembran in das Zellinnere (Fachleute unterscheiden noch Absorption, Adsorption & Permeation).<br/><br/>
* ''S''B
** Sammelbestellung, Selbstbräuner<br/><br/>
* ''S''cherkräfte
** durch kräftiges Rühren auf die innere Phase (Fett oder Wasser) einer Emulsion einwirkende Kräfte, die diese in möglichst viele kleinste Tropfen zerteilt<br/><br/>
* ''S''chottenol
** spezifisches pflanzliches Phytosterol, typisch für Arganöl<br/><br/>
* ''S''CI
** Sodium Cocoyl Isethionate (palmölfreies mildes Tensid)<br/><br/>
* ''S''CS
** Sodium Coco Sulfate (//häufig// palmölfreies mildes Tensid)<br/><br/>
* ''S''DA (sda)
** Stearamidopropyl Dimethylamine<br/><br/>
* ''s''dfföl
** Sanddornfruchtfleischöl<br/><br/>
* ''s''eborrhoisch
** die gesteigerte Talgproduktion betreffend / eine gesteigerte Talgproduktion aufweisend<br/><br/>
* ''S''ebum
** hauteigene Fette der Talgdrüsen<br/><br/>
* ''S''ensibilisierung
** Auslösen einer Allergie<br/><br/>
* ''S''iedeverzug
** Meiner Meinung nach für uns nicht relevant, ich erklärs nur, falls Du mal auf einer anderen Webseite über diesen Begriff stolpern solltest... Wenn Flüssigkeiten erhitzt werden, treten sie an einem bestimmten Punkt in einen anderen Aggregatzustand über: Aus flüssigem Wasser wird z.B. gasförmiger Wasserdampf. Die Moleküle benötigen dazu quasi eine Anregung von außen, von dem einen in den anderen Zustand zu wechseln. Dies sind üblicherweise Verunreinigungen der Flüssigkeit (z.B. Schwebstoffe) oder auch Unebenmäßigkeiten an den Gefäßwänden, in denen die Flüssigkeit erhitzt wird. Fehlen diese sogenannten »Siedekeime«, können die Moleküle keine Dampfblasen bilden, obwohl die Siede-Temperatur schon längst überschritten ist. Kommt es nun zu Erschütterungen, entlädt sich die Energie der Moleküle explosionsartig in einer Dampfblase, die aus dem Gefäß herausspritzt. Abhilfe schaffen zuhause kleine Siedesteine (im Laborbedarf erhältlich), die man dem Lösungsmittel im Rundkolben hinzufügt. Diese Steinchen bestehen z.B. aus porösem Ton- oder Silikatgesteinen. Sie bieten sich durch die enthaltenen Luftbläschen als »Siedekeime« an und ermöglichen den Molekülen der Flüssigkeit, in Dampf überzugehen- kurz: Die Flüssigkeit kann sieden.<br/><br/>
* ''S''L
** Seifenleim<br/><br/>
* ''S''LES
** Sodium Laureth Sulfate (Tensid)<br/><br/>
* ''S''LS
** Sodium Lauryl Sulfat (Tensid)<br/><br/>
* ''S''LSA
** Sodium Lauryl Sulfoacetate (Tensid)<br/><br/>
* ''S''olubilisator / Lösungsvermittler
** Substanz, die die Löslichkeit lipophiler Stoffe (Pflanzenöle, ätherische Öle, Tocopherol, Bisabolol u.a.) in Wasser ermöglicht, ohne ihre chemische Struktur zu verändern. Der Solubilisator fungiert als grenzflächenaktive Substanz, die vorhandene Fette in Mizellen einlagert und damit wasserlöslich macht. Je nach Größe der Mizellen kann die Lösung vollkommen klar bis milchig erscheinen. Alkohol erhöht die solubilisierenden Eigenschaften dieser Stoffgruppe.<br/><br/>
* ''S''ole
** 26%ige Salz-Wasserlösung<br/><br/>
* ''s''onnenexponiert / lichtexponiert
** intensiv dem Sonnenlicht ausgesetzt<br/><br/>
* ''S''oS
** Save on Scents<br/><br/>
* ''S''P
** Sensory Perfection<br/><br/>
* ''S''preitfähigkeit / Spreitverhalten
** __KURZ:__ Das Ausbreitungsverhalten eines Lipids auf der Haut.<br/>__LANG:__ Mit dieser Eigenschaft sind wesentliche kosmetische Eigenschaften eines Fetts verknüpft: Die Ausprägung seiner Rückfettung, seine fühlbare Haftung auf der Hautoberfläche, sein subjektives Einziehverhalten.<br/>__Hochspreitend:__ Das Öl verteilt sich sehr gut & dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.<br/>__Niedrigspreitend:__ Das Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.<br/>__Mittelspreitendes__ Öl tut dies alles in Mittelwerten.<br/>__Spreitkaskade:__ Ölkomposition aus hoch-, mittel- & niedrigspreitenden Ölen; gewährleistet so ein angenehmeres Auftragsverhalten, Hautgefühl und einen verbesserten Pflegeeffekt gegenüber solchen, die eine sogenannte Spreitlücke aufweisen.<br/>__Spreitlücke:__ In der Spreitkaskade einer Ölkomposition fehlen 1 oder 2 Komponenten (hoch-, mittel- / niedrigspreitende Öle); zeigt sich haptisch mitunter in weniger geschmeidigem Auftragsverhalten.<br/><br/>
* ''s''q
** Squalan<br/><br/>
* ''S''qualen
** hauteigenes Lipid im Sebum<br/><br/>
* ''S''taphylococcus aureus
** eine Bakterienart; auf der Haut und in den oberen Atemwegen von 25-30% aller Menschen vorkommend; löst nur bei Abwehrschwäche Hautinfektionen, Muskelerkrankungen, in ungünstigen Fällen auch lebensbedrohliche Erkranungen aus. Gehört zu den Staphylokokken.<br/>__Staphylokokken:__ Bakterien; besiedeln primär die Haut & Schleimhäute; i.d.R. nur bedingt krankheitsverursachend.<br/><br/>
* ''S''terole / Sterine
** u.a. im unverseifbaren Anteil von pflanzlichen Fetten & Ölen enthalten<br/><br/>
* ''S''tratum basale & Stratum corneum >siehe "Hautaufbau"<br/><br/>
* ''S''tressor
** [dermatologisch] Reizstoff<br/><br/>
* ''S''ubcutis >siehe "Hautaufbau"<br/><br/>
* ''s''ynergetisch
** [chemisch] Zusammenwirken von Substanzen, die sich dadurch gegenseitig in ihrer Wirkung fördern & verstärken<br/><br/>
* ''T''BS
** The Body Shop<br/><br/>
* ''T''ensid
** WaschAktive Substanz, Schaumbildner<br/><br/>
* ''t''ensidische Produkte
** Produkte, die ein Tensid enthalten<br/><br/>
* ''T''EWL / TWL / Transepidermaler Wasserverlust
** __KURZ:__ Verdunsten von hauteigenem Wasser durch die Oberhaut (Epidermis)<br/>__LANG:__ Feuchtigkeit speichert die Haut in der Hornschicht (Stratum corneum); der Wassergehalt liegt dort bei ca. 10-40%. Während die innerste Zellschicht des Stratum corneum mit den bis zu 70% Feuchtigkeit speichernden Zellen des Stratum granulosum in Kontakt sind, grenzt ihre äußere Schicht an die trockenere Umgebungsluft. Dieser Konzentrationsunterschied führt zu einer kontinuierlichen Abgabe von gespeichertem Wasser an die Umgebung. Dieser natürliche Verlust an hauteigener Feuchtigkeit wird als transepidermaler Wasserverlust (TEWL oder TWL) bezeichnet.<br/>Der Zustand des Stratum corneum bestimmt wesentlich den Grad des TEWL. Daher zielen unsere kosmetischen Bemühungen dahin, das Stratum corneum zu stabilisieren, um den TEWL in Grenzen zu halten. Eine vollkommene Abdichtung des Stratum corneum (diese Wirkung wird auch als Okklusiv-Effekt bezeichnet) ist nicht erwünscht, da diese der Haut wichtige Umgebungsimpulse vorenthält, die sie braucht, um ihre Funktionen zu regulieren.<br/><br/>
* ''T''hermogenese
** die Hitzeproduktion des Körpers<br/><br/>
* ''T''iO2
** Titandioxid<br/><br/>
* ''T''MS
** Totes Meer Salz<br/><br/>
* ''T''ocopherole
** Formen des Vitamin E; fettlösliche Antioxidantien<br/><br/>
* ''T''ocotrienole
** Formen des Vitamin E; fettlösliche Antioxidantien; gelten als deutlich wirksamer im Vergleich zu Tocopherolen<br/><br/>
* ''t''onisierend
** stärkend, erfrischend, kräftigend<br/><br/>
* ''T''onus
** Spannungszustand der Haut<br/><br/>
* ''t''opisch
** äußerlich, örtlich<br/><br/>
* ''t''ransepidermal
** durch die Oberhaut<br/><br/>
* ''T''ransepidermaler Wasserverlust /TEWL / TWL
** __KURZ:__ Verdunsten von hauteigenem Wasser durch die Oberhaut (Epidermis)<br/>__LANG:__ Feuchtigkeit speichert die Haut in der Hornschicht (Stratum corneum); der Wassergehalt liegt dort bei ca. 10-40%. Während die innerste Zellschicht des Stratum corneum mit den bis zu 70% Feuchtigkeit speichernden Zellen des Stratum granulosum in Kontakt sind, grenzt ihre äußere Schicht an die trockenere Umgebungsluft. Dieser Konzentrationsunterschied führt zu einer kontinuierlichen Abgabe von gespeichertem Wasser an die Umgebung. Dieser natürliche Verlust an hauteigener Feuchtigkeit wird als transepidermaler Wasserverlust (TEWL oder TWL) bezeichnet.<br/>Der Zustand des Stratum corneum bestimmt wesentlich den Grad des TEWL. Daher zielen unsere kosmetischen Bemühungen dahin, das Stratum corneum zu stabilisieren, um den TEWL in Grenzen zu halten. Eine vollkommene Abdichtung des Stratum corneum (diese Wirkung wird auch als Okklusiv-Effekt bezeichnet) ist nicht erwünscht, da diese der Haut wichtige Umgebungsimpulse vorenthält, die sie braucht, um ihre Funktionen zu regulieren.<br/><br/>
* ''T''ranspiration
** Schweißbildung (damit ist aber nur die Feuchtigkeit gemeint. Der Schweißgeruch entsteht erst durch Bakterien, die sich durch den Schweiß ernähren!)<br/><br/>
* ''T''rans-Retinolsäure
** kosmetisch sehr aktive Form des Vitamin A<br/><br/>
* ''T''riglyceride
** Ester des Glycerins mit 3 Fettsäuremolekülen; natürliche Fette bestehen primär aus Triglyceriden<br/><br/>
* ''T''rivialname
** Bezeichnung für chemische Verbindungen, die nicht der korrekten chemischen Namensgebung entspricht<br/><br/>
* ''T''S
** Transparentseife<br/><br/>
* ''U''dA
** Unverseifbares der Avocado<br/><br/>
* ''ü''berfettet / Überfettung (ÜF)
** Eigenschaft von Seifen, in denen nicht alle verwendeten Fette vollständig verseift wurden und dadurch / durch diese hautpflegend wirken<br/><br/>
* ''u''npolar
** Unpolare Stoffe lösen sich gut in unpolaren Lösungsmitteln (z.B. Benzol), nicht aber in polaren Lösungsmitteln wie Wasser<br/><br/>
* ''u''nraffiniert (unraffiniertes Öl)
** Die Rohware wird kalt gepresst, eine geringe Wärmezufuhr bei der Pressung bis ca. 60°C ist möglich. Zur Steigerung der Haltbarkeit werden diese Öle teilweise gedämpft. Bei der Dämpfung werden unerwünschte Begleitstoffe vermindert.<br/><br/>
* ''U''nterhaut >siehe "Hautaufbau"<br/><br/>
* ''U''nterlagerung
** unter der Hautoberfläche verkapselte Pickel<br/><br/>
* ''U''nverseifbares
** Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide<br/><br/>
* ''v''iskos
** zähflüssig<br/><br/>
* ''V''iskosität
** Zähflüssigkeit eines Produkts<br/><br/>
* ''W''AS
** Anteil WaschAktiver Substanzen in einem Tensid oder Produkt; wird in % erfasst<br/><br/>
* ''W''asserphase
** Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst<br/><br/>
* ''W''eißeln von Emulsionen / Weißel-Effekt
** Creme hinterlässt beim Auftragen einen weißen Film auf der Haut; Ursache ist Mikroschaum aus eingeschlagener Luft. Der weiße Film beeinflusst nicht die Wirksamkeit oder das Einziehverhalten einer Emulsion, wird aber mitunter optisch als störend empfunden.<br/>Besonders stark weißeln Emulsionen mit höherem Wasseranteil, da dort die Schaumbildung stärker ist. Die Auswahl der Lipidkomponenten kann die Entstehung von Reibschaum deutlich beeinflussen. Die Neigung zum Weißeln mindert sich außerdem grundsätzlich durch eine gewisse Lagerungszeit, da die Ausbildung der Emulsionsstrukturen mehrere Tage benötigen kann und in diesem Zeitraum eine Einbindung von Wasser erfolgt. Auch kann durch die Herstellung eingetragene Luft entweichen.<br/><br/>
* ''w''k
** Weizenkeimöl<br/><br/>
* ''W''P
** Wasserphase<br/><br/>
* ''W''WA (wwa)
** Wollwachsalkohol<br/><br/>
* ''W''/O-Emulgator >siehe "Emulgator"<br/><br/>
* ''W''/O-Emulsion >siehe "Emulsion"<br/><br/>
* ''x''illy
** Xyliance (Emulgator)<br/><br/>
* ''z''ellaktivierend
** Zellaktivierung ist eine zelluläre immunologische Funktion<br/><br/>
* ''z''ellregenerierend
** Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.<br/><br/>
* ''z''elltoxisch
** eine zellzerstörende Wirkung aufweisend
"""Zutaten:
2 ML Pigmentmischung nach Wahl
1 kl. ML Kieselsäure
1 kl. ML Magnesiumstearat
5 Tropfen Squalan
ca. 1 ML Weingeist
Pigmente mischen, mörsern (falls Perlglanzpigmente mit verwendet werden, diese erst nach dem Mörsern dazugeben).
Über die Masse dann das Squalan dazuträufeln und den Weingeist. Alles muss mit Weingeist durchtränkt sein. Nicht wundern, die Masse wird dadurch weniger. Dann das Ganze in den vorgesehen e/s-Behälter füllen. Es sollte komplett ausgefüllt sein und einfach trocknen lassen. Dauert je nachdem wieviel Weingeist verwendet wurde bis zu einem Tag.
Ergibt einen festen Lidschatten, der durch das Squalan auch noch ein wenig pflegt.
Wenn das Behältnis zu groß ist, dann zeigen sich Risse nach dem Trocknen. Ich wollte Rouge machen und hab das Ganze in eine größere Puderdose gefüllt - Ergebnis - Risse. Daher besser in kleine Behältnisse füllen. Da hatten sich bislang keine Risse eingestellt.
die Risse bei größeren Flächen lassen sic vermeiden, wenn man die Mischung trockenföhnt und zwischendurch immer wieder mit einem Eßlöffel (o.ä.) die Masse zusammendrückt und glattstreicht. Am allerbesten geht es mit so einem Fleisch-Plattklopf-Teil :)
!!Lippenkonturenstifte müssten wohl ähnlich herzustellen sein :-)
!!Lidschatten-Stifthülse vorher gut (ca. 50°) vorwärmen!! (Heizung geht oder in die Sonne legen)
"""hätte ich das Video (https://www.youtube.com/watch?v=DirndP71is8) mal gleich geschaut,hätte ich mir die Geschichte mit den Trichterchen sparen können, denn die Jumbostifte, die ich habe, können wirklich ganz ohne Spritze oder Trichter von oben befüllt werden..
Wermutstropfen, wie Ihr an meinem Bild sehen könnt:
Zumindest die Mengenangabe für die Füllmase, die ich aus dem Buch habe, reicht für so einen Stift längst nicht..das doppelte wäre angemessen.
Ich habe den leeren Stift zunächst mal mit etwas Neutralöl benetzt, den Rest weggekippt..
Füllung:6 g Base stick melt von aromazone,0,5 g Magnesiumstearat,3,5 g Pigmente.
mir gefällt das Ergebnis, die Konsistenz ist ähnlich wie die von gekauften Stiften, leicht cremig,aber nicht zu schmierig..
Allerdings sehe ich nach zwei Stunden, dass sich so ein wenig in der Lidfalte sammelt..insgesamt aber wenig..fällt auch nicht auf,es sei denn, wenn man, wie ich,sich jetzt dauernd im Vergrößerungsspiegel begutachtet..
Der Glitzerfaktor hält sich erstaunlicherweise in Grenzen, beim nächsten Stift bin ich dann vielleicht mal etwas mutiger.
Als Idee für eine Verbesserung der Konsistenz, hin zu einer etwas festeren Mine, schwebt mir vor, etwas Bienenwachs oder Carnauba zusätzlich, vielleicht den Pigmentanteil nochmal etwas erhöhen..und evtl. eztwas mehr Magnesiumstearat.
"""
------------------------------------------------------------------------
"""Ich habe heute frei nach dem Rezept „lang haftender Kajal mit Perlglanzpigmenten“aus dem Buch „Make up selbst gemacht“ und mit einer Leerhülse (10,5cm) von Alexmo meine ersten Stift hergestellt :)
Es ging leichter als erwartet! Habe die Fettmasse in einem 2cl Schnapsglas geschmolzen. Das stumpfe Ende der Hülse mit Klebeband zugeklebt und sie auf die Heizung gelegt, bis alles aufgeschmolzen war.
Mit einem Trichter aus Papier ließ sich die Hülse gut befüllen. Das einzige Problem dabei war, dass sie ganz schnell randvoll war und ich nach dem Härten wieder etwas herauskratzen musste, damit das Endstück auf den Stift passt. Nächstes mal stecke ich das Endstück gleich auf und fülle den Stift von der Spitze.
Spitzen und auftragen klappt prima, so das erste Urteil meiner Frau. Besser als beim gekauften Stift.
Das zweite Problem ist, die richtige Menge Masse für einen Stift zu machen. Lt Alexmo braucht man für eine Hülse dieser Größe 3,5g. Im Buch schwanken die Mengen für einen Stift (Länge?) zwischen ca 8 und 10g. Ich habe also noch was übrig für mindestens einen Stift...
Also, das mein abgewandeltes Rezept, weil ich nicht alle Rohstoffe hatte:
2,4g Jojobaöl
2,2g Avocadin
2,2g Bienenwachs
1,8g Candelillawachs
0,8g Cetylalkohol
2,3g Perlglanzpigment Mermaids Shelter
Der nächste Kajal ist fertig :)
Ich habe nur die halbe Menge des Rezepts gemacht. Das ist ein kleines bisschen mehr, als man für die Jumbohülse von alexmo braucht. Gut so, denn mir ist was danebengegangen (habe den Trichter aus Papier vergessen und direkt aus dem Schnapsglas eingefüllt).
Damit der Stift etwas besser aufzutragen ist, habe ich weniger Candelilla- und dafür mehr Bienenwachs genommen.
Für 1 Hülse: 1,2g Jojobaöl, 1,1g Avocadin, 1,2g Bienenwachs, 0,8g Candelillawachs, 0,4g Cetylalkohol und 1,1g Pigment Creamy Coffee (Waldehoe)
Mal sehen, welcher Stift nun besser ist: der härtere, der dafür länger haftet, oder der weichere (noch nicht verschenkt, aber ich melde mich, wenn ich weiss, welches Rezept besser ankommt).
Dieses Rezept lässt sich viel besser auftragen als das erste. Wenn die Farbe jetzt auch so zuverlässig hält wie beim anderen Stift, bleibt dies "mein" Kajal-Rezept.
Das Pigment sah im Tütchen übrigens deutlich dunkler aus als im Stift. Es war fast anthrazit und sollte ein Stift für Smokey Eyes werden. Daraus wird wohl nix. Das blaue Pigment vom ersten Stift sah im Tütchen und im Stift gleich aus.
Das Wachs bleibt eigentlich lange genug flüssig, selbst bei der Menge für nur einen Stift. Ich mache das Wasserbad recht knapp zum Rand des Glases voll. Wenn das Wasser nicht sprudelt, wird das Glas heiß, ohne dass Wasser ins Fett schwappt. Zügig einfüllen und evtl ein paar Verluste hinnehmen, dann kriegst Du die Hülse schnell voll.
Wichtig ist, das untere Ende wirklich gut zu verschließen. Mit Klebeband oder Knete oder fest auf Küchenrolle drücken, damit die heiße Masse nicht gleich unten rausfließt.
Die Hülsen habe ich bei Alexmo bestellt. Ich wollte eigentlich die kleineren, die waren aber aus, so wurden mir die größeren geliefert. Als Kajal sind sie gut geeignet und leicht zu befüllen.
"""
------------------------------------------------------------------------
"""Habe mich heute auch mal an einem Jumbokajalstift versucht.
Mein Rezept ist in Anlehnung an das Rezept von GreenEye entstanden.
1,3g Jojobaöl
1,2g Avocadin
1,2g Bienenwachs
0,4g Carnaubawachs
0,4g Candelillawachs
0,4g Cetearylalkohol
0,9g Pigmente ( 0,6g Graphite und 0,3g Silver Taupe von Olionatura )
Mit der Masse habe ich einen Jumbostift gefüllt, der Rest ist in ein Döschen gewandert.
Die Konsistenz ist schon sehr fest, die Farbe bleibt gut haften und ist
ähnlich der meines gepressten Lidschattens.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
{{ÄtherischeÖleParfümöle}}
<img width=220 src="https://share-your-photo.com/img/978771585c.jpg" style=" float:left;padding: 0 1em 0 0.5em;"/>
!!''Ätherisches Öl "Limettenöl"''
''Ursprung/Beschreibung:'' Herstellung durch Kaltpressung der Schalen von Limetten.
''INCI-Bezeichnung:'' Citrus aurantifolia oil
''Duftprofil:'' Frisch, grün, zitrusartig, spritzig, herb-süß, fruchtig. Kopfnote<br/>
''Inhaltsstoffe:'' Citral, Pinen, Linolen, Limettin, Termineol, Linalool, Camphen, Limonen, Linalylacetat<br/><br/>
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
:''Körperliche Wirkung:''<br/><br/>
:Limettenöl wirkt stark <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, fiebersenkend, und antiinfektiös > Universalmittel bei allen entzündlichen Erkältungskrankheiten.
:Es stärkt (auch vorbeugend) das Immunsystem und hilft gerade in der Rekonvaleszenz wieder "auf die Beine" zu kommen.
:Es kann gegen Cellulite eingesetzt werden.
:Es ist <div class="tooltip">lymphatisch
<span class="tooltiptext">die Lymphe, die Lymphknoten, -gefäße betreffend</span></div> stimulierend.
:Das ätherische Öl Limette wirkt auf die Haut <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div> und wird daher bei fettigen und infizierten Gebieten eingesetzt. Und kann so auch zur Gewebestraffung beitragen. Bei Hautproblemen kann man beispielsweise eine Kombination mit Sandelholz und Lavendel versuchen.<br/><br/>
:''Wirkung auf die Psyche'':<br/><br/>
:Macht fröhlich, leicht und frei.
:Wirkt stimmungsaufhellend, aufrichtend, aktivierend, konzentrationsstärkend und allgemein stärkend.
:Es senkt Angst- und Furchtgefühle, erheitert den Geist und erfrischt.
:__Affirmation:__ Ich fühle mich wach und frisch wie ein neuer Morgen.<br/><br/>
''Tipp für die Verarbeitung:'' /
''Nebenwirkungen & bei Anwendung beachten:'' @@background-color:orange;''Achtung:''@@ Wirkt phototoxisch!: >>siehe [[!Phototoxizität mancher ätherischen Öle]]
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, bei http://www.biologisch-hannover.de/ in Hannover-Linden oder bei https://lindenbluete.de/ in Hannover-Linden.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Worauf beim Kauf achten:'' Möglichst in Bio-Qualität, da sonst evtl. gespritzte Früchte verwendet wurden.<br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Limettenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Limettenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</div><div style="clear:both;line-height:0px;"></div>
http://de.cleanright.eu/index.php?option=com_product&task=section&Itemid=424
"""Vorbeugend gegen rissige Lippen, und durch das Pfefferminzöl werden die Lippen schön durchblutet und etwas aufgeplustert. Einen ähnlichen Effekt- aber auch stärkeren erreicht man auch durch Zimtrindenöl /Zimtöl. Aber bei beiden Ölen muss man die richtige Dosierung finden, weil sie evtl. auch reizen können.
Rezept für eine befüllbare Lippenpflegestiftform
2 g Bienenwachs - gelb
2 g Kakaobutter
4 g Mandelöl
1 Tropfen äth. Pfefferminzöl
Die gesamte FETTMasse einschmelzen und etwas abkühlen lassen. Dann in die Form gießen und nach einiger Zeit Abkühlung die innere Vertiefung an der Oberfläche mit Schmelzmasse ausgießen.
Du kannst auch bei den Ölen varieren. Z.B Avocadoöl färbt den Stift grünlich oder ein Tropfen Sanddornfruchfleischöl färbt gelblich. Die Kakaobutter solltes du alllerdings wegen der Härte beibehalten.
Oder du machst einen Jojobaauszug mit Ringelblumen, Kamille oder Vanille.
Wenn es ein RollOn Gloss werden soll, dann lässt du das Bienenwachs weg und nimmst stattdessen Rizinusöl.
Habe es gerade eben nachgerührt und habe noch 2 Tr. Panthenol und eine Msp. altrosanes Pigment dazugegeben.
Evtl. noch Honig unterrühren.
Ich habe bei dem 1.Mandel-gegen Jojobaöl ausgetauscht,bei beiden ein paar Tropfen Rizinusöl mit reingetan und etwas terracottafarbenes Pigment.
Ich habe noch 1gr wwa hinzugefügt da ich wwa liebe und den stift etwas fester mag
Variation 2.
2 Carnaubawachs- 2 Kabu- 4 Pflaumenkernöl
Variation 3.
1 Bienenwachs- 1 Candelillawachs- 2 Shea- 2 Kabu
Variation 4.
1 Candelilla- 0,5 Bienenwachs- 0,5 Carnauba- 2 Kabu- 2 Shea- 2 Johanniskrautöl
dazu:
Prise Gamma-Oryzanol
Messerspitze Avokadin
Messerspitze Augenmakeup-Puder, mit Messer fein vom Quaderchen geschabt
Auch dieser sommertauglicher grüner Lip Balm mit einer höheren Schmelztemperatur (ca 27° C) und aus vier Bestandteilen lässt sich sehr schnell herstellen. Das Avocadoöl enthält viel unverseifbare Bestandteile.
Tip:
Nicht zu heiß eingießen und ruhig so viel in die Form eingießen, damit eine konvexe (gewölbte) Oberfläche entsteht.
30 g, Masse für ca. 4 Stück
Rezept
12 g Avocadoöl
7.5 g Sheabutter
6g gelbes Bienenwachs
4.5 g Kakaobutter
3-4 Tropfen Pfefferminzöl
Rezept für 5 Hülsen
8 g Avocadoöl
4 g Bienenwachs
4 g Kakaobutter
2 g Wollwachsalkohol
2-3 Tropfen äth. Pfefferminzöl
die etwas härtere und grüne Variante mit dem Dreier Basisrezept. Sie sind jetzt grün.
8 g Avocadoöl
4 g Bienenwachs
3 g Wollwachsalkohol
2 g Kakaobutter
2 g Sheabutter
2-3 Tropfen äth. Pfefferminzöl
Wenn es dir doch noch zu weich wird, was ich nicht denke, nimmst du ein Gramm Kakaobutter mehr
Ersatz für Lanolin wäre UdA ( Unverseifbares der Avocado).
Auch die Kakaobutter lässt sich durch Kokos und Shea ersetzen mit etwas weicherer Konsistenz.
Hanföl verdirbt sehr schnell. Nimm nur 5% und mische auch mit Jojobaöl. Rizinus nimmt man ja auch bis zu 40 % in Lippenstiften. In einem Pflegestift würde ich nicht mehr als 10% nehmen."""
--------------------------------------------------------------------------------------------------------
"""Möchte euch mein Balsam Rezept vorstellen, hilft gut bei rauher Haut und zieht sehr gut ein.
7 g Sheabutter
7 g Mangobutter
5 ml Aprikosenkernöl
2,5 ml Jojobaöl
2 5, ml Pflanzenextrakt ( ich nehme Malve oder Calendula )
Man kann auch noch ätherische Öle einrühren.
Die Fette leicht erwärmen , dann den Extrakt gut einrühren. Ich rühre min. 15 min damit sich alles gut verbindet.
"""Im Sommer ist mir das einfache Lip Plumper Rezept etwas zu weich, deshalb hier nun angepasst.
REZEPT
Menge: ca.30g
13 g Sheabutter
3 g Bienenwachs
3 g Candelillawachs
5 g Kokosöl
5 g Rizinusöl
1- 4 Tropfen Pfefferminzöl
0,3 g Vitamin E
8 g Bienenwachs gelb 24.24%
11 g Kakaobutter 33.33%
14 g Kokosöl nativ 42,43%
"""wintertauglicher Lipbalm
Fettmasse: 9,8 g
2.3 g Bienenwachs
2.0 g natives, duftendes Kokosöl
2.0 g Jojobaöl
2.0 g Olivenöl
1.5 g Wollwachs (Lanolin Anhydrit)
1 Tropfen ätherisches Rosenöl
0,5 g Pinkperl Pigment (optional)
Statt Olivenöl habe ich Aprikosenkernöl genommen, da die Geschmackskombi Olive/Kokos ja schon sehr eigen ist.
Ein deckender Lippenstift kann bis zu 15% Pigmente aufweisen. Dieser hat nur 5% und da ist der Transparentlook normal.
Mit etwas zusätzlichem Titandioxid kann die Deckkraft ebenfalls erhöht werden.
Ich weiß nur , dass bei härteren Lippenstiften die Farben länger haften bleiben.
"""Gesamtmenge: ca. 30 g für 3-4 Lipgloss Garnituren
8.0 g Lanolin Anhydrid
8.0 g Jojobaöl
8.0 g Rizinusöl
3.0 g Bienenwachs
3.0 g Perlglanzpigmente
1 Tropfen ätherisches Öl wie z.B . Rosengeranie
4 g Rizinusöl (Rizinus bitte nur bis 40% verwenden)
3 g Pflaumenkernöl oder Mandelöl
3 g Kakaobutter
Pigment bis max. 15% - Ich würde es mal mit 0,5 g probieren und dann eventuell erhöhen.
Beerenwachs , Lanolin und Kokosöl kann man gut für ein Lippengel verarbeiten.
Bei Alexmo gibt es auch einen veganen Ersatz für Lanolin.
Für den Glanz auf jeden Fall Rizinussöl.
Wenn das Lippgloss zu flüssig ist, dann entmischt es sich. Die Pigmente setzen sich dann unten ab.
Rizinusöl ist ein ziemlich zähes Öl. Das ist schon mal ganz gut dafür. Wie gesagt. Es geht nur mit probieren.
"""Lipgloss für alle, besonders für mäels mit langen haaren, die es hassen, wenn die haare im lipgloss hängen bleiben.
5gr olivenöl (oder Jojobaöl)
5gr olivenwachs (oder Jojobawachs)
10tr bisabolol (oder UdA dazu geben oder es einfach weglassen, das ist auch ohne den wirkstoff ein toller wachs.)
2tr lebensmittelaroma annanas oder was auch immer
Sehr lecker, gut heilend und nicht so klebrig wie die mit lanolin, darum kleben die haare auch nicht am mund
Achja, ihr könnt es auch in einen stift füllen, es wird fest genug.
Du kannst auch noch ein fitzelchen UdA (Unverseifbares der Avocado) dazu geben, mach ich oft im winter.
"""35g Rizinusöl
14 Tropfen Vitamin E Acetat
auf 5g Lipgloss 1 Msp Pigmente
ich habe den gloss sowohl mit als auch ohne pigmente hergestellt.
sieht hübsch aus in der Flasche, schmeckt aber nicht besonder und verläuft mit der Zeit. Das Rezept ist allerdings auch schon etwas betagt. Mit Ceralan verteilen sich die Pigmente besser ohne abzusinken und es läuft auch nicht so aus der Linie. Bissel Aroma oder Honig machen es auch anwendungsfreundlicher.
Ich mache meine Glosse immer mit einem Hauch Bienenwachs & Kokos.
du kannst das rizinuß gegen jedes öl austauschen, welches du möchtest. Es glänzt auch mit andern ölen und passt wunderbar in eine lippgloss garnitur aber auch in so eine roll-on flasche (Jojobaöl kriecht nicht in die Lippenfalten (haben wir ohnehin nicht), Rizinus glänzt und Lanolin glänzt und pflegt):
6,5 g Lanolin
0,5 g Rizinus oder Mandelöl
1 g Jojoba
0,5 g Pigmente … Menge für mich ausreichend, aber natürlich variabel.
wer mag … ein paar Tropfen Aroma.
Rizinusöl steht für den Glanz bei den Lippenstiften und Lipglossen.
Es ist deshalb mit mind. 20% in jeder Mischung dabei. Von einer puren Anwendung halte ich auch nicht viel, da es auf der Haut viel zu schnell verharzt. Dieses Rezept hat ca 20% Rizinusöl und reicht für drei Lipglossgarnituren (Jojobaöl kriecht nicht in die Lippenfalten (haben wir ohnehin nicht), Rizinus glänzt und Lanolin glänzt und pflegt):
2.0 g Perlglanzpigmente
12.0 g Jojobaöl
5.0 g Rizinusöl
6.0 g Lanolin anhydrid
1.0 g Bienenwachs oder Ceralan
1 Tropfen Geraniumöl
3 Tropfen Vitamin E
"""1 gr. Ceralan
2 gr. Jojobaöl
2 gr. Lanolin anhydrid
5 gr. Rhizinusöl
1 gr. Vit E
ca. 1 kl. Meßl. Pigmente (ich hab eine Mischung aus Farbpigmenten und Perlglanzpigmenten genommen)
Ceralan, Jojobaöl und Lanolin anhydrid im Wasserbad klarschmelzen. In der Zwischenzeit die Pigmentmischung nach Wahl mit dem Rhizinusöl verrühren (eventuell vorher noch die Mischung mörsern). Dann die geschmolzene Fettmasse zu dem Rhizinusöl dazugeben und gut durchrühren. Ceralan hält die Pigmente schön in der Schwebe und gibt dem Ganzen eine feste Konsistenz - nicht so fest wie normaler Lipenstift - so ein Zwischending zwischen flüssigem Gloss und festem Lippenstift. Hält länger als ein normaler Gloss und gibt einen wunderschönen Glanz auf den Lippen.
Kann ich statt dem Ceralan auch Cetyl nehmen oder Bienenwachs?
Kann ich Dir nicht wirklich beantworten. Das Ceralan hält die Pigmente in der Schwebe und hat etwas andere Eigenschaften als Bienenwachs. Ich denke, dass es mit Bienenwachs etwas matter wird......Einfach mal ausprobieren!
nimmt man bei lipgloss besser lebensmittelaroma oder PÖ für den duft??
Lebensmittelaroma, eindeutig. PÖ riecht zwar gut, schmeckt aber grauslig.
Ich habe in meinen Lippenpflegestiften auch schon Schoko- Pö reingetan , aber auf 5 Stifte kamen nur 3 Tropfen . Riecht oberlecker und shcmecken tut man gar nüscht .
Kann man dieses Lipgloss auch in ein Rollon-fläschchen füllen oder ist es zu fest dafür?
Ist zu fest dafür...
Klar bekommst Du das mit Öl flüssiger. Aber dann ist es eben kein langanhaltender Lipgloss mehr, sondern ein normaler Gloss, der nicht lange haftet. Je weniger Öl, umso haftender.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""4 Tl Mandelöl
1 Tl Bienenwachs
1 Tl Honig
Alle Zutaten (außer Honig) in einem Topf erwärmen, bis alles klar aufgeschmolzen ist. Wenn der Balsam eine streichfähige Konsistenz angenommen hat kann der Honig mit eingarbeitet werden. In kleine Döschen umfüllen.
"""2 Tl Jojobaöl
2 Tl Rhizinusöl
1 Tl Bienenwachs
1 Tl Honig
je 1 Msp Perlglanzfarbpigment nach Wahl
Bienenwachs, Honig und Jojoba im Wasserbad schmelzen. Rhizinusöl dazugeben, Perlglanzpigmente unterrühren, abfüllen.
Glänzt nicht so stark wie ein Gloss, sondern etwas dezenter, die Farbe kommt auf den Lippen eher als Farbtendenz raus. Ob man mehr oder weniger Pigment dazumischt ist wohl Geschmackssache. Bei glossigen Sachen hab ich es lieber, wenn die Farben nur angedeutet sind und nicht so klar definiert wie bei einem Lippenstift.
''Alle getesteten Rezepte bei Lippenbläschen:''<br/><br/>
<$list filter="[tag[Lippenbläschen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Lippenbläschen:''<br/><br/>
<$list filter="[tag[Lippenbläschen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Zutaten für ca. 3 Lippenstifthülsen:
10 gr. Jojoba
5 gr. Monoii Vanille (oder andere Duftrichtung)
4 gr. Bienenwachs (oder Beerenwachs oder Japanwachs)
2 gr. Candelillawachs (oder Canaubawachs)
2 gr. Lanolin anhydrid
------------------
zusammen klar aufschmelzen (das Monoii-Öl etwas später dazugeben, damit der Duft sich nicht gleich wieder verflüchtigt)
ggf. 1 kl. ML (1ml) D-Panthenol
ggf. 1 kl. ML (1ml) Vitamin E Acetat
------------------
Nach dem Schmelzen dazugeben, umrühren und gleich in Lippenhülsen abgießen.
Das Ganze kann man natürlich auch aufpeppen und etwas Perlglanzpigmente dazugeben, wenn man eine leichte Tönung erreichen möchte. Dazu würde ich dann allerdings das Bienenwachs durch Ceralan ersetzen und 1-2 ML Perlglanzpigmente dazurühren - je nach gewünschter Farbintensität.
Durch das Monoii-Öl duftet der Stift schön dezent nach Vanille.
---edit-----
D-Panthenol und Vit E spare ich mir - durch das Jojoba ist der Stift eh schon lange haltbar und pflegen tut er auch, da muss gar kein Panthenol mehr mit rein. Wenn man allerdings zu rissige Lippen neigt, dann hilft ein wenig Panthenol sicherlich.
Für die angegebene Masse reichen 5 Tr. Vitamin E und 5 Tr. Panthenol, sofern man diese Zutaten dazu geben möchte.
Ich habe das Rezept schon mit und ohne die beiden Zutaten gerührt . Mit Panthenol und Vitamin E wird der Stift etwas weicher.
''Alle getesteten Rezepte zur Lippenpflege:''<br/><br/>
<$list filter="[tag[Lippenpflege]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Lippenpflege:''<br/><br/>
<$list filter="[tag[Lippenpflege]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Beerenwachs 1,50g entspricht 15,31%
Candelillawachs 1,10g entspricht 11,22%
Kokosöl, nativ und duftend 2,00g entspricht 20,41%
Jojobaöl 2,00g entspricht 20,41%
Mandelöl 2,00 g entspricht 20,41%
Avocadin 1,20 g entspricht 12,24%
Gesamt-Fettphase 9,80g 100,00%
optional: 1 kl. Msp. Gamma-Oryzanol
Herstellung: Das Avocadin (und das Gamma-Oryzanol, wer möchte) habe ich mit den Wachsen und dem Jojobaöl vorab klar aufgeschmolzen, da beide einen recht hohen Schmelzpunkt haben. Sobald die Mischung klar war, habe ich das Kokos- und Mandelöl dazu gegeben und vermischt. Alsbald in die Hülsen oder Döschen eingießen, das muß man fix machen, da es schnell erstarrt.
Das Ergebnis ist ein glänzender, recht fester Stift, der beim Auftragen flüssig gleitet aber nicht schmiert. Der leichte Film auf den Lippen ist erstaunlich "abschleckresistent", das gefällt mir sehr gut, da ich, wenn ich irgendwas an Pflege oder Farbe auf den Lippen habe, schon zum Lippenknabbern neige. Hitzeerprobt an einigen 40-Grad-Tagen, die wir dieses Jahr bereits hatten, und auch in der Hosentasche läuft er problemlos mit, ohne wegzulaufen.
Ein deckender Lippenstift kann bis zu 15% Pigmente aufweisen. Dieser hat nur 5% und da ist der Transparentlook normal.
Mit etwas zusätzlichem Titandioxid kann die Deckkraft ebenfalls erhöht werden.
Ich weiß nur , dass bei härteren Lippenstiften die Farben länger haften bleiben.
"""Für ca 15g (2 Stifte oder ein Döschen)
1,5 g Beerenwachs
1,5g Candelillawachs
2g Kokosöl
1g Calophyllumöl
3g Jojobaöl
4,5g Macadamiaöl
1,5g Lanolin
2Tr. äth. Geraniumöl
5Tr. Propolistinktur
Was ich auch noch überlegt habe ist, eine Mischung mit Melissenhydrolat, Propolistinktur und ätherischen Ölen (Geranium, Teebaum) zum Betupfen der Bläschen zu machen.
für den Sommer ist mir zu viel Wachs drin - ich glaube ich habe das Rezept bisher nie in wärmeren Monaten verwendet. Könnte weniger pflegend und aufliegend sein.
Aber die Wirkung ist gut. Für die Lippen dachte ich es derzeit ja eher zum Vorbeugen.
Aber ich habe seit einger Zeit immer mal wieder Herpes an den Fingern :( da hilft der Balsam gut, der Hubbel wurde schnell kleiner und juckt nicht mehr.
"""Lebensmittelaroma.
versuche doch mal den Kakao-Extrakt von Draconspice, dieser hat eine schöne feste Konsistenz und lässt sich gut mit den Buttern mischen. Und ist lecker :-)
<div style="background:#DFFE97;">
<div style=> </div>
<img width=170 src="https://share-your-photo.com/img/107404ea29.jpg" style=" float:left;padding: 0 1em 0 0;"/>
''Eigenschaft dieses Lippenpflegestifts:'' Lässt sich gut raus- & reindrehen (bei warmen & kalten Temperaturen), lässt sich gut auftragen, pflegt die Lippen bestens, glänzt etwas bis es eingezogen ist.<br/><br/>
''Meine Erfahrung damit:'' Benutze ich begeistert seit mehreren Jahren und habe in der kälteren Jahreshälfte immer einen in der Jackentasche- es läuft nichts aus.<br/><br/>
''Anwendung:'' Wie bei jedem anderen Lippenpflegestift (Labello & Co.) auch.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 5g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 19.5 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten'' @@font-size:0.8em;//(ich achte nächstes x drauf, wieviel Lippenpflegestifte damit hergestellt werden können- es war irgendwas zwischen 2 und 5, glaub ich)//@@<br/>
* <$calc>round({{!!gesamtmenge}} /19.5* 3.5,2)</$calc>g [[Bienenwachs]] (!!)
* <$calc>round({{!!gesamtmenge}} /19.5* 6,2)</$calc>g [[Kokosöl]] (!!)
* <$calc>round({{!!gesamtmenge}} /19.5* 1,2)</$calc>g [[Sheabutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /19.5* 4,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /19.5* 5,2)</$calc>g [[Mandelöl]] (!!) @@font-size:0.8em;(Kannst Du auch durch ein anderes pflegendes Öl ersetzen)@@
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Bienenwachs'' & ''Kokosöl'' im feuerfesten Rührglas auf dem Herd schmelzen.<br/>Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. Sonst gehen Inhaltsstoffe verloren!
# Wenn alles klar geschmolzen ist, Hitze etwas runterdrehen (bei mir auf 2) und ''Sheabutter'' mitschmelzen.
# Wenn alles klar geschmolzen ist, Hitze ausschalten und ''Kakaobutter'' mitschmelzen. >Sonst gehen Inhaltsstoffe verloren und Kakaobutter krisselt gerne aus, wenn sie zu lange & zu stark erhitzt wird! Ständiges Rühren hilft beim Schmelzprozess.
# ''Mandelöl'' unterrühren.
# Sofort in wiederbefüllbare Lippenpflegestifthülse füllen- schnell arbeiten, da die Masse sehr schnell nicht mehr fließt! Ich nehme dazu auch den [[Doppelspatel]] zu Hilfe- der ist herrlich schmal.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Doppelspatel]] (ersatzweise irgendetwas sehr schmales- max. 1cm breit zum Einfüllen)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Wiederbefüllbare Lippenpflegestift-Hülsen|Wiederbefüllbare Lippenpflegestift-Hülse]]
"""
''Ab wann verwendbar''
Nach mind. 1h Stunde Aushärtung im Kühlschrank bzw. einen halben bis einen Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 2-3 Tagen vorhanden (Kakaobutter härtet nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Bienenwachs]] (0,14€)
Bienenwachs härtet den Stift und hat hautpflegende Eigenschaften: Besonders für trockene, spröde Haut.
[[Kokosöl]] (0,10€)
Kokosöl lässt sich sehr leicht verteilen und zieht schnell ein, ohne einen Fettfilm auf der Haut zu hinterlassen. Besonders trockene, rissige und empfindliche Haut profitiert vom Kokosöl. Außerdem wirkt es <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungshemmend und <div class="tooltip">antimikrobiell
<span class="tooltiptext">=gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> und hat einen natürlichen (leichten!) Sonnenschutzfaktor.
[[Sheabutter]] (0,04€)
Sheabutter ist ein Konsistenzgeber mit hautpflegenden Eigenschaften: Trockene, rissige und beanspruchte Haut wird durch die Anwendung wieder geschmeidig.
[[Kakaobutter]] (0,09€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe.
[[Mandelöl]] (0,24€)
Mandelöl fettet gut nach- daher besonders für empfindliche, gereizte oder spröde Haut geeignet. Es ist sehr mild und wirkt hautberuhigend. Macht die Lippen geschmeidig und schenkt ihnen Feuchtigkeit. Es zieht zwar nicht sofort, dafür aber sehr tief in die Haut ein, wodurch der hohe Pflegeeffekt sehr gut und v.a. langanhaltend wirkt.
''Selbstkonservierend durch'' fehlendes Wasser, das <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> wirkende Kokosöl & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 0,61€ für 19.5g Gesamtmenge. Stand Mai 2019
<$reveal type="nomatch" state="$:/state/SampleRevealKomLPS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealKomLPS" setTo="show">Zeige Kommentare</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealKomLPS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealKomLPS" setTo="hide">@@color:red;Verberge Kommentare@@</$button>
"""Unbekannt am 24.10.18:
"Hallo surya, du machst eine gute Arbeit"
Antwort am 24.10.18:
"Hallo Unbekannt, vielen Dank für die Blumen! VG Surya""""</$reveal><div style="clear:both;line-height:0px;"></div>
"""4g Bienenwachs
1g Lanolin
1g Honig
1g Monoi-Frangipani-Öl (Kokos geht sicher auch, aber dieser Duft )
1g Sheabutter
2g Mandelöl
Bienenwachs und Lanolin in einem Gläschen im Wasserbad aufschmelzen.
Monoi, Shea und Honig zugeben und nochmal kurz erhitzen, bis alles geschmolzen ist, dann das Mandelöl unterrühren, nochmal durchrühren.
Dann noch flüssig in Lippenpflegestifthülsen gießen (falls da ein kleines Loch in der Hülse unten sein sollte, einfach ein Stückchen Bienenwachs draufdrücken, das verschließt prima).
Das Rezept reicht für etwa 2 Hülsen.
Nach dem Abfüllen direkt in den Kühlschrank stellen, am besten über Nacht.
Ich bin von diesem Stift total begeistert.
Fest in der Konsistenz, aber doch sehr gut aufzutragen.
Durch den Wachsanteil hinterlässt der Stift einen sehr angenehmen und vor allem NICHT KLEBRIGEN Film auf den Lippen, der sich auch nicht so schnell abnutzt.
Durch das Monoi-Öl duftet er natürlich auch total gut (man hat den Duft ja ständig in der Nase
"""Lanolin ist das beste Lippen-Pflegemittel, was ich kenne. Also habe ich mir das gute Zeug in reichlicher Menge in einen Lippenpflegestift gepackt:
12g Lanolin mit
2g Bienenwachs (naturbelassen mit Honiganteil, normales geht auch) und
2g Carnaubawachs (der Härte wegen, oder Bienenwachs auf 4g erhöhen) im Wasserbad aufgeschmolzen. Dann 8ml Jojobaöl dazu sowie
1 Kapsel Vitamin E und
6 Tropfen ÄÖ Orange süß.
Das ergab 5 Lippenpflegehülsen. Die Konsistenz ist prima, nicht zu hart und nicht zu weich, feiner Orangenduft. Haftet lange an den Lippen und hält diese auch im Winter stets zart und geschmeidig (getestet diese Woche bei Temperaturen bis minus 20°C).
Neben der Orangen-Variante kann ich mir das auch sehr gut in der Vanille-Version vorstellen oder im Sommer mit Minze.
Du kannst das Vit E auch einfach weglassen, es ist hauptsächlich als Stabilisator (sprich "Anti-Ranz" für die anderen Öle eingesetzt. Ich benutz für meine Lippenpflege nie Vit E und die hält und hält und hält trotzdem.
Hier meine Abgewandelte Version:
4 g Bienenwachs
8 g Lanolin
4 g Sheabutter unraffiniert
2 g Kakaobutter
1 dicker Tropfen Vit E
10 tropfen Süße Orange ÄÖ
Ich wollte es aus dem Tiegel entnehmen, deswegen die Sheabutter dazu.
Fazit: Tolles Zeugs, superkonsistenz für den Tiegel, leckerer Orangenduft, nicht glänzend und entsprechend Männergeeignet, langfristige Pflegewirkung. Klebt nicht, schmiert nicht, schützt!
Viel zu hart! Bei 10 g zusätzlichem Mandelöl hätten wir einen Schmelzpunkt von ca 25 Grad C. Das ist eine akzeptable und auch angenehme Härte für einen Lippenpflegestift.
Also so:
4 g Bienenwachs
8 g Lanolin
4 g Sheabutter unraffiniert
2 g Kakaobutter
10 g Mandelöl 35,71%
Durchschnittl. Schmelzp.:
(4*65+8*40+4*30+2*35 + -8 * 10) geteilt durch 28=
(260+ 320 + 120+70+-80)geteilt durch 28=24,64 Grad C
Interessant, aber mir wäre das zu weich. Ich hasse es, wenn der stift beim auftreffen auf meine lippen schmilzt, mich ekelt regelrecht vor diesem weichen, öligen gefühl. Ich hab es lieber fester und drück gerne ein wenig auf. Mein lip plumer nach deinem rezept hat ja zusätzlich wwa drin und ist auch bei 30-40 grad in der sonne noch richtig fest.
"""Zutaten:
3 gr. Jojobaöl
1,5 gr. Bienen- oder Beerenwachs
0,5 gr. Sheabutter
2 Tropfen D-Panthenol
2 Tropfen Kirsch-Lebensmittelaroma
1 - 1,5 ML Perlglanzpigmente, je nach Farbintensivitätswusch
Die Zutaten (ohne Pigmente) schonend schmelzen, die Pigmente dazurühren, in Lippenstifthülsen abgießen und kühlstellen.
Die Menge ergibt ca. 1 Lippie.
Ich wollte nur eine ganz dezente Färbung erreichen - für mich hat die Menge von 1 ML dafür ausgereicht. Der Lippie ist sehr pflegend, nicht zu hart und verbraucht sich relativ schnell.
"""Auch für Lippenstifthülsen geeignet
4g jojoba
4g shea
4g Beerenwachs (wer mag kann auch bienenwachs nehmen, schmeckt aber evtl. blöd)
4 tro vanille-Aroma
statt jojoba geht auch kokosöl dann brauchts aber kein Aroma mehr, weil das herrlich nach Kokos riecht.
Jojoba mit carnauba (wenn mit drin) und beerenwachs aufschmelzen.
dann shea in Restwärme mit rein und den eventuellen Duft.
wenn sich langsam ne Haut bildet fülle ich auf.
kühle dann u d fülle das Loch nochmal auf, das sich in der Mitte bildet.
Komplett ohne carnauba. Der letzte wurde etwas zu fest.
"""Hier habe ich zwei neue Stifte ausprobiert, die sehr cremig und ein wenig weicher als meine anderen Rezepte sind. Meine Freundin und ich benutzen den Stift seit einer Woche und wir sind beide begeistert von Auftragverhalten und Farbe.
10 g für zwei Alugießformen:
3 g Rizinusöl
1 g Jojobaöl
1 g Aprikosenkkernöl
1 g Lanolin
1 g Kakaobutter
1 g Bienenwachs
0,5 g Carnaubawachs
und die Pigmente beim rechten glänzenden Stift
1,5 g Perlglanzpigmente aus Nude und wenig rosa. (Kosmetikmacherei)
"""75g dest. Wasser
2 gr. Msp. Sorbit
2g Glycerin
1 Msp. Xanthan
1 Msp. Allantoin
6g Shea
6g Avocadoöl
7g Traubenkernöl
6g Hanföl
5g Lysolecithin
15 Tr. Squalan
4ml 80% Alk als Konservierung
Wasser aufkochen, wieder etwas abkühlen lassen, dann Sorbit, Glycerin, Xanthan und Allantoin einquirlen.
Sheabutter zugeben und unter Quirlen schmelzen lassen, Avocadoöl und LL einrühren. Weiter abkühlen lassen und bei Handwärme Traubenkern- und Hanföl und Squalan einrühren. Mit dem Alk konservieren.
Eine splashige Lotion. Supergut durchfeuchtend, trotzdem leicht und vor allem pflegend.
<div style="background:White;">
`* First list item
* Second list item
** A subitem
* Third list item
# First list item
# Second list item
## A subitem
#Third list item
* To do today
*# Eat
* To get someone else to do
*# This
*# That
*## And the other
# To do today
#* Eat
# To get someone else to do
#* This
#* That
#** And the other`
!!wird zu:
* First list item
* Second list item
** A subitem
* Third list item
# First list item
# Second list item
## A subitem
#Third list item
* To do today
*# Eat
* To get someone else to do
*# This
*# That
*## And the other
# To do today
#* Eat
# To get someone else to do
#* This
#* That
#** And the other
<br/>
!!__Entsprechende Shortcuts dafür:__
`Strg + Shift + L` = * <br/>
`Strg + Shift + N` = # """
''Falls irgendwelche Befehle die Listenfunktion außer Kraft setzen:'' `<div style=> ` und 1 Leerzeile danach einsetzen.
"""60 ml Aqua dest. oder Hydrolat
5 ml Glyzerin
3 ml Propylenglykol (alternativ 2 g Urea)
Das kann man alles ohne erwärmen zusammen mischen.
Auf das zuvor angefeuchtete Haar sprühen und in einkneten.
Das Spray kann nach meiner Erfahrung an den Tagen benutzt werden, an denen man die Locken lediglich auffrischen möchte, ohne sie mit Pflegesubstanzen zu belasten.
Anmerkung:
Ich habe das Rezept verändert und das früher angegebene Urea durch Propylenglykol ersetzt. So fühlten sich die Haare besser an und auch die Feuchtigkeit wird noch besser gebunden.
Eventuell kann man die Anteile des Glyzerins und des Propylenglykols noch erhöhen, aber diese Mischung funktioniert für mich gut und hinterlässt keine Rückstande im Haar.
Ich habe gestern dieses Lockenwiederbelebungspray nachgebastelt und statt destilierten Wasser Rosenwasser verwendet.
Hallo, zufällig hab ich selbst ähnlich experimentiert:
60 g Rosenwasser
10 g Weizenkeimöl
2 g Glycerin
1,2 g Seidenprotein
Vor Gebrauch immer gut schütteln. Fettet nicht, beschwert nicht. Bei BHV-Länge nehme ich pro Seite 2 Sprühstöße und knete es ein.
"""Haarpflegecreme für wellige+lockige+andere Haare
(ehemals Schillerlockencreme )
ca. 50-60 ml
Fettphase:
2,5 g Tegomuls
2,5 g Rizinusöl oder Jojobaöl oder Kokosöl
2,5 g Macadamianussöl
2 g Lanolin
1-2 g Cetylalkohol
Wasserphase:
40 ml Aqua dest. oder Hydrolat
2 g Panthenol
6 g Glyzerin
2 g Alkohol (Alkohol, vergällt, 96%ig / Weingeist)
Die Creme in das nicht mehr triefendnasse, feuchte Haar kneten. Sie beschwert nicht und kann sparsam jeden Morgen auf angefeuchtetem Haar verwendet werden.
Die Öle können ohne weiteres gegen andere ausgetauscht werden. Rizinusöl sorgt aber für schönen Glanz.
Bei stark lockigen oder krausen Haaren kann der Lanolinanteil erhöht werden.
Für einen stärkeren Pflegeeffekt kann man 1-2 g Sheabutter hinzufügen.
Wenn man einen festigenden Effekt möchte, kann man sicher Honig, Gerstenmalz oder Gelbildner in die Wasserphase geben.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Lustlosigkeit:''<br/><br/>
<$list filter="[tag[Lustlosigkeit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Lustlosigkeit:''<br/><br/>
<$list filter="[tag[Lustlosigkeit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=260 src="https://share-your-photo.com/img/7e36266123.jpg"/>||
|<h6>Agronom, [[Roślina soji|https://commons.wikimedia.org/wiki/File:Roślina_soji.JPG]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Dickflüssige Flüssigkeit, <div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>- & <div class="tooltip">W/O
<span class="tooltiptext">Wasser-in-Öl</span></div>-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. O/W-Emulgatoren sind für O/W (also Öl-in-Wasser)-Emulsionen und W/O-Emulgatoren sind für W/O (also Wasser-in-Öl)-Emulsionen geeignet.</span></div>,
''Löslichkeit:'' Fett- & wasserlöslich
''Ursprung/Beschreibung:'' Zähe, dunkelbraune pflanzliche Flüssigkeit, welche aus mit Enzymen modifizierten Lecithin besteht. Es kommt dem in Pulverform erhältlichen Reinlecithin sehr nahe. Es ist durch die Veränderung sehr <div class="tooltip">hydrophil
<span class="tooltiptext">wasserlöslich /-anziehend /-bindend</span></div>. Viele bekannte Naturkosmetikfirmen verwenden Lysolecithin in ihren Produkten.
''INCI-Bezeichnung:'' Enzyme-Modified Soy Lecithin / Lysolecithin
''Duftprofil:'' Geruchsneutral.
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Lysolecithin ist ein Allroundtalent. Es ist für Öl-in-Wasser-, Wasser-in-Öl- und Misch-<div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> geeignet. Es kann als <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div> in Badeölen, als rückfettender und pflegender Zusatz in Shampoos, Bade- & Duschzusätzen und auch als <div class="tooltip">Ko-Emulgator
<span class="tooltiptext">Ko-Emulgatoren sind schwache Emulgatoren, die den Hauptemulgator bei der Emulsionsbildung unterstützen</span></div> in Emulsionen verwendet werden. Lysolecithin ist auch als <div class="tooltip">Kaltemulgator
<span class="tooltiptext">Kaltemulgatoren müssen nicht geschmolzen werden</span></div> geeignet und kann sogar in das fertige Endprodukt eingerührt werden.
Lysolecithin kann sowohl für leichte Rezepturen mit geringem Fettanteil als auch für reichhaltige Cremes eingesetzt werden. Es ist pH-Wert-unabhängig. Es kann in der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> mit aufgelöst werden oder direkt in die erwärmte <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> gegeben werden. Lysolecithin kann sogar zum Nachdosieren in die fertige Creme eingerührt werden. Lysolecithin immer in Kombination mit anderen <div class="tooltip">Konsistenzgebern
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> einsetzen, wie Sheabutter, Bienenwachs, Lanolin.
Es hat eine hohe Wasserbindefähigkeit und man erhält leichte, geschmeidige, gut befeuchtende Cremes.
Emulsionen erscheinen »leichter«, geschmeidiger, weniger fettend, weniger stoppend oder filmbildend, wirken befeuchtender und ziehen schneller ein. Bienenwachs verliert in <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> mit Lysolecithin seine »Wachsigkeit« und erzeugt samtige Weichheit, Wollwachsalkohol und Lanolin ihre »klebrige Schwere« (vor allem letzteres) und wirken intensiv befeuchtend und »satt«. Seine in Emulsionen konsistenzmindernde Wirkung prädestiniert es als <div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div> für Lotionen und Fluids, denen es eine sehr schöne Textur und eine angenehme Haptik verleiht.
In der Haarpflege hat sich Lysolecithin als pflegender, rückfettender und <div class="tooltip">konditionierender
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> Zusatz in Shampoos, Haarfluids und Spülungen, sowie in Duschgelen bewährt. Bei saurem pH-Wert wirken <div class="tooltip">Phospholipide
<span class="tooltiptext">Lecithine, phosphorhaltige, ambiphile Lipide, die als Membranlipide am Aufbau von Zellen beteiligt sind</span></div> als kationische <div class="tooltip">Lipide
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div> konditionierend und ziehen auf die negativ geladene Haaroberfläche geschädigter Haarpartien auf. Wichtig ist, den pH-Wert auf ca. 5 einzustellen, damit das Lecithin kationisch wirken kann.
''Für welchen pH-Wert geeignet:'' PH-Wert-unabhängig
''Einsatzkonzentration:'' 0,5-10 % je nach Anwendungsgebiet: 10% in Badeölen, in Shampoos 1-5%, in Haarfluids und Spülungen bis zu 5%, in Cremes als Co-<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.</span></div> bis zu 1% und als Hauptemulgator bis zu 5%.
Bei schon bekannten Rezepten sollte zunächst mit sehr niedrigen Einsatzkonzentrationen von 0,5-1% angefangen werden und ggf. die Dosierung dann langsam gesteigert werden, da Lysolecithin die gewohnte Konsistenz stark verändern kann. Falls die Creme flüssiger wird, verliert sie dadurch aber nicht ihre pflegende Wirkung.
''Lagerung:'' Es muss nicht gekühlt werden (aber maximal bei Zimmertemperatur lagern)- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' In die <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> oder <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> einrühren. Beim Einrühren die Flasche etwas schräg halten: Durch die sirupartige Konsistenz läuft es erst langsam heraus, aber dann als großer Schwall.
Für Haarpflegeprodukte ist es wichtig, den pH-Wert auf ca. 5 einzustellen, damit das Lecithin kationisch wirken kann (damit es <div class="tooltip">konditionierend
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> wirken und auf die negativ geladene Haaroberfläche geschädigter Haarpartien aufziehen kann).
Bei <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> bzw. Cremes sollte das fertige Produkt noch einen Tag im Kühlschrank ruhen gelassen werden, dann noch einmal gut rühren und erst dann umfüllen. Dieses Vorgehen unterstützt die Stabilität der Creme.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Lysolecithin]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Lysolecithin]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Macadamia Ternifolia Seed Oil
''Jodzahl:'' 70–80 (nicht trocken)
''Schmelzbereich:'' -12°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 9 Monate
''Anteile an Unverseifbarem:'' bis 1,5%
''Verseifungszahl:'' 190–200
__Hervorragend geeignet für trockene, schuppige und entzündliche Haut, Altershaut, reife Haut sowie sensible Hautzustände.__
Es lässt sich sehr gut verteilen, __zieht schnell in die Haut ein__ und wirkt regenerierend. Für __jeden Hauttyp__ geeignet. Besonders wohltuend bei __trockener, schuppiger und empfindlicher Haut__. Auch __reife Haut__ wird glatter, da Macadamianussöl die Stoffwechselvorgänge begünstigt. In der __Haarpflege__ hilft es gut im Kampf __gegen brüchige und spröde Haare__ und verleiht einen __frischen Glanz__.
Macadamianussöl gilt als ausgezeichnetes Öl für __trockene, spröde und sensible Haut__, da seine Fettsäurezusammensetzung dem des menschlichen Sebum ähnlich ist. Es wirkt ausgesprochen __hautglättend__, weich machend und regenerierend. Neben seinem Einsatz in Hautpflegeprodukten ist es ein bewährtes Öl für die Pflege von __sprödem und trockenem Haar__. Nach dem Bad oder der Dusche sparsam in die noch feuchte Haut massiert ist Macadamianussöl eine hervorragende Spezialpflege. In Emulsionen gibt es auf Grund seiner eher niedrigen Viskosität keine ausgeprägte Konsistenz; trotz seiner kosmetischen Reichhaltigkeit ist es ein tendenziell »leichtes« Öl.
Da es keinen nennenswerten Anteil an Linolsäure aufweist, profitiert Macadamianussöl von linolsäurereichen Ölen, z.B. Traubenkern- oder Hanföl, aber auch von Wirkstoffölen wie Nachtkerzen- und Wildrosenöl.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Macadamianussöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Macadamianussöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Bei Magen- & Darmproblemen greifen viele Menschen zum Magenbitter. Doch der ist trotz Nelkenbestandteilen wegen Alkohol- und Zuckergehalt eher hinderlich für die Verdauung.
Besser hilft ein Wasserauszug aus Nelken, der als verdauungsfördernder Magen-Darm-Tee bekannt ist."""
''Zutaten''
* 2-3 [[Nelken]]
* 150ml Wasser
Wasser aufkochen, die Nelken damit übergießen und 10 Minuten zugedeckt ziehen lassen.
Nelken entfernen und den fertigen Tee trinken.
''Alle getesteten Rezepte bei Problemen betreffend Verdauung / Magen / Darm / Essen:''<br/><br/>
<$list filter="[tag[Appetitlosigkeit]] [tag[Blähungen]] [tag[Brechreiz]] [tag[Darmträgheit]] [tag[Durchfall]] [tag[Magenkrämpfe]] [tag[Magenschmerzen]] [tag[Übelkeit]] [tag[Verstopfung]] [tag[Völlegefühl]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte bei Problemen betreffend Verdauung / Magen / Darm / Essen:''<br/><br/>
<$list filter="[tag[Appetitlosigkeit]] [tag[Blähungen]] [tag[Brechreiz]] [tag[Darmträgheit]] [tag[Durchfall]] [tag[Magenkrämpfe]] [tag[Magenschmerzen]] [tag[Übelkeit]] [tag[Verstopfung]] [tag[Völlegefühl]]+[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Magenkrämpfen:''<br/><br/>
<$list filter="[tag[Magenkrämpfe]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Magenkrämpfen:''<br/><br/>
<$list filter="[tag[Magenkrämpfe]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Magenschmerzen:''<br/><br/>
<$list filter="[tag[Magenschmerzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Magenschmerzen:''<br/><br/>
<$list filter="[tag[Magenschmerzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Bei leichten Erkältungen: "Majoranbutter" spezial
8 g Öl
1 g Lanolin
1 g Bienenwachs
ÄÖ insg, 3 Tr.: nur Majoran oder 1 Tr. Majoran+2Tr. Lavendel oder Majoran + Lavendel + Thymian
Nimmt bei uns mittlerweile die ganze Familie bei Schnupfen und Co
"""Make up Evita
für fettige und Mischhaut: 100 % = 100g
Fph: 25 %
a)
7% Kokosöl, vergin oder Neutralöl
4% Aprikosenkernöl, bio
4 % Macadamianußöl, bio
1 % Lecithin Super,oder LL ( 1/2 ML)
3 %Tegomuls
1 % Tego Care CG 90
1 % Kokumbutter ( oder Cupuacubutter)
1 % Lanolin
2 % Squalan
b)
0,1 -0,2 % Kieselsäure ( 1 ML)
1 % Maisstärke
2-4 % Pigmente
c )
Wph: 75 %
60,9 % dest. Wasser
10 % Weingeist
d) Wirkstoffe:
1 % Seidenprotein
0,1 % Aloevera Pulver
2 % d Panthenol
1 % IPM ( öllöslich)
1 % Sodium PCA
1 % Konservierung
für trockene und reife Haut bietet es sich an den Emulgator auszutauschen und die Fettphase auf 40 % zu erhöhen:
a)
8 % Kokosöl
5 %Aprikosenkernöl
5 % Macadamianußöl
8 % Sheabutter
1 % Lecithin Super oder LL
1 % Lanolin
3 % Olivem 900 ( wirkt in dieser Dosierung als Konsistenzgeber und verbessert die Haftfähigkeit der Pigmente)
5% Lamecreme
1% Tego care CG 90
2 % Squalan
0,2 % Bergamuls
b)
0,1 -0,2 % Kieselsäure ( 1 ML)
1 % Maisstärke
2-4 % Pigmente
c )
Wph: 60 %
40,9 % dest. Wasser oder Hydrolat
10 % Weingeist
d) Wirkstoffe: 6,1 %
1 % Seidenprotein
0,1 % Aloevera Pulver
2 % d Panthenol
1 % IPM ( öllöslich)
1 % Sodium PCA
1 % Konservierung
Pigmentmischung Evita : mittel
3 g Titandioxid
0,5 g Seidenweiß
0,5g Ocker
0,4 g Rotbraun
0,45 g Dunkelbraun
0,7 - 1 g Oriental beige
durch das Pigment Oriental beige passt sich die Pigmentmischung der Haut perfekt an, wie z.B.eine BB Creme, deckt aber besser ab. 2008 hab ich das Pigment erstmals bei coastalscents.com gekauft, aber durch die inzwischen hohen Versandkosten habe ich auf einen Lieferanten in der Nähe gewartet. Mittlerweile bekommt man dieses tolle Pigment auch bei Alexmo und hier Dieses Pigment kann man übrigens auch pur als Rouge oder Bronzepuder
verwenden.
Nur eine kleine Anmerkung: wenn du unter sorbitan olivat den olivem 1000 verstehst, dann muss ich dir leider sagen, das er gar nicht für trockene Haut geeignet ist genau wie das LL. Da wäre der oliven 900 besser, der funzt aber nur unter übelster Trickserei bei so niedriger Fph. Als Emu für trockene haut würde ich dir den Emik, den Lamé oder den Dermofeel GSC palmfree empfehlen. Du weist ja, das ich eher trockene haut habe daher die Empfehlung aus Erfahrung.
Ich meinte eigentlich auch den Olivem 900, weil der auch die Haftfähigkeit der Pigmente in Make ups verbessert.
In der Kombination mit Tego Care CG 90, Lanolin und Lecithin hatte ich keine Probleme mit der Verarbeitung.
Ich selber verwende kein Make up, rühre es nur für andere. Ich wollte noch eine Rezeptabwandlung für besonders empfindliche Haut mit Emulmetik und Bergamuls anhängen, falls die da noch reinpasst.
Mit dem LL ist es so eine Sache. Die einen vertragen es gut die anderen weniger. Das muss wohl auch bei trockener Haut jeder für sich austesten was der eigenen Haut gut bekommt. Wer nicht unter Neurodermitis, Psoriasis oder ähnlichem leidet sollte keine Probleme mit LL haben. An sonsten zu Sicherheit lieber Superlecithin oder Reinlecithin verwenden.
Tegomuls, aus der "Mode" gekommen, ist meines erachtens für junge, fettige Haut einer der besten Emulgatoren, auch wenn er in der Verarbeitung recht zickig und solo eine für die heutige Zeit zu hohe Einsatzkonzentration nötig ist. Man kann alternativ auch Montanov 68, oder Xyliance verwenden. ( bitte EK und Herstellungsart berücksichtigen)
Du kennst meine haut, ich habe keine krankhaften veränderungen. Und doch mußte ich aus dem lysogeltest aussteigen. Ich vertrage ll einfach nur 2-3 wochen, dann ist meine haut echt rauh und trocken, darum die warnung.
Tegomuls ist ein toller emu, ich benutze ihn immernoch für eine junge dame, obwohl ich im moment dann doch noch lieber gsse nehme (ja ich weiß, dass ich geschrieben habe, dass ich ihn nicht mag). Im interesse der rohstoffstraffung ist gsse fast einen ticken besser als tego und so werde ich tegomuls aufbrauchen und dann bei gsse bleiben, da dieser auch von nk herstellern genommen wird und meine freundin inclusive tochter den emu gut vertragen und auch aus der inci liste ihrer nk produkte kennen.
Das mit dem oli900 ist sehr interessant, muß ich mal wieder versuchen. Wie hast du ihn verarbeitet, einfach mit der fph aufschmelzen, dann alles in einmal zur wph oder schlückerl weise?
Was ist bitte gsse? Meinst Du Glycerinstearat? Den nehm ich für meinen Eye Lift Nachbau. Der ist auch gut, aber mit Pigmenten für meinen Geschmack zu trocken. Kann man aber ruhig ausprobieren. Hab grade erst eines mit Olivem 900 angerührt, auf dem Foto. War erst für meinen Geschmack zu flüssig, mußte noch mit Bergamuls bissel nachhelfen. Fühlt sich aber sehr gut an. Da ich mal wieder zuviel gerührt habe, behalte ich einen Spender selber.
Da Du schon mal Probleme mit perioraler Dermatitis hast denke ich schon, dass Deine Haut besonders empfindlich ist. Wie bei meiner Mum mit ihrer Gesichtsrose. Die Symptome sind ja fast identisch. Man hat ne Weile Ruhe und auf einmal fängt das Spiel von vorne an. Da muss man schon vorsichtiger sein, was man sich an die Backe schmiert.
An Deiner Stelle würde ich mir von den Pigmenten ein sehr helles und ein mittlers Makeup machen und dann auf der Haut zum passenden Ton vermischen. Das geht mit diesem Make up sehr gut, da es sich eh der Haut schön anpasst und nicht zu sehr deckt. Wenn ich Zeit hab stell ich auch noch einen Bräunungspuder ein, mit dem kannst Du dann schön im Sommer nachhelfen.
Das Rezept für trockene Haut werd ich nochmal überarbeiten und vielleicht besser auf Fph: 35 - 40 gehen. Ohne Bergamuls ist es in der Form grade eben eine spendertaugliche Lotion. Dem einen oder anderen evt zu dünnflüssig. Entweder müßte der Butteranteil hochgeschraubt werden, oder ein Fettalkohol dazu.
tegomuls ist super, wenn nicht viele Wirkstoffe reingepackt werden die den ph Wert beeinflussen. Wer einfach eine simple Creme oder Lotion will ohne großen Schnickschnack kann mit Tego nix falsch machen. Als alleiniger Emu hat er eben eine recht hohe Einsatzkonzentration, aber das ist bei Sorbitan Olivate auch nicht viel anders. Von daher ist mischen die bessere Wahl. Ob man Glycerinstearat, oder Tego Care CG 90, oder meinetwegen Tegosoft PSE 141 nimmt. Hauptsache man hat das erwünschte Ergebnis: eine ordentliche Make up Formulierung die sich gut auftragen und verteilen läßt.
Schiete nehme heute erst wahr, dass Du Lanolin drin hast..'hmm ersetzen mit dem pflanzlichen von aromazone? Shea und UdA ist glaube ich zu heftig.
Lass es einfach weg und addiere das eine Prozent zum Tegomuls, oder nimm evt. eine Idee mehr Super Lecithin, oder BsB wenn Du die verträgst.
Mein Seidenweiß ist von AoB, aber Du bekommst es auch bei behawe. Ersatzweise kannst Du auch Silberweiß verwenden sollte es mehr decken mit TiO2 mischen. Ronaflair kannst Du auch nehmen, behawe hat beides, Seidenweiß und Ronaflair, ist zwar nicht das gleiche, aber ähnlich vom Ergebnis. Mica plain geht auch..
Das liegt bestimmt an dem oriental beige. das passt sich einfach sehr gut an die Haut an.
"""
------------------------------------------------------------------------------------------------------------
"""''Pigmentpaste'': empfohlene Herstellungsmenge: 10-30g
25% Ceralan
10% Fluidlecithin Super, oder LL
langsam schmelzen
35% Pigmentmix
unterrühren ( 2-5 Min.) alle Pigmente müssen in der Paste dispergiert werden
25% Jojobaöl
2,5 % Brokkolisamenöl
2,5 Ricinusöl
dazugeben und nochmals alles kräftig und gleichmäßig verrühren. Dafür sollte man sich auch nochmal 5 Min. Zeit nehmen, damit eine wirklich gut dispergierte Paste entsteht. Die Paste hält sich unkonserviert im Kühlschrank ca. 6 Monate. Zur Sicherheit kann man aber gerne mit 1 % Antiranz, oder Vit E und Ascorbinpalmitat konservieren.
Diese Paste ist relativ fest. EK : 10-15% pro 30 - 40g Creme
"""Rezept:
- 30ml dest. Wasser
- 20ml Aloe-Vera-Gel
- 10ml Fluidlecithin CM oder Super
- 10ml Mandelöl
- 3 gr. Messl. MF
- 2 gr. Messl. Kieselsäure
- 2 gr. Messl. Rosa Mosqueta-Öl
- 1 gr. Messl. Alginat
- 1 kl. Messl. Kamillenextrakt
- 20 Tr. Heliozimt
- 15 Tr. Squalan
- 7 Tr. Sanddornfruchtfleischöl
- 3 Tr. Teebaumöl
Einfachste Zubereitung: Alles zusammengießen und mit dem Mixer/ Milchaufschäumer ordentlich durchschlagen!
Das Make-up deckt bei mir sehr gut, wirkt aber trotzdem natürlich. Da es relativ reichhaltig ist, brauche ich auch nicht unbedingt eine Creme vorher, das Hautgefühl ist sehr angenehm.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Mandelentzündung:''<br/><br/>
<$list filter="[tag[Mandelentzündung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Mandelentzündung:''<br/><br/>
<$list filter="[tag[Mandelentzündung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=290 src="https://share-your-photo.com/img/41e961585a.jpg"/>||
|<h6>شهریار, [[بادام و شکوفه بادام|https://commons.wikimedia.org/wiki/File:بادام_و_شکوفه_بادام.JPG]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""@@font-size:0.8em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1 (innerhalb B-1 - B-3),
''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Prunus Dulcis / Prunus amygdalus Dulcis
''Ursprung/Beschreibung:'' Öl, das aus den reifen, schalenfreien Samen des Mandelbaumes (also aus den uns bekannten Mandeln) gewonnen wird.
Der Mandelbaum ist ein baum- oder strauchartiges Gewächs, das entweder einstämmig mit geschlossener Krone oder strauchartig (verzweigt sich von der Basis) wächst und 2-8m hoch wird. Er blüht bereits im März / April. Der Reifezeitpunkt der Mandeln liegt zwischen Juli und August. Die Anbauregionen liegen in erster Linie in Kalifornien. Aus diesem Land kommen mehr als 50% des weltweiten Bedarfs, manchmal sogar 70-80%. Weitere Produzenten sitzen in Spanien und Italien.
Nicht zu verwechseln ist dieses auch als Süßmandelöl bekannte Erzeugnis mit Bittermandelöl (dieses ist ein ätherisches Öl, das aus Bittermandeln gewonnen wird und als gesundheitsschädlich eingestuft wird). Süßes Mandelöl hingegen gilt als eines der am verträglichsten Öle, wodurch es auch für empfindliche & sensible Haut und auch für Babys bestens geeignet ist.
''Duftprofil:'' Es hat einen leichten, sehr milden, nicht dominanten charakteristischen Geruch."""
''Inhaltsstoffe:''
* Fettsäuren: Gesättigte und ungesättigte Fettsäure bilden den wichtigsten Bestandteil des Mandelöls. Fettsäuren sind dem in der Haut vorkommen Fett vom Aufbau her besonders ähnlich. Deshalb ist das Mandelöl auch sehr hautverträglich.
* Ölsäure: Die Ölsäure stellt den größten Anteil ungesättigter Fettsäuren im Mandelöl dar. Der chemische Aufbau von Ölsäure sorgt für eine hohe Beweglichkeit, so dass es leicht bis in tiefere Hautschichten vordringt. Dadurch kann die Haut einen besonders wirksamen Schutz aufbauen.
* Linolsäure: Die Linolsäure ist eine wesentliche ungesättigte Fettsäure in Mandelöl, die der Mensch für den Stoffwechsel benötigt. Ihr Anteil beträgt rund 20%. Im menschlichen Körper ist sie in der Haut zu finden. Linolsäure erhöht den UV Schutz, sorgt dafür, dass genügend Feuchtigkeit in der Haut verbleibt und es wirkt Reizungen der Haut entgegen. Langfristig erreicht die Haut eine besonders stabile Widerstandsfähigkeit gegen Infektionen.
* Palmitinsäure: Die Palmitinsäure macht 5 % des Mandelöls aus. Es handelt sich um eine gesättigte Fettsäure, die den Säureschutzmantel der Haut stärkt. Palmitinsäure bildet eine wirksame Barriere vor äußeren Einflüssen.
* Vitamin A: Vitamin A ist Hauptakteur bei der Zellerneuerung. Es bewahrt uns außerdem vor DNA-Schäden an den Hautzellen.
* Vitamin E: Im Mandelöl befinden sich ca. 32mg Vitamin E pro 100ml Öl. Vitamin E befindet sich in den Zellwänden. Es wirkt <div class="tooltip">antioxidativ
<span class="tooltiptext">Im Körper kann es durch allerlei schädliche Umwelteinflüsse- wie z.B. Schadstoffe, Stress & Fehlernährung zur Bildung sog. freier Radikale kommen. Bei diesen handelt es sich eigentlich um Sauerstoffmoleküle, denen ein Elektron fehlt, wodurch diese Gewebe & DNA zerstören können. Gerade dies kann zu einer vorzeitigen Alterung des Gewebes führen oder aber bei Schädigung des Erbgutes sogar die Entstehung von Krebs begünstigen / beschleunigen. Antioxidativ wirkende Stoffe wirken diesen freien Radikalen effektiv entgegen und schließen alle negativen Folgen dieser Moleküle aus.</span></div>. Außerdem begünstigt es die Speicherung von Feuchtigkeit und hilft dem Vitamin A bei der Zellneubildung der Haut.
* B-Vitamine: B-Vitamine sind wichtige Begleit-Vitamine. Sie unterstützen die Aufnahme von anderen Vitaminen aus dem Mandelöl. Die Wirkung von Vitamin E wird deutlich verstärkt.
* Vitamin D: Dieses Vitamin unterstützt und stärkt das Immunsystem.
* Die 3. wichtige Gruppe von Inhaltsstoffen in Mandelöl sind die Mineralien. Sie beeinflussen die Einlagerung von Flüssigkeiten und sind am Stoffwechsel beteiligt. Mineralien sorgen für ein glattes Hautbild.
** Kalium
** Magnesium: das Mineral Magnesium stabilisiert die Zellwände.
** Calcium: Calcium hält harmlose Entzündungen in Schach und sorgt so für eine gesunde Hautschicht. Menschen, die eine Sonnenallergie haben, profitieren von den positiven Eigenschaften des Calciums im Mandelöl.
"""''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Mandelöl fettet gut nach und ist daher besonders für empfindliche, gereizte oder spröde Haut geeignet. Es ist sehr mild, zieht gut ein und ist hautberuhigend. Mandelöl ist das Allroundöl- es ist sehr verträglich und für jeden Hauttypen geeignet.
Der hohe Ölsäureanteil im Mandelöl wirkt positiv auf die Haut, pflegt sie, macht sie geschmeidig und schenkt ihr Feuchtigkeit.
Der UV-Schutz von Mandelöl ist gering, eignet sich jedoch hervorragend für die Frühlingssonne und die ersten Sommertage.
Es zieht zwar nicht sofort, dafür aber sehr tief in die Haut ein, wodurch sich die Wirkung – der hohe Pflegeeffekt – sehr gut und vor allem langanhaltend bemerkbar macht. Das seit Jahrhunderten bewährte Pflanzenöl schafft es dadurch, selbst trockene Haut nachhaltig zu pflegen, zu durchfeuchten, wieder ins Gleichgewicht zu bringen und ein weiches, gesundes Hautgefühl zu hinterlassen.
Qualitativ hochwertiges Mandelöl ist klar, von blassgelber Farbe und dünnflüssig. Sobald es Trübungen aufweist, bitter oder ranzig riecht, sollte es nicht mehr angewendet werden.
''Einsatzkonzentration:'' 3-100%
''Ölgruppe:'' B-1 (innerhalb B-1 - B-3)
''Schmelzbereich:'' –10 - –20°C
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Jodzahl:'' 93–105 (nicht trocken)
''Spreitwert nach Olionatura®:'' <div class="tooltip">Mittelspreitend
<span class="tooltiptext">__Hochspreitend:__ Das Öl verteilt sich sehr gut & dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.<br/><br/>__Niedrigspreitend:__ Das Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.<br/><br/>__Mittelspreitendes__ Öl tut dies alles in Mittelwerten.</span></div>
''Anteile an <div class="tooltip">Unverseifbarem
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div>:'' Bis 1,5%
''Verseifungszahl:'' 185–195
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Worauf beim Kauf achten:'' Nur <div class="tooltip">kaltgepresstes
<span class="tooltiptext">Kalt gepresste Öle werden ohne Wärmezufuhr nur durch Druck oder Reibung in meist dezentralen Ölmühlen hergestellt. Auf die Pressung folgt meist eine Filtration. Durch die schonende Gewinnung bleiben Geschmackstoffe, Vitamine und die als gesund geltenden mehrfach ungesättigten Fettsäuren erhalten.</span></div> Mandelöl kaufen- möglichst in Bio-Qualität.
''Tipp für die Verarbeitung:'' /
"""<br/>
<div style="background:Lavender;">
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Mandelöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Mandelöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
[[Mandelöl]] ist ideal bei trockener, gereizter Haut. Es kann auch den Juckreiz bei Neurodermitis reduzieren. Es ist besonders fett, reich an Vitaminen und rückfettenden Substanzen.
Ganz besonders empfindliche Menschen sollten das Öl jedoch erst testen, bevor sie ihren Körper damit einreiben. Hierzu gibt man 1 Tropfen [[Mandelöl]] auf die innere Unterlippe. Nun beobachtet man die Reaktionen und achtet darauf, ob sich ein Kribbeln oder Juckreiz im Mund entwickelt. Passiert das, sollte der Mund schnell mit klarem Wasser ausgespült und in Zukunft auf ein anderes Basisöl zur Therapie ausgewichen werden.
Neurodermitiker haben genetisch veränderte Hautzellen, die die Fähigkeit zur natürlichen Regulierung des Feuchtigkeitshaushalts eingebüßt hat. Sie müssen sich deshalb die fehlenden Stoffe von außen gezielt zuführen. Im Rahmen der so genannten Substitutionstherapie hilft [[Mandelöl]] dabei, die fehlende Feuchtigkeit in die Hautschicht einzuschleusen. Das Einmassieren hat also keinen rein kosmetischen Effekt, sondern die Hautpflege ist Teil einer Therapie. Das Mandelöl wirkt kühlend und schmerzlindernd. Es versorgt die Haut mit Feuchtigkeit und nimmt das Spannungsgefühl. Der Patient fühlt sich wieder wohl in seiner Haut.
Das Öl sollte in gleichmäßig kreisenden Bewegungen auf die betroffenen Hautstellen aufgetragen werden, um eine möglichst flächendeckende Verteilung und Aufnahme in die Haut zu gewährleisten.
Wenn die Neurodermitis allerdings akut ist und offene oder nässende Wunden aufweist, darf kein Mandelöl aufgetragen werden. Denn dann würde sich die Wunde verschlimmern. In einem solchen Fall wartet der Betroffene ab, bis sich die Verletzung geschlossen hat und die Symptome abgeklungen sind. Erst dann ist zu empfehlen, die Haut mit Mandelöl zu behandeln.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=380 src="https://share-your-photo.com/img/b660300b10.jpg"/>||
|<h6>Rameshng at Malayalam Wikipedia, [[Thotapuri Mango tree in Kolar|https://commons.wikimedia.org/wiki/File:Thotapuri_Mango_tree_in_Kolar.JPG]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya, [[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pflanzenbutter, Konsistenzgeber, ''Ölgruppe:'' PF-1, ''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Mangobutter wird aus den Kernen der bekannten Mangofrucht (Mangifera indica) gewonnen. Die Mango-Samen werden zunächst getrocknet und das Öl anschließend durch deren Extraktion gewonnen. Leider wird das gewonnene Lipid anschließend meist zusätzlich raffiniert. Der immergrüne Mangobaum gehört zur Familie der Sumachgewächse (Anacardiaceae) und wird in der Regel bis zu 15m hoch. Die Fruchtkerne enthalten ca. 9-13% fettes Öl. Ursprünglich stammt die Mango aus Indien, heutige Hauptanbaugebiete sind u.a. Pakistan, Burma und die Philippinen.
''INCI-Bezeichnung:'' Mangifera Indica (Mango) Seed Butter
''Weitere Handelsnamen:'' Mangokernöl
''Inhaltsstoffe:'' -
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Mangobutter wird meist raffiniert angeboten und hat eine zarte, cremige Farbe.
Sie ist ein leichtes, reizfreies, mild rückfettendes Lipid für jeden Hauttyp.
Die Butter ist ein super Emolliens (macht die Haut weich und geschmeidig), spendet intensive Feuchtigkeit und zieht leicht in die Haut ein.
Durch ihre rückfettenden, intensiv feuchtigkeitsspendende Eigenschaften verleiht Mangobutter der Haut neue Elastizität und Spannkraft, glättet sie und unterstützt die Zellerneuerung.
''Anwendungsbereiche / Besonders geeignet für:'' Cremes, Handcremes, Lotionen, Peelings, Bodybutter, Badepralinen, Massagebars, Lippenstifte, Lippenpflegestifte, Lippenbalsam, allgemein Hautpflegeprodukte, Sonnenpflegeprodukte.
Auch für die Haarpflege: Haarkuren, Pflege von trockenem, glanzlosem & strapaziertem Haar, Conditioner (das Haar wird mit Feuchtigkeit versorgt, ist weniger brüchig und bleibt frizz-frei).
Auch in Seifen ist Mangobutter ein beliebter Zusatz, denn sie macht die Seifen sehr fest und sorgt dafür, dass die Seifenstücke auch beim Waschen ihre Form behalten.
Sie macht die Produkte aufgrund ihres gering ausgeprägten Gehalts an Unverseifbarem (0,5-1%) schneller einziehend & weniger aufliegend- bietet dadurch jedoch auch weniger Pflege als Sheabutter und bringt mehr Härte als Sheabutter.
Mangobutter ist im Prinzip für jeden Hauttyp geeignet.
''Duftprofil:'' Raffinierte Mangobutter ist geruchsneutral. Von unraffinierter Mangobutter weiß ich den Geruch nicht- habe aber noch nirgendwo von einem besonderen -oder gar unangenehmen oder starken- Geruch gelesen.
''Einsatzkonzentration:'' 5-10%; Seife: bis zu 30%; in festen Produkten (z.B. Bars oder Melts) kann der Anteil auch deutlich höher sein.
''Schmelzbereich:'' 35-40°C
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Spreitwert nach Olionatura®:'' Niedrigspreitend
''Anteile an Unverseifbarem:'' 0,5–1%
''Für welchen pH-Wert geeignet:'' -
''<div class="tooltip">HLB-Wert
<span class="tooltiptext">Abkürzung für "Hydrophilic Lipophilic Balance".<br/><br/>Der HLB-Wert beschreibt die Tendenz eines Emulgators, sich eher in wässrigen (so genannten polaren) oder eher in öligen (so genannten unpolaren) Medien zu lösen. Bei besserer Wasserlöslichkeit (Hydrophilie) des Emulgators bildet Wasser die äußere Phase, in der kleine Öltröpfchen vom Emulgator ummantelt werden; bei besserer Öllöslichkeit ist es genau umgekehrt.<br/><br/>Jedes Emulgatormolekül weist also eine unterschiedlich stark ausgeprägte Löslichkeit in Wasser oder in Öl auf. Das Verhältnis von hydrophilen und lipophilen Gruppen in einem Emulgatormolekül, also die Balance zwischen beiden »Kräften«, wird in einer Zahl zwischen 0 und 20 ausgedrückt (wenn man es ganz genau nimmt, wird der Anteil der wasserliebenden Teile zur gesamten Masse des Moleküls berechnet). Diese Skala kann bis zu HLB 40 reichen. Prinzipiell gilt:<br/><br/>Emulgatoren mit einem HLB-Wert unter 10 (im engeren Sinne: HLB 3 - ca. 6) bilden eher Wasser-in-Öl-,<br/>Emulgatoren mit einem HLB-Wert ca. 8 - ca. 18 Öl-in-Wasser-Emulsionen.<br/>Verwendet man mehrere Emulgatoren, kann man den HLB-Wert einfach arithmetisch aus den Mittelwerten errechnen.</span></div>:'' -
''Verseifungszahl:'' 180–200
''Jodzahl:'' 40–54 (nicht trocken)
''Lagerung:'' Sie muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], außer bei Drogerien oder Super-/Biomärkten.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Buttern sollten nicht zu lange und zu hoch erhitzt werden, da sonst die Wirkstoffe verloren gehen können und sie dann teilweise gerne auskrisseln. Daher fast zum Schluss in der Fettphase schmelzen- aber vor Kakaobutter und hitzeempfindlichen flüssigen Ölen.
Die generelle Reihenfolge ist also: 1. Hitzeunempfindliche Lipide (Wachse, Öle, sonstige Lipide), 2. sonstige Buttern bei verringerter Hitze, 3. Kakaobutter bei noch stärker verringerter Hitze, 4. hitzeempfindliche Öle ohne Hitze, 5. Pulver, Wirkstoffe, etc., 6. Ätherische Öle.
"""<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Mangobutter]tag[RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Mangobutter]tag[RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""9 Tr. Lavendel, 5 Tr. Muskatellersalbei, 5 Tr. Sandelholz, 2 Tr. Vetiver, 14 Tr. Bergamotte, 5 Tr. Basilikum
>>das ist ein frischer, würziger Duft mit holziger Note.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-0, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Sclerocarya birrea (Marula) Oil
''Jodzahl:'' 64–76 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 18 Monate
''Anteile an Unverseifbarem:'' ca. 0,8%
''Verseifungszahl:'' 192–200
__Normale bis trockene Haut. Oxidationsstabiles Öl für Mischungen mit mehrfach ungesättigten Ölen, gutes Massageöl.__
Marulaöl ist ein noch relativ unbekanntes Öl, das sehr gute Pflege-Eigenschaften aufweist. Traditionell wird es von südafrikanischen Frauen in der Körperpflege als __rückfettendes__ und __feuchtigkeitsbindendes__ Kosmetikum gegen __trockene, rissige Haut__ und in der __Haarpflege__, aber auch zum Kochen verwendet; viele Quellen nennen seine Verwendung für Nasen- und Ohrentropfen. Es ist geruchsdezent und eignet sich daher hervorragend als Basisöl zum Mischen mit ätherischen Ölen. Rezepturen mit Marula sind angenehm leicht und hinterlassen ein ausgesprochen weiches, angenehmes Hautgefühl; ich habe es sowohl in Pflegepräparaten für das Gesicht wie auch als Massageöl verwendet und es als sehr angenehm empfunden. Es stärkt den hauteigenen Lipidfilm durch seinen relativ hohen Gehalt an den gesättigten Fettsäuren Palmitin- und Stearinsäure, __zieht jedoch sehr gut ein__ durch den hohen Gehalt an Ölsäure. Ich nenne Marulaöl gerne »Schutzöl«, weil es durch seine spezifische Zusammensetzung eine »Hülle« gegen Umwelteinflüsse bildet und den __transepidermalen Wasserverlust verringert__; auch soll es __Hautrötungen verringern__. In einer ausgewogenen Emulsion sollte Marulaöl mit einem linolsäurebetonten Öl gemischt werden. Ein hervorragendes Öl zum Kombinieren ist z.B. Hanföl, das im Gegenzug durch das Marulaöl oxidationsstabilisiert wird.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Marulaöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Marulaöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte für Massagen:''<br/><br/>
<$list filter="[tag[Massage]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte für Massagen:''<br/><br/>
<$list filter="[tag[Massage]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=310 src="https://share-your-photo.com/img/aa32769515.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
Mit diesem Massagebar kannst Du massieren wie mit einem Massageöl- Du streichst ihn einfach über die Haut, dann schmilzt das Fett sofort.
Nach dem gleichen Prinzip funktionieren auch Body Melts, Duschmelts, Lotion Bars, usw.
Du kannst sie ganz auf Deine Haut (fettige, trockene, unreine, reife, jugendliche,...) abstimmen- je nachdem welche Öle, Buttern & Wachse in welchen Mengen Du verwendest. Siehe unten bei "Erläuterungen".
''Eigenschaft dieses Massagebars:'' Lässt sich prima verteilen, pflegt sehr gut, braucht lange zum Einziehen.
''Meine Erfahrung damit:'' Habe ich einige Jahre als Handcreme benutzt- pflegt einfach super meine z.T. sehr trockenen Hände. Braucht aber auch ewig zum Einziehen.
Ich mag diese festen Produkte lieber als Cremes in Dosen, da sie hübscher aussehen und ich sie angenehmer zum Verteilen finde. Außerdem spart man damit Verpackungsmüll und muss nicht konservieren, da kein Wasser enthalten ist.
''Anwendung:'' Einfach über die Haut streichen und ggf. nochmal einmassieren. Möchtest Du ihn als pflegende Creme verwenden, so ist es besser, wenn Du ihn auf der feuchten Haut verstreichst. Also einfach vorher etwas Wasser über die Haut sprühen oder bei der Handpflege die Hände vorher waschen- es reicht aus, wenn die Haut feucht ist; nass muss sie nicht sein. Der Grund: Mit dem Wasser bildet sich eine "Spontan-Emulsion", die von der Haut besser aufgenommen wird. In Cremes, Lotionen, etc. ist das Wasser schon vorhanden, somit hat sich schon eine Emulsion gebildet. Ohne Wasser kann es sein, dass die Haut nicht in der Lage ist, die Pflege aufzunehmen. Meine Haut ist sogar noch trockener geworden, als ich das noch nicht wusste und ihn auf die trockene Haut aufgetragen hab.
__Bitte nicht über 25°C lagern__- dann fängt er an, weich zu werden / zu schmelzen!"""<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 2g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 19 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel@@
</div>
''Zutaten'' (19g ergibt 1 Mini-Muffin-Förmchen)<br/>
* <$calc>round({{!!gesamtmenge}} /19* 1.52,2)</$calc>g [[Bienenwachs]] (!)
* <$calc>round({{!!gesamtmenge}} /19* 2.66,2)</$calc>g [[Kokosöl]] (!)
* <$calc>round({{!!gesamtmenge}} /19* 3.42,2)</$calc>g [[Sheabutter]] (!)
* <$calc>round({{!!gesamtmenge}} /19* 10.64,2)</$calc>g [[Kakaobutter]] (!!)
* <$calc>round({{!!gesamtmenge}} /19* 0.76,2)</$calc>g [[Mandelöl]] (!)
* [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Bienenwachs'' & ''Kokosöl'' im feuerfesten Rührglas auf dem Herd schmelzen.<br/>Nicht zu stark erhitzen- nur so, dass es gerade so eben flüssig ist <div class="tooltip">(bei mir auf Stufe 3) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div>. Sonst gehen Inhaltsstoffe verloren!
# Wenn alles klar geschmolzen ist, dann Hitze verringern (bei mir auf Stufe 2).
# ''Sheabutter'' mitschmelzen. (Bei mir) auf Stufe 2 >Sonst gehen Inhaltsstoffe verloren und Sheabutter krisselt gerne aus, wenn sie zu lange & zu stark erhitzt wird!
# Wenn alles klar geschmolzen ist, dann Herd ausstellen.
# ''Kakaobutter'' mitschmelzen- in den letzten paar Sekunden vom Herd nehmen und in der Resthitze schmelzen lassen. Ständiges Rühren hilft beim Schmelzprozess.
# Unter Rühren auf Handwärme abkühlen lassen, falls es das nicht eh schon ist.
# ''Mandelöl'' (& ''Ätherische Öle / Parfümöle'' nach Bedarf) unterrühren.
# In die Form (z.B. eine Silikonform) einfüllen.
# Je nach Größe des Melts mind. 3 Stunden, am besten über Nacht im Kühlschrank härten lassen- kein Muss, aber so gehts schneller.
# Du kannst den Body Melt nun benutzen, er wird jedoch noch härter, wenn Du ihn noch ein paar Tage nachhärten lässt (Kakaobutter härtet nach).
"""
''Erläuterungen:''
Die Anteile der einzelnen Zutaten & auch die Zutaten selbst können nach Bedarf variiert / ersetzt werden- je nachdem, was einem bei dem Massagebar wichtig ist.
Wachse dienen v.a. dazu, den Massagebar "hart" zu machen. Auch Kakaobutter & ein wenig die Sheabutter machen ihn härter- aber weit weniger als Wachse. Ausserdem bilden Wachse einen schützenden Film auf der Haut. Je höher der Schmelzpunkt, desto härter macht es den Bar.
Kakaobutter, Sheabutter, Kokosöl & Mandelöl haben v.a. pflegende Eigenschaften. Man kann diese aber auch durch diverse andere Öle / Fette ersetzen / ergänzen. Jedes Fett hat andere Eigenschaften. Je niedriger der Schmelzpunkt ist, desto weicher wird der Bar.
Herumexperimentieren ist hier gefragt & Recherche. Ich hoffe, dass meine diversen Suchmöglichkeiten auch eine gute Hilfe dabei sind.
Eine gute Webseite zur Recherche über die diversen Öle ist z.B. auch http://www.olionatura.de.
Und ich hoffe, dass auch mein [[Schmelztemperatur-Rechner]] Dir beim Rezepte-Ändern hilft."""
<br/><br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
"""
''Ab wann verwendbar''
Nach mind. 3 Stunden Aushärtung im Kühlschrank bzw. 1 Tag Aushärtung bei Zimmertemperatur verwendbar. Die endgültige Konsistenz ist allerdings erst nach 2-3 Tagen vorhanden (Kakaobutter härtet nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
__[[Bienenwachs]]__ (0,06€)
Bienenwachs härtet den Body Melt und hat außerdem hautpflegende Eigenschaften: Besonders für trockene, spröde Haut.
__Ersatz:__ Andere Wachse (Schmelzpunkt beachten!). Oder ganz weglassen, dann aber den Kakaobutter-Anteil erhöhen.
__[[Kokosöl]]__ (0,05€)
Kokosöl lässt sich sehr leicht verteilen und zieht schnell ein, ohne einen Fettfilm auf der Haut zu hinterlassen. Besonders trockene, rissige und empfindliche Haut profitiert vom Kokosöl. Außerdem wirkt es <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungshemmend und <div class="tooltip">antimikrobiell
<span class="tooltiptext">=desinfizierend=gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> und hat einen natürlichen (leichten!) Sonnenschutzfaktor.
__Ersatz:__ Kann 1:1 durch [[Babassuöl]] ersetzt werden- quasi gleiche Eigenschaften. Wenn stattdessen mehr Öle mit niedrigem Schmelzpunkt verwendet werden sollen, dann Wachs- / Butter-Anteil erhöhen. Wenn statt des Kokosöls mehr Lipide mit höherem Schmelzpunkt verwendet werden sollen, dann den Öl-Anteil mit niedrigerem Schmelzpunkt erhöhen.
__[[Sheabutter]]__ (0,13€)
Sheabutter ist ein Konsistenzgeber mit stark hautpflegenden Eigenschaften: Trockene, rissige und beanspruchte Haut wird durch die Anwendung wieder geschmeidig. Macht den Bar auch etwas härter.
__Ersatz:__ [[Mangobutter]] (Schmelzpunkt sehr viel höher, nicht so pflegend, schneller einziehend), [[Cupuaçubutter]] (Schmelzpunkt geringfügig höher)
__[[Kakaobutter]]__ (0,27€)
Kakaobutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit hautpflegenden Eigenschaften: Hautberuhigend bei gereizter, spröder Haut, erzeugt ein wundervoll samtig-weiches Hautgefühl, fungiert auch als Träger für weitere pflegende Zusatzstoffe.
__Ersatz:__ Vollständig ersetzen würde ich sie nicht- sie sorgt dafür, dass der Bar auf der Haut zart schmilzt. Die Anteile kann man aber durchaus verändern.
[[Mandelöl]] (0,04€)
Mandelöl fettet gut nach- daher besonders für empfindliche, gereizte oder spröde Haut geeignet. Es ist sehr mild und wirkt hautberuhigend. Macht die Lippen geschmeidig und schenkt ihnen Feuchtigkeit. Es zieht zwar nicht sofort, dafür aber sehr tief in die Haut ein, wodurch der hohe Pflegeeffekt sehr gut und v.a. langanhaltend wirkt.
__Ersatz:__ Eigentlich alle Öle, insbesondere diejenigen, die unter [[Zutat:Hautzustand_Trocken]] gelistet sind.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]]
@@color:red;''Phototoxizität mancher ÄÖs beachten!!''@@ >>siehe [[!Phototoxizität mancher ätherischen Öle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' fehlendes Wasser, das <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> wirkende Kokosöl & die ätherischen Öle / Parfümöle.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 0,55€ für 19g Gesamtmenge (1 Mini-Muffin-Förmchen). Stand Mai 2019
<div style="clear:both;line-height:0px;"></div>
"""80g Kakaobutter unraff
40g Shea raff
10ml Jojobaöl
20g Babassu raff
12g Bienenwachs
8g Zartbitterkuvertüre
Beduftet mit:
11 Tr Geranium ÄÖ
11 Tr Muskatellersalbei ÄÖ
6 Tr Ylang Ylang ÄÖ
6 Tr Sandelholz ÄÖ
"""Tipp: Der Massagebar wird in der Benutzung samtiger u. "glitscht" auch nicht so beim massieren, wenn man einfach noch einen Tel. Speisestärke hinzufügt!! Oder 2 Messerspitzen auf 160g Gesamtgewicht.
Habs ausprobiert u. als sehr angenehm empfunden! (softe u. glanzlose Pflege).
evtl. ein wenig bienenwachs, dann schmelzen sie langsamer auf der haut
Mittlerweile gebe ich noch 2 grosse Ml Seidenprotein auf 160g Gesamtgewicht rein, die Haut ist dann samtweich .
"""Nachdem ich und ein befreundeter Physiotherpeut diese Mischung in der Praxis getestet haben und für gut empfinden, will ich sie mal hier reinstellen.
Massagebasiscreme
65 ml Mandelöl
30 ml Erdnussöl
25 ml Jojoba
8,5 gr. Glycerinstearat
2,5 gr. Stearinsäure
1,4 gr. Cetylalcohol
2 gr. Sheabutter raf.
120 ml Wasser dest.
5 ml Glycerin 86,5% pflanzl.
2,5 ml D-Panthenol
Konserviert habe ich mit 46 Tropfen Paraben
Öle, Glycerinstearat, Stearinsäure und Cetylalcohol auf 65º erhitzt, dann Sheabutter dazu. Dest. Wasser (65º langsam dazugegeben anfangs mit Milchaufschäumer und dann mit Spatel rühren bis es abgekühlt ist. Anschliesend Wirkstoffe dazu.
In circa 20 gr dieser Basiscreme (Menge richtet sich nach dem jeweiligen Bedarf) gebe ich dann die entsprechnden ÄÖ's und manchmal auch noch ein wenig infundiertes Öl (Johanniskrautöl, Andirobaöl etc.).
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Limette wird gern als Zusatz in erfrischenden Massageölen verwendet. Die folgende Mischung, nach dem Duschen einmassiert, lässt Dich gut gelaunt und frisch in den Tag starten."""
''Zutaten''
* 2 Tropfen [[Limettenöl]]
* 1 Tropfen [[Rosengeranienöl]]
* 1 EL [[Mandelöl]]
Alles miteinander vermischen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
Z.B. [prefix[$:/state/SampleReveal]]
<$edit-text tiddler="$:/temp/delete-filter" tag="input" placeholder="enter a filter" default="" size=50/>
<$reveal state="$:/temp/delete-filter" type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/delete-filter" $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
<$list filter={{$:/temp/delete-filter}}>
<$button message="tm-delete-tiddler" param={{!!title}}>{{$:/core/images/delete-button}}</$button> <$link to={{!!title}}><$view field=title/></$link><br>
</$list>
<<showmenu "$(currentTiddler)$">>
<div class="tc-more-sidebar">
<<tabs "[all[shadows+tiddlers]tag[Mein Such-Reiter]!has[draft.of]]" "$:/core/ui/MoreSideBar/Tags" "$:/state/tab/moresidebar" "tc-vertical">>
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Mein Such-Reiter (Links)' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
;Author:
:{{!!author}}
;Link:
{{!!url}}
"""Diese Lotion rühre ich jetzt seit Jahren, ich nehme sie übrigens auch als Gesichtscreme. Sie hat 30% Fett und relativ wenige Zutaten und pflegt die Haut wunderbar (ich habe Neurodermitis).
Die Lotion ist natürlich kein Heilmittel, aber pflegt sehr gut, vorausgesetzt natürlich, es liegen keine Unverträglichkeiten oder Allergien gegen die verwendeten Bestandteile vor
Fettphase:
7 % Lecithingranulat
4 % Sheabutter
3 % Kakaobutter
3 % Lanolin
1 % Cetylalkohol
10 % Olivenöl
3 % Jojobaöl
Wasserphase:
5 % Harnstoff
6 % Weingeist
59 % Wasser
Lecithingranulat mit dem abgekochten Wasser verrühren, Fette im Wasserbad schmelzen. Wenn die Lecithin-Wasser-Mischung etwas abgekühlt ist den Harnstoff hineinrühren und das ganze zu der Fettphase geben, das ganze möglichst hochtourig mixen.
Bei Handwärme den Weingeist dazugeben und nochmal mixen.
Ich gebe immer noch eine Messerspitze Xanthan transparent dazu, weil mir das ganze sonst zu dünnflüssig ist.
Im Winter gehe ich auf 35 % Fettphase hoch.
Die Konservierung würde ich auf jeden Fall auf 15% zur Wasserphase hochschrauben, wenn die Lotion eine längere Haltbarkeit aufweisen soll. Das wären in diesem Rezept 9 g Weingeist (96%ig).
Für Kinder: am besten keine 5% Urea, das könnte bei Kindern und/oder entzündeten Hautstellen etwas brennen. Ich würde es entweder ganz weglassen oder mich vorsichtig herantasten, so 1 - 2 % vielleicht.
Schwarztee hat viel gerbsäure und das hat sich bei meinen rezepten gegen Neurodermitis bisher sehr bewährt.
<div style="background:Plum;"><br/>
[[Wikigrößen testen & Wiki klein halten & Performance]]<br/><br/>
[[Formatieren von Text]]<br/><br/>
[[Listen erstellen]]<br/><br/>
[[Tabellen erstellen]]<br/><br/>
[[Absätze & Zeilenumbrüche]]<br/><br/>
[[Internetlinks und Links zu anderen Tiddlern einfügen]]<br/><br/>
[[Andere Webseite ins Wiki einbinden]]<br/><br/>
[[Bilder einbinden]]<br/><br/>
[[Elemente mit einem Tooltip versehen]]<br/><br/>
[[Eine Art Textbox einfügen]]<br/><br/>
[[Tags wie Tags innerhalb eines Tiddlers anzeigen]]<br/><br/>
[[Popups wie in 'Herzlich willkommen :-)' erstellen]]<br/><br/>
[[Interaktive Tiddlerlisten erstellen]]<br/><br/>
[[Tiddlywiki-Inhaltsverzeichnisse erstellen -z.B. für die Seitenleiste]]<br/><br/>
[[Anleitung: Farbiger Titelhintergrund für Tiddler mit bestimmten Tags]]<br/>
[[Tiddlerlink farbig in der Seitenleiste]]<br/><br/>
[[Tiddler-Hintergrundfarbe ändern (oder Teile v. Tiddler)]]<br/><br/>
[[Anleitung: Seiten und Tiddler Style]]<br/><br/>
[[ToDo-Listen mit Fälligkeitsdatum erstellen]]<br/><br/>
[[Buttons erstellen (z.B. für Tiddler-Editor-Toolbar, für die Seitenleiste oder innerhalb eines Tiddlers)]]<br/><br/>
[[Reiter für die Seitenleiste erstellen]]<br/><br/>
[[Anderer Name für Tiddler-Link in Seitenleiste gewünscht?]]<br/><br/>
[[Suchen & Filtern, und damit interaktive Tiddlerlisten erstellen]]<br/><br/>
[[Zeitstempel in Tiddlern erzeugen & anzeigen lassen]]<br/><br/>
[[Berechnungen "unsichtbar" innerhalb von Tiddlern durchführen|Rezepte: Zutatenmengen automatisch neu berechnen]] Am Beispiel von Zutaten-Berechnungen in Rezepten<br/><br/>
<div style=>
---
TiddlyWiki-Version herausfinden mit: `<<version>>` = <<version>>
Anleitung mit Beispielen / Ideen für CSS-Styling: https://www.w3schools.com/css/css_examples.asp
Colorpicker: https://www.w3schools.com/colors/colors_picker.asp
[[Englische Farbtabelle|https://bfw.ac.at/020/farbtabelle.html]]
Eigene Farbskalierung, aber nur mit Nummern: http://paletton.com/index.html#uid=51b0u0kq2XteoYNkBY9vOVIRGRt
<div style="background:white;"><br/>
[[Neu erstellte / geänderte Anleitungen nach Datum sortiert]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Mein Arbeitsbereich' sort[title]>>
</div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""für Mischaut. Mit meinem Fluid ist sie jetzt happy, da es ihr kein fettes Hautgefühl gibt, sondern schön versorgt und optimal pflegt.
Das Rezept:
5 ml Aprikosenkernöl
3 ml dest. Wasser
4 ml Meristem-Extrakt
40 ml Wacholderhydrolat
0,5 g Harnstoff
ca. 1g Xanthan
Harnstoff in Hydrolat auflösen und die restlichen Zutaten zumischen. Xanthan in ein verschraubbares Gefäß geben und mit der Flüssigkeit gut schütteln bis zu eine schönen zähflüssigen Konsistenz.
Zum Schluß kommen noch
1 Tr. ÄÖ Anis und
1 Tr. ÄÖ Meerkiefer dazu.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/965b6d7d8c.jpg" style=" float:left;padding: 0 2em 0 0;"/><br/>
''Ersatz'': Man kann auch irgendeinen anderen Löffel nehmen- am besten einen Teelöffel. Ideal ist aber so ein Doppelmesslöffel. Links für 2,5ml, rechts für 1ml. Oft messe ich mit einer Seite und rühre mit der anderen.
''Erhältlich bei'': Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], jedoch nicht in Drogerien & Biomärkten.<br/><br/><br/><br/><br/>
''Für welche getesteten Rezepte benötigt:''
* [[Antibakterielle Mundspülung- ideales Einsteiger-Rezept]]
* [[Massagebar]]
* [[Handmelt (Handcreme am Stück)]]
* [[Cremespülung für feines trockenes Haar]]
* [[Deocreme im Döschen- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]
* [[Deostick]]
* [[Hair Repair / Haarspitzenfluid]]
* [[Handwaschbar für Handwerker, rückfettend]]
* [[Handwaschbar Kokos-Roggen ('Handseife')]]
* [[Handwaschbar Olivenschaf ('Handseife')]]
* [[Handwaschbar Shea-Doppelschaf ('Handseife'), rückfettend]]
* [[Kalkentferner- ideales Einsteiger-Rezept]]
* [[Lippenpflegestift]]
* [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]
* [[Zahnpasta]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
<img width=350 src="https://share-your-photo.com/img/cb241b83df.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>"""
''Art / Konsistenz der Zutat:'' Farbe, Pulver, ''Löslichkeit:'' Wasser- & fettlöslich
''Ursprung/Beschreibung:'' Diese Mineralpuder-Pigmente sind kosmetisch geprüfte Schimmerpigmente, die absolut natürlichen Ursprungs sind und aus feinst gemahlenen und gereinigten Gesteinen gewonnen werden.
Sie basieren auf mit Eisenoxiden, Titan- oder Zinnoxid, Silicium, Ultramarinen oder Manganviolett beschichtetem Mica (Glimmer) und erhalten so ihre wunderbare Farbvielfalt und ihren Glanz. Je nach Partikelgröße variieren sie in der Deckkraft und der Ausprägung des Glanzes: Je kleiner die Partikelgröße, desto weniger Glanz und desto höher die Deckkraft.
Sie eignen sich zum Färben von Seifen & Dusch- / Handwasch- / Shampoobars, als Schimmerzusatz in Bodylotions und LIppenpflegeprodukte sowie zur Herstellung von Make-Up und Schminkprodukten.
Der Schaum von Seifen & Dusch- / Handwasch- / Shampoobars bleibt weiß.
Die Pigmente lassen sich untereinander mischen.
''INCI-Bezeichnung:'' Mica (und andere- je nach Farbe)
''Duftprofil:'' Geruchlos
''Einsatzkonzentration:'' Lippenstift, Lip Gloss: 5–10%
Eyeshadow: 10–40%
Blush: 2–10%
Seife: 1–5%
''PH-Wert'': 6.0–9.0 (4% h₂0)
''Haltbarkeit (nach Öffnung):'' Sehr lange- es steht kein MHD drauf.
''Lagerung:'' trocken, sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], außer Drogerien und Biomärkten. Ich kauf meines bei Alexmo (https://www.alexmo-cosmetics.de/Farbige-Mica).
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Mica]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Mica]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
<img width=200 src="https://share-your-photo.com/img/221513d28b.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/><br/><br/>
"""
''Art / Konsistenz der Zutat:'' Pulver, ''Löslichkeit:'' Wasser- & fettlöslich
''Ursprung/Beschreibung:'' Die Herstellung von Milchpulver erfolgt durch Sprühtrocknung der frischen Milch, der nichts entzogen wurde. Durch die Sprühtrocknung wird nur das Wasser entzogen und nichts hinzugefügt.
''INCI-Bezeichnung:'' Siehe die einzelnen Sorten (leider nicht alle INCIs herausgefunden)<br/><br/><br/><br/>
''Besonderheit / kosmetische Wirkung / Heilwirkung und Verwendung für:'' """
* __Buttermilchpulver__ macht in Seifen einen cremigen Schaum und in Cremes / Lotions ein molliges samtiges Auftragegefühl und bringt viel Pflege. Enthält bis zu 75% Kalzium, Lecithin, Milcheiweiß. Wirkt pH-Wert-regulierend, rückfettend und beugt Trockenheit vor. Dank der hohen Milchsäure hat sie auch eine regenerierende Wirkung in Bädern, Seifen, Cremen, Butter, Hand- & Fußcremen /-Masken, Badekugeln etc. INCI: Buttermilk Powder
* __Joghurtpulver__ enthält v.a. Kalzium; weitere Mineralien sind Phosphor, Fluor, Jod, Kupfer, Zink, Vit. A, B1, 2, 6, 12 u.a.. Die enthaltenen Bakterienstämme wirken sich günstig auf den Körper und die Haut aus. In Seifen, Butter, Cremen, Masken, Bäder, Bomben, Reinigung u.a. INCI: ?
* __Molkepulver__ enthält viel Kalium, weiters Kalzium, Natrium, Vit. B 1, 2, 6 u.a. und Säurebakterien fördern eine gesunde Haut. In Kosmetikprodukten, v.a. bei Pigmentierungen, Seifen, Bäder, Fußbäder, Masken, Reinigungen u.v.a. macht es die Haut seidig & glatt. Es macht in Seifen schönen cremigen Schaum und hinterläßt ein tolles weiches Gefühl auf der Haut. INCI: ?
* __Schafmilchpulver__ hat einen hohen Fett- und Proteingehalt und wirkt daher gut rückfettend & pflegend. Ideal für Milchbäder, Seife, Cremen, Badebomben und Badezusätze. Es beruhigt, pflegt, glättet die Haut und ist reich an Vit. A, D und E. In der Seifenherstellung sorgt es für ein samtig, cremiges Schaumerlebnis. INCI: ?
* __Stutenmilchpulver__ soll z.B. sehr gut bei Neurodermitis und Ekzmen helfen. Stutenmilch wirkt auf die Haut beruhigend, entzündungshemmend und auch leicht antibakteriell. Es ist reich an Spurenelementen, Mineralien und wertvollen Vitaminen. Die enthaltenen ungesättigten Fettsäuren, Proteine und Enzyme pflegen die Haut und Haare auf natürliche Weise. Bei trockener Haut hilft es die Feuchtigkeit wieder zu speichern und so die Hautelastizität zu steigern. Bei reifer Haut fördert es die Regeneration der Hautzellen, wodurch die Haut wieder jünger & strahlender aussieht. INCI: maremilk
* __Ziegenmilchpulver__ enthält sehr viel Mineralstoffe / Spurenelemente & Vitamine und ist der Muttermilch von der Struktur her recht ähnlich--> sehr schöne Pflegewirkung, löst sich aber schlechter auf, als andere Milchpulver. Vollbepackt mit Vitaminen und wichtigen Spurenelementen und fast 2% Proteinanteil ist dieses Milchpulver hervorragend für Cremes, Lotions & Seifen geeignet. Macht wunderbar weiche Haut, regt die Zellstruktur an und das Gewebe. INCI: goat milk powder
""" ''Duftprofil:'' Achtung: Ziegenmilchpulver soll intensiv nach Ziege riechen! Schafmilchpulver hat für meine Nase einen nur leichten Milchduft- auch alle anderen Milchpulver werden bzgl. Geruchs nicht gesondert erwähnt.
''Einsatzkonzentration:'' ?
''Haltbarkeit (nach Öffnung):'' ?
''Lagerung:'' Trocken lagern- sonst nichts zu beachten.
''Beachte / Verarbeitungstip:'' /
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kauf meins bei behawe oder Manske, ansonsten nur bei wenigen Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle. Magermilchpulver ist im Supermarkt / Biomarkt & in Drogerien erhältlich, jedoch keine anderen Milchpulver.
''Worauf beim Kauf achten:''
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Milchpulver]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Milchpulver]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/b788463590.jpg" style=" float:left;padding: 0 2em 0 0;"/><br/>
''Ersatz'': Keiner. Du brauchst einen Milchschäumer, wenn Du z.B. Gelbildner / Verdicker wie Xanthan, Guarkernmehl oder Haarguar in Dein Rezept rühren möchtest. Einfach "nur rühren" bringt Dir Klumpen ins Rezept...<br/>
Oder ein anderes hochtouriges Rührgerät
''Erhältlich bei'': Ich hab den bei Amazon gekauft, gibts aber auch bei Ebay, Elektromärkten, größeren Kaufhäusern und selbst bei Real. Allerdings sollte es schon ein relativ guter sein mit viel Power, da die Verdickung beim Rühren dem Schäumer einiges abverlangt. Also immer vorher die Batterien voll aufladen!
Dieser hier ist besonders gut, da man ihn schnell mal irgendwo abstellen kann.
<br/><br/>
''Für welche getesteten Rezepte benötigt:''
* [[Cremespülung für feines trockenes Haar]]
* [[Kalkentferner- ideales Einsteiger-Rezept]]
* [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]]
* [[Zahnpasta]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""4 Teile Titanoxid
1 Teil Seidenweiß (mit Mica)
1 Teil Zinkoxyd (bei trockener Haut weglassen, bei fettiger/unreiner Haut erhöhen)
1 Teil Pigmente (je nach Hautfarbe: viel Ocker, mittel Dunkelbraun, wenig rotbraun)
Alles zusammen im Mörser gründlich vermischen und durch Zugabe von Pigmenten die Farbe abstimmen (im Gesicht nicht auf dem Handrücken).
MF wird hauchdünn mit einem dichten Pinsel aufgetragen. Wirkt deckend wie ein Makeup, ist aber nahezu unsichtbar auf der Haut und verstopft die Poren nicht. Außerdem sieht man nicht aus wie ein Indianer, weil man sich die Farbe selbst mischen kann.
"""Ich habe einen Messlöffel (nein, nicht den HT-Messlöffel), der 2 Seiten hat und habe als Masseinheit den kleineren Teil hergenommen beim Abmessen. Immer wieder was dazugemischt, bis ich den Cory-Ton (fast) getroffen hab. Aufgefallen ist mir, dass man sehr viel Titandioxid braucht und nur ganz wenig Braun.
Ich poste jetzt hier mal die "Anteile" der Pigmente - was ihr dann als eigentliche Masseinheit hernehmt bleibt Euch ja selbst überlassen (nur für den Fall, dass ihrs vielleicht auch mal ausprobieren wollt)
1 Teil Braun
4 Teile Ocker
12 Teile Gelb
23 Teile Titandioxid
1 Teil Rotbraun
Das hab ich gemörsert und gemörsert und gemörsert. und zum Schluss kam noch:
2 Teile Seidenweiß
dazu, weil mir die Cory-MF etwas zu "hart" ist. Die ganze Chause hab ich dann in einen Schüttelbecher gefüllt und geschüttelt, damit der Glanz des Seidenweiß nicht verloren geht.
Ich habe keinen Unterschied in der Konsistenz festgestellt, das Auftragen hat genauso geklappt wie bei der Cory-MF und, ich finde *angeb* die Farbe ein klein wenig schöner als die passende Cory-MF (das war übrigens Beyond Cream).
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
@@.lefttable
|<img width=270 src="https://share-your-photo.com/img/5b147bb647.jpg"/>||
|<h6>Uwe W., [[Lycaena phlaeas on mint flower 3|https://commons.wikimedia.org]]),<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
!!''Ätherisches Öl "Minzöl" (Pfefferminze oder Krauseminze)''<br/>
''Ich beschreibe hier die Pfefferminze. Die Krauseminze hat aber ähnliche gesundheitliche Heilwirkungen. Durch das Fehlen von Menthol ist sie für Kinder und empfindliche Kranke aber oft verträglicher als die Pfefferminze. Außerdem kann man sie verwenden, auch wenn man homöopathische Mittel nimmt (was mit Pfefferminze aufgrund des Mentholgehalts nicht geht). Und sie schmeckt nicht ganz so scharf.''
''Ursprung/Beschreibung:'' Die Pfefferminze (Mentha piperita) wird bis zu 90cm hoch, gehört zu den Lippenblütlern (Lamiaceae) und blüht von Juli-September. Sie wird in großen Teilen Europas und Amerikas angebaut und wächst ziemlich unkompliziert in Hausgärten und kommt Jahr für Jahr wieder, wenn sie erst mal heimisch geworden ist. Zum Teil wuchert sie sogar.
Zur Aufbereitung als pflanzliche Arznei dienen die Pfefferminzblätter.
''INCI-Bezeichnung:'' Mentha Arvensis Herb Oil / Mentha arvensis leaf oil / Mentha spicata herb oil
''Inhaltsstoffe:'' Die Pfefferminzblätter enthalten zu 0,5-4% ätherisches Öl, dieses setzt sich hauptsächlich aus den Substanzen Menthol, Menthylacetat, Menthon & Menthofuran zusammen. Außerdem Gerbstoffe, Bitterstoffe, Flavonoide, Enzyme, Valeriansäure.
''Besonderheit / Heilwirkung:'' <div class="tooltip">Antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span></div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span></div>, beruhigend, entzündungswidrig, keimtötend, galletreibend, krampflösend, schmerzstillend, <div class="tooltip">tonisierend
<span class="tooltiptext">vitalisierend, stärkend, erfrischend, kräftigend</span></div>.
''Tipp für die Verarbeitung:'' Es tropft extrem schnell- also gut konzentrieren & das Fläschchen nicht zu steil halten!
''Nebenwirkungen & bei Anwendung beachten:'' In der Schwangerschaft sollte man Pfefferminze, wie auch alle Minzarten, nicht verwenden, denn sie könnte eventuell Fehlgeburten auslösen.<br/>
Ausserdem vertragen manche Menschen keine Pfefferminze- sie bekommen dadurch Magenschmerzen. In manchen Fällen wird die mildere Wasserminze besser vertragen.<br/>
Wende Pfefferminzöl nie unverdünnt an- weder innerlich noch äußerlich. Auf der Haut kann das konzentrierte Öl zu Reizungen führen. Innerlich kann es zu Magen-Darm-Beschwerden kommen.<br/>
Wer Pfefferminze als Arzneimittel (zum Beispiel als Kapsel) einnimmt, kann darauf eventuell mit Übelkeit und Erbrechen reagieren. Manchmal tritt auch Sodbrennen auf. Wer Probleme mit der Galle hat, sollte das Heilkraut nicht einnehmen.
Der Inhaltsstoff Menthol kann bei Säuglingen und Kleinkindern Atemnot auslösen, wenn er in die Nähe von Mund oder Nase gerät. Deshalb Pfefferminzöl nicht auf die Brust massieren und das Kind auch nicht daran riechen lassen. Außerdem kann bei Kleinkindern eine zu hohe Gabe von Pfefferminzöl zu schwerer Atemnot bis hin zu Atemstillstand führen.<br/>
Auch Menschen, die an Asthma leiden, müssen vorab mit dem Arzt abklären, ob sie entsprechende Mittel einnehmen dürfen. Inhalieren mit ätherischen Ölen ist für sie tabu, da dies einen Asthmaanfall auslösen kann.<br/>
Aufgrund der hohen Reizwirkung von Pfefferminzöl sollte darauf geachtet werden, es nicht direkt mit Schleimhäuten in Kontakt zu bringen. So kann eine zu hohe Konzentration von Menthol in der Luft- z.B. wenn das Öl als Duftöl in geschlossenen Räumen verwendet wird- bereits zu einer starken Reizung der Augen führen. Pfefferminzöl sollte niemals auf offene Wunden gegeben werden, da durch die Reizwirkung der Heilungsverlauf beeinträchtigt werden kann.
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, bei http://www.biologisch-hannover.de/ in Hannover-Linden oder bei https://lindenbluete.de/ in Hannover-Linden.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Worauf beim Kauf achten:'' /
''Ernte:'' Im Frühsommer vor der Blüte.<br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Minzöl (Pfefferminze oder Krauseminze)]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Minzöl (Pfefferminze oder Krauseminze)]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">"""
Inhalieren lässt sich Minzöl auch. Ähnlich wie andere Heilkräuter, die ätherische Öle enthalten (Thymian, Eukalyptus, Rosmarin), kann es festsitzenden Schleim aus den Bronchien lösen. Außerdem fördert das Öl dessen Abtransport. Dadurch kann Pfefferminze die Atemwege bei Schnupfen und Husten befreien helfen.
Menthol hat schleimlösende Wirkung, weshalb das Pfefferminzöl sehr gut bei Erkältungen wirkt. Für diese Wirkung stehen zahlreiche Produkte, vor allem Salben zur Verfügung. Pfefferminzölsalben werden zu diesem Zweck auf die Brust oder unter die Nase gerieben, damit das enthaltene Menthol inhaliert wird. Dadurch fühlt man sofort eine Erleichterung seiner Atmung. Aufgrund seiner <div class="tooltip">antibakteriellen
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> Wirkung wirkt das Menthol auch direkt gegen die erkältungsauslösenden Bakterien und hilft den Krankheitsverlauf zu verkürzen.
''Meine Erfahrung damit:'' Seit vielen Jahren immer wieder sehr hilfreich :-)
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Papaver Somniferum (Seed) Oil
''Jodzahl:'' 133–145 (halbtrocken/trocken)
''Schmelzbereich:'' -20°C bis -17°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 0,4–2%
''Verseifungszahl:'' 197–200
__Je nach Komposition mit anderen Ölen kann Mohnöl sowohl bei fettenden Hautzuständen wie auch bei trockener, sensibler Haut sinnvoll eingesetzt werden.__
Das dem Sonnenblumenöl im Fettsäurespektrum ähnliche Mohnöl ist __im Hautgefühl eher leicht__; sein gegenüber ersterem ausgeprägte Palmitinsäureanteil gibt ihm jedoch eine __deutlich schützendere Wirkung__. Ich habe es in der Anwendung als sehr sanftes und __irritierte, zu Rötungen neigende Haut beruhigendes__ Öl schätzen gelernt, das mit Linol- und Palmitinsäure zwei die Hautbarriereschicht unterstützende Fettsäuren mitbringt. Wer ein __haptisch leichtes, mildes und dennoch regenerierendes__ Öl sucht, findet in Mohnöl möglicherweise seinen Favoriten. Optimal wird Mohnöl mit oxidativ stabilisierenden Ölen wie Jojoba-, Wiesenschaumkrautöl oder Squalan gemischt, z.B. ergänzt mit Kameliensamenöl (__bei sensibler Haut__), mit Argan- oder Avocadoöl (__bei trockener und reifer Haut__) oder mit Traubenkernöl (__v.a. bei von leichten Unreinheiten betroffener, fettender Haut__).
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Mohnöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Mohnöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""3 Essl. Molkepulver
2 Essl. totes Meersalz
1 Essl. Mandelöl
äth. Öl nach Nase
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Müdigkeit:''<br/><br/>
<$list filter="[tag[Müdigkeit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Müdigkeit:''<br/><br/>
<$list filter="[tag[Müdigkeit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Mulsifan ist wohl PEG-basiert!!!
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Ich hatte eine Probe des Xylitgels von der Stockdorf-Apotheke. Das ist nicht konserviert. Angeblich wirkt das Xylit in 50%iger Dosierung konservierend, so habe ich das auch von Dr. Bruhn in seinem Xylitforum gelesen. Ich habe aber mal eine Mundspülung mit 50% Xylit hergestellt, die war nach einigen Tagen nicht mehr klar, sondern hatte seltsame Schleier drin. Also scheint Xylit doch nicht ausreichend zu konservieren...?
''Alle getesteten Rezepte bei Mundgeruch:''<br/><br/>
<$list filter="[tag[Mundgeruch]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Mundgeruch:''<br/><br/>
<$list filter="[tag[Mundgeruch]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Problemen betreffend Mundraum / Zähne:''<br/><br/>
<$list filter="[tag[Mundgeruch]] [tag[Mundschleimhautentzündung]] [tag[Zahnschmerzen]] [tag[Aphthen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte bei Problemen betreffend Mundraum / Zähne:''<br/><br/>
<$list filter="[tag[Mundgeruch]] [tag[Mundschleimhautentzündung]] [tag[Zahnschmerzen]] [tag[Aphthen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Mundschleimhautentzündung:''<br/><br/>
<$list filter="[tag[Mundschleimhautentzündung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Mundschleimhautentzündung:''<br/><br/>
<$list filter="[tag[Mundschleimhautentzündung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Hydrolate aus Minze, Salbei, Rosmarin, Thymian, Annakraut, Myrrhe, Zypresse zusammenmischen.
Mein neuer Test (Oktober 2019):
Entweder Mundwasser:
200ml Grüner Tee (enthält Fluorid! Sonstige Wirkungen auf Zähne/Mundraum??) + Salbeitee
16g Xylit
1 TL Natron
0,8 TL Meersalz
bis zu 10 Tropfen Minzöl
3 Tropfen Nelkenöl
3 Tropfen Teebaumöl ?
3 Tropfen Thymianöl
1 Tropfen Zimtöl
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Muskelkater:''<br/><br/>
<$list filter="[tag[Muskelkater]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Muskelkater:''<br/><br/>
<$list filter="[tag[Muskelkater]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Muskelschmerzen:''<br/><br/>
<$list filter="[tag[Muskelschmerzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Muskelschmerzen:''<br/><br/>
<$list filter="[tag[Muskelschmerzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Gesamtmenge: ca. 100 g
Fettphase: 20%
70.00 g Wasser
10.00 g Mandelöl
10.00 g Glycerinstearat SE (oder anderen Emulgator)
10.00 g Ethanol (96%)
0.80 g - 1.00 Xanthan transparent
Milchsäure für die Einstellung des pH Wertes um 5.4.
Dieser Nachbau der Weleda Reinigungsmilch kommt ohne die üblichen Tenside aus. Wer mit Lysolecithin nicht klar kommt aber auch keine Tenside und Seife für die Gesichtsreinigung verträgt, der kann mal diese Milch probieren. Die Reinigung funktioniert durch den höheren Emulgatorenanteil.
Die Mengen sind von mir anhand der INCI geschätzt, sollten aber dem Orginal sehr nahe kommen. Weleda hat noch Pflaumenkernöl mit dabei, was der Milch einen zarten Duft verleiht.
Damit lässt sich auch sehr gut das Augen Make up entfernen.
"""18 g Fettphase
12 ml dest. Wasser abgekocht
14 ml Salbeitee sehr stark gekocht und evtl. über Nacht ziehen lassen
15 Trpf. Meristemextrakt
10 Trpf. Weizenprotein
1 g D-Panthenol 75
10 trpf. Aloe Vera 10 fach
2 g Harnstoff in warmem Wasser aufgelöst
1 Messerspitze Allantoin
5 Trpf Paraben K
3-6 Trpf äth. Öl oder Duftöl nach Wahl
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Oenothera Biennis (Evening Primrose) Oil
''Jodzahl:'' 145–162 (halbtrocken/trocken)
''Schmelzbereich:'' -10°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 1,5–2%
''Verseifungszahl:'' 184–194
__Besonders für trockene, empfindliche, schuppige und entzündliche Haut geeignet. Lindert z.B. Schuppenflechte & Neurodermitis und verleiht der Haut Elastizität und Spannkraft. Die Schuppenbildung und der Juckreiz werden gemindert.__
Das Öl der Nachtkerze ist sowohl innerlich als auch äußerlich prädestiniert für __schuppige, entzündliche und dermatitische Haut__. Essentielle Fettsäuren (so nennt man Fettsäuren, die nicht selbst vom Körper hergestellt werden können) sind wesentliche Bausteine für die Synthese von Phospholipiden, aus denen die Membrane der Hautzellen gebildet werden. Studien konnten belegen, dass Linol- und γ-Linolensäure bei topischem (also äußerlichem) Auftrag in die Lipidstrukturen der Haut eingebaut werden und sie regenerieren; __Hautrauigkeit und transepidermaler Wasserverlust__ konnten deutlich gesenkt werden. Auch __unreine Haut__ profitiert von Rezepturen mit diesem Öl.
Nachtkerzenöl ist aufgrund seines Fettsäurespektrums ein ausgezeichnetes Wirkstofföl und optimiert jede Mischung mit einem ölsäurebetonten Basisöl wie z. B. Aprikosenkern- oder Mandelöl. In Kombination mit α-linolenreichem Wildrosenöl deckt es die wesentlichen Linolensäuren ab; es ist eine meiner Lieblingsmischungen für __reife, trockene Haut__.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Nachtkerzenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Nachtkerzenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""25 g Weingeist
5 g Benzoe gemahlen
1 g Kieselsäure
0,30 g Pigment Ice Red (weil sie schreiben, dass sie sehr ergiebig sein wollen. Laut Link kann man wohl viel mehr nehmen).
Benzoe fein mahlen oder fein mörsern.
Weingeist erwärmen und bei ca 50 Grad das Benzoe dazu rühren. Ich konnte es kaum glauben, aber bei 65 Grad fing die Masse an zu sprudeln!
die Pigmente zuerst eingefüllt und danach die Kieselsäure. Ganz langsam, um es nicht zu fest werden zu lassen wie letztes Mal.
Bei der angegeben Menge habe ich das 1. Nagellackfläschchen befüllt. Die Masse war noch ziemlich flüssig.
Ich habe dann weiter Kieselsäure mit dem schmalen Ende von einem doppelten Dosierloffel eingefüllt, bis ich ca 8 Einheiten mehr drinhatte. Dann wurde es so langsam fester und ich habe die Masse in das 2. Nagellackfläschchen gefüllt. Einfach um später den Unterschied zu erkennen.
Der Inhalt vom 2. Nagellackgläschen hat sich allerdings erstmal getrennt, keine Ahnung warum und ich habe es wieder zurück ins Laborglas geschüttet.
Alles nochmal vermischt und es dann noch einmal ins Nagellackgläschen gefüllt. So war es ok.
Den Rest im Laborglas habe ich dann noch weiter mit Kieselsäure aufgefüllt, aber beim 10. Löffel (insgesamt) wurde die Masse zäh und ich habe es gelassen. Habe es später entsorgt.
Er hält!Man sollte nur nicht mit spitzem Gegenstand drankommen, wie beim üblichen Nagellack auch nicht. Habe meinen Nagellackentferner (acetonfrei) dafür genommen, geht gut ab damit.
Es gab trotz gutem Ausputzen des Behälters nach dem Mahlen des Benzoes weniger Masse als abgewogen.
Mit kosmetischem Basiswasser (96 %) habe ich die Gläschen gut säubern können, innen musste ich mit Wattestäbchen nachhelfen. Man kann auch anderen Alkohol nehmen, aber da ich den hier habe und damit eh immer desinfiziere, habe ich mich dafür entschieden.
"""ich habe seit über 4 Jahren an einem Nagelöl experimentiert, über die Jahre sind mehr Wirkstoffe eingeflossen, und seit einem 1 Jahr verwende ich nun genau diese Mischung. Es ist eine Schüttellotion, die sich gut einmassieren lässt und ein sehr angenehmes, weiches Hautgefühl gibt.
10 ml Avocadoöl (am besten das grüne- riecht aber evtl. scheiße, das raffinierte geht aber auch)
10 ml Olivenöl
10 ml Nachkerzenöl
10 Tropfen Keratin
20 Tropfen Weizenprotein
10 Tropfen ÄÖ Zitrone
10 Tropfen ACE
Gut schütteln und 2-3x täglich in die Nägel/Nagelhaut einmassieren. Pflegt Nägel und Nagelhaut, macht wirklich feste Nägel, wo nichts mehr absplittert. Nagellack ist allerdings für mind. 4 Wochen tabu.
Ich habe eine Variante davon gebastelt, und zwar Cold-Cream-ähnlich:
Fettphase (30g)
5g Kakaobutter
5g Lanolin
5g Bienenwachs
15g Öl (Olive, Hanf, Avocado)
Wasserphase (20g)
10g Aloe-Vera-Gel
10g Glycerin
in die fertige Creme:
5 Tr. keratin
10 Tr. Weizenprotein
5 Tr. ÄÖ Zitrone
5 Tr. ACE-Fluid
Konservierung
Mir ist das von der Konsistenz her einfach angenehmer als ein Öl, und was für die Feuchtigkeit ist auch dabei. Ich verwende das seit ca. 3 Wochen leidlich regelmäßig und habe das Gefühl, dass meine Nägel besser sind. Plus: die Nagelhaut profitiert von der abendlichen Pflege.
Die "Wasser"phase habe ich in die aufgeschmolzenen Fette gegeben, und das relativ kalt. Nur als alles (Fette, Wachs) fast aufgeschmolzen war habe ich das Gläschen mit dem Glycerin/AV so ca. eine Minute mit ins Wasserbad gestellt.
Und gerührt habe ich, glaube ich, mit meinem Miniquirl. Die Masse war zu wenig für das Handrührgerät.
Das Zeug ist sogar immer noch stabil, ich habe allerdings leider zwischendurch die regelmäßige Nutzung vernachlässigt. Das viele Wachs macht mir nichts, das zieht weg oder landet schlimmstenfalls an der Bettdecke. Ich massiere aber immer nur wenig ein.
Eine Weile habe ich nur natives Olivenöl für die Nagelhaut benutzt, es pflegt und regeneriert sehr gut, zieht allerdings nur langsam ein.
"""sind dünn, reissen bei jeder gelegenheit ein, sind trocken, gerillt, spröde und spalten sich der länge nach.
Für diese habe ich nun seit ca. 3 monaten eine pfelge gefunden, die wirklich hilft und die nägel viel elastischer und glatter macht.
''1. nagelfeuchtigkeitsgel.''
1gr jojoba
1gr 1glycerin
1gr melissengeist
2gr panthenol
5 Tropfen bisabolol
1msp natrosol
add 10 hydrolat
1tr weihrauch
4tr ylang ylang
Ich stelle davon eine kleine menge her und gebe sie in eine nagellackflasche. das ist jetzt sehr hoch dosiert, aber es ist ja ein konzentrat.
Ich benutze es 2-3x die woche und es macht die nägel etwas fester. Das bisabolol kann man auch gerne niedriger einsetzen. Es pflegt die nagelhaut und läßt sie heilen.
Das Nagelwachs nehme ich als schutz, wenn ich viel mit wasser arbeite. Nur das ich den wachs jetzt vor dem wasserkontakt nehme und manchmal auch danach. Das hat sich als sinnvoller erwiesen.
Weihrauch und ylang sind nicht zwingend. Du kannst auch andere ÄÖs nach gusto nehmen.
''2. nagelwachs:''
5gr öl
3gr bienenwachs
2gr lanolin
10tr bisabolol
10tr panthenol
dieses feste wachs gebe ich nach dem trocknen über die das feuchtigkeitsgel, damit die feuchtigkeit etwas länger im nagel bleibt.
Nach jedem spülen, duschen oder baden nehme ich das wachs ebenfalls, da es die aufgequollenen nägel abdichtet und verhindert, das zuviel feuchtigkeit aus den nägeln verschwindet.
Die dosierung der wirkstoffe ist sehr hoch, aber die pflege kommt ja auch nur auf die nägel. Wer will kann sie aber veringern.
Im prinzip benutze ich nach jedem wasserkontakt das wachs für meine nägel. Zumindest versuche ich es so zu machen. Klappt natürlich nicht immer. Aber das töpfchen steht in der küche griffbereit.
Das feuchtigkeitegel nehme ich 3x die woche in der früh.
"""Rezept zur Pflege brüchiger und trockener Nägel.
Dieses Öl (eigentlich eine Emulsion) kräftigt und pflegt brüchige und spröe sowie strapazierte Nägel. Es macht die Nägel bei regelmäßiger Anwendung elastischer und widerstandfähiger und pflegt auch die Nagelhaut.
Fetthase
10 ml Borretschöl
10 ml Avocadoöl grün oder Olivenöl nativ
10 ml Jojobaöl
1,5 g Ceralan (Bienenwachsderivat)
1 ML Vitamin-E-Acetat
Wirkstoffe
1 kl. ML Elastin- oder Keratinpulver
1 ML Seidenprotein
1 ML Nuratin P (Weizenprotein)
1 ML D-Panthenol
5 g Fluidlecithin super
1 ML Nachtkerzenöl kalt gepresst
1 ML Weizenkeimöl kalt gepresst
15 Tr. Vithaar
15 Tr. Pro-Vit F
15 Tr. Kamillenextrakt
2 geh. ML Kieselerde (Abtei) ruhig auch ein bisschen mehr
6 Tr. Paraben
Duft (ich habe genommen: 4 Tr. ÄÖ Orange, 2 Tr. ÄÖ Grapefruit, 2 Tr. ÄÖ Limette, 4 Tr. ÖL Zitrus-Kräuter von behawe)
Herstellung
Fettphase vorsichtig einschmelzen, etwas abkühlen lassen.
In der Zeit das Elastin- oder Keratinpulver mit den wässrigen Zutaten (Seidenprotein, Weizenprotein, D-Panthenol, Vithaar und Kamillenextrakt) verrühren.
In ein zweites kleines Becherglas das Kieselerdepulver geben und langsam unter Rühren die Fettphase einrühren, darauf achten, dass die Kieselerde nicht klumpt.
Danach das angerührte Gemisch aus Keratin und Flüssigkeiten sowie die restlichen Zutaten unterrühren.
Abfüllen in Pinselfläschchen, Menge reicht für ca. 4 Fläschchen á 10 ml.
Das Ceralan ist modifiziertes Bienenwachs und sorgt dafür, dass die Kieselerde im Öl schwimmt und sich nicht absetzt. Man kann statt dessen auch normales Bienenwachs nehmen, muss das Serum immer vor Gebrauch gut schütteln.
Anwendung
Täglich abends auftragen, gut einmassieren und möglichst vollständig einziehen lassen. Durch die Kieselerde erscheint das Serum etwas feinsandig.
''Alle getesteten Rezepte bei Nahrungsmittelallergie:''<br/><br/>
<$list filter="[tag[Nahrungsmittelallergie]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Nahrungsmittelallergie:''<br/><br/>
<$list filter="[tag[Nahrungsmittelallergie]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Narben:''<br/><br/>
<$list filter="[tag[Narben]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Narben:''<br/><br/>
<$list filter="[tag[Narben]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Jojobaöl
3 Teile Cajeput
1 Teil Teebaumöl
2 Teile Lavendel
ÄÖ´s in Lipglos-Roller tropfen mit Jojobaöl auffüllen.
Bei Bedarf unter die Nase reiben, macht die Nase frei und hält die Haut geschmeidig.
Die stark antiseptische Wirkung der ÄÖ hält das Öl bis zum nächsten Schnupfen keimfrei.
Ich benutze den Nasenroller seit einer Woche und bin superzufrieden damit. Zum ersten Mal keine rissige, wunde Haut unter der Nase und für unterwegs ist der Roller auch super-praktisch.
Beim nächsten Mal probiere ich das Öl mit einem winzigen Stück Lanolin drin aus.
"""
---------------------------------------------------------------------------------------------------------
"""Und das ist mein Nasenöl für trockene Nasenschleimhäute:
7 g Lanonlin Anhydrit
7 g Jojobaöl
3 Tropfen äth. Bergamotteöl
Eine Wohltat für die Nase.
"""Dieses Rezept für eine halbfeste Nasensalbe habe ich für eine Freundin zusammengestellt. Gedacht war sie für ihre trockenen Nasenschleimhäute.
Mittlerweile hat sich die heilende Salbe bei akuten Entzündungen und chronisch entzündeter Nasenschleimhaut bewährt.
Sie riecht auch sehr angenehm.
Für Lanolinjunkies nicht geeignet, da der Lanolingeruch nicht mehr wahrnehmbar ist.
Rezept:
7 g Lanolin anhydrit
3 g Avocadoöl
3 g Jojobaöl
1 g Shea
5, 5 g 0,9 %ige Steinsalzlösung
7 Tropfen äth. Bergamotteöl
Für die Salzlösung : 0,9 g Steinsalz in 100 g abgekochtem dest. Wasser auflösen.
Einfacher ist es in der Apotheke eine isotonische Kochsalzlösung zu kaufen.
Eine andere Mischung mit angeblich noch besseren osmotischen Eigenschaften:
7,14 g Kochsalz
2,89 g Natron (z.B. Kaisernatron)
1 Liter Wasser
Diese Mischung wird auch gern für Nasenspülungen genommen.
NB: Die Salbe ist auch ein vorzügliches Mittel, für das Anfangsstadium von Herbes.
Ich gebe in meine nasensalbe immer mind. 4% panthenol. Ich denke, dass kannst du auch in diese salbe mit einrühren.
Ich weis ja nicht wie alt dein Sohn ist, aber bei kleinen Kindern bin ich da eh sehr vorsichtig. Die salbe hilft auch ohne bergamotte.
Gerne, bei dem Alter kannst natürlich aetherische Öle verwenden. Du kannst da auch andere nehmen, Lavendel z.b. heilt auch sehr schön, oder minzoel befreit die Nase, ebenso ravintsara, mein persönlicher Favorit. Ganz was du da hast. Achte aber darauf, das es reine aeherische Öle sind
bei diesem Rezept braucht es keine Konservierung, denn es ist 1. eine W/O-Emulsion, bei der die Wasserphase die innere Phase ist und 2. ist dabei der Wassergehalt sehr niedrig.
Diese Nasensalbe enthält ca. 7.00 % Wasserphase und die Wasserphase besteht aus einer isotonischen Lösung (Salz) sowie Glycerin und Panthenol mit ebenfalls konservierenden Eigenschaften. Ich verwende diese Salbe auch nur 4 Wochen und entsorge sie dann, obwohl sie augenscheinlich noch in Ordnung ist.
Eine Alkoholkonservierung oder auch eine andere Konservierung in einer Nasensalbe möchte ich nicht."""
---------------------------------------------------------------------------------------------------------
"""Diese halbfeste Nasensalbe hilft sehr gut bei einem trockenen Schnupfen und den damit oft einhergehenden blutigen, entzündeten, trockenen Nasenschleimhäuten.
REZEPT, Gesamtmenge: 16 g
Phase 1
8.0 g Lanolin Anhydrid
2.0 g Calendulamazeration in Sesamöl
4.7 g Sheabutter
Phase 2
0.8 g Isotonische Lösung (z.B. Meerwasserspray)*
Phase 3
0,2 g Glycerin
0,1 g Panthenol
1 Tropfen Sanddornfruchtfleischöl
1 Tropfen Majoranöl
Herstellung
Phase 1 bei 70 °C schmelzen.
Phase 2 in die auf 50 °C abgekühlte Fettmasse geben und emulgieren.
Phase 3 in die handwarme Emulsion geben und homogenisieren.
Verpackung
Die Nasensalbe lässt sich sowohl in eine Einwegspritze als auch in ein Döschen abfüllen.
Hinweis
*Isotonische Lösung mit Natron, die sich auch für die Nasenspülung eignet.
Rezept
7.14 g reines Kochsalz ( alternativ Meersalz, Himalaysalz) und
2.69 g Natriumbicarbonat (z.B. Kaisernatron ) werden in
einem Liter Wasser (vorher mind. 5-10 Minuten abkochen und abkühlen ) aufgelöst.
Ich habe das Sesamöl von einem Arzt empfohlen bekommen, weiß ich gar nicht aus welchem Grund.
Sojaöl passt auch. Ich hatte auch schon viele andere Öle wie z.B. Olive, Mandel und Soja.
Die trockene Nase meiner Freundin fand auch dieses Rezept ohne wässrige Phase gut.
Anteil kann ich nur schätzen, weil ich ihr das ohne viel Abwiegen gemixt habe.
So etwa für 20 g :
9 g Wollwachs
9 g Olivenöl
2 g Bienenwachs
und 1-2 Tropfen Bergamotteöl
Meersalztropfen aus dem Pumpfläschchen hat sie dann noch nach Bedarf verwendet.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
<img width=280 src="https://share-your-photo.com/img/e154dfdedc.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
''Art / Konsistenz der Zutat:'' Weißes Pulver, Wirkstoff, ''Löslichkeit:'' Wasser- & fettlöslich
''INCI-Bezeichnung:'' Natriumhydrogencarbonat
''__NICHT__ mit Natriumcarbonat, umgangssprachlich auch als Waschsoda bezeichnet, verwechseln!!'' Siehe auch "Worauf beim Kauf achten".
''Ursprung/Beschreibung:'' Natron ist ein Natriumsalz (ein feines weißes Pulver), das schon seit geraumer Zeit als Helfer in Küche und Haushalt eingesetzt wird. Für Menschen ist der Stoff ungiftig und kann auch in Lebensmitteln verwertet werden. Es ist in zahlreichen alltäglichen Produkten enthalten z.B. in Backpulver, Brausepulver, Brausetabletten, Feuerlöschern, Putzmitteln und und und.
In der Natur kommt Natron als Mineral in vereinzelten Lagerstätten vor. Überwiegend wird es jedoch aus natürlichem Kochsalz gewonnen, indem Chlor gegen Karbonat ausgetauscht wird.
''Besonderheit/kosmetische Wirkung:'' Da Natron ein natürliches Produkt ist und sehr schonend auf der Haut wirkt, eignet sich Natron für alle Hauttypen.
Natron wirkt nicht nur <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, sondern auch noch <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> und <div class="tooltip">desodorisierend
<span class="tooltiptext">geruchsneutralisierend</span></div>.
Eine der wichtigsten Eigenschaften von Natron ist der alkalische pH-Wert, d.h. Natriumhydrogencarbonat ist basisch und kann besonders gewinnbringend für eine basische Körperpflege eingesetzt werden. Hier kann Natron die Säuren auf Körper und Haaren binden und neutralisieren. Besonders beliebt ist daher das Baden in Natron. Damit lassen sich Säuren auf dem ganzen Körper neutralisieren, womit Sie Ihrer Haut ein natürliches Milieu bescheren, das beispielsweise Gerüchen vorbeugt.
Diese Eigenschaft kann man sich auch bei unangenehmen Körpergerüchen optimal zunutze machen, denn diese Gerüche kommen meist von Schweiß + Bakterien auf der Haut. Schweiß wird von Bakterien zersetzt, welche währenddessen unangenehme Gerüche produzieren. Aber Bakterien oder auch Pilze, so wie Fußpilz, benötigen einen sauren Nährboden, um zu überleben. Durch das Neutralisieren der Säuren durch das Natron wird den Bakterien der Nährboden genommen. Hierdurch bindet und neutralisiert Natron unangenehme Gerüche und sorgt so für Frische. Z.B.: Deo, Mundgeruch, unangenehmer Fußgeruch.
Durch seinen pH-Wert reguliert Natron auch den pH-Wert im Speichel, was wichtig ist, um Krankheiten wie Karies und Parodontitis vorzubeugen.
Je nach Körnung hat Natriumhydrogencarbonat eine <div class="tooltip">abrasive
<span class="tooltiptext">reibende oder schleifende Wirkung, die wiederum einen glättenden, reinigenden oder abnutzenden Effekt zur Folge hat</span></div> Wirkung, ohne empfindliche Flächen zu zerkratzen.
''Duftprofil:'' Geruchsneutral.
''Tipp für die Verarbeitung:'' /
''Lagerung:'' Muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Beachte:'' /
''Erhältlich bei:'' In Supermarkt, Drogerie & Co. gibts nur die winzigen 10g-Tütchen, selbst die 50g-Packung sind nur 5x 10g. Beim Selberrühren braucht man aber wesentlich größere Mengen.
__Größere Mengen gibts hier:__ Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover- dort kann man sich das Natron auch 100g-weise abfüllen lassen (Plastikmüll-Vermeidung!).
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle.
''Worauf beim Kauf achten:'' Achte darauf, immer echtes Natron (Natriumhydrogencarbonat- im Handel unter den Bezeichnungen "Kaiser Natron", "Bullrich Salz", Speisenatron, Haushaltsnatron, Hausnatron oder Natronsalz) zu kaufen.
__NICHT__ Natriumcarbonat, umgangssprachlich auch als Waschsoda bezeichnet!
"""
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Natron]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Natron]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Die geruchsneutralisierende und <div class="tooltip">antibakterielle
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> Wirkung von [[Natron]] kann beim Kampf gegen Schweißfüße helfen. Mit einem Natron-Fußbad kannst du Füße behandeln, reinigen und spröde Haut wieder weich machen.
Um den Geruch in Schuhen zu neutralisieren, streue einfach etwas Natronpulver in die Schuhe am Abend und schütte es früh wieder aus.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#DFFE97;">
<div style=> </div>
"""
''Meine Erfahrung damit:'' Funktioniert gut :-)
Um Gerüche aus dem Kühlschrank, Schuhschrank und anderen geschlossenen Räumen zu vertreiben, stelle einen offenen Behälter mit 50-100g Natron hinein. Das Natron absorbiert effektiv Gerüche aus der Luft.
Kannst Du keinen Behälter hineinstellen (z.B. Mülleimer), so kannst Du das Natron auch immer wieder als feine Schicht drüberstreuen.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Wenn dein Teppich Flecken hat, oder einfach der Geruch zu wünschen übrig lässt, verwende am besten [[Natron]] als Teppichreiniger.
Dazu Natron großzügig aufstreuen und über Nacht einwirken lassen. Am nächsten Tag gründlich absaugen.
Diese Methode ist auch für die Textilien im Auto geeignet.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""Mein aktuelles Rezept- seit langem zufrieden:
40% dest. Wasser
30% Hamameliswasser
6% Natron
3% Glycerin
2% Dermofeel Sensolv
1% D-Panthenol
1% Dermofeel G 10 LW
1% Xanthan
0,4% Zinkoxyd
6-7 Tr. ÄÖ (Limette, Salbei u.a.)
15% Kosmetisches Basiswasser
Natron in Wasser auflösen. Xanthan in Glycerin lösen. Mit Wasser langsam vermengen. Zu Gel verrühren. Zinkoxyd in Dermofeel Sensolv dispergieren. Wirkstoffe, ÄÖs und Konservierung unterrühren.
"""Deo selber machen FAQ-Liste
''Hinterlässt Deo mit Fett / ätherischem Öl / Natron Flecken auf der Kleidung?''
Eigentlich nicht.
Ätherische Öle hinterlassen keine Flecken, da sie auf Basis von Alkohol hergestellt sind und somit vollständig verdunsten. Du kannst das selbst ausprobieren, indem du ein Tröpfchen ätherisches Öl auf ein Tuch gibst und am nächsten Tag nachschaust. Ob das auch für alle Parfümöle gilt, weiß ich nicht; müsste aber, da auch diese auf Basis von Alkohol hergestellt sind.
Das Trägerfett: Solange du dir das Öl nicht über die Klamotten kippst und helle Fette verwendest, hinterlässt es keine Fettflecken. Allerdings können Bienenwachs oder „gelbe Öle“ wie Olivenöl o.ä. auf hellerer Kleidung einen gelben Schatten hinterlassen. Alternativ kannst Du dann Beeren- oder Carnaubawachs & helle Öle verwenden.
Deos mit Stärke können weiße Ränder auf der Kleidung hinterlassen (war bei mir aber noch nie)- dieser verschwindet jedoch beim Waschen. Vermeiden kannst Du das, indem Du das Deo sparsam benutzt (reicht sowieso vollkommen aus!) und trocknen / einziehen lässt, bevor Du Dich anziehst. Alternativ kannst Du aber auch weiße Tonerde nehmen.
''Ich mag den Kokosöl-Geruch nicht. Und nun?''
Geht es dir nur um den (dezenten) Kokosgeruch, kannst Du auch raffiniertes Kokosöl nehmen. Dieses wird stark erhitzt und es werden ihm chemische Substanzen zugefügt, wodurch es auch gebleicht und desodoriert wird, um Aromen, Farben & Gerüche zu entfernen. Durch die starke Erhitzung und die Produktion verliert das Öl viele wichtige Nährstoffe und die natürlichen Aromen. Die Fettsäuren mit der Laurinsäuren bleiben meistens weitgehend erhalten- und damit die antibakterielle Wirkung. Manchmal wird raffiniertes Kokosöl aber u.a. fraktioniert, wobei manchmal auch die Laurinsäuren mit entfernt werden. Dann ist auch keine antibakterielle Wirkung mehr vorhanden. Vielleicht brauchst Du aber diese zusätzliche antibakterielle Wirkung auch gar nicht.
Alternativ kannst Du auch Babassuöl verwenden, welches in allen Bereichen dem Kokosöl sehr ähnlich ist.
Oder als Trägerfett irgendein anderes Fett- wobei dann die antibakterielle Wirkung fehlt- also eine Deo-verstärkende Wirkung."""
----------------------------------------------------------------------------------------
Wasserfreie Natron-Deos besser auf feuchte Achseln auftragen, damit sich das Natron dann direkt auflöst. Sonst fühlt man ein leichtes "Scheuern" der Natronkörnchen. Das trocknet auch schnell wieder.
----------------------------------------------------------------------------------------
"""
''PH-Wert unter Achseln messen''
Wer saure Achseln hat, verträgt gut / wirkt gut basisches Deo. Wer basische Achseln hat, verträgt gut / wirkt gut saures Deo.
Ich hab pH-Wert ca. 6,5 (leicht sauer."""
----------------------------------------------------------------------------------------
''Ätherische Öle mit Deo-verstärkender Wirkung''
* Citronella
* Fichtenöl
* Kiefernnadel
* Lemongras
* Muskatellersalbei
* Petitgrain
* Salbei
* Teebaum
* Zypresse
----------------------------------------------------------------------------------------
"""
Marie:
Hey, also das Deo hält bei mir so ca 8-12 Stunden vom Duft her. Gegen Schweiß hilft es mir leider garnicht, aber das tut kein Deo. Das Waschpulver ist besser als mein vorheriges gemischtes, welches einen leichten Grauschleier hinterlassen hat. Nur gegen Schweißgeruch hilft es auch nicht so ganz, welches Duftöl könntest du da empfehlen oder noch einen anderen Zusatz?
Gruß Marie
Hallo Marie,
Bzgl. des Deos: Du schreibst >Gegen Schweiß hilft es mir leider garnicht<, meinst Du damit den Schweißgeruch oder die reine Feuchtigkeit? Das Deo ist hauptsächlich gegen den Schweißgeruch konzipiert, weniger gegen die Feuchtigkeitsbildung. Gegen Schweißgeruch helfen antibakterielle Substanzen (Natron, Kokosöl >evtl. Natronmenge erhöhen) & antibakterielle Öle, da der Schweißgeruch erst durch Bakterien verursacht wird. Antibakterielle ätherische Öle: Lavendel (echter Lavendel: Lavandula angustifolia (auch Lavandula vera bzw. officinalis), Teebaumöl, Pfefferminzöl (allerdings schweißtreibend), Cajeputöl (Melaleuca cajeputi, Melaleuca leucadendron), Zitronenöl (Citrus limon), Thymian-Öl, Oregano-Öl, Zimtöl, Rosen-Öl, Eukalyptusöl.
Gegen die Feuchtigkeitsbildung habe ich folgendes gefunden:
(Salbei wird bzgl. Schweißhemmung am allermeisten genannt- sowohl als ätherisches Öl als auch als Tee zum Trinken / Einreiben, o.ä.).
Ätherische Öle: Salbei, Teebaum, Fichte, Muskatellersalbei, Kamille, Weide, Ysop, Eukalyptus, Lavendel (echter Lavendel: Lavandula angustifolia (auch Lavandula vera bzw. officinalis), Teebaum.
Weitere Möglichkeiten, die Schweißbildung zu hemmen:
Salbei
Salbei wirkt adstringierend & schweißhemmend. Er verengt die Schweißdrüsen und hilft die Schweißproduktion auf natürliche Weise zu reduzieren. Seine hohe Menge an Magnesium und B-Vitaminen unterstützt zusätzlich die Steuerung der Schweißdrüsenaktivität.
Anwendung von Salbei: 1TL getrocknete Salbeiblätter mit 2 Tassen Wasser kurz aufkochen. Die Mischung auf Raumtemperatur abkühlen lassen und dann damit die Stellen des Körpers, die am meisten Schwitzen gründlich reinigen. Die Anwendung 3 x tägl. mehrere Tage hintereinander wiederholen.
Um die Wirkung zu verstärken, kann 2-3x tägl. Salbeitee getrunken werden. Dafür 1TL Salbei in eine Tasse mit heißem Wasser geben, bedecken und 5 Minuten ziehen lassen. Nach Geschmack mit etwas Zitronensaft / Honig abschmecken.
Weizengras
Weizengras schwemmt Säuren und Giftstoffe aus dem Körper, die starkes Schwitzen verursachen. Auf diese Weise wird der Körper entgiftet, unangenehme Körpergerüche reduziert und übermäßiges Schwitzen verringert. Der hohe Gehalt an B-Vitaminen und Nährstoffen hat ebenso Einfluss auf das körpereigene Temperatur-Regulationssystem und senkt eine übermäßige Schweißproduktion.
Weizengras kann entweder im Garten eingepflanzt werden oder ist als getrocknetes Pulver erhältlich. Täglich genügen bereits 1-2 Gläser Weizengrassaft.
Bzgl. des Waschpulvers (Schweißgeruch noch vorhanden):
Hast Du denn Lavendelöl in das Weichspülerfach zugegeben? (Ich hab heute mal nachgezählt- hatte 6 Tropfen drin> kein Schweißgeruch, sondern angenehmer Lavendelduft in der frischgewaschenen Wäsche. War schwierig nachzuzählen & ich konnte auch gar nicht weniger nehmen, da es sehr schnell raustropft).
Duftöle kannst Du zusätzlich verwenden, sie würden Gerüche allerdings nur übertünchen.
Den Schweißgeruch beseitigen würden auch hier wieder antibakterielle ätherische Öle >siehe Aufzählung oben.
Ich hoffe, Deine Frage gut beantwortet zu haben & dass Dir davon etwas hilft.
Liebe Grüße, Surya
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=240 src="https://share-your-photo.com/img/f605e8207b.jpg"/>||
|<h6>Forest & Kim Starr,<br/>[[Starr-090409-5712-Syzygium aromaticum-fruit-Olinda-Maui (24324029123)|https://commons.wikimedia.org/wiki/File:Starr-090409-5712-Syzygium_aromaticum-fruit-Olinda-Maui_(24324029123).jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya,<br/>(Jorge Barrios, [[Cloves|https://commons.wikimedia.org/wiki/File:Cloves.JPG]], Ausschnitt von Surya, [[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]])<br/>[[CC BY 3.0 US|https://creativecommons.org/licenses/by/3.0/us/deed.en]]</h6>||
@@<br/>
''Art / Konsistenz der Zutat:'' Gewürz im Ganzen<br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Nelken]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Nelken]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">"""
(Zahn-)Schmerzen können einem den letzten Nerv rauben. Besonders arg ist es nach einer Wurzelbehandlung, bei der der Schmerz noch Tage oder sogar Wochen bestehen bleibt. Gut zu wissen, dass der Wirkstoff Eugenol der Nelke wie eine leichte örtliche Betäubung wirkt.
Lege eine ganze Gewürznelke abhängig vom schmerzenden Zahn entweder zwischen Zahnfleisch und Lippe oder Wange und lasse sie einwirken.
Alternativ kannst du ein bis zwei Tropfen Nelkenöl auf etwas Watte oder ein Wattestäbchen geben und die betreffende Stelle benetzen.
Die schmerzlindernde Wirkung setzt nach etwa 5-7 Minuten ein.
''Meine Erfahrung damit:'' Hat mir in Notfällen sehr geholfen- auch wenns ein eher unangenehmes Mittelchen ist...
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Zur Mücken- und Insektenvertreibung wird eine Zitrone mit [[Nelken]] bespickt. Für eine noch intensivere Wirkung kannst du Watte mit ein paar Tropfen [[Nelkenöl]] benetzen. Auch in einer Duftlampe wirkt Nelkenöl abschreckend gegen Insekten.
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Nelkenöl"''
''INCI-Bezeichnung:'' Eugenia caryophyllata leaf oil
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Nelkenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Nelkenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Egal ob es sich um erste Anzeichen einer Erkältung handelt oder sie schon fortgeschritten ist, mit Nelkenöl kannst du durch Fußbäder oder Inhalieren gegensteuern.
''Fußbad''
Ein 10-minütiges Fußbad wärmt nicht nur kalte Füße, sondern hilft auch gegen Erkältungen im Anfangsstadium. Dazu verwendest du:"""
* 2 Tropfen [[Nelkenöl]]
* 2 Tropfen [[Lavendelöl]]
* 1 Tropfen [[Oreganoöl]]
* 1 Tropfen Thymol / [[Thymianöl]]
* 2 EL Honig
"""
Die Zutaten werden mit warmem Wasser in eine große Schüssel gegeben. Das heilende Bad bei Bedarf mit heißem Wasser weiter erwärmen.
''Inhalation''
Als Inhalationsbeigabe lindert Nelkenöl bestehende Erkältungskrankheiten sowie bakterielle und virale Infektionen.
Häufige Anwendungsbeispiele sind Bronchitis, Rhinitis und Sinusitis.
Die ätherischen Öle wirken in der Duftlampe, im Erkältungsbad oder bei Inhalation im heißen Wasser im Topf mit übergeworfenem Handtuch, oder noch einfacher verdünnt mit einem Inhalator.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Egal ob Konzentrationsprobleme, Abgeschlagenheit, chronische Müdigkeit oder gar Burnout und Depressionen vorliegen, die Gewürznelke unterstützt stimulierend durch ihre ätherischen Öle. Du kannst [[Nelkenöl]] als Massageöl, als Zugabe in einer Duftlampe oder in Bädern anwenden.
<div style="background:Lavender;">
@@.lefttable
|<img width=330 src="https://share-your-photo.com/img/8426edf745.jpg"/>||
|<h6>Forest & Kim Starr,<br/>[[Starr-090409-5712-Syzygium aromaticum-fruit-Olinda-Maui (24324029123)|https://commons.wikimedia.org/wiki/File:Starr-090409-5712-Syzygium_aromaticum-fruit-Olinda-Maui_(24324029123).jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya,<br/>(Jorge Barrios, [[Cloves|https://commons.wikimedia.org/wiki/File:Cloves.JPG]], Ausschnitt von Surya, [[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]])<br/>[[CC BY 3.0 US|https://creativecommons.org/licenses/by/3.0/us/deed.en]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Gewürz
''Ursprung/Beschreibung:'' Bei Gewürznelken handelt es sich um die Blütenknospen des über 10m hohen Nelkenbaums, die aus Sansibar, Madagaskar & den indonesischen Molukken importiert werden. Über Geschmack, Geruch und Heilwirkung entscheiden die intensiven ätherischen Öle der Nelke, die 15 % der Inhaltsstoffe ausmachen. Dazu gehört zum Beispiel das antibakterielle, schmerzstillende und entzündungshemmende Eugenol. Für praktische Anwendungen stehen neben Nelke und Nelkenpulver noch Nelkenöl und Nelkentinkturen zur Verfügung.
''Inhaltsstoffe:'' Ätherische Öle, Beta-Sitosterol, Ellagsäure, Flavonoide, Gerbstoff, Kaempferol, Salicylate
''Besonderheit / heilende Wirkung:'' Nelken wirken <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, schmerzstillend, entzündungshemmend, erwärmend, beruhigend, entkrampfend, schweisstreibend, verdauungs- & appetitanregend.
Die Nelke gilt dank ihres hohen Gehalts an Antioxidantien als bester Radikalfänger unter den Gewürzen und Kräutern.
''Lagerung:'' Ein dunkles Gefäß sowie eine kühle Lagerung (höchstens Zimmertemperatur) bewahren lange die gewünschten Inhaltsstoffe.
''Beachte:'' Nelkenöl sollte nicht unverdünnt auf wunde oder entzündete Schleimhäute aufgetragen werden. Ebenso ist der Kontakt mit den Augen zu vermeiden.
Bei erhöhter oraler Einnahme von Nelkenöl kann es zu Vergiftungen kommen.
Während der Schwangerschaft sollte, wie bei vielen Heilkräutern, auf dieses Gewürz verzichtet werden, da Nelken die Wehen frühzeitig auslösen können.
''Erhältlich bei:'' Ich kaufs beim Biomarkt um die Ecke.
''Worauf beim Kauf achten:'' Kaufe nur Nelken und Nelkenöl in Bioqualität, um Schadstoffe auszuschließen. Nelkenöl gemischt mit anderen Ölen sind Raumdüfte, die sich nicht für medizinische Zwecke eignen."""<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Nelkenpulver]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Nelkenpulver]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Wenn Kleinkinder die ersten Zähnchen bekommen, sind Schmerzen vorprogrammiert. Dieser milde, schmerzlindernde Nelkensud ist für Kleinkinder ab 2 Jahren geeignet. Er wirkt betäubend und lässt das Durchkommen der Milchzähne besser ertragen."""
''Zutaten''
* 3-4 ganze [[Nelken]]
* 150ml Wasser
Koche das Wasser auf, übergieße die Nelken damit und lasse den Sud ziehen.
Tränke einen sauberen Waschlappen mit dem abgekühlten Sud und lasse deinen Nachwuchs darauf herumkauen.
<$list filter="[tag[Anleitungen einzeln]!sort[modified]]">
<$link to=<<currentTiddler>>>
<$view field=title/></$link>, <$view field="modified" format="date" template="DD.MM.YYYY"/> </$list>
''Alle getesteten Rezepte bei Neurodermitis:''<br/><br/>
<$list filter="[tag[Neurodermitis]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Neurodermitis:''<br/><br/>
<$list filter="[tag[Neurodermitis]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""habe ich nun ein Neurodermitisprogramm für mich zusammen gestellt, mit dem ich seit Wochen sehr gut zurecht komme. Ich habe kaum noch irgendwo Ausschlag, die Haut ist zart und geschmeidig.
Da ja mittlerweile viele Leute an Hautgeschichten leiden und demnach auch recht empfindlich auf Kosmetika reagieren, stell ich meine Rezepte heute mal in gebündelter Form hier rein. Vielleicht ist´s der ein oder anderen ja eine Anregung.
''Monoilotion 100 ml''
1 ms Xanthan in 1 g kosmetischem Basiswasser
78 g Wasser
8 g Harnstoff
2 g Glycerin
11 g Monoiöl (Tiaré oder Frangipani)
5 g Jojobaöl oder Mandelöl
3 g Sheabutter, unraff.
2 g Bienenwachs oder Lanolin anhydrid
3 g Tegomuls
1 g Cetylalkohol oder Walratersatz
-nach dem Erkalten noch 1 g Seidenprotein und 1 g D-Panthenol hinzufügen
Konservieren nach Wahl
''Schoko - Orangen - Lotion 100 ml''
1 ms Xanthan in 1 g kosmetischem Basiswasser
78 g Wasser
8 g Harnstoff
2 g Glycerin
10 g Kakaobutter, unraffiniert (!!!)
5 g Kokosöl, unraff.
5 g Mandelöl oder Jojobaöl
2 g Bienenwachs
3 g Tegomuls
1 g Cetylalkohol oder Walratersatz
6-8 Tr. äth. Orangenöl
-nach dem Erkalten noch 1 g Seidenprotein und 1 g D-Panthenol hinzfügen
Konservieren nach Wahl
''Winterliche Gesichtslotion 50 ml''
38 g Wasser
1 g Glycerin
5 g Monoi Tiaré
5 g Mandelöl
2 g Kakaobutter, unraff.
2 g Tegomuls
1 g Walratersatz
Konservieren nach Wahl
''leichte Sommergesichtsmilch 60 ml''
50 g Wasser
1 g Glycerin
5 g Mandelöl
3 g Monoi Tiaré Öl
2 g Lanolin
2 g Tegomuls
1 g Cetylalkohol oder Walratersatz
4 Tropfen ätherisches Orangenöl
Konservieren nach Wahl
''Kopfhautlotion 50 ml''
40 g Wasser
1 g Glycerin
4 g Mandelöl
3 g Monoi Tiaré
3 g Kakaobutter
2 g Tegomuls
1 g Walratersatz
Konservieren nach Wahl
Der Erschaffungsprozess ist bei allen Lotionen der Gleiche. Wasserphase und Fettphase erhitzen, Bestandteile wie Shea und Kakaobutter jedoch separat vorsichtig erhitzen und erst beim Verrühren von Fett- und Wasserphase zufügen.
Kaltrühren und empfindliche Rohstoffe beimengen, sobald die Lotion "runtergekühlt" ist. Dasselbe gilt für ätherische Öle.
"""
---------------------------------------------------------------------------------------
Schwarztee hat viel gerbsäure und das hat sich bei meinen rezepten gegen Neurodermitis bisher sehr bewährt.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Zutaten:
20 gr. Zinkoxid
20 gr. Talkum
30 gr. Glycerin
30 gr. dest. Wasser
1 Tl Urea
1 Tl Manukahonig
3 Tropfen ÄÖ Teebaum
3 Tropfen ÄÖ Manuka
3 Tropfen ÄÖ Lavendel
konserviert mit 5 ml Weingeist
Das Wasser abkochen und darin den Honig und das Urea auflösen, bis keine Harnstoffkristalle mehr zu sehen sind.
Zinkoxid und Talkum vermischen, auf ein Backblech geben und bei 100° im Backofen eine Stunde backen, damit alle eventuellen Keime abgetötet sind (reine Vorsichtsmaßnahme - ich habs nicht gemacht).
Zinkoxid, Talkum und Glycerin miteinander mischen und mörsern, bis eine homogene, nicht mehr bröselige Masse entstanden ist.
Alles zusammen dann in einen Schüttelbecher geben und gut durchschütteln. Zinkoxid und Talkum werden sich nach einer Zeit wieder absetzen, daher immer vor Gebrauch schütteln.
Diese Mischung trägt man einmal pro Tag auf die befallenen Stellen auf.
Sehr wichtig während der Behandlung ist der Verzicht auf Duschen oder Baden, bis die Flechten komplett verschwunden sind. Die Körperhygiene sollte mit einem Einmal-Waschlappen stattfinden - nur Achseln und Intimbereich, eventuell auch Füße - Haare waschen kopfüber im Waschbecken oder über der Badewanne. Der Verzicht auf "über-den-Körper-laufendes-Wasser" ist sehr wichtig, da sich dadurch die Viren verteilen und so für erneutes Sprießen einzelner Flechten verantwortlich sind.
Die Mischung hat mir ein Hautarzt verschrieben - eigentlich sollte das eine Apotheke zusammenmischen - und als ich dann einen Blick auf die Zusammensetzung werfen durfte, habe ich dankend abgelehnt und das Rezept selber zusammengemischt. Im Originalrezept waren nur die ersten 4 Zutaten (Zinkoxid, Talkum, Glycerin und reines Wasser) enthalten.
<div style="background:Lavender;">
Siehe [[Weizenprotein]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Öl-Qualitäten (qualitativ aufsteigend)''<br/>
* raffiniert
** Warmpressung und Extraktion mit Lösungsmitteln ermöglichen deutlich höhere Ausbeuten aus der Pflanze, allerdings muss das so gewonnene Öl hinterher «raffiniert», also von unerwünschten Begleitstoffen gereinigt werden. Das zerstört neben Vitaminen und mehrfach ungesättigten Fettsäuren auch das Aroma.<br/>Das Öl wird zunächst bei Temperaturen von über 100°C heiß gepresst. Bei der chemischen oder physikalischen Raffination gehen wertvolle sekundäre Pflanzenstoffe, geschmackliche Eigenarten und die typische Farbe verloren. Das raffinierte Öl ist weitestgehend geschmacksneutral, von heller Farbe, lange haltbar und universell einsetzbar.<br/><br/>
* unraffiniert
** Die Rohware wird kalt gepresst, eine geringe Wärmezufuhr bei der Pressung bis ca. 60°C ist möglich. Zur Steigerung der Haltbarkeit werden diese Öle teilweise gedämpft. Bei der Dämpfung werden unerwünschte Begleitstoffe vermindert.<br/><br/>
* kaltgepresst
** Kalt gepresste Öle werden ohne Wärmezufuhr nur durch Druck oder Reibung in meist dezentralen Ölmühlen hergestellt. Auf die Pressung folgt meist eine Filtration. Durch die schonende Gewinnung bleiben Geschmackstoffe, Vitamine und die als gesund geltenden mehrfach ungesättigten Fettsäuren erhalten.<br/><br/>
* nativ
** Native Öle sind naturbelassen und kalt gepresst ohne weitere Wärmezufuhr. (bei Olivenöl auch "Virgin") Die kalte Pressung ohne Wärmezufuhr vermeidet Oxidation. Das Öl wird filtriert. Weder Öl noch Rohware werden vor- oder nachbehandelt, etwa durch Raffination, Dämpfung oder Rösten der Saat. Es bleiben alle Inhaltsstoffe erhalten. Der deutliche Frucht- / Saatgeschmack, Geruch und intensive Farbe sind charakteristisch.
"""Rizinusöl ist nicht besonders pflegend, es glänzt einfach so schön, dass es in der Lippenpflege beliebt ist.
Meine Lippenpflege besteht aus Jojobaöl, Mandelöl, Kokosöl, Sheabutter und Bienenwachs, Lanolin wasserfrei, Avocadoöl, Aprikosenkernöl, Reiskeimöl, Pflaumenkernöl, Kakaobutter
* 40% feuchtigkeitsöl (alles, wo feuchtigkeitsspendend / feuchtigkeitsbewahrend dabei steht): Z.B. jojoba, aloeveraöl
* 40% fettes öl: (dazu gehören auch feste sachen bei body melts, dort dann ggf. die prozente anpassen!)
* 20% wirkstofföl
"""Dieses Gel verwende ich momentan morgens nach der Gesichtswäsche. Es spendet viel Feuchtigkeit und versorgt meine fettige und großporige Haut für den Tag.
Abends nehme ich eine Schüttellotion im Verhältnis 1:5 (in etwa). Damit kommt meine Haut bei der Hitze sehr gut zurecht, fettet nicht so schnell nach und schaut wirklich passabel aus.
ölfreies Sommer-Gesichtsgel mit Hyaluron
15g abgekochtes, destilliertes Wasser
15g Hamameliswasser
gut 1/2 ML Urea
wenig Xanthan (etwa 1-2 Msp.)
gut 1/2 ML Hyaluron (war der Rest, musste verwendet werden)
1/2 ML d-Panthenol
1/2 ML Seidenprotein
5 Tropfen Da Zao
10 Tropfen Teebaumöl-Fluid
1/4 ML Alpha-Bisabolol
3 Tropfen Calendula-Extrakt
knapp 1 ML Weingeist (96%)
In den Wässerchen habe ich das Urea aufgelöst, dann das Hyaluron mit dem Milchaufschäumer eingerührt und bis zur gewünschten Konsistenz mit Xanthan angedickt (bei mir sin die Gele immer recht flüssig).
Dann habe ich nach und nach die restlichen Wirkstoffe eingerührt.
Man kann hier sicherlich einige Rohstoffe austauschen oder einfach weglassen. Da Zao habe ich wegen der feuchtigkeitsspendenden Wirkung verwendet, Calendula-Extrakt und Alpha-Bisabolol wegen der heilungsfördernden Eigenschaften.
"""ausgerechnet auf 100%/gr. Rechnet aber nochmal nach, ich verrechne mich gerne
16 neutralöl
15 kokosöl
5 Squalan
dies sind die schnellspreiter
10 avocado
9 macadamia
9 traubenkernöl
dies sind die mittelspreiter
10 jojoba
10 shea
6 kakaobutter
die sind die langsam spreiter
5 candelilawachs
5 sonnenblumenwachs
(oder andere Wachse)
Die wachse geben die schöne konsistenz und halten die feuchtigkeit in der haut. Außerdem mattieren sie bei mir ein wenig. Alles in allem ist der glanz schon nach kurzer zeit weggezogen. Wenn man aus versehen zuviel erwischt hat, einfach ein kleenex aufs gesicht, leicht andrücken und gut ist.
obiges Rezept ein wenig verwandelt:
40 Traubenkernöl (mittelspreitend)
30 Jojobaöl (langsamspreitend)
5 Granatapfelkernöl
5 Kaffeebohnenöl
5 Cupuacu-Butter
5 Squalan (schnellspreitend)
5 Candelillawachs
5 Rosenwachs
Das Ergebnis ist ein zart nach Rosen (und etwas Kaffee) duftendes Ölgel, das absolut streichelweiche Haut macht und tatsächlich ratzfatz einzieht.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Olea Europaea (Olive) Fruit Oil
''Jodzahl:'' 76–90 (nicht trocken)
''Schmelzbereich:'' -6 bis 12°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' 0,5–1,5%
''Verseifungszahl:'' 187–196
__Trockene, schuppige, spröde Haut, bei Hautrissen und Ekzemen. Klassisches Auszugsöl für Mazerate.__
Olivenöl ist __besonders reichhaltig__ und eignet sich hervorragend für Produkte für __trockene Haut__, insbesondere Handcremes.
__Der charakteristische Eigengeruch des Olivenöls mindert für viele AnwenderInnen seine »Attraktivität« im Einsatz in klassischer Pflegekosmetik. Interessanterweise scheinen sich aber Oliven- und [[Macadamianussöl]] bei gleichzeitiger Verarbeitung olfaktorisch gegenseitig zu »neutralisieren« – einen Versuch ist es wert.__
Olivenöl hat eine alte Tradition als Trägeröl für Pflanzenauszüge und als Basisöl heilender Salben. Rotöl – das Auszugsöl aus Johanniskraut – wird traditionell auf Basis von Olivenöl hergestellt. In der Volksheilkunde gilt es als erwärmend, anregend, __entzündungshemmend und durchblutungsfördernd__. Olivenöl zieht sehr langsam in die Hornschicht ein, wirkt u.a. mazerierend und erweichend, was es für __schorfige, schuppige und rauhe Hautzustände__ prädestiniert.
Hervorragendes Merkmal dieses Öls ist sein hoher Ölsäuregehalt, der __befeuchtend, schützend__ und – in Verbindung mit ca. 12 % Palmitinsäure als wesentlicher Bestandteil der Lipidschicht im Stratum corneum – restrukturierend wirkt.
Manche Quellen raten bei Neurodermitis von diesem Öl ab; aus Sichtung verschiedener Anwendererfahrungen kann ich diese Bedenken jedoch nicht bestätigen.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Olivenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Olivenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Immer wieder komme ich auf dieses Rezept zurück, weil diese Creme leicht ist und meine Haut trotzdem wunderbar nährt und weich macht. sie lässt sich sehr gut verstreichen, hat aber einen etwas herben Duft, der
jedoch nach einiger Zeit verschwindet. Die Haut fühlt sich danach seidig an.
Fettphase (30%):
7 Olive
3 Jojoba
3 Sojaöl
3 Sheabutter
3 Kakaobutter
2 Squalan
5,1 Lame
2 Nachtkerzenöl (in die handwarme Emulsion)
2 Wildrosenöl (in die handwarme Emulsion)
Wasserphase (70%):
54,5 Rosenwasser
4 C-Kons (oder anderen Konservierer zum Schluss reingeben)
0,2 Xanthan
3 Glycerin
2 Panthenol
2,5 ACE
4 Aloe Vera 10fach
Ich bedufte gerne mit Bergamotte.
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=410 src="https://share-your-photo.com/img/17b4e81b7b.jpg"/>||
|<h6>Marcel und Ullrich Korthals, [[Olive 09 C 1907|https://commons.wikimedia.org/wiki/File:Olive_09_C_1907.JPG]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Seife am Stück (gibt es manchmal auch als Flocken zu kaufen),
''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Pflanzliche Kernseife ohne Palmöl und ohne jeglichen Zusatz von Farb-, Konservierungs- oder Duftstoffen. Sie besteht hauptsächlich aus Oliventresteröl, das aus Olivenkernen, -schalen und -fruchtfleischresten gewonnen wird.
Diese Kernseife kann zum Waschen und Putzen verwendet werden. Hierzu raspelst du einfach ein paar Flocken davon ab. Ihre Waschleistung ist viel stärker als die gewöhnlicher Pflege- oder Naturseifen, sie ist hervorragend für starke Verschmutzungen geeignet.
Zur Körperreinigung ist sie nicht empfehlenswert, da diese die Haut zu stark entfettet (sie besitzt keine <div class="tooltip">Überfettung
<span class="tooltiptext">Eigenschaft von Seifen, in denen nicht alle verwendeten Fette vollständig verseift wurden und dadurch / durch diese hautpflegend wirken</span></div>)!
''Duftprofil:'' Duftet nach Oliven & Seife.
''pH-Wert:'' ~8 / keine <div class="tooltip">Überfettung
<span class="tooltiptext">Eigenschaft von Seifen, in denen nicht alle verwendeten Fette vollständig verseift wurden und dadurch / durch diese hautpflegend wirken</span></div>
''Inhaltsstoffe:'' Rohes Oliventresteröl, verseift mit Natriumhydroxid, Wasser, Meersalz | Freies Alkali 0,1 %
''Lagerung:'' Sie muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' Dies ist eine reine Putzseife! Zur Körperreinigung ist sie nicht empfehlenswert, da diese die Haut zu stark entfettet (sie besitzt keine <div class="tooltip">Überfettung
<span class="tooltiptext">Eigenschaft von Seifen, in denen nicht alle verwendeten Fette vollständig verseift wurden und dadurch / durch diese hautpflegend wirken</span></div>)!
''Erhältlich bei:'' Palmölfreie Kernseife ist nicht ganz einfach zu bekommen. Ich kaufe sie bei https://www.gruene-bude.de- die haben sie sogar wahlweise in Flocken oder am Stück :-). Diesen Laden finde ich extrem empfehlenswert- siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]]. Ansonsten z.B. direkt bei Patounis: https://www.patounis.de"""
''Worauf beim Kauf achten:'' @@color:red;Achtung! Olivenöl-Kernseife ist nicht immer palmölfrei!!@@
''Tipp für die Verarbeitung:'' /
"""
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Olivenöl-Kernseife]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Olivenöl-Kernseife]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Oreganoöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Oreganoöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Oreganoöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Palmarosaöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Palmarosaöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Palmarosaöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
* Bergamuls: Emulgiert, verdickt, feuchtigkeitsspendend, schnelleres Einziehen ohne Fettfilm, haptisch mattierend
Dies ist __keine statische__ Liste von definitiv palmölhaltigen Zutaten!<br/>
Sondern: Ich liste hier die Zutaten auf, die evtl. bis ziemlich sicher Palmöl oder dessen <div class="tooltip">Derivate
<span class="tooltiptext">Stoffe, die auf Basis des Ursprungsstoffs- hier also Palmöl / Palmkernöl- hergestellt werden</span></div> enthalten. Vollständig ist sie unter Garantie nicht. Hersteller verändern jedoch dauernd die Herstellung ihrer Produkte, ihre Zulieferer, usw. Und Transparenz über die Palmölhaltigkeit ihrer Produkte ist ihnen leider ein Graus...<br/>
Außerdem liste ich auch sonstige schädliche Zutaten auf.<br/>
''Stand August 2018''.
Je mehr Ausrufezeichen vor einem Produkt stehen, desto sicherer ist Palmöl mit im Spiel.
* ! ''B''iokons plus (Konservierer)<br/><br/>
* !! ''C''etyl Alcohol (<div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> / Co-Emulgator, Plättchen) @@color:green;>>kann durch [[Kakaobutter]] ersetzt werden@@
* ! ''C''remesoft (Creme-Grundlage)<br/><br/>
* ! ''D''ermofeel G 10 LW / Softfeel G 10 LW MB (Lösungsvermittler, wird aber unter nichtionischen Tensiden geführt, flüssig)
* ! ''D''ermofeel PR / Dermofeel PGPR (Emulgator, viskos-flüssig)
* ! ''D''ermosoft® 1388 eco. Da die Verwendung des Handelsnamens nicht gestattet ist, wird dieses Produkt für den Endverbraucher unter diversen Phantasienamen mit dem Zusatz »1388 eco« angeboten. (Konservierer)
* ! ''D''ermosoft® GMCY. Da die Verwendung des Handelsnamens nicht gestattet ist, wird dieses Produkt für den Endverbraucher unter diversen Phantasienamen mit dem Zusatz »GMCY« angeboten. (Konservierer)<br/><br/>
* ! ''E''mul Amid S18 (Emulgator & Haar-Konditionierer, wird jedoch als kationisches Tensid geführt. Pulver)
* ! ''E''mulprot / Symbioprot (Emulgator, Pulver)
* ! ''E''mulsan / Emulsan || / TEGO® Care PS (Emulgator, Plättchen)<br/><br/>
* ! ''F''acetensid (anionisches Tensid, dickflüssig, 40% WAS)
* ! ''F''luid Lecithin Super (Emulgator, flüssig)<br/><br/>
* ! ''G''lycerin (Wirkstoff) @@color:green;>>es gibt auch palmölfreies!@@
* !! ''G''lycerinseifenblock
* ! ''G''lycerinstearat SE / Glycerylstearat SE (Emulgator, grobes Pulver oder Plättchen)
* ! ''G''rapefruitkernextrakt (Konservierungs-Zusatzstoff, flüssig)<br/><br/>
* ! ''H''aarsoft (Wirkstoff)<br/><br/>
* ''K''urquat / Incroquat / Incroquat Behenyl (Emulgator, Plättchen) @@color:red;>>enthält wohl keine Palmölderivate, aber wie alle Quats ist es recht umweltschädlich. Es ist haut- & schleimhautreizend, allergisierend, wirkt austrocknend, kann krebserregend wirken und ist schlecht biologisch abbaubar. Es hat keine pflegende Wirkung, sondern verbessert nur die Kämmbarkeit.@@ Kationisches Tensid.<br/><br/>
* !! ''L''amecreme (Emulgator, Plättchen)
* ! ''L''amesoft® PO 65 (nichtionisches Tensid, flüssig, 32-35% WAS)
* ! ''L''athanol / SLSA / Sodium Lauryl Sulfoacetate (anionisches wohl aggressives Tensid, Pulver, 65% WAS)
* ! ''L''auryl Glucosid (nichtionisches Tensid, flüssig, 51-55% WAS)<br/><br/>
* !! ''M''ontanov L (Emulgator, Plättchen)<br/><br/>
* ! ''N''eutralöl (MCT-Öl) / Mygliol 812® / Myritol 312® / Tegosoft® CT (Basisöl) @@color:green;>>es gibt auch palmölfreies!@@<br/><br/>
* !! ''P''almfett (Öl)
* !! ''P''almkernfett (Öl, fest)
* ''P''araben K (Konservierer) @@color:red;>>enthält wohl keine Palmölderivate, kann aber evtl. Brustkrebs auslösen (siehe weiter unten unter "Konservierer")@@ @@color:green;>>kann durch [[Biogard]] ersetzt werden@@
* ! ''P''lantapon LGC Sorb (anionisches Tensid, flüssig)
* ! ''P''lantapon® SF (Misch-Tensid: anionisch / nichtionisch / amphoter; flüssig, 30% WAS)<br/><br/>
* !! ''R''ewoderm / Tensoderm (Verdicker, nichtionisches Tensid, 70% WAS, pastös)
* ! ''R''okonsal (Konservierer, flüssig)<br/><br/>
* ! ''S''CI / Sodium Cocoyl Isethionate / Natriumcocoylisethionat (Anionisches Tensid, Pulver / Nadeln, mind. 80% WAS)
* ! ''S''CS / Sodium Coco Sulfate (Anionisches Tensid, Pulver / Nadeln, 90% WAS).<br/>@@font-size: 0.8em;Zumindest in einem Shop (Alexmo) steht "...aus Kokosfett & Palmkernöl hergestellt...", die anderen schreiben nur Kokosfett. Für mich Grund genug, misstrauisch zu sein... Ausserdem soll es nicht so mild sein.@@
* !! ''S''eifenflocken (Flocken)
* ! ''S''LES / Sodium Laureth Sulfat (anionisches aggressives Tensid, flüssig?)
* ! ''S''LS / Sodium Lauryl Sulfate (anionisches aggressives Tensid, Pulver, 28-32% WAS)
* ! ''S''LSA / Lathanol / Sodium Lauryl Sulfoacetate (anionisches wohl aggressives Tensid, Pulver, 65% WAS)
* ! ''S''oftfeel G 10 LW MB / Dermofeel G 10 LW (Lösungsvermittler, wird aber unter nichtionischen Tensiden geführt, flüssig)
* ! ''S''pectrastat™ G2-N (Konservierer)
* ! ''S''ymbioprot / Emulprot (Emulgator, Pulver)<br/><br/>
* ! ''T''ego Care CG 90 (Emulgator)
* ! ''T''EGO® Care PS / Emulsan / Emulsan || (Emulgator, Plättchen)
* ??? ''T''ego Care PSC-3 (Emulgator)
* !! ''T''egomuls (Emulgator, Pulver)
* ! ''T''ensidmischung (Tensid, flüssig)
* !! ''T''ensoderm / Rewoderm (Verdicker, nichtionisches Tensid, 70% WAS, pastös)<br/><br/>
* !! ''V''itamin A-C-E Fluid (Wirkstoff, flüssig)
* ! ''V''itamin A Fluid (Wirkstoff, flüssig)<br/><br/>
* !! ''X''yliance (Emulgator, Plättchen)<br/><br/>
* ! ''Z''etesol (anionisches Tensid, flüssig, 56% WAS)
"""
__''Sonstige schädliche Inhaltsstoffe''__
__Paraffine__
INCI: Paraffinum Liquidum, Petrolatum, Cera Microcristallina, Ozokerite, Ceresin, Mineral Oil, Paraffin Wax oder Paraffin Oil,...
Paraffine werden aus Erdöl hergestellt. Da sie günstiger als Pflanzenöle sind und immer die gleichen Eigenschaften haben, werden sie in der konventionellen Kosmetikindustrie fast überall eingesetzt. Bei natürlichen Pflanzenölen hingegen können leichte Schwankungen der Inhaltsstoffe nicht vollkommen ausgeschlossen werden.
Paraffine sorgen für eine geschlossene Oberfläche (Ersticken von Schädlingslarven, Holz-Imprägnierung, Wachsen von Skiern,...). So wirkt die Haut, die mit Paraffinhaltigen Produkten gepflegt wird, schön glatt- sie ist ja regelrecht abgedichtet. Die Haut kann mit der Zeit abhängig von dieser Pflege werden und sich nicht mehr auf natürliche Weise selbst regulieren. Haut jedoch sollte atmen können.
Zu den erdölbasierten Inhaltsstoffen gehört übrigens auch Vaseline (es gibt wohl allerdings auch Erdöl-/Paraffin- UND Palmölfreie Vaseline- z.B. bei http://www.behawe.com!).
__Silikone__
INCI: Silikone erkennt man leicht an den Endungen ...cone (bzw. ...methicone) & ...xane. Außerdem sind Dimethiconol & Trideceth12 Silikonhaltig.
Silikone sind heutzutage in nahezu jedem konventionellen kosmetischen Produkt, v.a. Haarpflegeprodukten enthalten. Sie sollen das Haar glatt & geschmeidig machen und ein zartes Hautgefühl vermitteln.
Sie lagern sich auf Haut und Haaren ab und bilden so mit der Zeit eine immer dickere Schicht, die sich kaum noch vollständig entfernen lässt.
Durch diese Schicht wirkt das Haar glatt & geschmeidig und die Haut zart. Wird die Schicht mit der Zeit jedoch zu dick, kehrt sich der positive Effekt um: Haare wirken schlaff, trockene Kopfhaut, Schuppen, Hautirritationen. Pflegestoffe können die Haare / die Haut nicht mehr erreichen.
Silikone sind nicht biologisch abbaubar und belasten die Gewässer.
__PEGs__
INCI: PEGs werden meistens mit Zahlen gekennzeichnet, z.B. PEG40 Hydrogenated Castor.
PEGs (Polyethylenglykole) und PEGDerivate sind billige, effektive <div class="tooltip">Emulgatoren
<span class="tooltiptext">@@font-size:0.9em;Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie zum Beispiel Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.@@
</span>
</div>, die auch als Tensid eingesetzt werden können. Sie machen die Haut durchlässiger, sodass Wirkstoffe besser eindringen können.
PEGs machen jedoch keinen Unterschied zwischen gewollten Wirkstoffen und schädlichen Stoffen. Somit kann alles eindringen: Krebserregende Verunreinigungen der PEGs (z.B. Dioxan), Konservierer, allergieauslösende Duftstoffe, usw.
Wenn PEGs in einem Produkt enthalten sind, ist es umso wichtiger, dass die übrigen Zutaten besonders natürlich & unschädlich sind.
__Quats__
Zu erkennen an der Silbe "quat" in der INCI-Bezeichnung.
Quats sind kationische Tenside (siehe auch [[Tenside & andere waschaktive Substanzen]]), die v.a. in Haarpflegeprodukten & Shampoos, aber auch in Zahnpasten eingesetzt werden.
Durch ihre positive Ladung haften sie sehr gut am Haarschaft, sind jedoch biologisch nur schlecht abbaubar. Außerdem sind sie leicht hautreizend und irritierend.
Quats können Silikone ersetzen- so können die Firmen dann "silikonfrei" auf ihr Produkt schreiben und die Verbraucher sind begeistert...
__Phthalate__
In den INCI-Bezeichnungen wird die Bezeichnung "Phtalate" in Kombination verwendet, z.B. Diethylphthalat (DEP), Diethylhexylphthalat (DEHP), Dimethyl Phthalat (DMP).
Phthalate werden als Weichmacher bezeichnet. In der Körperpflege: Als Filmbildner sollen sie einen schützenden Film auf Haut und Haar hinterlasssen. Sie stehen im Verdacht, hormonelle Wirkungen zu haben. Außerdem sollen manche dieser Substanzen die Samenqualität bei Männern beeinträchtigen.
__Neuer Trend: Aktivkohle (enthält PAK)__
INCI von Aktivkohle: Charcaol Powder, PAK selbst findet man leider nicht in der INCI-Liste.
Aktivkohle bindet Giftstoffe an sich, daher wird sie bei Durchfall & Vergiftungen eingesetzt.
Seit einiger Zeit wird sie auch in Zahncremes, Peelings oder Masken für die „porentiefe Reinigung“ eingesetzt- //der// neue Trend. Aktivkohle enthält jedoch auch PAK (Stoffgruppe der polyzyklischen aromatischen Kohlenwasserstoffe). Diese entfetten die Haut, führen zu Hautentzündungen und können Hornhautschädigungen hervorrufen, sowie die Atemwege, Augen und den Verdauungstrakt reizen. Einige PAK sind beim Menschen eindeutig krebserzeugend, andere stehen unter dringendem Krebsverdacht. Auch die Möglichkeit der Fruchtschädigung oder Beeinträchtigung der Fortpflanzungsfähigkeit besteht.
Und- //meine Meinung//: Die Adsorptionsfähigkeit der Aktivkohle kommt u.a. durch ihre schwammartige Struktur. Wie ein Schwamm saugt sie also die Ablagerungen auf den Zähnen und der Haut auf. Toll. Nur: Sie ist in dem Produkt schon verarbeitet, lagert schon einige Zeit im Verkaufsregal und später in unserem Bad-Regal. Bis es also auf den Zähnen / der Haut landet, hat es seinen "Schwamm" doch schon längst vollgesogen, oder nicht?!?! Wie soll sie dann noch andere Stoffe aufsaugen?? Außerdem bzgl. Zahnpasta: Wie <div class="tooltip">abrasiv
<span class="tooltiptext">reibende oder schleifende Wirkung, die wiederum einen glättenden, reinigenden oder abnutzenden Effekt zur Folge hat</span></div> wirkt Aktivkohle?- Auch unklar...
__Resorcin__
INCI: Resorcin, Resorcinol, Resorcin Monoacetate, Resorzin, 3-Hydroxyphenylacetat, Hydroxyphenol 3, m-Dihydroxybenzene, Benzene-1,3-diol, 1,3-Benzoldiol,...
Es wird in Haarfärbemitteln,Tönungen, Haarspülungen und Conditionern (antistatische Wirkung & gute Kämmbarkeit), Anti-Schuppen-Shampoos und Salben (gegen Akne & Ekzeme) eingesetzt.
Es kann Allergien und Mutationen auslösen. Beim Einatmen kann es zu Übelkeit, Schwindel & geistiger Verwirrung führen. Bei Hautkontakt können Rötungen & Schmerzen auftreten. Es gilt zudem als umweltgefährlich. Da es sich leicht in Wasser löst, sind vor allem Wasserorganismen betroffen.
__EDTA (Komplexbildner)__
INCI: EDTA, Disodium EDTA, Tetrasodium EDTA, Sodium EDTA.
Komplexbildner sind Stoffe, die sehr leicht mit anderen Substanzen eine Bindung eingehen können. EDTA wird u.a. als Wasserenthärter, Emulgator, Konservierer,... eingesetzt.
Bindet Schadstoffe an sich und schleust diese in die Haut. In der Umwelt ist EDTA nur schwer abbaubar und macht Schadstoffe wieder bioverfügbar.
__Synthetisch hergestellte UV-Filter__
Die wichtigsten Bezeichnungen: Ethylhexyl Methoxycinnamate, Benzophenone-3, Benzophenone-4 & 2-Hydroxy-4-methoxybenzophenone. Die Silbe “benzo” ist immer ein Alarmsignal!
Sie sind nicht nur in Sonnenschutzprodukten, sondern auch in ca. 90% aller herkömmlichen Tagescremes und vielen Lippenstiften enthalten. Außerdem häufig in Parfüms, Flüssigseifen, Duschgels, Shampoos- dort sorgen sie dafür, dass Farb- & Duftstoffe trotz Lichtkontakt stabil bleiben.
Sie können u.a. Allergien hervorrufen und sogar hormonartig wirken.
Schon durch 0,01ml Sonnenmilch (mit synthetisch hergestellten UV-Filtern) auf 1 Liter Meerwasser verlieren Korallen innerhalb weniger Tage ihre leuchtend rote Farbe. Auch deutsche Gewässer & zahlreiche Fische sind heutzutage belastet.
__Insektenabwehrmittel Diethyltoluamid (DEET)__
INCI: Diethyl Toluamide, N,N-Diethyl-m-toluamid & N,N-Diethyl-3-methylbenzamid.
Gegen Zecken, Mücken, Bremsen & andere Stechinsekten.
DEET reizt Augen & Schleimhäute, in seltenen Fällen kann es auch Hautreizungen & epileptische Anfälle auslösen. Eventuelle weitere Nebenwirkungen: Schlaflosigkeit, Wahrnehmungsfähigkeits-Beeinträchtigung, Gemütsschwankungen, Sensibilitätsstörungen, Taubheitsgefühle oder bei großflächiger Anwendung sogar Hirnschädigungen und Krampfanfälle.
__Aluminiumchlorid / Aluminiumsalz__
Chlorierte Aluminiumsalze (INCI-Bezeichnung: Aluminium Chlorohydrat / Aluminium Zirkonium, Aluminium Zirkonium Tetrachlorohydrex GLY / AZAG) sind wichtiger Bestandteil in Deos, die 24h-Schutz versprechen, sogenannte Antitranspirantien. Sie verstopfen quasi die Poren, die dann wiederum weniger Schweiß abgeben können. Den Schweissgeruch selbst verhindern sie nicht- dieser ist ein Beiprodukt von Bakterien, die sich im feuchten Milieu vermehren und sich vom Schweiß ernähren.
Aluminiumchloride stehen im Verdacht, Brustkrebs und Alzheimer zu verstärken / auszulösen.
Die Haut kann durch sie zunehmend ausgetrocknet und anfällig für Reizungen werden.
__Azofarbstoffe__
Generell erkennen Sie ALLE (auch die für Naturkosmetik zugelassenen) Farbstoffe an dem Kürzel CI für „Colour Index“ und einer 5stelligen Zahl dahinter. Zu den am meisten umstrittenen Vertretern der Azo-Familie gehören z.B. der Gelbton CI 19140, sowie die roten Nuancen CI 18050, CI 14720 & CI 16035.
Azofarbstoffe bilden die größte Gruppe der synthetisch hergestellten Farben. Deren Ausgangsstoff, Anilin, wird aus Erdöl gewonnen. Azofarben werden in Lebensmitteln, Bekleidung, Kosmetika und vielen anderen Produktgruppen eingesetzt. Mit dem Unterschied: Bei Kosmetika sind alle erlaubt, während in der Lebensmittelindustrie viele Azofarbstoffe verboten sind. Einige von ihnen stehen im Verdacht, aromatische Amine freizusetzen, die wiederum als krebserregend bzw. giftig eingestuft werden. Viele Azofarbstoffe haben außerdem den Ruf, Allergien auszulösen, sowie am hyperkinetischen Syndrom (Zappelphillip) beteiligt zu sein.
__Mikroplastik__
Es gibt leider keine vollständige Liste, auch, weil die Industrie stetig an neuen chemischen Zusatzstoffen arbeitet und so immer wieder neue Varianten festen oder flüssigen Mikroplastiks entstehen. Hier also lediglich momentan besonders weit verbreitete Kunstoffe: Acrylates Copolymer (AC), Acrylates Crosspolymer (ACS), Polyamide (PA, Nylon), Polyacrylate (PAK), Polyethylen (PE), Polyethylene glycol (PEG), Polyethylenterephthalat (PET), Polymethylmethacrylat (PMMA), Polypropylen (PP), Polypropylene glycol (PPG), Polystyren (PS), Polyurethan (PUR), Polyquaternium (PQ), Teflon (EFP, PFEP).
Hast Du heute schon Plastik zu Dir genommen?
Aller Wahrscheinlichkeit nach ja.
Mikroplastik (Polypropylene, Polyethylene oder Polycarbonate) sind nicht nur feste Kunststoffpartikel, die kleiner sind als 5mm, sondern auch flüssige oder gelartige Kunststoffe. Egal ob fest oder flüssig- alle Formen von Mikroplastik sind nur schwer biologisch abbaubar. Einmal in die Umwelt gelangt, verbinden sie sich mit anderen Schadstoffen und landen über die Nahrungskette (z.B. Meerestiere, Vögel,...) in unseren Nahrungsmitteln- mit noch nicht absehbaren Folgen.
Produkte, die besonders häufig Mikroplastik enthalten: Konventionelles Kaugummi, konventionelle Fleecebekleidung- Mikropastik entweicht in der Waschmaschine, Bekleidung aus (auch z.T.) künstlichen Fasern- z.B. Socken, Strumpfhosen & Leggins, Mikrofasertücher und konventionelle Spülschwämme, Teflon-Pfannen, manche konventionelle Zahnpasten, konventionelle Peelings & Duschgele, konventionelle Wimperntusche, konventionelles Rouge, konventionelle Nagellacke, konventionelles Shampoo, konventionelle Sonnencreme, konventionelle Seife, konventionelles Waschmittel, Weichspüler, Plastikverpackungen.
__Antiseptikum Polyhexanid (PHMB)__
INCI: U.a. Polihexanid, Polyaminopropyl Biguanide, Poly(iminocarbonylimidoyl- iminocarbonylimidoylimino-1,6-hexandiyl)-hydrochlorid, Polyhexamethylenbiguanid.
Es ist ein Antiseptikum zur Wundbehandlung, außerdem in Flächendesinfektionsreinigern & Kontaktlinsen-Reinigungsprodukten.
PHMB zählt zu den sogenannten CMR-Stoffen, die als krebserregend, erbgutverändernd & reproduktionstoxisch gelten, inzwischen als Gefahrstoff (CMR2) eingestuft.
__Bestimmte Konservierer__
U.a. Diazolidinyl Urea, Imidazolidinyl Urea, DMDM Hydantoin Methenamine, Sodium Hydroxymethylglycinate.
Dahinter verbergen sich halogenorganische Verbindungen, Formaldehyde oder Formaldehydabspalter und diese sollten unbedingt vermieden werden.
__Parabene (gehört zu Konservierer)__
INCI: Methylparaben, Etyhlparaben, Propylparaben, Butylparaben, Isobutylparaben, Isopropylparaben, Phenylparaben, Metagin, Propagin, Oxybenzoesäure, Oxybezoat, Hydroxybezoesäure, Hydroxybenzoat, PHB, Parahydroxybenzoat.
Parabene können evtl. Brustkrebs auslösen (ist noch nicht vollständig erforscht), deshalb bestehen Grenzwerte. Da sie jedoch in sehr vielen Produkten als Konservierer eingesetzt werden, können diese Grenzwerte am eigenen Körper sehr schnell überschritten werden.
Parabene kann man mit dem Konservierer "Paraben K" auch in der selbstgemachten Kosmetik verwenden. Zwar sind auch diese nicht unbedenklich, jedoch ist die Dosierung für eine minimale Haltbarkeit von 3 Monaten wesentlich geringer, als im konventionellen Bereich.
__Glutaral (gehört zu Konservierer)__
Die wichtigsten Bezeichnungen sind Glutardialdehyd, Glutaraldehyd, 1,5-Pentandial.
Glutaral wird als Konservierer und als <div class="tooltip">antibakterieller
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div> Wirkstoff eingesetzt, besonders häufig in Intimwaschlotionen, seltener in Shampoos, Gesichtsreinigungs-Produkten, Cremes. Außerdem in konventionellen Spülmitteln, Allzweck- & WC-Reinigern und vielen anderen Produkten.
Es kann zu entzündlichen Hautreaktionen und Augen-, Nasen-, Hals- & Lungenreizungen führen. Es kann Formaldehyd abspalten, was wiederum im Verdacht steht, krebserregend & erbgutverändernd zu wirken. Es ist v.a. für Wasserorganismen stark giftig.
__Methylisothiazolinon (MIT) (gehört zu Konservierer)__
INCI: Methylisothiazolinone, der verwandte Stoff Chlormethylisothiazolon (CMIT) ist als Chlormethylisothiazolone deklariert.
Es hat eine mikrobizide Wirkung und wird oft als Konservierungsmittel in Kosmetika, in Haushalts- und Industriereinigern, in der Wasserbehandlung, in Schmiermitteln, Dispersionsfarben, Lacken, Klebstoffen und in der Papierherstellung eingesetzt.
Das Einatmen allein reicht aus, um Allergien und Hautekzeme auszulösen.
__Halogenorganische Verbindungen (gehören zu Konservierer)__
Mit der INCI-Deklaration lassen sich //einige// an der Zusatzsilbe Bromo-, Jodo-, oder Chromo- erkennen, z.B. Chloroacetamide, Iodopropynyl. Außerdem: Ceteareth-Phosphate, Butyl-Carbamate,...
Unter dem Überbegriff Halogenorganische Verbindungen tummeln sich mehrere tausend Stoffe, die Chlor, Brom oder Jod enthalten. Etliche haben ein hohes Allergiepotenzial, manche stehen unter Verdacht, daß sie Krebs auslösen können, und fast alle reichern sich in der Umwelt an.
__Triclosan (gehört zu Halogenorganische Verbindungen)__
Einsatz als Bakterien- & Geruchskiller, z.B. in Zahnpasta, Seife, Mundwasser, Deo, Anti-Pickel-Cremes. Außerdem als Desinfektionsmittel, in Reinigungs- & Waschmitteln, <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div> beschichtete Müllbeutel, Teppiche, Schuhe, Matratzen, Sportwäsche. Moderne Handlüfter, die beim Trocknen auffällig „sauber“ riechen, pusten es in die Luft.
Es zerstört nicht nur schädliche, sondern auch nützliche Bakterien auf der Haut- sie reagiert mit Irritationen & Juckreiz. Außerdem problematisch, weil: Allergie-auslösend, Krankheitskeime können resistent werden, es kann die Kommunikation zwischen Nerven und Muskeln stören, evtl. krebserregend.
Zusätzlich belastet es auch zunehmend unsere Gewässer.
__Climbazol (gehört zu Halogenorganische Verbindungen)__
Da Climbazol <div class="tooltip">antimykotisch
<span class="tooltiptext">gegen Pilze wirkend</span></div> wirkt, gilt es als einer der beliebtesten Wirkstoffe gegen fettige Schuppen. Auch in Pflegeprodukten, die Fuß- oder Nagelpilz vorbeugen sollen, und Feuchtreinigungstüchern wird manchmal Climbazol eingesetzt.
Es kann Allergien auslösen und die Haut irritieren, weil sie die natürliche Bakterienflora aus dem Gleichgewicht bringt. Zum anderen greift es die Eiweißbausteine der Zellen an und spaltet dabei giftiges Chlorphenol ab, das die Entstehung von Krebs begünstigt. Außerdem belastet die Substanz die Umwelt, denn sie gelangt über das Abwasser in Flüsse, Seen und Böden.
__Duftstoffe__
Die meisten konventionellen Kosmetika, aber auch Waschmittel usw. sind heute sehr stark beduftet. Daher ist es auch nicht verwunderlich, dass immer mehr Menschen allergisch auf die unterschiedlichsten Parfüm- & Duftstoffe reagieren.
__Bestimmte Tenside__
Auch bei den Tensiden ist Vorsicht geboten. Die Faustregel ist in der Regel ganz einfach (Ausnahmen bestätigen die Regel!): Je mehr Schaum ein Produkt (z.B. Duschgel, Shampoo, etc.) produziert, desto aggressiver sind die Tenside darin / desto mehr Tenside sind enthalten. Und desto weniger pflegt das Produkt- bis hin zum Austrocknen der Haut.
Außerdem sollte darauf geachtet werden, dass die verwendeten Tenside zu 100% biologisch abbaubar sind.
<div style="background:Lavender;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/ffc455bef8.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Art / Konsistenz der Zutat:'' Wirkstoff, dickflüssige farblose Flüssigkeit,
''Löslichkeit:'' Wasser- & Weingeist-löslich
''Ursprung/Beschreibung:'' Panthenol ist ein Provitamin (Vitamin-Vorstufe). Es wird in der Haut / den Haaren in die als Vitamin B5 wirksame D-Panthothensäure umgewandelt und verwertbar gemacht. Diese ist wiederum ein Bestandteil des Coenzyms A, das an zahlreichen <div class="tooltip">enzymatischen
<span class="tooltiptext">eine durch Enzyme bewirkte bio-chemische Reaktion</span></div> Reaktionen in der Haut beteiligt ist, die für den Aufbau von Proteinen, Fettsäuren, Hormonen und anderen Bestandteilen wichtig sind.
''INCI-Bezeichnung:'' Panthenol
''Weitere Handelsnamen:'' Dexpanthenol, D-Panthenol
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Panthenol sollte in keiner Creme und keiner Haarpflege fehlen. Es gilt als sehr verträglich und ist für jeden Hauttyp geeignet (auch Babyhaut). Aber v.a. für empfindliche Haut ist es ein sinnvoller Wirkstoff, da es hautberuhigende und die Hautbarriere stärkende Wirkung (bereits ab 1% Einsatzkonzentration) besitzt.
Da das Panthenol sehr unpolar ist, kann es gut in die Haut eindringen und dort seine Wirkung entfalten.
Es ist feuchtigkeitsbindend, entzündungshemmend, hat regenerative & wundheilende Wirkung (>Verletzungen & Sonnenbrand), mindert die Hautdurchblutung und damit Hautrötungen und Irritationen, ist juckreizmindernd und mildert Haut- & Haarschäden (durch äußere Reize entstanden, wie Luftverschmutzung, häufiges Waschen mit aggressiven Waschsubstanzen, Sonnenstrahlen, mechanische Beanspruchungen,...).
In Haarpflegeprodukten und Shampoos verleiht es den Haaren Glanz, Geschmeidigkeit, Fülle und bessere Kämmbarkeit. Es dringt in den Haarschaft ein und speichert dort Feuchtigkeit.
Es verbessert die Flexibilität und Stabilität von brüchigen Fingernägeln.
''Duftprofil:'' Dezent charakteristisch
''Einsatzkonzentration:'' In Haarpflegeprodukten bis 1%, in wasserbetonten <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> 0,5-1%, in Nagelpflegeprodukten 1%, therapeutisch 3-5%.
''Lagerung:'' Bei Zimmertemperatur (nicht über 25°)
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover oder bei den anderen [[Anbietern|Zubehör & Anbieter f. Zutaten / Zubehör]].
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' In die auf Handwärme (30°) abgekühlte Emulsion <div class="tooltip">dispergieren
<span class="tooltiptext">=fein verteilen (nicht lösen)</span></div> oder vorher in kaltem Wasser lösen. Den pH-Wert des End-Produkts möglichst auf pH 4-6 einstellen (Panthenol ist säure- & basenempfindlich).
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Panthenol]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Panthenol]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
!!Paraben K ist NICHT empfehlenswert!!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Lange hab ich rumprobiert, da ich feste Parfums liebe. Das grösste Problem ist: es MUSS hosentaschentauglich sein. d.h. es darf mir nicht in der Tasche schmelzen.
Und es hat tatsächlich geklappt.
Ich schleppe es jetzt mehrere Wochen mit mir herum und es ist zwar weniger geworden aber was noch da ist, ist immer noch schön fest. Hurra
hier mein "Rezept"
3g Ceralan
3g Kakaobutter
3g Shea
ergibt ein schönes, fast duftneutrales Trägermaterial.
beduftet habe ich mit:
20 Tr Orange süss
10 Tr Patchouli
5 Tr Lavendel
5 Tr Tuberose
3 Tr Salbei
Eigentlich wollte ich den Karma-Duft aus dem Lush-Thread nachbasteln, aber ich hatte weder Geranie noch Pinie. Nach ein Bisschen experimentieren habe ich mich für Tuberose und Salbei entschieden. Ist zwar weit entfernt von Karma, aber auch sehr schön.
Bisher habe ich das Parfum in den kleinen Bübchen-Creme Döschen. Leider finde ich keine Metalldöschen, aber die haken beim Zudrehen eh gern mal.
Das nächste Mal werd ich das Parfum mal in eine Lippiehülse giessen, dann kann ichs mir dahin "malen" wo ich es haben möchte.
Beduften kann man ja auch frei nach Laune, das ist das Tolle am selber machen. Ich habe noch ein paar Tropfen "Eau d'Issey" Dupe da.. das wird mein nächstes "Projekt" hoffentlich kommt bei dem zarten Duft die Kakaobutter nicht so durch.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Zutaten:
1Teil Bierhefeflocken
1 Teil Weizenkleie
1 Teil Haferkleie
1 Teil Vollmilchpulver
Auch die Zutaten wieder in die elektr. Kaffeemühle geben und fein mahlen. Man kann auch noch Leinsamen zugeben, auch nett.
Dazu vermutlich Öl oder so?
"""150 gr. Wasser
3 El Lavaerde
3 El Pflanzenöl
10 ml Weingeist
ca. 15 Tropfen äth Öl (Lavendel, Thymian, Rosmarin, o.ä.)
Alles in einen Schüttelbecher geben oder gleich in das Behältnis für das Peeling. Schütteln, fertig! Lavaerde dickt ein wenig nach. Falls die Konsistenz zu flüssig ist noch etwas Lavaerde dazu, falls zu dick etwas Wasser dazu.
"""Die wichtigste Zutat eines Peelings sind feine Partikel, die du sanft über die Haut reiben kannst. Du könntest zum Beispiel verwenden:
feines Salz, insbesondere bei unreiner Haut
feinen Zucker für trockenere Haut
Natron, welches die natürliche Talgproduktion der Haut stimuliert Kaffeepulver oder Kaffeesatz, die auch noch gegen Cellulite helfen
Heilerde
Leinsamen
Haferflocken
Mohnkörner
200ml geschmolzenes Kokosöl
50ml geschmolzene Sheabutter
50ml Olivenöl
250ml Zucker
140g Kakaobutter
60g Sheabutter
ein ätherisches(!) Öl eurer Wahl
ca. 300-400ml gemahlene Mandeln, gemahlene Haferflocken, gemahlener Reis
50g Kakaobutter
3 TL Marula Öl
3 TL Kokosöl
50g Kokosblütenzucker
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""5g Bienenwachs
20g Lanolin anhydrid
5g Sheabutter
40g Jojobaöl
5 Tr Calendula-Tinktur
40g Aloe-Vera-Gel
nach Belieben:
3Tr Manuka
3 Tr Palmarosa
3 Tr Teebaum Wildwuchs
3 Tr Lavendel fein
Die ersten drei Zutaten im wasserbad schmelzen. Dann das Öl dazugeben. Die Tinktur im Aloe-Gel lösen und erwärmen.
Wenn die Fettphase geschmolzenist, das Aloe-Gel in gleichmäßigem Strahl dazugießen und mit Handmixer kaltrühren.
Wenn die Creme handwarm ist, die ätherischen Öle einrühren. Nochmal mit Mixer weiterrühren. Abfüllen. Einen halben Tag offen in Cremedosen stehenlassen. Dann nochmal mit Spatel durchrühren.
Diese Creme ist gut geeignet für trockene, entzündliche, sensible Haut...und ich *liebe* sie.
Sie ist schön reichhaltig und trotzdem entzündungshemmend.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">"""
Pfefferminze regt über verschiedene Mechanismen die Verdauung an und bewirkt, dass mehr Gallensäuren gebildet werden. Ein [[Pfefferminztee]] kann dadurch gegen Magen-Darm-Beschwerden wie Völlegefühl und Blähungen helfen.
Pfefferminze hat auch einen positiven Effekt bei Übelkeit, Brechreiz, Durchfall & Magenschmerzen, wenn dieser eine Verstimmung der Darmfauna zugrunde liegt. Wegen seiner <div class="tooltip">antibakteriellen
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> Wirkung werden die Darmproblem-auslösenden Bakterien im Magen abgetötet. >>Pfefferminztee :-)
''Meine Erfahrung damit:'' Hat auch meineMagen-Darm-Beschwerden schon so manches Mal beruhigt.
<div style="background:Lavender;">
Siehe [[Minzöl (Pfefferminze oder Krauseminze)]]
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Das [[Pfefferminzöl|Minzöl (Pfefferminze oder Krauseminze)]] wirkt auf unterschiedliche Arten gegen Kopfschmerzen. Zum einen wird die Bildung von Serotonin, welches für unser Schmerzempfinden verantwortlich ist, gehemmt. Dadurch sinkt unser Schmerzempfinden. Zum anderen steigert die durchblutungsfördernde Wirkung des Pfefferminzöls auch die Sauerstoffversorgung im Gehirn, was zu einer Linderung des Schmerzes führt.
Wer Pfefferminzöl in die Haut einmassiert, verspürt einen kühlenden Effekt. Vermutlich regen die Inhaltsstoffe des Öls Kälterezeptoren in der Haut an. Dieser Vorgang soll zugleich dort befindliche Schmerzfasern unempfindlicher machen, weshalb die Heilpflanze als Hausmittel gegen Spannungskopfschmerzen gilt:
Betroffene massieren die Schläfen dazu direkt mit dem verdünnten Öl ein oder träufeln es vorher auf ein Tuch, um dieses zu verwenden.
<div style="background:Lavender;">
@@.lefttable
|<img width=290 src="https://share-your-photo.com/img/7c010c1b53.jpg"/>||
|<h6>Uwe W., [[Lycaena phlaeas on mint flower 3|https://commons.wikimedia.org]]),<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@<br/>
''Art / Konsistenz der Zutat:'' Blättchen oder Pulver, Gewürz / Teezutat<br/>
''INCI-Bezeichnung:'' Mentha arvensis / piperita / spicata / viridis<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Pfefferminztee]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Pfefferminztee]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Möglichst wenig Fette (oder gar keine) ins "After-Sonnenbrand"-Produkt einarbeiten, da sich unterm Fett die Hitze in der Haut noch mehr stauen kann, sie jedoch eher gekühlt werden sollte.
Deshalb sind auch Kauf-Produkte für "After-Sonnenbrand" mehr oder weniger fettfrei.
Lavendel äö kann man pur anwenden und wird bei verbrennungen empfohlen. Eine salbe würd ich jetzt nicht machen, eher ein gel.
lavendelhydrolat
lavendelextrakt
lavendel äö
mischen, andicken, hilft super
Oder halt, wie gesagt, pur anwenden.
Für kleine Stellen hat sich bei mir immer Aloe Vera-Gel pur bewährt.
Einfach immer wieder aufsprühen. Der Schmerz ist sofort weg und die Haut regeneriert ohne Blase o.ä.
Wollt ich auch grad sagen. Aloe Vera und Lavendelöl. Beides hilft echt super. Und dann Blasenpflaster drauf und drauf lassen bis es sich von selber löst.
Nimmt den Schmerz sofort, die Stelle ist perfekt geschützt und das Pflaster nimmt auch Flüssigkeit auf, die eine Blase ev. absondert.
Wir haben damit die allerbesten Erfahrungen, auch bei heftigeren Schnittverletzungen.
"""Diese Creme hat einer Frau sehr geholfen,welche extrem Neurodermitis an den Händen hatte. Natürlich ist jeder Fall anders und es gibt keine Garantie ,dass die Creme jedem hilft. Heilen kann man die Neurodermitis damit eher nicht, aber lindern / pflegen.
Das ergibt recht viel Creme,ca. 158 g
Avocadoöl grün 12g
Hanföl 6g
Borretschöl 10g
Sheabutter 20g
Emulsan 4g
Lamecreme 5g
Lanolin 6g
8g Harnstoff in 20g Wasser gelöst
50g Wasser (heiß!)
Aloe Vera einfach 15g
D-Panth. 2g
Calendula-Extrakt 10 Tr.
äth. Öl Weihrauch 50 Tr.
äth.Öl Lavendel 20 Tr.
Konservierung nach pers. Vorliebe
ich habe mit 2,6g Alkohol
und 8 Tropfen Paraben konserviert
Lanolin und Avocado sowie die Emus aufschmelzen,
dann im warmen Wasserbad die Sheabutter vorsichtig schmelzen lassen.
Die empfindlichen Öle (evtl. leicht angewärmt) erst bei ca. 50° dazugeben.
Wasser erhitzen und zu den flüssigen Fetten geben.
Das Harnstoff-Gemisch dazugeben.
RÜHREN-RÜHREN-RÜHREN...
wenn alles noch lauwarm ist, die äth.Öle, den Ringelblumen-Extrakt, sowie die Konservierung zugeben.
Bis zum Erkalten RÜHREN!
Ansonsten habe ich mich gestern bereits mit den "Rührresten" der Creme eingeschmiert und fand, dass sie trotz der Reichhaltigkeit sehr gut eingezogen ist (könnte am Alk liegen). Meine Hände sind auch jetzt noch erstaunlich weich! Die Creme ist eigentlich für meine Neurodermitis geplagte Schwester gedacht, aber meine normale, momentan eher trockene Winterhaut scheint sie auch sehr gut zu mögen!
Mit Avocadoöl habe ich bei entzündeter Haut auch immer sehr gute Erfahrungen.
Weihrauch ist ein Heilmittel für die Haut ,aber auch für die Seele. Gerade bei Neurodermitis ist die psychische Komponente nicht zu vernachlässigen. Weihrauch regeneriert und beruhigt verletzte Haut,außerdem wirkt er
antiseptisch. In Kombination mit dem wundheilenden und juckreizstillenden Lavendel riecht er also nicht nur gut,sondern sorgt für Heilung und Regeneration der Haut.
Meine Schwester hat mittlerweile schon um Nachschub von dieser Creme gebeten, sie scheint ihre Beschwerden wirklich zu lindern (wenn auch nicht gänzlich zu heilen).
Ich habe in meiner Version weniger Borretschöl und dafür noch Brokkoliöl, Schwarzkümmelöl, Arganöl, Granatapfelöl, Nachtkerzenöl, Amaranthöl und Klettenwurzelöl drin.
Das Borretschöl hat einen sehr hohen Anteil an Gamma-Linolensäure, die nachweislich bei trockener und schuppiger Haut hilfreich ist. Schwarzkümmelöl und Nachtkerzenöl haben ähnliche Wirkung.
"""100ml altes am besten verranztes öl
10ml orangen reiniger ht
je nach wunsch 5-10gr bienen oder anderen wachs.
Öl und wachs zusammen aufschmelzen, abkühlen lassen und bei handwärme den orangenreiniger reinrühren.
VORSICHT! bei geöffnetem fenster arbeiten oder anders belüften, da der orangen reiniger extrem stark ausdampft und höllische kopfweh machen kann.
Diese paste (je nach wachsanteil) kann man hervorragend als pflegemittel für unbehandelte hölzer nehmen, wie gartenmöbel, alte ver trocknete kommoden ect. pp. Auch wenn der lack kaputt ist bei alten schätzchen, werde die wieder sehr schön.
Am besten wirkt leinöl.....aber das stinkt trotz des orangenreinigers wirklich schlimm und ist nur für draußen geeignet.
Ansonsten könnt ihr hier einfach eure verranzten öle hernehmen. Ich habe sogar schon johannisbeersamenöl genommen, da ich es eh nicht vertragen habe.
Das veranzte öl und der orangenreiniger in dem orangenterpene sind sind ein altbekanntes mittel. Wen das chemische warum interessiert, der kann mal googlen, da gibt es jede menge drüber. Stichwort *firnis* glaub ich, ist schon ne weile her, das ich es gemacht habe. Ich hab mir vor ein paar jahren mal die mühe gemacht und diese zusammensetzung ausgetüfftelt, mit der wir alle zufrieden sind.
"""''Das Rezept ergibt einen pflegenden sehr cremigen Lippenstift'' (Schmelzpunkt bei ca 19 °C ) und reicht für drei Stifte mit der sehr schönen Form von Aromazone ( Moule à rouge à lèvres )
Ich gieße die Masse direkt in die Silikonform, mit dem Vorteil, dass die Herstellung viel einfacher ist, aber mit dem kleinen Nachteil, dass der Lippenstift etwas kürzer wird.
Den oberen Absatz der Form gieße ich mit aus und schneide das Überflüssige später ab. So gewinne ich noch ein paar Millimeter.
Rezept
3.5 g Rizinusöl
3 5 g Jojobaöl
1.0 g Bienenwachs
0.5 g Lanolin
0.5 g Candelillawachs
0,5 g Carnaubawachs
0,5 g Kakoabutter
1,2 g Seidenrosapigmente und Brombeerrosa, (1 großer Messlöffel)
1 äth. Tropfen Rosen- oder Geranienöl
Ja, die Farbe hält auch an diesem Lippenstift nicht lange.
Für 10 g nimmt man besser 2 Messlöffel (so um die 2 g).
Mit mehr Pigmenten leidet die Pflege, da würde ich den Lanolinanteil erhöhen.
Man kann die Masse auch in ein Döschen gießen und mit dem Pinsel auftragen.
"""
------------------------------------------------------------------------------------------------------------
"""''Lip Plumber''
Den habe ich jetzt auch mit Pigmenten versorgt und ein klein wenig verändert.
2 g Bienenwachs
2 g Mandelöl mit Vanille
2 g Sheabutter statt Kakaobutter
0.6 g Lanolin
0,7 g Schokoperlpigmente
"""1 g Manukaöl oder ein anderes oxidationstabiles Öl
3 g Dermofeel G 10 LW
0,5 g Grapefruitöl und etwas PÖ Grapefruit Time
emulgieren und dann die restlichen Zutaten vorsichtig unterrühren. Es schäumt.
20 g Melissengeist
3 g Glycerin ( mehr gibt ein klebriges Gefühl)
1 g Natriumlaktat
5 Tr. Panthenol
1 Tr. Milchsäure ( evtl, mehr - Einstellen auf pH Wert 5)
ich gab noch 3 Tr. Zitronensaft dazu
70 g Holunderhydrolat ( oder nur Wasser )
Alles in eine Sprühflasche abfüllen.
Hydrolat (ich nahm Zitronenverbene)
10% Öl weil Aprikosenkernöl weg muß kam es herein, beim nächsten nehme ich Squalan oder Neutralöl
2% Aloe Vera 10 fach (nahm ich statt Pulver- 1. weil es weg muß, 2. weil mein Pulver totaaaaal verklumpte)
15 % Weingeist
1% LL
"""Meine derzeitige Nachtpflege, und in einer "getunten" Version die alleinige Pflege meiner Mutter:
30 ml Rosenwasser
25 ml Hamameliswasser
25 ml Neroliwasser
2 ML Glycerin pflanzlich
2 ML Calendulaextrakt
2 ML Brunnenkresseextrakt
2 ML Hamamelisextrakt
1 ML D-Panthenol
1 ML Efeuextrakt
1 ML Aloe Vera 10fach
15 Tr. Meristemextrakt
10 Tr. Da Zao
3 Spatel Urea
Tuning 2 Spatelsp. Hyaluronsäure, doppelte Menge Efeu (also 2 ML), jeweils 1/2 ML Vit.E-Fluid, Vit.A-Fluid, Weizenkeimfluid und Nachtkerzenfluid
Konservierung: 4 ML Alk (ca. 8 ml)
Einfach alles zusammenrühren. Durch die Fluid muss man bei jeder Anwendung etwas schütteln. Evtl. die Hy-Säure in etwas Alkohol oder Hydrolat auflösen, z.B. mit dem Milchaufschäumer, ging bei mir ganz gut.
Meine Mama jammert schon, dass sie endlich wieder eine schöne Creme will aber ihre Haut sieht ganz toll aus und auch die ganzen Pickel, die sie immer hatte, sind dadurch weggegangen.
Ich gebe immer etwas davon in die Handfläche und massiere das Ganze dann ein
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@"""
''PH-Wert prüfen''
PH-Indikatorpapier (günstig, jedoch ungenau und schwierig abzulesen) oder pH-Indikatorstäbchen (teurer, jedoch wesentlich genauer und besser abzulesen) mit dem zu prüfenden Produkt mit einem Spatel bestreichen.
Nach wenigen Sekunden Produkt wieder mit dem Spatel abstreifen und die Färbung möglichst bei Tageslicht mit dem Kontroll-Farbstreifen vergleichen. Nun weißt Du den pH-Wert Deines Produkts.
''PH-Wert einstellen''
Ist eine pH-Wert-Korrektur nötig, ist es bei üblichen Pflegeemulsionen empfehlenswert, erstmal 1 Tropfen Milch- oder Zitronensäure hinzuzufügen, diesen gut einzuarbeiten und erst dann erneut zu messen. Wiederhole dies, bis der pH-Wert (in der Regel) zwischen pH 5 und 5,5 liegt. Notiere Dir die benötigte Menge für das Rezept, sodass Du beim späteren Nachrühren nicht nochmal durchtesten musst.
Körperreinigende Produkte benötigen häufig mehr Säure, um den gewünschten pH-Wert zu erreichen. Hier sind 30–50 Tropfen keine Seltenheit, da einige Tenside einen deutlich basischen pH-Wert haben. Arbeite hier evtl. mit Schritten von ca. 10 Tropfen, um Dich dem gewünschten pH-Wert zu nähern. Auch hier gilt: Hast Du die Tropfenmenge ermittelt, solltest Du sie Dir notieren. Dies hilft beim späteren Nachrühren des Rezepts und spart Indikatorstreifen / -stäbchen.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
Siehe [[Squalan]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Pickeln:''<br/><br/>
<$list filter="[tag[Pickel]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Pickeln:''<br/><br/>
<$list filter="[tag[Pickel]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""''Pigmentmischung mittel''
7 g Titanoxid
3 g Seidenweiß
4g Ocker
0,5 g Rotbraun
0,5- 0,75 g Dunkelbraun
gut mörsern
+
1g Orientalbeige
0,5-1g Silberweiß, Perlgold, oder Feingold ( optional)"""
------------------------------------------------------------------------------------------------------------
"""''Pigment Dunkel''
10,5 g Titandioxid
1,5 g Seidenweiß
4,5 g Ocker
1,5-2 g Rotbraun
1,5 - 2g Dunkelbraun
gut mörsern
+
2g Orientalbeige"""
------------------------------------------------------------------------------------------------------------
"""''Pigmentmischung Evita : mittel''
3 g Titandioxid
0,5 g Seidenweiß
0,5g Ocker
0,4 g Rotbraun
0,45 g Dunkelbraun
0,7 - 1 g Oriental beige"""
------------------------------------------------------------------------------------------------------------
"""Du kannst es auch solo verwenden, mit Titandioxid gemörsert, oder Seidenweiß bis Du Deinen Hautton erreicht hast.
Ich hätte die Pigmentmischung gerne noch etwas heller, weil ich noch sehr blass bin.
Gebe ich Titandioxid oder Seidenweiß dazu und muss Seidenweiß auch gemösert werden?
Kann man Oriantal beige pur nehmen oder muss da auch Tio oder Seidenweiß dazu.
Wenn Du auch noch keinen Sonnenstrahl abbekommen hast ist es besser zum Oriental beige noch etwas Seidenweiß zu mischen. Ab besten machst Du Dir nen schönen Bräunungspuder oder versuchst es als solchen mal pur und siehst dann wie viel weiß Du noch dazugibst. Ich nehm dafür die HT Meßlöffel mit ner Fülmenge von 2,5 ml gestrichen, sonst wird es wieder zu ungenau, wenn Du es nachmachen willst, oder gleich abwiegen.
Ich würde anfangen mit 3-4 ML Oriental beige + 1 ML Seidenweiß. das muss man nicht mörsern, aber gut zusammen durchsieben.
Du kannst natürlich auch TiO nehmen, dass muss vorher wieder gemörsert werden und ist deckender. Ich finde den Effekt vom Oriental schöner mit Seidenweiß. Musst Du halt ausprobieren was Dir besser gefällt.
Seidenweiß besteht aus feingemahlenem Glimmer, Seidenschwarz aus Glimmer und Eisenoxid. Man kannes auch mit gemörsertem TiO mischen, wenn mehr Deckkraft nötig ist.
Du kannst zum mischen auch ein kleines Gewürzglas etc. verwenden. Ich verwende Rollrandgläser und kleine Einwegdöschen für Kräuterbutter aus dem Großhandel. Für die fertigen Mischungen aber schon die Puderdosen mit der Siebeinlage.
Du kannst es von Fluid bis Creme Make up überall einarbeiten.
glänzt das Pigment "Oriental Beige" stark? Zu viel Glitzer geht für mich nämlich gar nicht.
also, mein amerikanisches ist eher matt und sehr fein, ohne Glitzer. kann schon jemand was zu dem Pigment von Alexmo sagen?
Ich habe das von Alexmo, ich finde es auch matt und fein, da glitzert nichts.
Man kann die Pigmentmischungen in fast alle Emulsionen einrühren, auch in HDG, ein bissel Öl sollte aber schon drin sein.
Klar kann man je nach Hauttyp noch gold oder Perlgold verwenden. Die anderen (Perglanz Aprikot, Rose & und Aprikot) würde ich nur bei schon leicht gebräunter Haut verwenden."""
------------------------------------------------------------------------------------------------------------
"""''Rezept für einen Bräunungspuder''
Das wäre jetzt eine Grundlage für Gesichtspuder:
4 g Talkum ( alternativ Stärke, oder Iriswurzelpulver)
3 g Seidenweiß
1/2 - 1 ML ( 2,5 ml) Pigmentmischung nach Hauttyp
1/2 - 1 ML Magnesiumstearat
1/2 ML Jojobaöl
optional: Parfümöl, Goldmica, Seidenpulver)
wie sieht es mit Ronaflair aus, ist ja auch für Pudermischungen
oder ist das zu vernachlässigen?
Das kann man auch nehmen. EK ungefähr so wie die Micas.
Talkum ist ein absoluter Weichzeichner, aber man sollte das Zeug auf keinen Fall einatmen.
"""Palmölfrei*e/er/es Titel DIY: #palmölfrei #DIY #Selbstrühren #Körperpflege #Umweltschutz #Regenwald #Palmöl #nachhaltig #Müllvermeidung #zerowaste
Z.B. so:
Palmölfreie & aluminiumfreie Deocreme DIY: Ideales Einsteigerrezept! Schützt 24h vor unangenehmen Düften & pflegt die Haut. Auch als Fuß-Deo verwendbar :-) Manche reagieren jedoch empfindlich auf das Natron. Nutze ich seit mehreren Jahren> begeistert. Kosten ca. 0,30€ f. 24g #palmölfrei #DIY #Selbstrühren #Körperpflege #Umweltschutz #Regenwald #Palmöl #nachhaltig #Müllvermeidung #zerowaste #Deo #Deocreme #Deodorant #aluminiumfrei #Schwitzen #Fußgeruch #Körpergeruch #Hautpflege
Oder so:
Palmölfreier WC-Reiniger / Toilettenreiniger DIY: Ideales Einsteigerrezept! Reinigt wunderbar, entkalkt, wirkt desinfizierend & antibakteriell, hat Einwirkzeit am Spülrand da er nicht sofort wegfließt, schäumt ein bisschen & duftet angenehm. Nutze ich seit mehreren Jahren> begeistert! Kosten ca. 0,80€ f. 570g #palmölfrei #DIY #Selbstrühren #Umweltschutz #Regenwald #Palmöl #nachhaltig #Müllvermeidung #zerowaste #Haushaltsreinigung #Haushaltsreiniger #Toilettenreiniger #Kloreiniger
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte gegen <div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div> an den Zähnen:''<br/><br/>
<$list filter="[tag[Plaque an den Zähnen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Plaque an den Zähnen:''<br/><br/>
<$list filter="[tag[Plaque an den Zähnen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
!!Popups mit integriertem Text erstellen
Es wird nur der hier eingegebene Text angezeigt. Darin können auch Bilder, Listen, Tabellen, etc. enthalten sein. Das Popup zeigt aber keinen Inhalt eines anderen Tiddlers, ist also nicht dynamisch / interaktiv, wie in der Anleitung "Popup eines anderen Tiddlers erstellen".
`<$reveal type="nomatch" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="show">Zeige mich!</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="hide">Verstecke mich!</$button>
! Dies ist der versteckte Inhalt
Textbeispiel
</$reveal>`<br/>
''wird zu:''
<$reveal type="nomatch" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="show">Zeige mich!</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="hide">Verstecke mich!</$button>
! Dies ist der versteckte Inhalt
Textbeispiel
</$reveal>
------------------------------------------
Dabei muss für jedes Popup innerhalb eines Tiddlers die Ziffer in //SampleReveal7// geändert werden (insgesamt also 4x). Also wäre der Code in einem weiteren Popup im gleichen Tiddler:
`<$reveal type="nomatch" state="$:/state/SampleReveal8" text="show">
<$button set="$:/state/SampleReveal8" setTo="show">Zeige mich!</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal8" text="show">
<$button set="$:/state/SampleReveal8" setTo="hide">Verstecke mich!</$button>
! Dies ist der versteckte Inhalt
Textbeispiel
</$reveal>`<br/><br/>
Man kann statt einer Ziffer auch Buchstaben & Buchstaben-Ziffernkombinationen verwenden (sinnvoll z.B., wenn man in einem Wiki viele solcher Popups verwendet). Dann z.B. so:
`<$reveal type="nomatch" state="$:/state/SampleRevealBi10V" text="show">
<$button set="$:/state/SampleRevealBi10V" setTo="show">Zeige mich!</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealBi10V" text="show">
<$button set="$:/state/SampleRevealBi10V" setTo="hide">Verstecke mich!</$button>
! Dies ist der versteckte Inhalt
Textbeispiel
</$reveal>`
<br/><br/>
-----------------------------------------------------
!!Popup eines anderen Tiddlers erstellen
Es wird der Inhalt eines anderen Tiddlers angezeigt. Wie z.B. in meinen ToDo-Listen. Der Inhalt des anderen Tiddlers ist im Popup genauso interaktiv wie im anderen Tiddler selbst (also z.B. im anderen Tiddler enthaltene Popups oder andere interaktive Felder, Buttons, o.ä.).
`<$reveal type="nomatch" state="$:/state/SampleRevealP1" text="show">
<$button set="$:/state/SampleRevealP1" setTo="show">Herzlich willkommen :-)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealP1" text="show">
<$button set="$:/state/SampleRevealP1" setTo="hide">Verberge Herzlich willkommen :-)</$button>
{{Herzlich willkommen :-)}}
</$reveal>`
''wird zu:''
<$reveal type="nomatch" state="$:/state/SampleRevealP1" text="show">
<$button set="$:/state/SampleRevealP1" setTo="show">Herzlich willkommen :-)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealP1" text="show">
<$button set="$:/state/SampleRevealP1" setTo="hide">Verberge Herzlich willkommen :-)</$button>
{{Herzlich willkommen :-)}}
</$reveal>
--------------------------------------------------------------------------------
!!Farbige Popups:
`<style>
.beispielbutton {
border-radius: 40%;
background-color:orange;
}
</style>
<$reveal type="nomatch" state="$:/state/SampleRevealFarbig" text="show">
<$button class="beispielbutton" set="$:/state/SampleRevealFarbig" setTo="show">Zeige mich!</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealFarbig" text="show">
<$button set="$:/state/SampleRevealFarbig" setTo="hide">Verstecke mich!</$button>
! Dies ist der versteckte Inhalt
Textbeispiel
</$reveal>`
''wird zu:''
<style>
.beispielbutton {
border-radius: 40%;
background-color:orange;
}
</style>
<$reveal type="nomatch" state="$:/state/SampleReveal7" text="show">
<$button class="beispielbutton" set="$:/state/SampleReveal7" setTo="show">Zeige mich!</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="hide">Verstecke mich!</$button>
! Dies ist der versteckte Inhalt
Textbeispiel
</$reveal>
--------------------------------------------------------------------------------
!!!Und mit farbigem Hintergrund:
`<div style="background:Hotpink;">
<$reveal type="nomatch" state="$:/state/SampleRevealP2" text="show">
<$button set="$:/state/SampleRevealP2" setTo="show">Herzlich willkommen :-)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealP2" text="show">
<$button set="$:/state/SampleRevealP2" setTo="hide">Verberge Herzlich willkommen :-)</$button>
{{Herzlich willkommen :-)}}
</$reveal>`
''wird zu:''
<div style="background:Hotpink;">
<$reveal type="nomatch" state="$:/state/SampleRevealP2" text="show">
<$button set="$:/state/SampleRevealP2" setTo="show">Herzlich willkommen :-)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealP2" text="show">
<$button set="$:/state/SampleRevealP2" setTo="hide">Verberge Herzlich willkommen :-)</$button>
{{Herzlich willkommen :-)}}
</$reveal>
<div style="background:White;">
Wenn Du möchtest, dass das Popup von diesem Beispiel (mit farbigem Hintergrund) des anderen Tiddlers den anderen Tiddler mit seiner originalen Hintergrundfarbe- in diesem Fall weiß- angezeigt wird, dann musst Du in dem anderen Tiddler `<div style="background:White;">` reinschreiben (als erstes).
<div style=>
------------------------------------
!!!Gerundete Popups mit Schatten erstellst Du mit:
`<style>
.willkommenbutton {
line-height:1.6em;
border-radius: 40%;
box-shadow: 5px 5px 5px white;
}
</style>
<$reveal type="nomatch" state="$:/state/SampleRevealX" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealX" setTo="show">Zeige mich</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealX" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealX" setTo="hide">Verberge mich</$button>
Verborgener Text
</$reveal>`
!!wird zu:
<$reveal type="nomatch" state="$:/state/SampleRevealX" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealX" setTo="show">Zeige mich</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealX" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealX" setTo="hide">Verberge mich</$button>
Verborgener Text
</$reveal>
Soll diese Button-"Class" im gesamten Wiki gelten, so musst Du einen Tiddler erstellen mit dem Inhalt:<br/>
`<style>
.willkommenbutton {
line-height:1.6em;
border-radius: 40%;
box-shadow: 5px 5px 5px white;
}
</style>`<br/>
und diesen mit $:/tags/Stylesheet taggen.<br/>
Der Name "willkommenbutton kann natürlich ein beliebiger sein ;-)
"""Wirkt sehr mattierend und porenverfeinernd und dürfte vielen den Puder ersparen.
20 ml vorkonserviertes Hydrolat wie Zypresse, Hamamelis oder Lemongrass
4-6 ML Kieselsäure - soviel das Hydrolat schlucken kann und solange es noch Gel-Konsistenz hat
2-3 Tropfen ÄÖ Lemongrass, Zypresse, Lavendel
Verrühren. Fertig.
Verfeinerungen: Tröpfchen Milchsäure. Etwas Panthenol. Urea. Hyla. Halb Hydrolat, halb Aloe Vera.
"""15 ml Hammamelisextrakt
15 ml Dest Wasser
10 ml Aloe Vera
10 ml Gurkenextrakt
5 ml Weinlaubextrakt
1 cm Lipodermin Konzentrat
5 g Harnstoff
10 Tropfen Squalan
3 ml Glycerin
2 g D-Panthenol
10 Tropfen Vitamin ACE-Fluid (muß nicht sein nur Radikalfänger)
1 Tropfen Geraniumöl
1 Msp. Allantoin
1 großer Kristall Menthol
So das wars auch schon. Harnstoff und Allantoin in Wasser vorlösen und das andere immer dazwischen mal schütteln.
Sehr erfrischend durch das Menthol. Ist auch gut zur Stärkung von Couperose (Weinlaub) Das Squalan ist nur drinnen weil es sich gut anfühlt und man dannach nicht gleich den Zwang zum Eincremen hat.
"""150g abgek. Wasser
5g Hamamelisextrakt
5g Efeuextrakt
4g Glycerin
3g Panthenol
3g Urea in etwas Wasser gelöst
5 Tr. ÄÖ (z.B. Lavendel)
Alles zusammen in eine Sprühflasche geben und morgens (wer viel Pflege verträgt, auch abends) das Gesichts einsprühen, mit dem Zeigefinger noch etwas in die Haut einmassieren.
Mir hilft dieses Gesichtswasser, einen guten Start in den Tag zu haben, denn meine Haut wird erfrischt und gepflegt und kann auch als kleine Vorbereitung für Make-Up genutzt werden, denn das Wässerchen zieht sehr schnell in die Haut ein.
Meine Haut ist pickelfrei und sieht nach einigen Wochen Anwendung deutlich rosiger aus.
Bitte efeuextrakt nur bei dem händler eures vertrauens und nicht selber ansetzen, da efeu hochgiftig sein kann.
Edit: Der Panthenol-Anteil kann auch sehr gerne reduziert werden, da er bei zu großer Menge das Gesicht eine Zeit lang leicht klebrig machen kann!
Oft benutze ich das Gesichtswasser einfach, um abends gereinigt schlafen zu gehen.
Wenn ich das Gefühl habe, dass meine Gesichtshaut mehr Pflege braucht, dann benutze ich das Gesichtswasser wirklich als "Vorbereitung" und creme hinterher noch etwas nach.
Gesichtswässerchen öffnen ja die Poren ein wenig, sodass Pflege gut wirken kann.
klar kannst du die Extrakte weglassen.Aber die sind sooo einfach selbstzumachen.
Hast du Thymian zu Hause?
Thymian hat eine entzündungshemmende, astringierende, reinigende Wirkung.1 Teil Tymian mit 5 Teilen Alkohol (70%)kann auch weniger sein, übergießen und 5 min mit Zauberstab bearbeiten.Dann ein paarmal filtern und du hast eine schöne Tinktur.
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Vaccinium Macrocarpon (Cranberry) Seed Oil
''Jodzahl:'' 160–180 (trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 18 Monate
''Anteile an Unverseifbarem:'' ca. 2,6%
''Verseifungszahl:'' 180–200
__Trockene, sensible, reife Haut.__
Das Preiselbeersamenöl ist auf Grund seiner spezifischen Zusammensetzung ein wundervolles Wirkstofföl für __trockene, reife und barrieregestörte Haut__. α-Linolensäure und Linolsäure wirken fluidisierend auf Zellmembrane und fördern den Ablauf hauteigener Regenerations- und Stoffwechselprozesse. Die öleigene Komposition an Antioxidantien wie Tocopherolen und Carotinoiden schützt hauteigene Lipide und Zellmembrane vor oxidativen Schäden und verzögert umweltbedingte Hautalterungsprozesse. Neben __reifer, trockener und ekzematischer Haut__ profitiert auch __fette, unreine Haut__ von den __entzündungshemmenden und verhornungsregulierenden__ Eigenschaften dieses Öls. Die spezifische Fettsäurezusammensetzung und der geringe Anteil an gesättigten Fettsäuren bewirken ein __leichtes, nicht fettendes Hautgefühl__, die Tocopherole fördern zudem das Penetrationsvermögen und bedingen ein __gutes Einziehverhalten__ des Öls, das als Wirkstofföl auch in Tagespräparaten eingesetzt werden kann. Ähnlich Wildrosenöl erzeugt Preiselbeersamenöl ein ausgesprochen weiches, samtiges Hautgefühl.
Kombiniere Preiselbeersamenöl mit einem γ-linolensäure-reichen Öl (z.B. Nachtkerzenöl), Granatapfelsamenöl (Punicinsäure) und mit Phytosterolen (UdA, Shea- oder Cupuaçu-Butter) und Lipodermin (konzentriertes Phosphatidylcholin) zu einem wundervollen, regenerierenden Kosmetikum oder gib nachts 1-2 Tropfen über Dein Nachtkosmetikum.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Preiselbeersamenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Preiselbeersamenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$button class='tc-btn-invisible tooltip'>
<$reveal type='match' state='$:/plugins/tobibeer/preview/defaults/exclude' text='[all[tiddlers]]'>
@@background:orange; <input type='checkbox' checked/><span class="tooltiptext">No Preview?</span> @@
<$action-setfield $tiddler='$:/plugins/tobibeer/preview/defaults/exclude' text='[is[system]] [all[shadows]] [!has[text]]'/>
</$reveal>
<$reveal type='nomatch' state='$:/plugins/tobibeer/preview/defaults/exclude' text='[all[tiddlers]]'>
@@background:lightgreen; <input type='checkbox'/><span class="tooltiptext">No Preview?</span> @@
<$action-setfield $tiddler='$:/plugins/tobibeer/preview/defaults/exclude' text='[all[tiddlers]]'/>
</$reveal>
</$button>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""letzte Woche wurde bei meinem Freund Psoriasis diagnostiziert, und zwar an vielen Körperstellen. Für die Kopfhaut habe ich ihm schon ein Salzshampoo gemacht, nun bin ich am Basteln für eine reichhaltige Creme, die pflegend, entzündungshemmend, wundheilend, juckreizstillend und befeuchtend wirken soll. Ich habe mal folgendes Gerüst gemacht, wobei ich auch erst mal möglichst wenig verschiedene Rohstoffe verwenden wollte. Was haltet Ihr davon?
45 Fettphase:
20 Sheabutter
16,7 Aloe Vera Öl
6,3 Lamecreme
2 Avocadin
55 Wasserphase:
31 Wasser
4 C-Kons
10 Urea
1 Milchsäure
4 Natriumlaktat
5 Glycerin
15 Tropfen Weihrauch-ÄÖ
Deine Mischung könntest du mit diesen beiden Stoffen erweitern.
0,5% Bisabolol: hautberuhigend, juckreizstillend, entzündungshemmend
2% Panthenol: feuchtigkeitsbindend, hautberuhigend und wundheilend.
Er muss sich sehr oft eincremen. Am besten zweimal am Tag oder öfter.
Cistrose-, Karottensamen- und Manukaöl werden auch im Fachbuch "Mind-Maps Aromatherapie" dafür empfohlen.
Verkapseltes Nachtkerzenöl oder auch Leinöl. Auch noch ein Tipp.
Für die einen Psoriasisgeplagten ist Urea die Rettung, andere vetragen es nicht. Am besten ist es eigentlich, erst mal mit möglichst wenig Stoffen anzufangen, damit Du weißt, was wirklich was bringt und was nicht. Gängig ist Glycerin und Urea, ebenso D-Panthenol. Arnika in verbindung mit Psoriasis findet man eigentlich nicht. Die Fettphase ist auch so eine Geschmacks- bzw. Hautsache; ich würde aber eine hohe Fettphase bvorzugen.
die Genannten sind alles gute Rohstoffe, die du bei Psoriasis einsetzen kannst.
Die Fettphase würde ich mit 22-25 % ansetzen.
Mit Phopholipon und Urea aber auch besonders mit Lanolin habe ich gute Erfahrung gemacht. Und außerdem mit CM Beta Glucan. Dieser Wirkstoff gibt es aber leider nicht für uns Endverbraucher und ich habe ihn durch die Dermaviduals Basiscreme plus kennengelernt.
Puffer bei Urea müssen nur dann eingesetzt werden,
wenn wir mit säureempfindlichen Konservierung wie z.B. Kaliumsorbat arbeiten oder basenempfindliche Wirkstoffe wie z.B. Panthenol verwenden.
Ich habe gerade mal die Rubrik Fette und Öle bei aliacura durchforstet und das hier entdeckt: Zedernussöl ... wird zur äußerlichen Behandlung von Verbrennungen, Schuppenflechte oder ganz allgemein von entzündlichen Hautzuständen verwendet.
Ich habe bei meiner Schuppenflechte (Unterarme, Handrücken und Ellenbogen) gute Erfahrungen mit purer Sheabutter gemacht, so dass ich auf die Cortisoncreme vom Doc mittlerweile verzichten kann.
Folgendes Rezept hat mir geholfen:
25% Fettphase
6% Neutralöl
2% Squalane
4% Sheabutter
4% Murrumurrubutter
4% Ringelblumenöl
3% Lanolin
2% Phospholipon
53% Wasser
10% Urea
5% Glycerin
6% Ringelblumenextrakt
1% Biokons Neo
"""zutaten:
8 gr talkum
6 gr seidenweiß (oder 3 gr. titandioxid) - seidenweiß glänzt und macht weniger arbeit, titandioxid mattiert eher und ist deckender, macht mehr arbeit, bietet aber zudem physikalischen sonnenschutz
1 gr pigmentmischung (gibts bei z.b. http://www.art-of-beauty.at - 2 verschiedene richtungen einmal mehr für die helle haut, einmal mehr für die dunkle haut oder man stellt sich dies selber zusammen - das hab ich gemacht)
1-2 gr magnesiumstearat - das ist die eigentliche haftgrundlage des puders
1 ml jojobaöl oder ein anders öl
2 tropfen äth öl (das kann man aber auch weglassen - ich hab palmarosa dazugetan, weil das so nach gekauftem puder riecht)
so, und nun beginnt die arbeit:
erst mal die trockenen zutaten incl. seidenweiß (ABER NICHT DIE FARBPIGMENTE) in ein schraubglas rein, alles schön durchmischen und schütteln.
nun holst du dir einen mörser, schüttest da das jojobaöl rein und die pigmentmischung und mörserst das durch, immer wieder, es muss eine geschmeidige mischung daraus werden. zwischendurch immer mal wieder die festgebappte masse vom rand lösen und weiter mörsern, nach und nach, wenn die masse richtig schön homogen ist (das kann laut hobbythek-buch bis zu 10 minuten dauern - bei mir hats nie so lange gedauert) fügst du immer wieder mal was von der trockenmischung dazu - irgendwann passt das wahrscheinlich nicht mehr in deinen mörser, dann musst du auf ein anderes gefäß auswandern mit der masse.
das ergibt ein loses puder, das sich echt ewig hält, gut haftet und du kannst es dir so zusammenmischen, wie du es haben willst. die richtige farbzusammenstellung zu finden ist allerdings nicht so leicht. da solltest du dich schon mal drauf vorebreiten, dass du nachbessern musst
ich hab so lange nachgebessert, dass das locker für ein jahr langt für mich und meine beiden töchter
wenn du dann noch ein bißchen glanz reinhaben willst (das seidenweiß glänzt auch schon sehr) so für den abend oder so, da gibst herrliche perlglanzpigmente oder *schwärm* interferenzpigmente, die sehen erst mal weiß aus und geben erst auf der haut preis, welche changierende, glowende farbe sie eigentlich sind. wobei der ausdruck farbe nicht ganz richtig ist, da sie eigentlich nur durch lichtbrechung ihre wirkung erhalten.
"""Puder für Glanznasen
1 Teelöffel Kieselerdepulver (gibt es von Abtei)
1/2 Teel. Heilerde (z. B. Luvos für äußerliche Anwendung)
Beides in eine Dose geben und gut schütteln. Fertisch!
Man kann auch nur Kieselerde alleine nehmen, aber mir gefällt die "Tönung" mit der Heilerde besser.
Das ist ein ganz toller Puder, der sehr langanhaltend mattiert und die Haut ganz ebenmäßig und samtig macht. Außerdem ist er unsichtbar.
Er saugt Fett und Feuchtigkeit sehr sehr gut auf. Die Haut ist viele Stunden ganz matt, viel länger, als mit normalem Puder.
Der Nachteil ist, er läßt sich nicht so einfach auftragen. Ich nehme jetzt ein Wattepad dafür, weil im Pinsel immer etwas "kleben" bleibt.
Das ausprobieren lohnt sich und ist auch nicht teuer.
mittlerweile nehme ich helle Lavaerde, statt Heilerde, und gebe noch zusätzlich Maisstärke oder Pfleilwurzelstärke mit hinein, dann wird der Puder auch nicht so pappig.
Hier noch eine Variante zum Kieselerde-Puder:
1Esslöffel Kieselerde
1Teelöffel kosmetische Maisstärke
1kleiner HT-Messlöffel (1ml) Magnesiumstearat
Alle Zutaten in einem fest verschlossenen Gefäß gut schütteln - fertig!
Der Puder mattiert, trocknet (bei mir) überhaupt nicht aus, lässt die Haut ebenmäßiger erscheinen.
Kann gut pur verwendet werden - ich mische aber gerne noch etwas MF dazu. Meist reicht auch hier einfaches Schütteln, bei manchen MFs (Cory!) ist Mörsern von Puderbasis mit MF sehr von Vorteil!
''M''ineral''f''oundation = Makeup, das nur aus Pigmenten besteht.
"""So, habe jetzt endlich eine Creme gefunden, die Sohnemann erstens akzeptiert und zweitens verträgt und die selbst seine von starker Neurodermitis geschäigte Haut samtweich macht und beruhigt!
Man nehme:
3g Tegomuls
2g Emulsan
10g Mandelöl
10g Jojobaöl
2g Ceralan (geht bestimmt auch mit Bienenwachs)
-klar aufschmelzen, dann im warmen Öl
10g Sheabutter auflösen
5g Nachtkerzenöl
5g Avocadoöl, grün dazugeben
100-110g Wasser, getrennt erhitzen und mit der Fettphase verrühren
Das ganze stelle ich immer wieder in den Tiefkühler, hole es raus, rühre mal wieder usw.
Bei Handwärme die Wirkstoffe
2Ml Calendulaextrakt
6g D-Panthenol
2 Ml Glycerin dazugeben, Konservierung nach Wahl, ich hab Weingeist genommen.
Das Ganze gibt eine recht reichhaltige fluffige Körpercreme, die aber doch schnell einzieht, hinterläßt ein sehr gepflegtes, durchfeuchtetes Gefühl..und hilft
''Alle getesteten Rezepte bei Problemen im Rachen, Erkältungs- & Grippesymptomen:''<br/><br/>
<$list filter="[tag[Erkältung]] [tag[Grippe]] [tag[Halsschmerzen]] [tag[Husten]] [tag[Mandelentzündung]] [tag[Rachenentzündung]] [tag[Schluckbeschwerden]] [tag[Schnupfen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte bei Problemen im Rachen, Erkältungs- & Grippesymptomen:''<br/><br/>
<$list filter="[tag[Erkältung]] [tag[Grippe]] [tag[Halsschmerzen]] [tag[Husten]] [tag[Mandelentzündung]] [tag[Rachenentzündung]] [tag[Schluckbeschwerden]] [tag[Schnupfen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Rachenentzündung:''<br/><br/>
<$list filter="[tag[Rachenentzündung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Rachenentzündung:''<br/><br/>
<$list filter="[tag[Rachenentzündung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Funktioniert auch sehr schön fürs beine rasieren.
30gr gesamt menge, alle angaben in %
48 wasser mit haarguar zum gel verarbeitet
14 plantapon
12 sanfteen
10 reiskeimöl
8 beinwellextrakt
1 msp allantoin
6 glycerin
1 bioschwefel (optional)
1 meersalz
Konservierung
duft
Verarbeitung: öl und haarguar vermengen, hydrolat, glycerin, allantoin vermengen, beide phasen zusammen verquirlen, dann tenside und wirkstoffe darunter rühren.
(die tenside zusammen mit dem gelbildner bilden den emulgator).
Konservieren: theoretisch kannst du alk nehmen, allerding bin ich mir nicht sicher, ob haarguar das mag, bzw ob es in diesem fall die gelstrukturen zerstören würde. alternativ könntest du das rasiergel im ph-wert mit milchsäure oder zitronensäure runterregulieren, damit du rokonsal verwenden kannst.
Dem haarguar ists wurscht, ob alk oder nicht und ich versuche immer alles auf phw 5 einzustellen........wobei ich habe dieses gel schon oft gerührt und zwar genau so wie es oben steht. Es hat nie was gegammelt. Ich rühre aber auch nur 30gr, die sind ratz fatz weg
"""Ich habe ein super Rezept für einen sehr pflegenden und stabilen Rasierschaum. Diesen Rasierschaum können auch Frauen sehr gut verwenden
30 g Betain
30 g Wasser oder Aloe Vera Wasser
15 g Mandel- oder Jojobaöl
15 g Aloe Vera 10-fach
13 g Glycerin
1 g Allaun
5-8 gtt Duft nach Wahl
10 gtt Seidenprotein (weil ich es so liebe
1,5 g EcoKons (BIO-Konservierer)
Alle Zutaten direkt in die Verschäumerflasche geben und vor der Verwendung gut schütteln.
Die Verschäumerflaschen habe ich bei der Kosmetikmacherei gekauft.
Rezept funktioniert wohl nicht (nicht stabil, macht Haare nicht weich genug zum Rasieren, soll aber pflegend sein), und ist wohl nicht "ausgewogen".
''Verbesserungsvorschlag''
Obiges Rezept mit Prozenten:
30 g Öl (25,1%)
30 g Wasser (25,1%)
30 g Betain (25,1%)
1 g Alaun (0,84%)
15 g Aloe Vera 10-fach (12,5%)
13 g Glycerin (10,9%)
15 Tr. Seidenprotein (0,6%)
tja, weniger öl höchstens 10-15%
wasser ok
betain zu viel, ich würde auch hier allerhöchstens 15% nehmen
alaun hab ich noch nie verarbeitet und werde es auch nicht tun. NAch der rasur bringt es mehr
aloe-vera 10fach reichen auch 10% aloe 1:1 lann man einfach pur als wph nehmen
glycerin ist ok auch wenn ich nur 10% nehmen würde
seidenprot. nehm ich nie, lieber 1-2% panthenol.
''Alle getesteten Rezepte zum Rasieren:''<br/><br/>
<$list filter="[tag[Rasur]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zum Rasieren:''<br/><br/>
<$list filter="[tag[Rasur]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte zur Raumluftverbesserung:''<br/><br/>
<$list filter="[tag[Raumluftverbesserung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Raumluftverbesserung:''<br/><br/>
<$list filter="[tag[Raumluftverbesserung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Bei unangenehmen Gerüchen wie ein Raumspray benutzen. Ich kann dazu nichts sagen, habe es also noch nicht getestet, da ich keine Raumsprays benutze. Da es aber wunderbar als Geruchsentfernerspray funktioniert ([[Geruchsentferner-Spray- ideales Einsteiger-Rezept]]), müsste es ja auch als Raumspray funktionieren. Vermutlich kannst Du dafür den Alkohol reduzieren oder auch ganz weglassen."""
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=3/> ml (Mindestmenge 125ml)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 500 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom Doppel-Messlöffel (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom Doppel-Messlöffel (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /500* 470,2)</$calc>g/ml Wasser oder destilliertes Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /500* 30,2)</$calc>g/ml [[Isopropanol|Alkohol, hochprozentig]] oder <$calc>round({{!!gesamtmenge}} /500* 60,2)</$calc>g/ml Wodka o.ä. hochprozentiger Alkohol (!!)
* <$calc>round({{!!gesamtmenge}} /500* 24,2)</$calc>g [[Natron]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 10,2)</$calc> - <$calc>round({{!!gesamtmenge}} /500* 15,2)</$calc>Tropfen [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# ''Wasser'' abkochen und auf ca. 40°C abkühlen lassen.<br/>Bei destilliertem Wasser kannst Du diesen Schritt auslassen.
# ''Natron'' unterrühren, bis es sich vollständig aufgelöst hat.<br/>(Wenn es sich nicht vollständig auflöst, "hängt" sich das ätherische Öl / Parfümöl daran).
# ''Alkohol / Isopropanol'' & ''Parfümöl'' unterrühren oder alles direkt in die Sprühflasche hineingeben und gut schütteln.<br/><br/>
''Anwendung:''
# Unangenehm Riechendes einsprühen & trocknen lassen...<br/><br/>
''Zubehörliste:''
* Ggf. Wasserkocher
* [[Briefwaage]]
* ggf. Gefäß zum Verrühren
* Teelöffel
* Sprühflasche
"""
''Ab wann verwendbar'': Sofort verwendbar.
''Zutatenliste mit Wirkweise in diesem Rezept:''
__Wasser__ (Kosten hängen von Deinen Wasserwerken ab...)
Kannst Du quasi weglassen (ohne Funktion), aber //nur// mit Alkohol wird es wohl doch etwas teuer....
[[Isopropanol|Alkohol, hochprozentig]] (0,29€) oder Wodka o.ä.
Desinfiziert, entfernt Bakterien- neutralisiert somit auch Gerüche- und verlängert die Haltbarkeit. Isopropanol riecht schon heftig nach Alkohol, ist aber dafür günstig. Nach dem Trocknen ist der Alkoholgeruch auch wieder weg. Wodka z.B. ist halt wesentlich teurer aber dafür so gut wie geruchlos.
Du kannst den Alkohol auch weglassen- dann reduziert sich aber die geruchsneutralisierende Wirkung und es ist nur kurz haltbar.
[[Natron]] (0,11€)
Evtl. ist möglichst fein pulverisiertes Natron hier besser geeignet, da es sich evtl. besser im Wasser auflöst (grobes hat eine Körnung ähnlich wie Salz).
Neutralisiert unangenehme Gerüche.
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]]
Zum optionalen Beduften.
''Konserviert durch'' den Alkohol.
''Haltbarkeit'': Ca. 6 Monate.
''Gesamtkosten der Zutaten:'' 0,40€ (ohne Wasser & Duftöle, da ich nicht weiß, wieviel Dein Trinkwasser kostet; und ob & welche & wieviel Duftöle Du nimmst) für 500ml Gesamtmenge. Stand September 2019
<div style="clear:both;line-height:0px;"></div>
"""10 drops camphor essential oil
12 drops cajeput essential oil
8 drops menthol essential oil or 1–2 menthol crystals
4 drops cassia essential oil
16 drops peppermint essential oil
Perfumery alcohol, to top off
Place the essential oils in the bottom of a 5mL roller bottle. Top off with perfumery alcohol, cap, and shake to combine. Let the essential oils dissolve in the alcohol for at least an hour before using.
To use, roll a liberal amount over the effected area. Keep away from sensitive areas!
If you don’t have perfumery alcohol you can use cheap vodka or a light carrier oil of choice (grapeseed oil or safflower are good choices), though using oil will obviously not have the same quick-dry effect as the alcohol.
Ich habe die ätherischen Öle wie im Rezept (mit Mentholstäbchen) versehentlich in einen 10ml-Roller getan, aber er wirkt trotzdem ganz prima. Mein Papa hat heute angerufen und gefragt, ob ich das Wundermittel selber gemacht hätte und welches Gift ich da hineinversenkt hätte ;)
Der Roller wirkt und ich darf mit Nachbestellungen rechnen.
Evtl. ein Öl dazu, um Irritationen der Haut durch die ÄÖs zu vermeiden.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""150g dest. Wasser
7,5g Hamamelisextrakt
7,5g Calendulaextrakt
7,5g Aloe Vera 10fach
4,5g Grünteeextrakt
3g Glyzerin
1,4g Salz (am besten Meersalz unraffiniert)
5 Tropfen Litsea oder ein anderes äth. Öl für den Duft
Alles in eine Flasche geben und gut schütteln!
Alternativ kann auch Hamameliswasser genommen werden anstatt von dest. Wasser und Hamamelisextrakt.
Das Gesichtswasser sollte vor jedem Auftragen kurz geschüttelt werden, da sich oben das Calendulaextrakt absetzt.
Ich habe beobachtet, dass das Wasser trüb wird nach ein paar Tagen, was aber nicht bedeutet, dass es verdorben ist.
Das Meersalz regeneriert die Haut, die pflegenden Extrakte tun ihr übriges dazu!
Man sollte das Salz und Glyzerin nicht höher dosieren, da das Gesichtswasser sonst austrocknend wirkt!
"""Fettphase
12ml Mandelöl
3g Emulsan
5g Sheabutter
Wasserphase
33 ml dest. Wasser
1 kleiner ML Urea
1 kleiner ML Glycerin
1 kleiner ML Honig
Wirkstoffphase
1 ML Panthenol
7 Tropfen Karottenöl
1 kleiner ML Algengel
1 MSP Hyaluron (in 1ml Weingeist lösen)
5 Tropfen Paraben K
Die Konsistenz ist super - nicht zu weich, nicht zu fest. Und sie bleibt bei Raumtemperatur auch nach drei Tagen stabil.
Macht eine streichelzarte Haut und zieht gut ein.
Hab ich für meine Ma und meine Schwiemu gerührt - also eher was für trockene, reife Haut.
"""Dieses Rezept ist nach Art einer Cold Creme zusammengestellt. Die Coldcremes sind sehr instabil und vertragen auch keine größeren Temperaturwechsel.
Könnte man mit etwas mehr Konsistenzgeber, z.B. Walratersatz, Bienenwachs oder Kakaobutteranteil den Zusammenhalt der Creme erhöhen. Und vor allem sollte der wässrige Anteil verringert werden. Bei einer Wassermenge von 25% hält meine Creme mind. 4 Wochen , wenn sie kühl steht. Ansonsten sollte man ein konserviertes Hydrolat benutzen.
Das ist mein augenblickliches Rezept:
45 g Jojobaöl- und Sonnenblumenölmischung
25 g Lavendelhydrolat
25 g Kakaobutter
5 g Bienenwachs
''Alle getesteten Rezepte zur Körperpflege:''<br/><br/>
<$list filter="[tag[Reinigung im Haushalt]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Körperpflege:''<br/><br/>
<$list filter="[tag[Reinigung im Haushalt]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Fettphase:
35ml Olivenöl/Jojobaöl (ich nahm eine Mischung aus beiden) oder auch anderes Öl
4ML Tegomuls
1ML Lamecreme
Wasserphase:
125ml dest. Wasser
Wirkstoffphase:
1 Schuss Glycerin
Konservierung: 7ml Weingeist/15Tr Paraben K
Duft nach Wahl: ca. 8 bis max. 15 tr. Ätherisches ÖL oder Parfümöl...
ergibt 150ml cremige und ergibige Reinigungsmilch.
Auf die feuchte Haut auftragen, sanft einmassieren und evt. mit einem angefeuchteten Wattepad drübergehen, anschließend Cremereste mit Wasser abspülen. Die (meine) Haut ist danach super-sauber und spannt überhaupt nicht.
Ich habe die Milch per Schütteltechnik hergestellt: Beide Phasen erwärmen bzw. schmelzen und in einen Behälter (ich nahm Alverde Gesichtwasserflasche) geben. KRÄFTIG schütteln!
Abkühlen lassen und immer wieder mal Schütteln. Bei Handwärme Glycerin, Konservierung und Duft dazugeben.
"""10g Lame
28g (Aprikosenkern-) Öl
schmelzen
120ml Wasser dest.
erwärmen
Fett- und Wasserphase verquirreln und gut rühren. In eine Flasche abfüllen, wenn die RM erkaltet ist folgende Zutaten dazugeben und verschütteln:
10 Tr. Rosenholz äö
16 Tr. Paraben - wer will nimmt Alkohol
3 ML Betain
Das Rezept ist auf jeden Fall supersimpel, Rosenholz riecht sehr gut und eignet sich angeblich auch für sensible Haut. Und sie nimmt schön brav Mascara, Puder und Rouge ab.
"""70-80 ml stilles Wasser
1/2 Messl. Xanthan
30-40 ml Sonnenblumenöl
2-3 Messl. Fluidlecithin Super oder 5 Ml Cremaba
8 Tr. äth. Öl
Konserviert mit 5% Weingeist auf die Wasserphase
Abgekochtes destill. Wasser mit Xanthan andicken, Öl mit Fluidlecithin / Cremaba mischen und zum Wasser geben.
Alles gut durchrühren.
Diese Reinigungsmilch reinigt sehr gut und ist kein bißchen austrocknend.
"""ein paar Kaolinpasten für die Gesichtsreinigung.
''Lavendel bar on skin''
1 ML Glycerin
40 ml Lavendelwasser
10 T ÄÖ Lavendel
20 T Johanniskrautöl
8 g Mandelkleie
2 g Seesand ------- alternativ 10 g Seesand/Mandelkleie fertig von
AOK
1 TL Lavendelblüten
20 g Kaolin
20 T Paraben - wahlweise mit Alk. konservieren
- wer es milder möchte, ersetzt den Seesand vollständig gegen Mandelkleie
20 g Kaolin ist ein Richtwert, kann auch noch erhöht werden, wenn es fester werden soll.
Als reine Waschpaste ohne merkliches Peeling kann auch nur Kaolin genommen werden.
''aqua dingens....''
1 ML Glycerin
20 ml Salbeiwasser (unreine Haut) oder 20 ml Rosmarinwasser
20 ml Wasser
1/2 ML Meersalz (staubmörsern, oder einf. im Wasser auflösen)
1/2 ML Aloe vera Gel
5 g Zinkoxid (durch ein Haarsieb streichen)
25 g Kaolin
10 T Orangenöl
2 T Patchouli
bei unreiner Haut : z.B. 4 T Salbei ÄÖ, 2 T Rosmarin ÄÖ, 4 Lavendel ÄÖ
20 T Paraben -- oder wieder Alk.
''Olivenpaste''
1 ML Glycerin
20 ml Rosenwasser
20 ml Wasser
20 T Olivenöl (sehr spannend zu dosieren)
1 ML Oliven-Mandelsteingranulat
30 g Kaolin
5 T Rosenöl
20 T Paraben --- oder Alk. konservierung, wer kons. Rosenwasser nimmt, braucht die Alk.Menge nur auf die Menge 20ml Wasser
teure Hydrolate muss man nicht nehmen, denn es landet rasch im Ausguss
wäre sicher nur sinnvoll, wenn als Maske verwendet
''Simpliciccimus''
1 ML Glycerin
40 ml Wasser
10 Tropfen Öl
30 g Kaolin
20 T Paraben --- oder Alk.kons.
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Oryza sativa (Rice Germ) Oil
''Jodzahl:'' 92–115 (halbtrocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' 1–5%
''Verseifungszahl:'' 185–195
__Trockene und sensible Haut. Mildes, leichtes Basisöl für Reinigungsmilch, Körperlotionen, leichte Feuchtigkeitscremes.__
Die oxidative Stabilität und der (wenn auch durch die Raffination verminderte) Gehalt an UVA- und UVB-absorbierendem, antioxidativ wirkendem natürlichem γ-Oryzanol prädestiniert Reiskeimöl für einen Einsatz __in Sonnenschutzpräparaten__ und in der Tagespflege sowie in Präparaten für __sensible, gereizte und barrieregestörte Haut__. Der Phytosterolgehalt fördert das Einziehverhalten und wirkt __beruhigend auf gereizte und trockene Hautzustände__. Durch Gamma-Oryzanol kann das raffinierte Öl entsprechend angereichert werden.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Reiskeimöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Reiskeimöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
"""
Am Beispiel meines Reiters "Tiddlywiki-Anleitung":
Tagge Deinen gewünschten Tiddler mit $:/tags/SideBar und gebe ganz unten im Feld Name list-before ein und daneben im Feld Text/Wert den Reiter-Tiddler ein, vor dem Dein gewünschter Reiter erscheinen soll.
Im Fall von meinem Reiter "Tiddlywiki-Anleitung" habe ich also Körperpflege/Reinigung-DIY eingegeben.
Oder Du gibst im Feld Name list-after ein. Und daneben im Feld Text/Wert Reiter-Tiddler, nach dem Dein gewünschter Reiter erscheinen soll.
Im Fall von Schatten-Tiddlern (die schon ohne Dein Zutun vorkonfiguriert sind), musst Du jedoch den englischen Originalnamen eingeben. Soll also Dein gewünschter Reiter vor dem Reiter "Offen" erscheinen, musst Du im Feld Name list-before eingeben und im Feld Text/Wert $:/core/ui/SideBar/Open eingeben.
Manchmal muss man auch mit list-before UND list-after arbeiten.
Etwas herumexperimentieren ist häufig angesagt, um das gewünschte Ergebnis zu erzielen.
!!Alle getesteten Rezepte
<div style="margin-left:2em;">
<$list filter="[tag[1RezeptGetestet]]">
<li><$link><<currentTiddler>></$link></li>
</$list>
</div>
!!Alle noch nicht getesteten Rezepte
<div style="margin-left:2em;">
<$list filter="[tag[1RezeptNICHTgetestet]]">
<li><$link><<currentTiddler>></$link></li>
</$list>
</div>
''Rezepte ausprobieren''<br/>
Wenn Du ein Rezept noch nicht kennst, dann rühre am besten immer erstmal ein Mini-Testportiönchen (Mindestmenge). So lernst Du das Rezept und das entstandene Produkt erstmal kennen. Falls es Dir nicht oder nur teilweise zusagt, hast Du nicht soviele Zutaten verbraucht und hast auch nicht soviele "Altlasten" an suboptimalen Produkten, die Du verbrauchen musst.<br/>
Ich habe einige Jahre immer die Originalmenge eines Rezeptes gerührt- und ärgere mich nun, dass ich noch soviel verbrauchen muss, obwohl ich doch schon so viele Verbesserungs- & Testideen habe.<br/>
In den hier geposteten Rezepten schreibe ich jeweils die Mindestmenge dazu, die davon rührbar & in der Benutzung gut handhabbar ist. Alle Rezepte sind skalierbar- Du gibst einfach die gewünschte (Mindest-)Menge ein- die Zutatenmengen werden dann automatisch berechnet. __Beachte bitte den Hinweis, dass Du in dem Mengenfeld bei den Rezepten jede Ziffer einzeln eingeben musst!__<br/>
Klar ist natürlich auch: Wenn Du ein Rezept zum 1.x rührst, aber da schon Zutaten oder Zutatenmengen veränderst, bekommst Du ein anderes Ergebnis als vom Ursprungsrezept vorgesehen! Mit ein wenig Erfahrung kann man das natürlich tun, Anfängern rate ich aber davon ab!
<div style="border-left: 20px solid lavender;
background-color: lavender;margin-right: 10px;margin-left: 10px;"><br/>
<div style="text-align: center;font-size:1.6em;">''__Rezepte kreieren / verändern__ anhand von Tags''</div><br/>
<div style="text-align: center;font-size:1.2em;">''(Wirkweisen der Zutaten und anhand derer dann Rezepte kreieren oder verändern)''</div><div style="text-align: center;font-size:1em;"><br/>Selbstverständlich kannst Du mit dieser Suche noch keine Rezepte kreieren; aber sie kann Dir Hinweise geben, welche Zutaten Du verwenden könntest. Anhand der Zutaten kannst Du dann weiter forschen (z.B. in den Zutatenbeschreibungen nachlesen, das Netz durchforsten, etc.)</div><br/>
@@font-size:0.9em;Verstehe die nachfolgenden Tags bitte nicht wörtlich.
<li>Feuchtigkeitsspendend __//kann//__ hier z.B. auch Feuchtigkeitsbindend heißen.<li>Ekzem auch ekzematische Haut.<li>GuteLaune auch "Gegen Depression / depressive Verstimmung".<li>Haarzustand_Fliegend auch "Vorbeugend gegen statische Haaraufladung".<li>Hautwirkung_GutEinziehend auch, dass das Fett schnell einzieht.<li>Konzentration auch Gedächtnissteigerung. Usw. usf. ....@@<br/><br/>
<div style="font-size:1.1em;">
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZG&W" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZG&W" setTo="show">Zeige Tags für @@color:green;"Zutaten für Gesundheit & Wohlbefinden"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZG&W" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZG&W" setTo="hide">Verberge Tags für @@color:red;"Zutaten für Gesundheit & Wohlbefinden"@@</$button>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZAll" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZAll" setTo="show">Zeige Tags für @@color:green;"Zutaten Allergien betreffend"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZAll" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZAll" setTo="hide">Verberge Tags für @@color:red;"Zutaten Allergien betreffend"@@</$button>
<$list filter="[tag[Zutaten: Allergien]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZFdS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZFdS" setTo="show">Zeige Tags für @@color:green;"Zutaten Die Seele betreffend"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZFdS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZFdS" setTo="hide">Verberge Tags für @@color:red;"Zutaten Die Seele betreffend"@@</$button>
<$list filter="[tag[Zutaten: Für die Seele]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZHP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZHP" setTo="show">Zeige Tags für @@color:green;"Zutaten Hautprobleme betreffend"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZHP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZHP" setTo="hide">Verberge Tags für @@color:red;"Zutaten Hautprobleme betreffend"@@</$button>
<$list filter="[tag[Zutaten: Hautprobleme]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZVMDE" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZVMDE" setTo="show">Zeige Tags für @@color:green;"Zutaten für Probleme betreffend Magen / Darm / Verdauung / Essen"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZVMDE" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZVMDE" setTo="hide">Verberge Tags für @@color:red;"Zutaten für Probleme betreffend Magen / Darm / Verdauung / Essen"@@</$button>
<$list filter="[tag[Zutaten: Probleme mit Verdauung/Magen/Darm/Essen]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZPMZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZPMZ" setTo="show">Zeige Tags für @@color:green;"Zutaten für Probleme betreffend Mundraum & Zähne"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZPMZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZPMZ" setTo="hide">Verberge Tags für @@color:red;"Zutaten für Probleme betreffend Mundraum & Zähne"@@</$button>
<$list filter="[tag[Zutaten: Probleme Mundraum / Zähne]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZREG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZREG" setTo="show">Zeige Tags für @@color:green;"Zutaten betreffend Rachen / Erkältungs- & Grippesymptome"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZREG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZREG" setTo="hide">Verberge Tags für @@color:red;"Zutaten betreffend Rachen / Erkältungs- & Grippesymptome"@@</$button>
<$list filter="[tag[Zutaten: Rachen / Erkältungs- & Grippesymptome]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZSUK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZSUK" setTo="show">Zeige Tags für @@color:green;"Zutaten für Sonstige Einsatzgebiete / Unwohligkeiten"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZSUK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZSUK" setTo="hide">Verberge Tags für @@color:red;"Zutaten für Sonstige Einsatzgebiete / Unwohligkeiten"@@</$button>
<$list filter="[tag[Zutaten: Sonstige Einsatzgebiete/Unwohligkeiten]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
</$reveal>
----------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZKP" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZKP" setTo="show">Zeige Tags für @@color:green;"Zutaten für Körperpflege"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZKP" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZKP" setTo="hide">Verberge Tags für @@color:red;"Zutaten für Körperpflege"@@</$button>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZHaarP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZHaarP" setTo="show">Zeige Tags für @@color:green;"Zutaten Haarpflege betreffend"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZHaarP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZHaarP" setTo="hide">Verberge Tags für @@color:red;"Zutaten Haarpflege betreffend"@@</$button>
<$list filter="[tag[Zutaten: Haarpflege]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZHautP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZHautP" setTo="show">Zeige Tags für @@color:green;"Zutaten Hautpflege betreffend"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZHautP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZHautP" setTo="hide">Verberge Tags für @@color:red;"Zutaten Hautpflege betreffend"@@</$button>
<$list filter="[tag[Zutaten: Hautpflege]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
<$list filter="[[Zutat:Körpergeruch]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZZP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZZP" setTo="show">Zeige Tags für @@color:green;"Zutaten Zahnpflege betreffend"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZZP" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSZZP" setTo="hide">Verberge Tags für @@color:red;"Zutaten Zahnpflege betreffend"@@</$button>
<$list filter="[tag[Zutaten: Zahnpflege]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
</$reveal>
----------------------------------------------------------------------------
<$list filter="[[Zutat:Haushaltsreinigung]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
----------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZSiL" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZSiL" setTo="show">Zeige Tags für @@color:green;"Zutaten für Sonstiges im Leben"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZSiL" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZSiL" setTo="hide">Verberge Tags für @@color:red;"Zutaten für Sonstiges im Leben"@@</$button>
<$list filter="[tag[Zutaten: Sonstiges im Leben]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
----------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZgKE&PB" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZgKE&PB" setTo="show">Zeige Tags für @@color:green;"Zutaten gegen Krankheitserreger oder zur Produktbeeinflussung"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZgKE&PB" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZgKE&PB" setTo="hide">Verberge Tags für @@color:red;"Zutaten gegen Krankheitserreger oder zur Produktbeeinflussung"@@</$button>
<$list filter="[tag[Zutaten: Gegen Krankheitserreger]] [tag[Zutaten: Produktbeeinflussung]![$:/temp/pptg-taggroup]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
</$reveal>
----------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZEvF" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZEvF" setTo="show">Zeige Tags für @@color:green;"Eigenschaften von Fetten (Ölgruppen & Spreitverhalten)"@@</$button><br/><br/>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZEvF" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZEvF" setTo="hide">Verberge Tags für @@color:red;"Eigenschaften von Fetten (Ölgruppen & Spreitverhalten)"@@</$button>
{{/% @@color:red;''Diese Methode, seine Hautpflege zu sammenzustellen, ist ziemlich kompliziert (nach Frau Käser, Olionatura). Ich habe jetzt eine Info- auf die Schnelle- erhalten, dass es auch wesentlich unkomplizierter geht :-) Ich bringe das noch in Erfahrung und werde das dann hier durch das einfachere Verfahren ersetzen! Ich denke, in KW 11, 12 oder 13.''@@ %/}}
Eine gute Übersicht über die Eigenschaften von Fetten (Ölgruppen & Spreitverhalten) ist auch hier: [[Zutaten: Eigenschaften von Fetten]]
''Spreitverhalten:''
<$list filter="[[Zutat:Hochspreitend]] [[Zutat:Mittelspreitend]] [[Zutat:Niedrigspreitend]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Kombiniere Öle/Fette optimal so, dass allen Spreitgruppen berücksichtigt werden. Dabei bestimmt der Einsatzbereich und die Hautsituation, in welchen Anteilen die einzelnen Gruppen berücksichtigt werden. Sinnvoll kombinierte Spreiteigenschaften können das Auftragsverhalten, das Hautgefühl und die nachhaltig pflegende Wirkung eines Produkts deutlich verbessern.
__Hochspreitend__ heißt, das Öl verteilt sich sehr gut und dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.
__Niedrigspreitend__ heißt, das Öl verteilt sich langsam und dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Dies prädestiniert es für den Einsatz am Auge, denn es kriecht nicht in die empfindlichen Schleimhäute. Es ist haptisch jedoch ausgeprägt fettend.
__Mittelspreitendes__ Öl tut dies alles in Mittelwerten.
!!!''Ölgruppen:''
__''Obergruppe "Stabilisierende Basisöle" (@@color:green;20–50%@@ des Endprodukts.):''__
<$list filter="[[Zutat:Ölgruppe_B-0]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
''Nicht reaktiv (also <div class="tooltip">oxidationsstabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/><br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>), <div class="tooltip">reizfrei
<span class="tooltiptext">nicht hautreizend</span></div>, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate.''
''Untergruppe PF-1:''
<$list filter="[[Zutat:Ölgruppe_PF-1]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Die Pflanzenbutter-Gruppe: Rückfettend, schützend, <div class="tooltip">viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>serhöhend. Hautpflegemittel. Der hohe Gehalt an gesättigten langkettigen Fettsäuren und ihre bei Zimmertemperatur feste Konsistenz kennzeichnen die pflanzlichen Buttern (Sheabutter, Mangobutter, Cupuaçubutter sind die bekanntesten). Sie weisen in der Regel höhere Anteile an <div class="tooltip">unverseifbaren
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div> Bestandteilen auf, wirken haptisch stark rückfettend, schützend und ziehen nur langsam, allerdings tief in die Haut ein. In <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> geben sie leichte Konsistenz und eine ausgeprägte sensorische »Reichhaltigkeit«.
''Untergruppe PF-2:''
<$list filter="[[Zutat:Ölgruppe_PF-2]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Kühlend, glättend, schnell einziehend, gut geeignet für <div class="tooltip">sonnenexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate (sehr gut für Sonnenkosmetik geeignet). Diese Fette sind durch hohe Gehalte an gesättigten kurz- bis mittelkettigen Fettsäuren geprägt. Sie spreiten ausgezeichnet, bewirken eine leichte, nicht fettende Haptik der <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> und gleichen in dieser Hinsicht stärker rückfettende <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>komponenten aus. Gruppe PF-2 ist die MCT-Gruppe (MCT meint »Medium Chain Triglyceride« also »mittelkettige <div class="tooltip">Triglyceride
<span class="tooltiptext">Ester des Glycerins mit 3 Fettsäuremolekülen; natürliche Fette bestehen primär aus Triglyceriden</span></div>«). Sie dringen schnell, aber nur oberflächlich in die <div class="tooltip">Hornschicht
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div> ein.<br/><br/>
__''Obergruppe "Pflegende Basisöle" (@@color:green;50–70%@@ des Endprodukts.):''__
<$list filter="[[Zutat:Ölgruppe_B1-B3]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/>
''Untergruppe B-1:''
<$list filter="[[Zutat:Ölgruppe_B1]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Gute Massageöle, schützend, pflegend, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate. Es sind ölsäuredominierte Öle, <div class="tooltip">oxidativ recht stabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>, schützend, leicht bis stärker rückfettend.
''Untergruppe B-2:''
<$list filter="[[Zutat:Ölgruppe_B2]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Ausgesprochen pflegend, barriereschützend, ausgewogene Basisöle. Es sind Öle mit sehr ausgeglichenem Fettsäuremuster hinsichtlich einfach und zweifach gesättigten Fettsäuren, die gut solo verwendet werden können.
''Untergruppe B-3:''
<$list filter="[[Zutat:Ölgruppe_B3]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Barrierefördernd und -regenerierend, <div class="tooltip">fluidisierend
<span class="tooltiptext">Doppelmembrane von Zellwänden (oder die der Hautbarriereschicht) durch den Einbau ungesättigter Fettsäuren in ihrer Struktur auflockern, beweglicher und durchlässiger für Substanzen machen</span></div>, nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Präparaten verwenden, in Tagespräparaten mit Ölen der Gruppen B-0 und B-1 bzw. B-2 mischen. Es sind linolsäuredominierte Öle, die haptisch leichter einziehen, wenig rückfettend wirken und ausgesprochen pflegende, regenerierende Eigenschaften haben.
<br/><br/>
__''Obergruppe "Wirkstofföle" (@@color:green;5–10%@@ des Endprodukts.):''__
<$list filter="[[Zutat:Ölgruppe_W1-W3]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Wirkstofföle zeichnen sich durch hohe Anteile an mehrfach ungesättigten, teilweise seltenen Fettsäuren aus, die <div class="tooltip">oxidativ sehr instabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> sind, kosmetisch jedoch intensiv regenerierende und aktivierende Eigenschaften aufweisen. Je nach dominierender mehrfach ungesättigter Fettsäure sind sie in die Gruppen W-1, W-2 und W-3 unterteilt. Sie werden grundsätzlich niedrig, ca. 5–10 % der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> dosiert.
''Untergruppe W-1:''
<$list filter="[[Zutat:Ölgruppe_W1]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div> (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
''Untergruppe W-2:''
<$list filter="[[Zutat:Ölgruppe_W2]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Entzündungshemmend, barriere-restrukturierend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
''Untergruppe W-3:''
<$list filter="[[Zutat:Ölgruppe_W3]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div>, wundheilend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
</$reveal><br/><br/>
<div style="background-color: blue;">
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
</div>
''Nun kannst Du Dein gewünschtes Rezept in g & in % ausrechnen lassen:''<br/>
In meinem Rezepte-Rechner [[Rezepte-Rechner (%-Anteile ausrechnen)]]<br/>
oder im Rezepte-Rechner von Olionatura: https://www.olionatura.de/kosmetikrechner/rezepterechner-in-gramm.php
<br/><br/>
''Tip zum Rezepte verändern''<br/>
Berechne bei jedem Rezept erstmal die prozentualen Anteile aller Zutaten- zu allererst natürlich bei dem Originalrezept.<br/>
In diesem Wiki kannst Du das bei meinen Rezepten ganz einfach, indem Du in dem weißen Feld neben "Gesamtmenge des Rezeptes" 100 eingibst (jede Ziffer einzeln!). Dann hast Du 100g des Rezepts, also 100%. Die Zutatenmengen sind dann automatisch auch ihre prozentualen Anteile.<br/>
Oder z.B. mit diesem hier: https://www.olionatura.de/kosmetikrechner/rezepterechner-in-gramm.php oder per Excel-Tabelle- dann musst Du bei der nächsten Rezeptänderung nicht alles wieder neu eingeben.<br/>
Langfristig hoffe ich, direkt in diesem Wiki solche Rechner einbauen zu können.<br/>
Sehr hilfreich ist auch, wenn Du nicht nur die prozentualen Anteile der einzelnen Zutaten, sondern auch der Zutatengruppen ausrechnest. Also z.B. alle Fette zusammen rechnen, alle pulverigen Zutaten, alle Tenside, usw.<br/>
__Warum?:__ Du bekommst auf diese Art ein wesentlich besseres Verständnis für ein Rezept- wie es "funktioniert". Und bei Änderungen siehst Du wesentlich besser, was Du eigentlich alles geändert hast- denn wenn Du die Menge einer Zutat änderst, ändern sich ja automatisch die Anteile aller anderen Zutaten.<br/>
__Wichtig, insbesondere für Anfänger:__ Gehe sehr vorsichtig bei der Änderung von Zutaten / -mengen vor! Bedeutet: Ändere möglichst nur 1 Zutat und auch nur in sehr geringer Menge. So lernst Du, welchen Unterschied diese Änderung verursacht. Und manche Zutaten bewirken schon bei geringster Änderung einen gravierenden Unterschied (z.B. Wachse können eine enorme Festigkeit verursachen bis hin zur Unbrauchbarkeit, Gelbildner genauso, manche Wirkstoffe können ein Produkt enorm klebrig machen, etc.); andere Zutaten bewirken erst bei größerer Änderung einen Unterschied.<br/>
Ich gehe meist so vor: 1. Änderung im 0,1-0,2%-Bereich. Bemerke ich keinen Unterschied, folgt die nächste Änderung im 0,5-1%-Bereich. Bemerke ich immer noch keinen Unterschied, folgt die nächste Änderung im 1-5%-Bereich. Die darauffolgenden Änderungen sollten nicht mehr als 5% ausmachen.<br/>
Hilfreich sind dabei auch die Einsatzkonzentrations-Empfehlungen in den Zutaten-Portraits! Wenn bei einer Zutat z.B. eine Empfehlung von 1-2% steht, solltest Du nicht gleich von 0,2% auf 1,5% erhöhen (sondern eher um 0,1-0,3%). Wenn jedoch 5-60% empfohlen wird, kannst Du auch schneller erhöhen- ich würde trotzdem auch dann im 1. Schritt nicht um mehr als 5% erhöhen.
"""Hier kannst Du (links) die prozentualen Anteile eines Rezepts ausrechnen. Oder (rechts) für eine gewünschte Rezeptmenge gewünschte prozentuale Anteile in g ausrechnen.
Das unten erklärte Beispielrezept habe ich auch in die Berechnung eingefügt- als Anschauungsbeispiel. Überschreibe die Werte einfach mit Deinen Werten.
Was ''"Fettphase"'' & ''"Wasserphase"'' bedeutet, kannst Du in [[Aufbau von Emulsionen]] nachlesen.
Klicke auf eine __weiße Zelle__, um Werte zu ändern.
Die Werte: Kommawerte mit einem Punkt!! Also z.B. 2''.''5 und //nicht// 2'',''5.
Bei den Zahlen bitte keine Buchstaben oder sonstige Symbole hinzufügen!
Die errechneten Werte sind auf 2 Kommastellen gerundet, weshalb sie nicht 100% exakt sind. Aus diesem Grund können auch die Fettphase- bzw. Wasserphase-Prozente von den von Dir addierten %-Werten der Fettphase- bzw. Wasserphase-Zutaten geringfügig abweichen."""
<div style="float:left;width:49.7%;margin-left:0em;background-color:#ffffb3"><br/>
''Gesamtmenge des Rezepts: {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}}g''<br/>(automatisch anhand der Zutatenmengen addiert)<br/><br/>
''Ergebnis @@background-color:yellow;Fettphase: <$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett6!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett7!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett8!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Emulgator1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Emulgator2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Emulgator3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat FPSonstiges1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat FPSonstiges2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat FPSonstiges3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat FPSonstiges4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%@@'',
''Ergebnis @@background-color:lightblue;Wasserphase: <$calc>round({{Rezepte-Rechner Data Zutat Wasser1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wasser2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wasser3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff6!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff7!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff8!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Tensid1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Tensid2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Tensid3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%@@''<br/><br/>
@@background-color:yellow;''__Fettphase__'':@@ ''Lipide'' (Wachse, Buttern, Fette)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett6!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett7!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Fett8!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett4' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett4' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett5' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett5' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett6' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett6' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett6!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett7' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett7' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett7!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett8' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Fett8' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett8!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
@@background-color:yellow;''__Fettphase__'':@@ ''Emulgatoren''<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Emulgator1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Emulgator2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Emulgator3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Emulgator1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Emulgator2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Emulgator3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
@@background-color:yellow;''__Fettphase__'':@@ ''Sonstiges'' (in der Fettphase)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat FPSonstiges2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat FPSonstiges3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges4' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges4' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Wasser'' (auch Hydrolate)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Wasser1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wasser2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wasser3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wasser1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wasser2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wasser3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Wirkstoffe''<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff6!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff7!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Wirkstoff8!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff4' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff4' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff5' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff5' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff6' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff6' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff6!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff7' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff7' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff7!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff8' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff8' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff8!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Tenside''<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Tensid1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Tensid2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat Tensid3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Tensid1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Tensid2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat Tensid3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Sonstiges'' (Gelbildner, Konservierer, Säure, Äth. Öle)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __Gramm__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}} + {{Rezepte-Rechner Data Zutat WPSonstiges5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
@@
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges1' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges1' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges1!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges2' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges2' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges2!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges3' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges3' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges3!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges4' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges4' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges4!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges5' field='deinegramm' size=5/>g <$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges5' field='zutattext' size=20 placeholder="Zutat"/> >>Ergebnis in %: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges5!!deinegramm}} * 100 / {{Rezepte-Rechner: Gesamtmenge des Rezepts in g}},2)</$calc>%''<br/><br/>
</div>
<div style="float:right;width:49.7%;margin-right:0em;background-color:#ffffb3"><br/>
''__Gewünschte__ Gesamtmenge des Rezepts: <$edit-text tiddler='Rezepte-Rechner Data Wunschmenge' field='wunschmenge' size=5/>g''<br/><br/>
''Ergebnis __Gesamt : <$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett5!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett6!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett7!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett8!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator3!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges1!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges2!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges3!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff5!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff6!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff7!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff8!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid3!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges1!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges2!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges3!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges4!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges5!!deineprozent}},2)</$calc>%__''<br/>
''Ergebnis @@background-color:yellow;Fettphase: <$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett5!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett6!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett7!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett8!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator3!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges1!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges2!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges3!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges4!!deineprozent}},2)</$calc>%@@'',
''Ergebnis @@background-color:lightblue;Wasserphase: <$calc>round({{Rezepte-Rechner Data Zutat Wasser1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff5!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff6!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff7!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff8!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid3!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges1!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges2!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges3!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges4!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges5!!deineprozent}},2)</$calc>%@@''<br/><br/>
@@background-color:yellow;''__Fettphase__'':@@ ''Lipide'' (Wachse, Buttern, Fette)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett5!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett6!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett7!!deineprozent}} + {{Rezepte-Rechner Data Zutat Fett8!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett4' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett4!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett5' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett5!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett6' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett6!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett7' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett7!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Fett8' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Fett8!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
@@background-color:yellow;''__Fettphase__'':@@ ''Emulgatoren''<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Emulgator1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Emulgator3!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Emulgator1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Emulgator2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Emulgator3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Emulgator3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
@@background-color:yellow;''__Fettphase__'':@@ ''Sonstiges'' (in der Fettphase)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges1!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges2!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges3!!deineprozent}} + {{Rezepte-Rechner Data Zutat FPSonstiges4!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat FPSonstiges4' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat FPSonstiges4!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Wasser'' (auch Hydrolate)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Wasser1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wasser3!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wasser1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wasser2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wasser3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wasser3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Wirkstoffe''<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff3!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff4!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff5!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff6!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff7!!deineprozent}} + {{Rezepte-Rechner Data Zutat Wirkstoff8!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff4' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff4!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff5' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff5!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff6' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff6!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff7' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff7!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Wirkstoff8' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Wirkstoff8!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Tenside''<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat Tensid1!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid2!!deineprozent}} + {{Rezepte-Rechner Data Zutat Tensid3!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Tensid1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Tensid2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat Tensid3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat Tensid3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
@@background-color:lightblue;''__Wasserphase__'':@@ ''Sonstiges'' (Gelbildner, Konservierer, Säure, Äth. Öle)<br/>
@@background-color:lightgreen;''Gesamt-% in dieser __%__-Berechnung: <$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges1!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges2!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges3!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges4!!deineprozent}} + {{Rezepte-Rechner Data Zutat WPSonstiges5!!deineprozent}},2)</$calc>%''@@<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges1' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges1!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges2' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges2!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges3' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges3!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges4' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges4!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/>
<$edit-text tiddler='Rezepte-Rechner Data Zutat WPSonstiges5' field='deineprozent' size=5/>% >>Ergebnis in g: ''<$calc>round({{Rezepte-Rechner Data Zutat WPSonstiges5!!deineprozent}} * {{Rezepte-Rechner Data Wunschmenge!!wunschmenge}} / 100,2)</$calc>g''<br/><br/>
</div>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
"""
''Beispiel (170.93g Gesamtmenge):''
10.2g Kakaobutter
3.47g Lysolecithin
50.97ml Apfelessig oder abgekochtes Wasser
101.92ml abgekochtes Wasser
0.61g Haarguar HT
0.2g Guarkernmehl
17 Tropfen ( =0.77g) Seidenprotein
17 Tropfen ( =0.77g) Vithaar HT
25 Tropfen ( =1.12g) Weizenprotein
20 Tropfen ( =0.9g) Ätherische Öle / Parfümöl
<div style="background-color:#ffff99"><br/>
<$edit-text tiddler="$:/temp/Rezepte-Rechner Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Rezepte hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
</div>
<$calc>round({{Rezepte-Rechner Data Zutat Fett1!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett2!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett3!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett4!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett5!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett6!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett7!!deinegramm}} + {{Rezepte-Rechner Data Zutat Fett8!!deinegramm}} + {{Rezepte-Rechner Data Zutat Emulgator1!!deinegramm}} + {{Rezepte-Rechner Data Zutat Emulgator2!!deinegramm}} + {{Rezepte-Rechner Data Zutat Emulgator3!!deinegramm}} + {{Rezepte-Rechner Data Zutat FPSonstiges1!!deinegramm}} + {{Rezepte-Rechner Data Zutat FPSonstiges2!!deinegramm}} + {{Rezepte-Rechner Data Zutat FPSonstiges3!!deinegramm}} + {{Rezepte-Rechner Data Zutat FPSonstiges4!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wasser1!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wasser2!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wasser3!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff1!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff2!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff3!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff4!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff5!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff6!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff7!!deinegramm}} + {{Rezepte-Rechner Data Zutat Wirkstoff8!!deinegramm}} + {{Rezepte-Rechner Data Zutat Tensid1!!deinegramm}} + {{Rezepte-Rechner Data Zutat Tensid2!!deinegramm}} + {{Rezepte-Rechner Data Zutat Tensid3!!deinegramm}} + {{Rezepte-Rechner Data Zutat WPSonstiges1!!deinegramm}} + {{Rezepte-Rechner Data Zutat WPSonstiges2!!deinegramm}} + {{Rezepte-Rechner Data Zutat WPSonstiges3!!deinegramm}} + {{Rezepte-Rechner Data Zutat WPSonstiges4!!deinegramm}} + {{Rezepte-Rechner Data Zutat WPSonstiges5!!deinegramm}},2)</$calc>
<div style="background:white;">
Importiere $:/plugins/mklauber/math.js von
Und dann schreibe im Rezept:
```
<div style="background:orange;"> Gesamtmenge des Rezeptes:
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g</div> Das Rezept ist skalierbar: Sobald Du die 10 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet!
```
Du kannst das Rezept ganz normal schreiben, wie Du willst. Die Berechnung von z.B. xx g Kokosöl wird so erstellt:
`* <$calc>{{!!gesamtmenge}} * 3.5</$calc>g Kokosöl`
Du musst dann noch das Feld "gesamtmenge" (klein geschrieben!) erstellen und den entsprechenden Wert einfügen.
<br/><br/><br/>
----------------------------------------------------------------------------------
''Das ganze Rezept könnte dann z.B. so aussehen:''
<div style="background:orange;"> Gesamtmenge des Rezeptes:
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g</div> Das Rezept ist skalierbar: Sobald Du die 10 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet!
''Zutaten:''
* <$calc>{{!!gesamtmenge}} * 3.5</$calc>g Kokosöl
* <$calc>{{!!gesamtmenge}} * 2</$calc>g Stärke
* <$calc>{{!!gesamtmenge}} * 1.7</$calc>g Natron
''Zubereitung:''
# Tue dieses, tue jenes und dann solches.
# Dann fülle zwei Drittel vom Kokosöl (<$calc>{{!!gesamtmenge}} *2/3*2</$calc>g) in einen Becher.
# Und später das restliche Drittel Kokosöl (<$calc>{{!!gesamtmenge}} *2/3*1</$calc>g) in einen Topf.
<div style="background:#DFFE97;">
<div style=> </div>
!!@@background-color:orange;color:red;''Neue Einsatzgebiete in den entsprechenden Oberkategorien als Tag in den automatischen Listen eintragen!!''@@
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/>
''Eigenschaft dieses xy:'' <br/>
''Meine Erfahrung damit:''
''Anwendung:'' <br/><br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 24 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom Doppel-Messlöffel (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom Doppel-Messlöffel (1ml)@@<br/>
</div>
''Fettphase:'' %
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /24* 3,2)</$calc>g @@font-size:0.9em;(0.6g = 3/4 Messl. (2,5ml-Seite))@@ [[Zutat]] (!!)
* <$calc>round({{!!gesamtmenge}} /24* 12,2)</$calc> Tropfen [[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]] (?) (z. Beduften)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# Tuediestuejenes
<br/>
''Zubehörliste:''
@@background-color:orange;color:red;''Ggf. ändern!<br/>Neue Rezepte in die einzelnen Zubehöre eintragen!!<br/>Neues Zubehör in die [[RezeptGETESTETVorlage]] unter "Zubehörliste" eintragen!!''@@
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Behältnis zum Rühren, z.B. ein Glas
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
* [[Doppelspatel]] (ersatzweise irgendetwas sehr schmales- max. 1cm breit zum Einfüllen)
* [[Milchschäumer]] (Xanthan geht am besten mit dem Milchschäumer unterzurühren), oder ein anderes hochtouriges Rührgerät
* [[Tube (wiederbefüllbar)]] (es geht natürlich auch jede andere wiederbefüllbare Tube)
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort nach der Herstellung verwendbar. Die Konsistenz verändert sich auch nicht mehr.
''Zutatenliste mit Wirkweise in diesem Rezept:''
[[Kokosöl]] (0,0x€)
Kommentar
[[Ätherische Öle / Parfümöl|.ÄtherischeÖleParfümöle]]
Beduftet ;-). Jeder hat seinen eigenen Geschmack. Manche mögens lieber ganz ohne Duft, andere lieblich, zitronig, orientalisch, sportlich, männlich, sachlich, edel, wat weiß ich... Es gibt eine sehr große Auswahl und durch Mixen unterschiedlicher Parfümöle kann man dann auch noch seinen ganz individuellen Duft kreieren- und diesen in allen Rezepten verwenden.
''Selbstkonservierend durch'' ~~. Ausserdem wirken die enthaltenen ätherischen Öle (Minzöl & Zitronenöl) konservierend.
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 6 Monate haltbar, bei Lagerung im normal temperierten Bad.~~
''Gesamtkosten der Zutaten:'' 0,xx€ (ohne Wasser & Duftöle, da ich dafür die Kosten nicht abschätzen kann) für xxg Gesamtmenge.
Stand Februar 2018
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
!!@@background-color:orange;color:red;''Neue Einsatzgebiete in den entsprechenden Oberkategorien als Tag in den automatischen Listen eintragen!!''@@
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Beschreibung
"""
@@background-color:orange;color:red;''Neue Zutaten in [[Zutaten (Palmölfrei)]] eintragen & in die beiden automatischen Listen dort als Tag eintragen!! Außerdem in den eventuellen Oberkategorien als Tag eintragen!!''@@
''Zutaten''
* [[Zutat]]
Alles miteinander vermischen.
__Tip:__
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""https://www.thalia.at/shop/home/artikeldetails/ID45290569.html?ProvID=11010475&gclid=EAIaIQobChMI7oi62qaj3gIVz73tCh1NhA6kEAQYASABEgJD3fD_BwE
(Praxis Aromatherapie. Grundlagen - Steckbriefe - Indikationen von Monika Werner, Ruth Braunschweig, Verlag Haug Fachbuch)
und Bücher von Eliane Zimmermann, beschreiben die richtige Anwendung von ätherischen Ölen.
Anleitung & Tips: https://www.aroma1x1.com/aetherische-oele-mischen/
https://www.kuhnke24.de/aetherische-oele-richtig-dosieren-verduennungsformel/
https://www.aromapflege.com/Grand-Cru-Farfalla-aetherische-Oele-Aromapflege-Aromatherapie-Duftwelt-Aromapflege-Magazin-DIY-Dosierung-Rezepte-Praktische-Tipps-zur-richtigen-Dosierung
Kauftips, Bücher, Kurse, etc.: https://www.aroma1x1.com/ressourcen/
"""Man nehme:
eine Handvoll Blüten in 100 ml Olivenöl einige Minuten lang auf kleiner Flamme auskochen, dann das Öl abfiltern (Das Olivenöl darf nicht so heiß werden, dass die Blüten verbrennen oder gar das Öl anfängt zu rauchen und zu stinken.)
Alternativ zu dieser Methode kannst Du auch einen Ringelblumenauszug herstellen, indem Du dieselbe Menge in kaltes Öl einlegst und verschlossen 3-4 Wochen warm stellst bzw an die Sonne. So erhälst Du mehr Wirkstoffe als bei dem "Heißverfahren" - dauert allerdings länger.
Egal welche "Auszugsmethode Du nun gewählt hast - nächster Schritt ist dann das Erwärmen von dem Öl und 20 g Bienen- oder Beerenwachs. Das Öl gut mit dem Wachs verrühren, rühren, rühren, Salbe abkühlen lassen.
Wenn die Salbe ziemlich abgekühlt ist, gut durchrühren, abfüllen.
Da Ringelblumensalbe nicht gerade "göttlich" duftet empfiehlt es sich vielleicht ein paar Zitronenmelisseblätter o.ä. dazuzugeben. (also bereits beim Ölauszug) Oder alternativ dazu kurz vor dem endgültigen Erkalten ein paar Tropfen z.B äth. Melissenöl dazugeben.
"""
--------------
"""Ca. 100g Gesamtmenge:
• 45g Ringelblumenöl (am besten natürlich frisch hergestellt wie oben beschrieben)
• 37g Lanolin anhydrid pestizidfrei
• 9g Bienenwachs
• 7g Ringelblumen- oder Arnikatinktur
ätherische Öle:
• 8 Tr Lavendel
• 3 Tr Grapefruit
• 3 Tr Mandarine rot
Die ätherischen Öle sind kein "Must", sondern die habe ich mal für die Mama einer Freundin gemischt zur Beruhigung und Aufheiterung . Siehe sie einfach als Beispiel an
Die ersten drei Zutaten im Wasserbad schmelzen. Dann abkühlen lassen (unter gelegentlichem Rühren). Die ätherischen Öle in der Tinktur lösen. Wenn die Salbe handwarm ist, die Tinktur mit den ätherischen Ölen einrühren. Abfüllen
"""Ringelblumensalbe ist eine Heilsalbe für beschäigte Haut.
30g Calendulaöl
4-6g Bienenwachs
4-6g Tegomuls
50 ml dest Wasser
30 Tr Calendulaextrakt
6 ml Alkohol
Ich habe sie mit dem Milchschäumer aufgerührt und sie wird sehr luftig (fast wie ein Mousse).
Sie "repariert" jede Art von Hautbeschädigung, egal ob es sich um einen Schnitt, eine Verbrennung, Hautunreinheiten oder Rötungen handelt.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=320 src="https://share-your-photo.com/img/26fd071c7d.jpg"/>||
|<h6>AnRo0002 [[20120610Roggen Reilingen1|https://commons.wikimedia.org/wiki/File:20120610Roggen_Reilingen1.jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya (Forest & Kim Starr<br/>([[Starr-181031-5812-Secale cereale-home grown fresh ground flour-Hawea Pl Olinda-Maui (45816613311)|https://commons.wikimedia.org/wiki/File:Starr-181031-5812-Secale_cereale-home_grown_fresh_ground_flour-Hawea_Pl_Olinda-Maui_(45816613311).jpg)]],<br/>Ausschnitt von Surya, [[CC BY 3.0 US|https://creativecommons.org/licenses/by/3.0/us/deed.en]]),<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Mehl, ''Löslichkeit:'' -
''INCI-Bezeichnung:'' Secale Cereale Seed Flour
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Im Korn, aber v.a. in der Schale sind reichlich natürliche Pflegestoffe enthalten, die auch häufig in Shampoos zu finden sind. Neben vielen Mineralstoffen und Aminosäuren sind v.a. wichtige Vitamine enthalten, die das Haar pflegen und aufbauen. Sie glätten das Haar, binden Feuchtigkeit und unterstützen die Regenerierung einer gereizten oder strapazierten Kopfhaut. Selbst für empfindliche Haut und sogar Babyhaut ist ein Shampoo aus __nur__ Roggenmehl & Wasser deshalb gut geeignet.
Und es pflegt durch die vorhandenen Pflegestoffe auch allgemein die Haut.
Ich habe mal die Wirkung von Roggenmehl & Weizenmehl auf meiner Haut getestet. Dafür habe ich jeweils die gleiche Menge Mehl mit etwas Wasser verrührt und auf meine beiden Waden-Vorderseiten, die häufig recht trocken sind, aufgetragen. Nach ca. 5-10 Minuten habe ich das mit klarem wasser wieder entfernt und trocken getupft. Ergebnis: Auf der Weizenmehl-Wade war die Haut noch etwas trockener als vorher. Auf der Roggenmehl-Wade war die Haut weniger trocken als vorher. Eindeutig: Roggenmehl pflegt die Haut :-)
''Worauf beim Kauf achten:'' Am besten Vollkorn-Roggenmehl kaufen, da hier noch alle Mineralstoffe, Aminosäuren & Vitamine enthalten sind.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Roggenmehl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Roggenmehl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""70g Zitronensäure
25g Waschsoda
5g Pulvertensid
einige Tr. blaue Lebensmittelfarbe
Duftstoffe 3%
alles wie bei einer Badebombe ohne Fett mit Wasser angesprüht bis es eine Sandmasse gab und dann in Förmchen gefüllt.
Wirkung:
1.Reinigung von Fetten und Eiweiß (anionisches Tensid, äth. Öl )
2.Entkalkung ( Zitronenensäure),
3.Frische , Duft und Hygiene (Natriumcarbonat, äth Öle)
Rohre reinigt man besser mit NaOH. Also besser ein Rezept mit NaOH suchen!!!
Aber grundsätzlich , besonders bei Kalkablagerungen sollte auch Zitronensäure bzw unsere Tabs dafür geeignet sein.
Eine Tablette, heißes Wasser nachschütten, einwirken lassen und nachspülen
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=300 src="https://share-your-photo.com/img/d7e4f15b3a.jpg"/>||
|<h6>Winfried Bruenken (Amrum), [[Rooibos (Aspalathus linearis)PICT2813|https://commons.wikimedia.org/wiki/File:Rooibos_(Aspalathus_linearis)PICT2813.JPG]],<br/>Farbwert & weiteres Foto eingefügt von Surya,<br/>(Żółwiciel, [[Rooibos tea in a glass with dry rooibos|https://commons.wikimedia.org/wiki/File:Rooibos_tea_in_a_glass_with_dry_rooibos.jpg]],<br/>Ausschnitt von Surya, [[CC BY-SA 3.0|https://creativecommons.org/licenses/by/3.0/legalcode]])<br/>[[CC BY-SA 2.5|https://creativecommons.org/licenses/by/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Blättchen, Teezutat
''INCI-Bezeichnung:'' Aspalathus Linearis
''Ursprung/Beschreibung:'' Der Rooibosstrauch kommt ursprünglich aus den Bergregionen Südafrikas und wird 1-2 m hoch. Seinen Namen verdankt dieser der rötlichen Farbe der Rotbuschzweige.
Der fruchtig-süße und zugleich milde Geschmack des Rooibos-Tees ist auf den Fermentationsprozess zurückzuführen, innerhalb dessen die Tannine in Geschmacksstoffe umgewandelt werden.
So schmeckt dieser, im Gegensatz zu Grüntee z.B., auch kleinen Kindern und selbst Säuglingen, bei deren Koliken dieser beste Dienste tut, ohne den kleinen Körper unnötig zu belasten. Zurück zu führen ist dieses auf zwei Flavone, die ausschließlich im Rooibos vorkommen. Diese machen den Rooibos-Tee auch ohne Zucker süß. Knapp 100 aromatische Öle sorgen für das fruchtige Aroma des Rotbuschtees.
Der Rooibos enthält außerdem kein Koffein; er kann daher von jeder Zielgruppe und zu jeder Tageszeit selbst literweise tagtäglich genossen werden.
''Inhaltsstoffe:'' U.a. Vitamin C, Calcium, Magnesium, Kalium, Natrium, Eisen, Kupfer, Fluor, Rutin, Zink, Alpha-Hydroxysäuren, <div class="tooltip">Polyphenole
<span class="tooltiptext">bioaktive, in Pflanzen vorkommende Substanzen wie Farbstoffe, Geschmacksstoffe und Tannine; wirken entzündungshemmend & krebsvorbeugend</span></div>, Phenolsäure, Querzetin, Querzitrin.
''Besonderheit / Heilwirkung:'' Immunsystem stärkend, Blutgefäße schützend, Erbgut (DNA) schützend, <div class="tooltip">antioxidativ
<span class="tooltiptext">Im Körper kann es durch allerlei schädliche Umwelteinflüsse- wie z.B. Schadstoffe, Stress & Fehlernährung zur Bildung sog. freier Radikale kommen. Bei diesen handelt es sich eigentlich um Sauerstoffmoleküle, denen ein Elektron fehlt, wodurch diese Gewebe & DNA zerstören können. Gerade dies kann zu einer vorzeitigen Alterung des Gewebes führen oder aber bei Schädigung des Erbgutes sogar die Entstehung von Krebs begünstigen / beschleunigen. Antioxidativ wirkende Stoffe wirken diesen freien Radikalen effektiv entgegen und schließen alle negativen Folgen dieser Moleküle aus.</span></div>, entgiftend, krampflösend, beruhigend, krebshemmend, <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, antiallergisch, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>, antidepressiv / stimmungsaufhellend.
''Lagerung:'' Er muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kauf ihn beim Biomarkt um die Ecke.
''Worauf beim Kauf achten:'' Möglichst Bio-Qualität.
''Tipp für die Verarbeitung:'' Beim Kochen des Rooibushtees gibt es nichts besonderes zu beachten- er kann beliebig lang ziehen.
"""<br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Rooibushtee]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Rooibushtee]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Sehr bewährt hat sich der [[Rooibushtee]] bei Säuglingen, die unter Drei-Monats-Koliken leiden. Häufig verschwinden die Koliken nach wenigen Tagen und die zusätzlich beruhigende Wirkung von Rotbuschtee lässt die Kinder schnell (oft nach der ersten Anwendung!) zur Ruhe kommen. Positiv fällt auf, dass die Kinder den süßen und gerbstofffreien Rotbuschtee sehr gern mögen, es ist eines der wenigen Heilmittel, die von Babies und Kindern sehr gern konsumiert werden. Und da dieser keinen Zucker und kein Koffein enthält, können auch Kinder problemlos größere Mengen davon trinken.
__So wirkt Rooibostee gegen die Koliken__
Die im Roibostee enthaltenen Flavonoide wirken sich krampflösend auf die Darmmuskulatur aus.
Beruhen die Koliken auf allergischen Reaktionen gegenüber von einzelnen Nahrungsbestandteilen, wirken sich die antiallergischen Mechanismen von Rotbuschtee zusätzlich gegen diese aus.
__Anwendung:__ Tee kochen (nichts besonderes zu beachten- er kann beliebig lang ziehen) und trinken.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Die Allergien nehmen stetig zu, weitestgehend ist dies mit einem immer mehr überforderten Immunsystem zu erklären, das mit stetigem Wachstum von Fremdsubstanzen innerhalb unseres Umfelds zu kämpfen hat.
Zu den häufigsten Allergien zählen:
* Pollenallergie (Heuschnupfen)
* Nahrungsmittelallergie
* Tierhaarallergie
* Hausstaubmilben-Allergie
* Insektenallergie
Die antiallergische Wirkung von [[Rooibushtee]] wird in erster Linie den Flavonoiden, insbesondere dem darin enthaltenen Querzetin zugesprochen. Dieses nimmt Einfluss auf die Histaminausschüttung, das bekanntlich den Auslöser für allergische Reaktionen darstellt. In dem das Querzetin die Histaminausschüttung unterdrückt, unterdrückt es zugleich die allergischen Symptome wie laufende Nasen, Juckreiz, Schleimhautreizung usw.
__Anwendung:__ Tee kochen (nichts besonderes zu beachten- er kann beliebig lang ziehen) und trinken.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Die entzündungshemmenden und <div class="tooltip">antibakteriellen
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> Eigenschaften des Rooibos auf die Schleimhäute erweisen sich als sehr hilfreich bei Aphten im Mundraum. Es wird u.a. gemutmaßt, dass Aphthen ebenfalls durch allergische Reaktionen ausgelöst werden. Diesen kann der [[Rooibushtee]] mit seinen antiallergischen Eigenschaften sehr gut Rechnung tragen. Der schmerzlindernde Effekt von Rooibos sorgt indessen zeitnah für eine spürbare Linderung.
__Anwendung:__ Tee kochen (nichts besonderes zu beachten- er kann beliebig lang ziehen) und trinken.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Juckreiz basiert häufig auf allergischer Reaktion. Kalte Umschläge mit [[Rooibushtee]] verhindern Ausschüttung von Histamin, der Substanz also, die allergische Reaktionen auslöst.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Hier sollte man einen starken Aufguss zubereiten und mehrmals täglich die betroffenen Areale mit abgekühltem [[Rooibushtee]] im Wattebausch betupfen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
''Wirkung von Rooibos gegen Krämpfe und Darmprobleme''
Die im [[Rooibushtee]] enthaltenen Flavonoide Aspalathin sowie Querzetin wirken sich global entkrampfend und entspannend aus, besonders im Bereich der Darmmuskulatur. Die im Rotbuschtee enthaltenen Gerbstoffe erhöhen die Resistenz der Darmschleimhaut gegenüber Infekten und binden desweiteren Wasser.
''Magenkrämpfe''
Die entspannenden, krampflösenden Eigenschaften der Wirkstoffe im Rooibostee verhelfen zur Entspannung und Entkrampfung der Magenwände.
''Durchfall''
Die <div class="tooltip">antibakterielle
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> Wirkung einiger der im Rotbuschtee enthaltenen Substanzen kann verschiedenen Coli-Bakterien den Garaus machen. Hierzu gehört u.a. Escherichia coli, ein Parasit, der aufgrund seiner toxischen Ausscheidungen zu den Hauptauslösern von Durchfällen zählt. Einige Durchfälle resultieren aus Nahrungsmittelunverträglichkeiten - hier kann die antiallergische Wirkung von Rotbuschtee zusätzlich punkten!
''Blähungen''
Durch die Beruhigung des Darms werden die Darmwinde gleichmäßig abgeführt.
__''Anwendung:''__ Tee kochen (nichts besonderes zu beachten- er kann beliebig lang ziehen) und trinken.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Der [[Rooibushtee]] fördert die Heilung von Pilzen, wirkt sich <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungshemmend und <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div> aus. All diese Aspekte befreien die Mundschleimhaut und das Zahnfleisch von entsprechenden Parasiten, lindern die Entzündung und hemmen einen weiteren Parasitenangriff.
Zu diesem Zweck sollte der Rotbuschtee im Mund gegurgelt und im Anschluss erst geschluckt werden, so dass eine äußerliche und innerliche Anwendung stattfindet und sich die Wirkung so <div class="tooltip">synergetisch
<span class="tooltiptext">[chemisch] Zusammenwirken von Substanzen, die sich dadurch gegenseitig in ihrer Wirkung fördern & verstärken</span></div> verstärkt.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Die immunmodulierenden Eigenschaften des Rooibostees zeigen bei Neurodermitis nicht selten sehr bald ihre Wirkung.
Bei dieser Erkrankung sollte man systematisch innerlich wie äußerlich vorgehen, in dem man täglich mind. 1,5 Liter [[Rooibushtee]] trinkt (nichts besonderes zu beachten- er kann beliebig lang ziehen) und parallel dazu in Rooibostee getauchte Kaltumschläge mehrmals täglich anlegt.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Bei Schuppenflechten bewährt sich die antientzündliche Wirkung von [[Rooibushtee]] sehr gut. Die Behandlung der betroffenen Stellen mit Rooibos-Spülungen erweist sich als wirksam.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Schwellungen gehen immer mit entzündlichen Prozessen einher. Die entzündungshemmenden Eigenschaften des Rotbusch-Tees in Form von innerlicher und äußerlicher (kalte Umschläge mit Roibostee) Form können sehr zügig Abhilfe schaffen und bei allergiebedingten Schwellungen greifen die antiallergischen Eigenschaften von [[Rooibushtee]] ins Geschehen hinein.
__Innerliche Anwendung:__ Tee kochen (nichts besonderes zu beachten- er kann beliebig lang ziehen) und trinken.
__Äußerliche Anwendung:__ Kalte Umschläge mit Roibostee.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Hier sollte man sich eine innerliche wie äußerliche Anwendung mit [[Rooibushtee]] gönnen. Auf diese Weise wirkt man den mit jedem Sonnenbrand einhergehenden Entzündungsprozessen auf beiden Fronten entgegen.
__Innerliche Anwendung:__ In diesem Fall wird der Tee am besten kalt getrunken, was einer ansonsten bestehenden Dehydrierungsgefahr aufgrund des Sonnenbrands entgegenwirkt. Tee kochen (nichts besonderes zu beachten- er kann beliebig lang ziehen), abkühlen lassen und trinken.
__Äußerliche Anwendung:__ Äußerlich findet die Anwendung in Form von kalten, in Rotbuschtee getränkten Umschlägen statt, die mehrmals täglich angelegt werden.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Hier zeigt besonders das Auftragen von einem in abgekühltem [[Rooibushtee]] getränkten Wattebausch Wirkung. Die entzündungshemmenden und antiallergischen Eigenschaften erweisen sich als sehr hilfreich bei Windeldermatitis.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""Ich habe ein leichtes Fluid gewünscht, dass gut durchfeuchtet und gleichzeitig, trotz der leichten Konsistenz, der Haut genügend Fett gibt, um die Feuchtigkeit zu halten. Das Rosen-Hydrofluid ist zart apricotfarben (durch das Wildrosenöl) und duftet zart nach … Rose Ich habe es in einen 30 ml-Pumpspender gefüllt. Es reicht ein Tropfen: das Fluid verteilt sich superleicht, erweist sich auf der Haut jedoch durch die pflegenden Öle als überraschend reichhaltig. Die Haut fühlt sich glatt an und spannt bei mir auch nach Stunden nicht. Ich habe es die 14 Tage Tag und Nacht verwendet, tagsüber auch als Makeup-Unterlage, wenn mir nach Schminken war; MF habe ich erfolgreich ausprobiert (bitte wenige Minuten warten, bis das Fluid eingezogen ist).
Wasserphase
15 ml Rosenwasser
1 ml Alkohol (96%ig zur Konservierung)
Fettphase
7 ml Aprikosenkernöl
2 ml Wildrosenöl
1 ml Nachtkerzenöl
1,5 gr. Fluidlecithin Super
Wirkstoffphase
0,2 gr. Hyaluronsäure
0,6 gr. Urea
1,5 gr. Panthenol
0,6 gr. Glyzerin
0,5 gr. A-C-E-Fluid
Naturreine ätherische Öle:
2 Tropfen Rose
1 Tropfen Ylang-Ylang
Rosenwasser mit dem Alkohol mischen (eventuell Hyaluronsäure und Urea im Alkohol lösen), Wirkstoffe hinzufügen und in einem Pumpspender kräftig schütteln.
Öle mischen, Fluidlecithin Super und ätherische Öle hinzufügen, zur Wasserphase geben. Schütteln, schütteln, schütteln.
Das Fluid wird recht schnell gelartig. Schütteln ist wichtig, da sich Hyaluronsäure und Urea immer ein wenig Zeit lassen, um sich zu lösen. Das Fluid ist sofort gebrauchsfähig.
das Fluidlecithin ist ein Kaltemulgator, und dadurch ist es eben möglich, die kostbaren Inhaltsstoffe der Öle 100%ig zu erhalten, da sie nicht erhitzt werden müssen. Zudem wirkt Lecithin rückfettend und ist selbst ein Pflegefaktor.
Natürlich gibt es noch Xanthan und Guarkernmehl, das einige hier im Forum gerne halb/halb anwenden, weil das Hautgefühl besser ist. Diese sind allerdings meines Wissens reine Verdicker und keine Pflegestoffe.
"""32 ml Rosenwasser
1 Ml Harnstoff (Urea)
1 kl. Ml Elastin
1 kl. Ml Hyaluronsäure
1 Ml Emulsan
1Ml Sheabutter
10 ml CMD Körperöl Wildrose
32 Tr. Co2 Wildrosenöl
½ Ml Vit. E acetat
½ Ml Panthenol
5 Tr. äth. Öl
5 Tr. Tr. Paraben oder Duokons
*Wasser abkochen, Harnstoff, Elastin und Hyaluron darin auflösen.
*Emulsan gut erhitzen. Shea dazugeben, schmelzen lassen.
*Warmes Wasser dazurühren.
*Im kalten Wasserbad abkühlen lassen, CMD Körperöl und Wirkstoffe dazugeben und gut durchrühren.
Die Creme zieht gut ein und hinterläßt ein ganz glattes Hautgefühl. Sie ist anfangs noch recht flüssig, wird spätestens am nächsten Tag fester.
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Rosengeranienöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Rosengeranienöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Rosengeranienöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
@@font-size:0.9em;float:right;(Auszugsweise zitiert aus dem Buch von © Heike Käser,<br/>"Naturkosmetik selber machen, Das Handbuch", Verlag freya, ISBN 978-3-99025-049-5)@@<br/><br/>
Unterschiede zwischen den Zubereitungsarten sind gelb bzw. orange markiert.
!!!<div style="text-align: center"> ''@@background-color:gold;<div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>@@-<div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> herstellen mit <div class="tooltip">Emulgatoren
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> aus der Emulgatorgruppe 1''</div>
(Emulgatoren: Bergamuls ET 1, Dermofeel GSC palm oil free, Imwitor 375, Montanov 68, Montanov 202, Olivem 1000, Simulgreen 18-2, Sucrosestearat HLB 15, ~~Tego Care PSC-3~~ >durchgestrichen, da ich noch nicht herausfinden konnte ob dieser palmölfrei ist)
# <div class="tooltip">__Fettphase__
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>__ schmelzen__
#* @@background-color:gold;Die in dem Rezept notierten Öle, Buttern, Wachse, Emulgatoren & Konsistenzgeber im Becherglas bei@@ @@background-color:darkorange;65–85°@@ @@background-color:gold; (je nach Emulgator) klar aufschmelzen. Temperatur kontrollieren- sie muss den Anforderungen des gewählten Emulgators entsprechen.@@
#* Kakaobutter erst zum Schluss dazu schmelzen, da sie nicht zu lange hohen Temperaturen ausgesetzt werden sollte- krisselt sonst gerne!<br/><br/>
# <div class="tooltip">__Wasserphase__
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div>__ erhitzen__
#* @@background-color:gold;Wasser auf die gleiche Temperatur wie die Fettphase erhitzen@@ @@background-color:darkorange; (gerne 5° höher).@@<br/><br/>
# __Fett- & Wasserphase zusammengeben__
#* @@background-color:gold;Das Wasser@@ @@background-color:darkorange; in kleinen Portionen unter moderatem Rühren (mit Spatel oder Löffel)@@ @@background-color:gold;zur Fettphase geben. Die Emulsion bildet sich fast unmittelbar (zu erkennen daran, dass sie weiß & undurchsichtig wird).@@<br/><br/>
# __Emulsion hochtourig rühren__
#* @@background-color:gold;Je nach verwendetem Gerät 1–4 Min. <div class="tooltip">hochtourig rühren
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div>.@@<br/><br/>
# __Emulsion bis auf Handwärme abkühlen__
#* Emulsion sanft bis auf Handwärme rühren- mit einem Spatel oder Löffel oder nach der Intervallmethode (siehe weiter unten).<br/>Schneller geht es, wenn Du das Glas in ein kaltes Wasserbad (keine Eiswürfel verwenden!) stellst und kontinuierlich langsam rührst. Die Emulsionen sind in heißem Zustand noch sehr flüssig, sie werden jedoch zusehends dicker, je kühler sie werden. In dieser Rührphase wird u.a. untergeschlagene Luft herausgerührt.<br/><br/>
# __Alle Wirk- & Hilfsstoffe ergänzen__
#* Abgewogene (pulverförmige müssen zuvor aufgelöst werden) Wirk- & Hilfsstoffe einarbeiten.
#* Hitzeunempfindliche können direkt im heißen Wasser gelöst werden.
#* Hitzeempfindliche mit ca. 5g Wasser verrühren, das Du vor dem Erhitzen von der Gesamt-Wassermenge abzweigen musst.<br/><br/>
# __Emulsion kalt rühren__
#* Emulsion sanft weiter rühren (mit Spatel oder Löffel), bis sie vollkommen abgekühlt ist und geschmeidig, opak & glatt wirkt.<br/><br/>
# __Emulsion konservieren, ggf. ätherische Öle zufügen & ggf. pH-Wert korrigieren__
#* Ätherische Öle und Konservierungsstoffe ganz zum Schluss unterrühren.
#* pH-Wert prüfen und ggf. mit Milch- oder Zitronensäure korrigieren. Siehe [[PH-Wert prüfen & einstellen]].
#* Alles gut einarbeiten.<br/><br/>
<div style="background:lightgrey;">
--------------------------------------------------------------------------------
<br/>
--------------------------------------------------------------------------------
</div>
!!!<div style="text-align: center"> ''@@background-color:gold;<div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>@@-<div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> herstellen mit <div class="tooltip">Emulgatoren
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> aus der Emulgatorgruppe 2''</div>
(Emulgatoren: Sucrosestearat HLB 15)
# __Wasser erhitzen & Emulgator einrühren__
#* @@background-color:gold;Wasser auf die für den Emulgator erforderliche Temperatur erhitzen und den Emulgator kräftig einrühren, bis er sich weitgehend gelöst hat (oft bleiben sichtbare Schlieren).@@
#* @@background-color:darkorange;Tego Care CG 90 benötigt ca. 80°C, Emulprot und Sucrosestearat HLB 15 benötigen ca. 70-75°C.@@<br/><br/>
# <div class="tooltip">__Fettphase__
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>__ schmelzen__
#* @@background-color:gold;Die in dem Rezept notierten Öle, Buttern, Wachse, Emulgatoren & Konsistenzgeber im Becherglas bei@@ @@background-color:darkorange; 70–80°@@ @@background-color:gold; (je nach Emulgator) klar aufschmelzen. Temperatur kontrollieren- sie muss den Anforderungen des gewählten Emulgators entsprechen.@@
#* Kakaobutter erst zum Schluss dazu schmelzen, da sie nicht zu lange hohen Temperaturen ausgesetzt werden sollte- krisselt sonst gerne!<br/><br/>
# __Fett- & <div class="tooltip">__Wasserphase__
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> zusammengeben__
#* @@background-color:gold;Die Fettphase optimal@@ @@background-color:darkorange; in kleinen Portionen unter moderatem Rühren (mit Spatel oder Löffel)@@ @@background-color:gold; zur Wasserphase geben@@ @@background-color:darkorange; (in der Regel ist auch der umgekehrte Weg erfolgreich).@@ @@background-color:gold; Die Emulsion bildet sich fast unmittelbar (zu erkennen daran, dass sie weiß & undurchsichtig wird).@@<br/><br/>
# __Emulsion hochtourig rühren__
#* @@background-color:gold;Je nach verwendetem Gerät 1–4 Min. <div class="tooltip">hochtourig rühren
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div>.@@<br/><br/>
# __Emulsion bis auf Handwärme abkühlen__
#* Emulsion sanft bis auf Handwärme rühren- mit einem Spatel oder Löffel oder nach der Intervallmethode (siehe weiter unten).<br/>Schneller geht es, wenn Du das Glas in ein kaltes Wasserbad (keine Eiswürfel verwenden!) stellst und kontinuierlich langsam rührst. Die Emulsionen sind in heißem Zustand noch sehr flüssig, sie werden jedoch zusehends dicker, je kühler sie werden. In dieser Rührphase wird u.a. untergeschlagene Luft herausgerührt.<br/><br/>
# __Alle Wirk- & Hilfsstoffe ergänzen__
#* Abgewogene (pulverförmige müssen zuvor aufgelöst werden) Wirk- & Hilfsstoffe einarbeiten.
#* Hitzeunempfindliche können direkt im heißen Wasser gelöst werden.
#* Hitzeempfindliche mit ca. 5g Wasser verrühren, das Du vor dem Erhitzen von der Gesamt-Wassermenge abzweigen musst.<br/><br/>
# __Emulsion kalt rühren__
#* Emulsion sanft weiter rühren (mit Spatel oder Löffel), bis sie vollkommen abgekühlt ist und geschmeidig, opak & glatt wirkt.<br/><br/>
# __Emulsion konservieren, ggf. ätherische Öle zufügen & ggf. pH-Wert korrigieren__
#* Ätherische Öle und Konservierungsstoffe ganz zum Schluss unterrühren.
#* pH-Wert prüfen und ggf. mit Milch- oder Zitronensäure korrigieren. Siehe [[PH-Wert prüfen & einstellen]].
#* Alles gut einarbeiten.<br/><br/>
<div style="background:lightgrey;">
--------------------------------------------------------------------------------
<br/>
--------------------------------------------------------------------------------
</div>
!!!<div style="text-align: center"> ''@@background-color:gold;O/W@@-Emulsionen herstellen mit Emulgatoren aus der Emulgatorgruppe 3''</div>
(Emulgatoren: Olivem 900 (Sorbitan Olivate), Lanolin (Adeps Lanae), Wollwachsalkohol)
# <div class="tooltip">__Fettphase__
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>__ schmelzen__
#* @@background-color:gold;Die in dem Rezept notierten Öle, Buttern, Wachse, Emulgatoren & Konsistenzgeber im Becherglas klar aufschmelzen. Temperatur kontrollieren- sie muss den Anforderungen des gewählten Emulgators entsprechen.@@
#* @@background-color:darkorange;Lanolin & Wollwachsalkohol benötigen ca. 65-70°, Olivem 900 & Dermofeel PR benötigen ca. 75-80°.@@
#* Kakaobutter erst zum Schluss dazu schmelzen, da sie nicht zu lange hohen Temperaturen ausgesetzt werden sollte- krisselt sonst gerne!<br/><br/>
# <div class="tooltip">__Wasserphase__
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div>__ erhitzen__
#* @@background-color:gold;Wasser auf die gleiche Temperatur wie die Fettphase erhitzen.@@
#* @@background-color:darkorange;PH-Wert ggfs. mit Milch- oder Zitronensäure auf pH 5–5,5 einstellen.@@<br/><br/>
# __Fett- & Wasserphase zusammengeben__
#* @@background-color:gold;Das Wasser@@ @@background-color:darkorange;__tropfenweise__ unter __langsamen__ Rühren (mit Spatel oder Löffel)@@ @@background-color:gold;zur Fettphase geben.@@ @@background-color:darkorange;Es ist außerordentlich wichtig, das Wasser sehr ''langsam einzuarbeiten'', bis die ganze Flüssigkeit gebunden ist; und dass Wasser- & Fettphase die gleiche Temperatur haben. Daher empfiehlt es sich, die Wasserphase abgedeckt heiß zu halten. ''Nicht hochtourig rühren!''@@<br/><br/>
# __Emulsion bis auf Handwärme abkühlen__
#* Emulsion sanft bis auf Handwärme rühren- mit einem Spatel oder Löffel oder einem Rührgerät mit niedriger Umdrehungszahl.<br/>Schneller geht es, wenn Du das Glas in ein kaltes Wasserbad (keine Eiswürfel verwenden!) stellst und kontinuierlich langsam rührst. Die Emulsionen sind in heißem Zustand noch sehr flüssig, sie werden jedoch zusehends dicker, je kühler sie werden. In dieser Rührphase wird u.a. untergeschlagene Luft herausgerührt.<br/><br/>
# __Alle Wirk- & Hilfsstoffe ergänzen__
#* Abgewogene (pulverförmige müssen zuvor aufgelöst werden) Wirk- & Hilfsstoffe einarbeiten.
#* Hitzeunempfindliche können direkt im heißen Wasser gelöst werden.
#* Hitzeempfindliche mit ca. 5g Wasser verrühren, das Du vor dem Erhitzen von der Gesamt-Wassermenge abzweigen musst.<br/><br/>
# __Emulsion kalt rühren__
#* Emulsion sanft weiter rühren (mit Spatel oder Löffel), bis sie vollkommen abgekühlt ist und geschmeidig, opak & glatt wirkt.<br/><br/>
# __Emulsion konservieren, ggf. ätherische Öle zufügen & ggf. pH-Wert korrigieren__
#* Ätherische Öle und Konservierungsstoffe ganz zum Schluss unterrühren.
#** Für W/O-Emulsionen eignet sich optimal Alkohol (bzw. ein wässrig-alkoholischer Frischpflanzenextrakt), da Alkohol fett- & wasserlöslich ist und sich in der Emulsion verteilt.
#* pH-Wert prüfen und ggf. mit Milch- oder Zitronensäure korrigieren. Siehe [[PH-Wert prüfen & einstellen]].
#* Alles gut einarbeiten.<br/><br/>
<div style="background:lightgrey;">
--------------------------------------------------------------------------------
<br/>
--------------------------------------------------------------------------------
</div>
!!!<div style="text-align: center"> ''@@background-color:gold;O/W@@-Emulsionen herstellen mit der "One-Pot-Methode"''</div>
(Für die "One-Pot-Methode" geeignete Emulgatoren: Montanov 68, Montanov 202)
# <div class="tooltip">__Fettphase__
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>__ schmelzen__
#* @@background-color:gold;Die in dem Rezept notierten Öle, Buttern, Wachse, Emulgatoren & Konsistenzgeber im Becherglas bei@@ @@background-color:darkorange;65–85°@@ @@background-color:gold; (je nach Emulgator) klar aufschmelzen. Temperatur kontrollieren- sie muss den Anforderungen des gewählten Emulgators entsprechen.@@
#* Kakaobutter erst zum Schluss dazu schmelzen, da sie nicht zu lange hohen Temperaturen ausgesetzt werden sollte- krisselt sonst gerne!<br/><br/>
# <div class="tooltip">__Wasserphase__
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div>__ erhitzen__
#* @@background-color:gold;Wasser auf die gleiche Temperatur wie die Fettphase erhitzen.@@<br/><br/>
# __Fett- & Wasserphase hochtourig homogenisieren__
#* @@background-color:darkorange;Das gesamte Wasser zur Fettphase geben (alles ist in einem Gefäß, daher "one pot").@@
#* @@background-color:darkorange;Rühraufsatz tief im Becherglas positionieren, sodass er in der Wasserphase steckt (die sich //unter// der Fettphase absetzt).@@
#* @@background-color:darkorange;Je nach verwendetem Gerät 1–4 Min. <div class="tooltip">hochtourig rühren
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div>.@@<br/><br/>
# __Emulsion bis auf Handwärme abkühlen__
#* Emulsion sanft bis auf Handwärme rühren- mit einem Spatel oder Löffel oder nach der Intervallmethode (siehe weiter unten).<br/>Schneller geht es, wenn Du das Glas in ein kaltes Wasserbad (keine Eiswürfel verwenden!) stellst und kontinuierlich langsam rührst. Die Emulsionen sind in heißem Zustand noch sehr flüssig, sie werden jedoch zusehends dicker, je kühler sie werden. In dieser Rührphase wird u.a. untergeschlagene Luft herausgerührt.<br/><br/>
# __Alle Wirk- & Hilfsstoffe ergänzen__
#* Abgewogene (pulverförmige müssen zuvor aufgelöst werden) Wirk- & Hilfsstoffe einarbeiten.
#* Hitzeunempfindliche können direkt im heißen Wasser gelöst werden.
#* Hitzeempfindliche mit ca. 5g Wasser verrühren, das Du vor dem Erhitzen von der Gesamt-Wassermenge abzweigen musst.<br/><br/>
# __Emulsion kalt rühren__
#* Emulsion sanft weiter rühren (mit Spatel oder Löffel), bis sie vollkommen abgekühlt ist und geschmeidig, opak & glatt wirkt.<br/><br/>
# __Emulsion konservieren, ggf. ätherische Öle zufügen & ggf. pH-Wert korrigieren__
#* Ätherische Öle und Konservierungsstoffe ganz zum Schluss unterrühren.
#* pH-Wert prüfen und ggf. mit Milch- oder Zitronensäure korrigieren. Siehe [[PH-Wert prüfen & einstellen]].
#* Alles gut einarbeiten.<br/><br/>
<div style="background:lightgrey;">
--------------------------------------------------------------------------------
<br/>
--------------------------------------------------------------------------------
</div>
<div style="text-align: center"> @@font-size:1.2em;background-color:gold;''Die Intervall-Methode''@@</div>
(Geeignet für Emulgatorgruppe 1 & 2 und die "One-Pot-Methode")
"""Die meisten elektrischen Rührgeräte, die wir nutzen, rühren mit einer gewissen Mindest-Umdrehungszahl. Ein langsames & kontinuierliches Kaltrühren, so wie es für eine optimale Herstellungspraxis notwendig ist, ist mit diesen Geräten nicht möglich. Deshalb wird stattdessen mit einem Spatel oder Löffel sanft bis zum vollständigen Erkalten gerührt.
Alternativ eignet sich jedoch auch die Intervall-Methode:
__Nach__ Punkt 4 (wo die beiden Phasen zusammen <div class="tooltip">hochtourig
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div> emulgiert werden) werden beim hochtourigen Rühren regelmäßig kleine Pausen von wenigen Minuten (2–5 Minuten) eingelegt, an die wieder eine kurze (1 Minute) hochtourige Phase anschließt. Diese Intervalle werden durchgeführt, bis die Emulsion kalt gerührt ist (kann je nach Menge der Emulsion variieren). Ein abschließendes sanftes Glattrühren mit einem Spatel / Löffel führt zu besonders homogenen Emulsionen. Also nochmal, Punkt für Punkt:"""
# Die eine Phase erhitzen
# Die andere Phase erhitzen
# Phasen zusammengeben
# Emulsion hochtourig rühren
# kleine Pause (2–5 Minuten)
# hochtourig rühren (1 Minute)<br/>Diese Intervalle (Punkt 5 & 6) so oft wiederholen, bis die Emulsion erkaltet ist.
# Abschließend sanft Glattrühren mit einem Spatel / Löffel >besonders homogene Emulsionen
# Alle Wirk- & Hilfsstoffe ergänzen
# Emulsion konservieren, ggf. ätherische Öle zufügen & ggf. pH-Wert korrigieren
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Plukenetia Volubilis (Inca Peanut) Oil
''Jodzahl:'' 192–199 (trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 9 Monate
''Anteile an Unverseifbarem:'' Bis 0,4%
''Verseifungszahl:'' 187–200
__Trockene, reife, entzündliche Haut. Fettende Haut.__
Sacha-Inchi-Öl (gesprochen: »Satscha Inschi«) war bis vor wenigen Jahren in Europa noch relativ unbekannt. Hochpreisige Kosmetikmarken und Firmen für pflanzliche Wirkstoffe haben das neue Öl bereits als werbewirksames Ingredienz für exklusive Produkte entdeckt. Das Fettsäurespektrum und die Inhaltsstoffe lassen Einschätzungen bezüglich seines sinnvollen kosmetischen Einsatzes zu und prädestinieren es, ähnlich wie Wildrosenöl, für die Pflege __entzündlicher Haut__ sowie __trockener, reifer Haut__. α-Linolensäure wirkt stark zellregenerierend, zellaktivierend und, unterstützt durch Linolsäure, fluidisierend auf Bilayer und Zellmembrane und erhöht die __Hautelastizität__. Ich würde es mit penetrationsförderndem Unverseifbarem, Phospholipiden und Ölsäure (aus Sheabutter, Avocadoöl oder aus Lecithinen) komponieren, die die mehrfach ungesättigten Fettsäuren in die Haut schleusen.
Durch seinen geringen Anteil an gesättigten Fettsäuren und der Verhornungs-Störungen entgegen wirkenden Linolsäure stellt Sacha-Inchi-Öl auch ein wunderbar __leichtes__, niedrigviskoses Öl zur Pflege __fettender Haut__ dar, das __sofort einzieht__. Kombiniert mit Babassu- und Traubenkernöl sind __feuchtigkeitsspendende__ und __nicht aufliegende__ Rezepturen möglich.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sacha-Inchi-Öl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sacha-Inchi-Öl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""10 gr Jojobaöl
5 gr Cethyl
10 gr Kokosöl
10 gr Shea
60 gr Wasser
10 gr Melissengeist
10 gr Zinkoxid
5 gr Urea
5 gr Meersalz
je 2 Tabletten Schüssler-Salz # 2(Calcium) #3 (Ferrum) # 7 (Magnesium) und #8 (Natrium)
Das Cethyl im Jojobaöl schmelzen, dann Kokosöl und Shea darin aufschmelzen.
Das Wasser abkochen und darin die Schüssler-Salze lösen, dann das Salz und das Urea darin auflösen.
Das Zinkoxid im Melissengeist lösen und mit der Wasserphase verrühren, dann alles zusammenschütten.
WICHTIG: bitte nur mit Glasrührstab oder Plastikspatel rühren, nicht mit Metalllöffeln oder Metallmixer, da das die Schüssler-Salze unwirksam macht.
"""In Sachen Gelenkbeschwerden benutze ich seit ca. drei Wochen eine Salbe mit Beinwell und kann nur sagen, dass dieses Zeugs richtig gut ist. Es lindert Beschwerden deutlich und die Beweglichkeit ist spürbar besser.
Zuerst habe ich eine gekaufte Salbe benutzt. Diese Woche habe ich mir dann selbst was gerührt. Grundlage war ein Salben-Rezept aus einem Buch.
78% Johanniskraut-Öl
8% Bienenwachs
6% Kakaobutter
8% Beinwellwurzel-Geist
Das Ganze ist beim Schmieren eine recht fettige Angelegenheit. Bei der nächsten Mischung habe ich vor, die Kakaobutter durch Bienenwachs zu ersetzen, also 14% Wachs, ggf. auch Beerenwachs. In der gekauften Salbe waren nur Johanniskraut-Öl, Bienenwachs und Beinwell.
Nach meinem Empfinden wirkt Beinwell-Salbe besser als der weiße Tigerbalm, der bei mir wiederum besser als rote Tigerbalm gewirkt hat.
Meinen Beinwellwurzel-Geist beziehe ich von einer Kräuterfrau, die ihn selbst herstellt. Dazu legt sie die Wurzeln in Alkohol ein. Eine Beinwell-Tinktur dürfte dasselbe sein. Auch hier werden die Beinwellwurzeln in Alkohol eingelegt, zumindest nach uft-studio.de/News/tabid/94/Post/290/Eine-Beinwell-Tinktur-Symphytum-officinale-selbst-hergestellt" target="_blank">diesem Rezept. Die Dosierung hängt davon ab, welche Mengen Beinwellwurzel wie lange eingelegt werden. Da muss man auch etwas rumprobieren. Bei meiner Salbe komme ich inzwischen mit deutlich weniger Beinwell als am Anfang aus.
meine Schwiegermama ist begeistert von der Arnikasalbe. Sie hilft nicht nur ihren Gelenken, sondern auch bei den Nackenschmerzen ihres Freundes.
Neben den vielen guten Eigenschaften hat Beinwell auch noch ein paar weniger schöne (siehe u.a. Hinweis zu Risiken und Nebenwirkungen). Da werde ich noch mal Rücksprache mit meiner Kräuterfrau halten müssen. Vorerst werde ich Beinwell nicht mehr in meiner Schmerzsalbe verwenden.
Beinwell: Bei äußerlicher Anwendung werden die schädlichen Alkaloide kaum resorbiert, so dass im Allgemeinen unter diesen Bedingungen eine Anwendung von vier bis sechs Wochen im Jahr erfolgen kann." Diese Empfehlung ist im Web auch auf anderen Seiten zu finden.
Als Alternative habe ich mir eine Schmerzsalbe gerührt und dabei ÄÖs verwendet, die gut bei Muskelschmerzen usw. wirken sollen.
68% Johanniskrautöl
10% Bienenwachs
10% Arnika-Extrakt
jew. 3% Birkenöl, Eukalyptusöl, Muskatnusöl und Wacholderbeeröl
Der Duft vom Birkenöl ist sehr dominant, hält lange an und erinnert mich an ein Kaugummi aus der Kindheit. Auf Dauer finde ich den Geruch als störend und ich werde Birkenöl in der Salbe nicht mehr verwenden.
Die Salbe wirkt. Ein Vergleich mit der Beinwell-Salbe ist aber schwierig, weil subjektiv. In ein bis zwei Wochen kann ich vielleicht mehr dazu sagen.
<div style="background:#DFFE97;">"""
Gegen Entzündungen der Mundschleimhaut und Zahnfleischentzündungen kann man den Mund mit Salbeitee ausspülen.
Bei Rachen- & Mandelentzündungen mit Salbeitee gurgeln.
In Laborversuchen konnte eine eindeutig <div class="tooltip">antiseptische
<span class="tooltiptext">=antibakteriell=antibiotisch= gegen Bakterien wirkend</span>
</div> Wirkung des Salbeis gegen Bakterien, Pilze & Viren nachgewiesen werden. Salbei vermindert auch die Anzahl von <div class="tooltip">Zahnplaque
<span class="tooltiptext">= Zahnbelag</span></div>-Bakterien. Es ist nicht nur entzündungshemmend, sondern auch <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div> und krampflösend. Deshalb sind viele Zahncremes mit Salbei angereichert und enthalten viele Hustenbonbons Salbei als Zutat.
''Meine Erfahrung damit:'' Ich hatte einige Jahre massive Probleme mit Mandelentzündungen. Nachdem ich den Tip meines Arztes befolgte, mit Salbeitee zu gurgeln, konnte ich schon mehrere Mandelentzündungen im Anfangsstadium abwehren und habe seitdem keine Probleme mehr damit :-)
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
!!!Mit Zutat:Körpergeruch taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Genau wie in der Hautpflege wird Salbei in Shampoos gegen fettiges Haar eingesetzt.
Die gleiche Wirkung entfalten Spülungen mit Salbeitee. Rinsen mit Salbei helfen nicht nur gegen schnell fettende Kopfhaut und fettige Haare, auch graue und dunkle Haare profitieren von Salbeispülungen. Dunkle Haare werden satter in der Farbe und der eventuelle Gelbstich grauer Haare wird durch Salbeispülungen abgeschwächt."""
''Zutaten''
* kräftiger [[Salbeitee]] (4 TL getrockneter Salbei auf 300ml kochendes Wasser, ca. 4 Minuten ziehen lassen)
* 500ml kaltes Wasser
"""
Salbeitee mit dem kalten Wasser verdünnen und als letzten Gang nach dem Shampoonieren die feuchten Haare damit spülen.
Ggf. wird das Wasser aufgefangen und der Vorgang wiederholt. Die sog. Salbeirinse wird nicht ausgewaschen.
<div style="background:Lavender;">
@@.lefttable
|<img width=250 src="https://share-your-photo.com/img/07e5bd87fd.jpg"/>||
|<h6>aomorikuma, [[Common sage20040605|https://commons.wikimedia.org/wiki/File:Common_sage20040605.JPG]],<br/>Ausschnitt, Farbwert, Weichzeichnung & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Blättchen oder Pulver, Teezutat
''INCI-Bezeichnung:'' Salvia officinalis
''Ursprung/Beschreibung:'' Der Echte Salbei (Salvia officinalis) zählt zu einem der ältesten bekannten Heilpflanzen überhaupt.
''Inhaltsstoffe:'' Ätherisches Öl, d-Kampfer, Salviol, Salven, Betulin, Asparagin, Bitterstoff, Borneol, Carnosinsäure, Zineol, Flavonoide, Fumarsäure, Gerbstoff, Gerbsäure, Harz, Ledol, Limonen, Menthol, Östrogenartige Stoffe, Oleanolsäure, Pinen, Sabinol, Salizylsäure, Saponine, Terpineol, Thujon, Thymol, Zink, Vitamine.
''Besonderheit/kosmetische Wirkung /Heilwirkung:'' Die Heilwirkung des Salbeis geht dabei vor allem auf die enthaltenden Gerb- und Bitterstoffe der Pflanze aus, die u.a. die Verdauung fördern, Blähungen lindern und Magen- & Darmkrämpfe bekämpfen können. Weitere wichtige Wirkstoffe sind die zahlreich enthaltenden ätherischen Öle, die <div class="tooltip">antibakterielle
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> und teils <div class="tooltip">antivirale
<span class="tooltiptext">= gegen Viren</span>
</div> Eigenschaften aufweisen. Und Salbei wirkt <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>. Ausserdem wirkt er gegen Mandelentzündungen. Und zwar extrem gut, wie ich aus eigener Erfahrung bestätigen kann! (Ich hatte einige Jahre alle paar Monate heftige Mandelentzündungen. Hätte ich noch eine weitere bekommen, hätten die Mandeln entfernt werden müssen. Der Arzt empfahl mir, bei beginnenden Symptomen mit Salbeitee (ich glaube + Honig) zu gurgeln. Das tat ich bei der nächsten beginnenden- die Symptome verschwanden innerhalb kürzester Zeit und seitdem hatte ich keine einzige mehr!!
''Tipp für die Verarbeitung:'' Tee 3-5 Min. ziehen lassen.
''Lagerung:'' Getrocknete Kräuter verschlossen, dunkel und nicht länger als 1 Jahr lagern.
''Beachte Nebenwirkungen:'' Vorsicht angesichts der inneren Anwendung ist bei Schwangeren und stillenden Frauen geboten. Salbei enthält östrogenartige Verbindungen, die sich negativ auf die Schwangerschaft auswirken können und den Milchfluss stillender Mütter unterbinden können. Vor allem Salbeiöl gilt es zu vermeiden; ebenso gilt Vorsicht beim Verzehr größerer Mengen von Salbei bei Kindern. Bei Babycenter.de wird insoweit entwarnt, dass Salbei in der Schwangerschaft als gering dosiertes Würzkraut gegessen werden kann.
''Erhältlich bei:'' __Tee__ im Supermarkt, Apotheke, Teehandlungen.
__Salbei-Extrakt__ im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover und evtl. in der Apotheke?
__Salbei-Öl__ im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover und evtl. in der Apotheke?
__Frische Salbeipflanzen__ finden sich nahezu in jedem Supermarkt sowie in Baumärkten & Pflanzencentern. Die Qualität ist sehr unterschiedlich. Am besten sind Pflanzen, die große Blätter aufweisen und am Stamm bereits leicht verholzt sind. Diese Merkmale sprechen dafür, dass der Salbei nicht mit Düngern überbehandelt wurde. Hellgrüne Pflanzen, die recht instabile Stängel sowie nur kleine Blätter haben sind meist minderwertig. Grundsätzlich sollte darauf geachtet werden, dass die Blätter keine hellen bzw. weißen Stellen (Mehltau!) hat. Diese ist beim echten Salbei recht häufig anzutreffen. In Pflanzencentern sollte zudem auf den botanischen Namen geachtet werden, Salvia officinalis. Häufig werden auch andere Salbeipflanzen angeboten, die sich in puncto Aroma und Heilkraft deutlich unterscheiden können. Das gleiche gilt auch für Salbei-Samen.
''Worauf beim Kauf achten:'' Getrockneter Salbei sollte nicht älter als 1 Jahr & aromaversiegelt verschlossen sein.
''Ernte:'' Die beste Erntezeit ist Mai oder September (vor oder nach der Blüte). Mit der Blüte geht das Aroma in den Blättern verloren. Entweder werden die Salbeiblätter zu diesem Zeitpunkt großzügig abgeerntet oder die Blüten abgeknappt. So wächst die Pflanze kräftig weiter, ohne die Kraft in die Bildung von Samen zu stecken.
"""
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Salbeitee]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Salbeitee]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
[[Salbeitee]] kann – insofern regelmäßig getrunken – übermäßige Schweißproduktion hemmen. Vermutlich helfen die v.a. in den Blättern enthaltenden Monoterpene und einige Gerbstoffe bei der Regulierung der Schweißproduktion.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Für Mütter, die abstillen wollen, ist Salbei sehr zu empfehlen. Hierzu empfehlen sich 2-3 Tassen [[Salbeitee]] pro Tag. Das Kraut gilt als eines der beliebtesten natürlichen Abstillmöglichkeiten.
<div style="background:#DFFE97;">
!!Nicht für Kinder geeignet!!
"""
Ich bin mal mitten in der Nacht aufgrund heftiger Zahnschmerzen aufgewacht und habe Zahnschmerzpillen genommen. Nachdem keine Wirkung eintrat, habe ich die Dosierung nach und nach bis zum Maximum gesteigert. Absolut erfolglos.
Auch Nelken halfen diesmal -im Gegensatz zu sonst- nicht.
Also setzte ich mich mitten in der Nacht an meinen Schlepprechner und googelte nach Hausmitteln.
Und stieß dabei auf gesättigte Kochsalzlösung.
Innerhalb von ca. 15-30 Minuten hatte ich kein Zahnweh mehr, konnte den Rest der Nacht durchschlafen und hatte sogar am Folgetag kein Zahnweh :-)
Es hat allerdings beim nächsten Mal Zahnweh __nicht__ geholfen. Und es ist ewig her, ich kann leider keine genauen Angaben mehr machen. Aber da ich beim 1.x so beeindruckt von der Wirkung war (und immer noch bin), schreibe ich es hier auf.<div>
# Fülle ein Wasserglas ca. zur Hälfte mit kochendem ''Wasser''.
# Löse darin ''Salz'' (ganz normales Kochsalz, Tafelsalz, Meersalz) auf. Und zwar soviel, bis es sich nicht mehr auflöst- dann ist es eine "gesättigte" Salzlösung. Bedeutet, es ist mehr Salz drin, als das Wasser aufnehmen kann.
# Lass die Lösung abkühlen, bis sie nur noch angenehm warm ist.
# Spüle damit den Mund, insbesondere die schmerzende Stelle- ca. 1-2 Minuten lang.
# Schluck es auf keinen Fall hinunter, sondern spuck es aus (sonst gesundheitsschädlich).
# So oft wiederholen, bis die Schmerzen weg sind.
"""
''Wirkweise''
__Warmes Wasser__ reizt den Zahn nicht noch zusätzlich und Salz löst sich besser in heißem statt kaltem Wasser auf.
__Salz__ kann Flüssigkeiten aus der infizierten Stelle ziehen, Spannungen im Weichgewebe lösen und Schmerzen reduzieren.
"""70g abgekochtes, destilliertes Wasser
30g Rosenwasser
2 ML Urea
Xanthan nach Gefühl (vielleicht 2 Msp.)
Wasser und Rosenwasser mischen, Urea darin auflösen, dann die Flüssigkeit mit Xanthan bis zur gewünschten Konsistenz andicken. Habe einen recht leistungsstarken Milchaufschäumer benutzt.
Dann habe ich folgende Wirkstoffe nacheinander eingerührt:
1/2 ML d-Panthenol
1/2 ML Squalan
1/2 ML Seidenprotein
1 ML Da Zao
1/2 ML Aloe Vera 10:1
1/2 ML Nachtkerzenöl
1 ML Sanddorn-Fruchtfleischöl
1 ML Calendula-Extrakt
Paraben oder Weingeist zur Konservierung
Die Wirkstoffe sind natürlich beliebig austauschbar.
Durch das Sanddorn-Fruchtfleischöl bekommt das Gel eine wunderbar orangene Farbe, die richtig Spaß macht. Vor dem Gebrauch schüttel ich es kurz durch, damit die Öle nochmal gut verteilt werden. Es zieht sehr gut ein und gibt der Haut einen richtigen Frischekick.
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Hippophae Rhamnoides (Seabuckthorn Fruit) Oil
''Jodzahl:'' 60–70 (nicht trocken)
''Schmelzbereich:'' 10–15°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' 1,5–2,3%
''Verseifungszahl:'' 190–210
__Reife Haut, entzündliche Haut, Akne, sonnengeschädigte Haut (in der After-Sun-Pflege).__
Es wirkt __schmerzstillend, entzündungshemmend, wundheilungsfördernd, regenerierend und glättend__. Ferner soll es helfen, Hauterkrankungen wie __Neurodermitis, allergische Hauterkrankungen oder Akne__ zu lindern. Auch __alternde Haut__ profitiert von den wertvollen Inhaltsstoffen.
Das durch den hohen Gehalt an Carotinoiden orange-rote Sanddorn-Fruchtfleischöl wirkt zellregenerierend, __entzündungshemmend__ und antioxidativ. Es eignet sich hervorragend als Zusatz in Rezepturen für __reife Haut__, weil es hauteigene Stoffwechselprozesse und die Neubildung von Zellen anregt. Auch __geschädigte Haut__ (z.B. durch einen __Sonnenbrand__) profitiert von den __entzündungshemmenden__ Wirkungen dieses Öls. Es wird tropfenweise verwendet, da es stark färbt, zudem senkt es durch seinen natürlichen Gehalt an Fruchtsäuren den pH-Wert einer Emulsion. Diese sind auch die Ursache einer erhöhen Säurezahl in der Analyse; dieser in der Regel zwischen 5 und 10 liegende Wert spiegelt in diesem Fall keinen Fettverderb wieder. Die Fruchtsäuren sollten nicht unterschätzt werden; manche AnwenderInnen beobachten bei zu hoher Dosierung die Neigung zu unruhiger Haut und Pickelchen – bitte in normaler Pflegekosmetik wirklich nur tropfenweise verwenden, dann spielt es seine wunderbaren Fähigkeiten aus.
Sein Fettsäuremuster ist insofern außergewöhnlich, als dass es ca. 30 % der seltenen (sonst primär in tierischen Fetten enthaltenen) ungesättigten Palmitoleinsäure (C16:1) enthält sowie ebenfalls ca. 30 % der gesättigten Palmitinsäure (C16:0). Beide hautphysiologisch sehr wertvollen Fettsäuren verbessern die Spreiteigenschaften dieses viskosen Öls und lassen es gut in die Haut penetrieren.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sanddornfruchtfleischöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sanddornfruchtfleischöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Hippophae Rhamnoides (Seabuckthorn) Seed Oil
''Jodzahl:'' ca. 160 (halbtrocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 1–1,6%
''Verseifungszahl:'' 185–200
__Trockene, schuppige, entzündliche Haut. Neurodermitis, unreine Haut.__
Das Sanddornkernöl enthält gegenüber dem Fruchtfleischöl einen deutlich höheren Anteil an ungesättigten Fettsäuren und bietet in Kombination mit den enthaltenen Phytosterolen und Tocopherolen eine epithelisierende und heilende Wirkung auf die Haut. Es bewährt sich bei __schuppiger, trockener Haut, Allergien und unreiner Haut__. Dieser hohe Gehalt an ungesättigten Fettsäuren bewirkt jedoch auch seine im Vergleich zum Fruchtfleischöl deutlich höhere Oxydationsanfälligkeit.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sanddornkernöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sanddornkernöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""viele Reinigungsprodukte hinterlassen entweder einen fettigen Film, oder die Haut spannt danach. Die letzten Monate habe ich mich an eine Rezeptur heran getastet, die sehr sanft reinigt und auch in der Konsistenz angenehm ist.
Fettphase
4 gr Olivenöl kbA
4 gr Jojobaöl
4 gr Sheabutter
Emulgatoren
3 gr. Tegomuls
1,0 gr Fluidlecithin
1 Messersp. Guarkernmehl
1 Messersp. Xanthan
Wasserphase
71 gr Wasser
Zusätze und Beduftung
2 gr Sanfteen
1 kl. ML Honig kbA
5,0 gr Sorbit
4 Tr. äther. Öl Lavendel
4 Tr. äther. Öl Rosengeranie
2 Tr. äther. Öl Muskatellersalbei
Konservierung
4,0 gr Kräuterextrakt (96%)
Herstellung:
(1) Öle und Tegomuls sanft auf ca. 70° erwärmen.
Etwas Wasser abnehmen, Sorbit, Honig und Sanfteen darin auflösen.
(2) Aufgekochtes, restliches Wasser zur Fettphase geben.
(3) Wenn die Emulsion handwarm ist, die Sorbit-Honig-Lösung vorsichtig mit Guarkernmehl und Xanthan andicken (oder letztere später dazugeben; beides klappt), alles zur Fettphase geben, Fluidlecithin ergänzen, gut verrühren.
(4) Zuletzt mit Kräuterextrakt konservieren und mit ätherischen Ölen nach Wunsch beduften.
C. Anwendung:
Etwas Reinigungsmilch auf die trockene Haut auftragen, kurz einmassieren, Augen-Make Up eventuell mit einem Tüchlein entfernen, dann mit wenig Wasser emulgieren und mit viel Wasser abspülen.
D. Bemerkungen:
Bei einem Lipidanteil von nur 16% bewirken die eher fetten Öle wie Olive und Jojoba (letzteres im Hinblick auf den eher wächsernen Charakter) eine sehr geschmeidige Emulsion, die dennoch nicht schwer ist. Ich kombiniere zudem gerne Emulgatoren; hier sorgt das Fluidlecithin für eine leichte Rückfettung; Guarkernmehl und Xanthan stabilisieren die Emulsion. Ich habe mit einer 2%-igen Tensidzugabe keinen austrocknenden Effekt festgestellt. Sicher kann man sich hier an eine optimale Konzentration herantasten. Sorbit und Honig mildern meinem Empfinden nach das Tensid, und ich habe einen guten Kompromiss zwischen einer fettlösenden und feuchtigkeitsbewahrenden Emulsion gefunden.
Emulsion:
Fettphase (16%)
Wasserphase (84%)
"""Ich habe bereits mehrere Rezepte ausprobiert, war aber auf Dauer mit allen nicht so glücklich … vor allem blieb immer ein (Öl-)Film auf der Haut zurück, den ich nur mit viel Aufwand wieder los wurde, und zuviel Gerubbel mag meine normale bis trockene Haut nicht. Dieses Rezept verwendet eine geringe Tensidmenge, die jedoch (bei mir) nicht zu einem austrocknenden Effekt führt. Die Haut fühlt sich nach der Reinigung gut an:
Fettphase
20 gr Traubenkernöl (raffiniert)
5,0 gr Emulsan
Wasserphase
75 gr Wasser
1,5 gr Sanfteen
1 kl. ML Guarkernmehl
1 kl. ML Xanthan
Konservierung und Duft
12 Tr. DuoKons
5 Tr. Rosengeranie
Herstellung
Öl und Emulsan auf ca. 70° erwärmen, Wasser aufkochen, etwas abkühlen lassen, mit dem Sanfteen mischen.
Wenn die Emulsion handwarm ist, vorsichtig mit Xanthan und Guarkernmehl andicken – an die Menge heran tasten, die genannte ist nur ein Anhaltspunkt. Zum Schluss konservieren und beduften.
Statt Duokons kann auch mit 3,75 gr 96%igem Alkohol (entspricht 5 % der Wasserphase) konserviert werden.
Anwendung:
Auf die angefeuchtete Haut auftragen, sanft einmassieren, Augen-Make Up eventuell mit einem Pad abnehmen. Mit klarem Wasser abspülen.
Die Öle der Fettphase sind sicher austauschbar. Ich verwende raffiniertes Traubenkernöl, weil das mein günstigstes Öl ist und zudem geruchsneutral. Für ein Produkt, dass wieder abgewaschen wird, wären mir meine kaltgepressten Öle zu schade. Die Tensidmenge kann eventuell weiter verringert werden, für mich ist der Anteil in Ordnung. Ein kl. ML Fluidlecithin Super als Rückfetter wäre vielleicht auch möglich, ich habe es in diesem Rezept noch nicht ausprobiert.
Die Mengenangabe in ML bezieht sich auf den doppelten Edelstahllöffel von Behawe, der etwas weniger fasst als der originale HT-Löffel.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
<div style=> </div>
<img width=210 src="http://up.picr.de/32128000ms.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
''Eigenschaft dieser Scheuermilch:'' Schrubbt schön gründlich hartnäckige Verkrustungen weg ohne zu zerkratzen.
''Meine Erfahrung damit:'' Ich hab vor langer Zeit eine große Menge davon hergestellt, allerdings ohne Xanthan. Es hat wunderbar gegen hartnäckige Verkrustungen geholfen. Allerdings war die Konsistenz miserabel: Das Natron & das Salz hat sich immer unten abgesetzt- innerhalb von Sekunden... Sprich: Sehr kräftig schütteln, dann verwenden. Wollte ichs gleich danach nochmal verwenden, musste ich wieder sehr kräftig schütteln, da Natron & Salz sich, wie gesagt, innerhalb von Sekunden abgesetzt haben.
Mit dem Xanthan ist das Problem perfekt gelöst- es setzt sich nicht mehr ab (ich weiß aber noch nicht, wie es sich nach einigen Wochen Nicht-Gebrauch verhält) und hat eine super dickflüssige Konsistenz.
Da ich mir damals aber nicht die exakten Mengen & Wirkweisen aufgeschrieben hab, weiß ich das jetzt nicht mehr. Das muss ich noch herausfinden.
Das Rezept ist also eigentlich noch kein Rezept, sondern eher eine Idee, in welche Richtung es gehen könnte!
''Anwendung:'' Wie jede andere Scheuermilch auch."""<br/><br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> g (Mindestmenge 110g)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 440 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken. Bei der nächsten Herstellung achte ich drauf, wieviel ml am Ende herauskommen.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(!!) = muss auf jeden Fall rein, Menge leicht variabel<br/>
(!) = sollte rein, Menge variabel<br/>
(?) = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom Doppel-Messlöffel (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom Doppel-Messlöffel (1ml)@@<br/>
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /440* 300,2)</$calc>g Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /440* 100,2)</$calc>g [[Zitronensäure]] (!!)
* <$calc>round({{!!gesamtmenge}} /440* 50,2)</$calc>g [[Natron]] (!!)
* <$calc>round({{!!gesamtmenge}} /440* 50,2)</$calc>g Salz (!)
* <$calc>round({{!!gesamtmenge}} /440* 40,2)</$calc>ml Allesreiniger / Flüssigseife (!)
* <$calc>round({{!!gesamtmenge}} /440* 3,2)</$calc>g (=<$calc>round({{!!gesamtmenge}} /440* 6,2)</$calc> gestr. Messl.) [[Xanthan]] (!!)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# ''Wasser'' abkochen & etwas abkühlen lassen.
# In das Wasser ''Zitronensäure'' einrühren & so lange weiterrühren, bis sich alle Kristalle im Wasser aufgelöst haben.
# ''Xanthan'' 0,5g-weise mit dem Milchschäumer in ca. 40ml Zitronensäure-Wasser unterrühren. Nach und nach mit immer mehr Zitronensäure-Wasser auffüllen. Also abwechselnd Xanthanmenge erhöhen + Zitronensäure-Wassermenge erhöhen. So bekommst Du das beste Ergebnis (keine Klumpen).
# ''Natron'', ''Salz'' & ''Allesreiniger / Flüssigseife'' unterrühren.
<br/>
''Zubehörliste:''
* [[Milchschäumer]]
<br/>
''Zutatenliste mit Wirkweise in diesem Rezept:''<br/>"""
[[Zitronensäure]] (0,xx€)
Zitronensäure wirkt entkalkend, <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>.
[[Xanthan]] (0,xx€)
Xanthan macht die Scheuermilch dickflüssig und sorgt dafür, dass sich das Natron & Salz nicht unten absetzt.
[[Natron]] (0,xx€)
Natron hat eine <div class="tooltip">abrasive
<span class="tooltiptext">reibende oder schleifende Wirkung, die wiederum einen glättenden, reinigenden oder abnutzenden Effekt zur Folge hat</span></div> Wirkung, ohne empfindliche Flächen zu zerkratzen. Außerdem wirkt es <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> und <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>.
Salz (0,xx€)
Salz hat eine <div class="tooltip">abrasive
<span class="tooltiptext">reibende oder schleifende Wirkung, die wiederum einen glättenden, reinigenden oder abnutzenden Effekt zur Folge hat</span></div> Wirkung, ohne empfindliche Flächen zu zerkratzen.
Allesreiniger / Flüssigseife (0,xx€)
Beseitigt Fett und sonstigen Schmutz. Und schäumt.
Wasser: Trägermaterial... (Kosten: Weiß ich nicht...)
''Selbstkonservierend durch'' Salz (<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>), Zitronensäure (<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>), Natron (<div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> & <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>.
''Gesamtkosten der Zutaten:'' xx€ (ohne Wasser, da ich dafür die Kosten nicht abschätzen kann) für 440g Gesamtmenge.
Stand März 2018
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
* 4 EL geriebene Flocken aus [[Olivenöl-Kernseife]] (''nicht'' überfettete!)
* 1 EL [[Waschsoda]] = Natriumkarbonat
* 1 EL [[Zitronensäure]]
* 800ml Wasser
* (1-6 EL?) [[Schlämmkreide]] = Kalziumkarbonat
# Wasser aufkochen und darin das Waschsoda auflösen. Weitere 5 Minuten lang kochen.
# Unter kräftigem Rühren die Zitronensäure zugeben.
# Seifenflocken zugeben und während des Rührens vollständig auflösen lassen.<br/><br/>
"""
''ODER''
Einfach nur 1 EL Schlämmkreide & 1 EL Schmierseife mischen.
''ODER''
1 EL Salz mit je 2 EL Waschsoda und Wasser zu einem Brei vermengen.
''ODER''
2 Esslöffel Natron mit 2 Esslöffel Wasser vermischen
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
Siehe [[Sheabutter]]
<div style="background:Lavender;">
<div style=> </div>
''Art / Konsistenz der Zutat:'' Pulver, Wirkstoff, ''Löslichkeit:'' Wasser<div class="tooltip">dispergierbar
<span class="tooltiptext">=fein verteilbar (nicht lösbar)</span>
</div> (nicht löslich)
''INCI-Bezeichnung:'' Calciumcarbonat
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Schlämmkreide]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Schlämmkreide]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Schluckbeschwerden:''<br/><br/>
<$list filter="[tag[Schluckbeschwerden]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Schluckbeschwerden:''<br/><br/>
<$list filter="[tag[Schluckbeschwerden]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""
Hier kannst Du die Festigkeit / Härte / ungefähre Schmelztemperatur Deines Produkts oder Rezepts ausrechnen.
Das Ergebnis ist aber nur ein __sehr ungefährer__ Richtwert, da die Festigkeit nicht nur vom Schmelzbereich der einzelnen Zutaten abhängt, sondern auch u.a. davon, welche Zutaten wie ihre kristallinen Strukturen ausbilden- und ob sie das bei der Zubereitung auch tatsächlich konnten.
Das unten erklärte Beispielrezept habe ich auch in die Berechnung eingefügt- als Anschauungsbeispiel. Überschreibe die Werte einfach mit Deinen Werten.
Klicke auf eine __weiße Zelle__, um Werte zu ändern.
Die Werte: Kommawerte mit einem Punkt!! Also z.B. 2''.''5 und //nicht// 2'',''5.
Bei den Zahlen bitte keine Buchstaben oder sonstige Symbole hinzufügen!
Die errechneten Werte sind auf 2 Kommastellen gerundet."""
------------------------------------------------------------------------
<div style="float:left;width:49.7%;margin-left:0em;"><br/>
"""''Beispiel:''
Rezept-Zutaten mit einer Gesamtmenge von 44g
2.5g Bienenwachs 63°C = 157.5°C
16g Kakaobutter 34°C = 544°C
4g Sheabutter 28°C = 112°
15g Kokosöl 22.5 = 337.5°C
3.5g Mandelöl –15 = –52.5
__Ergebnis (grün): 24,97°C__"""
</div>
<div style="float:right;width:49.7%;margin-right:0em;"><br/>
"""__Die Formel lautet:__
2.5g Bienenwachs * 63°C = 157.5°C
+16g Kakaobutter * 34°C = 544°C
+4g Sheabutter * 28°C = 112°
+15g Kokosöl * 22.5 = 337.5°C
+3.5g Mandelöl * –15 = –52.5
= 1098.5 geteilt durch 44g Gesamtmenge
= __Ergebnis (grün): 24,97°C__"""
</div>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
------------------------------------------------------------------------
<div style="background-color:#ffffb3"><br/>
''Gesamtmenge des Rezepts: <$calc>round({{Schmelztemperatur-Rechner Data Zutat1!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat2!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat3!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat4!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat5!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat6!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat7!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat8!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat9!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat10!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat11!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat12!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat13!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat14!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat15!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat16!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat17!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat18!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat19!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat20!!deinegramm}},2)</$calc>g''<br/>(automatisch durch die Zutatenmengen addiert)<br/><br/>
__@@background-color:lightgreen;''Schmelztemperatur Deines Rezepts: <$calc>round(({{Schmelztemperatur-Rechner Data Zutat1!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat1!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat2!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat2!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat3!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat3!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat4!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat4!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat5!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat5!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat6!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat6!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat7!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat7!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat8!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat8!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat9!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat9!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat10!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat10!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat11!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat11!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat12!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat12!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat13!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat13!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat14!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat14!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat15!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat15!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat16!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat16!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat17!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat17!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat18!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat18!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat19!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat19!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat20!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat20!!schmelztemperatur}}) / ({{Schmelztemperatur-Rechner Data Zutat1!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat2!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat3!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat4!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat5!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat6!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat7!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat8!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat9!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat10!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat11!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat12!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat13!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat14!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat15!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat16!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat17!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat18!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat19!!deinegramm}} + {{Schmelztemperatur-Rechner Data Zutat20!!deinegramm}}),2)</$calc>°C
''@@__<br/><br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat1' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat1' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat1' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat1!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat1!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat2' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat2' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat2' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat2!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat2!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat3' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat3' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat3' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat3!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat3!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat4' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat4' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat4' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat4!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat4!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat5' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat5' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat5' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat5!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat5!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat6' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat6' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat6' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat6!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat6!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat7' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat7' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat7' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat7!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat7!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat8' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat8' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat8' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat8!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat8!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat9' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat9' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat9' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat9!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat9!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat10' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat10' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat10' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat10!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat10!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat11' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat11' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat11' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat11!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat11!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat12' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat12' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat12' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat12!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat12!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat13' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat13' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat13' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat13!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat13!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat14' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat14' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat14' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat14!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat14!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat15' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat15' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat15' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat15!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat15!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat16' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat16' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat16' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat16!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat16!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat17' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat17' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat17' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat17!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat17!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat18' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat18' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat18' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat18!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat18!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat19' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat19' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat19' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat19!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat19!!schmelztemperatur}},2)</$calc>°C''<br/>
<$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat20' field='deinegramm' size=5/>g <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat20' field='zutattext' size=20 placeholder="Zutat"/> mit durchschnittl. Schmelzpunkt von <$edit-text tiddler='Schmelztemperatur-Rechner Data Zutat20' field='schmelztemperatur' size=4/>°C >>Gesamt-Schmelztemperatur im Rezept: ''<$calc>round({{Schmelztemperatur-Rechner Data Zutat20!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat20!!schmelztemperatur}},2)</$calc>°C''<br/><br/>
<div style="text-align:right;margin-right:2em;">
''Addierte Gesamt-Schmelztemperaturen: <$calc>round({{Schmelztemperatur-Rechner Data Zutat1!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat1!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat2!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat2!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat3!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat3!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat4!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat4!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat5!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat5!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat6!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat6!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat7!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat7!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat8!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat8!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat9!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat9!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat10!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat10!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat11!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat11!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat12!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat12!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat13!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat13!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat14!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat14!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat15!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat15!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat16!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat16!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat17!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat17!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat18!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat18!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat19!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat19!!schmelztemperatur}} + {{Schmelztemperatur-Rechner Data Zutat20!!deinegramm}} * {{Schmelztemperatur-Rechner Data Zutat20!!schmelztemperatur}},2)</$calc>°C''</div><br/><br/>
<$edit-text tiddler="$:/temp/Schmelztemperatur-Rechner Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Rezepte hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
</div>
"""''Durchschnittliche Schmelzpunkte von Zutaten (die Zutaten, von denen ich ihn weiß):''
Amaranthöl: -27°
Aprikosenkernöl: -12.5°
Babassuöl: 23.5°
Beerenwachs: 51°
Bienenwachs: 63°
Borretschsamenöl: 20°
Candelillawachs: 72°
Carnaubawachs: 84.5°
Cupuaçubutter: 30°
Distelöl: -16.5°
Hanföl: -21°
Haselnussöl: -15°
Jojobaöl: 6.5°
Kakaobutter: 34°
Kameliensamenöl: -5°
Kokosöl: 22.5°
Macadamianussöl: -12°
Mandelöl: -15°
Mangobutter: 37.5°
Mohnöl: -18.5°
Nachtkerzenöl: -10°
Olivenöl: 3°
Sanddornfruchtfleischöl: 12.5°
Sesamöl: -4.5°
Sheabutter: 28°
Sheanussöl: 18°
Simulgreen: 75°
Sojaöl: -13°
Sonnenblumenöl: -19°
Squalan: -39°
Traubenkernöl: 10°
Walnussöl: -17.5°
Weizenkeimöl: -2.5°
Wildrosenöl: -7.5°
Rührküchen-Thread bzgl. Schnelltests zur Keimbelastung von Produkten / Rohstoffen / Flächen:
https://www.ruehrkueche.de/viewtopic.php?f=57&t=21351
Schnelltest-Angebot 1: https://www.reinigungsberater.de/bode_hartmann_dip_slides_combi_2_x_10_stueck_abklatschtest,p-65900130,l-preissuchmaschine,pd-b2c.html?vpid=e8ac52d88b84b939877a0acb21dc0890
Schnelltest-Angebote 2: https://www.hygienepartner24.de/Keimindikatoren-39/
Inkubator (Mini-Gerät zur Temperatur-Aufrechterhaltung- Wärme ''&'' Kälte!): https://www.zooroyal.de/lucky-reptile-herp-nursery-ii-inkubator
''Alle getesteten Rezepte bei Schnupfen:''<br/><br/>
<$list filter="[tag[Schnupfen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Schnupfen:''<br/><br/>
<$list filter="[tag[Schnupfen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Schuhpflege- für Glattleder, Nubukleder & Kunstleder suchen
''Alle getesteten Rezepte bei Schuppenflechte:''<br/><br/>
<$list filter="[tag[Schuppenflechte]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Schuppenflechte:''<br/><br/>
<$list filter="[tag[Schuppenflechte]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""7,5 ml fertiges Hyalurongel
2,5 ml Weizenkeimöl
2 ml Arganöl
2 ml Aprikosenkernöl
1 ml Nachtkerzenöl
Wirkstoffe:
12 Tropfen ACE Fluid (hat leichte emulgierende Eigenschaften)
0,75 ml Rosenextrakt
2 Tr. äth. Öl
Die Schüttellotion zieht trotz ihres hohen Fettanteils bei mir super gut ein und ist mir auch bei höheren Temperaturen nicht zuviel.
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Eine Schwangere, die ihren Bauch regelmäßig mit [[Sheabutter]] eincremt, wird deutlich weniger Probleme mit Schwangerschaftsstreifen haben, da die Haut weich und elastisch bleibt und so die Bildung der Risse verhindert oder zumindest stark reduziert. Zur Prävention von Schwangerschaftsstreifen ist die Butter der Sheanuss ideal.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Nigella Sativa (Black Cumin) Seed Oil
''Jodzahl:'' 115–130 (halbtrocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' Ca. 0,5%
''Verseifungszahl:'' 182–197
__Entzündliche Haut, allergische Dermatosen, Psoriasis.__
Die dominierenden mehrfach ungesättigten Fettsäuren wie Linolsäure und, wenn auch nur gering vorhanden, γ-Linolensäure, erfüllen wichtige Funktionen: Beide sind an der Synthese von Prostaglandinen beteiligt, die das Immunsystem regulieren. Kosmetisch fördern mehrfach ungesättigte Fettsäuren die Flexibilität der Zellmembrane, unterstützen Stoffwechselprozesse, regulieren Verhornungen und erhalten langfristig die Feuchtigkeitsbalance durch Unterstützung der Hautbarriere: vor allem die Linolsäure leistet als Bestandteil der hauteigenen Ceramide I einen wesentlichen Beitrag zur Regeneration der Lipidbarriere.
Das Schwarzkümmelöl verdankt seinen Ruf jedoch vor allem dem enthaltenen ätherischen Öl, das antiallergische, __entzündungshemmende__ und __leicht antibakterielle__ Eigenschaften aufweist. p-Cymen hat nachweisbare __schmerzlindernde__ Eigenschaften, die auch bei __Muskelverspannungen__ wirksam sind. __Schleimlösend__ und __entkrampfend__ wirkt trans-Anethol, das als östrogenähnlich gilt. Die __entzündungshemmende__ Wirkung wird neueren Studien zufolge vor allem dem Thymochinon zugeschrieben, das Radikalfänger-Eigenschaften besitzt; nun wird geprüft, in wieweit es auch für schmerzlindernde Wirkungen verantwortlich ist. Für __allergisch reagierende, entzündliche Haut__ ist Schwarzkümmelöl ein hervorragendes Wirkstofföl. In seiner Konzentration (ca. 0,5–1%) an ätherischem Öl ist es bereits per se gezielt pur als Wirkstofföl für bestimmte Indikationen einsetzbar, wird jedoch in der Regel in Pflegepräparaten verdünnt verwendet. Da ihm nennenswerte Mengen an γ-Linolensäure fehlen (auch wenn mitunter gerne damit geworben wird), ist es sehr wirksam in Kombinationen mit Nachtkerzenöl, Hanföl und Johannisbeersamenöl, kombiniert mit Sheabutter. __Irritierte, juckende Haut__ profitiert von Mischungen mit Granatapfelsamenöl. Auch Arganöl ist ein ausgezeichneter Partner für Nigella sativa.
__Besonderer Tipp: Schwarzkümmelöl hat eine sehr gute, emulgierende Wirkung. Daher kann mit Aloe Vera Saft eine "Blitzemulsion" hergestellt werden. Diese ist für jede Haut geeignet, enthält das Schwarzkümmelöl in sehr hoher Einsatzkonzentration, zieht schnell ein und braucht nicht konserviert zu werden.
Dazu gibt man die gleiche Menge Tropfen Aloe Vera Saft sowie Schwarzkümmelöl in die Handflächen und reibt sie schnell aneinander. Das Ergebnis ist eine Emulsion, die sich wunderbar auftragen lässt und recht schnell einzieht. - Ohne Emulgator, ohne Konservierer, bei jeder Anwendung taufrisch!__
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Schwarzkümmelöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Schwarzkümmelöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Schwellungen:''<br/><br/>
<$list filter="[tag[Schwellung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Schwellungen:''<br/><br/>
<$list filter="[tag[Schwellung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte gegen Schwitzen:''<br/><br/>
<$list filter="[tag[Schwitzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Schwitzen:''<br/><br/>
<$list filter="[tag[Schwitzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=270 src="https://share-your-photo.com/img/5a2ca62fe6.jpg"/>||
|<h6>Alex Lomas, [[Cocos nucifera (2944481522)|https://commons.wikimedia.org/wiki/File:Cocos_nucifera_(2944481522).jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]</h6>||
@@
<$reveal type="nomatch" state="$:/state/SampleRevealTenside" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTenside" setTo="show">@@color:green;''Zeige Infos über Tenside & Tensidklassen''@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTenside" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTenside" setTo="hide">@@color:red;Verstecke "Infos über Tenside & Tensidklassen"@@</$button>
{{Tenside}}
</$reveal>
"""
''Art / Konsistenz der Zutat:'' Weißes Pulver oder weiße kleine "Nadeln", Tensid, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' SCI wird aus der Fettsäure des Kokosöls gewonnen und ist vollständig biologisch abbaubar.
''INCI-Bezeichnung:'' Sodium Cocoyl Isethionate / Natriumcocoylisethionat
''Besonderheit / kosmetische Wirkung:'' Das anionische und sulphatfreie Tensid SCI ist eines der mildesten Tenside überhaupt und ist sehr gut hautvertäglich. So kann es auch in besonders milden Pflegepräparaten für empfindliche, sensible und auch Kinderhaut eingesetzt werden.
Es hat eine ausgezeichnete Reinigungswirkung und hervorragende Schaumbildung & -stabilität (auch in sehr hartem Wasser!).
Als Haupt-Tensid gibt das SCI einen cremigen, dichten Schaum und sorgt für ein weiches, glattes, seidiges Hautgefühl.
Es soll sogar eine rückfettende und feuchtigkeitsspendende Wirkung haben- was ich jedoch nicht verstehe- es ist schließlich ein Tensid (also fett-abtragend, auch wenn es das auf äußerst milde Art tut)...
Verwendung für Shampoos, Shampoo- / Dusch- / Handwaschbars, Duschgels, Schaumbädern, Badebomben, Flüssigseifen, Gesichtsreinigern, Zahnpasten, jede Art von Haushaltsreinigern, …
SCI in der Haarreinigung: Es macht das Haar leicht kämmbar, geschmeidig, weich und glänzend (konditioniert und pflegt selbst feines und fliegendes Haar).
''Duftprofil:'' Geruchlos
''Einsatzkonzentration:'' Als Haupttensid: 10-60%, als Co-Tensid: 1-20%
<div class="tooltip">''WAS / Aktivsubstanz'':
<span class="tooltiptext">Gehalt an WaschAktiver Substanz</span>
</div> Mind. 80%
''Tensidklasse:'' anionisch (siehe den obigen Button "Zeige Infos über Tenside & Tensidklassen")
''pH-Wert:'' 4,5-6 in einer 10%igen wässrigen Lösung
''Lagerung:'' Trocken. Sonst nichts zu beachten.
''Erhältlich bei:'' Ich kaufs bei Alexmo (ist bei [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufgeführt). Ansonsten evtl. auch bei ein paar anderen der dort aufgeführten Anbieter erhältlich; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' Am besten lässt sich pulverförmiges SCI verarbeiten, also beim Kauf drauf achten, dass es in Pulverform verkauft wird.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Tipp für die Verarbeitung:'' SCI staubt (wer empfindlich ist, sollte Atemschutz verwenden!) und sollte daher umsichtig mit "ruhiger Hand" verarbeitet werden!
Bei der Pulverform wird empfohlen, etwas Wasser von der <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> zu entnehmen, dieses zu erhitzen, dann das SCI einzurühren und zum Schluss in die Formulierung einzuarbeiten.
Das SCI kann auch direkt in andere Tenside (wenn vorhanden) eingerührt werden!
Wie bei allen Tensiden: Sobald das Tensid in dem zu rührenden Produkt enthalten ist, sollte nicht mehr heftig gerührt werden, da sich sonst viel Schaum bildet!
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[SCI (Tensid)]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[SCI (Tensid)]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<$set name="searchTiddler" value="$:/temp/search">
<div class="tc-search">
<$edit-text tiddler="$:/temp/search" type="search" tag="input" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify "$:/state/popup/search-dropdown">> class="tc-popup-handle"/>
<$reveal state="$:/temp/search" type="nomatch" text="">
<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" text={{$:/temp/search}}/>
<$action-setfield $tiddler="$:/temp/search" text=""/>
<$action-navigate $to="$:/AdvancedSearch"/>
{{$:/core/images/advanced-search-button}}
</$button>
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/search" text="" />
{{$:/core/images/close-button}}
</$button>
<$button popup=<<qualify "$:/state/popup/search-dropdown">> class="tc-btn-invisible">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
<$reveal state="$:/temp/search" type="match" text="">
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="tc-btn-invisible">
{{$:/core/images/advanced-search-button}}
</$button>
</$reveal>
</div>
<$reveal tag="div" class="tc-block-dropdown-wrapper" state="$:/temp/search" type="nomatch" text="">
<$reveal tag="div" class="tc-block-dropdown tc-search-drop-down tc-popup-handle" state=<<qualify "$:/state/popup/search-dropdown">> type="nomatch" text="" default="">
<$list filter="[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]"
<variable="listItem"><$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">
{{$:/language/Search/Matches}}
</$set>
</$list>
<$list filter="[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
{{$:/core/ui/SearchResults}}
</$list>
</$reveal>
</$reveal>
</$set>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=290 src="https://share-your-photo.com/img/a00e431fad.jpg"/>||
|<h6>Neri Oxman [[Silk Pavilion silkworm2|https://commons.wikimedia.org/wiki/File:Silk_Pavilion_silkworm2.jpg]],<br/>Ausschnitt & weiteres Foto eingefügt von Surya, [[CC BY-SA 4.0|https://creativecommons.org/licenses/by-sa/4.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Flüssigkeit, Wirkstoff, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Aus dem Proteinfaden des Seidenwurms hergestellte gelbliche, leicht zähe Flüssigkeit.
''INCI-Bezeichnung:'' Water, Hydrolyzed Silk, Potassium Sorbate
''Weitere Handelsnamen:'' Silkprotein
''Besonderheit / kosmetische Wirkung:'' Silkprotein hinterlässt ein samtiges, seidiges Gefühl auf der Haut. Es wirkt feuchtigkeitsspendend, filmbildend und schützend für Haut und Haare und sorgt für glänzendes Haar.
Es kann auch als Anit-Falten-Mittel eingesetzt werden.
In Haarsprays verbessert Silkprotein die Haltbarkeit der Frisur.
Seidenprotein lagert sich als dünne Schicht am Keratin der Haare an und schützt es so vor dem Austrocknen. Im Licht reflektiert es und verleiht einen gesunden, schönen, seidigen Glanz. Das Haar bleibt griffig, flexibel und verklebt nicht.
In Gesichts- und Körperpflege-<div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> reguliert Seidenprotein das natürliche Feuchtigkeitsgleichgewicht der Haut, da es leicht filmbildend wirkt ohne aufzuliegen. Nach dem Auftragen trocknet das enthaltene Fibroin und zieht sich zusammen, was einen Fältchen mildernden Effekt hervorruft. Die Haut fühlt sich glatt und geschmeidig zart an.
''Einsatzkonzentration:'' 1-5%
''Lagerung:'' Es muss nicht gekühlt werden (aber nicht über 25°C lagern)- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' Ins fertige, auf Handwärme abgekühlte Endprodukt geben.
Da es erst nicht raustropfen mag und dann plötzlich sehr schnell tropft, habe ich nun eine Schraubpipette als Deckel.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Seidenprotein]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Seidenprotein]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Die Körpercreme wird besonders weich und seidig. Sie weisselt beim Auftragen etwas, aber zieht mühelos ein.
10 gr Mangobutter
10 gr Cupuacu
8 gr Arganöl
8 gr Sesamöl, ungeröstet, gereift
8 gr Pfirsichkernöl
2 gr Squalan
3 gr Emulsan
2 gr Tego
50 gr Wasser
5 gr Urea
1 gr Seidenprotein
1 gr Gylcerin
Konservierung nach Wunsch
Die Buttern zusammen mit den Emulgatoren aufschmelzen, Wasser oder Hydrolat erwärmen, Urea darin auflösen. Glycerin ins Wasser geben. Beides zusammen emulgieren, weiter abkühlen lassen bis auf Handwärme, restliche Öle hinzugeben und das Seidenprotein.
Ich habe diesmal holzig warm beduftet mit:
1 Tr Zeder
1 Tr Amyris
2 Tr Manuka
2 Tr Benzoe Siam
2 Tr Ingwer
2 Tr Myrrhe
5 Tr Orange süss
5 Tr Mandarine rot
Etwas vanilliges mehr könnte dazu nicht schaden, hatte ich aber nicht da. Auf keinen Fall mehr Zeder nehmen, die schlägt sonst geruchsmässig durch nach einer Stunde auf der Haut.
<div style="background:#FFE28C;">
!!@@background-color:orange;color:red;''Neue Einsatzgebiete in den entsprechenden Oberkategorien als Tag in den automatischen Listen eintragen!!''@@
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
* Duschgel
* Flüssige Handwaschseife- auch eine für Kinder!
* Badebomben für die unterschiedlichsten Bedürfnisse
@@background-color:orange;color:red;''Neue Zutaten in [[Zutaten (Palmölfrei)]] eintragen & in die beiden automatischen Listen dort als Tag eintragen!! Außerdem in den eventuellen Oberkategorien als Tag eintragen!!''@@
''Zutaten''
* [[Zutat]]
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
.tc-page-controls { margin-top: 1px; font-size: 1.3em; }
.tc-sidebar-scrollable {
padding: 41px 0px 28px 42px;
}
.tc-site-title {
font-weight: 300;
font-size: 2.0em;
line-height: 1.2em;
color: #E95CF0;
margin: 9px 0px -10px;
}
.tc-site-subtitle {
margin: 35px 0px -10px;
}
.tc-titlebar {
font-size: 25px;
margin: 0px 0px -17px 0px;
color: #911115;
}
button, input, optgroup, select, textarea {
margin: 0px 0px -10px 0px;
}
.tc-tags-wrapper {
margin: 3px 0px 4px;
}
/* Tiddler editieren: Texteditor breiter */
.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor { width: 59%;}
/* Tiddler editieren: Preview schmaler */
.tc-tiddler-preview-preview { float: right; width: 40%; border: 1px solid #cccccc; margin: 4px 0 3px 3px; padding: 3px 3px 3px 3px;}
.tc-sidebar-lists .tc-tab-buttons {
margin-bottom: -2px;
}
.tc-tab-buttons {
font-size: 0.85em;
padding-top: 0.2em;
margin-bottom: -2px;
}
.tc-sidebar-lists a.tc-tiddlylink {
line-height:13px;
}
.tc-tagged-MyMenus html button {
line-height: 1.1;
}
html button {
line-height: 0.7;
}
.tc-tiddler-frame {
padding: 1px 5px 0px 10px;
border:2px solid Fuchsia;
border-radius: 1em;
-moz-border-radius: 1em;
webkit-border-radius: 1em;
}
.tc-tiddler-title { font-size:10px; }
.tc-btn-invisible {
margin: 0px -5px 1px 0px;
}
.tc-topbar-left {
left: 2px;
top: 1px;
}
.tc-topbar-right {
top: 70px;
right: 110px;
}
.tc-topbar button {
padding: 3px;
}
.tc-tab-buttons button {
padding: 6px 5px;
}
.tc-tab-content.tc-vertical {
display: inline-block;
vertical-align: top;
padding-top: 0px;
padding-left: 5px;
border-left: 1px solid #CCC;
flex: 1 0 70%;
}
.tc-tab-content {
margin-top: 4px;
}
.lefttable { margin-left:auto; margin-right:0; float:left }
.rezepterechnerlesernotiz { width:65em; height:10em; }
"""Selbstbräunerlotion fürs Gesicht, ca. 20 ml
3 ml Squalan
3 ml Jojoba
etwas Fluidlecithin
12 ml Wasser
0,6 g DHA (im Wasser auflösen)
0,75 ml Alc. 96%
Die Lotion läßt sich sehr gut verteilen, die Bräune ist dezent. Man kann auf 5% DHA (1 g) steigern, falls die Bräunung zu schwach ist.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-2, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Sesamum Indicum (Sesame) Oil
''Jodzahl:'' 103–118 (halbtrocken)
''Schmelzbereich:'' -3 bis -6°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Anteile an Unverseifbarem:'' Bis 2%
''Verseifungszahl:'' 186–195
__Schlecht durchblutete, fahle Haut, trockene Haut, ausgezeichnetes Massageöl.__
Sesamöl hat (u.a. in der ayurvedischen Medizin) eine lange Tradition als __Massageöl__ und wird im Rahmen von Entgiftungskuren innerlich und äußerlich angewandt. Durch seinen Gehalt an Lecithin und anderen unverseifbaren Bestandteilen (dazu gehören u.a. auch die Lignan-Abkömmlinge Sesamin und Sesamolin) __dringt es gut in die Haut ein__ (hier übertrifft es sogar das in dieser Eigenschaft bekannte Avocadoöl), ist ein hervorragendes Trägeröl für Wirkstoffe und vermag durch seinen Gehalt an Phytosterolen und Linolsäure die Lipidschichten der Hornschicht zu regenerieren. Sesamöl wird in der Literatur oft als Öl mit leichtem Lichtschutzeffekt beschrieben; dieser liegt neueren Untersuchungen zufolge jedoch lediglich bei Faktor 1,2.
Hinsichtlich seiner Eignung für bestimmte Hauttypen habe ich widersprüchliche Aussagen gefunden. Einige Quellen betonen, es sei nicht für unreine oder neurodermitische Haut geeignet – andere empfehlen es explizit gegen entzündliche Prozesse. Ich war aus diesem Grund lange Zeit sehr vorsichtig bei der Anwendung des Öls in Gesichtspflege-Präparaten, empfinde es heute jedoch als sehr angenehm und __intensiv pflegend bei fahler, zu Trockenheit neigender Haut__.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sesamöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sesamöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Teeröl wirkt gegen Schuppen im Haar. Man sollte aber nur wenig nehmen, denn der Geruch ist nicht so angenehm. Aber in kleinen Mengen, zusammen mit ätherischen Ölen oder/und Parfümöl geht es.
und gegen schuppen hilft hervorragend piroc olamin das schuppenmittel der HT
"""Wie messe ich bei einem festen Shampoobar den PH-Wert?
In dem du die oberfläche etwas befeuchtest und diesen schaum dann misst. Genauer geht es nicht.
Heike Käser von Olionatura schreibt:
Wenn ich naturkosmetische Shampooos (gleich ob gekaufte oder selbst hergestellte) einen längeren Zeitraum über verwende, scheinen sie schneller nachzufetten. Ein Shampoo-Wechsel mit einer anderen Tensidkomposition gleicht diesen Effekt in der Regel aus. Daher habe ich mir angewöhnt, immer zwei Formulierungen zu rühren und sie abwechselnd einzusetzen.
<div style="background:Lavender;">
@@.lefttable
|<img width=380 src="https://share-your-photo.com/img/86e07d6fa4.jpg"/>||
|<h6>Luluworks, [[Shea nuts on tree in Sudan|https://commons.wikimedia.org/wiki/File:Shea_nuts_on_tree_in_Sudan.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
@@font-size:0.8em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@
''Art / Konsistenz der Zutat:'' <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>, Pflanzenbutter, ''Ölgruppe:'' PF-1,
''Löslichkeit:'' Fettlöslich
''Ursprung/Beschreibung:'' Rein pflanzliches Fett, das aus der Shea-Nuss gewonnen wird. Butterähnliche, weißlich/gelbliche Masse.
Die Shea-Nüsse sind botanisch gesehen Beeren. Sie reifen auf Karitébäumen, die vornehmlich in Afrika wachsen, und zwar nur auf dem sogenannten Shea-Gürtel, der sich vom Senegal bis zum Sudan erstreckt. Die Shea-Nüsse des Baumes, der auch Butterbaum, Shea-Baum, Sheanussbaum, Schibutterbaum oder Butyrospermum parkii genannt wird, wachsen wie Trauben an dessen Ästen. Mit Trockenheit kommt der 10-15m hohe Baum sehr gut zurecht. Was Sheabutter so besonders macht, ist die Tatsache, dass der Baum erst nach 20 Jahren Früchte trägt, seine volle Fruchtproduktion sogar erst nach etwa 50 Jahren erreicht wird. Diese bleibt dann allerdings für über 100 Jahre bestehen.
Nach der Ernte werden die Nüsse geschält und zerkleinert. Durch die Vermengung mit heißem Wasser entsteht die Sheabutter, die dann abgeschöpft und weiterverarbeitet werden kann. Im <div class="tooltip">unraffinierten
<span class="tooltiptext">Die Rohware wird kalt gepresst, eine geringe Wärmezufuhr bei der Pressung bis ca. 60°C ist möglich. Zur Steigerung der Haltbarkeit werden diese Öle teilweise gedämpft. Bei der Dämpfung werden unerwünschte Begleitstoffe vermindert.</span></div> Zustand hat sie eine leicht gelbliche Farbe, nach der <div class="tooltip">Raffination
<span class="tooltiptext">Warmpressung und Extraktion mit Lösungsmitteln ermöglichen deutlich höhere Ausbeuten aus der Pflanze, allerdings muss das so gewonnene Öl hinterher «raffiniert», also von unerwünschten Begleitstoffen gereinigt werden. Das zerstört neben Vitaminen und mehrfach ungesättigten Fettsäuren auch das Aroma.<br/>Das Öl wird zunächst bei Temperaturen von über 100°C heiß gepresst. Bei der chemischen oder physikalischen Raffination gehen wertvolle sekundäre Pflanzenstoffe, geschmackliche Eigenarten und die typische Farbe verloren. Das raffinierte Öl ist weitestgehend geschmacksneutral, von heller Farbe, lange haltbar und universell einsetzbar.</span></div> wird sie weiß und verliert wichtige Inhaltsstoffe.
Sheabutter wird in Afrika bereits seit Jahrhunderten als Creme verwendet, z.B. zum Schutz vor heißen Wüstenwinden.
''INCI-Bezeichnung:'' Butyrospermum , Butyrospermum Parkii (Shea) Butter, Vitellaria paradoxa subspecies nilotica
''Weitere Handelsnamen:'' Karitébutter, Schibutter
''Inhaltsstoffe:'' Die als wertvoll geltende Sheabutter ist besonders für ihre feuchtigkeitsspendenden Inhaltsstoffe bekannt. Sie besitzt außerdem den höchsten Anteil an <div class="tooltip">unverseifbaren
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div> Bestandteilen (8-11%) im Vergleich zu allen anderen Pflanzenfetten. Diese nichtverseifbaren Bestandteile in der Butter sind Stoffe wie Ölsäure, Kohlenwasserstoffe, <div class="tooltip">Tocopherole
<span class="tooltiptext">Formen des Vitamin E; fettlösliche Antioxidantien</span></div> oder <div class="tooltip">Phytosterole
<span class="tooltiptext">Begleitstoff von Pflanzenfetten; haben eine dem Cholesterin ähnliche Struktur und können dieses in der Haut weitgehend ersetzen</span></div>.
Besonders letztere sind für die Hautpflege von großem Nutzen: <div class="tooltip">Phytosterole
<span class="tooltiptext">Begleitstoff von Pflanzenfetten; haben eine dem Cholesterin ähnliche Struktur und können dieses in der Haut weitgehend ersetzen</span></div> sind ein natürlicher Bestandteil der hauteigenen Fettschicht und sorgen dafür, dass Nährstoffe von außen besser aufgenommen werden können. Außerdem halten sie Deine Haut elastisch und gleichen Feuchtigkeitsmangel aus. Neben diesen Bestandteilen hat unraffinierte Sheabutter aber noch eine Reihe weiterer kostbarer Inhaltsstoffe. Dazu zählen:"""
* Vitamin E: Sorgt als wichtiges Antioxidans dafür, schädliche Stoffe aus dem Körper zu transportieren. Außerdem kann es Alterungsprozesse der Zellen verlangsamen. Vitamin E kann der Körper nicht selbst herstellen.
* Beta Karotin: Kontrolliert als sekundärer Pflanzenstoff das Zellwachstum und fungiert ebenfalls als Radikalfänger.
* Omega 3 Fettsäuren: Essentielle Fette, die den Hormonhaushalt regulieren und Entzündungswerte senken können.
* Linolsäure: Pflanzliche Fettsäure, die hautberuhigende Eigenschaften hat und den Feuchtigkeitshaushalt Deiner Haut verbessert.
"""Generell gilt die <div class="tooltip">__unraffinierte__
<span class="tooltiptext">Die Rohware wird kalt gepresst, eine geringe Wärmezufuhr bei der Pressung bis ca. 60°C ist möglich. Zur Steigerung der Haltbarkeit werden diese Öle teilweise gedämpft. Bei der Dämpfung werden unerwünschte Begleitstoffe vermindert.</span></div>__, reine Sheabutter__ als wirkungsvoller, da sie mehr natürliche Nährstoffe enthält, als die <div class="tooltip">raffinierte
<span class="tooltiptext">Warmpressung und Extraktion mit Lösungsmitteln ermöglichen deutlich höhere Ausbeuten aus der Pflanze, allerdings muss das so gewonnene Öl hinterher «raffiniert», also von unerwünschten Begleitstoffen gereinigt werden. Das zerstört neben Vitaminen und mehrfach ungesättigten Fettsäuren auch das Aroma.<br/>Das Öl wird zunächst bei Temperaturen von über 100°C heiß gepresst. Bei der chemischen oder physikalischen Raffination gehen wertvolle sekundäre Pflanzenstoffe, geschmackliche Eigenarten und die typische Farbe verloren. Das raffinierte Öl ist weitestgehend geschmacksneutral, von heller Farbe, lange haltbar und universell einsetzbar.</span></div> Variante. Die unraffinierte Form ist beige/gelblich-weiß, gelegentlich auch mit einem leichten Grünschimmer. Unraffinierte Butter zieht außerdem schneller in die Haut ein und hinterlässt keinen Fettfilm.
Wenn Du zusätzlich auf Bio-Sheabutter setzt, kannst Du sicher sein, dass der Sheabaum nicht mit Pestiziden behandelt wurde.
Sie ist auch in großer Hitze bis zu 4 Jahre haltbar.
<div class="tooltip">__Raffinierte__
<span class="tooltiptext">Warmpressung und Extraktion mit Lösungsmitteln ermöglichen deutlich höhere Ausbeuten aus der Pflanze, allerdings muss das so gewonnene Öl hinterher «raffiniert», also von unerwünschten Begleitstoffen gereinigt werden. Das zerstört neben Vitaminen und mehrfach ungesättigten Fettsäuren auch das Aroma.<br/>Das Öl wird zunächst bei Temperaturen von über 100°C heiß gepresst. Bei der chemischen oder physikalischen Raffination gehen wertvolle sekundäre Pflanzenstoffe, geschmackliche Eigenarten und die typische Farbe verloren. Das raffinierte Öl ist weitestgehend geschmacksneutral, von heller Farbe, lange haltbar und universell einsetzbar.</span></div>__ Sheabutter__ ist reinweiß.
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Sheabutter ist ein <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div> mit leicht <div class="tooltip">emulgierender
<span class="tooltiptext">emulgieren = Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.</span></div> Wirkung.
Sie eignet sich als Pflege für jeden Hauttyp und wird vor allem für ihre hautglättende und beruhigende Eigenschaft geschätzt, die sich besonders gut auf trockene oder empfindliche Haut auswirkt. Auch bei Hautkrankheiten kann Sheabutter lindernd wirken.
Besonders trockene, rissige und beanspruchte Haut wird durch die Anwendung wieder geschmeidig. Sie ist nicht <div class="tooltip">komedogen
<span class="tooltiptext">Der Begriff komedogen bezieht sich auf Stoffe, die in Verdacht stehen, die Bildung von Komedonen, also Unreinheiten (z.B. Mitesser, Unterlagerungen, Pickel, Pusteln & Akne), sowie Entzündungen der Haut zu begünstigen und zu fördern. Eine Zusammensetzung, die die Poren der Haut nicht verstopft, wird als nicht-komedogen bezeichnet.</span></div>.
Sie hinterlässt zwar einen Film, dieser ist aber nicht fettig.
Sheabutter kann auch pur auf rissige / trockene Lippen aufgetragen werden.
Außerdem ist sie hilfreich gegen Schwangerschaftsstreifen.
''Duftprofil:'' Je nach Sorte... Von stark süßlich / süß-säuerlich, nussig, der auch eine rauchige Note haben kann bis zu unmerklich. Siehe "Beim Kauf beachten".
''Einsatzkonzentration:'' 3-15% der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>
''Pflanzenbutter | Ölgruppe:'' PF-1 (innerhalb B-0)
''Schmelzbereich:'' Je nach Anbieter wird unterschiedliches angegeben- 24-42°C. Bei mir schmilzt es bei ca. 28°C
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate (Shea subsp. nilotica), ca. 24 Monate (Shea subsp. paradoxa)
''Jodzahl:'' 47–78 (nicht trocken)
''Spreitwert nach Olionatura®:'' <div class="tooltip">Niedrigspreitend
<span class="tooltiptext">Niedrigspreitendes Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.</span></div>
''Anteile an <div class="tooltip">Unverseifbarem
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div>:'' 2% (Shea subsp. nilotica), 6–12% (Shea subsp. paradoxa)
''Verseifungszahl:'' 165–188
''Lagerung:'' Nicht über 35°C lagern.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' Es gibt, wie gesagt, unterschiedliche Sorten an Sheabutter. Manche haben einen starken Eigengeruch (süßlich / süß-säuerlich, nussig, der auch eine rauchige Note haben kann) und manche haben einen kaum merklichen Eigengeruch. Ich kann leider noch nicht definitiv schreiben, welches welche ist, sondern nur Beispiele geben (wobei öfter geschrieben wird, dass die "nilotica" diejenige sei, die kaum riecht). Leider wird in den Shops nicht immer der Geruch beschrieben und selbst wenn, dann nicht immer deutlich beschrieben (siehe Beispiel "stark riechend").
__Stark riechend:__ Bei einem Shop steht z.B. nur "//Sheabutter, unraffiniert, gereinigt (...) Die unraffinierte Variante für alle PuristInnen. (...) zeichnet sich durch (...) einen spezifischen Eigengeruch aus (...) INCI: Butyrospermum.//" Dies war eine Sheabutter, die einen starken, für mich unerträglichen süß-sauren Eigengeruch hatte, der sich auch durch nichts übertünchen ließ...
__Kaum Eigengeruch:__ "//Sheabutter, Bio, kaltgepresst, raffiniert, INCI: Butyrospermum parkii//" & "//Sheabutter Nilotica, kbA, kaltgepresst, INCI: Vitellaria paradoxa subspecies nilotica//".
Wie bei allen Fetten gilt natürlich auch bei Sheabutter: Am besten <div class="tooltip">unraffiniert
<span class="tooltiptext">Die Rohware wird kalt gepresst, eine geringe Wärmezufuhr bei der Pressung bis ca. 60°C ist möglich. Zur Steigerung der Haltbarkeit werden diese Öle teilweise gedämpft. Bei der Dämpfung werden unerwünschte Begleitstoffe vermindert.</span></div> & in Bio-Qualität kaufen.
''Tipp für die Verarbeitung:'' Buttern sollten nicht zu lange und zu hoch erhitzt werden, da sonst die Wirkstoffe verloren gehen können und sie dann teilweise gerne auskrisseln. Daher fast zum Schluss in der Fettphase schmelzen- aber vor Kakaobutter und hitzeempfindlichen flüssigen Ölen.
Die generelle Reihenfolge ist also: 1. Hitzeunempfindliche Lipide (Wachse, Öle, sonstige Lipide), 2. sonstige Buttern bei verringerter Hitze, 3. Kakaobutter bei noch stärker verringerter Hitze, 4. hitzeempfindliche Öle ohne Hitze, 5. Pulver, Wirkstoffe, etc., 6. Ätherische Öle.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sheabutter]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Sheabutter]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Bei Schmerzen in Gelenken, Muskeln oder zur Behandlung von Rheuma kann [[Sheabutter]] ebenfalls genutzt werden. Diese Beschwerden können wirksam durch Massagen gelindert werden. Die ansonsten feste Butter verflüssigt sich durch die Wärme der Hände und ergibt so ein wundervolles Öl für die Massage der schmerzenden Glieder. Dies ist auch nach einem anstrengenden Training, wenn die Muskeln besonders beansprucht werden, ein sehr angenehmer Effekt, der Muskelkater vergessen lässt. Sheabutter ist somit auch für Sportler sehr interessant.
>Pur auftragen.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Verhärtetes Narbengewebe, auf das [[Sheabutter]] aufgetragen wird, wird schon nach kurzer Anwendung weicher und nachgiebiger. Die Hautfarbe der Narbe gleicht sich nach längerer Behandlung mit der Butter der übrigen Haut an. Doch nicht nur zur optischen Behandlung ist das afrikanische Wundermittel hilfreich. Es können sogar Narbenschmerzen gelindert oder ganz verhindert werden.<br/>
>Pur auftragen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
"""
Personen die an Neurodermitis erkrankt sind, ist eine Behandlung mit [[Sheabutter]] sehr zu empfehlen >>pur auftragen.
Betroffene berichten von einer schnell sichtbaren und fühlbaren Verbesserung der Haut und einem Rückgang der oft juckenden Ausschläge."""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Durch den Inhaltsstoff Allantoin wirkt [[Sheabutter]] entzündungshemmend und beruhigend. So wirkt sie auch bei Sonnenbrand & kleinen Verbrennungen heilend und schmerzlindernd.
Auch bei Insektenstichen lässt sich die Butter einsetzen um Juckreiz und Schwellungen zu lindern.
>Pur auftragen.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
[[Sheabutter]] besitzt einen hohen Anteil an Allantoin, Karotin und Vitamin E und ist dadurch besonders hautpflegend. Sie ist hoch wirksam und wirkt nicht nur an der Hautoberfläche, sondern dringt tief in die Hautschichten ein.
Dadurch ist sie besonders bei trockener Haut, trockenen, rissigen Händen und auch für die Pflege der Füße zu empfehlen. Selbst verhornte Fußsohlen werden durch regelmäßige Pflege wieder zart und weich.
>Pur auftragen oder in Produkte einarbeiten.
"""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""100 g Sheabutter, unraffiniert
60 g Bio-Kokosöl
Sheabutter weich machen. Zusammen mit dem Öl in der Küchenmaschine mit dem Schneebesen (oder mit dem Handmixer) eine halbe Stunde schaumig schlagen. Fertig!
Die Konsistenz ist fluffig, sahnig und zieht sehr gut in die Haut ein.
Gedacht als Körper-, Handcreme. Eventuell auch in die feuchte Haut massieren. Der natürliche Kokosduft überlagert den Sheabuttergeruch.
"""7,5 g Sheabutter
3/4 Ml Tegomuls
20 ml Wasser
1/2 kl. Ml. Elastin
1 Messersp. Hyaluron
1,25 ml Rosenextrakt
1 ml Panthenol
3 Tr. äth. Öle (Geranium, Palmarosa, Orangenöl)
3 Tr. Paraben K
Tegomuls und Sheabutter vorsichtig schmelzen, im abgekochtem Wasser Elastin und Hyaluron auflösen. Extrakt und Panthenol dazugeben, beduften und konservieren.
Ergibt eine ganz tolle Feuchtigkeitscreme
sie ist überhaupt nicht fett und schwer, wer immer das vermuten würde bei der shea irrt! Ich habe sie jetzt nach einem Tag genommen, das Tego neigt ja zum Nachdicken, wie wir wissen, und die Creme zieht absolut gut in die Haut ein. Mir war es dann fast zu wenig Fett auf der Haut und ich habe noch etwas Mandelöl und Emulsan nachgemixt, weil meine Wangenpartie das wollte... ist aber nachwievor super.
Ich würde sagen, die ideale Sommercreme, für alle, die etwas Filmchen auf der Haut brauchen...
vorher hab ich ja geschrieben, ideal für den Winter, würd ich jetzt aber in Sommer umwandeln oder Winter für Mischhäutchen.
Konsistenz ist reichhaltig, sie zieht aber absolut gut ein und macht diesen Shea Film auf der Haut, den ich so sehr liebe. Ich bin bisher noch nie auf die Idee gekommen, mit purer Shea was zu machen.
Eine ideale Creme besonders vielleicht im Winter, aber auch jetzt gut geeignet.
Ich hab noch ein bischen Harnstoff mit ins Wasser. Die Ätherischen Öle und das Hyaluron hab ich nicht drinnen.
Diese Creme ist absolut für empfindliche Häutchen bzw Neurodermitiker anzuraten!
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Butyrospermum Parkii (Shea) Seed Oil
''Jodzahl:'' 75–90 (nicht trocken)
''Schmelzbereich:'' 18°C
''Spreitwert nach Olionatura®:'' Niedrigspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 18 Monate
''Verseifungszahl:'' 180–200
__Normale und trockene Haut, Haarpflegeprodukte, als reichhaltiges Massageöl.__
Sheanussöl eignet sich als ölsäure- und stearinsäurebetonte Komponente in Emulsionen für __trockene, feuchtigkeitsarme Haut__. Es ist oxidationsstabil und fördert die Haltbarkeit von Ölmischungen mit mehrfach ungesättigten Fettsäuren. Auch als __Massageöl__ ist es sehr gut geeignet: Die Stearinsäure bleibt als sanfter Film auf der Haut, die Ölsäure bedingt ein langsames, aber gutes Einziehvermögen. Zudem kann das geruchsdezente Sheanussöl gut mit ätherischen Ölen beduftet werden.
Hervorragend eignet sich dieses __reichhaltige, schützende Öl__ auch für restrukturierende und __rückfettende__ Haarpflegeprodukte, als Zusatz in Shampoos für __trockenes, sprödes Haar__ und in Haarkuren.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sheanussöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sheanussöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
\define _showtag(color)
<span style="background-color:$color$;foreground-color:$color$" class="tc-tag-label"><$view field="title"/></span>
\end
<$macrocall $name="_showtag" color={{!!color}}/>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
Siehe [[Seidenprotein]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Diese Gesichtsbutter habe ich aufgrund des kalten Wetters schon das dritte mal gemixt und bin begeistert von ihr.Meine Haut ist manchmal ziemlich trocken und braucht ab und zu was reichhaltigeres.Sie glättet,nährt und beruhigt gereizte Haut und zieht sehr gut weg.Auch sehr gut geeignet als Nachtcreme und für zarte Kinderhaut.
5 gr. Emulsan
0,1 gr Bienenwachs
6 gr Mangobutter
6 gr. Avocadobutter
6 gr. Olivenbutter
15 gr Traubenkernöl
----------------------------
12,5 gr Hydrolat oder dest. Wasser
1,5 gr. Sorbit
2 gr. Urea
-----------------------------------
Emulsan aufschmelzen,Buttern und Öl zugeben.
Sorbit und Urea im Wasser auflösen und in die Fettphase einrühren.
Kräftig aufschlagen-es dickt relativ schnell an.Konserviert habe ich mit selbstgemachtem Kiwi-Extrakt.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=270 src="https://share-your-photo.com/img/36e0848d81.jpg"/>||
|<h6>Alex Lomas, [[Cocos nucifera (2944481522)|https://commons.wikimedia.org/wiki/File:Cocos_nucifera_(2944481522).jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]</h6>||
@@
<$reveal type="nomatch" state="$:/state/SampleRevealTenside" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTenside" setTo="show">@@color:green;''Zeige Infos über Tenside & Tensidklassen''@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTenside" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTenside" setTo="hide">@@color:red;Verstecke "Infos über Tenside & Tensidklassen"@@</$button>
{{Tenside}}
</$reveal>
"""
''Art / Konsistenz der Zutat:'' Weiße Plättchen, Tensid, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' SLMI wird aus Kokosöl gewonnen und ist leicht biologisch abbaubar.
''INCI-Bezeichnung:'' Sodium Lauroyl Methyl Isethionate
''Besonderheit / kosmetische Wirkung:'' Das anionische und sulphatfreie Tensid SLMI ist ein sehr mildes Tensid, welches als primäres, aber auch als Co-Tensid verwendet werden kann. Es reinigt gründlich aber trotzdem sehr schonend und bildet einen dichten cremigen Schaum. Dank seiner leicht konditionierenden Wirkung hinterlässt es ein angenehmes Hautgefühl.
Flüssige Formulierungen bleiben klar (bei mir allerdings eher milchig), SLMI ist sehr gut wasserlöslich.
Es kann in Formulierungen mit einem pH-Wert von 4,5-8,5 eingearbeitet werden, da es hydrolytisch stabil ist.
Verwendung für Shampoos, Shampoo- / Dusch- / Handwaschbars, Duschgels, Schaumbädern, Badebomben, Flüssigseifen, Gesichtsreinigern, Zahnpasten, jede Art von Haushaltsreinigern, …
''Duftprofil:'' Geruchlos
''Einsatzkonzentration:'' Flüssige Formulierungen bis 20%, Feste Formulierungen bis 90%
<div class="tooltip">''WAS / Aktivsubstanz'':
<span class="tooltiptext">Gehalt an WaschAktiver Substanz</span>
</div> 80-85%
''Tensidklasse:'' Anionisch (siehe den obigen Button "Zeige Infos über Tenside & Tensidklassen")
''Ph-Stabil:'' 4,5-8,5
''Lagerung:'' Trocken. Sonst nichts zu beachten.
''Erhältlich bei:'' Ich kaufs bei Alexmo (ist bei [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufgeführt). Ansonsten evtl. auch bei ein paar anderen der dort aufgeführten Anbieter erhältlich; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' Es wird auch SLMI verkauft, welches aus Palmöl / dessen Derivaten hergestellt wird- also drauf achten, dass in der Beschreibung / dem Titel "palmölfrei" steht.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Tipp für die Verarbeitung:'' SLMI in Pulverform staubt (wer empfindlich ist, sollte Atemschutz verwenden!) und sollte daher umsichtig mit "ruhiger Hand" verarbeitet werden!
Es wird bei 50-60°C <div class="tooltip">(bei mir auf Stufe 1,5) <span class="tooltiptext"> Mein Herd hat 9 Stufen </span></div> in Wasser gelöst. Ich konnte es jedoch auch problemlos über Nacht in kaltem Wasser lösen und auch genauso gut zusammen mit Wasser aufkochen.
Pulverisieren kannst Du es in der Küchenmaschine (z.B. mit einem Häckselmesser). In meiner Küchenmaschine wird es allerdings nicht komplett zu feinstem Staub; es bleiben kleine Körnchen, etwa wie Salzkörnchen, zurück. Das hat aber wiederum den Vorteil, dass es nicht gar so extrem staubt. __Achtung:__ Nachdem Du das SLMI pulverisiert hast, öffne den Behälter frühestens nach 1 Stunde!! Sonst bekommst Du von der Tensid-Staubwolke einen mega Niesanfall!
Wie bei allen Tensiden: Sobald das Tensid in dem zu rührenden Produkt enthalten ist, sollte nicht mehr heftig gerührt werden, da sich sonst viel Schaum bildet!
''Andere Tenside durch SLMI ersetzen:'' Ich habe hier nur Erfahrung mit SCI. SCI kann durch SLMI / SurfaLux palmölfrei 1:1 ersetzt werden, da es sehr ähnliche <div class="tooltip">WAS
<span class="tooltiptext">Gehalt an WaschAktiver Substanz</span>
</div> hat und ähnlich mild ist. Allerdings hat es nicht / kaum härtende Eigenschaften. Sprich, wenn Du z.B. ein Waschbar-Rezept mit SCI hast, musst Du bei Verwendung von SLMI die Öl-Anteile verringern / ganz weglassen, um den Bar hart genug zu machen.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[SLMI / SurfaLux palmölfrei (Tensid)]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[SLMI / SurfaLux palmölfrei (Tensid)]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
Siehe [[Waschsoda]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Glycine Soja (Soybean) Oil
''Jodzahl:'' 120–141 (halbtrocken)
''Schmelzbereich:'' -8 bis -18°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' (Lecithin:) 1,8–3,2%
''Verseifungszahl:'' 180–200
__Normale bis trockene Haut, Mischhaut, leicht fettende Haut.__
Natives Sojaöl fluidisiert Zellmembrane und die Lipidlayer der Hornschicht, reguliert den Verhornungsprozess und eignet sich daher sowohl für __fettende Hautzustände__ und __Mischhaut__ wie für __trockene Haut__. Der hohe Lecithingehalt bewirkt eine ausgezeichnete »__Hautbefeuchtung__«, da dieses Öl Wasser emulgiert und in der Hornschicht bindet.
Sein dezenter Geruch und seine Inhaltsstoffe machen es zu einer interessanten Alternative zu Avocadoöl, das zwar unübertroffen pflegend, von nicht wenigen jedoch aufgrund des starken Eigengeruchs in der Gesichtspflege ungern eingesetzt wird. In Emulsionen wirkt das Öl durch seinen Lecithingehalt koemulgierend und erzeugt feuchte und gut __rückfettende__ Konsistenzen, die __nicht schwer aufliegen__. Im Einziehverhalten ist Sojaöl vom Lecithingehalt abhängig: Studien haben gezeigt, dass lecithinarmes (raffiniertes) Sojaöl schneller einzieht als normales Sojaöl.
Da Sojaöl oxidativ nicht sehr stabil ist, sollten Sie es mit Ölen der Gruppe B-0 und B-1 kombinieren und in Tagespräparaten nicht über 10 % einarbeiten.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sojaöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sojaöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""25 ml destilliertes Wasser
25 ml Hamameliswasser
40 ml Sole
5 g D-Panthenol
Konservierung nach Wahl
alles zusammen in eine geeignete Flasche geben, mit einem Wattepad auftragen. Das Gesichtswasser vor dem Auftragen kurz schütteln.
wenn man will, kann man noch Extrakte reingeben
meine unreine Haut ist viel viel besser geworden, das hab ich mit Kauf-Kosmetik nicht hinbekommen.
ich verwende das Gesichtswasser Abends, lasse das in die Haut einziehen und gebe dann etwas Jojobaöl pur auf meine Haut
ich reduziere das Wasser für das GW etwas, möchte ja mehr Wirkung.
die Sole konserviert schon, also ich hab nie extra Konservierung zugeben müssen.
Gesichtswasser wird ja zum reinigen der Haut verwendet, danach hab ich schon noch immer eine reichte Creme oder so verwendet.
in meinem falle habe ich totes meer salz genommen. auch als gesättigte sole. einfach immer wieder salz zum destillierten Wasser zugeben und schütteln, bis sich nix mehr auflöst.
1 Tr Thymian (oder wilder Thymian, also Quendel) ÄÖ auf das Salz für die Sole vor dem auflösen geben hilft wunderbar gegen Mitesser. Das ganze duftet dann allerdings relativ lange auch auf der Haut noch nach Thymian, also eher etwas für vor dem Bett gehen als morgens ins Büro Bei mir verfliegt der Thymiangeruch erst nach ca. 15min.
Variante:
40 g Aqua dest.
50 g Sole
5 g D-Panthenol
1 ML Hamamelis-Extrakt
...und einen "Schwung" Calendulatinktur...ok...ok...ich gelobe Besserung und werde mir meine Rezepturen demnächst genauer aufschreiben - ich schätze es waren so um die 10 ml.
Variante:
45g Sole
25g Zypressenwasser
25g dest. Wasser
3g Urea
4g Vitamín E-Acetat
Pur soll man Sole auf dem gesicht nie anwenden, außer zur lokalen Betupfung von Pickeln (zum Austrocknen). Ansonsten ist es halt zu aggressiv. Manche vertragens aber auch pur.
Sole: Genau, jeder muss seine Konzentration selbst rausfinden! manche kommen mit 1%iger Lösung schon nicht wirklich klar, Manch Anderer kann das Zeug tatsächlich von Anfang an pur auftragen und ist rundum glücklich! Und dazwischen gibts 26 versch. Stufen, die die Richtige und falsche Konzentration sein kann für Dich Deshalb wird halt angeraten ganz neidrig anzufangen und langsam zu steigern, damit man möglichen Unverträglichkeiten aus dem Weg gehen kann. So kann man die Haut auch langsdam an höhere Konzentrationen gewöhnen.
Deshalb würde ich hier empfindlichen Häuten raten, erstmal niedrigere Potenzen zu nehmen, um zus chauen, wie die Haut reagiert.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""7,5 g Distelöl
1,75 g Tegomuls
1,75 g Emulsan
1,5 g Sheabutter
32 ml Wasser
1 Messerspitze Allantoin
1/2 HT-ML Harnstoff (Hobbythek-Meßlöffel)
1/2 HT-ML Seidenprotein
1/2 HT-ML D-Panthenol
es hätten noch ein paar Tropfen Sanddornöl (ist gerade aus) und Elastin hinzukommen sollen (habe ich vergessen)
Konserviert habe ich mit Alkohol.
Ist eine schöne Creme geworden, die sich leicht verteilen läßt und ganz schnell einzieht. Bei den derzeit herrschenden Temperaturen ergibt sie ein sehr schönes Gefühl auf meiner Haut. Wenn das Wetter wieder kühler wird, könnte man in die Abkühlphase vielleicht noch Wildrosenöl oder ein anderes Wirkstofföl einarbeiten.
"""25g Rosenwasser (altern. dest. Wasser)
Prise Urea
Xanthan
Guarkernmehl
1g Babassu
1g Mangobutter
3g Aprikosenöl
5g Aprikosen-Extrakt (selbst angesetzt)
5 Tr. Squalan
Rosenwasser in ein Gläschen geben, gaaanz wenig Xanthan und etwas mehr Guar zugeben und verquirlen, so daß eine leicht gelige Konsistenz entsteht.
Babassu, Mangobutter und Aprikosenöl zugeben, in ein warmes Wasserbad stellen und die festen Fette unter Rühren auflösen, bis ein homogenes Gel entsteht.
Etwas abkühlen lassen, dann das Aprikosen-Extrakt und Squalan zugeben.
Das Gel habe ich bei diesen sommerlichen Temperaturen jetzt seit einiger Zeit in Verwendung und finde es toll. Es zieht ganz schnell ein, hinterlässt keinen Film, aber ein durchfeuchtetes und gepflegtes Gefühl. Kommt sicher auch gut mit Hyaluron,aber das hab ich z. Zt. nicht.
Rosenwasser und Aprikose vertragen sich für meinen Geschmack gut, nächstes Mal rühre ich es aber nur mit dest. Wasser.
die Öle muß man halt der Haut individuell anpassen, ich fahre mit der o. a. Mischung sehr gut momentan. Leicht, aber pflegend und ich bekomme davon keine Pickel (und ich bekomme im Moment von fast allem Pickel :o ).
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Helianthus Annuus (Sunflower) Seed Oil
''Jodzahl:'' 118–144 (halbtrocken)
''Schmelzbereich:'' -18 bis -20°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' (Lecithin:) 0,5–1%, (Phytosterole:) bis 0,5%
''Verseifungszahl:'' 186–194
__Normale bis fettende Haut. Mildes, preiswertes Öl für verschiedene kosmetische Rezepturen. Der High Oleic-Typ ist ein oxidationsstabiles Basisöl, gehört zur Gruppe B-1 und kann mit Ölen der Gruppe B-0 sehr gut in Tagespräparaten eingearbeitet werden.__
Sonnenblumenöl fühlt sich in Cremes verarbeitet sehr "leicht" an und eignet sich besonders gut für Tagescremes und leichte Körperlotionen.
Durch den hohen Linolsäure-Gehalt und den relativ geringen Anteil an gesättigten Fettsäuren ist das Öl der Sonnenblume ein __leichtes, nicht aufliegendes und mild pflegendes Öl__. Der kosmetisch wirksame α-Tocopherol-Gehalt wirkt __entzündungshemmend__, der Oxidation von Hautlipiden entgegen und fördert das Einziehvermögen des Öls; letzteres wird durch seinen Lecithingehalt von ca. 1% unterstützt. Ich verwende es gerne für Reinigungspräparate wie Reinigungsmilch oder -creme, in Make up-Entferner-Ölen oder Badeprodukten ist es ebenfalls gut eingesetzt (auch weil es sogar in kbA-Qualität sehr preiswert ist), aufgrund seiner niedrigen Viskosität in Haarpflegeprodukten oder in leichten Cremes __für Haut mit fettender Tendenz__.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Sonnenblumenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Sonnenblumenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Sonnenbrand:''<br/><br/>
<$list filter="[tag[Sonnenbrand]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Sonnenbrand:''<br/><br/>
<$list filter="[tag[Sonnenbrand]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Seit jahren feile, teste und versuche eine sonnencreme hinzubekommen, die wirklich schützt, die ohne pö oder äö duftet, die puristisch und tgl anwendbar ist.
Ganz einfach und doch wirkungsvoll und auch für neurodermitiker verträglich.
Obwohl die creme reichhaltig ist, ist sie leicht, zieht ratzfatz ein und hat einen leicht kühlenden effekt.
fph/wph=35/65 (die creme ist trotzdem leicht)
100gr=100%, alle angaben in prozent
4 emulsan
2 walrat
3 lanolin (für die bedingte wasserfestigkeit)
1 ceralan
4 kabu
5 Squalan
8 avokado (man kann auch kukuinußöl nehmen)
8 jojoba
43 Aloeveragel= wässrige aloe 100% also nicht verdünnt oder konzentriert oder so. Du bekommst es meistens als aloevera purum in den online shops oder aloe vera gel 1:1.
10 tonkaextrakt (Du kannst jeden anderen extrakt nehmen.)
0,5 Milchsäure
2 Natriumlaktat
2 panthenol
0,5 allantoin (meistens werden es nur 0,2, das reicht auch)
6 sofitixbreitband
1 bisabolol
2tr cosgard je 10gr creme
kein duft
Bitte tut euch selber den gefallen und rührt die creme hochtourig, damit sie so gut wie nicht weißelt!
Natriumlaktat kannst du zur not weglassen, ist aber blöd, weil man ja damit den ph-wert einstellt zusammen mit der milchsäure.
Squalan kannst nicht durch olivenöl ersetzten, da sq viel besser einzieht und schneller spreitet. Du kannst statt dessen kokos nehmen oder neutralöl.
"""Fettphase:
7 g Tegomuls/od. 11 g Lamecreme
10 g Reiskeimöl (bringt Feuchtigkeit, hilft sensibler Haut)
10 g Baumwollsamenöl (enthält nat. Antioxidantien und Vit A.)
5 g Jojobaöl
10 g SoFi-Tix Breitband (mit den 5 g Jojoba zu einer Paste verreiben)
Wasserphase:
50 g Aloe Vera Wasser
60 g dest Wasser
Wirkstoffe:
5 Tr. Vitamin E
5 Tr. Vitamin A
10 Tr. D-Panthenol
10 Tr. Karottenöl
10 Tr. Grüntee-Extrak
10 Tr. Squalan
15 Tr. Paraben K
Duft nach Wahl ca. 7-10 Tropfen
Die Zutaten der Fettphase in einem feuerfesten Becherglas schmelzen die SoFi-Tixpaste einrühren und beiseite stellen.
Die Wasserphase getrennt in einem Gefäß erwärmen und unter ständigem Rühren zu der Fettphase ins Becherglas geben.
Die Emulsion auskühlen lassen (ev. im kalten Wasserbad) - immer wieder kräftig rühren. In die handwarme Emulsion die Wirkstoffe geben - nochmals rühren - abfüllen - fertig - dickt über Nacht nach, eventuell am nächsten Tag verdünnen.
"""Hallo, ich habe beim letzten USA Urlaub eine tolle Alternative zu Sonnencreme entdeckt: Sun Powder!
Klebt nicht, schmiert nicht und glänzt nicht im Gesicht. Sogar mein Freund mag das Zeugs.
Da die Angebote dort recht teuer sind und hier noch teurer und kaum erhältlich, suche ich nach Tips, wie man sowas selbst herstellen kann.
Anbei Links zu zwei Produkten mit Incis:
http://www.bareescentuals.com/bareMinera...t=1&cgid=BE_SPF
Titanium Dioxide 12%. Ascorbyl Palmitate, Tocopheryl Acetate, Retinyl Palmitate, Aloe Barbadensis Leaf Extract, Lycium Chinensis (Lycii Berry) Extract, Ranunculus Ficaria Root Extract, Silica. May Contain: Mica (CI 77019), Iron Oxides (CI 77491, CI 77492, CI 77499). Ultramarines (CI 77007). Titanium Dioxide (CI 77891), Bismuth Oxychloride (CI 77163)
http://www.peterthomasroth.com/p-98-inst...ral-spf-30.aspx
Beim zweiten Produkt stören mich allerdings die chemischen Incis. NK wäre mir lieber
Kann mir evtl jemand einen Tip geben, wo man so auffüllbare Pinsel in D bekommen kann. ich hab noch einen aus den USA, wollt aber meine Mum und Freundin auch damit ausstatten.
Und welche Incis würdet ihr für so einen Puder verwenden?
Wäre über jeden Rezepttip dankbar. Die Incis von Bare Minerals finde ich recht gut. Aber wo kann ich alles bekommen? Und welche Mengen soll ich nehmen?"""
------------------------------------------------------------------------------------
"""tja, da die Firma ja auch Mineral Foundation herstellt, die ja sowieso, aufgrund der Inhaltsstoffe, einen Lichtschutzfaktor hat, denke ich, grundsätzlich ist das einfach..der wichtigste Schutzfaktor ist ja das Titandioxid, das eben auch in der MF enthalten ist,und auch in vielen Sonnencremes und -lotionen als mineralischer LSF verwendet wird..bekommst Du bei vielen Internetshops, z.B. bei behawe..ich denke, das ist eigentlich schon das "essential"..ansonsten könntest Du als Pflegekomponente noch etwas Jojobaöl untermischen (machen einige Benutzerinnen auch mit ihrer MF)..ein paar Tropfen Squalan..kriegst Du auch bei behawe..wie das mit aloe vera ist, könnte ich jetzt nicht sagen, es gibt dies sowohl als Flüssigkeit, da weiß ich aber nicht, wie man das in einen Puder einarbeiten kann..ansonsten gibt es Aloe vera auch als Pulver, aber ich kenne es nur so, dass man dies dann in einer wässrigen Phase wieder lösen muss..wäre also auch nicht so geeignet für einen Puder.. : ansonsten könnte man noch eine geringe Magnesiumstearat einarbeiten, um die Haltbarkeit bzw. das Haften auf der Haut zu erhöhen..vielleicht noch Füllstoffe wie Mica oder Ronasphere..kriegst Du auch bei behawe..was ich mich alleerdings frage, ist, ob das Puder so nicht arg weißelt auf der Haut..soweit ich das auf der Seite gelesen habe, verwenden sie auch noch etwas Pigmente, so dass der Puder wohl doch leicht getönt ist..da müsstest Du einfach mal mit geringen Mengen experimentieren.."""
------------------------------------------------------------------------------------
"""Ich würde, wenn es dir nu um den Sonnenschutz geht auch Sofitix Breitband mit etwas Magnesium Stearat für die Haftung, Seidenpuder um das Glänzen zu verhindern (Minerale glänzen auf der Haut), evtl etwas Urea für Feuchtigkeit untermösern und vielleicht noch etwas fertige Mineralfoundation für die Tönung und damit es nicht weißelt nehmen."""
------------------------------------------------------------------------------------
"""Das Titandioxid wird zweimal aufgeführt. Bei den 12% , welche an erste Stelle stehen , handelt es sich um beschichtetes Titaniumdioxid im nanoskaligen Bereich und wird als UV-Filter eingesetzt. Der LSF liegt somit um 24.
Letzteres steht als Pigment mit der Bezeichnung Titanium Dioxide Cl 77891. Dieses ist so, viel ich weiß nicht nanohaltig.
Die Pflanzenextrakte sind wohl fein gemahlene Zusätze. In flüssiger Form sollten sie nur minimal vorhanden sein. Ich glaube nicht, dass sie unbedingt notwendig sind. So wie Sadaf auch sagt könnte man ein paar
Tropfen Jojoba untermischen.
Ascorbyl Palmitate, Tocopheryl Acetate, Retinyl Palmitate
sind Antoxidantien. Ich vermute deshalb, weil unbeschichtetes Titandioxid dabei ist und dieses leicht oxidiert. Das vermute ich nur, weiß nicht 100% ob es stimmt.
Ansonsten handelt es sich bei dem Sonnenpuder um nichts anderes als Mineralfoundation.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte für sonstige Unwohligkeiten / Einsatzgebiete:''<br/><br/>
<$list filter="[tag[Fieber]] [tag[Gelenkschmerzen]] [tag[Kinder / Schwangerschaft]] [tag[Kopfschmerzen]] [tag[Müdigkeit]] [tag[Muskelkater]] [tag[Muskelschmerzen]] [tag[Arthrose/Arthritis/Rheuma/Gicht]] [tag[Schlappheit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle ungetesteten Rezepte für sonstige Unwohligkeiten / Einsatzgebiete:''<br/><br/>
<$list filter="[tag[Fieber]] [tag[Gelenkschmerzen]] [tag[Kinder / Schwangerschaft]] [tag[Kopfschmerzen]] [tag[Müdigkeit]] [tag[Muskelkater]] [tag[Muskelschmerzen]] [tag[Arthrose/Arthritis/Rheuma/Gicht]] [tag[Schlappheit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte für Sonstiges im Leben:''<br/><br/>
<$list filter="[tag[Abstillen]] [tag[Insektenabwehr]] [tag[Raumluftverbesserung]] [tag[Tierhaarallergie]] [tag[Nahrungsmittelallergie]] [tag[Heuschnupfen]] [tag[Hausstaubmilben-Allergie]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte für Sonstiges im Leben:''<br/><br/>
<$list filter="[tag[Abstillen]] [tag[Insektenabwehr]] [tag[Raumluftverbesserung]] [tag[Tierhaarallergie]] [tag[Nahrungsmittelallergie]] [tag[Heuschnupfen]] [tag[Hausstaubmilben-Allergie]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
Für 50ml:
* 25 ml Rosenhydrolat (oder ein anderes Hydrolat wie Melisse, sehr zusammenziehend auf die Poren wirkt Hamameliswasser (mit & ohne Alkohol erhältlich)
* 25 ml Wodka
* 1 knapper Teelöffel Natriumbicarbonat (Backnatron) [basischer pH]
** __oder__ 1 Messerspitze Zitronensäurepulver oder 1 Esslöffel Apfelessig (saurer pH)
* 5 Tropfen Zedrat- oder Zitronenöl oder 3 Tropfen Zitronenmyrte
* 5 Tropfen Rosengeranien- oder Lavendelöl
* 3 Tropfen Zypressen- oder Salbeiöl (letzteres in thujonarmer Qualität)
* 2 Tropfen Patchouli- oder Zedernöl
"""für eine 100 ml Sprühflasche
Phase A
16.0 g Ethanol (96,6%)
2.0 g Dermofeel G 10 LW (
1.0 g äth. Öle ( z.B. Benzoe, Grapefruit, Sandelholz, , Bergamotte, Rosengeranie)
Phase B
75 g Wasser
5.0 g Haushaltsnatron (Natriumbicarbonat)
1,0 g Panthenol
HERSTELLUNG
Phase A vermischen
Phase B: Natron in Wasser auflösen und das Panthenol dazu geben
Phase A mit Phase B mischen und für eine halbe Stunde ins Eisfach stellen.
Das Deo aus dem Eisfach nehmen, filtern (falls sich das Natron nicht restlos aufgelöst hat) und in eine Sprühflasche abfüllen.
"""1 TL Natron auf 50ml Wasser / Hydrolat (nicht aufgelöstes Natron durch Teesieb weggefiltert).
1 TL dürften ca. 6 g sein. Bei meinem Deo-Gel verwende ich 3,5 g Natron (plus andere Zutaten) auf 50 ml Wasser und komme damit gut zurecht. Das Natron löst sich dabei komplett auf.
Meins: 4% Natron und 96% Wasser.
''Wenn ätherische Öle dazu kommen, muss ich einen Lösungsvermittler mit einbauen (keinen Emulgator!), da sich sonst das ÄÖ nicht mit dem Wasser verbindet und somit //pur// auf der Haut landet und somit Reizungen verursachen kann!!'' Für das ÄÖ brauchst du einen Lösungsvermittler (Solubilisator). Ich benutze dazu Dermofeel G 10 LW. Es wird im Verhältnis 1:3 bis 1:5 eingesetzt, also 1 Teil Öl auf 3 bis 5 Teile vom Lösungsvermittler. Bei einem Verhältnis von 1:4 brauchst du bei 5 Tr. ÄÖ 1 g Dermofeel.
"""Das Wirkprinzip des Deosprays beruht auf der Kombination aus antimikrobiell wirkenden Substanzen und einem Stoff, der den enzymatischen Abbau von Schweiß hemmt. Frischer Schweiß ist zunächst geruchlos. Erst durch die Zersetzung durch Sauerstoff beginnt er unangenehm zu riechen. Die Wirkstoffkombination verlangsamt diesen Zersetzungsprozess. Die natürliche Schweißproduktion wird dabei nicht unterbunden. Das Deodorant hinterlässt keine Flecken auf der Kleidung. Es ist auch bei empfindlicher Haut gut verträglich.
Menge: 100 g
Wirkstoffanteil: 8 %
Naturkosmetik: ✓
Phase A
10 g Dermofeel G10LW • 0,5 g Decalact Deo (Smell Free) • 4,5 g Zitronensäureester • 6 Tr. Zitrone • 7 Tr. Limette • 3 Tr. Salbei • 4 Tr. Speiklavendel • 15 g Weingeist
Phase B
67 g abgekochtes, destilliertes Wasser • 2 g Glycerin • 1 g Natriumlaktat
Phase A
Dermofeel G10LW mit Decalact Deo, Zitronensäureester und den ätherischen Ölen sehr gründlich verrühren - die Mischung muss homogen sein. Dann Weingeist zugießen und wieder gründlich rühren, bis die Lösung klar ist.
Phase B
Glycerin und Natriumlaktat im Wasser lösen.
Unter Rühren mit dem Spatel Phase B langsam zu Phase A gießen.
"""Frag mal nach Luer Lock Verschlüssen für Spritzen in der Apotheke Deines Vertrauens.
Das war vor 2-3 Jahren ein Tip von Luna zum Thema Dosieren von Vit E.
Meine Apotheke hatte keine ich habe mir die bestellt.
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Zuerst den Türbereich reinigen.
Dazu 2 EL (40g) [[Zitronensäure]] in ½ Tasse heißem Wasser lösen und die Flächen abwischen.
Nun weitere 6 EL (120g) in die leere Spülmaschine einstreuen, das Sieb aussparen.
Programm ohne Vorspülgang wählen (mind. 50°) und ohne Geschirr durchlaufen lassen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""Karin, 1. Charge: Waschsoda, Natron, SM-Salz, Zitronensäure, weißen Essig und ein wenig ÄÖ Orange.
>>>Spülergebnis fantastisch, Trocknung & Ausformung allerdings scheiße.
Karin, 2. Charge, 285g:
100g / 35% Waschsoda
80g /28% Natron
60g /21% Spülmaschinen-Salz
45g /16% Zitronensäure
40 - 50 Tr. ÄÖ (hier Zitrone- zur Reinigungskraft-Unterstützung und Teebaum)
Wasser
Ich habe das Leitungswasser vorsichtig dazu gegeben, bis es eine Konsistenz wie feuchter Sand war. Das blieb auch so und ich konnte sie wie Badebomben gut in die Form pressen.
Mein Spülmaschinensalz ist recht grob. Weil ich da so meine Bedenken mit der Verarbeitung hatte, mahle ich das vorher staubfein. So lässt es sich ohne Probleme mit in den pulvrigen Rohstoffen vermischen. Aufgelöst habe ich da nichts vorher.
Ich habe das Wasser immer nur so zugegeben, dass die Masse gut knetbar (wie nasser Sand eben) war. So mach ich das ja auch bei den Badebomben. Wichtig ist ja, dass das ganze nicht zu trocken und nicht zu nass ist und es gut in die Form gepresst wird. Dann sollte es klappen. Bei mir war es jedenfalls so diesmal.
>>>Trocknung & Ausformung prima. Spülergebnis auch prima, Nachpolieren musste ich auch diesmal nicht.
Maxelli, 100 g ergeben ca 6 Spültabs. Als Form habe ich Medikamentendosierer aus dem Krankenhaus verwendet.:
44% Soda
25% Zitronensäure
22% Natron
9% Salz
+ noch ein wenig Seifenpulver (evtl. 3-4%) und Zitronenöl
>>>Trocknung & Ausformung prima.
Zusätzliches Seifenpulver oder ein Tensid brachten bei meinem Geschirrspülpulver bessere Ergebnisse. Deshalb habe ich schon ein synthetisches Tensid oder wie hier Seife verwendet.
Zitronenöl vor allem wegen des frischen Duftes.
Die Zitronensäure kann weiter reduziert werden.
Ich habe jetzt die Menge noch einmal durch praktische Versuche überprüft. Die Zitronensäure kann (muss) weiter reduziert werden. Das Citrat aus einem Teil des Sodas und der Zitronensäure darf nicht zu hoch sein, da es die Reinigungsleistung mindert.
Meine letzte Dosis ( 17g, ca. 1 Esslöffel Pulver)
12g /70,6% Soda
3g /17,6% Zitronensäure
2g /11,8% Natron
4% Percarbonat wären gut bei Verfärbungen von Tee und Kaffee.
Wenn da wirklich mal Verfärbungen auftreten sollten, werde ich das mal mit dem Percarbonat oder mit der Sauerstoffbleiche von Brauns Heitmann probieren.
Ich nehme immer Spülmaschinensalz. Ich hab gelesen, dass normales Salz nicht so gut sein soll für die Maschine wegen den Rieselhilfen, die da mit drin sein sollen.
ich habe irgendwo mal gelesen das Spülmaschinensalz in selbstgemachten Tabs die Gläser auf Dauer blind macht.
ich hab noch mal gestöbert, warum wir denn lieber Spülmaschinensalz anstatt Speisesalz nehmen sollten. Bei wikipedia wird es, glaube ich, ganz gut und einfach erklärt. So, wie ich es verstanden habe, sind im normalen Speisesalz Rieselhilfen und sonstige Zusatzstoffe drin, die den Ionentauscher mit der Zeit beeinträchtigen können. Dieser Tauscher ist doch dafür da, dass das Wasser weich wird. Sprich, der Kalk im Wasser und somit die Ablagerungen auf dem Geschirr und Besteck, werden dadurch weniger oder sogar verhindert.
meine Frage kann ich wahrscheinlich selber beantworten. Ohne Natron lassen sich die Tabs nur schwer formen. Gestern Abend habe ich noch welche ohne Natron probiert, die mir aber zerbröselten. Heute Morgen mit Natron ging die Formerei wesentlich besser.
Angebrannte Töpfe einfach mit Natron und Wasser kurz aufkochen und über Nacht stehen lassen. Morgens kannst du das Angebrannte mit einer Bürste ganz leicht lösen.
Eine verstärkte Reinigungskraft erhälst du durch Erhöhung von Soda.
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-0, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Squalane
''Jodzahl:'' 1–2,7 (nicht trocken)
''Schmelzbereich:'' -39°C
''Spreitwert nach Olionatura®:'' Hochspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 12 Monate
''Verseifungszahl:'' 0,5–1,6
__Schnell spreitendes, oxidationsstabiles und reizfreies Lipid in Hautemulsionen, Sonnenpflegeprodukten, Foundations und Haarpflegeprodukten.__
Squalan generiert ein ausgesprochen __weiches, seidiges und unfettiges Hautgefühl__, weist mit einem Spreitwert von 602 unter den natürlichen Ölen eine ausgezeichnete Spreitfähigkeit auf und ist absolut reizlos. Als gesättigter Kohlenwasserstoff zieht es selbst kaum ein, beinflusst jedoch das Einziehverhalten eines Kosmetikums positiv, da es durch seine Niedrigviskosität die Spreiteigenschaften einer Emulsion verbessert und eine rückfettende Haptik verringert.
In Rezepturen wird es als Lipidkomponente je nach Konzept auch höher dosiert eingesetzt; in diesem Fall sollte berücksichtigt werden, dass es auf Grund seiner geringen Viskosität der Emulsion eine fluidere Konsistenz verleiht. Auch in der __Haarpflege__ (als Zusatz im Shampoo oder in einem Leave In) ist Squalan aufgrund der oben genannten Eigenschaften als Lipid ausgesprochen sinnvoll eingesetzt: Zusammen mit Brokkolisamenöl ist es ideal für __leichte, natürliche Haarpflegeprodukte__ und für Emulsionen mit Pigmenten (z. b. __Foundations__), da es diese gut benetzt und ihre Dispergierbarkeit fördert.
Als oxidationsstabiles Lipid eignet sich Squalan darüber hinaus __ausgezeichnet für Sonnenschutzprodukte__.
Squalan __schützt die Haut vor Feuchtigkeitsverlust__ und __macht sie weich und geschmeidig__. Die Cremes und Lotions werden extrem spreitfähig, lassen sich also sehr gut auf der Haut verteilen und __ziehen schnell ein, ohne einen Fettfilm__ zu hinterlassen. Es wirkt __auf milde Weise glättend und pflegend__, weswegen es auch für Kleinkinderprodukte geeignet ist.
Squalan ist Bestandteil des hauteigenen Hydrolipidfilms und verbessert dessen Struktur. Es ist besonders für __empfindliche, trockene, spröde und schuppige Haut__, z.B. bei Hautproblemen wie __Schuppenflechte und Neurodermitis__ geeignet.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Squalan]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Squalan]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
@@.lefttable
|<img width=340 src="https://share-your-photo.com/img/5e47bcf45d.jpg"/>||
|<h6>Ordercrazy [[Solanum tuberosum Kum Jung (02)|https://commons.wikimedia.org/wiki/File:Solanum_tuberosum_Kum_Jung_(02).jpg]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya<br/>(u.a. No machine-readable author provided.<br/>[[Lumbar~commonswiki|https://commons.wikimedia.org/wiki/User:Lumbar~commonswiki]] assumed (based on copyright claims).<br/>([[Potato heart mutation|https://commons.wikimedia.org/wiki/File:Potato_heart_mutation.jpg]]), Ausschnitt & Farbwert von Surya, [[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]),<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
@@font-size:1.3em;''Im Bild: Kartoffelstärke''@@ @@font-size:0.9em;(Es geht aber auch jede andere Stärke)@@
''Art / Konsistenz der Zutat:'' Pulver, Wirkstoff & Verdickungsmittel
''Besonderheit/kosmetische Wirkung:'' Nimmt Feuchtigkeit auf und verdickt Produkte.
''Duftprofil:'' Geruchsneutral.
''Tipp für die Verarbeitung:'' /
''Lagerung:'' Muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Beachte:'' /
''Erhältlich bei:'' In jedem Supermarkt, Biomarkt.
''Worauf beim Kauf achten:'' /<br/><br/><br/>
"""
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Stärke]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Stärke]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
[[Waschsoda]] bleicht Flecken und sorgt zusätzlich für Hygiene. Damit ist sie sehr gut zur Vorbehandlung stark verschmutzter Wäsche geeignet, z.B. für Berufskleidung, Geschirr- & Handtücher, Tisch- & Bettwäsche, Socken.
Außerdem macht Soda das Wasser weicher, indem sie Kalk ausfällt. Diese Eigenschaft spielt beim Einweichen von Wäsche oder Enthärten von Wasser für Waschmaschine eine Rolle. Bei kaltem Wasser dauert das Ausfällen 1-2 Stunden, bei warmen Wasser rund 30 Minuten und bei heißem Wasser gut 2 Minuten. Frische Blutflecken immer kalt behandeln."""
Nicht geeignet für Wolle, Seide und Farbempfindliches!
# 10 l Wasser in Schüssel, Eimer oder Wanne geben.
# 1–2 EL (10–20g) Soda hinzufügen.
# Nach ½ Stunde Wäsche einlegen und über Nacht einweichen.
# Anschließend wie gewohnt waschen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
* ''Stativplatte:'' Eine günstige Stativplatte kann man hier https://www.biologie-bedarf.de/products/541111/?PHPSESSID=2031341ee4c38d8583d8324eb79a09c2 kaufen. Die handliche aber schwere Platte sorgt für einen stabilen Stand des gesamten Aufbaus. Die Bohrung mit Gewinde für den Stativstab ist bereits angebracht. Kosten: 15,85 Euro (zzgl. Versand)
* ''Stativstab:'' Beim gleichen Lieferanten gibt es auch den passenden Stativstab. Er ist in den Längen 50 cm und 75 cm erhältlich. Für den Aufbau mit dem Proxxon Feinbohrschleifer genügt der kleinere Stab. Kosten: 11,90 Euro (zzgl. Versand)
* ''Stativklemmen'' dienen als Halterungen für Rührgerät und Becherglas. Sie sind in verschiedenen Spannweiten erhältlich. Ich habe mich für die mit der größten Spannweite entschieden, weil ich dadurch flexibler bin und kleine sowie große Gläser einspannen kann. Kosten: Pro Stück 12,95 Euro (zzgl. Versand)
* ''Doppelmuffen:'' Die Doppelmuffen werden zum Befestigen der Stativklemmen benötigt. Die eine Seite steckt man auf den Stativstab, in die andere wird die Stativklemme befestigt. Kosten: Pro Stück 6 Euro (zzgl. Versand)
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Steinplatten, Holzwände, Holzgartenmöbel oder Zäune lassen sich mit [[Waschsoda]] schnell und einfach von Grünbelag befreien. Pflanzen im Umfeld werden dabei geschont.
Dosierung:
1–2 EL (10-20g) Reine Soda auf 10 l Wasser
"""
__Tip:__ Es ist nicht geeignet für Aluminium und alkaliempfindliche Oberflächen wie Marmor, polierter Granit, Kalkstein. Bei empfindlichen Oberflächen bitte vor der Anwendung an verdeckter Stelle prüfen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
html span.tc-title{ color: red; font-family: "Kaushan Script"; cursive; }
.nowrapme {white-space: nowrap;}
<div class="tc-more-sidebar">
<<tabs "[all[shadows+tiddlers]tag[Suche]!has[draft.of]]" "$:/core/ui/MoreSideBar/Tags" "$:/state/tab/moresidebar" "tc-vertical">>
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Suche (Links)' ![$:/temp/pptg-taggroup]sort[title]>>
</div>
<div style="background:White;">
<h2>Suchen & Filtern</h2>
"""
Beispiele, wie Du in der erweiterten Suche suchen oder in Listen filtern kannst.
Meistens muss man so suchen: `[operator[parameter]]`, beginnt also mit [, dann kommt der Operator, danach der eingeklammerte Parameter. Am Schluss die Endklammer ].
Hast Du mehrere Parameter eines Operators, dann so: `[operator[parameter]] +[operator[parameter]] +[operator[parameter]]`. Also z.B. so: `[tag[recipe]] +[tag[soup]] +[tag[Vegetarian]]` findet alle vegetarischen Suppen-Rezepte.
Findet alle Tiddler mit dem Tag Recipe: `[tag[Recipe]]`
Findet alle Tiddler, die NICHT mit Recipe getaggt sind (negiert durch !): `[!tag[Recipe]]`
Wenn Du bei Rezepten ein Feld namens serving eingegeben hast und dort bei manchen Rezepten den Wert 4 eingegeben hast, kannst Du auch genau danach suchen / filtern: `[tag[Recipe]field:serving[4]]`
Findet alle Tiddler mit Tag Vegetarian, ohne Tag soup mit serving:4, also alle vegetarischen Rezepte, die keine Suppen sind, für 4 Personen: `[tag[Vegetarian]!tag[soup]serving[4]]`
Findet Rezepte für 3 ODER 4 ODER 5 Personen per Leerzeichen dazwischen: `[serving[3]] [serving[4]] [serving[5]]`
Wenn Du Rezepte für 3 ODER 5 Personen suchst, aber keine vegetarischen für 4 Personen finden willst: `[serving[3]] [serving[4]!tag[Vegetarian]] [serving[5]]`
Hast Du Tiddler mit einem Feld namens due, indem manchmal der Wert 18.03.01, manchmal der Wert 18.03.15, manchmal der Wert 18.03.30 und manchmal der Wert 18.04.05 steht, dann findest Du alle Tiddler, die mit ToDo getaggt sind und im Feld due einen Wert beginnend mit 18.03 haben, sortiert nach dem Wert im Feld due so: `[tag[ToDo]regexp:due[^18.03]sort[due]]`.
Die gleiche Suche aber für due-Werte beginnend mit 18.04: `[tag[ToDo]regexp:due[^18.04]sort[due]]`.
Alle Operatoren: https://tiddlywiki.com/static/Filter%2520Operators.html
<h2>...Und damit interaktive Tiddlerlisten erstellen</h2>
Z.B. `<<list-links filter:"[tag[TW-Style]sort[title]]">>` ergibt:
<<list-links filter:"[tag[TW-Style]sort[title]]">>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
`
|!Titelzelle1|!Titelzelle1|!Titelzelle1|
|Zelle1|Zelle1|Zelle1|
|Zelle2|Zelle2|Zelle2|
|!Diese Zelle wurde mit der unteren zusammengefasst|Inhaltszelle 3 |Inhaltszelle 3 |
|~|Diese Zelle wurde mit der rechten zusammengefasst |<|
| !Titelzelle 4 | Inhaltszelle 4| Inhaltszelle 4|
| +++ a very wide column so we can see the alignment +++| +++ a very wide column so we can see the alignment +++ |+++ a very wide column so we can see the alignment +++ |f
`
!!wird zu:
| !Titelzelle1|!Titelzelle1|!Titelzelle1|
|!Diese Zelle wurde mit der unteren zusammengefasst|Inhaltszelle 2 |Inhaltszelle 2 |
|~|Diese Zelle wurde mit der rechten zusammengefasst |<|
| !Titelzelle 4 | Inhaltszelle 4| Inhaltszelle 4|
| +++ a very wide column so we can see the alignment +++| +++ a very wide column so we can see the alignment +++ |+++ a very wide column so we can see the alignment +++ |f
-------------------------------------------------------------------
-------------------------------------------------------------------
Die Tabelle kann auch links, mittig oder rechts positioniert werden mit `<div style="float:left;">Hier stünde die Tabelle</div>`.
`margin-right:2em` sorgt dann dafür, dass der Text nach der Tabelle etwas Abstand zur Tabelle hat.
Also z.B.:
`<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text`
!!wird dann zu
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
<div style="float:left;margin-right:2em">
|!Zelle1|!Zelle2|
|Zelle3|Zelle4|
</div>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
"""25 g Tegomuls
2g Ceralan
5 g Sheabutter
68 ml Mandel- oder Sonnenblumenöl
10 g Fettphase
20 ml dest. Wasser abgekocht und auf ungefähr 60-65 Grad abgekühlt
15 ml Salbeitee, sehr stark gekocht, evtl über Nacht ziehen lassen
1g D-Panthenol 75
10 Trpf. Aloe Vera 10 fach
1 g Harnstoff in warmem Wasser aufgelöst
0,5 Messl. Vitam. E Acethat
3-6 Trfp. äth. Öl oder Duftöl nach Wahl
5 Trpf. Paraben K
"""Fettphase:
7g Tegomuls
1g Bienenwachs
9g Jojobawaschs
13g Mandelöl
10g Fettphase
14ml Wasser
14ml Gurkenextrakt (nach dem Rezept von petrine65)
4ml Ringelblumentinktur
Ich habe die Creme mit dem Milchschäumer gerührt, so wurde sie fast wie ein Mousse. Ich mag den Duft so wies ist, aber ich denke es gäbe sicher auch passende Parfumierungen.
Die Creme erfrischt das Gesicht richtig toll und spendet Feuchtigkeit.
<div style="background:white;">
Wenn Du einen Tag in einem Tiddler erwähnen möchtest, der (fast) genauso aussieht, wer der Tag selbst (also die gleiche Hintergrundfarbe hat), musst Du folgendes tun:
Erstelle einen Tiddler namens [[showtag]].
Der Tag, der als solcher angezeigt werden soll, muss ein existierender Tiddler sein, der das Feld "color" hat, indem ich eine Farbe ausgewählt habe.
Nun kannst Du diesen Tag so in einem Tiddler erwähnen:
`{{Anleitungen einzeln||showtag}}` wird zu: {{Anleitungen einzeln||showtag}}
\define addPrefix() +[tag[
\define addSuffix() ]]
\define finalFilter() [all[tiddlers]] $(myfilter2)$ +[regexp[^$(additionalCriteria)$]]
<$reveal type="nomatch" state="$:/state/SampleRevealMTSZEvFe" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZEvFe" setTo="show">Zeige Tags für @@color:green;"Eigenschaften von Fetten (hier kannst Du auch Rezepte zur Hautpflege relativ einfach kreieren)"@@</$button><br/><br/>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSZEvFe" text="show">
<$button class="willkommenbuttonfarbig" set="$:/state/SampleRevealMTSZEvFe" setTo="hide">Verberge Tags für @@color:red;"Eigenschaften von Fetten (hier kannst Du auch Rezepte zur Hautpflege relativ einfach kreieren)"@@</$button>
{{/%----------------------------------------------------------------------------%/}}
''40% Feuchtigkeitsspendende Öle / Fette:''
<$list filter="[[Zutat:Feuchtigkeitsspendende Öle]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
''40% Fette Öle / Fette:''
<$list filter="[[Zutat:Fette Öle]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
''20% Wirkstofföle:''
<$list filter="[[Zutat:Ölgruppe_W1-W3]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
{{/%----------------------------------------------------------------------------%/}}
''Spreitverhalten kombinieren'':
Kombiniere Öle/Fette optimal so, dass allen Spreitgruppen berücksichtigt werden. Dabei bestimmt der Einsatzbereich und die Hautsituation, in welchen Anteilen die einzelnen Gruppen berücksichtigt werden. Sinnvoll kombinierte Spreiteigenschaften können das Auftragsverhalten, das Hautgefühl und die nachhaltig pflegende Wirkung eines Produkts deutlich verbessern.
__Hochspreitend__ heißt, das Öl verteilt sich sehr gut und dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.
__Niedrigspreitend__ heißt, das Öl verteilt sich langsam und dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Dies prädestiniert es für den Einsatz am Auge, denn es kriecht nicht in die empfindlichen Schleimhäute. Es ist haptisch jedoch ausgeprägt fettend.
__Mittelspreitendes__ Öl tut dies alles in Mittelwerten.
''Spreitverhalten:''
<$list filter="[[Zutat:Hochspreitend]] [[Zutat:Mittelspreitend]] [[Zutat:Niedrigspreitend]]" template="$:/core/ui/TagTemplate"
selectedTiddler="$:/temp/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
template="CheckboxTemplate"
/><br/>
{{/%----------------------------------------------------------------------------%/}}
<$set filter="[field:criteria[yes]addprefix<addPrefix>addsuffix<addSuffix>]" name=myfilter>
<$wikify text=<<myfilter>> name=myfilter2 type=text>
Gewählte Tags: <$list filter="[field:criteria[yes]]" storyview="pop"><$set name="backgroundColor" value={{!!color}}><span style=<<tag-pill-styles>> class="tc-tag-label">
<$view field="title" format="text" />
<$button message="tm-remove-tag" param={{!!title}} class="tc-btn-invisible tc-remove-tag-button">×</$button></span>
</$set>
</$list>
<div style="display:inline;"><<show-system>></div>
<$button class="willkommenbutton">Öffne ''ALLE gefundenen'' Tiddler
<$list filter=<<finalFilter>>>
<$action-navigate $to=<<currentTiddler>> $scroll=no/>
</$list>
</$button>
<$count filter=<<finalFilter>> /> Gefundene Tiddler:
<$reveal type="nomatch" state="$:/state/SampleRevealMTSGefundene" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSGefundene" setTo="show">Zeige @@color:green;"Gefundene Tiddler"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealMTSGefundene" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealMTSGefundene" setTo="hide">Verberge @@color:red;"Gefundene Tiddler"@@</$button>
<$macrocall $name=list-links filter=<<finalFilter>> />
{{/%
</$wikify>
</$set>
</$vars>
%/}}
</$reveal>
{{/%----------------------------------------------------------------------------%/}}
''Nun kannst Du im Rezepte-Rechner von Olionatura Dein gewünschtes Rezept in g & in % ausrechnen lassen:
https://www.olionatura.de/kosmetikrechner/rezepterechner-in-gramm.php''
<br/><br/>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Teebaumöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Teebaumöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Teebaumöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""7 gr Squalan
0,5 gr Carnaubawachs
erhitzen, bis homogen, dann:
0,5 gr Kaolin (Fettaufsaugend)
4 gr !! Ronasphere LDP
hinzufuegen und guut ruehren. Zum Schluss evt noch:
1 Tropfen Vitamin E
Die fluessige Phase in einen Topf giessen, haertet sehr schnell aus.
Zum faltenwegspiegelnden Effekt:
Also wenn ich das Zeug ueber die Haut gebe (kann man eh nur sparsam dosieren, da hart) dann werden die Stellen der Haut die tiefer liegen heller als die, die hoeher liegen. Es setzt sich so darein. Ich habe keine grosse Falten im Gesicht wo ich das naeher testen koennte, aber der Schatten unter den Augen wird heller, ausserdem verfeinert sich das Hautbild.
Das Zeug spielt nun mal mit den Licht, die Falten gehen davon nicht weg .
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="text-align: center;font-size: 1.8em"> ''Tensid-Analyserechner für Rezepte mit %-Angaben'' </div><br/>
"""Hier kannst Du analysieren, wieviel % WAS Dein Rezept hat.
Tenside erhalten wir in konzentrierter Form.
Die Konzentration eines Tensids, aber auch eines Produkts, wird in WAS (WaschAktive Substanzen) angegeben.
__Empfohlene WAS-Konzentrationen in Produkten__
Shampoos für normales bis fettiges Haar: 12–15% WAS
Shampoos für trockenes, sprödes Haar: 10–12% WAS
Duschgele: 10–15% WAS
Badezusätze: 20–35% WAS
Gesichtsreinigungsemulsionen (je nach Hautzustand): 0,5–3% WAS
Gesichtswaschgele (je nach Hautzustand): 3–7 % WAS
Babypflege: 0,5–3% WAS
Das unten erklärte Beispielrezept habe ich auch in die Berechnung eingefügt- als Anschauungsbeispiel.
Überschreibe die Werte einfach mit Deinen Werten.
(Ich kenne bisher nur SCI als Tensid, deshalb heißen die beiden anderen nur "Tensid 2" & "Tensid 3")."""
<line>
------------------------------------------------------------------------
<div style="float:left;width:49.7%;margin-left:0em;"><br/>
"""''Beispiel mit 2 Tensiden:''
Ich habe 45.27% SCI (80% WAS) und 10% Tensid 2 (50% WAS) im Produkt.
Wieviel % WAS hat mein Produkt insgesamt?"""
</div>
<div style="float:right;width:49.7%;margin-right:0em;"><br/>
"""__Die Formel lautet:__
%-Anteil des 1. Tensids im Rezept x WAS-Anteil des Tensids : 100
+ %-Anteil des 2. Tensids im Rezept x WAS-Anteil des Tensids : 100
__Berechnung__
(45.27 x 80 : 100) + (10 x 50 : 100) = __41.216%__"""
</div>
<br/><br/><br/><br/><br/><br/><br/>
------------------------------------------------------------------------
<div style="background-color:#ffffb3"><br/>"""
''Gesamt-WAS im Produkt analysieren:''<br/>
''Gesamt-WAS im Produkt:'' ''__@@background-color:lightgreen;<$calc>round(({{Tensid-Rechner Data Rezeptanalyse mit %!!tensidanteiltensid1}} * {{Tensid-Rechner Data Rezeptanalyse mit %!!tensidwastensid1}} / 100) + ({{Tensid-Rechner Data Rezeptanalyse mit %!!tensidanteiltensid2}} * {{Tensid-Rechner Data Rezeptanalyse mit %!!tensidwastensid2}} / 100) + ({{Tensid-Rechner Data Rezeptanalyse mit %!!tensidanteiltensid3}} * {{Tensid-Rechner Data Rezeptanalyse mit %!!tensidwastensid3}} / 100),2)</$calc>%@@__''
<$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensidanteiltensid1' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensid1' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensidwastensid1' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Rezeptanalyse mit %!!tensidanteiltensid1}} * {{Tensid-Rechner Data Rezeptanalyse mit %!!tensidwastensid1}} / 100,2)</$calc>% WAS vom {{Tensid-Rechner Data Rezeptanalyse mit %!!tensid1}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensidanteiltensid2' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensid2' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensidwastensid2' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Rezeptanalyse mit %!!tensidanteiltensid2}} * {{Tensid-Rechner Data Rezeptanalyse mit %!!tensidwastensid2}} / 100,2)</$calc>% WAS vom {{Tensid-Rechner Data Rezeptanalyse mit %!!tensid2}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensidanteiltensid3' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensid3' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit %' field='tensidwastensid3' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Rezeptanalyse mit %!!tensidanteiltensid3}} * {{Tensid-Rechner Data Rezeptanalyse mit %!!tensidwastensid3}} / 100,2)</$calc>% WAS vom {{Tensid-Rechner Data Rezeptanalyse mit %!!tensid3}}__''<br/>
<div style="background-color:white"><br/>
"""''Tenside & ihre WAS:''
SCI: 80%
<br/>"""
<div style="background-color:#ffff99"><br/>
<$edit-text tiddler="$:/temp/Tensid-Analyserechner für Rezepte mit %-Angaben Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Rezepte hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
</div>
<div style="text-align: center;font-size: 1.8em"> ''Tensid-Analyserechner für Rezepte mit g-Angaben'' </div><br/>
"""Hier kannst Du analysieren, wieviel % WAS Dein Rezept hat.
Tenside erhalten wir in konzentrierter Form.
Die Konzentration eines Tensids, aber auch eines Produkts, wird in WAS (WaschAktive Substanzen) angegeben.
__Empfohlene WAS-Konzentrationen in Produkten__
Shampoos für normales bis fettiges Haar: 12–15% WAS
Shampoos für trockenes, sprödes Haar: 10–12% WAS
Duschgele: 10–15% WAS
Badezusätze: 20–35% WAS
Gesichtsreinigungsemulsionen (je nach Hautzustand): 0,5–3% WAS
Gesichtswaschgele (je nach Hautzustand): 3–7 % WAS
Babypflege: 0,5–3% WAS
Das unten erklärte Beispielrezept habe ich auch in die Berechnung eingefügt- als Anschauungsbeispiel.
Überschreibe die Werte einfach mit Deinen Werten.
(Ich kenne bisher nur SCI als Tensid, deshalb heißen die beiden anderen nur "Tensid 2" & "Tensid 3")."""
------------------------------------------------------------------------
<div style="float:left;width:49.7%;margin-left:0em;"><br/>
"""''Beispiel mit 2 Tensiden:''
Ich habe 20.4g SCI (80% WAS) und 10g Tensid 2 (50% WAS) im Produkt. Das Produkt hat 55g Gesamtmenge.
Wieviel % WAS hat mein Produkt?"""
</div>
<div style="float:right;width:49.7%;margin-right:0em;"><br/>
"""__Die Formel lautet:__
Tensid in g : Gesamtmenge des Rezepts x Tensid-WAS
+ Tensid in g : Gesamtmenge des Rezepts x Tensid-WAS
__Berechnung__ 29,67 + 9,09
(20.4 : 55 x 80) + (10 : 55 x 50) = __38,76%__"""
</div>
<br/><br/><br/><br/><br/><br/><br/>
<br/>Wenn Du nur 1 Tensid verwenden willst, brauchst Du natürlich auch nur die Werte für dieses eine Tensid ausfüllen- in diesem Fall mit einem Tensid-Anteil von 100%.
------------------------------------------------------------------------
<div style="background-color:#ffffb3"><br/>"""
''Gesamt-WAS im Produkt analysieren:''
Gesamtmenge des Produkts: <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='rezeptmenge' size=5/>g
''Gesamt-WAS im Produkt:'' ''__@@background-color:lightgreen;<$calc>round(({{Tensid-Rechner Data Rezeptanalyse mit g!!tensidanteiltensid1}} / {{Tensid-Rechner Data Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Rezeptanalyse mit g!!tensidwastensid1}}) + ({{Tensid-Rechner Data Rezeptanalyse mit g!!tensidanteiltensid2}} / {{Tensid-Rechner Data Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Rezeptanalyse mit g!!tensidwastensid2}}) + ({{Tensid-Rechner Data Rezeptanalyse mit g!!tensidanteiltensid3}} / {{Tensid-Rechner Data Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Rezeptanalyse mit g!!tensidwastensid3}}),2)</$calc>%@@__''
<$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensidanteiltensid1' size=5/>g vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensid1' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensidwastensid1' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Rezeptanalyse mit g!!tensidanteiltensid1}} / {{Tensid-Rechner Data Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Rezeptanalyse mit g!!tensidwastensid1}},2)</$calc>% WAS vom {{Tensid-Rechner Data Rezeptanalyse mit g!!tensid1}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensidanteiltensid2' size=5/>g vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensid2' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensidwastensid2' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Rezeptanalyse mit g!!tensidanteiltensid2}} / {{Tensid-Rechner Data Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Rezeptanalyse mit g!!tensidwastensid2}},2)</$calc>% WAS vom {{Tensid-Rechner Data Rezeptanalyse mit g!!tensid2}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensidanteiltensid3' size=5/>g vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensid3' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptanalyse mit g' field='tensidwastensid3' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Rezeptanalyse mit g!!tensidanteiltensid3}} / {{Tensid-Rechner Data Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Rezeptanalyse mit g!!tensidwastensid3}},2)</$calc>% WAS vom {{Tensid-Rechner Data Rezeptanalyse mit g!!tensid3}}__''<br/>
<div style="background-color:white"><br/>
"""''Tenside & ihre WAS:''
SCI: 80%
<br/>"""
<div style="background-color:#ffff99"><br/>
<$edit-text tiddler="$:/temp/Tensid-Analyserechner für Rezepte mit %-Angaben Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Rezepte hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
</div>
<div style="text-align: center;font-size: 1.8em"> ''Tensid-Planungsrechner'' </div>
"""Hier kannst Du berechnen, wieviel Tensid*e Du für Dein geplantes Produkt brauchst.
Tenside erhalten wir in konzentrierter Form.
Die Konzentration eines Tensids, aber auch eines Produkts, wird in WAS (WaschAktive Substanzen) angegeben.
__Empfohlene WAS-Konzentrationen in Produkten__
Duschgel, Shampoo: 10–15% WAS
Badezusatz (Schaumbad): 20–35% WAS
Gesichtsreinigung: 0,5–3% WAS
Das unten erklärte Beispielrezept habe ich auch in die Berechnung eingefügt- als Anschauungsbeispiel.
Überschreibe die Werte einfach mit Deinen Werten.
(Ich kenne bisher nur SCI als Tensid, deshalb heißen die beiden anderen nur "Tensid 2" & "Tensid 3")."""
------------------------------------------------------------------------
<div style="float:left;width:49.7%;margin-left:0em;"><br/>
"""''Beispiel:''
Ich möchte ein Shampoo mit einer Gesamtmenge von 150g & einer Rezept-WAS von 15% herstellen.
Zur Verfügung stehen mir:
70% Tensid SCI mit 80% WAS,
20% Tensid 2 mit 40% WAS,
10% Tensid 3 mit 50% WAS.
Wieviel Gramm benötige ich von den 3 Tensiden?"""
</div>
<div style="float:right;width:49.7%;margin-right:0em;"><br/>
"""__Die Formel lautet:__
Gewünschte Rezept-WAS : vorhandene Tensid-WAS x Rezept-Gesamtmenge x dem Tensid-Anteil als Faktor.
__Berechnung__
Tensid SCI:
15 : 80 x 150g x 70 : 100 = __19.69g benötigtes SCI__
Tensid 2:
15 : 40 x 150g x 20 : 100 = __11.25g benötigtes Tensid 2__
Tensid 3:
15 : 50 x 150g x 10 : 100 = __4.5g benötigtes Tensid 2__"""
</div>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<br/>Wenn Du nur 1 Tensid verwenden willst, brauchst Du natürlich auch nur die Werte für dieses eine Tensid ausfüllen- in diesem Fall mit einem Tensid-Anteil von 100%.
------------------------------------------------------------------------
<div style="background-color:#ffffb3"><br/>"""
''Benötigte Tensidmenge berechnen:''<br/>
Bei einer Rezept-Gesamtmenge von <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='rezeptmengetensid' size=5/>g und gewünschten <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='rezeptwastensid' size=2/>%WAS<br/>
mit <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidanteiltensid1' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensid1' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidwastensid1' size=3/>% WAS brauchst Du: ''@@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Rezeptplanung!!rezeptwastensid}} / {{Tensid-Rechner Data Rezeptplanung!!tensidwastensid1}} * {{Tensid-Rechner Data Rezeptplanung!!rezeptmengetensid}} * ({{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid1}} / 100),2)</$calc>g {{Tensid-Rechner Data Rezeptplanung!!tensid1}}@@''<br/>
und mit <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidanteiltensid2' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensid2' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidwastensid2' size=3/>% WAS brauchst Du: ''@@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Rezeptplanung!!rezeptwastensid}} / {{Tensid-Rechner Data Rezeptplanung!!tensidwastensid2}} * {{Tensid-Rechner Data Rezeptplanung!!rezeptmengetensid}} * ({{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid2}} / 100),2)</$calc>g {{Tensid-Rechner Data Rezeptplanung!!tensid2}}@@''<br/>
und mit <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidanteiltensid3' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensid3' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Rezeptplanung' field='tensidwastensid3' size=3/>% WAS brauchst Du: ''@@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Rezeptplanung!!rezeptwastensid}} / {{Tensid-Rechner Data Rezeptplanung!!tensidwastensid3}} * {{Tensid-Rechner Data Rezeptplanung!!rezeptmengetensid}} * ({{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid3}} / 100),2)</$calc>g {{Tensid-Rechner Data Rezeptplanung!!tensid3}}@@''
''Tensidanteil gesamt: @@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid1}} + {{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid2}} + {{Tensid-Rechner Data Rezeptplanung!!tensidanteiltensid3}},2)</$calc>%@@'' @@color:red;>>Hier müssen 100% bei herauskommen!@@
(Wenn nicht, musst Du nochmal die %-Anteile von den Tensiden korrigieren!)<br/>
<div style="background-color:white"><br/>
"""''Tenside & ihre WAS:''
SCI: 80%
<br/>"""
<div style="background-color:#ffff99"><br/>
<$edit-text tiddler="$:/temp/Tensid-Planungsrechner Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Rezepte hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
</div>
<$reveal type="nomatch" state="$:/state/SampleRevealTR1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR1" setTo="show">@@color:green;Zeige "Tensid-Planungsrechner"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTR1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR1" setTo="hide">@@color:red;Verberge "Tensid-Planungsrechner"@@</$button>
{{Tensid-Planungsrechner}}
</$reveal>
<div style="background:black;"><br/>
<div style="background:white;"><br/>
<$reveal type="nomatch" state="$:/state/SampleRevealTR2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR2" setTo="show">@@color:green;Zeige "Tensid-Analyserechner für Rezepte mit ''%''-Angaben"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTR2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR2" setTo="hide">@@color:red;Verberge "Tensid-Analyserechner für Rezepte mit ''%''-Angaben"@@</$button>
{{Tensid-Analyserechner für Rezepte mit %-Angaben}}
</$reveal>
<div style="background:black;"><br/>
<div style="background:white;"><br/>
<$reveal type="nomatch" state="$:/state/SampleRevealTR3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR3" setTo="show">@@color:green;Zeige "Tensid-Analyserechner für Rezepte mit ''g''-Angaben"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTR3" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR3" setTo="hide">@@color:red;Verberge "Tensid-Analyserechner für Rezepte mit ''g''-Angaben"@@</$button>
{{Tensid-Analyserechner für Rezepte mit g-Angaben}}
</$reveal>
<div style="background:black;"><br/>
<div style="background:white;"><br/>
<$reveal type="nomatch" state="$:/state/SampleRevealTR4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR4" setTo="show">@@color:green;Zeige "Tenside ersetzen: Berechnung"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTR4" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTR4" setTo="hide">@@color:red;Verberge "Tenside ersetzen: Berechnung"@@</$button>
{{Tenside ersetzen: Berechnung}}
</$reveal>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#e6b3ff;">
<div style=> </div>"""
Tenside (lat. "Tension" = Spannung), auch als waschaktive Substanzen (WAS) oder Detergentien bezeichnet, machen in der Regel den Hauptbestandteil eines Reinigungsproduktes aus. Die Tensid-Moleküle verringern die <div class="tooltip">Grenzflächenspannung
<span class="tooltiptext">Kräfte, die zwischen Öl und Wasser auftreten; bilden eine gemeinsame Grenzfläche, die unter Grenzflächenspannung steht, sodass sie sich nicht miteinander vermischen können</span></div> des Wassers und können so in kleinste Zwischenräume zwischen Schmutzpartikeln und Oberfläche eindringen. Sie lagern sich mit ihrem <div class="tooltip">lipophilen
<span class="tooltiptext">fettlöslichen /-anziehenden /-bindenden</span></div> Teil an den Schmutzpartikel an (sie bilden um ihn herum eine so genannte Mizelle) und »lösen« ihn auf diese Weise im Wasser, so dass er nun abgespült werden kann. Daneben verhindern sie, dass sich der Schmutz wieder an der Oberfläche anlagern kann.
Auch Seifen sind Tenside- die ältesten.
<div style="text-align: center"><h3> __''Das Reizpotenzial von Tensiden''__ </h3></div>
Was das Reizpotenzial von Tensiden betrifft, so gibt es darunter große Unterschiede. Es wird zwischen 4 Tensid-Gruppen unterschieden, deren Irritationspotenzial oft folgend betrachtet wird: kationische = sehr reizend, anionische = reizend, amphotere = etwas reizend und nichtionische = kaum reizend.
So einfach ist es allerdings nicht. Es trifft zwar zu, dass kationische Tenside (mit einer positiven Ladung) in der Regel sehr reizend sind und inzwischen selten in der Gesichtspflege eingesetzt werden (eher in Weichspülern etc.). Bei Tensiden aus den anderen Gruppen ist allerdings auch deren Kettenlänge entscheidend. Kurzkettige Tenside wie Natrium Lauryl Sulfate (anionisch) können bei längerem Kontakt irritierend wirken, da sie mit Hautproteinen in Reaktion kommen. Langkettige Tenside sind dagegen grundsätzlich wesentlich weniger reizend: Z.B. die langkettigen Sodium Cocoyl Isethionate (SCI), Ammonium Cocoyl Isethionate sowie Sodium Cocoyl Glycinate aus der Anion-Gruppe gelten als mild und feuchtigkeitsspendend. Die kurzkettigen Sodium Lauryl Sulfate und Sodium Laureth Sulfate aus derselben Tensid-Gruppe gelten wiederum als bekannte Irritanten.
<div style="text-align: center"><h3> __''Die Tensidklassen''__ </h3></div>
Die Tensidklassen, unterscheiden sich nach der Ladung ihrer Ionen in wässriger Lösung und haben dadurch unterschiedliche Merkmale. Tenside / Tensidklassen können mehr oder weniger stark reinigen & schäumen, Oberflächen benetzen, sich aber auch durch ihre (positive) Ladung an negativ geladene Haare anlagern, sie glätten und weich machen. Auch reagieren sie sehr unterschiedlich auf pH-Werte und die spezifische Wasserhärte.
Übersicht der Tensidgruppen mit ganz typischen Eigenschaften:"""
* Kationische ( + ) Tenside
** Sehr reizend. Verwendung z.B. in Weichspüler oder als Desinfektionsmittel, Haarspülungen & -kuren, selten in Shampoos
* Anionische ( - ) Tenside
** Reizend. Verwendung z.B. in Seifenreiniger.<br/>Ausnahmen: Langkettige Tenside (z.B. Sodium Cocoyl Isethionate (SCI), Ammonium Cocoyl Isethionate sowie Sodium Cocoyl Glycinate) gelten als mild und feuchtigkeitsspendend.
* Amphotere ( + & - ) Tenside
** Etwas reizend. Verwendung z.B. in Desinfektionsmittel oder auch als Geschirrspülmittel
* Nichtionische Tenside (keine Ladung)
** Kaum reizend. Besitzen eine fettlösende Wirkung, Verwendung z.B. in Sanitäreiniger, Fettlöser
"""
<div style="text-align: center"><h3> __Die Tensidklassen nochmal im Detail:__ </h3></div>
__Kationische Tenside ( + )__
Kationtenside tragen eine positive Ladung in ihrem <div class="tooltip">hydrophilen
<span class="tooltiptext">wasserliebenden</span>
</div> Teil. Diese positive Ladung bewirkt, dass sich die Tensid-Moleküle an der negativ geladenen Haut-, Haar- & Textiloberfläche anlagern. Dadurch spülen sie die Textilwäsche weich, verhindern in der Haarpflege das Fliegen der Haare, wirken glättend, erhöhen den Haarglanz und verbessern die Nasskämmbarkeit- bis zur nächsten Haarwäsche, denn dieser Effekt ist nur von kurzer Dauer. Einen echten Pflegeeffekt im Sinne einer Restrukturierung beschädigter Haarpartien weisen sie nicht auf. Daneben weisen sie aufgrund ihrer bakteriziden (bakterientötenden) Wirkung in kosmetischen Produkten eine ko-konservierende Wirkung auf.
Kationische Tenside gelten als hautreizend und sind im Hinblick auf ihre biologische Abbaubarkeit kritisch zu sehen. Auch das in Selbstrührer-Kreisen bekannte Kurquat / Incroquat / Incroquat Behenyl gehört zu dieser Tensid-Gruppe.
__Anionische Tenside ( - )__
Aniontenside tragen eine negative Ladung in ihrem <div class="tooltip">hydrophilen
<span class="tooltiptext">wasserlöslichen /-anziehenden /-bindenden</span></div> Teil. Chemisch handelt es sich in der Regel um Salze von Natrium (INCI: Sodium), Kalium (INCI: Potassium), Ammoninium (INCI: Ammonium), Magnesium (INCI: Magnesium), Monoethanolamin (INCI: MEA), Diethanolamin (INCI: DEA) oder Triethanolamin (INCI: TEA).
In der konventionellen Kosmetikindustrie nehmen Fettalkoholsulfate wie die als hautreizend bekannten Tenside Natriumlaurylsulfat (Sodium Lauryl Sulfate, kurz SLS) oder Natriumlaurylethylsulfat (Sodium Laureth Sulfat, kurz SLES) den größten Teil an einer Tensidmischung ein, weil sie sehr preiswert in der Herstellung sind. Aniontenside haben eine sehr gute Reinigungswirkung; viele bilden einen ausgeprägten Schaum. Allerdings reagieren sie in der Regel sensibel auf zunehmende Wasserhärte und verlieren dann ihre Reinigungskraft. Mittlerweile haben wir naturkosmetisch empfehlenswerte, im Hinblick auf ihre Hautverträglichkeit ausgesprochen gut bewertete Aniontenside verfügbar:"""
* Perlastan® SC 25 NKPF (Disodium/Sodium Cocoyl Glutamate)
"""
__Amphotere Tenside ( + & - )__
Amphotertenside tragen eine negative und positive Ladung in ihrem <div class="tooltip">hydrophilen
<span class="tooltiptext">wasserlöslichen /-anziehenden /-bindenden</span></div> Teil. Ihre Ladung ist vom pH-Wert der Lösung abhängig: Bei einem pH-Wert < 5 sind sie positiv geladen (kationisch). Die größte Gruppe der amphoteren Tenside gehört zur Stoffgruppe der Betaine. Sie gelten als haut- und schleimhautverträglich, biologisch gut abbaubar und besitzen neben einer guten Reinigungs-Wirkung leicht <br/><div class="tooltip">viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>serhöhende und schaumfördernde Eigenschaften. Primär wird ihre Fähigkeit geschätzt, haut<div class="tooltip">irritative
<span class="tooltiptext">Substanzen, die beim Aufbringen auf die Haut eine sichtbare Reaktion (z.B. Schwellung und/oder Rötung) bewirken</span></div> Wirkungen anionischer Tenside zu mildern, den Verlust deren Reinigungskraft bei hartem Wasser auszugleichen und den Schaum zu stabilisieren.
In der Produktion sind sie, da ihre chemische Struktur sehr komplex ist, deutlich teurer als Fettalkoholsulfate (Natriumlaurylsulfat / SLS und Natriumlaurylethylsulfat / SLES). Daher kombiniert man sie hier in geringer Menge, um das Irritationspotential der Tensidmischung zu senken und gleichzeitig die Kosten niedrig zu halten. Solo eingesetzt sind beide Produkte für Shampoo<div class="tooltip">formulierungen
<span class="tooltiptext">einfach gesagt: Rezepte für den kosmetischen / pharmazeutischen Bereich</span></div> nicht geeignet, da sie auf das Haarkeratin aufziehen und beschwerend wirken. Ihre kosmetischen Vorteile entwickeln sie in Mischungen."""
* Glycinbetain (Betaine / Trimethylglycin)
* Glycintensid / Rewoteric® AM 2 C NM (Disodium Cocoamphodiacetate)
"""
__Nichtionische Tenside (keine Ladung)__
Noniontenside (auch Niotenside genannt) tragen keine Ladung. Sie gelten als die hautverträglichsten und mildesten Tenside auf dem Markt. Viele neutrale Tenside schäumen kaum, Ausnahmen sind die modernen und hochpreisigen Alkylpolyglucoside. Analog zu amphoteren Tenside mildern sie das irritative Potential von Tensidmischungen mit anionischen Tensiden und lassen die Hautbarriere weitgehend intakt. In Haarpflegeprodukten optimieren Sie die Verträglichkeit und den Glanz des Haares. Während sie in industriellen Produkten aufgrund der hohen Produktionskosten primär als <div class="tooltip">Ko-Tensid
<span class="tooltiptext">Mildes Tensid; mindert irritative Wirkungen waschaktiver Substanzen (WAS) des Haupttensids, wirkt schleimhautschützend</span></div> eingesetzt werden, fungieren sie in naturkosmetischen Rezepturen als Basistenside. Weitere Vorteile sind ihre Verträglichkeit mit anderen Tensiden (sie lassen sich mit allen Typen kombinieren) und ihre Unabhängigkeit von der Wasserhärte: Sie reinigen auch bei hartem Wasser ausgezeichnet. Was man wissen sollte: Hinsichtlich der Nasskämmbarkeit »schwächeln« <div class="tooltip">APGs
<span class="tooltiptext">Alkylpolyglucoside >moderne & hochpreisige nichtionische Tenside</span></div>; viele Anwenderinnen machen die Erfahrung, dass sich ihre Haare nach dem Waschen nicht so gut durchkämmen lassen. Bei der Planung eines Shampoos sollten daher <div class="tooltip">konditionierende
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> Substanzen eingeplant werden, die diese Eigenschaft ausgleichen. Ihre ausgeprägte Hautverträglichkeit macht den Nachteil wieder wett."""
* Kokosglucosid / Plantacare® 818 UP (Coco Glucoside)
* Decylglucosid / Plantacare® 2000 UP (Decyl Glucoside)
"""
<div style="text-align: center"><h3> __''Basis- und Ko-Tenside''__ </h3></div>
Grundsätzlich ist es sinnvoll, Basis-Tenside und so genannte <div class="tooltip">Ko-Tenside
<span class="tooltiptext">Milde Tenside; mindern irritative Wirkungen waschaktiver Substanzen (WAS) des Haupttensids, wirken schleimhautschützend</span></div> zu unterscheiden, da anionische, nichtionische, amphotere und kationische Tensid-Klassen gezielt gemäß ihrer Wirkungen kombiniert werden. Manche Tenside können sowohl als Basistenside als auch als Ko-Tenside fungieren; dies ergibt sich aus dem Produktkonzept. In naturkosmetischen Konzepten werden Tenside bevorzugt wie folgt genutzt:
__Basistenside__ sind anionische und nichtionische Tenside. Beide sind reinigungsaktiv und ergänzen sich hervorragend: Die nichtionischen Alkylpolyglucoside haben einen <div class="tooltip">niedrigen CMC-Wert
<span class="tooltiptext">niedriger CMC-Wert = Tenside erreichen schon in geringer Konzentration die niedrigst mögliche Oberflächenspannung und können damit optimal Schmutz benetzen & lösen</span>
</div>, zusammen ergeben sie gut reinigende, schaumstabile Produkte mit einer breiten Akzeptanz unterschiedlicher Wasserhärten. Moderne anionische, aminosäurebasierte Tenside wie Perlastan® SC 25 NKPF sowie Alkylpolyglucoside wie Kokosglucosid und Decylglucosid zeigen gleichzeitig eine ausgeprägte Haut- und Schleimhautverträglichkeit, sodass in vielen Fällen auf amphotere Tenside verzichtet werden kann. Die Einsatzkonzentration dieser Tensidgruppe beträgt daher in Shampoos durchaus 100%. Vor allem, wenn Ihre Haare mit naturkosmetischen Rezepturen schnell zu beschwert wirken, sollten Sie Ihre Rezepturen ohne amphotere Tenside einplanen bzw. ihre Dosierung begrenzen.
__Als klassische Ko-Tenside__ werden amphotere Produkte wie Glycintensid wegen ihrer irritationsmildernden Wirkung gerne mit Aniontensiden kombiniert. Typisch ist eine Dosierung im Verhältnis 1:3-1:4. In Duschgelen können Sie höher dosiert werden. Sie fördern in einer Mischung die Stabilität und Qualität des Schaums und wirken leicht <div class="tooltip">viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>serhöhend. In hochwertigen naturkosmetischen Formulierungen, in denen milde Aniontenside und <div class="tooltip">Alkylpolyglucoside
<span class="tooltiptext">Alkylpolyglucoside =moderne & hochpreisige nichtionische Tenside</span>
</div> eingesetzt werden, spielen sie keine große Rolle mehr.
<div style="text-align: center"><h3> __''Übrigens:''__ </h3></div>
''Emulgatoren >< Tenside''
Hat man in einem Produkt / Rezept ein Tensid, //kann// man, aber //muss man nicht// mehr einen Emulgator zugeben. Denn Emulgatoren und Tenside gehören zu einer Familie. Tenside haben also auch <div class="tooltip">emulgierende
<span class="tooltiptext">emulgieren = Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.</span></div> Wirkung.
''Rückfettung in <div class="tooltip">tensidischen Produkten
<span class="tooltiptext">Produkte, die ein Tensid enthalten</span></div>''
Der Begriff der Rückfettung ist irreführend. Denn wie der (fettige) Schmutz werden auch die rückfettenden Fette von den Tensiden / Seife / <div class="tooltip">WAS
<span class="tooltiptext">WaschAktive Substanzen</span>
</div> eingeschlossen und abgespült. Das angenehmere Hautgefühl, das die rückfettenden Fette erzeugen, rührt eher daher, dass die Waschwirkung reduziert wird. Denn je mehr eigenes Fett die Tenside / Seife / <div class="tooltip">WAS
<span class="tooltiptext">WaschAktive Substanzen</span>
</div> schon gebunden haben, desto weniger aggressiv wirken sie auf die natürlichen Fette in der Haut. Zum tatsächlichen Nachfetten / zur eigentlichen Pflege eignet sich eine Haut- / HaarPFLEGE, z.B. Handcreme, Haar-Leave-In besser.
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de)@@
<div style="background-color:#e6b3ff"><br/>
<$reveal type="nomatch" state="$:/state/SampleRevealTenside" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTenside" setTo="show">@@color:green;''Zeige Infos über Tenside & Tensidklassen''@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTenside" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTenside" setTo="hide">@@color:red;Verstecke "Infos über Tenside & Tensidklassen"@@</$button>
{{Tenside}}
</$reveal><br/>
</div>
!!Für die getesteten Rezepte brauchst Du folgende Tenside & andere waschaktive Substanzen:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Tenside & andere waschaktive Substanzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Tenside & andere waschaktive Substanzen]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Die erwähnten Tenside & andere waschaktive Substanzen kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Tenside & andere waschaktive Substanzen]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="text-align: center;font-size: 1.8em"> ''Tenside ersetzen: Berechnung'' </div><br/>
@@color:red;''Bearbeiten: Ganz zum Schluss die komplette Tensid-Tabelle in den [[Tenside]]-Tiddler ausschneiden & kopieren und hier wiederum mit einem Ausklapp-Button integrieren''@@
"""Hier kannst Du aussuchen & berechnen, wie Du ein / mehrere Tensid*e durch ein / mehrere Tensid*e ersetzen kannst.
Tenside erhalten wir in konzentrierter Form.
Die Konzentration eines Tensids, aber auch eines Produkts, wird in WAS (WaschAktive Substanzen) angegeben.
__Empfohlene WAS-Konzentrationen in Produkten__
Duschgel, Shampoo: 10–15% WAS
Badezusatz (Schaumbad): 20–35% WAS
Gesichtsreinigung: 0,5–3% WAS
Das unten erklärte Beispielrezept habe ich auch in die Berechnung eingefügt- als Anschauungsbeispiel.
Überschreibe die Werte einfach mit Deinen Werten.
@@color:red;''Falls Du etwas nicht verstehst, oder findest, dass etwas unverständlich erklärt ist, so schreibe mir bitte einen Kommentar! DANKE :-)''@@"""
------------------------------------------------------------------------
<div style="background-color:#ffffb3"><br/>
<div style="text-align: center;font-size: 1.4em"> @@background-color:Hotpink;''Erst Schritt 1''@@ </div><br/>
{{Tenside ersetzen: Berechnung, Schritt 1 mit %-Angaben}}
{{Tenside ersetzen: Berechnung, Schritt 1 mit g-Angaben}}
<div style="background-color:Hotpink"><br/>
<line>
------------------------------------------------------------------------
<div style="background-color:#ffffb3">"""
<div style="text-align: center;font-size: 1.4em"> @@background-color:Hotpink;''Dann Schritt 2''@@ </div>
''Benötigte Tensidmenge Deines gewünschten Ersatz-Tensids / Deiner gewünschten Ersatz-Tenside berechnen:''<br/>
Bei einer Rezept-Gesamtmenge von <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='rezeptmengetensid' size=5/>g und gewünschten <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='rezeptwastensid' size=4/>%WAS<br/>
mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensidanteiltensid1' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensid1' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensidwastensid1' size=3/>% WAS brauchst Du: ''@@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!rezeptwastensid}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidwastensid1}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!rezeptmengetensid}} * ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidanteiltensid1}} / 100),2)</$calc>g {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensid1}}@@''<br/>
und mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensidanteiltensid2' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensid2' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensidwastensid2' size=3/>% WAS brauchst Du: ''@@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!rezeptwastensid}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidwastensid2}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!rezeptmengetensid}} * ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidanteiltensid2}} / 100),2)</$calc>g {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensid2}}@@''<br/>
und mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensidanteiltensid3' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensid3' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung' field='tensidwastensid3' size=3/>% WAS brauchst Du: ''@@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!rezeptwastensid}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidwastensid3}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!rezeptmengetensid}} * ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidanteiltensid3}} / 100),2)</$calc>g {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensid3}}@@''
''Tensidanteil gesamt: @@background-color:lightgreen;<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidanteiltensid1}} + {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidanteiltensid2}} + {{Tensid-Rechner Data Tensid-Ersetzung Rezeptplanung!!tensidanteiltensid3}},2)</$calc>%@@'' @@color:red;>>Hier müssen 100% bei herauskommen!@@
(Wenn nicht, musst Du nochmal die %-Anteile von den Tensiden korrigieren!)
Wenn Du nur 1 Tensid verwenden willst, brauchst Du natürlich auch nur die Werte für dieses eine Tensid ausfüllen- in diesem Fall mit einem Tensid-Anteil von 100%.
<div style="background-color:white"><br/>
"""<br/>"""
<div style="background-color:#ffff99"><br/>
<$edit-text tiddler="$:/temp/Tensid-Ersetzungs -Planungsrechner Leser-Textfeld" class="tw-edit-texteditor rezepterechnerlesernotiz" placeholder="Hier kannst Du Notizen für Dich schreiben, Rezepte hineinkopieren, usw.
Das Textfeld kannst Du mit dem Regler unten rechts vergrößern / verkleinern.
Das Feld vergrößert sich aber auch automatisch, wenn Du viel Text schreibst."/><br/><br/><br/>
</div>
<div style="background-color:#ffffb3">
''Du hast ein Ausgangsrezept mit @@color:red;%@@-Angaben? Mache weiter mit nachfolgendem Button:''
<$reveal type="nomatch" state="$:/state/SampleRevealTEB1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTEB1" setTo="show">@@color:green;Zeige "Beispiel 1 (Ausgangsrezept mit ''%''-Angaben) & entsprechenden Rechner"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTEB1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTEB1" setTo="hide">@@color:red;Verberge "Beispiel 1 (Ausgangsrezept mit ''%''-Angaben) & entsprechenden Rechner"@@</$button><br/><br/>
<div style="background-color:white">
"""''Beispiel 1 (Ausgangsrezept mit %-Angaben):''
Ich habe ein Rezept mit 26% Kokosbetain (30% WAS) und 8% SLSA (65% WAS).
Hier sind die %-Anteile der Tenside aufs gesamte Rezept bezogen- sie ergeben zusammengerechnet also nicht 100%, sondern 34%.
Ich möchte die beiden Tenside durch SCI ersetzen (also Tensidanteil vom SCI = 100%). Das Rezept soll dieselbe WAS-Konzentration behalten.
__''Vorgehensweise:''__
__''Schritt 1''__ (Gesamt-WAS im Ausgangs-Rezept analysieren (bei einem Rezept mit %-Angaben):
Fülle die entsprechenden Felder aus. Die Zahlenfelder dürfen nicht leer bleiben (wenn nicht gewünscht, dann "0" eintragen- siehe unten).
__''Schritt 2''__ (Benötigte Tensidmenge Deines gewünschten Ersatz-Tensids / Deiner gewünschten Ersatz-Tenside berechnen):
Fülle die entsprechenden Felder aus:
<ul>
<li>gewünschte Rezept-Gesamtmenge </li>
<li>Trage die in Schritt 1 automatisch errechneten "//Gesamt-WAS im Produkt//" als gewünschte WAS ein (oder wähle einen geringfügig anderen Wert- siehe "Empfohlene WAS-Konzentrationen in Produkten" weiter oben).</li>
<li>Suche Dir Dein gewünschtes Tensid / Deine gewünschten Tenside aus:</li>
<ul>
<li>Für einen Bar (festes Produkt) solltest Du keine flüssigen / pastösen Tenside nehmen.</li>
<li>Die Tensidklasse sollte gleich bleiben.</li>
<ul>
<li>Trage das (1.) Tensid ein</li>
<li>Trage den WAS-Anteil des (1.) Tensids ein</li>
<li>__Soll es das einzige Tensid bleiben?__ Dann trage 100% als Tensidanteil ein.<br/>Und trage in den Feldern der übrigen (nicht gewünschten) Tenside folgendes ein: Im Feld "//%-Anteil vom Tensid//": ''0'' & im Feld "//% WAS//": ''100''. Denn sonst kann der Rechner nicht rechnen. So ists auch schon von mir vorausgefüllt.<br/>__Falls Du mehrere Tenside verwenden möchtest__, überlege, mit welchem %-Anteil (%-Anteil der Tenside untereinander, nicht vom gesamten Rezept!) das 1. Tensid im Rezept enthalten sein soll und trage diesen Wert ein. Zusammengerechnet müssen alle %-Anteile der Tenside 100% ergeben!</li>
</ul>
</ul>
<li>Sollen es mehrere Tenside sein? Dann wiederhole ab Punkt "//Suche Dir Dein gewünschtes Tensid / Deine gewünschten Tenside aus//".</li>
</ul>Nun hast Du die Ergebnisse, wieviel Du von Deinem gewünschten Tensid / Deinen gewünschten Tensiden Du brauchst, um sie im Ausgangsrezept zu ersetzen."""
<br/><br/><line>
------------------------------------------------------------------------
</line>
<div style="background-color:#ffffb3">"""
<div style="text-align: center;font-size: 1.4em"> @@background-color:Mistyrose;''Schritt 1''@@ </div>
''Gesamt-WAS im Ausgangs-Rezept analysieren (bei einem Rezept mit @@color:red;font-size:1.5em;%@@-Angaben):''<br/>
''Gesamt-WAS im Produkt:'' ''__@@background-color:lightgreen;<$calc>round(({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidanteiltensid1}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidwastensid1}} / 100) + ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidanteiltensid2}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidwastensid2}} / 100) + ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidanteiltensid3}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidwastensid3}} / 100),2)</$calc>%@@__''
<$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensidanteiltensid1' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensid1' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensidwastensid1' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidanteiltensid1}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidwastensid1}} / 100,2)</$calc>% WAS vom {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensid1}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensidanteiltensid2' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensid2' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensidwastensid2' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidanteiltensid2}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidwastensid2}} / 100,2)</$calc>% WAS vom {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensid2}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensidanteiltensid3' size=5/>%-Anteil vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensid3' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %' field='tensidwastensid3' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidanteiltensid3}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensidwastensid3}} / 100,2)</$calc>% WAS vom {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit %!!tensid3}}__''
"""
<line><div style="background-color:Mistyrose">
------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealÜTT1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealÜTT1" setTo="show">@@color:green;Zeige "Tenside & ihre WAS (Tenside-Übersichtstabelle)"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealÜTT1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealÜTT1" setTo="hide">@@color:red;Verberge "Tenside & ihre WAS (Tenside-Übersichtstabelle)"@@</$button>
{{1. Übersichtstabelle Tenside}}
</$reveal>
<div style="background-color:#ffffb3">
------------------------------------------------------------------------
<div style="text-align: center;font-size: 1.8em;color: red;"> ''Nun mach weiter mit @@background-color:Hotpink;color:black;__Schritt 2__@@''</div>
<line>
------------------------------------------------------------------------
</line></div>
<div style="background-color:#ffffb3">
''Oder hast Du ein Ausgangsrezept mit @@color:red;g@@-Angaben? Dann mache weiter mit nachfolgendem Button:''
<$reveal type="nomatch" state="$:/state/SampleRevealTEB2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTEB2" setTo="show">@@color:green;Zeige "Beispiel 2 (Ausgangsrezept mit ''g''-Angaben) & entsprechenden Rechner"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealTEB2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealTEB2" setTo="hide">@@color:red;Verberge "Beispiel 2 (Ausgangsrezept mit ''g''-Angaben) & entsprechenden Rechner"@@</$button><br/><br/>
<div style="background-color:white">
"""''Beispiel 2 (Ausgangsrezept mit g-Angaben):''
Ich habe ein Rezept (90g Gesamtmenge) mit 23.4g Kokosbetain (30% WAS) und 7.2g SLSA (65% WAS).
Ich möchte die beiden Tenside durch SCI ersetzen (also Tensidanteil vom SCI = 100%). Das Rezept soll dieselbe WAS-Konzentration behalten.
__''Vorgehensweise:''__
__''Schritt 1''__ (Gesamt-WAS im Ausgangs-Rezept analysieren (bei einem Rezept mit g-Angaben):
Fülle die entsprechenden Felder aus. Die Zahlenfelder dürfen nicht leer bleiben (wenn nicht gewünscht, dann "0" eintragen- siehe unten).
__''Schritt 2''__ (Benötigte Tensidmenge Deines gewünschten Ersatz-Tensids / Deiner gewünschten Ersatz-Tenside berechnen):
Fülle die entsprechenden Felder aus:
<ul>
<li>gewünschte Rezept-Gesamtmenge </li>
<li>Trage die in Schritt 1 automatisch errechneten "//Gesamt-WAS im Produkt//" als gewünschte WAS ein (oder wähle einen geringfügig anderen Wert- siehe "Empfohlene WAS-Konzentrationen in Produkten" weiter oben).</li>
<li>Suche Dir Dein gewünschtes Tensid / Deine gewünschten Tenside aus:</li>
<ul>
<li>Für einen Bar (festes Produkt) solltest Du keine flüssigen / pastösen Tenside nehmen.</li>
<li>Die Tensidklasse sollte gleich bleiben.</li>
<ul>
<li>Trage das (1.) Tensid ein</li>
<li>Trage den WAS-Anteil des (1.) Tensids ein</li>
<li>__Soll es das einzige Tensid bleiben?__ Dann trage 100% als Tensidanteil ein.<br/>Und trage in den Feldern der übrigen (nicht gewünschten) Tenside folgendes ein: Im Feld "//%-Anteil vom Tensid//": ''0'' & im Feld "//% WAS//": ''100''. Denn sonst kann der Rechner nicht rechnen. So ists auch schon von mir vorausgefüllt.<br/>__Falls Du mehrere Tenside verwenden möchtest__, überlege, mit welchem %-Anteil (%-Anteil der Tenside untereinander, nicht vom gesamten Rezept!) das 1. Tensid im Rezept enthalten sein soll und trage diesen Wert ein. Zusammengerechnet müssen alle %-Anteile der Tenside 100% ergeben!</li>
</ul>
</ul>
<li>Sollen es mehrere Tenside sein? Dann wiederhole ab Punkt "//Suche Dir Dein gewünschtes Tensid / Deine gewünschten Tenside aus//".</li>
</ul>Nun hast Du die Ergebnisse, wieviel Du von Deinem gewünschten Tensid / Deinen gewünschten Tensiden Du brauchst, um sie im Ausgangsrezept zu ersetzen."""
<br/><br/><line>
------------------------------------------------------------------------
</line>
<div style="background-color:#ffffb3">"""
<div style="text-align: center;font-size: 1.4em"> @@background-color:Mistyrose;''Schritt 1''@@ </div>
''Gesamt-WAS im Produkt:'' ''__@@background-color:lightgreen;<$calc>round(({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidanteiltensid1}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidwastensid1}}) + ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidanteiltensid2}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidwastensid2}}) + ({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidanteiltensid3}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidwastensid3}}),2)</$calc>%@@__''
<$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensidanteiltensid1' size=5/>g vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensid1' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensidwastensid1' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidanteiltensid1}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidwastensid1}},2)</$calc>% WAS vom {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensid1}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensidanteiltensid2' size=5/>g vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensid2' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensidwastensid2' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidanteiltensid2}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidwastensid2}},2)</$calc>% WAS vom {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensid2}}__''<br/>
und <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensidanteiltensid3' size=5/>g vom Tensid <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensid3' size=20/> mit <$edit-text tiddler='Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g' field='tensidwastensid3' size=3/>% WAS ergibt: ''__<$calc>round({{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidanteiltensid3}} / {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!rezeptmenge}} * {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensidwastensid3}},2)</$calc>% WAS vom {{Tensid-Rechner Data Tensid-Ersetzung Rezeptanalyse mit g!!tensid3}}__''
"""
<line><div style="background-color:Mistyrose">
------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealÜTT2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealÜTT2" setTo="show">@@color:green;Zeige "Tenside & ihre WAS (Tenside-Übersichtstabelle)"@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealÜTT2" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealÜTT2" setTo="hide">@@color:red;Verberge "Tenside & ihre WAS (Tenside-Übersichtstabelle)"@@</$button>
{{1. Übersichtstabelle Tenside}}
</$reveal>
<div style="background-color:#ffffb3">
------------------------------------------------------------------------
<div style="text-align: center;font-size: 1.8em;color: red;"> ''Nun mach weiter mit @@background-color:Hotpink;color:black;__Schritt 2__@@''</div>
<line>
------------------------------------------------------------------------
</line></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
! Folgende Buttons möcht ich haben:
[ ] Center & Left align Text<br/><br/>
[ ] Buchstabenhöhe<br/><br/>
[ ] Zeilenhöhe<br/><br/>
[ ] Textfarbe<br/><br/>
[ ] Horizontale Linie einfügen<br/><br/>
[ ] Find & Replace<br/><br/>
[x] ''Formatierung entfernen <br/><br/>
[x] ''Checkbox einfügen <br/><br/>
[x] ''Zeilenumbruch 1x erzwingen mit <br/><br/>
[x] Sonderzeichen einfügen<br/><br/>
[x] Tabelle<br/><br/>
[x] Increase / decrease Abstand (z.B. in Listen)<br/><br/>
.
''Am Beispiel "Text orange markieren":''
* Bild für Button erstellen (Bildgröße 22x22px).
** Bild in TW importieren & mit $:/core/images/Bildtitel.png betiteln.
** Und mit $:/core/images & $:/tags/Image taggen.
* Tiddler namens $:/language/Buttons/Mark/Hint erstellen mit folgendem Textinhalt: Ausgewählten Text orange markieren
** Tiddler namens $:/language/Buttons/Mark/Caption erstellen mit folgendem Textinhalt: Mark
* Tiddler namens $:/core/ui/EditorToolbar/Farbiger Hintergrund erstellen.
* Darin:
Textinhalt:
```
<$action-sendmessage
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix=@@background-color:darkorange;
suffix=@@
/>
```
`caption: {{$:/language/Buttons/Mark/Caption}}`
`condition: [<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]`
`description: {{$:/language/Buttons/Mark/Hint}}`
`icon: $:/core/images/Mark.png`
.
"""
''Formatierungsmöglichkeiten:''
Bold `,'','',`
Italic `,//,//,`
Underline `,__,__,`
Strikethrough `,--,--,`
Superscript `,^^,^^,`
Subscript `,~~,~~,`
Highlight `,@@,@@,`
Text Color Red `,@@color\(red\):,@@,`
Background Color Red `,@@bgcolor\(red\):,@@,`
NoWiki `,<nowiki>,</nowiki>,`
Unformatted `,{{{`n,`n}}},`
Monospaced `,{{{,}}},`
Indent `,{{indent{,,`
Ordered List Item `,#new,`
Ordered Multiline List Item `,#{{multiline{one`ntwo}}},` `
Unordered List Item `,*new,`
Unordered Multiline List Item `,*{{multiline{one`ntwo}}},` `
Heading `,!title, `
Definition List `,;term`n:description,` `
Blockquote Single Line `,>line, `
Blockquote Multiple Lines `,<<<`ntext`n<<<, `
Dashed Line `,----, `
Gradient `,<<gradient horizo #ffffff #ff0000>>gradient fill>>, `
Table Header `,|!header1|!header2|h, `
Table Entry `,|entry|entry|, `
Table Colspan `,|>|colspan|, `
Table Rowspan `,|rowspan|entry|`n|~|entry|, ` `
Table Caption `,|caption|c, `
Table Cell Background Color `,|bgcolor(blue):entry|bgcolor(red):entry|, `
Wiki Link `,[[Ordinary Wiki Link]], `
Web Link `,[[Link to Google|http://www.google.de]], `
File Link `,[[Link to file|file:///C:\sample.ahk]], `
Image Link `,[img[This is shown as a tooltip|http://example.com/image.jpg]], `
Launch Application `,{{{<<LaunchApplication "buttonLabel" "tooltip" "application" ["arguments" ...]>>}}}, `
Launch Application Button `,{{{<<LaunchApplicationButton "buttonLabel" "tooltip" "application" ["arguments" ...]>>}}}, `
Launch Application Link `,{{{<<LaunchApplicationLink "buttonLabel" "tooltip" "application" ["arguments" ...]>>}}}, `
Non-Breaking Space `, , `
En Space `, , `
Em Space `, , `
Thin Space `, , `
Broken Vertical Bar `,¦, `
Left Ceiling `,⌈, `
Right Ceiling `,⌉, `
Left Floor `,⌊, `
Right Floor `,⌋, `
Left Arrow `,←, `
Up Arrow `,↑, `
Right Arrow `,→, `
Down Arrow `,↓, `
Left Right Arrow `,↔, `
Carriage Return `,↵, `
Left Double Arrow `,⇐, `
Up Double Arrow `,⇑, `
Right Double Arrow `,⇒, `
Down Double Arrow `,⇓, `
Left Right Double Arrow `,⇔, `
Fraction `1/4,¼, `
Fraction `1/2,½, `
Fraction `3/4,¾, `
Fraction `1/8,⅛, `
Fraction `3/8,⅜, `
Fraction `5/8,⅝, `
Fraction `7/8,⅞, `
Plus Or Minus `,±, `
Multiplication `,×, `
Division `,÷, `
Logical `AND,∧, `
Logical `OR,∨, `
Circled Plus `,⊕, `
Circled Times `,⊗, `
Less-Than Or Equal-To `,≤, `
Greater-Than Or Equal-To `,≥, `
Not Equal To `,≠, `
Approximately Equal To `,≅, `
Almost Equal To `,≈, `
Identical To `,≡, `
Empty Set/Null Set/Diameter `,∅, `
Square Root `,√, `
Check Mark `,✔, `
Ballot X `,✘, `
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Thymianöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Thymianöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Thymianöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:white;">
<div style=> </div>
<hr><hr>
<h3>''Du hast Fragen, wie in diesem Wiki etwas funktioniert? Siehe hier > [[Benutzungstips für dieses Wiki|1. Benutzungstips für dieses Wiki]]''</h3>
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
"""''Übrigens:'' Über einen __Kommentar__, wie Du hierher gefunden hast, würde ich mich sehr freuen!
Klicke dazu oben in der Titelleiste dieses Tiddlers auf [img width=32 height=17 [http://up.picr.de/31991981wc.png]]<br/>Du kannst mir auch in jedem anderen Tiddler Fragen / Kommentare senden. Du brauchst dabei __nicht__ den Tiddlertitel (z.B. Rezeptnamen) zu schreiben- das wird mir automatisch übermittelt. Ist Dein Kommentar länger als ca. 1450 Zeichen, verschwindet der "Submit"-Button-> schreibe mir einfach einen weiteren Kommentar. Ich beantworte alle Kommentare im jeweiligen Tiddler.
Im Übrigen freue ich mich auch über Deine Rezepte!!- Ich veröffentliche sie gerne hier; auf Wunsch auch mit Deinem Namen/Webseite/o.ä. Und: Ich freue mich auch sehr darüber, wenn Du diese Webseite in Deinen sozialen Netzwerken verbreitest :-)"""
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
<$reveal type="nomatch" state="$:/state/SampleRevealFlWd" text="show">
<$button class="willkommenbuttonlang" set="$:/state/SampleRevealFlWd" setTo="show">@@color:green; Übrigens kannst Du dieses Wiki zu Deinem eigenen Wiki (gespeichert auf Deinem Computer) machen! <br/>''Klick mich zum Zeigen'' für<br/>Vorteile & Wie@@</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealFlWd" text="show">
<$button class="willkommenbuttonlang" set="$:/state/SampleRevealFlWd" setTo="hide">@@color:red;Verstecke "Download dieses Wikis"@@</$button>
Klicke dazu hier oder in der rechten Seitenleiste auf {{$:/core/ui/Buttons/save-wiki}} - es wird dann automatisch heruntergeladen (es ist nur 1 html-Datei mit ca. 4MB).<br/>Vorteile für Dich:
<ul>
<li>Du kannst es in jedem Browser aufrufen- egal welches Betriebssystem, egal welcher Browser. Also auch mobil nutzbar. Und wenn Du die App AndTidWiki runterlädst, kannst Du es auch ''offline auf Android'' benutzen. (Es gibt auch für andere mobile Betriebssysteme Apps dafür) >frag Google...</li>
<li><p>Du kannst es komplett individualisieren: Tiddler löschen, Tiddler erstellen, Tiddler importieren, Plugins importieren, das Design ändern, usw. Es ist dann schließlich Deine eigene Datei!</p></li>
</ul><br/>
Du solltest dann den Tiddler [[Button für Show/Hide Interna]] öffnen und die entsprechenden Checkboxen anklicken- dann siehst Du die entsprechenden Buttons & alle Interna dieses Wikis.
</$reveal>
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
"""''Disclaimer'' aus rechtlichen Gründen
Ich weise darauf hin, dass ich keine Kosmetikerin, Medizinerin oder Chemikerin bin. Alle von mir hier veröffentlichten getesteten Rezepte habe ich selbst ausprobiert, immer wieder verfeinert und angepasst. Trotzdem kann ich natürlich keine Verantwortung dafür übernehmen, wenn Dir ein Rezept nicht gelingt, nicht gefällt oder Du ein nach meinen Rezepten gerührtes Produkt oder eine Zutat nicht verträgst oder es anders bei Dir wirkt als hier beschrieben. Alle Informationen auf dieser Webseite habe ich mit größtmöglicher Sorgfalt recherchiert und erstellt. Ich übernehme jedoch weder eine Gewähr noch eine Garantie für die Vollständigkeit, die Richtigkeit und die Aktualität der auf dieser Webseite bereitgestellten Informationen. Die Nutzung dieser Webseiteninhalte erfolgt auf eigene Gefahr. Ich weise ausdrücklich darauf hin, dass ich keine Linderung von Problemen oder gar Krankheiten garantiere oder verspreche. Die Inhalte können keinen Arzt- oder Therapeutenbesuch ersetzen. Wenn ich auf Surya-DIY bei einem externen Link ein Rechtsverstoß feststelle oder von anderen darauf hingewiesen werde, lösche ich diesen unverzüglich.
<$checkbox tiddler="Tiddler Fußzeilen" tag="$:/tags/ViewTemplate"></$checkbox>
\define timeStampTitle() $(timeStamp)$ $(inputTitle)$
\define createNew()
<$edit-text tiddler="$:/temp/timestamp-title" tag="input" default="" placeholder="Hier neuen Titel eingeben"/>
<$vars inputTitle={{$:/temp/timestamp-title}}>
<$button>
<$action-sendmessage
$message="tm-new-tiddler"
title=<<timeStampTitle>>
tags="test"/>
<$action-setfield
$tiddler="$:/temp/timestamp-title"
$value=""/>Tiddler erstellen</$button>
</$vars>
\end
<<createNew>>
Tiddler mit vorgegebenen Tag erstellen mit diesem Macro :-)
Hier kannst Du bis zu 20 Tiddler (z.B. Zutaten, aber auch Rezepte) direkt miteinander vergleichen, anhand ihrer Tags.<br/>
Gib dafür in jedes Suchfeld den entsprechenden Tiddlertitel ein.<br/>
Beispiel: Du hast in einer vorhergegangenen Suche per (evtl. multipler) Tags Fette mit dem Tag "Zutat:Rückfettend" herausgesucht. Nun sind das für Dich aber viel zu viele. Hier kannst Du sie eingeben (einfacher per copy & paste)- dann werden Dir zu jedem dieser Tiddler die Tags angezeigt. Nun kannst Du diejenigen, die anhand der Tags für Dich nicht mehr in Frage kommen einfach wieder löschen. Ergebnis: Es werden hier nur noch die Tiddler angezeigt, die Du endgültig auswählen möchtest.
<$edit-text tiddler="$:/config/References/searchstrings" placeholder="Tipp hier alles ein, was Du suchen möchtest- quasi als 'Merkliste'" autoHeight=yes tag=textarea/><br/><br/>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search1 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search1}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search1}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search1}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search2 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search2}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search2}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search2}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search3 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search3}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search3}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search3}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search4 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search4}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search4}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search4}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search5 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search5}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search5}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search5}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search6 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search6}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search6}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search6}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search7 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search7}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search7}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search7}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search8 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search8}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search8}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search8}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search9 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search9}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search9}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search9}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search10 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search10}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search10}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search10}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search11 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search11}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search11}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search11}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search12 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search12}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search12}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search12}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search13 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search13}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search13}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search13}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search14 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search14}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search14}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search14}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search15 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search15}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search15}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search15}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search16 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search16}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search16}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search16}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search17 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search17}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search17}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search17}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search18 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search18}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search18}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search18}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search19 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search19}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search19}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search19}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<$edit-text tiddler="$:/config/References/searchstrings" field=all-reference-search20 placeholder="Tipp hier den Tiddlertitel ein" size= 50 tag=input/>
<$list filter="[title{$:/config/References/searchstrings!!all-reference-search20}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!is[system]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[>]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[<<]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[<<<]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[Mein Arbeitsbereich]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[DIY]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[UNFERTIG!]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[RezepteUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[RezeptBEARBEITEN]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[RezeptGANZ-NEU]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[ZutatUNFERTIG]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[Wiki-ToDo]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[HaushaltNEU]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[HautpflegeNEU]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[KörpergerücheNEU]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[RezepteFürHaareNEU]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[SeifenNEU]search:title{$:/config/References/searchstrings!!all-reference-search20}] +[!tag[SonstigesNEU]search:title{$:/config/References/searchstrings!!all-reference-search20}]"><$link><<currentTiddler>></$link> <$list filter='[is[current]tags[]sort[title]]'><<tag>></$list></$list>
<div style="background:White;">
Gib dort, wo Du die Hintergrundfarbe ändern willst folgendes ein:
`<div style="background:Lightskyblue;">`<br/>
Wenn Du die Hintergrundfarbe ab einer bestimmten Stelle wieder auf eine andere Farbe wechseln willst, gib dort `</div>` ein.<br/>
Das wird dann so:<br/>
<div style="background:Lightskyblue;">
Text mit dem Hintergrund</div>
Text nach dem Hintergrund
Soll der gesamte Tiddlerhintergrund (also nicht nur der Hintergrund des Inhalts) farbig sein aufgrund eines Tags, so erstelle einen Tiddler mit diesem Inhalt:
`.tc-tiddler-frame.tc-tagged-RezeptNICHTgetestet { background-color:#FFE28C; }` und tagge ihn mit $:/tags/Stylesheet.<br/><br/>
Anleitung mit Beispielen / Ideen für CSS-Styling: https://www.w3schools.com/css/css_examples.asp
[data-style="customframe"] {
{ padding: 5px 5px 1px 60px; border:2px solid Fuchsia !important; }
}
[data-style="customframe"] {
padding: 5px 5px 1px 60px; border:2px solid Fuchsia !important;
}
<<showmenu "$(currentTiddler)$">>
Siehe: [[Tiddlerlink farbig in der Seitenleiste]].<br/>Wenn Du den Titel mit dem farbigen Titelhintergrund auch in der Seitenleiste farbig angezeigt bekommen möchtest, dann erstelle einen Tiddler mit folgendem Befehl:<br/>
`\define toc-caption()
<$list filter="[all[current]regexp:tags[\bFarbig\b]]" variable="dum">@@color:#09B9F7;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]!regexp:tags[\bFarbig\b]]" variable="dum"><$view field="caption"><$view field="title"/></$view></$list>
\end`
<br/>
Du kannst Palevioletred natürlich auch mit jeder beliebigen anderen Farbe ersetzenDie eingesetzten Farben müssen englisch sein oder die entsprechenden Code-Nummern haben, siehe z.B.<br/>
https://bfw.ac.at/020/farbtabelle.html (englische Farbtabelle) oder Colorpicker: https://www.w3schools.com/colors/colors_picker.asp
.<br/>
Und tagge ihn mit "$:/tags/Macro"
"""
[ ] How to add shortcut to a button in Editor?<br/><br/>
[ ] ''Klickbare Tiddlersuche anhand multipler Tags:''<br/>Alle vorhandenen Tags sollen angezeigt werden- am besten mit einklappbaren Tag-Gruppen.<br/>Aber auch mit Tags-Ausschließen, also z.B. so:<br/>+tag1 + tag2 +tag6 -tag4 -tag9.<br/>Die dann aufgelisteten Tiddler möchte ich alle öffnen (möglichst mit einem Klick), damit ich sie lesen kann. Von diesen nun geöffneten Tiddlern werde ich welche wieder schließen. Die, die dann noch übrig bleiben, möcht ich möglichst effizient mit 1-2 neuen Tags versehen.<br/>@@background-color:orange;Siehe in "Mehr" >"Mein Arbeitsbereich" >"Meine erweiterte Suche per multipler Tags"!!@@<br/><br/>
[ ] ''Tag-Anzeige togglen (versteckt/sichtbar)''<br/><br/>
[ ] ''Plugin "Inline editable tables":''<br/>(http://braintest.tiddlyspot.com/)<br/>Wenn ich den Tiddler "Editable table" klone, diesen Klon neu benenne und dann ändere (neue Reihe, neue Inhalte in den Zellen), dann ändert sich der Ursprungs-Tiddler immer mit.
[ ] ''Plugin "FindReplace"''<br/>(http://skplugins.tiddlyspot.com/) findet zwar ein Wort, ersetzt es aber nicht mit etwas anderem.<br/>''Plugin "TW5-searchNreplace"''<br/>(https://github.com/danielo515/TW5-searchNreplace) Markiert nicht gefundene Wörter- somit ersetzt man quasi eine Katze im Sack...
[ ] ''Alle nicht-benötigten Plugins, Themes, usw. löschen!''
\define makeState()
<<qualify $(stateTiddler)$>>
\end
Ich habe Linux Mint und nutze den Pale Moon Browser (basiert auf einer früheren Version vom Firefox). Alles, was ich hier zeige, funktioniert damit. Wenn bei Deinem Wiki etwas nicht so funktioniert, wie hier beschrieben, //kann// es auch daran liegen, dass Du ein anderes Betriebssystem hast / einen anderen Browser nutzt. 99,9% werden aber funktionieren.<br/>
Unglaublich viel (hilfreiche!) Hilfe habe ich schon im Tiddlywiki-Forum gefunden. Für diese Tiddlywiki-Version ist es https://groups.google.com/forum/#!forum/tiddlywiki. Es gibt von Tiddlywiki noch eine alte Version (TiddlywikiClassic), dafür gibt es in den GoogleGroups auch ein Forum. Diese Tiddlywiki-Version ist eine Tiddlywiki5 (TW5)-Version, und zwar 5.1.14.<br/><br/>
Alle Anleitungen in dieser Hilfe für Tiddlywiki sind mit Blick auf möglichst kleine Wikigröße (in MB).<br/>
''Warum?''<br/>
Ein Wiki kann ab einer gewissen Größe zu Problemen führen- bis hin zur Unbenutzbarkeit. Auf dem Computer ist das ab ca. 30MB der Fall, bei mobilen Geräten ab ca. 4MB- das kommt aber auf das mobile Gerät an. Bei meinem etwas besseren Smartphone fängt es bei ca. 15MB an, dass das Tippen etwas ruckelig wird.<br/><br/>
Möchtest Du sehen, wie die entsprechenden Tiddler geschrieben sind und damit "herumspielen" & etwas austesten, dann öffne den Tiddler [[Button für Show/Hide Interna]] und klicke die entsprechenden Checkboxen an- dann siehst Du die entsprechenden Buttons & alle Interna dieses Wikis.
{{Meine Tiddlywiki-Hilfe}}
Eine weitere deutsche Anleitung für Tiddlywiki5: https://tiddlywiki.com/languages/de-DE/
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Tiddlywiki-Anleitung' ![$:/temp/pptg-taggroup]>>
</div>
(Es ist keine vollständige Anleitung, sondern bietet 1. eine grundsätzliche Hilfe (Textformatierungen, etc.) & 2. meine ganz persönlichen Lösungen mit Blick darauf, das Wiki möglichst klein zu halten (in MB-Größe).<br/>
__Die Hauptanleitung__ "Wie kann ich dieses oder jenes machen?" ist hier: @@font-size:1.3em;[[Tiddlywiki Hilfe]]@@.<br/>
__Hier gehts zum Bereich Tiddlywiki-Anleitung:__
Rechts in der Seitenleiste auf den Reiter "Tiddlywiki-Anleitung" klicken, dort sind alle entsprechenden Tiddler aufgelistet:<br/>
Unter __"Meine Buttons"__ sind alle meine Buttons (z. B. Buttons zur Texteditierung im Texteditor gelistet.<br/>
Unter __"TW-Style"__ sind alle Tiddler gelistet, die den Style dieser Webseite (also das Aussehen) beeinflussen.
<$reveal type="nomatch" state="$:/state/SampleRevealHW1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW1" setTo="show"> Aber bevor Du die Dinge aus dem "Page und Tiddler Style" - Tiddler lernst / übernimmst / bearbeitest, solltest Du... <br/>
''(Klick mich zum Zeigen)''</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealHW1" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealHW1" setTo="hide">@@color:red;Verstecke Aber erstmal solltest Du...@@</$button>
... erstmal solltest Du im ControlPanel die Haupteinrichtung des Designs erledigen unter
"Design" >"Theme Tweaks"
& unter "Design" >"Anzeige"
& unter "Design" >"Palette" (erst Farbpalette einstellen- in diesem Wiki ist es "Muted". Diese Farbpalette kann dann noch editiert werden unter "Editor zeigen".
Danach kann man, wie in der [[Tiddlywiki Hilfe]] unter dem Punkt "Anleitung: Seiten und Tiddler Style" beschrieben, weitere Anpassungen vornehmen.
</$reveal>
<div style="background:White;">
!!<div style="text-align: center"> Inhaltsverzeichnisse (z.B. in der Seitenleiste) anhand des Beispiels "Tiddlywiki-Anleitung". </div><br/>
!!!Einfaches Inhaltsverzeichnis mit
`<div class="tc-table-of-contents">
<<toc "Tiddlywiki-Anleitung">>
</div>`
!!!wird zu
<div class="tc-table-of-contents">
<<toc 'Tiddlywiki-Anleitung' ![$:/temp/pptg-taggroup]>>
</div>
----
----
!!Erweiterbares Inhaltsverzeichnis, sortiert nach Titel mit
`<div class="tc-table-of-contents">
<<toc-expandable "Tiddlywiki-Anleitung" "sort[title]">>
</div>`
!!!wird zu
<div class="tc-table-of-contents">
<<toc-expandable "Tiddlywiki-Anleitung" ![$:/temp/pptg-taggroup] "sort[title]">>
</div>
In dieser Art Verzeichnis wir vor jedem Link ein Navigationspfeil (>) angezeigt, egal, ob noch weitere Unterpunkte vorhanden sind, oder nicht.
----
----
!!Selektiv Erweiterbares Inhaltsverzeichnis, sortiert nach Titel mit
`<div class="tc-table-of-contents">
<<toc-selective-expandable 'Tiddlywiki-Anleitung' sort[title]>>
</div>`
!!!wird zu
<div class="tc-table-of-contents">
<<toc-selective-expandable "Tiddlywiki-Anleitung" ![$:/temp/pptg-taggroup] "sort[title]">>
</div>
Selektiv erweiterbar heißt, dass nur dort ein Navigationspfeil (>) angezeigt wird, wo auch tatsächlich noch weitere Unterpunkte vorhanden sind.
<br/>
---
---
---
Wenn Du- wie ich- das Plugin [[PopupTagger - TagBar / TagTable with popup list of tags|$:/plugins/eucaly/popuptagger]] nutzt, würde der Tiddler $:/temp/pptg-taggroup mit aufgelistet werden.<br/>
Wenn Du das nicht möchtest, dann musst Du in der Zeile, die mit <<toc anfängt, nach "Tiddlywiki-Anleitung" folgendes mit einfügen: ` ![$:/temp/pptg-taggroup]`.<br/>
Das `!` heißt "schließe das nachfolgende (zwischen `[]`) aus der Auflistung aus.
''Alle getesteten Rezepte bei Tierhaarallergie:''<br/><br/>
<$list filter="[tag[Tierhaarallergie]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Tierhaarallergie:''<br/><br/>
<$list filter="[tag[Tierhaarallergie]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
[ ] Button zum Tabellen-Einfügen ($:/core/ui/EditorToolbar/Tabelle) nochmal in alle Wikis importieren, da jetzt mit Tabelle online erstellen & dann in Wiki-Text konvertieren :-)<br/><br/>
[ ] Button für "Leerzeile einfügen" in allen Wikis erstellen (Pflanzen-Wiki hat den schon)<br/><br/>
[ ] Große Auflistung aller (?) Plugins, Macros, etc.: https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM<br/><br/>
[ ] Unter "System" nach ...state/... (/folded/...), etc. gucken & ggf. löschen!<br/><br/>
[ ] Plugin "PopupTagger - TagBar / TagTable": Show it in the editor view?<br/><br/>
[ ] Button in editor for automatic inserting picture with special attributes<br/><br/>
[ ] Page und Tiddler Style (auch nochmal im Pflanzen-Wiki editieren, falls schon vorhanden!)<br/><br/>
[ ] Birthes Minibrowser integrieren<br/><br/>
[ ] [[Textformatierungsbuttons u.ä. in Texteditor erstellen]]
[ ] Rezept "Deostick" bearbeiten: Foto, Zutaten, Zutatenwirkweise vom Wachs (im Sommer anderes bzw. mehr Wachs!), Wachs-Popup, Zubehör-Popup<br/><br/>
[ ] Mini-Rezeptideen aus "Weitere Einsatzmöglichkeiten in Kokosöl & Natron in Rezept-Tiddler wandeln für "Noch nicht getestete Rezepte"<br/><br/>
[ ] Rezept mit Popups in __allen entsprechenden__ [[Zubehör]]-Tiddlern?<br/><br/>
[ ] Rezept mit Popups in __allen entsprechenden__ [[Zutaten]]-Tiddlern?<br/><br/>
[ ] Rezept mit Popup in [[Rezepte]]-Tiddler<br/><br/>
[ ] Neues Zubehör: Popups von entsprechenden Rezepten<br/><br/>
[ ] Neues Zubehör mit Popup im übergeordneten [[Zubehör]]-Tiddler<br/><br/>
[ ] Neues Zubehör: Mögliche Alternativen<br/><br/>
[ ] Neues Zubehör: "Wo kann man das kaufen"<br/><br/>
[ ] Neues Zubehör: Foto<br/><br/>
[ ] Neue Zutat mit Popup im übergeordneten [[Zutaten]]-Tiddler<br/><br/>
[ ] Neue Zutat: Popups von entsprechenden Rezepten<br/><br/>
[ ] Neue Zutat: Einsatzgebiet<br/><br/>
[ ] Neue Zutat: Kauftips<br/><br/>
[ ] Neue Zutat: "Was muss ich beachten"<br/><br/>
[ ] Neue Zutat: Lagerung<br/><br/>
[ ] Neue Zutat: Verarbeitungstips<br/><br/>
[ ] Neue Zutat: Weitere Einsatzmöglichkeiten<br/><br/>
[ ] Neue Zutat: Besonderheit/kosmetische Wirkung<br/><br/>
[ ] Neue Zutat: Ursprung/Beschreibung<br/><br/>
[ ] Neue Zutat: Foto<br/><br/>
[ ] Popups vom benötigten Zubehör<br/><br/>
[ ] Popups aller Zutaten mit jeweiliger Wirkungsweise (und was konserviert?)<br/><br/>
[ ] Zubereitungszeit<br/><br/>
[ ] Foto<br/><br/>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.04]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.08]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.12]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.02]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button class="willkommenbutton" message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.01]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.07]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.06]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.05]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.03]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.11]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.10]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.09]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
<div style="background:White;">
Möchtest Du eine ToDo-Liste wie hier ([[Beispiel: ToDo-Listen Übersicht nach Monaten]]), so erstelle erstmal den Tiddler für die Hauptübersicht mit (der Inhalt des grauen Kastens kann einfach kopiert werden):
```
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<div style="background:Darkslateblue;">
----
<$reveal type="nomatch" state="$:/state/SampleReveal1" text="show">
<$button set="$:/state/SampleReveal1" setTo="show">ToDo-Liste (Januar)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal1" text="show">
<$button set="$:/state/SampleReveal1" setTo="hide">Verberge ToDo-Liste (Januar)</$button>
{{ToDo-Liste (Januar)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal2" text="show">
<$button set="$:/state/SampleReveal2" setTo="show">ToDo-Liste (Februar)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal2" text="show">
<$button set="$:/state/SampleReveal2" setTo="hide">Verberge ToDo-Liste (Februar)</$button>
{{ToDo-Liste (Februar)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal3" text="show">
<$button set="$:/state/SampleReveal3" setTo="show">ToDo-Liste (März)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal3" text="show">
<$button set="$:/state/SampleReveal3" setTo="hide">Verberge ToDo-Liste (März)</$button>
{{ToDo-Liste (März)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal4" text="show">
<$button set="$:/state/SampleReveal4" setTo="show">ToDo-Liste (April)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal4" text="show">
<$button set="$:/state/SampleReveal4" setTo="hide">Verberge ToDo-Liste (April)</$button>
{{ToDo-Liste (April)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal5" text="show">
<$button set="$:/state/SampleReveal5" setTo="show">ToDo-Liste (Mai)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal5" text="show">
<$button set="$:/state/SampleReveal5" setTo="hide">Verberge ToDo-Liste (Mai)</$button>
{{ToDo-Liste (Mai)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal6" text="show">
<$button set="$:/state/SampleReveal6" setTo="show">ToDo-Liste (Juni)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal6" text="show">
<$button set="$:/state/SampleReveal6" setTo="hide">Verberge ToDo-Liste (Juni)</$button>
{{ToDo-Liste (Juni)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="show">ToDo-Liste (Juli)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal7" text="show">
<$button set="$:/state/SampleReveal7" setTo="hide">Verberge ToDo-Liste (Juli)</$button>
{{ToDo-Liste (Juli)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal8" text="show">
<$button set="$:/state/SampleReveal8" setTo="show">ToDo-Liste (August)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal8" text="show">
<$button set="$:/state/SampleReveal8" setTo="hide">Verberge ToDo-Liste (August)</$button>
{{ToDo-Liste (August)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal9" text="show">
<$button set="$:/state/SampleReveal9" setTo="show">ToDo-Liste (September)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal9" text="show">
<$button set="$:/state/SampleReveal9" setTo="hide">Verberge ToDo-Liste (September)</$button>
{{ToDo-Liste (September)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal10" text="show">
<$button set="$:/state/SampleReveal10" setTo="show">ToDo-Liste (Oktober)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal10" text="show">
<$button set="$:/state/SampleReveal10" setTo="hide">Verberge ToDo-Liste (Oktober)</$button>
{{ToDo-Liste (Oktober)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal11" text="show">
<$button set="$:/state/SampleReveal11" setTo="show">ToDo-Liste (November)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal11" text="show">
<$button set="$:/state/SampleReveal11" setTo="hide">Verberge ToDo-Liste (November)</$button>
{{ToDo-Liste (November)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal12" text="show">
<$button set="$:/state/SampleReveal12" setTo="show">ToDo-Liste (Dezember)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal12" text="show">
<$button set="$:/state/SampleReveal12" setTo="hide">Verberge ToDo-Liste (Dezember)</$button>
{{ToDo-Liste (Dezember)}}
</$reveal>
<$reveal type="nomatch" state="$:/state/SampleReveal13" text="show">
<$button set="$:/state/SampleReveal13" setTo="show">ToDo-Liste (alle)</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal13" text="show">
<$button set="$:/state/SampleReveal13" setTo="hide">Verberge ToDo-Liste (alle)</$button>
{{ToDo-Liste (alle)}}
</$reveal>
.
```
<br/>
```
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
```
(ganz oben) steht dabei für <$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<br/><br/>
```
<div style="background:Darkslateblue;">
```
steht für den dunkelblauen Hintergrund. Darkslateblue kannst Du natürlich auch mit jeder anderen Farbe ersetzen- siehe z.B. https://bfw.ac.at/020/farbtabelle.html (englische Farbtabelle).<br/>
Wenn du `<div style="background:Darkslateblue;">` ''VOR'' `<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>` schreibst, ist auch der Hintergrund vom +Neuer Task - Button dunkelblau.<br/><br/>
<div style="background:Antiquewhite;">
Eine etwas einfachere aber wunderbar nutzbare ToDo-Liste wie diese hier [[Beispiel: ToDo-Listen Übersicht nach Monaten]] hat den Vorteil, dass man nur 1 Plugin dafür braucht, nämlich das Checklist Plugin (von hier: https://tid.li/tw5/plugins.html). Selbst das kann man sich sparen, wenn man keine abhakbaren Unteraufgaben braucht. Diese ToDo-Liste vergrößert das Wiki nur minimal.<br/>
Warum ist es gut, sich Plugins zu sparen? Weil manche Plugins recht groß (in MB) sind, zumindest die, die für Aufgabenmanagement mit Kalenderintegration angeboten werden. <br/><br/><br/>
Möchtest Du eine ToDo-Liste wie hier ([[Beispiel: ToDo-Listen Übersicht nach Monaten]]), so erstelle erstmal:
Anleitung: [[ToDo-Liste Monatsübersicht erstellen]]<br/><br/>
Und dann die Monatslisten:
Anleitung: [[ToDo-Monatslisten erstellen]]<br/><br/>
Und dann natürlich die Aufgaben:
Anleitung: [[Aufgaben erstellen]]<br/><br/>
<div style="background:White;">
13 Monatslisten wie [[ToDo-Liste (Januar)]] erstellen mit (der Inhalt des grauen Kastens kann einfach kopiert werden):
```
\define makeState()
<<qualify $(stateTiddler)$>>
\end
<div style="background:Lightgoldenrodyellow;">
<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<$list filter="[tag[ToDo]regexp:due[^18.01]sort[title]sort[due]]" variable="mytitle">
---
''Fällig am: ''<$edit-text tiddler=<<mytitle>> field="due"/>
<$set name="stateTiddler" filter="[<mytitle>addprefix[$:/temp/state/]]" emptyValue=error>
<$wikify name="qualstate" text=<<makeState>>>
* <$button class="tc-btn-invisible" popup=<<qualstate>>><$text text=<<mytitle>>/>
</$button>
<$reveal type="popup" position="below" state=<<qualstate>>>
<div class="tc-popup-keep mypopup">
<$tiddler tiddler=<<mytitle>>>
<$transclude tiddler=<<mytitle>>/>
</$tiddler>
</div>
</$reveal>
</$wikify>
</$set>
</$list>
<style>
.mypopup {
min-width: 380px;
border: 1px solid #bbb;
background-color: #ffffff;
padding: 1em;
margin: 4px 0 0 0;
text-shadow: none;
line-height: 1.4;
}
</style>
```
<br/><br/>
`<div style="background:Lightgoldenrodyellow;">`
steht für den pastellfarbenen Hintergrund. Lightgoldenrodyellow kannst Du natürlich auch mit jeder anderen Farbe ersetzen- siehe z.B. https://bfw.ac.at/020/farbtabelle.html (englische Farbtabelle).<br/>
Wenn du `<div style="background:Darkslateblue;">` ''NACH'' `<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>` schreibst, bleibt der Hintergrund vom +Neuer Task - Button in der Default-Farbe (hier weiß).
<br/><br/><br/>
`<$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>`
(ganz oben) steht dabei für <$button message="tm-new-tiddler" param="K:">+Neuer Task</$button>
<br/><br/><br/>
''Dieser 1. Monatslisten-Tiddler zeigt die Aufgaben an, die im Januar erledigt werden sollen.<br/>
Klone diesen Tiddler 12x (11x für die restlichen Monate, 1x für __alle__ Aufgaben).''<br/>
Und editiere folgenden Part:<br/>
`<$list filter="[tag[ToDo]regexp:due[^18.01]sort[title]sort[due]]" variable="mytitle">` so:<br/><br/>
Für Februar: `<$list filter="[tag[ToDo]regexp:due[^18.02]sort[title]sort[due]]" variable="mytitle">`<br/><br/>
Für März: `<$list filter="[tag[ToDo]regexp:due[^18.03]sort[title]sort[due]]" variable="mytitle">`<br/><br/>
Für April: `<$list filter="[tag[ToDo]regexp:due[^18.04]sort[title]sort[due]]" variable="mytitle">`<br/><br/>
Für "Alle Aufgaben": `<$list filter="[tag[ToDo]sort[title]sort[due]]" variable="mytitle">`<br/><br/>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=180 src="https://share-your-photo.com/img/f7156c5aa0.jpg" style=" float:left;padding: 0 1.5em 0 0;"/>
''Ideales Einsteigerrezept'', da
* nur sehr wenig Zutaten & Zubehör gebraucht werden.
* Die meisten Zutaten entweder eh vorhanden sind oder für viele andere Dinge verwendet werden können.
* Es sehr leicht zubereitet werden kann (ohne Xanthan einfacher, außerdem brauchst Du dann keine "exotische" Zutat; wird dann allerdings absolut dünnflüssig).
* Und kleine Mengen-Fehler nicht schlimm sind.<br/>
''Eigenschaft dieses WC-Reinigers:'' Reinigt wunderbar, entkalkt, wirkt <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, hat Zeit zum Einwirken am Spülrand da er nicht sofort runterfließt, schäumt ein bisschen & duftet angenehm.<br/>
''Meine Erfahrung damit:'' Benutze ich seit mehreren Jahren mit Begeisterung.
''Anwendung:'' Wie jeder andere WC-Reiniger auch.<br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> ml<br/>(Mindestmenge 100ml, wenn Du nicht verdicken möchtest. 300ml, wenn Du 0,07g Xanthan abwiegen kannst. Und 1100ml, wenn Du verdicken möchtest, aber keine 0,01g-genaue Waage hast)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 500 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken. Bei der nächsten Herstellung achte ich drauf, wieviel ml am Ende herauskommen.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /500* 500,2)</$calc>g/ml Wasser (!!)
* <$calc>round({{!!gesamtmenge}} /500* 11.1,2)</$calc>g [[SLMI / SurfaLux palmölfrei (Tensid)]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 44.4,2)</$calc>g @@font-size:0.9em;(40g = 2 EL)@@ [[Zitronensäure]] (!!)
* <$calc>round({{!!gesamtmenge}} /500* 0.11,2)</$calc>g ( =<$calc>round({{!!gesamtmenge}} /500* 0.22,2)</$calc> gestr. Messl.) [[Xanthan]] (?)
* <$calc>round({{!!gesamtmenge}} /500* 5,2)</$calc> - <$calc>round({{!!gesamtmenge}} /500* 10,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /500* 0.22,2)</$calc>-<$calc>round({{!!gesamtmenge}} /500* 0.45,2)</$calc>g) [[Lavendelöl]] (?)
<br/>
''Zubereitungszeit:'' Ca. 15 Minuten
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Wasser'' mit SLMI aufkochen & auf unter 100°C abkühlen lassen.
# ''Zitronensäure'' einrühren.
# ''Xanthan'' mit einem Schneebesen nach und nach einrühren (@@font-size:0.8em;ich habe Xanthan in einem kleinen Schälchen abgewogen und klopfe mit diesem gegen den Schneebesen, mit dem ich die ganze Zeit kräftig rühre. Auf die Art rieselt immer nur wenig Xanthan ein und verteilt sich sofort. So bekommst Du das beste, nämlich klumpenfreie, Ergebnis.)@@<br/>Nun sollten sich auch alle Zitronensäure-Kristalle aufgelöst haben.
# Auf Handwärme abkühlen lassen und ''Lavendelöl'' unterrühren.
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* Am besten im Kochtopf rühren.
* Schneebesen
* Wiederbefüllbares Behältnis zum Einfüllen
"""
''Ab wann verwendbar''
Sofort verwendbar. Die endgültige Konsistenz ist allerdings erst nach 1 Tag vorhanden (Xanthan dickt nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
Wasser: (durchschnittlich 0,2Ct / Liter)
Trägermaterial...
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,33€)
Reinigt und entfernt Fettiges. Und macht ein bisschen Schaum (durch Schaumbildung wird Schmutz noch besser abtransportiert). Ausserdem senkt es die Oberflächenspannung des Wassers und sorgt so für eine bessere Haftung des Reinigers auf glatten Oberflächen.
[[Zitronensäure]] (0,33€)
Zitronensäure wirkt entkalkend, <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>.
[[Xanthan]] (0,01€)
Xanthan macht den Toilettenreiniger dickflüssiger, damit er nicht sofort den Spülrand runterläuft. Wenn Du das nicht möchtest, kannst Du es einfach weglassen.
[[Lavendelöl]] (0,08-0,17€)
In diesem Rezept wird Lavendelöl aufgrund seines Dufts und der <div class="tooltip">desinfizierenden
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> Wirkung verwendet.
Dafür ist das "Lavandinöl" (Lavandula intermedia) oder das Spik-Lavendelöl / Spiköl (Lavandula latifolia) am besten geeignet- und wesentlich günstiger.
''Selbstkonservierend durch'' Zitronensäure (<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div> & <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>) & Lavendelöl (<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>).
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 3 Monate haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 0,75-0,84€ für 500ml Gesamtmenge. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<style>
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 320px;
top: 100%;
left: 50%;
margin-left: -50px; /* Use half of the width (120/2 = 60), to center the tooltip */
background-color: Violet;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
</style>
<body style="text-align:center;">
<div class="tooltip">HoverOverMe
<span class="tooltiptext">TooltipText</span>
</div>
abrasiv
`<div class="tooltip">abrasiv
<span class="tooltiptext">reibende oder schleifende Wirkung, die wiederum einen glättenden, reinigenden oder abnutzenden Effekt zur Folge hat</span></div>`
Absolue
`<div class="tooltip">Absolue
<span class="tooltiptext">Mit Lösungsmitteln extrahierte Duftstoffe (ätherische Öle) aus Pflanzen, deren wachsige Bestandteile mit Alkohol ausgewaschen wurden.</span></div>`
ad 100
`<div class="tooltip">ad 100
<span class="tooltiptext">Die entsprechende Zutat, bei der »ad 100« notiert ist, soll den noch verbleibenden Rest der Rezeptur bis auf 100% einnehmen. Diese Angabe wird häufig auf Wasser angewendet: Nach Angabe aller Zutaten nimmt Wasser den verfügbaren Rest ein. Sinnvoll ist eine solche Angabe grundsätzlich auch dann, wenn Ihnen vorher bei der Dosierung einer Zutat (z.B. des Konservierungsmittels oder der Duftstoffe) ein rezepturabhängiger Spielraum gegeben wird. Füllen Sie die Differenz zu 100% Produkt in diesem Fall entsprechend mit Wasser- eben ad 100- auf.</span></div>`
Additiv
`<div class="tooltip">Additiv
<span class="tooltiptext">Hilfs-/Zusatzstoffe, die Produkten in geringen Mengen zugesetzt werden, um bestimmte Eigenschaften zu erreichen oder zu verbessern</span></div>`
adstringierend
`<div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>`
Alkylpolyglucoside / APGs
`<div class="tooltip">Alkylpolyglucoside/APGs
<span class="tooltiptext">Alkylpolyglucoside >moderne & hochpreisige nichtionische Tenside</span></div>`
allergen
`<div class="tooltip">allergen
<span class="tooltiptext">Allergien auslösend</span></div>`
ambiphil
`<div class="tooltip">ambiphil
<span class="tooltiptext">sowohl hydrophil (wasserlöslich /-anziehend /-bindend), als auch lipophil (fettlöslich /-anziehend /-bindend)</span></div>`
anaerob
`<div class="tooltip">anaerob
<span class="tooltiptext">unter Abwesenheit von Sauerstoff</span></div>`
''antibakteriell''
`<div class="tooltip">antibakteriell
<span class="tooltiptext"> = gegen Bakterien wirkend =antiseptisch =antibiotisch =bakteriostatisch =bakteriozid</span></div>`
antifungal
`<div class="tooltip">antifungal
<span class="tooltiptext">=fungizid =antimykotisch =gegen Pilze</span></div>`
antikariogen
`<div class="tooltip">antikariogen
<span class="tooltiptext">gegen Karies wirkend</span></div>`
antimikrobiell
`<div class="tooltip">antimikrobiell
<span class="tooltiptext">=desinfizierend =gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span></div>`
antimykotisch
`<div class="tooltip">antimykotisch
<span class="tooltiptext">gegen Pilze wirkend</span></div>`
antioxidativ
`<div class="tooltip">antioxidativ
<span class="tooltiptext">Im Körper kann es durch allerlei schädliche Umwelteinflüsse- wie z.B. Schadstoffe, Stress & Fehlernährung zur Bildung sog. freier Radikale kommen. Bei diesen handelt es sich eigentlich um Sauerstoffmoleküle, denen ein Elektron fehlt, wodurch diese Gewebe & DNA zerstören können. Gerade dies kann zu einer vorzeitigen Alterung des Gewebes führen oder aber bei Schädigung des Erbgutes sogar die Entstehung von Krebs begünstigen und beschleunigen. Antioxidativ wirkende Stoffe wirken diesen freien Radikalen effektiv entgegen und schließen alle negativen Folgen dieser Moleküle aus.</span></div>`
antiseptisch
`<div class="tooltip">antiseptisch
<span class="tooltiptext">=antibakteriell =antibiotisch =gegen Bakterien wirkend</span></div>`
antiviral
`<div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span></div>`
atopisch
`<div class="tooltip">atopisch
<span class="tooltiptext">allergische Entzündungsreaktion der Haut aufweisend</span></div>`
autoklavieren
`<div class="tooltip">autoklavieren
<span class="tooltiptext">Sterilisieren mit 121°C heißem Wasserdampf bei 2 bar Druck- kann auch mit einem Dampfdrucktopf zuhause erfolgen</span></div>`
Barrieregestörte Haut
`<div class="tooltip">Barrieregestörte Haut
<span class="tooltiptext">=Neigung zu Neurodermitis, Schuppenflechte</span></div>`
Barriereschicht der Haut
`<div class="tooltip">Barriereschicht der Haut
<span class="tooltiptext">Als eines der größten Organe des menschlichen Körpers erfüllt die Haut vielfältige Aufgaben: Sie unterstützt die Wasser- & Temperaturregelung des Organismus, ist Ausscheidungsorgan für diverse Stoffe wie Säuren & Salze, Produktionsort wichtiger Substanzen unterschiedlichster Stoffwechselprozesse wie Interferone, Hormone, Vitamine (Vitamin D!) & Proteine- vor allem jedoch bildet die oberste Hautschicht, die Hornschicht (Stratum corneum) eine Schutzbarriere gegenüber Sonnenlicht, Mikroorganismen, chemischen & mechanischen Einflüssen, Substanzen //von// außen und eine Barriere für Wasser & kleine Moleküle //nach// außen.</span></div>`
Basalschicht
`<div class="tooltip">Basalschicht
<span class="tooltiptext">__KURZ:__ Das Stratum basale (Basalschicht) ist die unterste Schicht der Oberhaut (Epidermis), die an die Lederhaut (Dermis) angrenzt.<br/>__LANG:__ Hier findet die Neubildung von Hautzellen, die so genannte Proliferation statt. Die im Stratum basale produzierten Zellen teilen sich; eine Tochterzelle verbleibt jeweils im Stratum basale, die andere wandert als Keratinozyt in Richtung Oberhaut und verhornt zunehmend, sie keratinisiert und ist schließlich eine tote Hornzelle (Korneozyt). Diese Wanderung dauert ca. 14 Tage; weitere 14 Tage nimmt die Abschilferung der abgestorbenen Korneozyten in Anspruch, die normalerweise unauffällig erfolgt. Die Lipide des Stratum basale setzen sich vorwiegend aus Triglyceriden, freien Fettsäuren, Phospholipiden, Cholesterol, Ceramiden u.a. zusammen.</span></div>`
BDIH
`<div class="tooltip">BDIH
<span class="tooltiptext">Bundesverband deutscher Industrie- & Handelsunternehmen für Arzneimittel, Reformwaren, Nahrungsergänzungsmittel und Körperpflegemittel. Gibt ein Prüfzeichen heraus, unter dem Mitglieder-Firmen "kontrollierte Naturkosmetik" anbieten.</span></div>`
Bilayer
`<div class="tooltip">Bilayer
<span class="tooltiptext">Lipid-Doppelschicht(en) mit fett- & wasserliebenden Bereichen</span></div>`
Body Melt / Lotion Bar / Feste Körperbutter / Massage Bar
`<div class="tooltip">Body Melt / Lotion Bar / Feste Körperbutter / Massage Bar
<span class="tooltiptext">Quasi eine "feste" Creme- sieht optisch aus wie ein Seifestück. Bei Hautkontakt schmilzt es und wird wie eine Creme verteilt. Ohne Wasseranteil.</span></div>`
Bulkwasser
`<div class="tooltip">Bulkwasser
<span class="tooltiptext">freies, nicht gebundenes Wasser in einer Emulsion; wirkt kühlend und im Hautgefühl befeuchtend</span></div>`
Candida albicans
`<div class="tooltip">Candida albicans
<span class="tooltiptext">Hefepilz, der häufig auf den Schleimhäuten von Mund & Rachen, im Genitalbereich sowie im Verdauungstrakt zu finden ist; nur bei Immunschwäche krank machend.</span></div>`
CAS-Nummer
`<div class="tooltip">CAS-Nummer
<span class="tooltiptext">CAS ist die Kurzbezeichnung für "Chemical Abstracts Service", einer amerikanischen Institution, die chemische Substanzen katalogisiert.
Die CAS-Nummer ist v.a. dann hilfreich, wenn es darum geht, einen bestimmten Stoff eindeutig zu identifizieren. Ein konkretes Beispiel: Wir können als Selbstrührer Nicotinamid (CAS-Nummer 98-92-0) sinnvoll einsetzen, während die Nicotinsäure (CAS-Nummer 59-67-6) zu erheblichen unerwünschten Hautrötungen führen kann; beide werden jedoch mitunter unter dem Begriff »Niacin« subsummiert. Mit der CAS-Nummer ist der Kauf des eindeutig richtigen Rohstoffs möglich.</span></div>`
Ceramide
`<div class="tooltip">Ceramide
<span class="tooltiptext">Hauteigene Lipide; bilden in der Hornschicht der Haut mit anderen Lipiden eine natürliche feuchtigkeitsbindende Barriereschicht.</span></div>`
CMC-Wert, niedrig
`<div class="tooltip">niedrigen CMC-Wert
<span class="tooltiptext">niedriger CMC-Wert = Tenside erreichen schon in geringer Konzentration die niedrigst mögliche Oberflächenspannung und können damit optimal Schmutz benetzen & lösen</span></div>`
Collagen
`<div class="tooltip">Collagen
<span class="tooltiptext">wesentlicher, organischer Bestandteil des Binde- & Stützgewebes der Haut</span></div>`
Cuticula
`<div class="tooltip">Cuticula
<span class="tooltiptext">äußere Schuppenschicht des Haares</span></div>`
Denaturierung
`<div class="tooltip">Denaturierung
<span class="tooltiptext">Zerstören der Eiweißstruktur durch Wärmeeinwirkung über 40°C </span></div>`
Derivat
`<div class="tooltip">Derivat
<span class="tooltiptext">Ein Stoff, der auf Basis des Ursprungsstoffs hergestellt wird</span></div>`
Dermatose
`<div class="tooltip">Dermatose
<span class="tooltiptext">=Ekzem</span></div>`
dermatitische Haut
`<div class="tooltip">dermatitische Haut
<span class="tooltiptext">=ekzematische Haut</span></div>`
Dermis
`<div class="tooltip">Dermis
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>`
desinfizierend
`<div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span></div>`
desodorisierend
`<div class="tooltip">desodorisierend
<span class="tooltiptext">geruchsneutralisierend</span></div>`
desodorisieren von Fetten
`<div class="tooltip">desodorisieren von Fetten
<span class="tooltiptext">Entfernen von geruchs- oder geschmacksintensiven Begleitstoffen eines Fetts durch Behandlung mit bis zu 250°C heißem Wasserdampf</span></div>`
dispergieren
`<div class="tooltip">dispergieren
<span class="tooltiptext">=fein verteilen (nicht lösen)</span></div>`
egalisieren
`<div class="tooltip">egalisieren
<span class="tooltiptext">eine optisch gleichmäßige Wirkung erzielen</span></div>`
Emollentien
`<div class="tooltip">Emollentien
<span class="tooltiptext">Emollentien (Singular: Das Emolliens) sind im weitesten Sinne hautpflegende Stoffe, die in die Zwischenräume der Hornzellen eindringen und eine angenehme, geschmeidige Haptik erzeugen. Zu den Emollentien gehören Öle, Wachse, aber auch feuchtigkeitsbindende Substanzen.</span></div>`
Emulgator
`<div class="tooltip">Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>`
emulgieren
`<div class="tooltip">emulgieren
<span class="tooltiptext">emulgieren = Zwei normalerweise nicht mischbare Flüssigkeiten (z.B. Wasser & Öl) werden durchs Emulgieren miteinander verbunden.</span></div>`
Emulsion
`<div class="tooltip">Emulsion
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>`
enzymatisch
`<div class="tooltip">enzymatisch
<span class="tooltiptext">eine durch Enzyme bewirkte bio-chemische Reaktion</span></div>`
Epidermis
`<div class="tooltip">Epidermis
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>`
Esteröle, kosmetische `(siehe [[Medizinische / kosmetische Fachbegriffe]])`
Extraktion
`<div class="tooltip">Extraktion
<span class="tooltiptext">Stoffgewinnung durch Ausziehen einer Substanz aus einem Stoffgemisch durch ein Lösungsmittel</span></div>`
Fettphase
`<div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div>`
Filler
`<div class="tooltip">Filler
<span class="tooltiptext">Pigmente, die Deckkraft & Glanz einer Pigmentmischung regulieren</span></div>`
fluidisieren der Haut
`<div class="tooltip">fluidisieren
<span class="tooltiptext">Doppelmembrane von Zellwänden (oder die der Hautbarriereschicht) durch den Einbau ungesättigter Fettsäuren in ihrer Struktur auflockern, beweglicher und durchlässiger für Substanzen machen</span></div>`
Formulierung
`<div class="tooltip">Formulierung
<span class="tooltiptext">einfach gesagt: Rezept für den kosmetischen / pharmazeutischen Bereich</span></div>`
Fraktion
`<div class="tooltip">Fraktion
<span class="tooltiptext">Untergruppe von Substanzen</span></div>`
freies Wasser
`<div class="tooltip">freies Wasser
<span class="tooltiptext">Wasser in einer Emulsion, das sofort beim Auftragen zur Befeuchtung der Haut zur Verfügung steht</span></div>`
Frizz
`<div class="tooltip">Frizz
<span class="tooltiptext">Die Haar-Schuppenschicht liegt idealerweise glatt und dachschindelartig übereinander. Bei sehr trockenem Haar stehen die "Dachschindeln" ab- so dringt Feuchtigkeit ein und "pufft" das Haar auf. Statt geschmeidig und glänzend, sieht das Haar jetzt trocken, rau und struppig aus. Die Spitzen werden spröde und glatte Haare beginnen zu fliegen.</span></div>`
Glycerit
`<div class="tooltip">Glycerit
<span class="tooltiptext">Pflanzenauszug in Glycerin</span></div>`
Grenzflächenspannung
`<div class="tooltip">Grenzflächenspannung
<span class="tooltiptext">Kräfte, die zwischen Öl und Wasser auftreten; bilden eine gemeinsame Grenzfläche, die unter Grenzflächenspannung steht, sodass sie sich nicht miteinander vermischen können</span></div>`
Haarfollikel
`<div class="tooltip">Haarfollikel
<span class="tooltiptext">Einstülpung der Basalschicht der Epidermis (Oberhaut), in der das Haar gebildet und verankert wird</span></div>`
haarkonditionierend
`<div class="tooltip">haarkonditionierend
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div>`
hautanalog
`<div class="tooltip">hautanalog
<span class="tooltiptext">dem Aufbau und der Funktion hauteigener Substanzen ähnlich</span></div>`
hautphysiologisch
`<div class="tooltip">hautphysiologisch
<span class="tooltiptext">den Funktionen der Haut entsprechend und diese unterstützend</span></div>`
HLB-Wert
`<div class="tooltip">HLB-Wert
<span class="tooltiptext">Abkürzung für "Hydrophilic Lipophilic Balance".<br/><br/>Der HLB-Wert beschreibt die Tendenz eines Emulgators, sich eher in wässrigen (so genannten polaren) oder eher in öligen (so genannten unpolaren) Medien zu lösen. Bei besserer Wasserlöslichkeit (Hydrophilie) des Emulgators bildet Wasser die äußere Phase, in der kleine Öltröpfchen vom Emulgator ummantelt werden; bei besserer Öllöslichkeit ist es genau umgekehrt.<br/><br/>Jedes Emulgatormolekül weist also eine unterschiedlich stark ausgeprägte Löslichkeit in Wasser oder in Öl auf. Das Verhältnis von hydrophilen und lipophilen Gruppen in einem Emulgatormolekül, also die Balance zwischen beiden »Kräften«, wird in einer Zahl zwischen 0 und 20 ausgedrückt (wenn man es ganz genau nimmt, wird der Anteil der wasserliebenden Teile zur gesamten Masse des Moleküls berechnet). Diese Skala kann bis zu HLB 40 reichen. Prinzipiell gilt:<br/><br/>Emulgatoren mit einem HLB-Wert unter 10 (im engeren Sinne: HLB 3 - ca. 6) bilden eher Wasser-in-Öl-,<br/>Emulgatoren mit einem HLB-Wert ca. 8 - ca. 18 Öl-in-Wasser-Emulsionen.<br/>Verwendet man mehrere Emulgatoren, kann man den HLB-Wert einfach arithmetisch aus den Mittelwerten errechnen.</span></div>`
Hochspreitend
`<div class="tooltip">Hochspreitend
<span class="tooltiptext">Hochspreitendes Öl verteilt sich sehr gut & dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.</span></div>`
hochtourig rühren
`<div class="tooltip">hochtourig rühren
<span class="tooltiptext">Eine Emulsion wird im Auftragsverhalten angenehmer und insgesamt stabiler bei weniger benötigter Emulgatormenge. Bei einer Geschwindigkeit von 5.000 rpm musst Du ca. 1 Minute zum Emulgieren rühren. Bei höherer Umdrehungszahl (geht je nach Gerät bis zu 22000) solltest Du ca. 30 Sekunden rühren. Bei zu kurzem Rühren emulgiert es nicht richtig /nicht stabil, bei zu langem Rühren kann die Emulsion wieder kaputt gerührt werden.</span></div>`
homogenisieren
`<div class="tooltip">homogenisieren
<span class="tooltiptext">gleichmäßige Vermischung verschiedener, nicht ineinander löslicher Komponenten; die Erzeugung gleich großer innerer Partikel in einer Emulsion</span></div>`
Hornschicht
`<div class="tooltip">Hornschicht
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div>`
Hydrathülle
`<div class="tooltip">Hydrathülle
<span class="tooltiptext">Anlagerung von Wassermolekülen um ein Ion</span></div>`
hydratisierend
`<div class="tooltip">hydratisierend
<span class="tooltiptext">feuchtigkeitsbindend</span></div>`
Hydratisierer
`<div class="tooltip">Hydratisierer
<span class="tooltiptext">feuchtigkeitsbindender kosmetischer Rohstoff</span></div>`
Hydrodispersionsgel
`<div class="tooltip">__KURZ:__ Wasserbasiertes Gel mit geringen Anteilen pflegender Fette<br/>__LANG:__ Ein Hydrodispersionsgel ist ein mit Gelbildnern (sogenannten Hydrokolloiden) mehr oder weniger viskos angedicktes, wasserbasiertes Kosmetikum, in dem eine geringe Menge an Ölen (in der Regel zwischen 5-20%) und, bei Bedarf, Wirkstoffe in das Gelgerüst eingearbeitet sind. Typische und gern verwendete Gelbildnern im naturkosmetischen Bereich sind Xanthan, Guarkernmehl, Hyaluronsäure und Cellulose-Derivate. Sie stabilisieren die Öltröpfchen durch Viskositäserhöhung der Wasserphase, die ein Zusammenfließen verzögert; manche Gelbildner bilden makromolekulare Grenzflächenfilme. Dies bedeutet, ihre Moleküle lagern sich an der Oberfläche der Öltröpfchen an wie ein Film und mindern die Gefahr ihres Zusammenfließens.</span></div>`
Hydrogel / Hydrophiles Gel
`<div class="tooltip">Hydrogel / Hydrophiles Gel
<span class="tooltiptext">__KURZ:__ Wasserbasiertes, fettfreies Gel<br/>__LANG:__ Hydrogele sind gelierte Flüssigkeiten (Gele), die mit geeigneten Quellmitteln wie zum Beispiel Cellulosederivaten hergestellt werden. Im Unterschiede zu den Oleogelen zeichnen sich die Hydrogele durch ihren hohen Wassergehalt aus (80-90%) und sind in der Regel fettfrei. Hydrogele werden einerseits als Grundlage zur lokalen Verabreichung von Wirkstoffen und anderseits meist ohne Wirkstoff zur Behandlung trockener Wunden verwendet.<br/><br/>Wirkungen: Kühlend durch die Verdunstung von Wasser, kurzfristig hydratisierend, längerfristig austrocknend, nicht rückfettend.<br/><br/>Verwendung mit Wirkstoff für: Zur lokalen Verabreichung von Wirkstoffen und zur Behandlung von Erkrankungen, bei denen eine Kühlung oder Austrocknung erwünscht ist, z.B. Insektenstiche, Sonnenbrand, bei Sportverletzungen, rheumatischen Beschwerden, nächtliche Wadenkrämpfe.<br/><br/>Verwendung meist ohne Wirkstoff für: Hydrogele werden bei der feuchten Wundversorgung zur Feuchthaltung verwendet, z.B. bei trockenen Nekrosen oder bei einfachen Wunden in der Granulations- und Epithelisierungsphase. Dabei wird entweder das Gel alleine oder das Gel abgeschlossen in einer Wundauflage auf die Wunde gelegt.</span></div>`
Hydrokolloide
`<div class="tooltip">Hydrokolloide
<span class="tooltiptext">= Gelbildner</span></div>`
Hydrolase
`<div class="tooltip">Hydrolase
<span class="tooltiptext">Enzyme, die chemische Verbindungen durch Reaktion mit Wasser spalten</span></div>`
Hydrolat
`<div class="tooltip">Hydrolat
<span class="tooltiptext">durch Wasserdampfdestillation von Pflanzen entstandenes Pflanzenwasser; enthält flüchtige, wasserlösliche Pflanzenstoffe und geringe Mengen an ätherischen Ölen</span></div>`
Hydro-Lipid-Film
`<div class="tooltip">Hydro-Lipid-Film
<span class="tooltiptext">Auf der Hautoberfläche bilden verschiedene Lipide (vorwiegend Tricglyceride, Squalen, Wachsester & Fettsäuren) aus den Talgdrüsen und aus den freigesetzten Lipiden der Kittsubstanz der verhornten Keratinozyten Cholesterin & Cholesterinester zusammen mit in Wasser gelösten Substanzen aus dem Hautschweiß (Carbonsäuren, Aminosäuren & Salze) einen hydro-lipiden Film. Durch Spaltung der Triglyceride durch fettspaltende Enzyme (Lipasen) in freie Fettsäuren sinkt der pH-Wert der Haut auf 5,5-6,5 ab (daher auch der Name »Säureschutzmantel«) und besitzt eine antibakterielle Wirkung. Interessant ist, dass der Mensch über eine spezifische, hauteigene aerobe Keimbesiedlung verfügt, eine »residente Flora«, deren Stoffwechselprodukte antimikrobiell wirken und unerwünschte und pathogene (krankmachende) Fremdkeime minimieren. Ein hautphysiologischer pH-Wert im leicht sauren Bereich garantiert der hauteigenen Mikroflora optimale Bedingungen und ist wesentlich für die Gesunderhaltung der Haut.
Der Hydro-Lipid-Film hat vor allem Schutzfunktion vor Mikroorganismen und Sonnenlicht (letzterer ist jedoch nur begrenzt). Die im Hydro-Lipid-Film enthaltenen Emulgatoren (hier v.a. Cholesterin, Fettsäuren & Diglyceride) emulgieren Hautlipide und Hautschweiß zu einer Emulsion, die sich auf der Hautoberfläche ausbreitet und sie schützend überzieht.</span></div>`
Hydrolyse
`<div class="tooltip">Hydrolyse
<span class="tooltiptext">Spaltung einer chemischen Verbindung durch Reaktion mit Wasser</span></div>`
hydrolytisch
`<div class="tooltip">hydrolytisch
<span class="tooltiptext">Spaltung chemischer Verbindungen durch Wasser mithilfe eines Stoffes, der die Reaktion beschleunigt (Katalysator)</span></div>`
hydrophil
`<div class="tooltip">hydrophil
<span class="tooltiptext">wasserlöslich /-anziehend /-bindend</span></div>`
hydrophob
`<div class="tooltip">hydrophob
<span class="tooltiptext">wasserunlöslich /-abstoßend</span></div>`
hygroskopisch
`<div class="tooltip">hygroskopisch
<span class="tooltiptext">bestrebt, Luftfeuchtigkeit aufzunehmen</span></div>`
INCI
`<div class="tooltip">INCI
<span class="tooltiptext">Einfach gesagt: Die Zutatenliste bei kosmetischen / pharmazeutischen Produkten.<br/>INCI ist die Abkürzung für "International Nomenclature of Cosmetic Ingredients") und bezeichnet eine internationale Richtlinie für die korrekte Angabe der Inhaltsstoffe (Ingredients) von Kosmetika- ohne Mengenangaben.
Die Inhaltsstoffe werden nach ihrem Gewichtsanteil in abnehmender Reihenfolge aufgelistet- sofern sie jeweils mehr als 1% des Inhalts ausmachen.<br/><br/>Im Gegensatz zu dem geltenden System in den USA werden bei pflanzlichen Rohstoffen die lateinischen Gattungsnamen (oder den der Spezies), jedoch nicht exakt der Teil der Pflanze benannt, der verwendet wird. So wird bei Verwendung eines Rohstoffs des Olivenbaums unter INCI "Olea Europaea" angegeben, obwohl es sich um das fette Öl, gehärtete Olivenbutter oder um einen Extrakt aus Olivenblättern handeln könnte. Das amerikanische System differenziert hier deutlich und nennt (hier auf Produkte aus Weizen bezogen) Hydrolized Wheat Protein, Wheat Germ Oil usw., die ja vollkommen unterschiedliche kosmetische Substanzen mit spezifischem Einsatzgebiet und spezifischen Wirkungen darstellen.<br/><br/>Farbstoffe werden am Ende der Auflistung mit der jeweiligen CI-Nummern (CI = Colour-Index) aufgeführt- ohne besondere Sortierung oder Reihenfolge. Bei Kosmetika in verschiedenen Farbvarianten werden die in den Varianten verwendeten Farbstoffe in einer eckigen Klammer aufgelistet. Eine Kennzeichnung „+/−“ zeigt an, dass eventuell nicht alle der aufgeführten Farbstoffe im Produkt enthalten sind, zum Beispiel: [+/− CI12700, CI14270, CI20470]. Zum Schutz der Rezeptur kann für Inhaltsstoffe besondere Vertraulichkeit beantragt werden. Solche Inhaltsstoffe werden durch einen siebenstelligen Code, zum Beispiel 600277D oder ILN5643, aufgelistet.</span></div>`
Infus
`<div class="tooltip">Infus
<span class="tooltiptext">= Tee; wässriger Aufguss fester Drogen (z.B. von Kräutern, Früchten, Pflanzenteilen) mit heißem oder kochendem Wasser</span></div>`
Inhomogenität
`<div class="tooltip">Inhomogenität
<span class="tooltiptext">uneinheitliches Aussehen, ungleichmäßige Konsistenz</span></div>`
amphoter, anionisch, kationisch, nichtionisch
`<div class="tooltip">amphoter, anionisch, kationisch, nichtionisch
<span class="tooltiptext">siehe [[Tenside]]</span></div>`
Interferenzpigmente
`<div class="tooltip">Interferenzpigmente
<span class="tooltiptext">Effektpigmente, die je nach Blickwinkel verschiedene Farbeffekte zeigen</span></div>`
interlamellar
`<div class="tooltip">interlamellar
<span class="tooltiptext">in den "Maschen" der flüssig-kristallinen Gelnetzwerke einer Öl-in-Wasser-Emulsion</span></div>`
interzellulär
`<div class="tooltip">interlamellar
<span class="tooltiptext">zwischen den einzelnen Zellen</span></div>`
intrazellulär
`<div class="tooltip">interlamellar
<span class="tooltiptext">in den Zellen</span></div>`
irritativ
`<div class="tooltip">irritativ
<span class="tooltiptext">Substanzen, die beim Aufbringen auf die Haut eine sichtbare Reaktion (z.B. Schwellung und/oder Rötung) bewirken</span></div>`
Jodzahl
`<div class="tooltip">Jodzahl
<span class="tooltiptext">Chemisch betrachtet nennt die Jodzahl eines Öls die Menge an Jod (in Gramm pro 100g Fett), die sich an seine freie Doppelbindungen (der ungesättigten Fettsäuren) anlagern können. Je höher die Jodzahl, desto mehr (mehrfach) ungesättigte Fettsäuren sind in einem Öl enthalten. "Trocknend" meint im Übrigen nicht "die Haut austrocknend", sondern wie schnell ein Fett in Verbindung mit Sauerstoff trocknet.<br/>__Jodzahl <100 (nicht trocknend):__ Diese Fette hinterlassen einen leichten Schutzfilm auf der Haut.<br/>__Jodzahl 100-170 (halb trocknend):__ Diese Fette zählen zu den halbtrocknenden Fetten. Sie ziehen gut ein und hinterlassen nur einen geringen Film auf der Haut.<br/>__Jodzahl > 170 (trocknend):__ Diese Fette ziehen, ohne zu fetten, gut in die Haut ein.</span></div>`
Kaltemulgator
`<div class="tooltip">Kaltemulgator
<span class="tooltiptext">Kaltemulgatoren müssen nicht geschmolzen werden</span></div>`
kaltgepresst
`<div class="tooltip">kaltgepresst
<span class="tooltiptext">Kalt gepresste Öle werden ohne Wärmezufuhr nur durch Druck oder Reibung in meist dezentralen Ölmühlen hergestellt. Auf die Pressung folgt meist eine Filtration. Durch die schonende Gewinnung bleiben Geschmackstoffe, Vitamine und die als gesund geltenden mehrfach ungesättigten Fettsäuren erhalten.</span></div>`
kanzerogen
`<div class="tooltip">kanzerogen
<span class="tooltiptext">krebsauslösend oder -fördernd</span></div>`
Kapillare
`<div class="tooltip">Kapillare
<span class="tooltiptext">feinste Blutgefäße in der Haut</span></div>`
kbA
`<div class="tooltip">kbA
<span class="tooltiptext">kontrolliert biologischer Anbau</span></div>`
Keratinozyten
`<div class="tooltip">Keratinozyten
<span class="tooltiptext">__Kurz:__ hornbildende Zellen in der Epidermis (Oberhaut)<br/><br/>__Lang:__ Keratinozyten sind Zellen in der Oberhaut (Epidermis). Sie werden im Stratum Basale (4. Schicht von oben innerhalb der Epidermis) gebildet und wandern ca. innerhalb 1 Monats nach außen an die Hautoberfläche, der Hornschicht (Stratum corneum, oberste Schicht der Epidermis).<br/><br/>Ihr Name basiert auf ihrer Funktion, das Protein Keratin herzustellen: Diese zunehmende Keratinisierung bedeutet, dass sie sich in ihrer Form und ihrer gewebe-chemischen Zusammensetzung verändern: Sie verlieren ihren Zellkern, verhornen (Keratin = Hornsubstanz), bis sie als Korneozyten die oberste Schicht des Stratum Corneum bilden.</span></div>`
keratolytisch
`<div class="tooltip">keratolytisch
<span class="tooltiptext">das Keratin der Hornzellen im Stratum corneum (oberste Schicht der Epidermis) lockernd & aufklösend</span></div>`
keratoplastisch
`<div class="tooltip">keratoplastisch
<span class="tooltiptext">das Keratin der Hornzellen im Stratum corneum (oberste Schicht der Epidermis) verformbar machend</span></div>`
Kinkenstruktur
`<div class="tooltip">Kinkenstruktur
<span class="tooltiptext">spezifische Molekülstruktur der einfach ungesättigten Ölsäure mit einer Doppelbindung exakt in der Mitte; ergibt ein raumgreifendes, das __Einziehverhalten förderndes__ Molekül</span></div>`
Ko-Emulgator
`<div class="tooltip">Ko-Emulgator
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren.<br/><br/>Ko-Emulgatoren sind schwache Emulgatoren, die den Hauptemulgator bei der Emulsionsbildung unterstützen</span></div>`
Ko-Tensid
`<div class="tooltip">Ko-Tensid
<span class="tooltiptext">Mildes Tensid; mindert irritative Wirkungen waschaktiver Substanzen (WAS) des Haupttensids, wirkt schleimhautschützend</span></div>`
Koaleszenz
`<div class="tooltip">Koaleszenz
<span class="tooltiptext">Zusammenfließen fein verteilter Teilchen, hier der Emulsionströpfchen</span></div>`
Kolloid
`<div class="tooltip">Kolloid
<span class="tooltiptext">Teilchen / Tröpfchen, die in einem Lösungsmittel als Feststoff, Flüssigkeit oder Gas fein verteilt vorliegen</span></div>`
komedogen
`<div class="tooltip">komedogen
<span class="tooltiptext">Der Begriff komedogen bezieht sich auf Stoffe, die in Verdacht stehen, die Bildung von Komedonen, also Unreinheiten (z.B. Mitesser, Unterlagerungen, Pickel, Pusteln & Akne), sowie Entzündungen der Haut zu begünstigen und zu fördern. Eine Zusammensetzung, die die Poren der Haut nicht verstopft, wird als nicht-komedogen bezeichnet.</span></div>`
Komedonen
`<div class="tooltip">Komedonen
<span class="tooltiptext">Hautunreinheiten, "Mitesser"</span></div>`
Komplexbildner
`<div class="tooltip">Komplexbildner
<span class="tooltiptext">binden Salze oder Metallionen in Emulsionen an sich und erhöhen ihre chemische & oxidative Stabilität</span></div>`
Komplexemulgator
`<div class="tooltip">Komplexemulgator
<span class="tooltiptext">Emulgatorengemisch</span></div>`
konditionierend
`<div class="tooltip">konditionierend
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div>`
Konsistenzerhöhung
`<div class="tooltip">Konsistenzerhöhung
<span class="tooltiptext">eine Erhöhung der Viskosität</span></div>`
Konsistenzgeber
`<div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>`
Kontamination
`<div class="tooltip">Kontamination
<span class="tooltiptext">Verunreinigung mit Schadstoffen oder Mikroorganismen</span></div>`
Korneozyten
`<div class="tooltip">Korneozyten
<span class="tooltiptext">Korneozyten sind abgestorbene, verhornte Keratinozyten, die- eingebettet in eine Schicht aus hauteigenen Fettstoffen wie Ceramiden, Cholesterin & Fettsäuren- die oberste Region des Stratum Corneum (oberste Schicht der Epidermis) bilden.</span></div>`
Kruke
`<div class="tooltip">Kruke
<span class="tooltiptext">Vorrats- bzw. Abgabegefäß des Apothekers, welches hauptsächlich für Salben, Pasten und Cremes verwendet wird</span></div>`
Lederhaut
`<div class="tooltip">Lederhaut
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>`
Leave-in
`<div class="tooltip">Leave-in
<span class="tooltiptext">Haarpflegeprodukt, das nicht ausgespült wird</span></div>`
lichtexponiert/sonnenexponiert
`<div class="tooltip">lichtexponiert/sonnenexponiert
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div>`
Lipide
`<div class="tooltip">Lipide
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>`
Lipidfraktion
`<div class="tooltip">Lipidfraktion
<span class="tooltiptext">Lipidanteil einer chemischen Substanz, der sich aus verschiedenen Fetten zusammensetzt</span></div>`
Lipidlayer
`<div class="tooltip">Lipidlayer
<span class="tooltiptext">Lipidschichten; Bestandteil der Zellmembran und der Hautbarriereschicht</span></div>`
Lipidperoxidation
`<div class="tooltip">Lipidperoxidation
<span class="tooltiptext">die Schädigung und Zerstörung der ungesättigten Bindungen von Fettsäuren (in Fetten und Zellmembranen); verursacht bzw. beschleunigt durch Einfluss von Wärme, UV-Licht & Sauerstoff</span></div>`
Lipogel
`<div class="tooltip">Lipogel
<span class="tooltiptext">__KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.</span></div>`
lipophil
`<div class="tooltip">lipophil
<span class="tooltiptext">fettlöslich /-anziehend /-bindend</span></div>`
lipophob
`<div class="tooltip">lipophob
<span class="tooltiptext">fettunlöslich /-abstoßend</span></div>`
liposomal
`<div class="tooltip">liposomal
<span class="tooltiptext">Lecithine, die in Doppelmembrane bildender & kugelförmiger Anordnung in Wasser vorliegen</span></div>`
Lösungsvermittler / Solubilisator
`<div class="tooltip">Solubilisator / Lösungsvermittler
<span class="tooltiptext">Substanz, die die Löslichkeit lipophiler Stoffe (Pflanzenöle, ätherische Öle, Tocopherol, Bisabolol u.a.) in Wasser ermöglicht, ohne ihre chemische Struktur zu verändern. Der Solubilisator fungiert als grenzflächenaktive Substanz, die vorhandene Fette in Mizellen einlagert und damit wasserlöslich macht. Je nach Größe der Mizellen kann die Lösung vollkommen klar bis milchig erscheinen. Alkohol erhöht die solubilisierenden Eigenschaften dieser Stoffgruppe.</span></div>`
lymphatisch
`<div class="tooltip">lymphatisch
<span class="tooltiptext">die Lymphe, die Lymphknoten, -gefäße betreffend</span></div>`
Mazerat
`<div class="tooltip">Mazerat
<span class="tooltiptext">Pflanzenauszug in einem Lösungsmittel (Öle, Alkohol, Glycerin)</span></div>`
mazerieren
`<div class="tooltip">mazerieren
<span class="tooltiptext">in einem Auszugsmittel einweichen</span></div>`
Melanin
`<div class="tooltip">Melanin
<span class="tooltiptext">Pigment, das beim Menschen u.a. Haut- & Haarfarbe bestimmt</span></div>`
Membran
`<div class="tooltip">Membran
<span class="tooltiptext">biologische Scheidewand; in erster Linie aus Lipiden bestehend</span></div>`
Methylgruppe
`<div class="tooltip">Methylgruppe
<span class="tooltiptext">[chem.] -CH-3, chemische Anordnung von Atomen; lipophil</span></div>`
Mittelspreitend
`<div class="tooltip">Mittelspreitend
<span class="tooltiptext">__Hochspreitend:__ Das Öl verteilt sich sehr gut & dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.<br/><br/>__Niedrigspreitend:__ Das Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.<br/><br/>__Mittelspreitendes__ Öl tut dies alles in Mittelwerten.</span></div>`
Mundflora
`<div class="tooltip">Mundflora
<span class="tooltiptext">Gesamtheit der in der Mundhöhle lebenden Bakterien & Pilze</span></div>`
nativ
`<div class="tooltip">nativ
<span class="tooltiptext">Native Öle sind naturbelassen und kalt gepresst ohne weitere Wärmezufuhr. (bei Olivenöl auch "Virgin") Die kalte Pressung ohne Wärmezufuhr vermeidet Oxidation. Das Öl wird filtriert. Weder Öl noch Rohware werden vor- oder nachbehandelt, etwa durch Raffination, Dämpfung oder Rösten der Saat. Es bleiben alle Inhaltsstoffe erhalten. Der deutliche Frucht- / Saatgeschmack, Geruch und intensive Farbe sind charakteristisch.</span></div>`
Niedrigspreitend
`<div class="tooltip">Niedrigspreitend
<span class="tooltiptext">Niedrigspreitendes Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.</span></div>`
NMF
`<div class="tooltip">NMF
<span class="tooltiptext">Natural Moisturizing Factor; __KURZ__: Körpereigene wasserbindende Stoffe in der Hornschicht.<br/>__LANG__: Für eine gesunde Haut sind zwei Faktoren maßgeblich: Zum einen eine intakte Barriereschicht, zum anderen der Feuchtigkeitsgehalt in der Hornschicht (Stratum corneum). Feuchtigkeit kommt im Stratum corneum intrazellulär; genauer gesagt in den Korneozyten und interzellulär gebunden vor. Intrazellulär binden hydrophile Substanzen, die dermatologisch unter dem Begriff NMF (Natural Moisturizing Factor) zusammengefasst werden, das Wasser an sich. Der Impuls für die Haut, diese NMF zu bilden, ist u.a. von ihrem Wassergehalt abhängig. NMF setzen sich aus Bestandteilen von Schweiß, Talg und Produkten des Verhornungsprozesses der Haut zusammen, u.a. organischen Säuren, Salzen, Zuckern und Harnstoff.</span></div>`
Oberhaut
`<div class="tooltip">Oberhaut
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>`
Ölmazerat
`<div class="tooltip">Ölmazerat
<span class="tooltiptext">öliger Pflanzenauszug</span></div>`
okklusiv / Okklusion
`<div class="tooltip">okklusiv / Okklusion
<span class="tooltiptext">__KURZ:__ Okklusive Fette bilden eine Barriereschicht der Hornschicht nach außen, sodass keine hauteigene Feuchtigkeit mehr verdunsten kann. Okklusion ist diese Barriereschicht.<br/>__LANG:__ Die Folge einer Okklusion ist eine Aufquellung der Hornschicht durch eine so genannte »Mazeration« und eine vorübergehende optische Glättung der Epidermis, weil die Hornzellen der Haut das Wasser aufnehmen, aufquellen und kleine (Knitter-)Fältchen scheinbar verschwinden. Konventionelle, auf Mineralölen / ihren Derivaten basierende Kosmetika, machen sich diesen Okklusiv-Effekt zunutze, um eine Wirksamkeit gegen Hautalterungen zu suggerieren. Nachteil einer ausgeprägt okkludierenden Wirkung ist, dass die Haut als Organ keine regulierenden Impulse mehr von außen erhält, um eigene Prozesse zu steuern.</span></div>`
Oleogel / Ölgel
`<div class="tooltip">Oleogel / Ölgel
<span class="tooltiptext">__KURZ:__ Wasserfreies Gel (Oleogel = Ölgel = Lipogel)<br/>__LANG:__ Ein auf Basis von Lipiden hergestelltes Pflegeprodukt, das in seiner Konsistenz gelartig angedickt wird. Diese Viskositätserhöhung kann entweder durch Verwendung von Fetten mit höherem Schmelzpunkt (Pflanzenbutter, Wachse, Stearinsäure, usw.) oder durch modifiziertes Bentonit erreicht werden. Bentonit, ein anorganisches Silikat, verleiht dem Gel jedoch eine bräunliche Farbe.</span></div>`
One-Pot-Methode
`<div class="tooltip">One-Pot-Methode
<span class="tooltiptext">Herstellungsverfahren, bei dem Fett- & Wasserphase einer Emulsion zunächst zusammengegeben und dann erst verrührt werden</span></div>`
opak
`<div class="tooltip">opak
<span class="tooltiptext">lichtundurchlässig</span></div>`
opalisierend
`<div class="tooltip">opalisierend
<span class="tooltiptext">ein Farbspiel erzeugend</span></div>`
O/W
`<div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>`
O/W-Emulgatoren
`<div class="tooltip">O/W-Emulgatoren
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. O/W-Emulgatoren sind für O/W-Emulsionen, also Öl-in-Wasser-Emulsionen geeignet. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>`
oxidationsstabil
`<div class="tooltip">oxidationsstabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>`
oxidativ
`<div class="tooltip">oxidativ
<span class="tooltiptext">mit Sauerstoff reagierend</span></div>`
oxidativer Stress
`<div class="tooltip">oxidativer Stress
<span class="tooltiptext">Die Reparatur- & Entgiftungsfunktion einer Zelle wird durch Stoffwechselprozesse überfordert, dies führt zur Schädigung der Zellstrukturen</span></div>`
Parabene
`<div class="tooltip">Parabene
<span class="tooltiptext">Antimikrobiell & fungizid wirkende Substanzen; Einsatz als Konservierungsstoff; sind aufgrund der östrogenen Wirkung im Organismus umstritten; nicht naturkosmetikkonform</span></div>`
pathogen
`<div class="tooltip">pathogen
<span class="tooltiptext">krankmachend</span></div>`
PEG
`<div class="tooltip">PEG
<span class="tooltiptext">Stoffgruppe der Polyethylenglykole; Einsatz u.a. als Emulgatoren, Feuchthaltemittel, Konsistenzgeber, Tenside; gelten als reizend, nicht für Naturkosmetik geeignet</span></div>`
Penetration
`<div class="tooltip">Penetration
<span class="tooltiptext">Eindringen einer kosmetisch wirksamen Substanz in die Haut</span></div>`
Periorale Dermatitis
`<div class="tooltip">Periorale Dermatitis
<span class="tooltiptext">Hautkrankheit mit Auftritt eines bläschenhaften Ausschlags um den Mund herum; Ursache ist oft eine Quellung der Haut durch hydratisierende Substanzen und Eindringen von Bakterien</span></div>`
Permeabilität
`<div class="tooltip">Permeabilität
<span class="tooltiptext">Durchlässigkeit</span></div>`
Permeabilitätsbarriere
`<div class="tooltip">Permeabilitätsbarriere
<span class="tooltiptext">Barriereschicht der Haut; schützt vor übermäßigem Wasserverlust und vor schädlichen Substanzen von außen</span></div>`
Phase
`<div class="tooltip">Phase
<span class="tooltiptext">Teil einer Emulsion, der entweder alle fett- oder alle wasserlöslichen Rohstoffe umfasst. Dementsprechend gibt es 2 Phasen: Die Fettphase und die Wasserphase.</span></div>`
Phaseninversionstemperatur (PIT)
`<div class="tooltip">Phaseninversionstemperatur (PIT)
<span class="tooltiptext">Temperatur, bei der sich lipophile & hydrophile Eigenschaften eines nichtionischen Emulgators die Waage halten; gilt als optimale Temperatur zur Herstellung einer stabilen Emulsion</span></div>`
Phospholipide
`<div class="tooltip">Phospholipide
<span class="tooltiptext">Lecithine, phosphorhaltige, ambiphile Lipide, die als Membranlipide am Aufbau von Zellen beteiligt sind</span></div>`
Phytosterole
`<div class="tooltip">Phytosterole
<span class="tooltiptext">Begleitstoff von Pflanzenfetten; haben eine dem Cholesterin ähnliche Struktur und können dieses in der Haut weitgehend ersetzen</span></div>`
Pigmentbenetzung
`<div class="tooltip">Pigmentbenetzung
<span class="tooltiptext">Pigmente werden vom Trägerstoff gleichmäßig ummantelt, sodass sie sich gut in ihm verteilen und nicht zusammenhaften</span></div>`
polar
`<div class="tooltip">polar
<span class="tooltiptext">Polare Stoffe lösen sich gut in polaren Lösungsmitteln (z.B. Wasser), nicht aber in unpolaren Lösungsmitteln wie Benzol.</span></div>`
polares Öl
`<div class="tooltip">polares Öl
<span class="tooltiptext">besteht aus polaren Molekülen und löst sich dadurch besonders gut in polaren Lösungsmitteln (z.B. Wasser)</span></div>`
Polyole
`<div class="tooltip">Polyole
<span class="tooltiptext">organische Verbindungen mit mehreren OH-Gruppen, u.a. Zuckeralkohole wie Glycerin, Sorbit, Insosit, Xylit</span></div>`
Polyphenole
`<div class="tooltip">Polyphenole
<span class="tooltiptext">bioaktive, in Pflanzen vorkommende Substanzen wie Farbstoffe, Geschmacksstoffe und Tannine; wirken entzündungshemmend & krebsvorbeugend</span></div>`
Plaque
`<div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div>`
Präliposomenpräparat
`<div class="tooltip">Präliposomenpräparat
<span class="tooltiptext">bildet erst bei Wasserkontakt Doppelmembranen und Hohlkügelchen (Liposome) aus</span></div>`
Psoriasis
`<div class="tooltip">Psoriasis
<span class="tooltiptext">Schuppenflechte; nicht ansteckende Hautkrankheit, die sich im Wesentlichen durch punktförmige bis handtellergroße gerötete, stark schuppende Hautstellen zeigt</span></div>`
quantum satis (q.s.)
`<div class="tooltip">quantum satis (q.s.)
<span class="tooltiptext">= "soviel wie benötigt" / "soviel wie notwendig". Er wird dann verwendet, wenn eine Ingredienz zu einer Rezeptur hinzugefügt wird, deren Einsatzmenge je nach Gesamtrezeptur variieren kann.<br/>Ein typisches Beispiel ist der Zusatz von Milchsäure zur Korrektur des pH-Werts: Da kosmetische Rohstoffe durch ihren eigenen pH-Wert den Gesamt-pH-Wert eines Produkts beeinflussen, kann nicht immer notiert werden, wieviel Milchsäure zum Einstellen des gewünschten Werts notwendig ist. Da es durchaus vorkommen kann, dass jemand Mengenverhältnisse in einer Rezeptur verändert oder Rohstoffe austauscht, schreibt man für Milchsäure sinnvollerweise keine feststehende Mengenangabe, sondern "q.s.".</span></div>`
quartär
`<div class="tooltip">quartär
<span class="tooltiptext">[chemisch] eine Verbindung von vier organischen Resten an ein zentrales Atom aufweisend; macht diese Verbindungen reaktionsträge</span></div>`
Quasiemulsion
`<div class="tooltip">Quasiemulsion
<span class="tooltiptext">Neben den klassischen Emulsionstypen W/O & O/W können wir auch ohne grenzflächenaktive Substanzen stabile Emulsionen erzeugen. Das Prinzip dieser "Emulsion" basiert auf der hohen Viskosität der äußeren Phase, die die innere Phase festhält, "immobilisiert", d.h. verhindert, dass sich die Teilchen der inneren Phase zusammenfinden. Es ist also keine echte Emulsion, in der die innere Phase durch Grenzflächenfilme der Emulgatoren von der äußeren Phase getrennt werden. Typische Hilfsmittel für Quasiemulsionen sind Wachse & Wachsester, aber auch Fette mit hohem Schmelzpunkt (z.B. Pflanzenbuttern).</span></div>`
raffiniert
`<div class="tooltip">raffiniert
<span class="tooltiptext">Warmpressung und Extraktion mit Lösungsmitteln ermöglichen deutlich höhere Ausbeuten aus der Pflanze, allerdings muss das so gewonnene Öl hinterher «raffiniert», also von unerwünschten Begleitstoffen gereinigt werden. Das zerstört neben Vitaminen und mehrfach ungesättigten Fettsäuren auch das Aroma.<br/>Das Öl wird zunächst bei Temperaturen von über 100°C heiß gepresst. Bei der chemischen oder physikalischen Raffination gehen wertvolle sekundäre Pflanzenstoffe, geschmackliche Eigenarten und die typische Farbe verloren. Das raffinierte Öl ist weitestgehend geschmacksneutral, von heller Farbe, lange haltbar und universell einsetzbar.</span></div>`
Rahmenrezeptur
`<div class="tooltip">Rahmenrezeptur
<span class="tooltiptext">Quasi "Grundrezept". Rezeptur mit wesentlichen Bestandteilen eines kosmetischen Produkts; Beispielrezepturen des Rohstoffherstellers, die Einsatzbereiche & Einsatzkonzentrationen zeigen.</span></div>`
reaktiv
`<div class="tooltip">reaktiv
<span class="tooltiptext">__KURZ:__ Öl verdirbt recht schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>`
reizfrei
`<div class="tooltip">reizfrei
<span class="tooltiptext">nicht hautreizend</span></div>`
rpm
`<div class="tooltip">rpm
<span class="tooltiptext">Einheit für die Häufigkeit der Umdrehung (Drehzahl) eines Motors (z.B. eines Rührgeräts)</span></div>`
Resorption
`<div class="tooltip">Resorption
<span class="tooltiptext">Aufnahme von körpereigenen / körperfremden Stoffen durch lebende Zellen / Gewebe, hier im engeren Sinne die Aufnahme gelöster Substanzen durch die Zellmembran in das Zellinnere (Fachleute unterscheiden noch Absorption, Adsorption & Permeation).</span></div>`
Scherkräfte
`<div class="tooltip">Scherkräfte
<span class="tooltiptext">durch kräftiges Rühren auf die innere Phase (Fett oder Wasser) einer Emulsion einwirkende Kräfte, die diese in möglichst viele kleinste Tropfen zerteilt</span></div>`
seborrhoisch
`<div class="tooltip">seborrhoisch
<span class="tooltiptext">die gesteigerte Talgproduktion betreffend / eine gesteigerte Talgproduktion aufweisend</span></div>`
Sebum
`<div class="tooltip">Sebum
<span class="tooltiptext">hauteigene Fette der Talgdrüsen</span></div>`
Sensibilisierung
`<div class="tooltip">Sensibilisierung
<span class="tooltiptext">Auslösen einer Allergie</span></div>`
Solubilisator / Lösungsvermittler
`<div class="tooltip">Solubilisator / Lösungsvermittler
<span class="tooltiptext">Substanz, die die Löslichkeit lipophiler Stoffe (Pflanzenöle, ätherische Öle, Tocopherol, Bisabolol u.a.) in Wasser ermöglicht, ohne ihre chemische Struktur zu verändern. Der Solubilisator fungiert als grenzflächenaktive Substanz, die vorhandene Fette in Mizellen einlagert und damit wasserlöslich macht. Je nach Größe der Mizellen kann die Lösung vollkommen klar bis milchig erscheinen. Alkohol erhöht die solubilisierenden Eigenschaften dieser Stoffgruppe.</span></div>`
Sole
`<div class="tooltip">Sole
<span class="tooltiptext">26%ige Salz-Wasserlösung</span></div>`
sonnenexponiert/lichtexponiert
`<div class="tooltip">sonnenexponiert/lichtexponiert
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div>`
Spreitfähigkeit / Spreitverhalten
`<div class="tooltip">Spreitfähigkeit / Spreitverhalten
<span class="tooltiptext">__KURZ:__ Das Ausbreitungsverhalten eines Lipids auf der Haut.<br/>__LANG:__ Mit dieser Eigenschaft sind wesentliche kosmetische Eigenschaften eines Fetts verknüpft: Die Ausprägung seiner Rückfettung, seine fühlbare Haftung auf der Hautoberfläche, sein subjektives Einziehverhalten.<br/><br/>__Hochspreitend:__ Das Öl verteilt sich sehr gut & dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.<br/><br/>__Niedrigspreitend:__ Das Öl verteilt sich langsam & dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Es ist haptisch jedoch ausgeprägt fettend.<br/><br/>__Mittelspreitendes__ Öl tut dies alles in Mittelwerten.</span></div>`
Spreitkaskade
`<div class="tooltip">Spreitkaskade
<span class="tooltiptext">Ölkomposition aus hoch-, mittel- & niedrigspreitenden Ölen; gewährleistet so ein angenehmeres Auftragsverhalten, Hautgefühl und einen verbesserten Pflegeeffekt gegenüber solchen, die eine sogenannte Spreitlücke aufweisen.</span></div>`
Spreitlücke
`<div class="tooltip">Spreitlücke
<span class="tooltiptext">In der Spreitkaskade einer Ölkomposition fehlen 1 oder 2 Komponenten (hoch-, mittel- / niedrigspreitende Öle); zeigt sich haptisch mitunter in weniger geschmeidigem Auftragsverhalten.</span></div>`
Squalen
`<div class="tooltip">Squalen
<span class="tooltiptext">hauteigenes Lipid im Sebum</span></div>`
Sterole / Sterine
`<div class="tooltip">Sterole / Sterine
<span class="tooltiptext">u.a. im unverseifbaren Anteil von pflanzlichen Fetten & Ölen enthalten</span></div>`
Stratum basale
`<div class="tooltip">Stratum basale
<span class="tooltiptext">__KURZ:__ Das Stratum basale (Basalschicht) ist die unterste Schicht der Oberhaut (Epidermis), die an die Lederhaut (Dermis) angrenzt.<br/>__LANG:__ Hier findet die Neubildung von Hautzellen, die so genannte Proliferation statt. Die im Stratum basale produzierten Zellen teilen sich; eine Tochterzelle verbleibt jeweils im Stratum basale, die andere wandert als Keratinozyt in Richtung Oberhaut und verhornt zunehmend, sie keratinisiert und ist schließlich eine tote Hornzelle (Korneozyt). Diese Wanderung dauert ca. 14 Tage; weitere 14 Tage nimmt die Abschilferung der abgestorbenen Korneozyten in Anspruch, die normalerweise unauffällig erfolgt. Die Lipide des Stratum basale setzen sich vorwiegend aus Triglyceriden, freien Fettsäuren, Phospholipiden, Cholesterol, Ceramiden u.a. zusammen.</span></div>`
Stratum corneum
`<div class="tooltip">Stratum corneum
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div>`
Stressor
`<div class="tooltip">Stressor
<span class="tooltiptext">[dermatologisch] Reizstoff</span></div>`
Subcutis
`<div class="tooltip">Subcutis
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>`
synergetisch
`<div class="tooltip">synergetisch
<span class="tooltiptext">[chemisch] Zusammenwirken von Substanzen, die sich dadurch gegenseitig in ihrer Wirkung fördern & verstärken</span></div>`
tensidische Produkte
`<div class="tooltip">tensidische Produkte
<span class="tooltiptext">Produkte, die ein Tensid enthalten</span></div>`
TEWL
`<div class="tooltip">TEWL
<span class="tooltiptext">__KURZ:__ Verdunsten von hauteigenem Wasser durch die Oberhaut (Epidermis)<br/><br/>__LANG:__ Feuchtigkeit speichert die Haut in der Hornschicht (Stratum corneum); der Wassergehalt liegt dort bei ca. 10-40%. Während die innerste Zellschicht des Stratum corneum mit den bis zu 70% Feuchtigkeit speichernden Zellen des Stratum granulosum in Kontakt sind, grenzt ihre äußere Schicht an die trockenere Umgebungsluft. Dieser Konzentrationsunterschied führt zu einer kontinuierlichen Abgabe von gespeichertem Wasser an die Umgebung. Dieser natürliche Verlust an hauteigener Feuchtigkeit wird als transepidermaler Wasserverlust (TEWL oder TWL) bezeichnet.<br/><br/>Der Zustand des Stratum corneum bestimmt wesentlich den Grad des TEWL. Daher zielen unsere kosmetischen Bemühungen dahin, das Stratum corneum zu stabilisieren, um den TEWL in Grenzen zu halten. Eine vollkommene Abdichtung des Stratum corneum (diese Wirkung wird auch als Okklusiv-Effekt bezeichnet) ist nicht erwünscht, da diese der Haut wichtige Umgebungsimpulse vorenthält, die sie braucht, um ihre Funktionen zu regulieren.</span></div>`
Thermogenese
`<div class="tooltip">Thermogenese
<span class="tooltiptext">die Hitzeproduktion des Körpers</span></div>`
Tocopherole
`<div class="tooltip">Tocopherole
<span class="tooltiptext">Formen des Vitamin E; fettlösliche Antioxidantien</span></div>`
Tocotrienole
`<div class="tooltip">Tocotrienole
<span class="tooltiptext">Formen des Vitamin E; fettlösliche Antioxidantien; gelten als deutlich wirksamer im Vergleich zu Tocopherolen</span></div>`
tonisierend
`<div class="tooltip">tonisierend
<span class="tooltiptext">vitalisierend, stärkend, erfrischend, kräftigend</span></div>`
Tonus
`<div class="tooltip">Tonus
<span class="tooltiptext">Spannungszustand der Haut</span></div>`
topisch
`<div class="tooltip">topisch
<span class="tooltiptext">äußerlich, örtlich</span></div>`
Transepidermaler Wasserverlust / TWL
`<div class="tooltip">Transepidermaler Wasserverlust / TWL
<span class="tooltiptext">__KURZ:__ Verdunsten von hauteigenem Wasser durch die Oberhaut (Epidermis)<br/><br/>__LANG:__ Feuchtigkeit speichert die Haut in der Hornschicht (Stratum corneum); der Wassergehalt liegt dort bei ca. 10-40%. Während die innerste Zellschicht des Stratum corneum mit den bis zu 70% Feuchtigkeit speichernden Zellen des Stratum granulosum in Kontakt sind, grenzt ihre äußere Schicht an die trockenere Umgebungsluft. Dieser Konzentrationsunterschied führt zu einer kontinuierlichen Abgabe von gespeichertem Wasser an die Umgebung. Dieser natürliche Verlust an hauteigener Feuchtigkeit wird als transepidermaler Wasserverlust (TEWL oder TWL) bezeichnet.<br/><br/>Der Zustand des Stratum corneum bestimmt wesentlich den Grad des TEWL. Daher zielen unsere kosmetischen Bemühungen dahin, das Stratum corneum zu stabilisieren, um den TEWL in Grenzen zu halten. Eine vollkommene Abdichtung des Stratum corneum (diese Wirkung wird auch als Okklusiv-Effekt bezeichnet) ist nicht erwünscht, da diese der Haut wichtige Umgebungsimpulse vorenthält, die sie braucht, um ihre Funktionen zu regulieren.</span></div>`
Transpiration
`<div class="tooltip">Transpiration
<span class="tooltiptext">=Schweißbildung (damit ist aber nur die Feuchtigkeit gemeint. Der Schweißgeruch entsteht erst durch Bakterien, die sich durch den Schweiß ernähren!)</span></div>`
Trans-Retinolsäure
`<div class="tooltip">Trans-Retinolsäure
<span class="tooltiptext">kosmetisch sehr aktive Form des Vitamin A</span></div>`
Triglyceride
`<div class="tooltip">Triglyceride
<span class="tooltiptext">Ester des Glycerins mit 3 Fettsäuremolekülen; natürliche Fette bestehen primär aus Triglyceriden</span></div>`
Trivialname
`<div class="tooltip">Trivialname
<span class="tooltiptext">Bezeichnung für chemische Verbindungen, die nicht der korrekten chemischen Namensgebung entspricht</span></div>`
überfettet
`<div class="tooltip">überfettet
<span class="tooltiptext">Eigenschaft von Seifen, in denen nicht alle verwendeten Fette vollständig verseift wurden und dadurch / durch diese hautpflegend wirken</span></div>`
unpolar
`<div class="tooltip">unpolar
<span class="tooltiptext">Unpolare Stoffe lösen sich gut in unpolaren Lösungsmitteln (z.B. Benzol), nicht aber in polaren Lösungsmitteln wie Wasser.</span></div>`
unraffiniert
`<div class="tooltip">unraffiniert
<span class="tooltiptext">Die Rohware wird kalt gepresst, eine geringe Wärmezufuhr bei der Pressung bis ca. 60°C ist möglich. Zur Steigerung der Haltbarkeit werden diese Öle teilweise gedämpft. Bei der Dämpfung werden unerwünschte Begleitstoffe vermindert.</span></div>`
Unterhaut
`<div class="tooltip">Unterhaut
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>`
Unterlagerung
`<div class="tooltip">Unterlagerung
<span class="tooltiptext">unter der Hautoberfläche verkapselte Pickel</span></div>`
Unverseifbares
`<div class="tooltip">Unverseifbares
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div>`
viskos
`<div class="tooltip">viskos
<span class="tooltiptext">zähflüssig</span></div>`
Viskosität
`<div class="tooltip">Viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>`
WAS
`<div class="tooltip">WAS
<span class="tooltiptext">Anteil WaschAktiver Substanzen in einem Tensid oder Produkt; wird in % erfasst</span></div>`
Wasserphase
`<div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div>`
Weißeln von Emulsionen / Weißel-Effekt
`<div class="tooltip">Weißeln von Emulsionen / Weißel-Effekt
<span class="tooltiptext">Creme hinterlässt beim Auftragen einen weißen Film auf der Haut; Ursache ist Mikroschaum aus eingeschlagener Luft. Der weiße Film beeinflusst nicht die Wirksamkeit oder das Einziehverhalten einer Emulsion, wird aber mitunter optisch als störend empfunden.<br/><br/>Besonders stark weißeln Emulsionen mit höherem Wasseranteil, da dort die Schaumbildung stärker ist. Die Auswahl der Lipidkomponenten kann die Entstehung von Reibschaum deutlich beeinflussen. Die Neigung zum Weißeln mindert sich außerdem grundsätzlich durch eine gewisse Lagerungszeit, da die Ausbildung der Emulsionsstrukturen mehrere Tage benötigen kann und in diesem Zeitraum eine Einbindung von Wasser erfolgt. Auch kann durch die Herstellung eingetragene Luft entweichen.</span></div>`
W/O
`<div class="tooltip">W/O
<span class="tooltiptext">Wasser-in-Öl</span></div>`
W/O-Emulgatoren
`<div class="tooltip">W/O-Emulgatoren
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. In W/O-Emulgatoren sind für W/O-Emulsionen, also Wasser-in-Öl-Emulsionen geeignet. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>`
zellaktivierend
`<div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div>`
''zellregenerierend''
`<div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>`
''zelltoxisch''
`<div class="tooltip">zelltoxisch
<span class="tooltiptext">eine zellzerstörende Wirkung aufweisend</span></div>`
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Ziel ist ein sehr transparenter, praktisch nicht tönender Gesichtspuder, der nur ein bisschen verfeinert.
Gesamtmenge: 30 gr (Ich habe eine Dose dafür, deswegen
25 gr Talkum
1 gr Rona LDP
1 gr Rona normal
1 gr Rona-Mica
1 gr Erden für meinen Hautton gemischt: weiss, rosa, grün
0.5 gr Sofitix
0.5 gr Magnesiumstearat
ca. 1 kl. ML Mineralfoundation zur Hautfarbe passend dazu.
Wer Anti-Glanz will kann natürlich Kieselsäure z.B. ergänzen.
Alles in die Moulinette füllen, mit 5-15 Tropfen Öl beträufeln (ich finde die Ronas ziemlich trocken und war deswegen grosszügig mit Öl) plus die gewünschten Lieblings-ÄÖs zum Parfümieren dazu. (Ich habe mit Rosenholz, Vetiver, Amyris und Patchouli beduftet, passend zu meiner Pflege.)
Grosszügig mixen, fertig. Nicht fallen lassen. *harhar*
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Vitis Vinifera (Grape) Seed Oil
''Jodzahl:'' 134–144 (halbtrocken)
''Schmelzbereich:'' 10°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 9 Monate
''Anteile an Unverseifbarem:'' 0,3–2%
''Verseifungszahl:'' 188–194
__Fettige Haut, Mischhaut, Unreine Haut. Reife Haut.__
Traubenkernöl gilt als Öl mit außergewöhnlichen antioxidativen, zellmembran-schützenden Eigenschaften.
Durch seinen Gehalt an Lecitihin __zieht Traubenkernöl sehr gut ein__ und fungiert als »Gleitschiene« für hautpflegende Wirkstoffe, insbesondere fettlösliche Vitamine wie E und K. Emulsionen auf der Basis von Traubenkernöl __liegen leicht auf der Haut__ und bewähren sich in Rezepturen für __fettige Haut und Mischhaut__. Der hohe Gehalt an Linolsäure bewahrt die Flexibilität der Bilayer im Stratum Corneum, wirkt gegen Verhornungen und bewahrt den Talgfluss. Aber auch __reife Haut__ profitiert von den antioxidativen Eigenschaften und dem »Gleitschienen-Effekt« des Traubenkernöls, das lipophile Wirkstoffe tief in die Epidermis einschleust. In Kombination mit Unverseifbarem (z.B. in nativer Sheabutter, nativem Avocadoöl und/oder in Form konzentrierter Compounings wie Unverseifbarem des Avocadoöls) und linolensäurehaltigen Ölen ermöglicht es wirksame __regenerierende__ Rezepturen für __trockene, reife und barrieregestörte Haut__.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Traubenkernöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Traubenkernöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=300 src="https://share-your-photo.com/img/83faad15c2.jpg" style=" float:left;padding: 0 2em 0 0;"/>
<br/>
''Eigenschaft dieses Trockenshampoos:'' Im Notfall ersetzt es das Haare-Waschen. Im Gegensatz zu gekauftem Trockenshampoo duftet man damit nicht kilometerweit nach einem Parfümeriegeschäft.<br/>
''Meine Erfahrung damit:'' Ich hab's ein paar Mal getestet. So toll wie gekauftes Trockenshampoo wirkt es leider nicht- die Haare wirken zwar nicht mehr so fettig wie vorher, aber auch nicht wie frisch gewaschen (was bei gekauftem Trockenshampoo der Fall ist). Allerdings waren die Haare auch ganz schön doll fettig bei den Tests.<br/><br/>
''Anwendung:'' Ähnlich wie bei gekauftem Trockenshampoo:
# Haare kämmen / bürsten.
# Klamotten an, wo es nichts ausmacht, wenn sie mit bestäubt werden. Oder Handtuch umlegen.
# Entweder mit diesem Zerstäuber die Lavaerde auf das Haar, insbesondere die Ansätzen, pumpen oder die Lavaerde mit einem (breiten) Pinsel auf dem Haar, insbesondere den Ansätzen, auftragen.
# Kleinen Moment einwirken lassen und dann mit einem Handtuch abrubbeln.
# Falls das Pulver noch auf dem Haar / den Ansätzen sichtbar ist (was bei mir bisher nicht der Fall war), kannst Du es mit einem feuchten Waschlappen entfernen (mit dem feuchten Waschlappen darüber streichen).
Alternative Auftragsmöglichkeiten: Lavaerde in einen Salzstreuer oder Babypuderdose füllen und die Haare damit bestreuen. Oder einfach mit den Fingern aufnehmen und im Haar verteilen / einmassieren. Und dann wie gehabt einen kleinen Moment einwirken lassen und dann mit einem Handtuch abrubbeln.<br/><br/>
''Zutaten''<br/>
* Lavaerde / Ghassoul in so einen Zerstäuber oder ein anderes Gefäß füllen.
"""
''Ab wann verwendbar'': Sofort verwendbar.
''Zutatenliste mit Wirkweise in diesem Rezept:''
Lavaerde (8€ / 300g)
''Selbstkonservierend durch'' fehlendes Wasser.
''Haltbarkeit'': Steht auf der Lavaerde-Verpackung.
''Gesamtkosten der Zutaten:'' 8€ / 300g. Stand Mai 2019
<div style="clear:both;line-height:0px;"></div>
* Trockenshampoo
* Spülungen für fettige, schuppende, lockige, etc. Haare
"""ich kenne mich damit gar nicht aus.
Kann dir nur einige fettaufsaugende Mittel nennen, die sich dafür eignen könnten, wenn du sehr schnell fettiges Haar bekommst.
Stärke (Reisstärke wird hier noch am besten sein)
Maisstärke
Kaolin
Natron
Magnesiumcarbonat
evtl. auch feines Salz
Ich habe mal über Maismehl mit Salz gelesen oder auch Heilerde
Mann könnte bei dunklen Haaren auch Kohle verwenden. Die soll auch sehr gut bei fettigen Haaren wirken.
Wenn ich meine Haare nicht waschen möchte, frische ich meistens mit einem Hydrolat auf.
''Die geliehene Wascherde ausprobieren!''
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=270 src="https://share-your-photo.com/img/e20946c22d.jpg" style=" float:left;padding: 0 1.5em 0 0;"/><br/>
''Ersatz'': Man kann die Zahnpasta sicher auch im Schraubglas oder Tiegel oder so aufbewahren. Besser handhabbar & keimfreier ist aber eine __wiederbefüllbare__ Tube. Ich find die Tubedos toll- es geht natürlich auch jede andere wiederbefüllbare Tube.<br/><br/>
''Erhältlich bei'': Ich nehme diese Tubedos: https://tubedo.de/.<br/>
Es gibt aber auch einige andere wiederbefüllbare Tuben bei-
siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], jedoch nicht in Biomärkten.<br/><br/>
''Eigenschaften der Tubedos:''
* Tubedo besteht aus drei Teilen:
:# Dem Tubenschlauch (hier grün bzw. türkis; das mittlere Teil) mit einer großen und einer kleinen Öffnung
:# Dem großen Nachfülldeckel (hier grün bzw. türkis)
:# Dem Spenderdeckel (hier weiß)
* In den Tubenschlauch sind 2 Gewinde eingearbeitet. Beide Deckel können komplett abgeschraubt und von der Tube entfernt werden. Die Klappdeckel gibts in den Durchmessern 3mm & 5mm, aber Tubedo ist theoretisch auch mit vielen anderen Formen von Deckeln und Tüllen kombinierbar.<br/>Man kann die Farbe des Tubenschlauchs, des Nachfülldeckels und des Spenderdeckels auswählen.
* Füllmenge: Momentan sind nur Tubedos mit 50ml Füllmenge erhältlich. Andere Größen sind in Planung- vermutlich auch ab Frühjahr 2019 erhältlich.
* Spülmaschinenfest oder von Hand mit Spüli reinigen.
* Aus lebensmittelechten PE (Tubedos aus Recyclingplastik sind in Planung; ca. ab Frühjahr 2019 erhältlich)
* Tubedo kann mit Kosmetik, Lebensmitteln, Farben & vielen Werkstoffen gefüllt werden.
* Nicht in Tubedo gefüllt werden dürfen:
** Heisse Flüssigkeiten
** Klebstoffe zum Verbinden von Kunststoffen, insbesondere PE
** Lösungsmittel, gegen die PE nicht widerstandsfähig ist
** Ätzende Stoffe, die PE zersetzten können
** Lebensmittel, falls zuvor Nicht-Lebensmittel eingefüllt wurden
<br/>
''Hinweis zur Befüllung:'' Falls es bei Dir ist, wie bei mir auch- dass nämlich durch das Befüllen ein Überdruck entsteht (Inhalt quillt beim Öffnen des Spenderdeckels sofort heraus), dann ist das sicher hilfreich:<br/>
Neu herausgefunden (aber erst 1x getestet):
Wenn Du beim Zudrehen des Nachfülldeckels
den Tubenschlauch zusammendrückst und erst
wieder locker lässt, wenn die Tube vollständig
zugedreht ist (Tube ist dann etwas gequetscht),
tritt kein Überdruck auf! Dann 1x den
Spenderdeckel öffnen > Tube ist wieder normal.<br/><br/>
''Für welche getesteten Rezepte benötigt:''
* [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]]
* [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]
* [[Zahnpasta]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
[ ] Hilfe vervollständigen: Plugin "PopupTagger - TagBar / TagTable": How to show it in the editor view? (Google Groups)<br/><br/>
[ ] Mein surya-diy an Dave Gifford (siehe Please send me links to your themes, adaptations, plugins, macros, etc in Google Groups) schicken<br/><br/>
[ ] Beschreibung mit Vor- & Nachteilen meiner Plugins<br/><br/>
[x] Hilfe vervollständigen: How to filter by field with a certain prefix in the value? (Google Groups)<br/><br/>
[x] Hilfe vervollständigen: Filter & Suchmöglichkeiten<br/><br/>
[x] Hilfe vervollständigen: Hintergrundfarbe f. ganzen Tiddler<br/><br/>
[x] Hilfe vervollständigen: Button in editor for automatic inserting picture with special attributes (Google Groups)<br/><br/>
[x] Hilfe vervollständigen: Textschnipsel erstellen, & in Editor einbinden (Shortcut für alle Textschnipsel: Strg+S)<br/><br/>
[x] Hilfe vervollständigen: Buttons erstellen How-To (mit Anleitung, wie man die Beschreibung fürs Mouse-Over erstellt)<br/><br/>
[x] Hilfe vervollständigen: How to build recurring tasks in existing tiddlers? + Links zu anderen Task-Plugins, inkl. Beschreibung, Vor- & Nachteilen<br/><br/>
[x] Hilfe vervollständigen: Page & Tiddler-Style<br/><br/>
[x] Hilfe vervollständigen: Bilder einbinden<br/><br/>
[x] Hilfe vervollständigen: Popups von Text erstellen<br/><br/>
[x] Hilfe vervollständigen: Popups von Tiddlern erstellen<br/><br/>
[x] Toc-Inhaltsverzeichnis in TW-Anleitung & DIY in selektiv ändern und das in die Tiddlywiki Hilfe aufnehmen<br/><br/>
''Alle getesteten Rezepte bei Übelkeit:''<br/><br/>
<$list filter="[tag[Übelkeit]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Übelkeit:''<br/><br/>
<$list filter="[tag[Übelkeit]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
Siehe [[Avocadin]]
"""30g Zinkpaste
15g Heilerde
2 Tropfen Thymianöl (oder Teebaumöl)
Zinkpaste im Wasserbad schmelzen und Heilerde unterrühren, beim Erkalten das ÄÖ unterrühren.
Nur auf Pickel auftragen, nicht auf die gesamte Haut!
Was ist denn in der Zinkpaste drin? Ich glaub mich zu erinnern dass da was böses drin ist.
8g Sheabutter
3-4 g Öl(ich hab meinen Oliven-Rosen-Auszug genommen)
1/2 Tl Zinkoxid (aus der Apotheke, 10g 0,49 €
1 Tl Kräutertinktur (selbst angesetzt: In meiner Kräutermischung für die Tinktur ist Ringelblume, Arnika, Kamille und Lavendel. Ich hab 5-10 g von den Kräutern in 100 ml Wodka für ca. 3 Wochen auf meinem Küchenfensterbrett in der Sonne stehen lassen. Ist herrlich gelb.)
Übrigens: Ich mache manchmal ein Kräutergesichtswasser gegen unreine Haut da sind drin: Beinwell, Salbei, Lavendel, Ringelblume. Wirkt toll, werde ich dann auch für dieses Rezept nutzen!
<div style="background:Lavender;">
Siehe [[Avocadin]]
<div style="background:Lavender;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/63e7998545.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Art / Konsistenz der Zutat:'' Wirkstoff, feines weißes Granulat / Pulver, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Bei Urea handelt es sich um Harnstoff, also einen Bestandteil von Urin. Früher wurde er meist aus Pferdeurin gewonnen, seit 1828 wird er jedoch synthetisch hergestellt und enthält keine tierischen Bestandteile. Urea besteht aus Kohlendioxid & Ammoniak, die sich in einem chemischen Prozess unter hoher Temperatur und hohem Druck zu Urea verbinden.
Der <div class="tooltip">hygroskopische <span class="tooltiptext">wasseranziehende</span></div> Harnstoff wird oft in Cremes & Kosmetikprodukten eingesetzt. Aber auch als Stickstoffdünger in der Landwirtschaft und um die Stickoxide in Abgasen großer Kraftwerke oder von Verbrennungsmotoren zu reduzieren, wird er verwendet.
Harnstoff ist Bestandteil des hauteigenen Natural Moisturizing Factor (NMF) des <div class="tooltip">Stratum corneum
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div> (er macht ca. 7% dieser natürlichen Feuchthaltefaktoren aus).
Als hautphysiologische Substanz gilt er als unbedenklich, sehr hautverträglich, in geringer Dosierung zur <div class="tooltip">Hydratation <span class="tooltiptext">Feuchtigkeitsbindung</span></div> nicht irritativ und nicht toxisch. Allergische Reaktionen oder Nebenwirkungen sind auch keine bekannt.
''INCI-Bezeichnung:'' Urea
''Besonderheit / kosmetische Wirkung / Heilwirkung:'' Je nach Einsatzkonzentrations-Höhe hat Urea zahlreiche positive Wirkungen auf die Haut: Wasserbindend, verbessert das Feuchtigkeits-Aufnahmevermögen der Haut, ist antimikrobiell, juckreizlindernd und stärkt die natürliche Hautbarriere.
Bei höherer Konzentration über 10% hat Urea eine sogenannte <div class="tooltip">keratoplastische
<span class="tooltiptext">das Keratin der Hornzellen im Stratum corneum (oberste Schicht der Epidermis) verformbar machend</span></div> und -ab ca. 20%- eine <div class="tooltip">keratolytische
<span class="tooltiptext">das Keratin der Hornzellen im Stratum corneum (oberste Schicht der Epidermis) lockernd & aufklösend</span></div> Wirkung auf die <div class="tooltip">Epidermis
<span class="tooltiptext">Die Haut besteht aus 3 Schichten (von unten nach oben): Unterhaut (Subcutis), Lederhaut (Dermis) und Oberhaut (Epidermis). Kosmetika entfalten ihre Wirkung primär in der Epidermis.</span></div>; Hauttalg kann besser abfließen. Diese Wirkung ist z.B. bei starker Verhornung erwünscht, wie sie oft bei fettenden, unreinen Hautzuständen auftritt (die Anwendung sollte jedoch nicht großflächig erfolgen).
Nebenbei wirkt Harnstoff <div class="tooltip">penetrationsfördernd
<span class="tooltiptext">Penetration = Eindringen einer kosmetisch wirksamen Substanz in die Haut</span></div>, sodass andere Wirkstoffe in ihrer Wirksamkeit gesteigert werden.
Interessanterweise beeinflusst er auch das Einziehverhalten von rein fettbasierten Kosmetika positiv.
Besonders schnell wird Harnstoff aus wasserbetonten <div class="tooltip">O/W
<span class="tooltiptext">Öl-in-Wasser</span></div>-Emulsionen freigesetzt. Tiefer penetriert er jedoch aus fettbetonten <div class="tooltip">W/O
<span class="tooltiptext">Wasser-in-Öl</span></div>-Emulsionen.
Urea ist also prädestiniert für trockene, gereizte & schuppige Haut.
Aber auch bei trockener Kopfhaut und Schuppen kann Urea helfen.
''Verwendung in folgenden Produkten:'' Als feuchtigkeitsbindender Wirkstoff in Pflegeemulsionen und Oleogelen, als juckreizstillender & verhornungsregulierender Zusatz in Produkten für atopische Hautzustände und Akne; Puder. Und in Shampoos und zur Kopfhautpflege.
''Duftprofil:'' Geruchlos
''PH-Wert:'' Ca. 9
''Für folgende pH-Werte geeignet:'' 6,0-6,5
''Einsatzkonzentration:'' 1-10%.
2%-5% ist für eine feuchtigkeitsbindende Wirkung ausreichend.
Als besonders wirksam gilt eine Kombination von Urea mit Glycerin- Empfehlung jeweils 3–5%.
Bei neurodermitischen Hautzuständen bis zu 10%, jedoch nicht auf entzündeten, nässenden Hautbereichen und bei Kleinkindern unter 5 Jahren anwenden, da es zu einem Brennen kommen kann. Sicherheitshalber bei so hoher Konzentration mit Arzt absprechen.
1-5% in Körperpuder, 1-3% in Oleogelen.
''Haltbarkeit (nach Öffnung):'' Noch unbekannt
''Lagerung:'' Trocken lagern, es muss aber nicht gekühlt werden.
''Nebenwirkungen & bei Anwendung beachten:''
''Erhältlich bei:'' Ich kaufs bei Alexmo (ist bei [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufgeführt). Ansonsten auch bei den meisten anderen dort aufgeführten Anbieter erhältlich; jedoch nicht in Drogerien.
''Tipp für die Verarbeitung:'' Harnstoff lässt sich in einem Mörser staubfein zerreiben.
__In wasserbetonten Produkten:__ In kaltem bis zimmerwarmen Wasser lösen und in der erkalteten Emulsion <div class="tooltip">dispergieren
<span class="tooltiptext">=fein verteilen</span></div>. Optimal mit einer Natriumlaktat-Milchsäure-Kombi im pH-Wert puffern.
__In fettbasierten Produkten:__ Feinst zerrieben einarbeiten, eventuell in einer wässrig-alkoholischen Lösung vorlösen. Gut löst es sich in Lipodermin.
Harnstoff ist gut wasserlöslich (1:1), jedoch wärmeempfindlich- Zimmertemperatur! Harnstoff neigt zur Zersetzung, Wärme und ein pH-Wert im sauren oder basischen Bereich beschleunigen diesen Prozess- erkennbar an einem deutlichen Ammoniakgeruch. Auch durch Schaum in der Emulsion, noch bevor wir etwas riechen, erkennbar.
Durch die Zersetzung steigt der pH-Wert, wodurch Konservierer unwirksam werden können.
Als Optimum gilt für Harnstoff ein pH-Wert von ca. 6,2. Eine pH-Pufferung wird durch eine Kombi von Natriumlaktat & MIlchsäure erzielt. Dies verhindert die Zersetzung zwar nicht, kann sie jedoch verzögern- insbesondere bei Konservierern wie Kaliumsorbat oder Rokonsal™ BSB-N ist dies notwendig, aber auch bei basenempfindlichen Stoffen wie Panthenol. Empfehlung: Produkt-Menge so anlegen, dass das Produkt innerhalb von 4 Wochen verbraucht wird.
Aufgrund seiner Temperatur-Unempfindlichkeit ist Allantoin eine gute Alternative zu Urea, wenn eine keratoplastische bzw. keratolytische Wirkung erwünscht ist. Es bindet Feuchtigkeit jedoch nur gering.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Urea / Harnstoff]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Urea / Harnstoff]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Vanilleöl"''
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Vanilleöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Vanilleöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei kleinen Verbrennungen:''<br/><br/>
<$list filter="[tag[Verbrennung (kleine)]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei kleinen Verbrennungen:''<br/><br/>
<$list filter="[tag[Verbrennung (kleine)]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
!!Für die getesteten Rezepte brauchst Du folgende Verdicker / Gelbildner:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Verdicker / Gelbildner]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Verdicker / Gelbildner]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
!!!''Die erwähnten Verdicker / Gelbildner kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Verdicker / Gelbildner]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte bei Verstopfung:''<br/><br/>
<$list filter="[tag[Verstopfung]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Verstopfung:''<br/><br/>
<$list filter="[tag[Verstopfung]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
[[Waschsoda]] oder Reine Soda genannt, ist chemisch gesehen reines Natriumcarbonat. Es reagiert zusammen mit Essig recht heftig und setzt dabei Kohlensäure und Wärme frei. Diese Reaktion sowie die entstehende alkalische Lösung führen zu einer intensiven Reinigung des Abflusses. Natron wirkt wohl genauso."""
Zeitaufwand: 2 Minuten + 10 Minuten Einwirkzeit
* ½ Tasse [[Natron]] oder 4 EL [[Waschsoda]]
* ½ Tasse Essig
* ein feuchtes Tuch
* 1 Liter kochendes Wasser
# Natron / Waschsoda in das verstopfte Rohr schütten.
# Gleich anschließend Essig langsam hinterhergießen.
#* ACHTUNG: Es kann spritzen, deshalb niemals das Gesicht direkt über die Rohrverstopfung halten!
# Verstopften Abfluss mit dem feuchten Tuch abdecken.
# Natron-Essig-Mix10 Minuten einwirken lassen.
# 1 Liter kochendes Wasser hinterhergießen.
"""Diese Behandlung löst selbst hartnäckige Beläge im Siphon und macht ihn so wieder sauber und durchlässig.
Wenn die Behandlung nicht anschlägt, hilft nur noch eins: Siphon abbauen und die Verschmutzungen von Hand entfernen. Das ist natürlich auch die umweltfreundlichste Behandlung für verstopfte Abflüsse, denn sie kommt gänzlich ohne Chemikalien aus."""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<$list filter="[is[current]tag[ToDo]!tag[Done]]">
<div style="background:Cornsilk;">
''Fällig am: ''<$edit-text tiddler=<<currentTiddler>> field="due" tag="input"/>
</div>
</$list>
<br/>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Nachdem ich ja immer dachte dass ich von Sanddornöl Pickel bekomme, habe ich das ganz lange nicht mehr benutzt, aber jetzt doch wieder rausgekramt, weil ich es so verlockend finde. Und in dieser Mischung funktioniert es super!!
Meine Haut ist so eine Mischhaut, recht grobporig, trotz 40 Jahre immer mal wieder Pickel und ist jetzt richtig TOLL
2 g Emulsan
4 g Jojobaöl
3 g Aprikosenkernöl
2 g Avocadoöl grün
1 g Babassuöl
4 g Sheabutter
-dies bildet die Fettphase-ich erhitze die unempfindlicheren Öle mit dem Emulsan, gebe dann die Sheabutter und die empfindlichen Öle zu-
in die heiße Fettphase kommen
30 g warmes Hamameliswasser
darin gelöst hatte ich
1 kl. Ml Urea
1 kl. Ml Hyaluronsäure
ich hab das ganze mit dem Milchschäumer gerührt , immer mal wieder in den Tiefkühler gestellt, und bei Handwärme noch zugegeben:
1ML Sanddornöl
einen halben ML Panthenol
1ML Calendulaextrakt
1ML Melissenextrakt
8 Tr. Vitamin A
äth. Öl Rosengeranie und Litsea
Die Pflanzenextrakte wirken als Konservierungsmittel durch den Alkoholgehalt.
Das Cremchen ist absolut klasse, meine Haut zart, die Poren kleiner und sie fühlt sich richtig prall an!!
Ich schätze an diesem Rezept, dass es mit so wenig Emulgator auskommt.
<div style="background:Lavender;">
@@.lefttable
|<img width=340 src="https://share-your-photo.com/img/3ee1eecac2.jpg"/>||
|<h6>IRRI Images [[Rice Plants (IRRI)|https://commons.wikimedia.org/wiki/File:Rice_Plants_(IRRI).jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya, [[CC BY 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Flüssigkeit, Wirkstoff, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Leicht gelbliche Flüssigkeit, pflanzlich (Reis) und synthetisch. Die Substanz ist mit Biokon konserviert, daher das Parfüm in der INCI.
''INCI-Bezeichnung:'' Aqua, Alcohol Denat, Oryza sativa, Rice hydrolysed, Protein, Biotin, Parfüm
''Besonderheit / kosmetische Wirkung:'' Besonders geeignet für feines, sprödes, trockenes Haar. Das Haar wird kräftiger, gesünder und erhält mehr Spannkraft.
Äußerlich angewendet verbessert es die Haarstruktur vor allem bei feinem und brüchigem Haar. Es glättet die Haare, gibt Glanz und Volumen und sie lassen sich besser durchkämmen. Es wird zur Herstellung von Haar- und Körperpflegeprodukten empfohlen. In Shampoos eingesetzt erhöht es bei regelmäßiger Anwendung die Qualität des Haarkeratins. Das Haar erhält mehr Spannkraft und wird kräftiger (weniger gespaltene Haare).
In Haarwässern soll es Haarausfall entgegenwirken.
In Cremes eingesetzt entfaltet Vithaar HT feuchtigkeitsbindende Eigenschaften, daher für Sonnenschutz- und After-Sun-Produkte und Anti-Falten-Cremes geeignet.
''Einsatzkonzentration:'' 0,5-5%
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' In die <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> oder in das- auf Handwärme abgekühlte- Endprodukt geben.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Vithaar HT]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Vithaar HT]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Völlegefühl:''<br/><br/>
<$list filter="[tag[Völlegefühl]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Völlegefühl:''<br/><br/>
<$list filter="[tag[Völlegefühl]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
!!Für die getesteten Rezepte brauchst Du folgende Wachse:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wachse]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Wachse]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Die erwähnten Wachse kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wachse]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Juglans Regia (Walnut) Oil
''Jodzahl:'' 141–155 (halbtrocken)
''Schmelzbereich:'' -15 bis -20°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 6 Monate
''Anteile an Unverseifbarem:'' 0,2–0,3%
''Verseifungszahl:'' 188–196
__Trockene, rissige Haut. Bei Hautirritationen.__
Walnussöl ist unter den Nussölen insofern eine Besonderheit, als dass es im Gegensatz zu anderen bekannten kosmetisch verwendeten Nussölen wie Macadamianuss- und Haselnussöl ausgesprochen linolsäurereich ist.
In der Hautpflege ist es wenig bekannt, was im Hinblick auf sein Fettsäure-Spektrum und seinen hohen Vitamingehalt verwunderlich ist. Walnusskernöl verteilt sich leicht auf der Haut und __zieht schnell ein__ aufgrund seines geringen Anteils an langkettigen gesättigten Fettsäuren. Das Verhältnis zwischen Linolsäure und α-Linolensäure beträgt ca. 5:1 und nähert sich damit der Zusammensetzung menschlicher Hautlipide (ähnliches gilt auch für das Hanföl, das in dieser Hinsicht noch idealer ist); daher gilt Walnussöl als verträgliches Öl, das gerne bei __irritierter Haut__ eingesetzt wird.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Walnussöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Walnussöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
6 EL (120g) [[Zitronensäure]] in ½ l Wasser auflösen und in die Trommel geben.
60°-Programm ohne Textilien & ohne Vorwäsche durchlaufen lassen.
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
"""
Superinteressante Auflistung von Waschmittel-Inhaltsstoffen: https://www.vzhh.de/themen/umwelt-nachhaltigkeit/wasch-reinigungsmittel/wie-funktionieren-waschmittel
&
https://de.wikipedia.org/wiki/Waschmittel, dort v.a.: "Allgemeine Inhaltsstoffe von Waschmitteln"
Enzyme
jeweils unterschiedliche Enzyme gegen Fett, Stärke, Eiweiß,... - z.B. von Hobbythek!!
Die ''anionischen Tenside'' stellen die Hauptkomponente der Waschaktivsubstanzen in den meisten heutigen Wasch- und Waschhilfsmitteln dar.
Die Wasch- und Reinigungswirkung von ''nichtionischen Tensiden'' kommt besonders bei synthetischen Fasern und bei niedrigen Waschtemperaturen zur Geltung. Zusätzlich weisen nichtionische Tenside an Synthetic-Geweben vergrauungs- und verfärbungsinhibierende Effekte auf.
Die Waschwirkung von ''kationischen Tensiden'' ist im neutralen und alkalischen pH-Bereich schlechter als die von reinem Wasser. Sie machen Textilien weich und geschmeidig, verringern die Trocknungszeit und erleichtern das Bügeln. Außerdem rüsten sie die Wäsche antistatisch aus. Kationische Tenside werden vornehmlich in Weichspülern eingesetzt, deren Hauptkomponente sie sind. Bestimmte kationische Tenside haben eine ausgeprägte biozide Wirkung und werden als Desinfektions- oder Konservierungsmittel eingesetzt.
Die derzeit wichtigsten ''amphoteren Tenside'' sind die Alkylbetaine. Sie besitzen sehr gute waschtechnische Eigenschaften, sind wenig toxisch und gut hautverträglich.Vergrauungsinhibitoren
Vergrauungsinhibitoren
Die Verwendung von Tensiden verhindert noch nicht, dass der Schmutz nach dem Ablösen wieder auf die Textilfaser aufzieht. Die Vergrauungsinhibitoren heften sich an die Faser und verhindern das Wiederansetzen des Schmutzes. So ist ein gutes Schmutztragevermögen gewährleistet. Es werden Cellulosederivate wie Carboxymethylcellulose eingesetzt.
Zeolithe
Als Zeolithe bezeichnet man Natriumaluminiumsilikate unterschiedlicher Zusammensetzung. Je nach Aufbau der Kristalle wird zwischen Zeolith A, Zeolith P, Zeolith X und anderen Typen unterschieden, die die Calcium- und Magnesiumionen des Wassers binden und Kalkablagerungen auf der Wäsche und der Waschmaschine verhindern. Zeolithe ermöglichen es, auf Phosphate in Waschmitteln völlig zu verzichten. Um die Leistung des Pentanatriumtriphosphats zu erreichen, werden noch Alkalibildner (Natriumcarbonat oder Natriumsilikat) und Co-builder (Polycarboxylate) benötigt.
Polycarboxylate
Als Polycarboxylate bezeichnet man die wasserlöslichen Salze der langkettigen Polycarbonsäuren. Sie werden in phosphatfreien Waschmitteln in Verbindung mit Zeolith A als Co-Builder (Gerüststoffe) eingesetzt, um die Fällung schwerlöslicher Erdalkalisalze zu verhindern. Ein Niederschlag auf der Wäsche oder den Heizstäben der Waschmaschine wird dadurch vermieden. Darüber hinaus verbessern sie als Vergrauungsinhibitoren die Farbbrillanz der Wäsche. Die in Wasch- und Waschhilfsmitteln eingesetzten Polycarboxylate sind biologisch schwer abbaubar, werden aber in Kläranlagen durch Fällung und Adsorption zu über 90% entfernt.
"""Irgendwie lässt mich mein Waschmittelrezept nicht ruhen. Die Angaben , die so im Netz herumschwirren sind mir zu schwammig und die Dosierungen nach meiner Ansicht viel zu gering.
Deshalb habe ich mich mal mit einigen Bio Waschmitteln näher beschäftigt. Vorwiegend am Beispiel von Sodasan habe ich jetzt die Mengen berechnet und an meine Maschine angepasst. Die Werte stammen aus einer Diplomarbeit über Waschmittel.
Ob jetzt bei meinem weichen Wasser der zusätzliche Enthärter Zeolith unbedingt notwendig ist? Ich denke eher nicht. Aber ich habe dieses Zeolith schon Jahre hier liegen und werde es jetzt auch einsetzen.
Ins Weichspülerfach gab ich einen TL Zitronensäure.
Die Zusammensetzung des Buntwaschmittelpulvers von Sodasan.
56% Seifenflocken
20% Soda
12% Natriumcitrat
12% Zeolith u. andere mineralische Enthärter
umgerechnet auf 100 g
56 g Seifenflocken
29 g Soda
12 g Zeolith
3 g Zitronensäure
Laut Empfehlung von Sodasan ist die Dosierung für weiches Wasser , wenig verschmutzte Wäsche und 4.5 kg Fassungsvermögen: 32 g bestehend aus:
18 g Seifenflocken
9 g Soda
4 g Zeolith
1 g Zitronensäure
bei einer Waschmaschine mit 7 kg Fassungsvermögen, ca 50 g Pulver bestehend aus:
28 g Seifenflocken
14 g Soda
1,5 g Zitronensäure
6,5 g Zeolith
----------------------------------------------------------------------------------------------------
Zeolith ist sicher gut und einen Versuch wert, denn dadurch wird dein Pulver weniger oder gar nicht "stauben".
Das hat mich bei meine Waschpulver Tests gestört - war nur mit Staubmaske in das Waschmittelfach einfüllbar.
Mit Magnesiumsulfat wurde es etwas besser.
<div style="background:#DFFE97;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/217d971287.jpg" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Eigenschaft dieses Buntwaschmittelpulvers:'' Wäscht die Buntwäsche schön sauber mit einem angenehm "sauberen Duft" (ohne ätherische Öle) und hinterlässt keine Rückstände.
__Du musst allerdings ein paar Dinge beachten:__
Es ist nicht für tierische Fasern wie Wolle und Seide geeignet!
Bitte nicht im Kurzwaschgang verwenden- das Pulver hat evtl. zu wenig Zeit, sich vollständig aufzulösen & zu wenig Zeit, zu wirken!
Stärkere Flecken müssen ggf. vorbehandelt werden.<br/>
''Meine Erfahrung damit:'' Ich wasche __normalerweise__ immer mit 40°- reicht vollkommen aus. Meine Erfahrung damit siehe "Eigenschaft" oben- ich wasche mit diesem Pulver seit ca. 2016 meine Wäsche und bin voll zufrieden :-)
Anfangs habe ich 30-60ml Essig (Farbauffrischung & Wäsche weicher machend) & 5-20 Tropfen ätherisches Lavendelöl (Beduftung) pro Waschgang in das Weichspülerfach getan. Inzwischen lass ich beides weg, da ich keinerlei Vorteile damit erkennen & auch keinen Duft wahrnehmen konnte (selbst mit 20 Tropfen Lavendelöl nicht, es wird in der Maschine einfach zu stark verdünnt)."""<br/><br/>
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=3/> g (Mindestmenge 28g für eine Maschinenladung normal verschmutzter Wäsche)<br/></div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 850 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom Doppel-Messlöffel (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom Doppel-Messlöffel (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /850* 150,2)</$calc>-<$calc>round({{!!gesamtmenge}} /850* 200,2)</$calc>g Spülmaschinensalz (?)
* <$calc>round({{!!gesamtmenge}} /850* 200,2)</$calc>g [[Olivenöl-Kernseife]] (!!)
* <$calc>round({{!!gesamtmenge}} /850* 250,2)</$calc>g [[Waschsoda]] (!!)
* <$calc>round({{!!gesamtmenge}} /850* 150,2)</$calc>g [[Natron]] (!)
* <$calc>round({{!!gesamtmenge}} /850* 50,2)</$calc>g [[Zitronensäure]] (!)
<br/>
''Zubereitungszeit:'' Ca. @@font-size:0.8em;//muss ich nochmal drauf achten ;-)//@@
# ''Kernseife'' mit einer Küchenreibe möglichst fein reiben. Je feiner sie gerieben wird, desto besser kann sie sich beim Waschen auflösen. Gegebenenfalls mit der Küchenmaschine pulverisieren. Dann wird das Waschpulver noch feiner & gleichmäßiger, staubt allerdings auch etwas stärker.
# ''Alle trockenen Zutaten'' gründlich mischen. Aber nicht zu hektisch mischen, da das Waschsoda (und die pulverisierte Kernseife) sonst sehr staubt, was gesundheitsschädlich ist!
# Sollte das Waschpulver nach einiger Zeit zu klumpen beginnen, kannst du ein kleines Stoffsäckchen mit einigen Esslöffel Reis füllen und zum Pulver hineinlegen. Der Reis saugt die Feuchtigkeit auf und verhindert, dass dein Pulver ein einziger Brocken wird.<br/>__Es klumpt bei mir aber selbst nach 2 Jahren Lagerung (in einer Blechdose im Bad) in keinster Weise!__<br/><br/>
''Anwendung:''
# Leicht umrühren, damit sich die Zutaten wieder gleichmäßig miteinander mischen. Aber vorsichtig umrühren wegen dem sich entwickelnden Staub!!
# 1-2 EL ( = ca. 28-56g, je nach Verschmutzungsstärke) vom Waschpulver ins Waschmittelfach geben.
# Optional 30-60ml [[Essig]] & optional 4 Tropfen ätherische Öle, z.B. [[Lavendelöl]] oder [[Zitronenöl]] ins Weichspülerfach geben.
# Loswaschen :-)<br/><br/>
''Starke Flecken in der Wäsche:''<br/>
Für stärkere Flecken braucht es eine Vorbehandlung, z.B. mit Kernseife oder Gallseife oder Einweichen in Waschsoda.
<br/><br/><br/>
''Zubehörliste:''
* Küchenwaage
* Schüssel
* Esslöffel
* Küchenreibe
"""
''Ab wann verwendbar'': Sofort verwendbar.
''Zutatenliste mit Wirkweise in diesem Rezept:''
@@color:blue;Spülmaschinensalz@@ (0-0,30€)
Wirkt als zusätzlicher Wasserenthärter und verbessert so die Waschwirkung – vor allem bei hartem Wasser. Bei weichem - mittelweichem Wasser evtl. nicht nötig oder einfach etwas mehr Waschsoda nehmen.
Mein Leitungswasser hat eine Härte von 2 (mittel) bzw. 12 °dH. Mein letztes Waschpulver habe ich mit 150g Spülmaschinensalz auf 850g Gesamtmenge hergestellt- alles bestens. Mal schauen, wie weit ich das Spülmaschinensalz noch herunterfahren kann- ich werde hier entsprechend berichten...
[[Olivenöl-Kernseife]] (4,20€)
Ist die waschaktive Substanz, sie bindet das Fett im Wasser. Der Olivenduft ist am Ende der Wäsche nicht mehr wahrnehmbar.
''Wichtig:'' Die Kernseife darf auf keinen Fall überfettet sein! Dieses überschüssige Fett lagert sich nämlich dann in der Wäsche ab und diese wird dann nicht sauber. Leider schreiben nicht alle Verkäufer /Hersteller dazu, ob ihre Kernseife überfettet ist oder nicht... Reine Kernseife ist eine reine Putzseife, nicht überfettet und ohne weitere Zusätze. Für die Körperreinigung ist diese nicht geeignet, da sie die Haut zu sehr entfettet!
[[Waschsoda]] (0,50€)
Unbedingt Reine Soda verwenden. Kristallsoda (v.a. in Österreich verbreitet) enthält gebundenes Wasser. Dies führt zu einer vorzeitigen Reaktion mit der Zitronensäure im gerade hergestellten Pulver.
Enthärtet das Wasser und lässt die Fasern leicht aufquellen, wodurch sich Schmutz besser löst. Es entfernt Fett, Schmutz, Flecken und Gerüche.
Soda spaltet Fett in Fettsäure und Glycerin und bildet mit den Fettsäuren Seife, die wiederum reinigend wirkt.
In Wasser gelöst ist Soda stark alkalisch und bildet eine Lauge. Dadurch eignet sie sich sehr gut zum Entfernen von Schmutz und Fett. Die Partikel quellen auf und werden verseift.
[[Natron]] (0,67€)
Entfernt unangenehme Gerüche, macht die Wäsche weich, enthärtet das Wasser und hat eine bleichende Wirkung. Es lässt die Fasern leicht aufquellen, wodurch sich Schmutz besser löst und wirkt entfettend.
[[Zitronensäure]] (0,37€)
Bleichende Wirkung, enthärtet Wasser.
Soda ist in Wasser gelöst alkalisch. Kommt dazu eine Säure, z.B. Essig / Zitronensäure, dann klauen Säuren dem Kohlesäuresalz den alkalischen Teil, und setzen damit Kohlesäure frei, die sich schlecht in Wasser löst- es fängt an zu zischen und schäumen. Dieses Freisetzen von Kohlensäure hat enorme Reinigungswirkung, weil sie Dreck geradezu wegschäumt. Im Rezept ist nicht so viel Zitronensäure, als dass alles Soda und Natron neutralisiert werden könnte, die Waschlauge bleibt immer noch basisch. Und selbst wenn die Reaktion zu Ende ist, hat man immer noch die Seife und den Überschuss an Natron und Soda, die weiterhin als Reinigungsmittel wirken.
''Selbstkonservierend durch'' fehlendes Wasser.
''Haltbarkeit'': So lange haltbar wie die Zutat mit dem kürzesten MHD (musst Du bei Deinen Zutaten nachschauen).
''Gesamtkosten der Zutaten:'' 6,04€ (ohne Duftöle, da ich nicht weiß, ob & welche & wieviel Du nimmst) für 850g Gesamtmenge inkl. 200g Spülmaschinensalz. Pro Waschladung sind das bei normal verschmutzter Wäsche 0,20€. Stand August 2018
<div style="clear:both;line-height:0px;"></div>
"""60 g Seife, fein gerieben ( Kernseife oder Seifenreste)
30 g Soda (Natriumcarbonat)
15 g Natriumcitrat
20 g SCS (Tensidpulver)
40 g Bittersalz (Magnesiumsulfat)
15 g Zitronensäure (Granulat)
10 g Orangenreiniger
30 - 60 Tr. Duft ( ich habe äth. Orangenöl verwendet)
Seife, Soda, Natriumcitrat, SCS, Bittersalz und Zitronensäure trocken vermischen und Orangenreiniger und Duft dazu mischen.
Die Masse habe ich in eine Silkonform gedrückt.
Es werden 8-9 Stück mit je ca 22 - 25 g.
Ich verwende pro Waschgang 1 Stück.
Der ph Wert liegt bei 10, die 11 habe ich noch nicht geschafft.
Überlege schon, ob ich mehr Natriumcitrat und dafür weniger Zitronensäure verwenden soll.
Mein Natriumcitrat hat ca. ph Wert 8.
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=430 src="https://share-your-photo.com/img/424245481d.jpg"/>||
|<h6>Herbert Frank from Wien (Vienna), AT,<br/>[[„Vansee Van Gölü (Sodasee ph 9,8) (26550990998)|https://commons.wikimedia.org/wiki/File:Vansee_Van_Gölü_(Sodasee_ph_9,8)_(26550990998).jpg]],<br/>Farbwert & weiteres Foto eingefügt von Surya, [[CC BY 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver mit Reinigungswirkung, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Soda = Natriumcarbonat ist ein natürlich vorkommendes Mineral. Es ist ein Salz der Kohlensäure. Bereits die alten Ägypter kannten und nutzen Soda. Sie legten eigens Salzgärten an, um aus Wasser von Sodaseen das Mineral zu gewinnen. Es ist besonders umweltverträglich, weil es von der Natur nicht abgebaut werden muss: Es ist bereits das Endglied der Umweltabbaukette.
''INCI-Bezeichnung:'' Natriumcarbonat
''Besonderheit / Wirkung:'' Waschsoda ist ein vielseitiges Hausmittel bei der Wäsche, im Haushalt und auch im Garten.
Dies liegt vor allem an zwei Eigenschaften der Soda. Sie spaltet Fett in Fettsäure und Glycerin und bildet mit den Fettsäuren Seife, die wiederum reinigend wirkt. Außerdem macht Reine Soda das Wasser weicher. Wasch- und Reinigungsmittel können besser wirken und man kann sie niedriger dosieren.
In Wasser gelöst ist Soda stark alkalisch und bildet eine Lauge. Dadurch eignet sie sich sehr gut zum Entfernen von Schmutz und Fett. Die Partikel quellen auf und werden verseift. Außerdem beseitigt Soda Gerüche und Flecken. Durch diese Vielseitigkeit hat sich Soda als Hausmittel bewährt: Sie ist umweltverträglich und sorgt zuverlässig für lebensmittelgerechte Sauberkeit und Hygiene.
''Duftprofil:'' Geruchsneutral
''Lagerung:'' Trocken lagern.
''Nebenwirkungen & bei Anwendung beachten:'' Soda reizt die Haut, Augen und Atemwege und es staubt sehr leicht. Deswegen ist besondere Vorsicht geboten. Vermeide das Einatmen, Augenkontakt und übermäßigen Hautkontakt. Im Zweifel solltest du zur Sicherheit Gummihandschuhe tragen.
Es ist nicht geeignet für Aluminium und alkaliempfindliche Oberflächen wie Marmor, polierter Granit, Kalkstein. Bei empfindlichen Oberflächen bitte vor der Anwendung an verdeckter Stelle prüfen.
''Erhältlich bei:'' In Drogerien erhältlich- dort kauf ichs auch. Oder auch in größeren Supermärkten.
''Worauf beim Kauf achten:'' Möglichst nicht Kristallsoda kaufen, sondern Reine Soda / Waschsoda.
''Unterschied Kristallsoda / Waschsoda / Reine Soda:'' In Deutschland wird fast ausschließlich wasserfreies Soda verkauft. Die beiden prominentesten Marken sind Holste Waschsoda & Heitmann Reine Soda.
In Österreich ist das Kristallsoda viel weiter verbreitet . Es ist fast genauso anwendbar wie reine Soda. Da es aber gebundenes Wasser enthält, benötigst du eine größere Menge. Bei meinen Rezepten bezieht sich alles auf wasserfreie Soda, also Reine Soda.
Einige Rezepte funktionieren gar nicht mit Kristallsoda, wie zum Beispiel das [[Waschpulver (Buntwaschmittel)]]. Für diese Rezepte ist die Verwendung der reinen, wasserfreien Soda unerlässlich.
''Tipp für die Verarbeitung:'' "Siehe Nebenwirkungen & bei Anwendung beachten".
"""<br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Waschsoda]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Waschsoda]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""''Warum macht es keinen Sinn, Waschsoda & Zitronensäure gemeinsam in flüssigen Reinigern zu verwenden?''
Kommen Waschsoda & Zitronensäure gemeinsam mit Wasser in Berührung, reagieren sie miteinander- sie "reagieren sich aneinander ab".
Dadurch werden beide in neue Substanzen umgewandelt (nämlich Kohlenstoffdioxid und Natriumcitrat).
Wenn Waschsoda & Zitronensäure im richtigen Mischungsverhältnis vorliegen, so dass sie komplett miteinander reagieren können, bleibt von beiden Substanzen nichts mehr übrig (also es ist keine Zitronensäure und kein Natriumcarbonat/Waschsoda mehr in der Mischung enthalten). Dadurch liegt der pH-Wert im neutralen Bereich.
Außerdem hat die neu entstandene Substanz Natriumcitrat keine reinigende Wirkung.
Es macht also keinen Sinn, beide Zutaten gemeinsam in flüssigen Reinigern zu haben! Reine Rohstoff-Verschwendung...
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
''Art / Konsistenz der Zutat:'' Flüssigkeit, Wirkstoff
''INCI-Bezeichnung:'' Hydrogen peroxid
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Wasserstoffperoxid]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Wasserstoffperoxid]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""70g Zitronensäure
25g Waschsoda
5g Pulvertensid
einige Tr. blaue Lebensmittelfarbe
Duftstoffe 3%
alles wie bei einer Badebombe ohne Fett mit Wasser angesprüht bis es eine Sandmasse gab und dann in Förmchen gefüllt.
Benutzung: In die Kloschüssel schmeissen & wirken lassen.
(Nicht dafür geeignet, sie an den Schüsselrand im Plastiknetz zu hängen, sodass bei jedem Spülen ein bissl "geputzt" wird!, Diese Dinger reinigen eh nicht so wirklich!)
Wirkung:
1.Reinigung von Fetten und Eiweiß (anionisches Tensid, äth. Öl )
2.Entkalkung ( Zitronenensäure),
3.Frische , Duft und Hygiene (Natriumcarbonat, äth Öle)
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.<br/>"Ich" bin also nicht ich.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-3, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Triticum Vulgare (Wheat Germ) Oil
''Jodzahl:'' 120–132 (halbtrocken)
''Schmelzbereich:'' 0 bis –5°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 9 Monate
''Anteile an Unverseifbarem:'' Bis 5%
''Verseifungszahl:'' 180–195
__Reife, trockene, schlecht durchblutete Haut. Hervorragend in der Narbenpflege.__
Wirkt __nährend, pflegend und schützend__ bei __trockener und empfindlicher Haut__. Auch für __trockene Haare__ geeignet.
Weizenkeimöl ist durch seinen extrem hohen Gehalt an Tocopherolen (im Durchschnitt 250 mg/100 gr), den unverseifbaren Bestandteilen wie Phospholipiden und Phytosterolen sowie den Carotinoiden nahezu prädestiniert für die Pflege __reifer, barrieregestörter und fahler, schlecht durchbluteter Haut__. Seine Wirkungen sind vielfätig: Vitamin E fördert die Blutzirkulation in den Gefäßen und bedingt eine deutliche Durchblutungssteigerung der Haut. Phospholipide bilden wesentliche Bausteine der Zellmembrane und bewirken zusammen mit den lipophilen Tocopherolen eine ausgezeichnete, wenn auch langsame Penetration in das Stratum Corneum. Die Phytosterole festigen die Lipidlayer der Barriereschicht und __mindern den transepidermalen Wasserverlust__ der Haut. Seine __durchblutungssteigernde__, __elastizitätsfördernde__ Wirkung und seine intensive Penetration haben es vor allem in der __Haut- und Dammpflege schwangerer bzw. entbundener Frauen__ zu einem unentbehrlichen Kosmetikum gemacht.
Mit Wildrosen- und Granatapfelsamenöl kombiniert bildet es eine hervorragende Nachtpflege für __reife Haut__; mit Sheabutter und Nachtkerzenöl lassen sich intensiv wirkende Oleogele konzipieren, die __barrieregestörte, atopische Hautpartien__ stabilisieren und restrukturieren. Der hohe Tocopherolgehalt und sein Gehalt an Unverseifbarem gibt diesem wundervollen Öl eine gute Penetrationstiefe, allerdings zieht es nur langsam in die Haut ein und wirkt dadurch haptisch deutlich rückfettender und reichhaltiger als beispielsweise Avocadoöl. Dies resultiert u. a. aus seinem relativ hohen Gehalt an gesättigten Fettsäuren, dem höchsten unter europäischen Ölpflanzen. Im Weizenkeimöl finden wir daher ein außergewöhnliches Öl, das gleichzeitig schützend »einhüllt« und durch seine Penetrationsfähigkeit und seine Inhaltsstoffe tiefenwirksam pflegt.
Die durchblutungsfördernde Wirkung des Weizenkeimöls bewirkt eine bessere Versorgung der Hautkapillare (Mikrozirkulation), fördert Stoffwechselprozesse und lässt fahle Haut wieder lebendig wirken (ich sehe diese Wirkung vor allem morgens, wenn ich das Öl kurweise abends über ein Feuchtigkeitsserum auftrage). Daneben wird es auch zur __Pflege von Haaren und Kopfhaut__ geschätzt.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Weizenkeimöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Weizenkeimöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
@@.lefttable
|<img width=280 src="https://share-your-photo.com/img/7e1ee0415e.jpg"/>||
|<h6>Eugen Staab [[Weizenähren|https://commons.wikimedia.org/wiki/File:Weizenähren.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya, [[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Flüssigkeit, Wirkstoff, ''Löslichkeit:'' Wasser- & fettlöslich
''Ursprung/Beschreibung:'' Weizenprotein ist ein Hydrolysat aus Weizeneiweiß- eine dunkle, pflanzliche Flüssigkeit mit leicht sirupartigem Geruch.
''INCI-Bezeichnung:'' Hydrolyzed Wheat Protein / Hydrolyzed Wheat Gluten
''Weitere Handelsnamen:'' Nuratin, Nuratin P
''Besonderheit / kosmetische Wirkung:'' Weizenprotein sollte in keinem Haarprodukt fehlen, das die Haare geschmeidig und seidig machen soll. Es hat einen "Repaireffekt" bei strukturgeschädigtem Haar, indem es raue Haarschuppen glättet und einen schützenden Film um das Haar legt. Dadurch dient es der besseren Kämmbarkeit und mildert die Folgen schädlicher Einflüsse wie Föhnen, heftiges Bürsten, Sonnenbestrahlung, Salz- & Chlorwasser usw.
Außerdem werden die Haare verdickt und gekräftigt.
Weizenprotein übernimmt neben Silkprotein in der selbstgemachten Kosmetik die Funktionen, die in der konventionellen Kosmetik die Silikone übernehmen. Im Gegensatz zu den Silikonen ist Weizenprotein allerdings jederzeit wieder auswaschbar, verschließt die Poren nicht und lässt auch die Kopfhaut weiterhin atmen.
In Duschgelen wirkt es hautfreundlich und pflegend, feuchthaltend und stabilitätsverbessernd.
Weizenprotein kann auch in Cremes eingesetzt werden, in denen es ein samtiges Hautgefühl gibt.
''Duftprofil:'' Leicht sirupartiger Geruch.
''Einsatzkonzentration:'' 4-10%
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Nebenwirkungen & bei Anwendung beachten:'' Bei sehr feinem Haar sollten nur geringe Dosierungen verwendet werden.
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' In das auf Handwärme abgekühlte Endprodukt geben. Beim Austausch gegen Keratin oder Nutrilan kann die in den Rezepturen angegebene Menge übernommen werden.
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Weizenprotein]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Weizenprotein]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Ausserdem: https://schwatzkatz.com/aufbau-einer-emulsion-die-rohstoffe/
1. ich bestimme die gesamt menge= 100gr. Diese 100gr sind dann gleich auch 100%
2. wir bestimmen die fph mit emulgator
3. wir bestimmen die wph
4. wir überlegen und wieviel wirkstoffe wir wollen und in welche phase diese gehören.
5. wir überlegen uns die konservierung
Also ganz einfach 5 schritte
1. 100gr=100% wenn man weniger möchte, dann braucht ihr das nur mit den 3satz runterrechnen.
2. die fph setzten wir jetzt mal mit 30% an. Den emu nehmen wir laut anweisung des herstellers. BEi vielen shops steht es dabei, z.b. behawe, alexmo ect.
3. dann ist die wph 70% (30+70=100)
4. die wirkstoffmenge sollte, außer bei spezialprodukten, 10% nicht übersteigen
5. als beispiel nehmen wir eine konservierung mit alkohol UND konservierer. Alkohol nehmen wir hier 10% an gesamt und den konservierer 1tr auf 10gr.
Also sieht unser 1. projekt so aus:
fph bestehend aus:
emulgator
koemulgator (optional)
butter
öl
öllösliche wirkstoffe wie z.b. gamma oryzanol
alles zusammen sind 30%
wph bestehend aus:
wasser
alkohol
wasserlösliche wirkstoffe wie z.b. glycerin
evt. milchsäure und natriumlactat im verhältnis 1:4 um den phwert für den ph abhängigen konservierer einzustellen
konservier
alles zusammen 70%
Wenn ihr keine ph papierchen habt, nehmt einfach einen ph stabilen konservier, dann braucht ihr weder ms noch nl.
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=250 src="https://share-your-photo.com/img/960930e7dc.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ersatz'': Naja, wenn Du einen Deostick herstellen möchtest, brauchst Du halt auch eine Deostick-Hülse. Es scheint nicht allzu große Unterschiede bei denen zu geben- außer in der Größe (ich hab eine kleine Version genommen mit 15ml).
''Erhältlich bei'': Ich hab die bei Amazon gekauft- die 15ml-Variante ist leider nur im 10er-Pack erhältlich. Sicher auch bei Ebay.
<br/>
''Für welche getesteten Rezepte benötigt:''
* [[Deostick]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:#ccb3ff;">
<div style=> </div>
<img width=180 src="https://share-your-photo.com/img/29ca3e689a.jpg" style=" float:left;padding: 0 2em 0 0;"/>
''Ersatz'': Naja, wenn Du einen Lippenpflegestift herstellen möchtest, brauchst Du halt auch eine Lippenpflegestift-Hülse. Es scheint nicht allzu große Unterschiede bei denen zu geben.
''Erhältlich bei'': Ich hab die bei Ebay gekauft. Sie sind genauso groß wie die bekannten "Labellos" & Co. Sicher auch bei Amazon.
Sie sind nur im 10er-Pack erhältlich, was aber nicht so schlimm ist, da die benötigten Zutatenmengen so winzig sind, dass man sowieso keinen einzelnen herstellen kann. Die zuviel hergestellten friere ich einfach ein, bzw. man kann sie auch im Kühlschrank lagern- sie nehmen ja kaum Platz weg.
<br/>
''Für welche getesteten Rezepte benötigt:''
* [[Lippenpflegestift]]
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Basisöl, ''Ölgruppe:'' B-0, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Limnanthes alba (Meadowfoam) Seed Oil
''Jodzahl:'' 85–105 (nicht trocken)
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 24 Monate
''Verseifungszahl:'' 160–175
__Normale bis trockene Haut, in Haarpflegeprodukten. Hervorragendes Basisöl mit herausragender oxidativer Stabilität, verlängert in Mischungen die Haltbarkeit mehrfach ungesättigter Öle.__
Wiesenschaumkrautöl erinnert im Hautgefühl und in seinem Einziehverhalten an Jojobaöl. Es __bewirkt ein sehr seidiges, glattes, nicht fettendes Hautgefühl__. Aufgrund seiner hohen oxidativen Stabilität eignet es sich hervorragend als Basisöl in Mischungen mit oxidationsempfindlichen linolensäurereichen Wirkstoffölen wie Wildrosen- oder Nachtkerzenöl. Es spreitet nur wenig und eignet sich daher sehr gut für __Pflegepräparate am Auge__; daneben kann es auch in __Haarpflegeprodukten__ eingesetzt werden.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Wiesenschaumkrautöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Wiesenschaumkrautöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:White;">
!!<div style="text-align: center">Wikigrößen testen</div>
Du kannst es testen, ab welcher Größe ein Wiki auf Deinem Wunschgerät anfängt, Probleme zu verursachen:<br/>
Gehe zu https://tiddlywiki.com/ und klicke dort auf den Speicherbutton in der Seitenleiste- das Wiki wird heruntergeladen und hat 4,5MB.<br/>
Teste es auf Deinem Wunschgerät bzgl. Scrollbarkeit, Schnelligkeit der Öffnung von Tiddlerlinks aus der Seitenleiste und Tippverhalten.<br/>
Funktioniert alles wunderbar, so kannst es vergrößern, indem Du z.B. große Plugins (z.B. ToDoNow, Cardo,...) per Drag & Drop in "Dein" Wiki importierst. Es öffnet sich ein "Import"-Tiddler, dort klickst Du auf den "Import"-Button und lädst danach das Wiki neu.<br/>
Teste es erneut auf oben genannte Punkte. Funktioniert das Wiki immer noch prima?<br/>
Du kannst es noch weiter vergrößern, indem Du Bilder von Deiner Festplatte in das Wiki per Drag & Drop importierst. Weiter testen, bis das Wiki in einem der Testpunkte anfängt, ruckelig / langsam zu werden.<br/>
Nun weißt Du den Wiki-Größenspielraum für Dein Testgerät.
<br/>
Du kannst es testen, ab welcher Größe ein Wiki auf Deinem gewünschten Gerät anfängt, Probleme zu machen:<br/>
Gehe zu https://tiddlywiki.com/ und klicke dort auf den Speicherbutton in der Seitenleiste- das Wiki wird heruntergeladen, es hat 4,5MB. Du kannst es noch weiter vergrößern, indem Du es im Browser öffnest und dann große Plugins importierst (z.B. ToDoNow, Cardo) und indem Du Bilder von Deiner Festplatte importierst. Und dann auf Deinem Gerät testest- bzgl. Scrollbarkeit, wie schnell Tiddlerlinks geöffnet werden und wie die Tippschnelligkeit ist.
!!<div style="text-align: center">Wiki klein halten</div>
Unbedingt! solltest Du vermeiden, Bilder direkt in Dein Wiki zu importieren- es sei denn, Du hast nur wenige Bilder & diese sind klein (in MB). Bilder kann man auch auf andere Art & Weise im Wiki / in Tiddler einfügen- siehe im entsprechenden Button.<br/>
Weiterhin beobachte, wie Plugins die Größe deines Wikis verändern. Wenn Dir Dein Wiki durch ein Plugin zu groß wird, deinstalliere es wieder & suche nach Alternativen.
<br/><br/>
!!<div style="text-align: center">Performance</div>
Je mehr Tiddler gleichzeitig geöffnet sind und je mehr Tiddler in der Seitenleiste angezeigt werden, desto schlechter kann die Performance des Wikis werden.
<div style="background:Lavender;">
@@font-size:0.9em;float:right;(Auszugsweise zitiert von © Heike Käser, https://www.olionatura.de.)@@"""
''Art / Konsistenz der Zutat:'' Wirkstofföl, ''Ölgruppe:'' W-1, ''Löslichkeit:'' Fettlöslich
''INCI-Bezeichnung:'' Rosa canina Seed Oil
''Jodzahl:'' 152–176 (trocken)
''Schmelzbereich:'' -15 bis 0°C
''Spreitwert nach Olionatura®:'' Mittelspreitend
''Haltbarkeit (nach Öffnung):'' Ca. 3 Monate
''Anteile an Unverseifbarem:'' 0,9–2,5%
''Verseifungszahl:'' 189–193
__Hervorragendes Wirkstofföl für trockene, reife Haut, entzündliche Haut. Traditionelles, bewährtes Öl zur Behandlung von Narben und Nachbehandlung von Pigmentflecken.__
Wildrosenöl ist besonders für __empfindliche, aber auch trockene, reife oder zu Entzündungen neigende Haut__ geeignet. Es unterstützt die __Hautregeneration__ wie kaum ein anderes Öl und ist daher auch hervorragend als __Gesichtsöl__, z.B. in Kombination mit Nachtkerzen- und Arganöl geeignet. Auch __Pigmentflecken und Narben__ können gelindert werden. Wildrosenöl hat einen sehr hohen Gehalt an Alpha-Linolensäure, Linolsäure und ungesättigten Fettsäuren. Es __zieht sehr schnell ein__ und hinterlässt __keinen störenden Ölfilm__ auf der Haut.
Wildrosenöl unterstützt wie kein anderes Öl die Hautregeneration und eignet sich optimal zur Behandlung von __trockener, schuppiger Haut, Pigmentflecken und Narben__. Transretinolsäure wirkt stark heilend und regenerierend, fördert die Collagenproduktion innerhalb des Bindegewebes und erhält so die Fähigkeit der Haut, __Feuchtigkeit zu speichern__.
Wildrosenöl regt die __Zellerneuerung__ an und gilt als ausgezeichnetes und ausgesprochen verträgliches __Gesichtsöl für trockene, reife, aber auch entzündliche Haut__. In Kombination mit Nachtkerzenöl und dessen Gehalt an Gamma-Linolensäure (ca. 9 %) ergibt es eine hervorragende Kombination für oben genannte Hauttypen. Kombinieren Sie Wildrosenöl in Emulsionen mit einem ölsäurehaltigen Basisöl (z.B. Mandel-, Argan- oder Marulaöl), um ein Fettsäurespektrum abzudecken, das die Barriereschicht der Haut stabilisiert und __langfristig glättet__. Da es oxidativ nicht stabil ist, sollte es im Sommer ausschließlich in Cremes oder Seren für die Nacht, nicht jedoch in Tagespflege-Präparaten eingearbeitet werden.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Wildrosenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''
<$list filter="[tag[Wildrosenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""sehr gut verträglich für empfindliche Haut:
6g macademiaöl
2g avocadoöl
4g mandelöl
2g shea
33g wasser
1ML tego
1kl ML wollwachsalkohol
1ML neutralöl
in die fertige creme
konservieren nach wahl
die öle mit den emulgatoren im becherglas auf der herdplatte schmelzen oder im wasserbad schmelzen. dann das abgemessene heisse wasser dazu, aufrühren, zusätze dazugeben, fertig!
ich hab sie mit dem tchibo mixer gerührt.
so, ergebnis ist eine sehr softe und schöne creme, die gut einzieht, aber eine gewisse "schwere" auf der haut vermittelt, einen leichten schutzfilm.
die creme kann wie immer abgewandelt werden, die öle einfach austauschen nach belieben, harnstoff dazu nach lust und laune,
squalan etc.
"""Ich bin mal wieder prämenstruell und auch durch die Hitze sprießt gerne mal das ein oder andere Pickelchen... um die irritierte Haut zu beruhigen habe ich folgende Gesichtscreme gerührt:
Wasserphase:
30g Hamameliswasser
2g Urea
Msp Allantoin
Fettphase:
4g Aloe Vera Öl
4g Jojobaöl
3g Monoiöl (in meinem Fall Frangipani)
2g Babassuöl
2g Cupuacubutter
4g Emulsan II
1g Tegomuls
1g Vitamin E-acetat
Wirkstoffe:
1g Hyalomuco Lösung
1g Tigergrasextrakt
1g Süßholzextrakt
1g Ginsengextrakt
2g Fibrostimulin
1g Seidenprotein
1g Squalan
1/2 Kapsel Q10
Konservierung: 6 Tropfen ParabenK
Beduftung: Nicht nötig, das Monoi duftet ganz toll durch :)
Die Konsistenz ist traumhaft cremig (dank dem elektrischen Minirührer vom Plus *g*) und sehr angenehm auf der Haut! Sie zieht gut weg und hinterläßt einen ganz leichten Film der aber nicht fettig ist. Die Haut ist rosiger, zarter und die Pickel sind schon nach dem ersten Tag weniger geworden.
<div style="background:White;">
!!Diese Wirkstoffe werden für die getesteten Rezepte benötigt:
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wirkstoffe]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Und zwar für diese getesteten Rezepte:''<br/>
<$list filter="[tag[Wirkstoffe]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
!!!''Die erwähnten Wirkstoffe kannst Du auch für diese ungetesteten Rezepte verwenden:''<br/>
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wirkstoffe]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
Siehe [[Lanolin]]
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
''Alle getesteten Rezepte bei Wunden:''<br/><br/>
<$list filter="[tag[Wunden]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Wunden:''<br/><br/>
<$list filter="[tag[Wunden]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<img width=180 src="https://share-your-photo.com/img/96f473bddb.jpg" style=" float:left;padding: 0 1em 0 0;"/>
"""
''Art / Konsistenz der Zutat:'' Pulver, Verdickungsmittel / Gelbildner, ''Löslichkeit:'' Wasser- & alkohollöslich
''Ursprung/Beschreibung:'' Xanthan ist ein natürlich vorkommendes Polysaccharid. Es wird mit Hilfe von Bakterien der Gattung Xanthomonas aus zuckerhaltigen Substraten gewonnen und wird als Lebensmittelzusatzstoff mit der E-Nummer E 415 als Verdickungs- & Geliermittel eingesetzt. Xanthan ist für Öko-Lebensmittel zugelassen.
Es kann vom menschlichen Organismus nicht verstoffwechselt werden und wird daher zu den Ballaststoffen gezählt. Im Darm wird es teilweise von dort lebenden Mikroorganismen abgebaut. In hohen Dosen kann es abführend wirken. Xanthan gilt als gesundheitlich unbedenklich. Fälle von Allergien, Unverträglichkeiten oder Überempfindlichkeiten sind nicht bekannt.
''INCI-Bezeichnung:'' Xanthan Gum (E 415)
''Besonderheit / kosmetische Wirkung:'' Xanthan ist ein hautfreundlicher natürlicher Gelbildner und wird als Verdickungsmittel bzw. Stabilisator für Cremes, Gels und Masken verwendet. Es hinterlässt einen leichten Film auf Haut und Haaren, was Geschmacksache ist. Xanthan ist hervorragend geeignet für Gel-Masken, die wieder abgewaschen werden, da Xanthan im Vergleich sehr günstig ist.
''Duftprofil:'' Geruchsneutral.
''Einsatzkonzentration:'' 0,1-5% des fertigen Endprodukts
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Beachte / Tip:'' Es ist allgemein etwas schwierig, Xanthan klümpchenfrei in die <div class="tooltip">Wasserphase
<span class="tooltiptext">Teil einer Emulsion, der alle wasserlöslichen Rohstoffe umfasst</span></div> einzuarbeiten. Bisher musste ich aber einfach nur darauf achten, dass ich es schön langsam nach und nach mit dem Milchschäumer einrühre. Und zwischen den einzelnen Zugaben immer erstmal kurz mit dem Milchschäumer weiterrühren.
Falls das gar nicht klappen will: Xanthan in minimaler Menge von __hochprozentigem__ Alkohol vorlösen und dann mit Hilfe eines Milchschäumers oder ähnlichem einrühren. Ca. 2 Minuten quellen lassen und nochmals kräftig rühren.
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien & Bioläden.
''Worauf beim Kauf achten:'' /
''Möglicher Ersatz:'' Kann durch Guarkernmehl, Johannisbrotkernmehl, Agar Agar oder Alginat ersetzt werden. Allerdings bietet Xanthan das beste Ergebnis.
''Für diese getesteten Rezepte benötigt:''<br/>
<$list filter="[tag[Xanthan]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Für diese ungetesteten Rezepte benötigt:''<br/>
<$list filter="[tag[Xanthan]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=390 src="https://share-your-photo.com/img/a0ebbc8201.jpg"/>||
|<h6>ecom, [[Birkenwald - panoramio|https://commons.wikimedia.org/wiki/File:Birkenwald_-_panoramio.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Wirkstoff, ''Löslichkeit:'' Wasserlöslich
''INCI-Bezeichnung:'' Xylit / Xylitol (E 967)
''Weitere Bezeichnungen:'' Birkenzucker, Xylitol
''Ursprung/Beschreibung:'' Weißes Pulver mit einem sehr süßen Geschmack, das ein kühles Gefühl im Mund hinterlässt. Xylit ist ein natürlicher Zuckeralkohol, der sich in vielen Früchten und Gemüsen befindet. Die industrielle Herstellung erfolgt aus Holzrinde oder abgeernteten Maiskolben, was sehr aufwändig ist und den relativ hohen Peis erklärt.
Zahnpflegend soll aber wohl nur das Xylit aus Baumrinde sein, nicht das aus Maiskolben!
''Besonderheit / kosmetische Wirkung:'' Xylit ist ein Zuckeraustauschstoff, der eine karieshemmende Wirkung hat und in vielen Zahnpflegekaugummis enthalten ist. Die an der Kariesbildung beteiligten Bakterien können Xylit nicht wie andere Zuckerarten verstoffwechseln und "verhungern" regelrecht. Ebenfalls werden laut Studien <div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div> und Zahnstein durch Xylit gemindert. Die Zähne werden schon nach der ersten Anwendung merkbar glatter.
''Duftprofil:'' Geruchsneutral.
''Einsatzkonzentration:'' 10-100%
''Lagerung:'' Es muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Beachte:'' Xylit vor einer Gelherstellung vollständig im Wasser auflösen.
''Erhältlich bei:'' Ich kaufs beim Biomarkt um die Ecke.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle.
''Worauf beim Kauf achten:'' Es sollte Xylit aus Baumrinde sein, nicht der aus Maiskolben!"""<br/><br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Xylit]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Xylit]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""100g Xylit/Birkenzucker auf 90Grad erhitzen bis es schmilzt, sofort vom der Herdplatte ziehen und etwas abkühlen lassen.
Nach Wunsch und Geschmack Lebensmittelfarbe und 2-4 Tropfen Ätherische Öle (Zitrone oder Pfefferminz) dazu, Lebensmittelaromen gehen auch.
Dann in Förmchen gießen und trocknen lassen. Wer keine Förmchen hat, kann es auch auf Backpapier tropfen.
Ich mache sie seit längere Zeit so, geht wirklich schnell.
Nachtrag: Formen aus Kunsstoff muss man leicht einölen, Sillikonformen nicht.
ich habe es inzwischen auch mal ausprobiert. Habe nur Xylit genommen und Erdbeerpulver, da ich dachte, so kann ich Geschmack und Farbe in Einem bekommen.
Ich bin soweit ganz zufrieden, allerdings ist die Masse so dermassen schnell hart geworden, dass sie noch im Topf hängengeblieben und getrocknet ist am Rand. Geschmack ist auch nicht so toll. >>lag vermutlich am Erdbeerpulver. Besser Lebensmittelaroma nehmen!
einfach das Xylit nicht hoher erwärmen als 80 Grad, so das es schmilzt, sonst braucht es ziemlich lange bis es fest wird.
Ich habe 100gr, genommen und dann 1 Tr, Lebensmittelfarbe, kann man auch weglassen und und dann ÄÖ Spermint oder Minze, o. in die etwas abkühlende Masse geben, was man halt mag ich habe 5 TR, davon genommen da ich es gerne scharf habe.
Dann auf Backpapier tropfen oder wer hat auch kleine Bonbonsförmchen. fest werden lassen.
''Alle getesteten Rezepte zum Zähne bleichen:''<br/><br/>
<$list filter="[tag[Zähne bleichen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zum Zähne bleichen:''<br/><br/>
<$list filter="[tag[Zähne bleichen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
''Zutaten''
* 1/2 TL [[Kokosöl]]
* 1/4 TL [[Kurkuma]]
"""
Kurkuma & Kokosöl mischen und mit einer Zahnbürste wie beim normalen Putzen auf die Zähne auftragen.
Danach sollte die Mischung für 3-5 Minuten auf die Zähne einwirken.
Dann wird gründlich mit Wasser ausgespült und zum Abschluss werden die Zähne mit der normalen Zahnpasta ein weiteres Mal geputzt.
Achtung, die Zahnbürste verfärbt sich dabei dauerhaft gelb...
__Tip:__ Wer es gerne intensiver möchte, kann zu dieser Mischung eine Prise schwarzen Pfeffer geben. Er erhöht die Wirkung von Kurkuma merkbar."""
{{/%Hintergrund für getestete Rezepte: <div style="background:#DFFE97;">
%/}}
''Alle getesteten Rezepte fürs Zahnfleisch:''<br/><br/>
<$list filter="[tag[Zahnfleisch]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte fürs Zahnfleisch:''<br/><br/>
<$list filter="[tag[Zahnfleisch]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#DFFE97;">
<div style=> </div>
<img width=320 src="https://share-your-photo.com/img/4277dadc5c.jpg" style=" float:left;padding: 0 1em 0 0;"/>
''Eigenschaft dieser Zahnpasta:'' Wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>, keimtötend, entzündungshemmend, <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>, karieshemmend, Mundgeruch-neutralisierend, reguliert den pH-Wert im Speichel.<br/>
<div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div> & Zahnstein werden gemindert.<br/>
Hat eine leichte Schleifwirkung und bildet einen leichten Schaum.<br/>
Sorgt für festes Zahnfleisch und hat eine leicht bleichende Wirkung auf die Zähne.<br/>
Ist gut geeignet für empfindliche Zähne & Zahnfleisch (da schmerzstillend & beruhigend).<br/><br/>
''Meine Erfahrung damit:'' Benutze ich seit mehreren Jahren>> bestens :-) Und in der Tat sind die braunen Flecken auf meinen Zähnen (durch Zigaretten & Kaffee) heller geworden!<br/>
Die Farbe... ähem... ja, sie ist etwas gewöhnungsbedürftig (braun) ;-)). Wenn Du eine reinweiße Zahnpasta haben möchtest, dann nimm abgekochtes Wasser (ohne Tee) und ersetze Zimt & Nelkenpulver durch Zimtöl & Nelkenöl. Damit gehen dann natürlich ein paar Wirkweisen flöten- siehe in diesem Tiddler ganz unten: "Zutatenliste mit Wirkweise in diesem Rezept".<br/>
Wer keinen Schaum in der Zahnpasta haben möchte, kann das Tensid SLMI einfach ersatzlos streichen!
''Anwendung:'' Wie jede andere Zahnpasta auch.
<div style="background:orange;"> ''Gesamtmenge des Rezeptes:''
<$edit-text tiddler=<<currentTiddler>> field="gesamtmenge" size=2/> ml (Mindestmenge 21ml).<br/>(50ml = 1 Tubedo. Ich putze damit ca. 50x die Zähne)</div> @@font-size:0.9em;Das Rezept ist skalierbar: Sobald Du die 50 änderst, werden alle Zutaten (auch in der Rezeptbeschreibung) neu berechnet! Du musst allerdings leider für jede Ziffer das Feld wieder anklicken.@@
<div style="float:right;margin-right:1em;background-color:#FFF05B">
''Zutatenlegende''<br/>
@@font-size:0.8em;(''!!'') = muss auf jeden Fall rein, Menge leicht variabel<br/>
(''!'') = sollte rein, Menge variabel<br/>
(''?'') = kann je nach Wunsch rein, Menge variabel<br/>
Standard-Messl.: Große Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (2,5ml)<br/>
Kleiner! Messl.: Kleine Löffelseite vom [[Doppel-Messlöffel|Messlöffel]] (1ml)@@
</div>
''Zutaten''<br/>
* <$calc>round({{!!gesamtmenge}} /50* 38.2,2)</$calc>g/ml abgekochtes abgekühltes Wasser (!!)
** oder abgekühlter Tee aus je <$calc>round({{!!gesamtmenge}} /50* 1,2)</$calc>-<$calc>round({{!!gesamtmenge}} /50* 3,2)</$calc> Teebeutel (<$calc>round({{!!gesamtmenge}} /50* 2,2)</$calc>-<$calc>round({{!!gesamtmenge}} /50* 8,2)</$calc>g) [[Salbeitee]] / [[Grüner Tee]] / [[Rooibushtee]] (!)
* <$calc>round({{!!gesamtmenge}} /50* 12,2)</$calc>g [[Xylit]] @@font-size:0.8em;( =ca. <$calc>round({{!!gesamtmenge}} /50* 6,2)</$calc> Messl.)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /50* 2.4,2)</$calc>g [[Kieselsäure]] @@font-size:0.8em;( =ca. <$calc>round({{!!gesamtmenge}} /50* 15,2)</$calc> Messl.)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /50* 5.4,2)</$calc>g [[Natron]] @@font-size:0.8em;( =ca. <$calc>round({{!!gesamtmenge}} /50* 3.11,2)</$calc> Messl.)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /50* 0.12,2)</$calc>g [[Zimt]] @@font-size:0.8em;( =ca. <$calc>round({{!!gesamtmenge}} /50* 0.2,2)</$calc> Messl.)@@ (!)
* <$calc>round({{!!gesamtmenge}} /50* 0.18,2)</$calc>g [[Kurkuma]] @@font-size:0.8em;( =ca. <$calc>round({{!!gesamtmenge}} /50* 0.9,2)</$calc> __kl.__ Messl.)@@ (!)
* <$calc>round({{!!gesamtmenge}} /50* 0.6,2)</$calc>g [[Xanthan]] @@font-size:0.8em;( =ca. <$calc>round({{!!gesamtmenge}} /50* 1.2,2)</$calc> Messl.)@@ (!!)
* <$calc>round({{!!gesamtmenge}} /50* 1.02,2)</$calc>g [[SLMI / SurfaLux palmölfrei (Tensid)]] (!)
* <$calc>round({{!!gesamtmenge}} /50* 6,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /50* 0.27,2)</$calc>g) [[Minzöl (Pfefferminze oder Krauseminze)]] (!) @@font-size:0.8em;color:red;Achtung: Tropft schnell!@@
* <$calc>round({{!!gesamtmenge}} /50* 7,2)</$calc> Tropfen ( =<$calc>round({{!!gesamtmenge}} /50* 0.31,2)</$calc>g) [[Zitronenöl]] (?)
<br/>
''Zubereitungszeit:'' Ca. 15 Minuten
# Hände & Arbeitsfläche sind gereinigt.
# Desinfiziere Deine Arbeitsgeräte & die Produktaufbewahrung (Tiegel, Tube, Fläschchen- je nach Endprodukt) <div class="tooltip">durch Abkochen
<span class="tooltiptext">Günstig & einfach aber etwas zeitaufwändig: Alle hitzefesten Gegenstände für ca. 10 Minuten in Wasser abkochen und trocknen lassen.</span>
</div> oder <div class="tooltip">mit Alkohol.
<span class="tooltiptext">Auch nicht teuer, einfach & schnell: Nicht hitzefeste Materialien reinigst du am besten mit 70%igem Isopropylalkohol (Fülle ca. 96%igen Alkohol zu etwas mehr als 70% in die Sprühflasche und fülle diese dann mit abgekochtem, kaltem Wasser auf. Das gibt zwar nicht genau 70%, ist aber für unsere Zwecke ausreichend.). Sprühe die zu reinigenden Utensilien großzügig damit ein und lass den Alkohol ca. 60 Sekunden trocknen.</span>
</div>
# ''Wasser kochen ODER Salbeitee und/oder Grüntee und/oder Rooibushtee'' mit wenig ''Wasser'' zubereiten und nach dem auf-Handwärme-Abkühlen davon <$calc>round({{!!gesamtmenge}} /50* 38.2,2)</$calc>g/ml verwenden.
# ''Xylit'', ''Kieselsäure'', ''Natron'', ''Zimt'' & ''Kurkuma'' unter Rühren im Tee/Wasser auflösen.
# Mit dem ''Xanthan'' zu einem festen Gel andicken- ich nehm dafür einen Milchschäumer (Batterien vollständig aufgeladen!). Xanthan schön langsam nach und nach zugeben und dabei permanent rühren. @@font-size:0.8em;(Ich habe Xanthan in einem kleinen Schälchen abgewogen und klopfe mit diesem gegen den Milchschäumer, mit dem ich die ganze Zeit rühre. Auf die Art rieselt immer nur wenig Xanthan ein und verteilt sich sofort. So bekommst Du das beste, nämlich einigermaßen klumpenfreie, Ergebnis.).@@
# ''SLMI (Tensid)'', ''Minzöl'' & ''Zitronenöl'' unterrühren - nicht mit dem Milchschäumer, sonst schäumt's schon bei der Herstellung!
# In eine wiederbefüllbare Tube füllen.<br/>__Bei Tubedo:__ Wenn Du beim Zudrehen des Nachfülldeckels den Tubenschlauch zusammendrückst und erst wieder locker lässt, wenn die Tube vollständig zugedreht ist (Tube ist dann etwas gequetscht), tritt kein Überdruck auf! Dann 1x den Spenderdeckel öffnen > Tube ist wieder normal. (Bei Überdruck quillt die Zahnpasta manchmal unkontrolliert raus.)
<br/>
''Zubehörliste:''
* [[Briefwaage]] (geht nicht ohne!)
* [[Messlöffel]] (ersatzweise Teelöffel)
* Behältnis zum Rühren, z.B. ein Glas
* Wasserkocher (Natürlich kann man das Wasser auch im Topf oder der Mikrowelle aufkochen.)
* [[Milchschäumer]] (Xanthan geht am besten mit dem Milchschäumer unterzurühren), oder ein anderes hochtouriges Rührgerät
* [[Tube (wiederbefüllbar)]] (Ich nehme Tubedos wie in diesem Link zu sehen, es geht aber natürlich auch jede andere wiederbefüllbare Tube)
"""
''Ab wann verwendbar''
Sofort verwendbar. Die endgültige Konsistenz ist allerdings erst nach 1 Tag vorhanden (Xanthan dickt etwas nach).
''Zutatenliste mit Wirkweise in diesem Rezept:''
Ich verwende für 1 Tubedo 1 Teebeutel Salbeitee & 8g grünen Tee. Mit Salbeitee habe ich mal extrem gute Erfahrungen bzgl. Mandelentzündungen gemacht- siehe [[Salbeitee]]. Bisher verwendete ich zusätzlich Rooibushtee aufgrund des natürlich enthaltenen Fluors (=Kariesschutz). Die Inhaberin eines Geschäfts für Rührzutaten empfahl mir das. Nun habe ich aber entdeckt, dass Grüner Tee auch natürlicherweise Fluor enthält. Und er hat im Vergleich zu Rooibushtee viele weitere Vorteile: Er verfärbt nicht die Zähne, hat viele weitere sehr positive Eigenschaften für die Zahnpflege und ist online wesentlich besser dokumentiert, was die Zahnpflege betrifft. Da in einer Studie auf 1 l Wasser 200g erfolgreich verwendet wurden, verwende ich hier die gleiche Konzentration.
[[Grüner Tee]] (0,37€)
Beugt Karies vor durch __natürlich__ enthaltenes Fluor & Polyphenole, wirkt außerdem <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & entzündungshemmend. Außerdem lindert er Zahnfleischbluten. Dabei gelten 200g getrocknete Grünteeblätter auf 1000ml Wasser bei 30 Minuten Ziehzeit (mit kochendem Wasser aufgegossen) als wirkungsvoll.
[[Rooibushtee]] (0,10€)
Beugt Karies vor durch __natürlich__ enthaltenes Fluor. Außerdem wirkt er <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div> & <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div>.
[[Salbeitee]] (0,07€)
Salbeitee wirkt entzündungshemmend, <div class="tooltip">adstringierend
<span class="tooltiptext">= zusammenziehend</span>
</div> & <div class="tooltip">antiseptisch
<span class="tooltiptext">=antibakteriell=antibiotisch= gegen Bakterien wirkend</span></div>.
[[Xylit]] (0,24€)
Xylit / Birkenzucker wirkt karieshemmend, <div class="tooltip">Plaque
<span class="tooltiptext">= Zahnbelag</span></div> & Zahnstein werden gemindert. Ausserdem wirkt es konservierend.
[[Kieselsäure]] (0,39€)
Kieselsäure sorgt für eine leichte Schleifwirkung und unterstützt die Stabilität des Gels.
[[Natron]] (0,02€)
''Achtung:'' Achtet darauf, möglichst fein pulverisiertes Natron zu kaufen (grobes hat eine Körnung ähnlich wie Salz & ist zu heftig für die Zähne)!
Natron reguliert den pH-Wert im Speichel. Das ist wichtig, um Krankheiten wie Karies und Parodontitis vorzubeugen. Außerdem wirkt es geruchsneutralisierend, antibakteriell & antifungal.
[[Zimt]] (0,01€)
Zimt wirkt antibakteriell, entzündungshemmend & schmerzstillend, was sich positiv auf empfindliche Zähne und Zahnfleisch auswirkt.
[[Kurkuma]] (0,02€)
<div class="tooltip">Antibakterielle
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, entzündungs- & schmerzlindernde Wirkung. Kurkuma verbessert die <div class="tooltip">Mundflora
<span class="tooltiptext">Gesamtheit der in der Mundhöhle lebenden Bakterien & Pilze</span></div> und fördert die Durchblutung des gesamten Zahnfleischs und hat eine leichte Bleichwirkung auf die Zähne.
[[Xanthan]] (0,06€)
Xanthan ist ein natürlicher Gelbildner.
[[SLMI / SurfaLux palmölfrei (Tensid)]] (0,03€)
SLMI ist ein sehr mildes Tensid- es sorgt für den Schaum und eben durch den Schaum dafür, dass alles "Ungewollte" besser abgetragen wird.
[[Minzöl (Pfefferminze oder Krauseminze)]] (0,18€)
Minzöl wirkt antibakteriell, beruhigend, entzündungswidrig, keimtötend & schmerzstillend.
[[Zitronenöl]] (0,21€)
Zitronenöl wirkt antibakteriell, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> & <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>.
Es sorgt für festes Zahnfleisch und hat eine leichte bleichende Wirkung auf die Zähne.
''Selbstkonservierend durch'' Xylit, Natron, Zimt, Nelkenpulver, Minz- & Zitronenöl.
Möchtest Du Dich nicht auf diese Selbstkonservierung verlassen, so kannst Du natürlich zusätzliche Konservierer einarbeiten ([[Konservierer-Übersicht|1. Konservierer-Übersicht]] oder [[Alkohol, hochprozentig]] lesen).
''Haltbarkeit'': Bei mir mehr als 1 Monat haltbar, bei Lagerung im normal temperierten Bad.
''Gesamtkosten der Zutaten:'' 1,70€ für 50ml Gesamtmenge (1 Tubedo) mit 1 Teebeutel Salbei, 8g grünem Tee, 6 Tropfen Minzöl, 7 Tropfen Zitronenöl. Stand November 2019
<div style="clear:both;line-height:0px;"></div>
"""Salbeiextrakt
0,3 gr Steviapulver
5 Tropfen Nelkenöl
8 Tropfen Myrrhe
13 Tropfen Grünteeextrakt
''Alle getesteten Rezepte zur Zahnpflege:''<br/><br/>
<$list filter="[tag[Karies]] [tag[Mundgeruch]] [tag[Plaque an den Zähnen]] [tag[Zähne bleichen]] [tag[Zahnfleisch]] [tag[Zahnstein]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte zur Zahnpflege:''<br/><br/>
<$list filter="[tag[Karies]] [tag[Mundgeruch]] [tag[Plaque an den Zähnen]] [tag[Zähne bleichen]] [tag[Zahnfleisch]] [tag[Zahnstein]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""Gesamtmenge: ca 30 g
3 TL Xylit
1 TL Haushaltsnatron
3 TL Rügener Heilkreide
0,3 g SLSA (Ich mag es gerne ein wenig schäumend. Es soll auch angeblich zu einer besseren Reinigungswirkung beitragen)
1/2 TL Rathanhiawurzel
1/2 TL Pfefferminzblätter oder Salbeiblätter
Zur Verstärkung des Geschmacks kann noch ein Tropfen ätherisches Öl wie. z.B. Pfefferminzöl dazu gegeben werden.
HERSTELLUNG
Alle Bestandteile in der elektrischen Kaffeemühle zu einem feinen Pulver vermahlen.
Fertig ist das beste Zahnputzpulver , welches sich vor allem auf Reisen als sehr praktisch erweist.
Seit einigen Jahren benutze ich meine eigene Zahncreme und kann auch dieses Pulver nach eigener Erfahrung und gutem Gewissen empfehlen.
Alternatives Rezept, Gesamtmenge: ca 30 g
3 TL Xylit
1 TL Haushaltsnatron
3 TL Rügener Heilkreide
0,3 g SLSA
bei dieser Mischung entfallen die Pflanzenteilchen und ersetze durch äth. Öle wie
1 Tr. Teebaumöl
2 Tr. Pfefferminzöl
alternativ : Pfefferminze-Ingwer.
Statt Heilkreide: feingemahlenes Calcium Carbonat geht auch.
Oder eben das sogenannte Calcium Carbonat Praec. Oder Tonerde. Oder Schlämmkreide.
Mittlerweile gefällt mir die Rügener Heilkreide, die ich aber auch noch mal mit den anderen Stoffen fein mahle.
Es geht natürlich auch ohne Tenside.
Das Pulver lässt sich mit 1-2 % Tensid und zusätzlichem Xanthan und Kieselsäure noch besser verteilen.
Ich mache die Zahnbürste nass und gebe das Pulver mit einem Holzspatel
auf die Bürste. Die Eintauchmethode mit der nassen Bürste gefällt mir ganz und gar nicht.
''Alle getesteten Rezepte bei Zahnschmerzen:''<br/><br/>
<$list filter="[tag[Zahnschmerzen]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte bei Zahnschmerzen:''<br/><br/>
<$list filter="[tag[Zahnschmerzen]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle getesteten Rezepte gegen Zahnstein:''<br/><br/>
<$list filter="[tag[Zahnstein]] +[tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Alle ungetesteten Rezepte gegen Zahnstein:''<br/><br/>
<$list filter="[tag[Zahnstein]] +[tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
Wenn Du einen Zeitstempel in Deinem Tiddler erzeugen & anzeigen möchtest, kannst Du das z.B. auf folgende Art tun:
```
<$button>
<$action-setfield $field="gekocht" $value=<<now YYYY.0MM.0DD,hh:mm:ss>> /> Gekocht am:</$button> <$view field='gekocht'/>
```
!!wird zu:
<$button>
<$action-setfield $field="gekocht" $value=<<now YYYY.0MM.0DD,hh:mm:ss>> /> Gekocht am:</$button> <$view field='gekocht'/>
<br/><br/>
Diese Vorgehensweise hat folgende Vorteile:
* Der Zeitstempel wird in ein Feld geschrieben & gespeichert. Der Zeitstempel bleibt sichtbar & wird auch nicht automatisch auf das aktuelle Datum aktualisiert, wenn Du das Wiki neu aufrufst.
* Das Feld für den Zeitstempel wird automatisch erzeugt, wenn Du den Zeitstempel das 1.x setzt.
* Wenn viele Tiddler einen solchen Zeitstempel haben, kann nach diesem Zeitstempel-Feld sortiert werden, wenn Du diese Tiddler auflisten lässt (auflisten mit dem "List-Widget", siehe Suchen & Filtern, und damit interaktive Tiddlerlisten erstellen)
* Und Du kannst erstmal ein anderes Datum in das Feld reinschreiben, bzw. das Datum auch später manuell ändern- auch das wird gespeichert & angezeigt.
* Du kannst das Format, wie der Zeitstempel gesetzt wird, nach Deinen Vorlieben anpassen. Z.B. die Stunden & Sekunden weglassen mit `YYYY.0MM.0DD`. Oder `DD-MM-YY` wird zu: 4-2-18
''Und wofür?''<br/>
Z.B. für ein digitales Kochbuch, in dem Du die Rezepte nach dem Datum sortiert haben möchtest, an dem Du die Rezepte das letzte Mal gekocht hast.
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
@@.lefttable
|<img width=370 src="https://share-your-photo.com/img/f64b6109e7.jpg"/>||
|<h6>Afifa Afrin, <br/>[[Cinnamomum zeylanicum (Cinnamon) tree in RDA, Bogra 01|https://commons.wikimedia.org/wiki/File:Cinnamomum_zeylanicum_(Cinnamon)_tree_in_RDA,_Bogra_01.jpg]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>(Simon A. Eugster, [[Cinnamomum verum spices|https://commons.wikimedia.org/wiki/File:Cinnamomum_verum_spices.jpg]],<br/>Ausschnitt von Surya, [[CC BY 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]])<br/>[[CC BY 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Gewürz
''Ursprung/Beschreibung:'' Bei dem aromatischen Gewürz handelt es sich um die getrocknete Rinde von Zimtbäumen. Er wird auch Ceylon-Zimt, Sri Lanka Zimt, Echter Zimt, Canehl oder Kaneel genannt und kommt ursprünglich von der Insel Sri Lanka (ehemals Ceylon) im indischen Ozean.
''INCI-Bezeichnung:'' Cinnamomun zeylanicum / Cinnamomum Cassia
''Inhaltsstoffe:'' Zimtaldehyd, Methylhydroxy-Chalcone-Polymer, Ascorbinsäure, Borneol, Kalziumoxalate, Kampfer, Eugenol, Gerbstoff, Cumarine, Limonen, Linalool, Salicylate, Schleim, Sesquiterpene, Zink
''Besonderheit / heilende Wirkung:'' Zimt fördert den Appetit und regt die Darmtätigkeit an. Als Gewürz kann er daher Speisen bekömmlicher machen und Verdauungsproblemen wie Blähungen und Völlegefühl vorbeugen. Außerdem wirkt er <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>, auswurffördernd, harntreibend, krampflösend, Menstruation abschwächend, schleimlösend, schmerzstillend, schweisstreibend, <div class="tooltip">tonisierend
<span class="tooltiptext">vitalisierend, stärkend, erfrischend, kräftigend</span></div> & wärmend.
''Lagerung:'' Er muss nicht gekühlt werden- auch sonst nichts zu beachten.
''Beachte:'' /
''Erhältlich bei:'' Ich kauf ihn im Biomarkt um die Ecke.
''Worauf beim Kauf achten:'' Man sollte nach Möglichkeit nur den Ceylon-Zimt verwenden, da er nur sehr wenig schädliches Cumarin enthält- ganz im Gegensatz zu Cassia-Zimt / China-Zimt / Padang-Zimt (wird aus einer anderen Baumart hergestellt).
Wenn keine Info dazu auf der Verpackung steht, kannst Du davon ausgehen, dass es sich nicht um Ceylon-Zimt handelt.
"""<br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Zimt]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Zimt]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
"""Ich bin schon lange auf der suche nach einer zinksalbe, die so weich oder besser noch weicher ist, wie die penaten pocreme. Sie soll sich gut verteilen lassen, nicht kleben, nicht so furchtbar weißeln und vorallem NICHT kratzen.
Da ich von meiner hautärztin für meine, immer mal wieder auftretene POD, eine zinksalbe mit olivenöl 50:50 verschrieben bekommen habe, die leider furchtbar kratzt, hab ich mich mit meiner alten apothekerin hingesetzt und etwas entwickelt, was man genauso gut auf einen wunden windelpopo wie auch ins gesicht bei POD, schmieren kann. Ihr braucht nicht viel und die ca. 8-9 euro für 100gr softisan 378 sind wirklich sehr gut angelegt. Das softisan bekommt ihr in der apotheke. Ihr könnt das softisan auch als konsistenzgeber benutzen wie shea.
So, unsere überlegungen waren also:
- wie pflege ich eine gereitzte haut reizarm
- was machen bei pod, wo es möglichst keine pflegestoffe sein sollten
- was machen, bei wunden kinderpopos
- wie stelle ich das selber möglichst einfach und effizient her.
Als erstes haben wir eine grundfettmasse hergestellt, die sehr weich und ganz leicht aufzutragen ist. Die fettmasse ist tiegelfest schmilzt aber ganz schnell auf der haut und schmerzt nich beim verteilen. Dann haben wir die masse geteilt.
- die eine mit zinkoxyd und 10% panthenol versetzt, für den windelpopo oder pickel
- den rest haben wir pur in einen tiegel gefüllt und ich benutze sie als festes gesichtsöl bei meiner momentanen pod.
Ganz ohne was auf der haut mag ich nicht rausgehen und so behandel ich mein gesicht stückerlweise mit der grundmischung oder die entzündeten stellen mit der zinkpaste mit olivenöl und zinkoxyd.
Ich habe schon oft zinkpasten hergestellt, war nie richtig zufrieden und bin jetzt begeistert. Kein kratzen, kein weißeln (naja fast keines) und die pod wurde in nur 3 tagen deutlich besser.
Hier nun das Grundrezept:
alle angaben in prozent
60 softisan
20 shea raff
10 borretschöl
10 amaranthöl
Notfallmischung bei POD nach einem ärztl. rezept:
20gr olivenöl
20gr zinkoxyd
Das heiße olivenöl in das abgewogene zinkoxyd geben und gut mörsern. Die noch geschmeidige masse in einen desinfizierten tiegel geben, beschriften und bei bedarf bis zu 6x tgl. auf die betroffenen hautpartien auftragen. Die restlichen stellen des gesichts mit der grundmischung pflegen.
Wund und Windelsalbe:
20gr grundmischung s.o.
20gr zinkoxyd
10gr panthenol
für diese variante, die eben auch bei pickeln und anderen wehwehchen sehr gut hilft:
die heiße fettmischung mit dem abgewogenen zinkoxyd in einen mörser geben und gut unterarbeiten. Wenn das ganze abgekühlt ist, gibt man das panthenol dazu, mörsert nochmal gut durch und fertisch. Alles in einen desinfizierten tiegel geben, beschriften und bei bedarf dünn auftragen.
Wenn ihr einen geduldigen mixer/ein rühwerk habt, könnt ihr es auch damit rühren. Man muß aber schon so 15-20 rühren, damit sich alles gut verteilt.
Die creme tut auch bei ganz fiesem windelausschlag nicht weh und hält so lange, wie die grundrohstoffe haltbar waren. BEi unterschiedlichen daten immer das kürzeste annehmen.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
War die Haut zu lange der Sonne ausgesetzt, sollte sie am besten sofort mit Zitronenwasser abgewaschen werden.
Alternativ beruhigt eine Zitronen-Quark-Maske sofort.
Ist die Haut stark verbrannt, sind die betroffenen Stellen großzügig mit Zitronensaft abzutupfen.
Auch bei Insektenstichen, einzelnen Pickeln, Lippenbläschen und Herpes ist dieses Vorgehen empfehlenswert.
Ist keine frische Zitrone zur Hand, ist [[Zitronenöl]] ebenfalls geeignet. Es sollte jedoch nur verdünnt und mit einem Wattebausch aufgetragen werden.
<div style="background:Lavender;">
<div style=> </div>
{{ÄtherischeÖleParfümöle}}
!!''Ätherisches Öl "Zitronenmelissenöl"''
Erhältlich bei: [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, bei http://www.biologisch-hannover.de/ in Hannover-Linden oder bei https://lindenbluete.de/ in Hannover-Linden.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Zitronenmelissenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Zitronenmelissenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:Lavender;">
{{ÄtherischeÖleParfümöle}}
@@.lefttable
|<img width=330 src="https://share-your-photo.com/img/f07de723ea.jpg"/>||
|<h6>Rosa-Maria Rinkl, [[Reife Zitronen-|https://commons.wikimedia.org/wiki/File:Reife_Zitronen-.JPG]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC BY-SA 4.0|https://creativecommons.org/licenses/by-sa/4.0/legalcode]]</h6>||
@@
!!''Ätherisches Öl "Zitronenöl"''
"""
''Ursprung/Beschreibung:''
Das Zitronenöl wird aus der Schale der gemeinen Zitrone gewonnen. Es hat einen intensiven Citrusduft und findet in den verschiedensten Bereichen Verwendung - vom Haushalt bis in die Medizin. Die Zitrone ist berühmt für ihren äußerst hohen Gehalt an Vitamin C und ist namensgebend für die große Gruppe der Citruspflanzen.
Herstellung von Zitronenöl: Zitronenöl wird durch Kaltpressung aus den Schalen von Zitronen gewonnen. Für die Herstellung von 1 l hochwertigen Zitronenöl benötigt man die Schalen von ca. 4000 Zitronen.
''INCI-Bezeichnung:'' Citrus limon peel oil
''Duftprofil:'' Aktiv, strahlend, frisch, spritzig, luftig, klar (Kopfnote).
''Inhaltsstoffe:'' In natürlichem Zitronenöl befinden sich eine Vielzahl aktiver Komponenten. Die wichtigsten sind: Limonen (59-73%), Gamma-Terpinen (6-12%), Beta-Pinen (7-16%), Alpha-Pinen (1,5-3%), Sabinen (1,5-3%). Vitamine C, B-Komplex und Vitamin K, Beta-Carotin, Folsäure, Kalium, Magnesium, Phosphor, Kalzium, Natrium, Eisen. Ferner: Nickel, Zink, Kupfer, Mangan, Selen.
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
Zitronenöl wirkt <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div>, <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span>
</div> und <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span>
</div>. Es regt den Kreislauf an und fördert die <div class="tooltip">Thermogenese
<span class="tooltiptext">die Hitzeproduktion des Körpers</span></div>.
Es sorgt für festes Zahnfleisch und hat eine leichte bleichende Wirkung auf unsere Zähne.
Zitronenöl regt die Lebertätigkeit und die Gallensaftproduktion an und ist harntreibend.
Es fördert die Durchblutung, stärkt & erweitert die Blutgefäße und entschlackt.
Und es stärkt Fingernägel und Haare.
''Psychische Wirkung:''
Z.B. als Raumduft: Steigert Konzentrationsfähigkeit, Denkvermögen und Wohlbefinden.
Kurbelt die Noradrenalin- und Dopaminproduktion an. Noradrenalinmangel führt zu Trägheit, Antriebs- und Abwehrschwäche. Dopamin erhellt die Stimmung.
Und zu guter Letzt schreckt es Mücken und andere insektizide Plagegeister ab.
''Nebenwirkungen & bei Anwendung beachten:'' Solltest Du das Öl auf Deiner Haut anwenden, so tue das bitte stets in verdünnter Form, da Zitronenöl reizend auf die Haut wirken kann. Gib dafür einfach 3-4 Tropfen des Zitronenöls zu 10ml eines hochwertigen Trägeröls wie zum Beispiel Oliven- oder Distelöl und trage dieses dann auf.
@@background-color:orange;''Achtung:''@@ Wirkt phototoxisch!: >>siehe [[!Phototoxizität mancher ätherischen Öle]]
''Erhältlich bei:'' Ich kaufs im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, bei http://www.biologisch-hannover.de/ in Hannover-Linden oder bei https://lindenbluete.de/ in Hannover-Linden.
Vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Drogerien.
''Worauf beim Kauf achten:'' Kein synthetisches Öl, sondern naturreines, ätherisches Zitronenöl aus Bio-Anbau.
''Zitronenöl selber Herstellen''
Zitronenöl lässt sich auf sehr einfache Art und Weise zuhause in Eigenregie herstellen. Gib dafür einfach Zitronenschalen mit einem hochwertigen Speiseöl in ein Einmachglas. Am besten eignet sich dafür Sesamöl, da es relativ geschmacksneutral ist. Stell das Einmachglas nun an einen warmen und dunklen Ort. Nach ca. 4 Wochen hat das Sesamöl alle Inhaltsstoffe der Zitronenschalen aufgenommen und duftet intensiv nach Zitrone. Du kannst nun die Zitronenschalen vom Öl trennen und das Öl in ein Behältnis Deiner Wahl umfüllen.
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Zitronenöl]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Zitronenöl]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
[[Zitronenöl]] löst in uns ein Gefühl der Frische und der Reinheit aus. Ihr Duft hilft, unsere Konzentrationsfähigkeit und unser Denkvermögen zu steigern und gibt uns ein allgemeines Gefühl des Wohlbefindens.
Es ist dazu in der Lage, unsere Noradrenalin- & Dopaminproduktion anzukurbeln. Noradrenalin ist ein sogenannter Neurotransmitter. Ein Mangel an Noradrenalin führt zu Trägheit, Antriebs- und Abwehrschwäche. Dopamin wird auch als ‘Glückshormon’ bezeichnet, welches unsere Stimmung erhellt und uns glücklich macht.
Wer einen Raum mit Zitrone beduftet, unterstützt die Gedächtnisleistung. Der Verstand arbeitet präziser, die Merkfähigkeit wird angeregt. Kurz gesagt – [[Zitronenöl]] aktiviert nicht nur unsere Lebensgeister, sondern auch das Gehirn. Der klare, reine Geruch beruhigt aufgeregte Gemüter, wenn sie sich in emotional belastenden Phasen befinden. Es ist ein Stimmungssaufheller, der dafür sorgt, dass Betroffene einer gedanklichen Tretmühle leichter entkommen können. In der Folge fällt es nicht mehr so schwer, einen klaren Blick zu haben und eine Situation realistisch einzuschätzen.
Neben der starken Zitronennote entwickelt das [[Zitronenöl]] auch ein fruchtiges Odeur. Es hat etwas sehr Liebliches, Edles und Feines an sich. In einer Duftlampe verbreitet es sich schnell und auch ein Duftstein ist geeignet, um die Geruchsnote über einen längeren Zeitraum in einem Zimmer zu halten. Da es eine klärende Wirkung auf den Geist hat, eignet es sich gut zur Beduftung von Büros.
Die positive Wirkung auf die Konzentrationsfähigkeit soll sich durch den Begleiter Ysop sogar noch verstärken. Nachprüfbare Unterlagen sind hierzu jedoch nicht auffindbar. Dennoch lohnt sich der Selbsttest, denn ausprobieren kann das jeder, der an einer langwierigen Schreibarbeit sitzt. Stellen sich Interessierte eine Duftlampe mit Zitrusöl auf, können sie am eigenen Leib erfahren, ob der Duft ihnen bei der Kopfarbeit tatsächlich hilft.
''Zitronenöl-Raumduft bei Erkältungssymptomen''
Ein weiterer positiver Effekt des duftenden Zitronenöls ist, dass es Entzündungen hemmt und Viren bekämpft. Wenn sich innerhalb einer Familie im Herbst oder Winter der Schnupfen ausbreitet, kann die Verwendung von [[Zitronenöl]] als Raumduft helfen. Es soll dafür sorgen, dass die Verbreitung der Viren zumindest ein Stück weit eingedämmt wird.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
[[Zitronenöl]] tötet sehr effizient Keime ab und ist damit ein ausgezeichnetes Mittel gegen Erkältungen & Grippe.
''Heiße Zitrone''
Aber nicht nur das Öl der Zitrone wirkt fantastisch bei Erkältungen, sondern auch ihr Saft ist hier sehr gut einsetzbar. Er kann nicht nur Erkältungen heilen, sondern diesen auch sehr gut vorbeugen. Dafür gibt es in der Volksmedizin ein allgemein bekanntes Getränk - die heiße Zitrone. Die darin enthaltene Zitronensäure regt den Kreislauf an und fördert die <div class="tooltip">Thermogenese
<span class="tooltiptext">die Hitzeproduktion des Körpers</span></div>.
Das Wasser darf nicht heißer als 50°C sein, wenn Betroffene Zitronenöl hinzufügen wollen.
Auf einen halben Liter warmes Wasser kommt 1 TL [[Zitronenöl]]. Da Vitamin C hitzeempfindlich ist und wasserlöslich, würde es verloren gehen, wenn es zu lange der Hitze ausgesetzt ist. Deshalb sollte das Zitronen-Erkältungs-Wasser schnell konsumiert werden.
''Inhalation mit [[Zitronenöl]]''
Zum Inhalieren wird das Wasser zum Kochen gebracht und mit frischen Kräutern wie zum Beispiel Eukalyptus, Rosmarin oder Latschenkiefer sowie einigen Tropfen hochwertigen Bio Zitronenöl aus Kalterpressung versehen.
Der Betroffene beugt den Kopf über die dampfende Schüssel und legt ein Handtuch über den Kopf.
''Mit [[Zitronenöl]] gegen Husten''
Jeder handelsübliche Hustensaft, der mit konzentriertem Zitronenöl versetzt wird, wird noch wertvoller.
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Auch irritierte Kopfhaut ist dankbar für eine Behandlung mit reinem Zitronenöl oder mit einer Zitronen-Haarkur. Die Kopfhaut beruhigt sich, Schuppen bilden sich zurück. Das Haar wird wieder glänzend und weich. Langfristig reguliert sich der Fetthaushalt."""
''Zutaten''
* 250ml Wasser
* 1 EL [[Zitronenöl]]
* 5 ungespritzte Zitronen
Wasser mit Zitronenöl aufkochen.
Dazu kommt der ausgepresste Zitronensaft.
Den Sud wird durch ein Sieb gießen und in eine Flasche füllen.
Diese Mischung wird täglich als letzter Spülgang über die Haare gegeben.
Alternativ lässt sich das Produkt auch einem handelsüblichen Shampoo beimischen und beim Haarewaschen anwenden.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
[[Zitronenöl]] fördert die Durchblutung und erweitert die Blutgefäße. Durch diese Eigenschaft können unschöne Hautprobleme, wie Krampfadern und Besenreiser wirksam bekämpft werden.
Es stärkt die Gefäße, wirkt <div class="tooltip">antiseptisch
<span class="tooltiptext">=antibakteriell=antibiotisch= gegen Bakterien wirkend</span></div> und entschlackt. ''Wer geplatzte Äderchen, Besenreiser oder Krampfadern hat'', sollte einige Tropfen hochwertiges, <div class="tooltip">kaltgepresstes
<span class="tooltiptext">Kalt gepresste Öle werden ohne Wärmezufuhr nur durch Druck oder Reibung in meist dezentralen Ölmühlen hergestellt. Auf die Pressung folgt meist eine Filtration. Durch die schonende Gewinnung bleiben Geschmackstoffe, Vitamine und die als gesund geltenden mehrfach ungesättigten Fettsäuren erhalten.</span></div> Zitronenöl einer handelsüblichen Gesichtscreme zufügen. Dabei sollte nur eine kleine Menge zubereitet und die betroffenen Hautpartien täglich mehrmals einmassiert werden. Auf 1 EL Creme entfallen dabei ungefähr 3-4 Tropfen [[Zitronenöl]].
Wer die Krampfadern mit Zitronenöl massiert, sollte dieses immer zum Herzen hin tun und auf keinen Fall zu hohen Druck ausüben.
''Zur Vorbeugung von Krampfadern und zur Kräftigung der Haut''
empfiehlt sich ein Vollbad mit einem Zusatz aus reinem Zitronensaft oder konzentriertem Zitronenöl. Dabei sollten fünf Zitronen auf ein Vollbad oder 1 EL [[Zitronenöl]] verwendet werden.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht! Den Gang zum Arzt kann dieses Rezept nicht ersetzen- sieh es eher als eine Idee zur weiteren Unterstützung an.@@
Hochkonzentriertes, <div class="tooltip">kaltgepresstes
<span class="tooltiptext">Kalt gepresste Öle werden ohne Wärmezufuhr nur durch Druck oder Reibung in meist dezentralen Ölmühlen hergestellt. Auf die Pressung folgt meist eine Filtration. Durch die schonende Gewinnung bleiben Geschmackstoffe, Vitamine und die als gesund geltenden mehrfach ungesättigten Fettsäuren erhalten.</span></div> [[Zitronenöl]] wird auf die betroffenen Partien aufgetragen. Das geschieht am besten verdünnt.
Dennoch wird das Zitronenöl dafür sorgen, dass die Hautpartie zunächst brennt. Das lässt aber nach einigen Anwendungen deutlich nach. Die offenen Stellen werden desinfiziert und heilen ab.
Auch ''bei Parodontose'' empfiehlt sich eine Mundspülung mit Zitronenwasser. Die Zitrone ist in der Lage, Krankheitserreger abzutöten.
Außerdem stärkt die Zitronensäure das Zahnfleisch. Ungefährlich hingegen ist es für den Zahnschmelz.
<div style="background:#FFE28C;">"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
[[Zitronenöl]] ist ein beliebtes und ungefährliches Mittel, um Mücken und andere insektizide Plagegeister abzuschrecken.
Eine Möglichkeit ist, die frische Frucht zu halbieren und mit getrockneten Gewürznelken zu spicken. Die Früchte auf den Fensterbänken verteilt halten viele Mücken mit einer Art Duftsperre ab und der Raum bleibt nahezu insektenfrei.
Eine Alternative ist das Verdampfen von [[Zitronenöl]] oder das Verwenden eines Duftsteins auf der Fensterbank.
<div style="background:#FFE28C;">
"""
@@background-color:orange;Ich kann weder bestätigen, noch dementieren, ob die beschriebenen Wirkungen so stimmen oder nicht, da ich dieses Rezept nicht getestet habe!! Genieße also bitte alle Angaben hierin mit Vorsicht!@@
Zitrone gilt als natürlicher Aufheller für blondes Haar."""
''Zutaten''
* 3 Tropfen [[Zitronenöl]]
* 1 EL [[Apfelessig]]
* 1 Liter Wasser
"""
Alles miteinander vermischen.
Nach dem ausgiebigen Haarewaschen wird die letzte Spülung mit dem Zitronenaufheller vorgenommen. Das Produkt verbleibt im Haar.
Die Sonne wird nun dafür sorgen, dass die Zitronensäure das Haar schonend aufhellt.
<div style="background:Lavender;">
@@.lefttable
|<img width=330 src="https://share-your-photo.com/img/4f62855f30.jpg"/>||
|<h6>Jeremy Keith from Brighton & Hove, United Kingdom<br/>[[Corn (4700735317)|https://commons.wikimedia.org/wiki/File:Corn_(4700735317).jpg]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya, [[CC BY 2.0|https://creativecommons.org/licenses/by/2.0/legalcode]]<br/>Rosa-Maria Rinkl, [[Reife Zitronen-|https://commons.wikimedia.org/wiki/File:Reife_Zitronen-.JPG]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya,<br/>[[CC BY-SA 4.0|https://creativecommons.org/licenses/by-sa/4.0/legalcode]]<br/>User:MarkusHagenlocher [[Zuckerrübe|https://commons.wikimedia.org/wiki/File:Zuckerrübe.jpg]],<br/>Ausschnitt, Farbwert & weitere Fotos eingefügt von Surya, [[CC BY 3.0|https://creativecommons.org/licenses/by-sa/3.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' Pulver, Wirkstoff, ''Löslichkeit:'' Wasserlöslich
''Ursprung/Beschreibung:'' Weißes, stark saures Pulver. Früher wurde Zitronensäure aus Zitronen hergestellt. Heutzutage ist es jedoch fast immer ein großindustriell hergestelltes Produkt. Hierbei verarbeitet ein Schimmelpilz zuckerhaltige Melasse oder Glukose im großen Stil. Diese kommt meist aus Zuckerrüben und Mais.
''INCI-Bezeichnung:'' Citric Acid (E 330)
''Duftprofil:'' Fast geruchsneutral.
''Besonderheit / Wirkung:'' Zitronensäure wirkt <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span>
</div>, <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span>
</div> und entkalkend."""
* ''+''Greift keine empfindliche Teile wie Gummidichtungen an
* ''+''Greift kein Chrom und Kupfer an
* ''+''Ihr Geruch ist besser als der von Essigsäure.
* ''--''Greift Marmor, Naturstein und andere kalkhaltige Materialien an- auf solchen Materialien also keine Zitronensäure verwenden!
* ''--''Kein Entkalken über 100°C (durch das Erhitzen über 100°C von Zitronensäure entsteht Calciumcitrat. Dies ist eine klebrige weiße Masse, die sich in dem zu entkalkenden Gerät absetzt).
"""
''Lagerung:'' Sie muss nicht gekühlt werden, solte aber trocken gelagert werden.
''Nebenwirkungen & bei Anwendung beachten:'' Wie der Name schon sagt, handelt es sich um eine Säure. Daher solltest du mit Zitronensäure vorsichtig umgehen und insbesondere Kontakt mit den Augen vermeiden. Wenn du empfindliche Haut hast, empfiehlt es sich die Verwendung von Gummihandschuhen. Auch solltest du den Verzehr nicht übertreiben, da die Säure in zu großen Mengen den Zahnschmelz angreift.
''Erhältlich bei:'' In Drogerien & größeren Supermärkten erhältlich. Aber auch im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover und vermutlich auch bei den Anbietern erhätlich, die ich unter [[Zubehör & Anbieter f. Zutaten / Zubehör]] aufzähle; jedoch nicht in Bioläden.
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' """
* Zitronensäure darf bei der Verarbeitung mit Natron nicht in Kontakt mit Wasser kommen- diese reagieren sonst sofort blubbernd miteinander.
* Nicht auf Marmor, Naturstein und anderen kalkhaltigen Materialien anwenden- Zitronensäure greift diese an!
* Wenn Zitronensäure in heißes Wasser gerührt wird, dann das Wasser immer auf unter 100° abkühlen lassen! Denn sonst entsteht Calciumcitrat- eine klebrige weiße Masse, die sich z.B. in einem zu entkalkenden Gerät absetzt.
<br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[Zitronensäure]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[Zitronensäure]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
Habe heute die Erfahrung gemacht das Zitronensäure Rost entfernt
<div style="background:Lavender;">
<div style=> </div>
!!Falls die Zutat zu einer Ober-Kategorie gehört (wie z.B. Kokosöl zu Fette), dann nicht mit "Zutaten" taggen!
<img width=250 src="URL" style=" float:left;padding: 0 1em 0 0;"/><br/>
"""
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Duftprofil:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Einsatzkonzentration:'' %
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' ~~Ich kaufs beim Biomarkt um die Ecke. Ansonsten Im [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]] in der Innenstadt von Hannover, https://www.meinekosmetik.de/. Sicher auch bei Amazon, Ebay & Co.~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>
<div style="background:White;">
!!Anbieter für benötigte Zutaten & Zubehör:
* [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]]<br/> in der Innenstadt von Hannover. Die Inhaberin hat mich schon mehrmals sehr gut beraten, wie ich meine schon vorhandenen Rezepte palmölfrei bekomme (also, mit was ich palmölhaltige Zutaten ersetzen kann)!<br/><br/>
* http://www.alexmo-cosmetics.de/<br/> Immer sehr hilfsbereite Beratung, haben eine sehr große Auswahl (auch einige Rohstoffe, die andere Shops nicht haben), leider relativ viel Plastikverwendung bei den Verpackungen und leider 5€ pauschale Versandgebühren<br/><br/>
* https://www.aliacura.de/ <br/>@@color:red;>>momentan "geschlossen", öffnet im Februar 2019 wieder!@@<br/><br/>
* http://www.behawe.com<br/><br/>
* https://www.dragonspice.de/<br/><br/>
* https://www.gruene-bude.de
** Ich kann mich nicht entsinnen, jemals so begeistert von einem Versandgeschäft gewesen zu sein!! Ein in jeder Hinsicht über alle Maßen empfehlenswertes (Online-) Geschäft!!! Unbedingt weiter empfehlen!<br/>* Extrem schnelle Antwort auf meine Frage<br/>* Extrem schneller Versand<br/>* Total sympathisch & kooperativ<br/>* Nur ökologische Produkte, in höchstem Maße Plastik- & Müllvermeidend, ökologisch in allen Aspekten 100%<br/>* Und einer der ganz wenigen, die palmölfreie Olivenöl-Kernseife verkaufen- noch dazu schon fertig geraspelt :-)<br/><br/>
* https://www.jean-puetz-produkte.de/<br/><br/>
* https://www.manske-shop.com/<br/><br/>
* https://www.meinekosmetik.de/<br/><br/>
* [[https://www.skincareonline.de/|https://www.skincareonline.de/kosmetik-selbstmachen/?p=1]]<br/><br/>
* https://spinnrad.de/<br/><br/>
* https://webshop.kosmetische-rohstoffe.de/<br/><br/>
* Amazon<br/><br/>
* Ebay<br/><br/>
* Bioläden teilweise<br/><br/>
* Drogerien teilweise
Übrigens bekomme ich keinerlei Provision oder sonstige Vorteile von den auf dieser Webseite gelisteten Anbietern / Webseiten. Auch verdiene ich rein gar nichts an dieser Webseite.<br/>
Das Thema ist schlicht und einfach meine Herzensangelegenheit, welches ich weiter verbreiten möchte.
<br/><br/><br/>
!!Für die getesteten Rezepte brauchst Du außer haushaltsüblichen Gegenständen noch folgendes Zubehör:
@@font-size:0.9;Einiges kann man aber auch durch haushaltsübliches ersetzen.<br/>
Und einiges kann man auch ersatzlos streichen. Das hab ich jeweils dazu geschrieben.<br/>
Das einzige Zubehör, welches Du __auf jeden Fall__ für 99% aller Rezepte brauchst, ist die Briefwaage.@@
* [[Briefwaage]] (geht nicht ohne!)
* Behältnis zum Rühren, z.B. ein Glas
* [[Doppelspatel]] (ersatzweise irgendetwas sehr schmales- max. 1cm breit zum Einfüllen)
* [[Etikettendrucker]] Brauchst Du nur, wenn Du schöne, klebstarke & wasserfeste Klebe-Etiketten drucken willst
* [[Feuerfestes Rührglas]] (ersatzweise anderes feuerfestes Behältnis, z.B. Marmeladenglas)
* Form zum Aushärten<br/>(super sind dafür Silikonformen, da gibt es auch sehr hübsche- z.B. in Blumenform, es gehen aber auch Papier-Muffinformen)
* [[Messlöffel]] (ersatzweise Teelöffel)
* [[Milchschäumer]] (Xanthan geht am besten mit dem Milchschäumer unterzurühren), oder ein anderes hochtouriges Rührgerät
* [[Tube (wiederbefüllbar)]] (es geht natürlich auch jede andere wiederbefüllbare Tube)
* Wiederbefüllbare Behältnisse zum Einfüllen
* [[Wiederbefüllbare Deostick-Hülse]] nur für Deosticks benötigt
* [[Wiederbefüllbare Lippenpflegestift-Hülse]] nur für Lippenpflegestifte benötigt
<$list filter="[is[system]!sort[modified]limit[100]]">
<$link to={{!!title}}><$view field="title"/> ||| <$view field="modified" format="date" template="DD.MM.YY"/></$link>
</$list>
''Folgende Zutaten wirken <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div> auf die Haut:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege / Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Adstringierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Adstringierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Akne:''
<$list filter="[tag[Zutat:Akne]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Akne]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Bei Allergien können folgende Zutaten hilfreich sein:''
<$list filter="[tag[Zutat:Antiallergisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Antiallergisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div>:''
<$list filter="[tag[Zutat:Antibakteriell]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Antibakteriell]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span></div>:''
<$list filter="[tag[Zutat:Antifungal]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Antifungal]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span></div>:''
<$list filter="[tag[Zutat:Antiviral]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Antiviral]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Appetitlosigkeit:''
<$list filter="[tag[Zutat:Appetitlosigkeit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Appetitlosigkeit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Arthrose / Arthritis / Rheuma / Gicht:''
<$list filter="[tag[Zutat:Arthrose/Arthritis/Rheuma/Gicht]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Arthrose/Arthritis/Rheuma/Gicht]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten helfen gegen Atemwegsbeschwerden:''
<$list filter="[tag[Zutat:Atemwegsbeschwerden]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Atemwegsbeschwerden]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Bauchweh:''
<$list filter="[tag[Zutat:Bauchweh]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Bauchweh]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben eine belebende Wirkung- auch auf die Seele:''
<$list filter="[tag[Zutat:Belebend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Belebend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben eine beruhigende Wirkung auf die Seele:''
<$list filter="[tag[Zutat:Beruhigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Beruhigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Blähungen:''
<$list filter="[tag[Zutat:Blähungen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Blähungen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Bluthochdruck:''
<$list filter="[tag[Zutat:Bluthochdruck]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Bluthochdruck]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken Blutverdünnend:''
<$list filter="[tag[Zutat:Blutverdünnend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Blutverdünnend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Cellulite:''
<$list filter="[tag[Zutat:Cellulite]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Cellulite]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span></div>:''
<$list filter="[tag[Zutat:Desinfektion]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Desinfektion]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken durchblutungsfördernd- auch auf die Haut:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege / Zahnpflege / sonstige Einsatzgebiete / Unwohligkeiten empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Durchblutungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Durchblutungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Durchfall:''
<$list filter="[tag[Zutat:Durchfall]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Durchfall]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Ekzemen:''
<$list filter="[tag[Zutat:Ekzem]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Ekzem]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Emulgatoren:''
<$list filter="[tag[Zutat:Emulgator]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Emulgator]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken entzündungshemmend- auch auf die Haut:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege / Zahnpflege / Rachen/Erkältungs- & Grippesymptome empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken feuchtigkeitsspendend in der Haut - & Haarpflege:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, wie genau der Rohstoff feuchtigkeitsspendend wirkt- und ob auch wirklich //auch// für die Haare! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Feuchtigkeitsspendend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Feuchtigkeitsspendend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Fieber:''
<$list filter="[tag[Zutat:Fieber]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Fieber]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten fördern die gute Laune:''
<$list filter="[tag[Zutat:GuteLaune]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:GuteLaune]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben eine aufhellende Wirkung auf die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Aufhellen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Aufhellen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten machen die Haare glänzend:''
<$list filter="[tag[Zutat:Haarwirkung_Glanz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Glanz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten machen die Haare leichter kämmbar:''
<$list filter="[tag[Zutat:Haarwirkung_Kämmbar]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Kämmbar]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben eine <div class="tooltip">konditionierende
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> Wirkung auf die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Konditionierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Konditionierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben eine kräftigende Wirkung auf die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Kräftigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Kräftigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten regulieren den pH-Wert der Kopfhaut:''
<$list filter="[tag[Zutat:Haarwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten bilden einen Schutzfilm um die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Schutzfilm]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Schutzfilm]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten geben den Haaren mehr Volumen:''
<$list filter="[tag[Zutat:Haarwirkung_Volumen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarwirkung_Volumen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind besonders geeignet für die Pflege von feinem / dünnem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Dünn/Fein]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarzustand_Dünn/Fein]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind besonders geeignet für die Pflege von fettigem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Fettig]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarzustand_Fettig]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken antistatisch (gegen fliegendes Haar):''
<$list filter="[tag[Zutat:Haarzustand_Fliegend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarzustand_Fliegend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind besonders geeignet für die Pflege von geschädigtem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Geschädigt]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarzustand_Geschädigt]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken gegen Schuppen im Haar:''
<$list filter="[tag[Zutat:Haarzustand_Schuppen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarzustand_Schuppen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind besonders geeignet für die Pflege von trockenem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Trocken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haarzustand_Trocken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten helfen gegen Halsschmerzen:''
<$list filter="[tag[Zutat:Halsschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Halsschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten können zur Haushaltsreinigung verwendet werden:''
<$list filter="[tag[Zutat:Haushaltsreinigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haushaltsreinigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Anti-Age - Zutaten:''
<$list filter="[tag[Zutat:Haut_Anti-Age]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Haut_Anti-Age]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Hautausschlag:''
<$list filter="[tag[Zutat:Hautausschlag]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautausschlag]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Hautpilz:''
<$list filter="[tag[Zutat:Hautpilz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautpilz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Hautproblemen (sonstiger Art):''
<$list filter="[tag[Zutat:Hautprobleme, sonstige]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautprobleme, sonstige]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken beruhigend auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Beruhigend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_Beruhigend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sorgen für eine elastische Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Elastisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_Elastisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben einen glättenden Effekt auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Glättend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_Glättend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten ziehen gut / schnell in Haut ein:''
<$list filter="[tag[Zutat:Hautwirkung_GutEinziehend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_GutEinziehend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten regulieren den pH-Wert für eine basische Hautpflege:''
<$list filter="[tag[Zutat:Hautwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten haben eine straffende Wirkung auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Straffend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_Straffend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten geben der Haut mehr Widerstandskraft:''
<$list filter="[tag[Zutat:Hautwirkung_Widerstandskraft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautwirkung_Widerstandskraft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">hautzellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>:''
<$list filter="[tag[Zutat:Hautzellregenerierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzellregenerierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/><br/>
''Folgende Zutaten sind gut für empfindliche Haut:''
<$list filter="[tag[Zutat:Hautzustand_Empfindlich]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Empfindlich]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich gegen Falten:''
<$list filter="[tag[Zutat:Hautzustand_Falten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Falten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei fettiger Haut:''
<$list filter="[tag[Zutat:Hautzustand_Fettig]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Fettig]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei gereizter Haut:''
<$list filter="[tag[Zutat:Hautzustand_Gereizt]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Gereizt]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei Mischhaut:''
<$list filter="[tag[Zutat:Hautzustand_Mischhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Mischhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei "normaler" Haut:''
<$list filter="[tag[Zutat:Hautzustand_Normal]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Normal]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei reifer Haut:''
<$list filter="[tag[Zutat:Hautzustand_Reif]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Reif]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei trockener Haut:''
<$list filter="[tag[Zutat:Hautzustand_Trocken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Trocken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei unreiner Haut:''
<$list filter="[tag[Zutat:Hautzustand_Unrein]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hautzustand_Unrein]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten helfen gegen Herpes:''
<$list filter="[tag[Zutat:Herpes]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Herpes]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Hochspreitenden Fette:''<br/>
Hochspreitend heißt, das Öl verteilt sich sehr gut und dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.
<$list filter="[tag[Zutat:Hochspreitend]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut gegen Hornhaut:''
<$list filter="[tag[Zutat:Hornhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Hornhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten können zur Immunsystemstärkung hilfreich sein:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Allergien / für die Hautpflege / bei Problemen mit Verdauung/Magen/Darm/Essen / bei Rachen/ Erkältungs- & Grippesymptome und für Sonstige Einsatzgebiete/Unwohligkeiten empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei der Insektenabwehr:''
<$list filter="[tag[Zutat:Insektenabwehr]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Insektenabwehr]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Insektenstichen:''
<$list filter="[tag[Zutat:Insektenstich]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Insektenstich]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich gegen Karies:''
<$list filter="[tag[Zutat:Karies]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Karies]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten können für Kinder oder während / nach der Schwangerschaft / bei Schwangerschaftsproblemen verwendet werden:''
<$list filter="[tag[Zutat:Kinder / Schwangerschaft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Kinder / Schwangerschaft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten fördern die Konzentration:''
<$list filter="[tag[Zutat:Konzentration]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Konzentration]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken gegen Kopfhautjucken:''
<$list filter="[tag[Zutat:Kopfhautjucken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Kopfhautjucken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Kopfschmerzen:''
<$list filter="[tag[Zutat:Kopfschmerz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Kopfschmerz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich gegen Körpergerüche:''
<$list filter="[tag[Zutat:Körpergeruch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Körpergeruch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Krampfadern / Besenreisern:''
<$list filter="[tag[Zutat:Krampfadern/Besenreiser]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Krampfadern/Besenreiser]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken krampflösend:''
<$list filter="[tag[Zutat:Krampflösend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Krampflösend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut für den Kreislauf:''
<$list filter="[tag[Zutat:Kreislauf]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Kreislauf]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken kühlend- auch auf die Haut:''
<$list filter="[tag[Zutat:Kühlend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Kühlend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten lassen sich gut für Massagen verwenden:''
<$list filter="[tag[Zutat:Massage]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Massage]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Mittelspreitenden Fette:''<br/>
__Niedrigspreitend__ heißt, das Öl verteilt sich langsam und dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Dies prädestiniert es für den Einsatz am Auge, denn es kriecht nicht in die empfindlichen Schleimhäute. Es ist haptisch jedoch ausgeprägt fettend.<br/>
__Hochspreitend__ heißt, das Öl verteilt sich sehr gut und dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.
Mittelspreitendes Öl tut dies alles in Mittelwerten.
<$list filter="[tag[Zutat:Mittelspreitend]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Müdigkeit / Schlappheit:''
<$list filter="[tag[Zutat:Müdigkeit/Schlappheit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Müdigkeit/Schlappheit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Muskelschmerzen:''
<$list filter="[tag[Zutat:Muskelschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Muskelschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich in der Narben-Abschwächung:''
<$list filter="[tag[Zutat:Narben]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Narben]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Neurodermitis:''
<$list filter="[tag[Zutat:Neurodermitis]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Neurodermitis]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Niedrigspreitenden Fette:''<br/>
Niedrigspreitend heißt, das Öl verteilt sich langsam und dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Dies prädestiniert es für den Einsatz am Auge, denn es kriecht nicht in die empfindlichen Schleimhäute. Es ist haptisch jedoch ausgeprägt fettend.
<$list filter="[tag[Zutat:Niedrigspreitend]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten helfen gegen Ohrenschmerzen:''
<$list filter="[tag[Zutat:Ohrenschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Ohrenschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Fette der Obergruppe "Stabilisierende Basisöle" (20–50% des Endprodukts) (Zutat:Ölgruppe_B-0):''<br/>
''Nicht reaktiv (also <div class="tooltip">oxidationsstabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/><br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>), <div class="tooltip">reizfrei
<span class="tooltiptext">nicht hautreizend</span></div>, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate.''
''Alle Fette der Untergruppe Ölgruppe_PF-1:''<br/>
Rückfettend, schützend, <div class="tooltip">viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>serhöhend. Hautpflegemittel. Der hohe Gehalt an gesättigten langkettigen Fettsäuren und ihre bei Zimmertemperatur feste Konsistenz kennzeichnen die pflanzlichen Buttern (Sheabutter, Mangobutter, Kakaobutter sind die bekanntesten). Sie weisen in der Regel höhere Anteile an <div class="tooltip">unverseifbaren
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div> Bestandteilen auf, wirken haptisch stark rückfettend, schützend und ziehen nur langsam, allerdings tief in die Haut ein. In <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> geben sie leichte Konsistenz und eine ausgeprägte sensorische »Reichhaltigkeit«.
<$list filter="[tag[Zutat:Ölgruppe_PF-1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_PF-2:''<br/>
Kühlend, glättend, schnell einziehend, gut geeignet für <div class="tooltip">sonnenexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate (sehr gut für Sonnenkosmetik geeignet). Diese Fette sind durch hohe Gehalte an gesättigten kurz- bis mittelkettigen Fettsäuren geprägt. Sie spreiten ausgezeichnet, bewirken eine leichte, nicht fettende Haptik der <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> und gleichen in dieser Hinsicht stärker rückfettende <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>komponenten aus. Gruppe PF-2 ist die MCT-Gruppe (MCT meint »Medium Chain Triglyceride« also »mittelkettige <div class="tooltip">Triglyceride
<span class="tooltiptext">Ester des Glycerins mit 3 Fettsäuremolekülen; natürliche Fette bestehen primär aus Triglyceriden</span></div>«). Sie dringen schnell, aber nur oberflächlich in die <div class="tooltip">Hornschicht
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div> ein.
<$list filter="[tag[Zutat:Ölgruppe_PF-2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/><br/><br/><br/><br/>
''Obergruppe "Pflegende Basisöle" (50–70% des Endprodukts) (Zutat:Ölgruppe_B1-B3)''
''Alle Fette der Untergruppe Ölgruppe_B1:''<br/>
Gute Massageöle, schützend, pflegend, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate. Es sind ölsäuredominierte Öle, <div class="tooltip">oxidativ recht stabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>, schützend, leicht bis stärker rückfettend.
<$list filter="[tag[Zutat:Ölgruppe_B1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/>
''Obergruppe "Pflegende Basisöle" (50–70% des Endprodukts) (Zutat:Ölgruppe_B1-B3)''
''Alle Fette der Untergruppe Ölgruppe_B1:''<br/>
Gute Massageöle, schützend, pflegend, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate. Es sind ölsäuredominierte Öle, <div class="tooltip">oxidativ recht stabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>, schützend, leicht bis stärker rückfettend.
<$list filter="[tag[Zutat:Ölgruppe_B1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_B2:''<br/>
Ausgesprochen pflegend, barriereschützend, ausgewogene Basisöle. Es sind Öle mit sehr ausgeglichenem Fettsäuremuster hinsichtlich einfach und zweifach gesättigten Fettsäuren, die gut solo verwendet werden können.
<$list filter="[tag[Zutat:Ölgruppe_B2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_B3:''<br/>
Barrierefördernd und -regenerierend, <div class="tooltip">fluidisierend
<span class="tooltiptext">Doppelmembrane von Zellwänden (oder die der Hautbarriereschicht) durch den Einbau ungesättigter Fettsäuren in ihrer Struktur auflockern, beweglicher und durchlässiger für Substanzen machen</span></div>, nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Präparaten verwenden, in Tagespräparaten mit Ölen der Gruppen B-0 und B-1 bzw. B-2 mischen. Es sind linolsäuredominierte Öle, die haptisch leichter einziehen, wenig rückfettend wirken und ausgesprochen pflegende, regenerierende Eigenschaften haben.
<$list filter="[tag[Zutat:Ölgruppe_B3]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Obergruppe "Pflegende Basisöle" (50–70% des Endprodukts) (Zutat:Ölgruppe_B1-B3)''
''Alle Fette der Untergruppe Ölgruppe_B2:''<br/>
Ausgesprochen pflegend, barriereschützend, ausgewogene Basisöle. Es sind Öle mit sehr ausgeglichenem Fettsäuremuster hinsichtlich einfach und zweifach gesättigten Fettsäuren, die gut solo verwendet werden können.
<$list filter="[tag[Zutat:Ölgruppe_B2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Obergruppe "Pflegende Basisöle" (50–70% des Endprodukts) (Zutat:Ölgruppe_B1-B3)''
''Alle Fette der Untergruppe Ölgruppe_B3:''<br/>
Barrierefördernd und -regenerierend, <div class="tooltip">fluidisierend
<span class="tooltiptext">Doppelmembrane von Zellwänden (oder die der Hautbarriereschicht) durch den Einbau ungesättigter Fettsäuren in ihrer Struktur auflockern, beweglicher und durchlässiger für Substanzen machen</span></div>, nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Präparaten verwenden, in Tagespräparaten mit Ölen der Gruppen B-0 und B-1 bzw. B-2 mischen. Es sind linolsäuredominierte Öle, die haptisch leichter einziehen, wenig rückfettend wirken und ausgesprochen pflegende, regenerierende Eigenschaften haben.
<$list filter="[tag[Zutat:Ölgruppe_B3]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Fette der Obergruppe "Stabilisierende Basisöle" (20–50% des Endprodukts) (Zutat:Ölgruppe_B-0):''<br/>
''Nicht reaktiv (also <div class="tooltip">oxidationsstabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/><br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>), <div class="tooltip">reizfrei
<span class="tooltiptext">nicht hautreizend</span></div>, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate.''
''Alle Fette der Untergruppe Ölgruppe_PF-1:''<br/>
Rückfettend, schützend, <div class="tooltip">viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>serhöhend. Hautpflegemittel. Der hohe Gehalt an gesättigten langkettigen Fettsäuren und ihre bei Zimmertemperatur feste Konsistenz kennzeichnen die pflanzlichen Buttern (Sheabutter, Mangobutter, Cupuaçubutter sind die bekanntesten). Sie weisen in der Regel höhere Anteile an <div class="tooltip">unverseifbaren
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div> Bestandteilen auf, wirken haptisch stark rückfettend, schützend und ziehen nur langsam, allerdings tief in die Haut ein. In <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> geben sie leichte Konsistenz und eine ausgeprägte sensorische »Reichhaltigkeit«.
<$list filter="[tag[Zutat:Ölgruppe_PF-1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/>
''Alle Fette der Obergruppe "Stabilisierende Basisöle" (20–50% des Endprodukts) (Zutat:Ölgruppe_B-0):''<br/>
''Nicht reaktiv (also <div class="tooltip">oxidationsstabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/><br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>), <div class="tooltip">reizfrei
<span class="tooltiptext">nicht hautreizend</span></div>, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate.''
''Alle Fette der Untergruppe Ölgruppe_PF-2:''<br/>
Kühlend, glättend, schnell einziehend, gut geeignet für <div class="tooltip">sonnenexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate (sehr gut für Sonnenkosmetik geeignet). Diese Fette sind durch hohe Gehalte an gesättigten kurz- bis mittelkettigen Fettsäuren geprägt. Sie spreiten ausgezeichnet, bewirken eine leichte, nicht fettende Haptik der <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> und gleichen in dieser Hinsicht stärker rückfettende <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>komponenten aus. Gruppe PF-2 ist die MCT-Gruppe (MCT meint »Medium Chain Triglyceride« also »mittelkettige <div class="tooltip">Triglyceride
<span class="tooltiptext">Ester des Glycerins mit 3 Fettsäuremolekülen; natürliche Fette bestehen primär aus Triglyceriden</span></div>«). Sie dringen schnell, aber nur oberflächlich in die <div class="tooltip">Hornschicht
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div> ein.
<$list filter="[tag[Zutat:Ölgruppe_PF-2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/><br/><br/><br/><br/>
''Obergruppe "Wirkstofföle" (5–10% des Endprodukts) (Zutat:Ölgruppe_W1-W3)''<br/>
Wirkstofföle zeichnen sich durch hohe Anteile an mehrfach ungesättigten, teilweise seltenen Fettsäuren aus, die <div class="tooltip">oxidativ sehr instabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt recht schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> sind, kosmetisch jedoch intensiv regenerierende und aktivierende Eigenschaften aufweisen. Je nach dominierender mehrfach ungesättigter Fettsäure sind sie in die Gruppen W-1, W-2 und W-3 unterteilt. Sie werden grundsätzlich niedrig, ca. 5–10 % der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> dosiert.
''Alle Fette der Untergruppe Ölgruppe_W1:''<br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div> (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/>
''Obergruppe "Wirkstofföle" (5–10% des Endprodukts) (Zutat:Ölgruppe_W1-W3)''<br/>
Wirkstofföle zeichnen sich durch hohe Anteile an mehrfach ungesättigten, teilweise seltenen Fettsäuren aus, die <div class="tooltip">oxidativ sehr instabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt recht schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> sind, kosmetisch jedoch intensiv regenerierende und aktivierende Eigenschaften aufweisen. Je nach dominierender mehrfach ungesättigter Fettsäure sind sie in die Gruppen W-1, W-2 und W-3 unterteilt. Sie werden grundsätzlich niedrig, ca. 5–10 % der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> dosiert.
''Alle Fette der Untergruppe Ölgruppe_W1:''<br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div> (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_W2:''<br/>
Entzündungshemmend, barriere-restrukturierend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_W3:''<br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div>, wundheilend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W3]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/><br/><br/><br/><br/>
''Obergruppe "Wirkstofföle" (5–10% des Endprodukts) (Zutat:Ölgruppe_W1-W3)''<br/>
Wirkstofföle zeichnen sich durch hohe Anteile an mehrfach ungesättigten, teilweise seltenen Fettsäuren aus, die <div class="tooltip">oxidativ sehr instabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt recht schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> sind, kosmetisch jedoch intensiv regenerierende und aktivierende Eigenschaften aufweisen. Je nach dominierender mehrfach ungesättigter Fettsäure sind sie in die Gruppen W-1, W-2 und W-3 unterteilt. Sie werden grundsätzlich niedrig, ca. 5–10 % der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> dosiert.
''Alle Fette der Untergruppe Ölgruppe_W2:''<br/>
Entzündungshemmend, barriere-restrukturierend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/>
''Obergruppe "Wirkstofföle" (5–10% des Endprodukts) (Zutat:Ölgruppe_W1-W3)''<br/>
Wirkstofföle zeichnen sich durch hohe Anteile an mehrfach ungesättigten, teilweise seltenen Fettsäuren aus, die <div class="tooltip">oxidativ sehr instabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt recht schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> sind, kosmetisch jedoch intensiv regenerierende und aktivierende Eigenschaften aufweisen. Je nach dominierender mehrfach ungesättigter Fettsäure sind sie in die Gruppen W-1, W-2 und W-3 unterteilt. Sie werden grundsätzlich niedrig, ca. 5–10 % der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> dosiert.
''Alle Fette der Untergruppe Ölgruppe_W3:''<br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div>, wundheilend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W3]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/><br/><br/><br/><br/>
''Folgende Zutaten sind hilfreich gegen Pickel:''
<$list filter="[tag[Zutat:Pickel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Pickel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Verdickende / Gelbildende Zutaten:''
<$list filter="[tag[Zutat:Produkt-Verdickung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Produkt-Verdickung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut bei der Rasur:''
<$list filter="[tag[Zutat:Rasur]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Rasur]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut, um die Raumluft zu beeinflussen:''
<$list filter="[tag[Zutat:Raumluft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Raumluft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken rückfettend auf die Haut:''
<$list filter="[tag[Zutat:Rückfettend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Rückfettend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken schmerzlindernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege / Zahnpflege / bei Problemen mit Verdauung/Magen/Darm/Essen / bei Rachen/ Erkältungs- & Grippesymptome und für Sonstige Einsatzgebiete/Unwohligkeiten empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Schuppenflechte:''
<$list filter="[tag[Zutat:Schuppenflechte]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Schuppenflechte]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken schweißtreibend:''
<$list filter="[tag[Zutat:Schweißtreibend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Schweißtreibend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Sonnenbrand:''
<$list filter="[tag[Zutat:Sonnenbrand]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Sonnenbrand]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut für den Sonnenschutz:''
<$list filter="[tag[Zutat:Sonnenschutz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Sonnenschutz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei spröden Fingernägeln:''
<$list filter="[tag[Zutat:Spröde Fingernägel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Spröde Fingernägel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten fördern die Stressresistenz:''
<$list filter="[tag[Zutat:Stressresistenz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Stressresistenz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Übelkeit:''
<$list filter="[tag[Zutat:Übelkeit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Übelkeit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich gegen übermäßiges Schwitzen:''
<$list filter="[tag[Zutat:ÜbermäßigesSchwitzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:ÜbermäßigesSchwitzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Verbrennungen:''
<$list filter="[tag[Zutat:Verbrennung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Verbrennung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken verdauungsfördernd:''
<$list filter="[tag[Zutat:Verdauungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Verdauungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Völlegefühl:''
<$list filter="[tag[Zutat:Völlegefühl]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Völlegefühl]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich gegen Warzen:''
<$list filter="[tag[Zutat:Warzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Warzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind gut für die Wundheilung:''
<$list filter="[tag[Zutat:Wundheilung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Wundheilung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Zutaten für die Zahnpflege (z.B. Karies-Vorbeugung, für festes Zahnfleisch, etc.) :''
<$list filter="[tag[Zutat:Zahnpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Zahnpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
!!Anbieter für benötigte Zutaten & Zubehör:
* [[Kosmetikbazar Hannover|http://www.kosmetikbazar.de/]]<br/> in der Innenstadt von Hannover. Die Inhaberin hat mich schon mehrmals sehr gut beraten, wie ich meine schon vorhandenen Rezepte palmölfrei bekomme (also, mit was ich palmölhaltige Zutaten ersetzen kann)!<br/><br/>
* http://www.alexmo-cosmetics.de/<br/>Immer sehr hilfsbereite Beratung, haben eine sehr große Auswahl (auch einige Rohstoffe, die andere Shops nicht haben), seit 2018 Umstellung auf ökologische / plastikfreie Verpackungen, 5€ pauschale Versandgebühren.<br/><br/>
* https://www.aliacura.de/<br/>Dieser Laden besitzt absoluten Kultstatus unter Selbstrührern- warum, weiß ich nicht. Ich vermute eine besonders gute Beratungsqualität. Haben eine sehr große Auswahl (auch einige Rohstoffe, die andere Shops nicht haben). Jedoch leider viel Plastikverpackung.<br/><br/>
* http://www.behawe.com<br/>Ätzende Navigation im Shop. Fantastisch: Winzigste Mengen der meisten Rohgstoffe verfügbar!<br/><br/>
* https://www.dragonspice.de/<br/>Sehr bekannt & beliebt, selbst noch nicht ausprobiert.<br/><br/>
* https://www.gruene-bude.de
** Ich kann mich nicht entsinnen, jemals so begeistert von einem Versandgeschäft gewesen zu sein!! Ein in jeder Hinsicht über alle Maßen empfehlenswertes (Online-) Geschäft!!! Unbedingt weiter empfehlen!<br/>* Extrem schnelle Antwort auf meine Frage<br/>* Extrem schneller Versand<br/>* Total sympathisch & kooperativ<br/>* Nur ökologische Produkte, in höchstem Maße Plastik- & Müllvermeidend, ökologisch in allen Aspekten >>100% :-)<br/>* Und einer der ganz wenigen, die palmölfreie Olivenöl-Kernseife verkaufen- noch dazu schon fertig geraspelt :-)<br/><br/>
* https://www.jean-puetz-produkte.de/<br/><br/>
* https://www.manske-shop.com/<br/><br/>
* https://www.meinekosmetik.de/<br/><br/>
* [[https://www.skincareonline.de/|https://www.skincareonline.de/kosmetik-selbstmachen/?p=1]]<br/><br/>
* https://spinnrad.de/<br/><br/>
* https://webshop.kosmetische-rohstoffe.de/<br/><br/>
* Amazon<br/><br/>
* Ebay<br/><br/>
* Bioläden teilweise<br/><br/>
* Drogerien teilweise
Übrigens bekomme ich keinerlei Provision oder sonstige Vorteile von den auf dieser Webseite gelisteten Anbietern / Webseiten. Auch verdiene ich rein gar nichts an dieser Webseite.<br/>
Das Thema ist schlicht und einfach meine Herzensangelegenheit, welches ich weiter verbreiten möchte.
<br/><br/><br/>
---------------------------------------------------------------------------------------
"""
<h2>Für die getesteten Rezepte brauchst Du folgende Zutaten:</h2>
Lass Dich nicht überfordern- das sind wirklich ALLE Zutaten für ALLE getesteten Rezepte. Und nicht alle Zutaten sind unabdingbar.
Fang am besten erstmal nur mit einem Rezept an.
Ideal zum Anfangen (die aller-einfachsten zuerst, danach minimal schwieriger oder aufwändiger):"""
# [[Fensterreiniger- perfektes Einsteigerrezept]]<br/>(einfach nur Wasser & paar Spritzer Spüli in eine Sprühflasche füllen >fertig! Ja, so simpel können Rezepte sein! :-)<br/><br/>
# [[Deocreme im Döschen- ideales Einsteiger-Rezept]]<br/><br/>
# [[Deocreme in der Tube (Sommer)- ideales Einsteiger-Rezept]] bzw. [[Deocreme in der Tube (Winter)- ideales Einsteiger-Rezept]]<br/><br/>
# [[Kalkentferner- ideales Einsteiger-Rezept]] (ohne Xanthan einfacher, außerdem brauchst Du dann keine "exotische" Zutat; wird dann allerdings absolut dünnflüssig)<br/><br/>
# [[Toilettenreiniger / WC-Reiniger- ideales Einsteiger-Rezept]] (ohne Xanthan einfacher, außerdem brauchst Du dann keine "exotische" Zutat; wird dann allerdings absolut dünnflüssig)<br/><br/>
# [[Antibakterielle Mundspülung- ideales Einsteiger-Rezept]]
Warum?
Weil sie
* einfach herzustellen sind- Du kannst eigentlich keine Fehler machen; auch kleine Messfehler sind überhaupt nicht schlimm
* die Zutaten entweder eh vorhanden sind oder für vieles andere verwendet werden können (auch, wenn Dir die Selbstrührerei wider Erwarten doch nicht liegt)
* Du kein besonderes Zubehör brauchst.<br/><br/>
''Für die getesteten Rezepte brauchst Du folgende ätherischen Öle:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[.ÄtherischeÖleParfümöle]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
* [[Parfumöl|.ÄtherischeÖleParfümöle]] @@font-size:0.9em;(Wenn Du möchtest, kannst Du alle Deine Rezepte beduften- musst Du aber natürlich nicht. Es gibt unendlich viele Düfte zur Auswahl, die Du wiederum untereinander kombinieren kannst- INDIVIDUAL TOTAL ;-)) )@@<br/><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[.ÄtherischeÖleParfümöle]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten ätherischen Öle kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[.ÄtherischeÖleParfümöle]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Basis- & Wirkstofföle:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Basis- & Wirkstofföle]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Basis- & Wirkstofföle]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Basis- & Wirkstofföle kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Basis- & Wirkstofföle]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
<div style="text-align: center">''<div class="tooltip">Emulgatoren
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> & <div class="tooltip">Konsistenzgeber
<span class="tooltiptext">Stoffe, die die Beschaffenheit einer Emulsion fester gestalten</span></div>''</div>
''Für die getesteten Rezepte brauchst Du folgende Buttern:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Buttern]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Buttern]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Buttern kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Buttern]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende <div class="tooltip">Emulgatoren
<span class="tooltiptext">Emulgatoren sorgen dafür, zwei nicht miteinander mischbare Flüssigkeiten, wie z.B. Öl & Wasser, zu einem fein verteilten Gemisch, der sogenannten Emulsion, zu vermengen und zu stabilisieren. Für längere Erläuterung siehe [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div>:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Emulgatoren]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Emulgatoren]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Emulgatoren kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Emulgatoren]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Verdicker / Gelbildner:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Verdicker / Gelbildner]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Verdicker / Gelbildner]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Verdicker / Gelbildner kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Verdicker / Gelbildner]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Wachse:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wachse]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Wachse]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Wachse kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wachse]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Gewürze & Kräuter:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Gewürze & Kräuter]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Gewürze & Kräuter]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Gewürze & Kräuter kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Gewürze & Kräuter]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Konservierer:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Konservierer]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Konservierer]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Konservierer kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Konservierer]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Tenside & andere waschaktive Substanzen:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Tenside & andere waschaktive Substanzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Tenside & andere waschaktive Substanzen]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Tenside & andere waschaktive Substanzen kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Tenside & andere waschaktive Substanzen]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
''Für die getesteten Rezepte brauchst Du folgende Wirkstoffe:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wirkstoffe]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Und zwar für diese getesteten Rezepte:''
<$list filter="[tag[Wirkstoffe]tagging[]tag[1RezeptGetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Die erwähnten Wirkstoffe kannst Du auch für diese ungetesteten Rezepte verwenden:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Wirkstoffe]tagging[]tag[1RezeptNICHTgetestet]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
{{Zutaten 1 (Palmölfrei, nach Zutatenart sortiert)}}
''Zum schnellen Nachschauen von Zutaten:''
<div style="float:left;width:49,5%;margin-left:15em;margin-right:1em">
<$reveal type="nomatch" state="$:/state/SampleRevealZutA" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutA" setTo="show">A</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutA" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutA" setTo="hide">Verstecke A</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[A]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutB" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutB" setTo="show">B</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutB" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutB" setTo="hide">Verstecke B</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[B]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutCD" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutCD" setTo="show">CD</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutCD" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutCD" setTo="hide">Verstecke CD</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[C]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[D]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutEFG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutEFG" setTo="show">EFG</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutEFG" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutEFG" setTo="hide">Verstecke EFG</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[E]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[F]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[G]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutH" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutH" setTo="show">H</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutH" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutH" setTo="hide">Verstecke H</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[H]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutIJ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutIJ" setTo="show">IJ</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutIJ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutIJ" setTo="hide">Verstecke IJ</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[I]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[J]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutK" setTo="show">K</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutK" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutK" setTo="hide">Verstecke K</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[K]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutL" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutL" setTo="show">L</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutL" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutL" setTo="hide">Verstecke L</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[L]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutM" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutM" setTo="show">M</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutM" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutM" setTo="hide">Verstecke M</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[M]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
</div>
{{----------------------------------------------------------------------}}
{{----------------------------------------------------------------------}}
{{----------------------------------------------------------------------}}
<div style="float:right;width:49,5%;margin-left:1em;margin-right:15em">
<$reveal type="nomatch" state="$:/state/SampleRevealZutN" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutN" setTo="show">N</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutN" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutN" setTo="hide">Verstecke N</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[N]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutO" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutO" setTo="show">O</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutO" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutO" setTo="hide">Verstecke O</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[O]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutPQ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutPQ" setTo="show">PQ</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutPQ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutPQ" setTo="hide">Verstecke PQ</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[P]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[Q]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutR" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutR" setTo="show">R</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutR" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutR" setTo="hide">Verstecke R</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[R]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutS" setTo="show">S</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutS" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutS" setTo="hide">Verstecke S</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[S]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutT" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutT" setTo="show">T</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutT" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutT" setTo="hide">Verstecke T</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[T]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutUV" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutUV" setTo="show">UV</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutUV" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutUV" setTo="hide">Verstecke UV</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[U]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[V]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutW" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutW" setTo="show">W</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutW" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutW" setTo="hide">Verstecke W</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[W]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
{{----------------------------------------------------------------------}}
<$reveal type="nomatch" state="$:/state/SampleRevealZutXYZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutXYZ" setTo="show">XYZ</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleRevealZutXYZ" text="show">
<$button class="willkommenbutton" set="$:/state/SampleRevealZutXYZ" setTo="hide">Verstecke XYZ</$button>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[X]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[Y]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<$list filter="[tag[A-Z]] +[tag[PT.Zutaten]] +[prefix[Z]] +[sort[title]]">
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
</$reveal>
</div>
<div style="clear:both;line-height:0px;"></div>
''Palmölhaltige Zutaten / mit Palmölderivaten; sonstige schädliche Zutaten''
{{Palmölhaltige Zutaten / mit Palmölderivaten, sonstige schädliche Zutaten}}
''Folgende Zutaten helfen bei Allergien:''
<$list filter="[tag[Zutat:Antiallergisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten stärken das Immunsystem:''
<$list filter="[tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
@@font-size:1.6em;line-height:0.1em;''Spreitverhalten''@@<br/>
Kombiniere Öle/Fette optimal so, dass alle Spreitgruppen berücksichtigt werden. Dabei bestimmt der Einsatzbereich und die Hautsituation, in welchen Anteilen die einzelnen Gruppen berücksichtigt werden. Sinnvoll kombinierte Spreiteigenschaften können das Auftragsverhalten, das Hautgefühl und die nachhaltig pflegende Wirkung eines Produkts deutlich verbessern.
''Alle Hochspreitenden Fette:''<br/>
Hochspreitend heißt, das Öl verteilt sich sehr gut und dringt rasch, aber nur oberflächlich ein. So erzeugt es ein schnelles Glättegefühl, das jedoch ebenso schnell wieder auf das alte Niveau zurückfällt. Angenehm ist hierbei die kaum fettende Haptik.
<$list filter="[tag[Zutat:Hochspreitend]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Niedrigspreitenden Fette:''<br/>
Niedrigspreitend heißt, das Öl verteilt sich langsam und dringt tief ein. Dies führt zu einem deutlich geringer ausgeprägten Glättegefühl, das jedoch lange anhält. Dies prädestiniert es für den Einsatz am Auge, denn es kriecht nicht in die empfindlichen Schleimhäute. Es ist haptisch jedoch ausgeprägt fettend.
<$list filter="[tag[Zutat:Niedrigspreitend]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Alle Mittelspreitenden Fette:''<br/>
Mittelspreitendes Öl tut dies alles in Mittelwerten.
<$list filter="[tag[Zutat:Mittelspreitend]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
!!''Ölgruppen''
''Alle Fette der Obergruppe "Stabilisierende Basisöle" (20–50% des Endprodukts) (Zutat:Ölgruppe_B-0):''<br/>
''Nicht reaktiv (also <div class="tooltip">oxidationsstabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/><br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>), <div class="tooltip">reizfrei
<span class="tooltiptext">nicht hautreizend</span></div>, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate.''
''Alle Fette der Untergruppe Ölgruppe_PF-1:''<br/>
Rückfettend, schützend, <div class="tooltip">viskosität
<span class="tooltiptext">Zähflüssigkeit eines Produkts</span></div>serhöhend. Hautpflegemittel. Der hohe Gehalt an gesättigten langkettigen Fettsäuren und ihre bei Zimmertemperatur feste Konsistenz kennzeichnen die pflanzlichen Buttern (Sheabutter, Mangobutter, Cupuaçubutter sind die bekanntesten). Sie weisen in der Regel höhere Anteile an <div class="tooltip">unverseifbaren
<span class="tooltiptext">Bestandteile von Ölen, Fetten & Wachsen, die nicht verseifbar sind- u.a. Sterole, Fettalkohole, Wachsester, Squalen, Carotinoide, aber auch fettlösliche Vitamine; enthält in hochkonzentrierter Form hautphysiologisch verwandte Lipide</span></div> Bestandteilen auf, wirken haptisch stark rückfettend, schützend und ziehen nur langsam, allerdings tief in die Haut ein. In <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> geben sie leichte Konsistenz und eine ausgeprägte sensorische »Reichhaltigkeit«.
<$list filter="[tag[Zutat:Ölgruppe_PF-1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_PF-2:''<br/>
Kühlend, glättend, schnell einziehend, gut geeignet für <div class="tooltip">sonnenexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate (sehr gut für Sonnenkosmetik geeignet). Diese Fette sind durch hohe Gehalte an gesättigten kurz- bis mittelkettigen Fettsäuren geprägt. Sie spreiten ausgezeichnet, bewirken eine leichte, nicht fettende Haptik der <div class="tooltip">Emulsionen
<span class="tooltiptext">Emulsion ist ein fein verbundenes Gemisch zweier verschiedener (normalerweise nicht mischbarer, z.B. Wasser & Öl) Flüssigkeiten ohne sichtbare Entmischung. Für längere Erläuterung siehe "Emulsion" im [[Lexikon für Fachbegriffe & Abk. (Medizinische / kosmetische)]]</span></div> und gleichen in dieser Hinsicht stärker rückfettende <div class="tooltip">Lipid
<span class="tooltiptext">= Gesamtheit der Fette und fettähnlichen Substanzen. Lipide sind fettlöslich.</span></div>komponenten aus. Gruppe PF-2 ist die MCT-Gruppe (MCT meint »Medium Chain Triglyceride« also »mittelkettige <div class="tooltip">Triglyceride
<span class="tooltiptext">Ester des Glycerins mit 3 Fettsäuremolekülen; natürliche Fette bestehen primär aus Triglyceriden</span></div>«). Sie dringen schnell, aber nur oberflächlich in die <div class="tooltip">Hornschicht
<span class="tooltiptext">__KURZ:__ Das Stratum corneum (Hornschicht) ist die äußere (oberste) Schicht der Epidermis (Oberhaut).<br/>__LANG:__ Das Stratum corneum besteht aus sog. Korneozyten, das sind tote, verhornte Zellen, die sich an der Oberfläche abschuppen. Diese Korneozyten sind in eine Lipidschicht eingebettet, die u.a. aus Ceramiden, Cholesterol & seine Derivate sowie Fettsäuren gebildet wird. Diese Schicht bilden die Barriereschicht der Haut. Ihre Dicke beträgt, abhängig von der Hautregion, ca. 5 bis mehrere Hundert »Lagen«. Besonders dick ist die Hornschicht an den Fußsohlen, sehr dünn z.B. unter den Augen.</span></div> ein.
<$list filter="[tag[Zutat:Ölgruppe_PF-2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
--------------------------------------------------------------------------------
''Obergruppe "Pflegende Basisöle" (50–70% des Endprodukts) (Zutat:Ölgruppe_B1-B3)''
''Alle Fette der Untergruppe Ölgruppe_B1:''<br/>
Gute Massageöle, schützend, pflegend, gut geeignet für <div class="tooltip">lichtexponierte
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparate. Es sind ölsäuredominierte Öle, <div class="tooltip">oxidativ recht stabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt nicht so schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div>, schützend, leicht bis stärker rückfettend.
<$list filter="[tag[Zutat:Ölgruppe_B1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_B2:''<br/>
Ausgesprochen pflegend, barriereschützend, ausgewogene Basisöle. Es sind Öle mit sehr ausgeglichenem Fettsäuremuster hinsichtlich einfach und zweifach gesättigten Fettsäuren, die gut solo verwendet werden können.
<$list filter="[tag[Zutat:Ölgruppe_B2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_B3:''<br/>
Barrierefördernd und -regenerierend, <div class="tooltip">fluidisierend
<span class="tooltiptext">Doppelmembrane von Zellwänden (oder die der Hautbarriereschicht) durch den Einbau ungesättigter Fettsäuren in ihrer Struktur auflockern, beweglicher und durchlässiger für Substanzen machen</span></div>, nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Präparaten verwenden, in Tagespräparaten mit Ölen der Gruppen B-0 und B-1 bzw. B-2 mischen. Es sind linolsäuredominierte Öle, die haptisch leichter einziehen, wenig rückfettend wirken und ausgesprochen pflegende, regenerierende Eigenschaften haben.
<$list filter="[tag[Zutat:Ölgruppe_B3]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
--------------------------------------------------------------------------------
''Obergruppe "Wirkstofföle" (5–10% des Endprodukts) (Zutat:Ölgruppe_W1-W3)''<br/>
Wirkstofföle zeichnen sich durch hohe Anteile an mehrfach ungesättigten, teilweise seltenen Fettsäuren aus, die <div class="tooltip">oxidativ sehr instabil
<span class="tooltiptext">__KURZ:__ Öl verdirbt recht schnell<br/>__LANG:__ Oxidation= Chemische Reaktion eines Stoffes mit Sauerstoff. Doppelbindungen von ungesättigten Fettsäuren "wollen gerne", dass sich an dieser Stelle Sauerstoff anlagert und die Doppelbindung sich auflöst. Je ungesättigter eine Fettsäure ist, desto reaktiver, also unstabiler ist sie.<br/>Neben Sauerstoff beschleunigen UV-Licht & Wärme die Oxidation und Zersetzung von Ölen mit mehrfach ungesättigten Fettsäuren auf & in der Haut. Ihre z.T. toxisch wirkenden Spaltprodukte können bei entsprechender Disposition Zellmembrane schädigen und zu Pigmentflecken, Sonnenallergien und Irritationen führen.</span></div> sind, kosmetisch jedoch intensiv regenerierende und aktivierende Eigenschaften aufweisen. Je nach dominierender mehrfach ungesättigter Fettsäure sind sie in die Gruppen W-1, W-2 und W-3 unterteilt. Sie werden grundsätzlich niedrig, ca. 5–10 % der <div class="tooltip">Fettphase
<span class="tooltiptext">Teil einer Emulsion, der alle fettlöslichen Rohstoffe umfasst</span></div> dosiert.
''Alle Fette der Untergruppe Ölgruppe_W1:''<br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div> (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W1]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_W2:''<br/>
Entzündungshemmend, barriere-restrukturierend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W2]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Alle Fette der Untergruppe Ölgruppe_W3:''<br/>
Stark <div class="tooltip">zellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>, <div class="tooltip">zellaktivierend
<span class="tooltiptext">Zellaktivierung ist eine zelluläre immunologische Funktion</span></div>, wundheilend (nicht in <div class="tooltip">lichtexponierten
<span class="tooltiptext">intensiv dem Sonnenlicht ausgesetzt</span></div> Pflegepräparaten verwenden).
<$list filter="[tag[Zutat:Ölgruppe_W3]] +[tag[PT.Zutaten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/><br/><br/><br/><br/><br/><br/>
''Folgende Zutaten haben eine belebende Wirkung auf die Seele:''
<$list filter="[tag[Zutat:Belebend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben eine beruhigende Wirkung auf die Seele:''
<$list filter="[tag[Zutat:Beruhigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten fördern die gute Laune:''
<$list filter="[tag[Zutat:GuteLaune]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten fördern die Konzentration:''
<$list filter="[tag[Zutat:Konzentration]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten fördern die Stressresistenz:''
<$list filter="[tag[Zutat:Stressresistenz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">antibakteriell
<span class="tooltiptext">=antiseptisch=antibiotisch= gegen Bakterien wirkend</span></div>:''
<$list filter="[tag[Zutat:Antibakteriell]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">antifungal
<span class="tooltiptext">=fungizid=antimykotisch = gegen Pilze</span></div>:''
<$list filter="[tag[Zutat:Antifungal]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">antiviral
<span class="tooltiptext">= gegen Viren</span></div>:''
<$list filter="[tag[Zutat:Antiviral]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">desinfizierend
<span class="tooltiptext">=antimikrobiell= gegen Krankheitserreger / Mikroben (z.B. Bakterien, Schimmelpilze,...)</span></div>:''
<$list filter="[tag[Zutat:Desinfektion]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken feuchtigkeitsspendend in der Haarpflege:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, wie genau der Rohstoff feuchtigkeitsspendend wirkt- und ob auch wirklich //auch// für die Haare! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Feuchtigkeitsspendend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben eine aufhellende Wirkung auf die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Aufhellen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten machen die Haare glänzend:''
<$list filter="[tag[Zutat:Haarwirkung_Glanz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten machen die Haare leichter kämmbar:''
<$list filter="[tag[Zutat:Haarwirkung_Kämmbar]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben eine <div class="tooltip">konditionierende
<span class="tooltiptext">= die Fähigkeit, das Haar leicht kämmbar, geschmeidig, weich & glänzend zu machen. Ebenso wird dem Haar Volumen, Geschmeidigkeit & Glanz verliehen.</span></div> Wirkung auf die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Konditionierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben eine kräftigende Wirkung auf die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Kräftigung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten regulieren den pH-Wert der Kopfhaut:''
<$list filter="[tag[Zutat:Haarwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten bilden einen Schutzfilm um die Haare:''
<$list filter="[tag[Zutat:Haarwirkung_Schutzfilm]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten geben den Haaren mehr Volumen:''
<$list filter="[tag[Zutat:Haarwirkung_Volumen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind besonders geeignet für die Pflege von feinem / dünnem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Dünn/Fein]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind besonders geeignet für die Pflege von fettigem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Fettig]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken antistatisch (gegen fliegendes Haar):''
<$list filter="[tag[Zutat:Haarzustand_Fliegend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind besonders geeignet für die Pflege von geschädigtem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Geschädigt]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken gegen Schuppen im Haar:''
<$list filter="[tag[Zutat:Haarzustand_Schuppen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind besonders geeignet für die Pflege von trockenem Haar:''
<$list filter="[tag[Zutat:Haarzustand_Trocken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken gegen Kopfhautjucken:''
<$list filter="[tag[Zutat:Kopfhautjucken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Adstringierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Akne:''
<$list filter="[tag[Zutat:Akne]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Cellulite:''
<$list filter="[tag[Zutat:Cellulite]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken durchblutungsfördernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Durchblutungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Ekzemen:''
<$list filter="[tag[Zutat:Ekzem]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken entzündungshemmend:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken feuchtigkeitsspendend auf die Haut:''
<$list filter="[tag[Zutat:Feuchtigkeitsspendend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Anti-Age - Zutaten:''
<$list filter="[tag[Zutat:Haut_Anti-Age]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken beruhigend auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Beruhigend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sorgen für eine elastische Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Elastisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben einen glättenden Effekt auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Glättend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten ziehen gut / schnell in Haut ein:''
<$list filter="[tag[Zutat:Hautwirkung_GutEinziehend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten regulieren den pH-Wert für eine basische Hautpflege:''
<$list filter="[tag[Zutat:Hautwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben eine straffende Wirkung auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Straffend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten geben der Haut mehr Widerstandskraft:''
<$list filter="[tag[Zutat:Hautwirkung_Widerstandskraft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken <div class="tooltip">hautzellregenerierend
<span class="tooltiptext">Zellregenerierung / Zellregeneration ist die körpereigene Fähigkeit, irreparable Zellen abzustoßen und beschädigtes Gewebe so mithilfe von neu produzierten Zellen zu heilen. Dieser Prozess findet im Zuge der Zellteilung statt und kann einmalig, zyklisch oder permanent vor sich gehen, wobei z.B. die Zellen der Haut & der Leber permanenter Zellgenerierung unterworfen sind, während hochspezialisierte Zellen wie die des Gehirns nicht zur Teilung und daher auch nicht zur Regenerierung fähig sind. Im Alter nimmt die Fähigkeit zur Regenerierung ab, wodurch sich im Laufe des Lebens durch den permanenten Zellaustausch immer höhere Zellverluste einstellen >>Alterungsprozess.</span></div>:''
<$list filter="[tag[Zutat:Hautzellregenerierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut für empfindliche Haut:''
<$list filter="[tag[Zutat:Hautzustand_Empfindlich]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich gegen Falten:''
<$list filter="[tag[Zutat:Hautzustand_Falten]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei fettiger Haut:''
<$list filter="[tag[Zutat:Hautzustand_Fettig]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei gereizter Haut:''
<$list filter="[tag[Zutat:Hautzustand_Gereizt]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei Mischhaut:''
<$list filter="[tag[Zutat:Hautzustand_Mischhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei "normaler" Haut:''
<$list filter="[tag[Zutat:Hautzustand_Normal]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei reifer Haut:''
<$list filter="[tag[Zutat:Hautzustand_Reif]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei trockener Haut:''
<$list filter="[tag[Zutat:Hautzustand_Trocken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei unreiner Haut:''
<$list filter="[tag[Zutat:Hautzustand_Unrein]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut gegen Hornhaut:''
<$list filter="[tag[Zutat:Hornhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Neurodermitis:''
<$list filter="[tag[Zutat:Neurodermitis]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich gegen Pickel:''
<$list filter="[tag[Zutat:Pickel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut bei der Rasur:''
<$list filter="[tag[Zutat:Rasur]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken rückfettend auf die Haut:''
<$list filter="[tag[Zutat:Rückfettend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Schuppenflechte:''
<$list filter="[tag[Zutat:Schuppenflechte]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Sonnenbrand:''
<$list filter="[tag[Zutat:Sonnenbrand]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut für den Sonnenschutz:''
<$list filter="[tag[Zutat:Sonnenschutz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei spröden Fingernägeln:''
<$list filter="[tag[Zutat:Spröde Fingernägel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Adstringierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Akne:''
<$list filter="[tag[Zutat:Akne]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Cellulite:''
<$list filter="[tag[Zutat:Cellulite]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken durchblutungsfördernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Durchblutungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Ekzemen:''
<$list filter="[tag[Zutat:Ekzem]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken entzündungshemmend:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken feuchtigkeitsspendend auf die Haut:''
<$list filter="[tag[Zutat:Feuchtigkeitsspendend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Anti-Age - Zutaten:''
<$list filter="[tag[Zutat:Haut_Anti-Age]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Hautausschlag:''
<$list filter="[tag[Zutat:Hautausschlag]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Hautpilz:''
<$list filter="[tag[Zutat:Hautpilz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Hautproblemen (sonstiger Art):''
<$list filter="[tag[Zutat:Hautprobleme]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken beruhigend auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Beruhigend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sorgen für eine elastische Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Elastisch]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben einen glättenden Effekt auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Glättend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten ziehen gut / schnell in Haut ein:''
<$list filter="[tag[Zutat:Hautwirkung_GutEinziehend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten regulieren den pH-Wert für eine basische Hautpflege:''
<$list filter="[tag[Zutat:Hautwirkung_PH-Wert]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten haben eine straffende Wirkung auf die Haut:''
<$list filter="[tag[Zutat:Hautwirkung_Straffend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten geben der Haut mehr Widerstandskraft:''
<$list filter="[tag[Zutat:Hautwirkung_Widerstandskraft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten helfen gegen Herpes:''
<$list filter="[tag[Zutat:Herpes]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut gegen Hornhaut:''
<$list filter="[tag[Zutat:Hornhaut]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten können zur Immunsystemstärkung verwendet werden:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Insektenstichen:''
<$list filter="[tag[Zutat:Insektenstich]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken gegen Kopfhautjucken:''
<$list filter="[tag[Zutat:Kopfhautjucken]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Krampfadern / Besenreisern:''
<$list filter="[tag[Zutat:Krampfadern/Besenreiser]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich in der Narben-Abschwächung:''
<$list filter="[tag[Zutat:Narben]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Neurodermitis:''
<$list filter="[tag[Zutat:Neurodermitis]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich gegen Pickel:''
<$list filter="[tag[Zutat:Pickel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken rückfettend auf die Haut:''
<$list filter="[tag[Zutat:Rückfettend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schmerzlindernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Hautpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Schuppenflechte:''
<$list filter="[tag[Zutat:Schuppenflechte]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Sonnenbrand:''
<$list filter="[tag[Zutat:Sonnenbrand]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut für den Sonnenschutz:''
<$list filter="[tag[Zutat:Sonnenschutz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei spröden Fingernägeln:''
<$list filter="[tag[Zutat:Spröde Fingernägel]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich gegen übermäßiges Schwitzen:''
<$list filter="[tag[Zutat:ÜbermäßigesSchwitzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Verbrennungen:''
<$list filter="[tag[Zutat:Verbrennung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich gegen Warzen:''
<$list filter="[tag[Zutat:Warzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut für die Wundheilung:''
<$list filter="[tag[Zutat:Wundheilung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Appetitlosigkeit:''
<$list filter="[tag[Zutat:Appetitlosigkeit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Bauchweh:''
<$list filter="[tag[Zutat:Bauchweh]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Blähungen:''
<$list filter="[tag[Zutat:Blähungen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Durchfall:''
<$list filter="[tag[Zutat:Durchfall]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten stärken das Immunsystem:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Problemen mit Verdauung/Magen/Darm/Essen empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken krampflösend:''
<$list filter="[tag[Zutat:Krampflösend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schmerzlindernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Problemen mit Verdauung/Magen/Darm/Essen empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Übelkeit:''
<$list filter="[tag[Zutat:Übelkeit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken verdauungsfördernd:''
<$list filter="[tag[Zutat:Verdauungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Völlegefühl:''
<$list filter="[tag[Zutat:Völlegefühl]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div> auf die Haut:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Adstringierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken durchblutungsfördernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Durchblutungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken entzündungshemmend:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schmerzlindernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Emulgatoren:''
<$list filter="[tag[Zutat:Emulgator]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Verdickende / Gelbildende Zutaten:''
<$list filter="[tag[Zutat:Produkt-Verdickung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/><br/>
''Davon werden folgende Zutaten in den getesteten Rezepten verwendet:''
<$list filter="[tag[1RezeptGetestet]tags[]tag[Zutat:Emulgator]] [tag[1RezeptGetestet]tags[]tag[Zutat:Produkt-Verdickung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten helfen gegen Atemwegsbeschwerden:''
<$list filter="[tag[Zutat:Atemwegsbeschwerden]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken entzündungshemmend:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Rachen/Erkältungs- & Grippesymptomen empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten helfen gegen Halsschmerzen:''
<$list filter="[tag[Zutat:Halsschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich zur Immunsystemstärkung:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Rachen/ Erkältungs- & Grippesymptomen empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten helfen gegen Ohrenschmerzen:''
<$list filter="[tag[Zutat:Ohrenschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schmerzlindernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich bei Rachen/ Erkältungs- & Grippesymptomen empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schweißtreibend:''
<$list filter="[tag[Zutat:Schweißtreibend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei Arthrose / Arthritis / Rheuma / Gicht:''
<$list filter="[tag[Zutat:Arthrose/Arthritis/Rheuma/Gicht]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken belebend:''
<$list filter="[tag[Zutat:Belebend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Bluthochdruck:''
<$list filter="[tag[Zutat:Bluthochdruck]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken Blutverdünnend:''
<$list filter="[tag[Zutat:Blutverdünnend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken durchblutungsfördernd:''
<$list filter="[tag[Zutat:Durchblutungsfördernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Fieber:''
<$list filter="[tag[Zutat:Fieber]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich zur Immunsystemstärkung:''
<$list filter="[tag[Zutat:Immunsystemstärkung]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten können für Kinder oder während / nach der Schwangerschaft / bei Schwangerschaftsproblemen verwendet werden:''
<$list filter="[tag[Zutat:Kinder / Schwangerschaft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Kopfschmerzen:''
<$list filter="[tag[Zutat:Kopfschmerz]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken krampflösend:''
<$list filter="[tag[Zutat:Krampflösend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut für den Kreislauf:''
<$list filter="[tag[Zutat:Kreislauf]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken kühlend:''
<$list filter="[tag[Zutat:Kühlend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten lassen sich gut für Massagen verwenden:''
<$list filter="[tag[Zutat:Massage]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Müdigkeit / Schlappheit:''
<$list filter="[tag[Zutat:Müdigkeit/Schlappheit]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Muskelschmerzen:''
<$list filter="[tag[Zutat:Muskelschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind hilfreich bei Ohrenschmerzen:''
<$list filter="[tag[Zutat:Ohrenschmerzen]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schmerzlindernd:''
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schweißtreibend:''
<$list filter="[tag[Zutat:Schweißtreibend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten sind hilfreich bei der Insektenabwehr:''
<$list filter="[tag[Zutat:Insektenabwehr]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten sind gut, um die Raumluft zu beeinflussen:''
<$list filter="[tag[Zutat:Raumluft]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Folgende Zutaten wirken <div class="tooltip">adstringierend
<span class="tooltiptext">= Gewebe zusammenziehend</span></div>:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Adstringierend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken entzündungshemmend:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Entzündungshemmend]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/>
''Folgende Zutaten wirken schmerzlindernd:''<br/>
Lies aber bitte nochmal in den einzelnen Rohstoffportraits nach, ob Dein ausgesuchter Rohstoff //auch// wirklich für die Zahnpflege empfohlen wird! (dieser Tag verallgemeinert etwas...)
<$list filter="[tag[Zutat:Schmerzlindernd]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
''Weitere Zutaten für die Zahnpflege (z.B. Karies-Vorbeugung, für festes Zahnfleisch, etc.) :''
<$list filter="[tag[Zutat:Zahnpflege]] +[sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
"""
ätherisches Öl 3€ / 5ml = 60Ct / ml
20 Tropfen = 1ml = 60Ct
pro Probeseife 1,53 Tropfen = pro Seifenmasse 6-7 Tropfen = pro Person 4-5 Tropfen = pro Person 12-15Ct
100ml Öl = ~92g Öl
100ml Wasser = ~100g Wasser
Wasserpreis (2018): 0,2Ct / Liter
"""
* Allesreiniger 2,80€ / 500ml (500g) = 0,56Ct / g
* [[Apfelessig]] 1,54€ / 750ml (750g) = 0,2Ct / g
* [[Beerenwachs]] 20,40€ / 250g (Alexmo) = 8,16Ct / g
* [[Bienenwachs]] 7,95€ / 200g = 3,97Ct / g
* [[Brokkolisamenöl]] 7,60€ / 30ml (27,6g Alexmo) = 27,54Ct / g
* Essigessenz 1,50€ / 400ml (400g) = 0,37Ct / g
* Facetensid 2,20€ / 100ml = 2,2Ct / ml
* Farbpigment Mica 2,90€ / 10g (Alexmo) = 29Ct / g
* [[Guarkernmehl]] 4€ / 100g = 4Ct / g
* [[Grüner Tee]] 100g / 4,65€ = 4,65Ct / g
* [[Haarguar HT]] 3,10€ / 20g = 15,5Ct / g
* Isopropanol: 4,90€ / 500ml = 0,98Ct / g
* [[Jojobaöl]] 5€ / 100ml = 5,43Ct / g
* [[Kakaobutter]] 12,80€ / 500g = 2,56Ct / g
* [[Kieselsäure]] 4,90€ / 30g = 16,33Ct / g
* [[Kokosöl]] 6,99€ / 450ml ( =414g) (Denns) = 1,69Ct / g
*[[Lanolin]] 2,60€ / 50ml (Alexmo) = 10,4Ct / g (2ml Lanolin = ~ 1g Lanolin)
* Äth. Lavandinöl 6,95€ / 20ml ( =18g) (BioLogisch) = 38,61Ct / g
* [[Leinsamen-Extrakt]] 3€ / 10ml (Alexmo) = 30Ct / g
* Äth. [[Limettenöl]] 4,40€ / 10ml ( =9g) (Alexmo) = 48,89Ct / g
* [[Lysolecithin]] 5,90€ / 100ml ( =136g) = 4,34Ct / g
* [[Mandelöl]] 4,50€ / 100ml (92g) = 4,89Ct / g
* [[Mangobutter]] durchschnittlich 4€ / 100g = 4Ct / g
* Äth. [[Minzöl|Minzöl (Pfefferminze oder Krauseminze)]] 5€ / 10ml ( =9g) (BioLogisch) = 55,56Ct / g
* [[Natron]] 4,50 / 1000g (Alexmo) = 0,45Ct / g
* [[Olivenöl]] 12€ / l (Lola) = 1,3Ct / g
* [[Olivenöl-Kernseife]] ab 2,10€ / 100g ( =2,1Ct / g) bei: https://www.gruene-bude.de/patounis-kernseifenflocken-aus-oliventresteroel-vegan-palmoelfrei-100-g-421 für 2kg, sonst für 6,95€ / 200g beim Kosmetikbazar Hannover (grünebude: 2,71€/100g bei 700g-Kauf, patounis 3,04€ bei 600g-Flockenkauf)
* [[Roggenmehl]] 1,39€ / 1000g (Denns) = 0,14Ct / g
* Schafmilchpulver 2,90 / 100g = 2,9Ct / g
* [[SLMI / SurfaLux palmölfrei (Tensid)]] 14,80€ / 500g (Alexmo) = 2,96Ct / g
* [[Sheabutter]] 6,90€ / 200ml (181,2g) = 3,81Ct / g
* [[Seidenprotein]] 4,70€ / 30ml ( =~27,6g) = 17,03Ct / g
* Spüli 1,50€ / 500ml = 0,3Ct / ''ml''
* Spülmaschinensalz 3€ / 2000g (Denns) = 0,15Ct / g
* [[Stärke]] 2€ / 250g (Denns) = 0,8Ct / g
* [[Tonerde weiß (Bolus Alba) (Kaolin)]] 1,90€ / 100g (Alexmo) = 1,9Ct / g
* [[Urea / Harnstoff]] 1,20€ / 50g (Alexmo) = 2,4Ct / g
* [[Vithaar HT]] 4,95€ / 30ml ( =~27,6g) = 17,93Ct / g
* [[Waschsoda]] 0,99€ / 500g (Rossmann) = 0,2Ct / g
* [[Weizenprotein]] 3,90€ / 100ml ( =~92g) = 4,24Ct / g
* [[Xanthan]] 4,65€ / 50g (1 kl. gestr. Messl. = 0,2g | 1 gr. gestr. 0,5g?) = 9,3Ct / g
* [[Xylit]] 10€ / 500g (Denns) = 2Ct / g
* Zetesol 2,50€ / 100ml = 2,5Ct / ml
* [[Zimt]] (kein Ceylon) 3,80€ / 100g = 3,8Ct / g
* Äth. [[Zitronenöl]] 4€ / 10ml ( =9g) (BioLogisch) = 44,44Ct / g
* [[Zitronensäure]] 2,79€ / 375g (Rossmann) = 0,74Ct / g
<div style="background:Lavender;">
<div style=> </div>
!!''TAGS: << weg!, A-Z, Lavender, 'Zutatenart', 'Zutatenwirkungen' (Zutat:Einsatzgebiete) & Zutat:Einsatzgebiete-Obergruppen!''
@@.lefttable
|<img width=300 src="URL"/>||
|<h6>Bildautor, [[Bildname|Bild-Link]],<br/>Ausschnitt, Farbwert & weiteres Foto eingefügt von Surya,<br/>[[CC0 1.0|https://creativecommons.org/publicdomain/zero/1.0/legalcode]]</h6>||
@@
"""
''Art / Konsistenz der Zutat:'' ~~Basisöl~~, ''Ölgruppe:'' ~~B-1~~, ''Löslichkeit:'' ~~Fettlöslich~~
''Ursprung/Beschreibung:''
''INCI-Bezeichnung:''
''Weitere Handelsnamen:''
''Inhaltsstoffe:''
''Besonderheit / kosmetische Wirkung / Heilwirkung:''
''Anwendungsbereiche / Besonders geeignet für:''
''Duftprofil:''
''Einsatzkonzentration:'' %
''Schmelzbereich:'' °C
''Haltbarkeit (nach Öffnung):''
''Spreitwert nach Olionatura®:''
''Anteile an Unverseifbarem:''
''Für welchen pH-Wert geeignet:''
''<div class="tooltip">HLB-Wert
<span class="tooltiptext">Abkürzung für "Hydrophilic Lipophilic Balance".<br/><br/>Der HLB-Wert beschreibt die Tendenz eines Emulgators, sich eher in wässrigen (so genannten polaren) oder eher in öligen (so genannten unpolaren) Medien zu lösen. Bei besserer Wasserlöslichkeit (Hydrophilie) des Emulgators bildet Wasser die äußere Phase, in der kleine Öltröpfchen vom Emulgator ummantelt werden; bei besserer Öllöslichkeit ist es genau umgekehrt.<br/><br/>Jedes Emulgatormolekül weist also eine unterschiedlich stark ausgeprägte Löslichkeit in Wasser oder in Öl auf. Das Verhältnis von hydrophilen und lipophilen Gruppen in einem Emulgatormolekül, also die Balance zwischen beiden »Kräften«, wird in einer Zahl zwischen 0 und 20 ausgedrückt (wenn man es ganz genau nimmt, wird der Anteil der wasserliebenden Teile zur gesamten Masse des Moleküls berechnet). Diese Skala kann bis zu HLB 40 reichen. Prinzipiell gilt:<br/><br/>Emulgatoren mit einem HLB-Wert unter 10 (im engeren Sinne: HLB 3 - ca. 6) bilden eher Wasser-in-Öl-,<br/>Emulgatoren mit einem HLB-Wert ca. 8 - ca. 18 Öl-in-Wasser-Emulsionen.<br/>Verwendet man mehrere Emulgatoren, kann man den HLB-Wert einfach arithmetisch aus den Mittelwerten errechnen.</span></div>:''
''Verseifungszahl:''
''Jodzahl:''
''Lagerung:'' ~~Es muss nicht gekühlt werden- auch sonst nichts zu beachten.~~
''Nebenwirkungen & bei Anwendung beachten:'' /
''Erhältlich bei:'' Siehe [[Zubehör & Anbieter f. Zutaten / Zubehör]], ~~außer bei~~
''Worauf beim Kauf achten:'' /
''Tipp für die Verarbeitung:'' /
"""<br/><br/>
''Für diese getesteten Rezepte benötigt:''
<$list filter="[tag[tag1]tag[1RezeptGetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<br/><br/>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list><br/><br/>
ODER
<div style="background:Lavender;">
<div style=> </div>
''Für diese ungetesteten Rezepte benötigt:''<br/><br/>
<$list filter="[tag[tag1]tag[1RezeptNICHTgetestet]sort[title]]" emptyMessage="Keine" >
<div style="margin-left:2em;">
<li><$link><<currentTiddler>></$link></li></div>
</$list>
<div style="clear:both;line-height:0px;"></div>