1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-10-02 08:50:46 +00:00

Merge remote-tracking branch 'upstream/master' into fr-FR

This commit is contained in:
Xavier Cazin 2014-08-15 18:59:28 +02:00
commit 6b91c354c3
138 changed files with 996 additions and 438 deletions

View File

@ -1728,6 +1728,7 @@ $tw.boot.startup = function(options) {
$tw.utils.registerFileType("text/css","utf8",".css");
$tw.utils.registerFileType("text/html","utf8",".html");
$tw.config.fileExtensionInfo[".htm"] = {type: "text/html"};
$tw.config.fileExtensionInfo[".hta"] = {type: "text/html"};
$tw.utils.registerFileType("application/hta","utf16le",".hta",{deserializerType:"text/html"});
$tw.utils.registerFileType("application/javascript","utf8",".js");
$tw.utils.registerFileType("application/json","utf8",".json");

View File

@ -1,3 +0,0 @@
title: $:/config/EditorTypeMappings/image/gif
bitmap

View File

@ -1,3 +0,0 @@
title: $:/config/EditorTypeMappings/image/jpeg
bitmap

View File

@ -1,3 +0,0 @@
title: $:/config/EditorTypeMappings/image/jpg
bitmap

View File

@ -1,3 +0,0 @@
title: $:/config/EditorTypeMappings/image/png
bitmap

View File

@ -1,3 +0,0 @@
title: $:/config/EditorTypeMappings/image/x-icon
bitmap

View File

@ -1,3 +0,0 @@
title: $:/config/EditorTypeMappings/text/vnd.tiddlywiki
text

8
core/icon.tid Normal file
View File

@ -0,0 +1,8 @@
title: $:/core/icon
tags: $:/tags/Image
<svg width="22pt" height="22pt" viewBox="0 0 128 128">
<g fill-rule="evenodd">
<path d="M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z M85.1274062,95.4080042 C81.5494069,95.3047989 79.9756384,95.3136745 78.1534289,92.2560668 L76.733228,92.2975844 C75.0801573,92.2226776 75.7690718,92.256631 74.6662332,92.2006037 C72.822332,92.1273894 73.1177105,90.3396383 72.7933215,89.3950941 C72.2744094,86.1888106 73.4800004,82.9659571 73.4419681,79.7590415 C73.428503,78.6206623 71.8498363,74.5912119 71.2858469,73.150598 C69.5178104,73.490271 67.7401827,73.5550323 65.9465048,73.6462337 C61.8120677,73.6358996 57.7056703,73.1192806 53.628962,72.4632293 C52.8345141,75.8119659 50.473106,80.4990751 52.4249964,83.9024219 C54.794228,87.4227874 56.45684,88.3980868 59.0339286,88.6103485 C61.6109895,88.8224384 62.1929077,91.7913467 61.5694236,92.8517379 C61.0175661,93.5845847 60.0476425,93.7176093 59.2235739,93.8951553 L57.5752147,93.9742093 C56.2780933,93.9296822 55.1187057,93.5723203 53.9629071,93.0211763 C52.0327307,91.9217335 50.0392154,89.6360411 48.5580719,87.9950695 C48.9028934,88.6503604 49.1085703,89.9296134 48.7958122,90.5249222 C47.9200982,91.7907825 44.1326257,91.7830485 42.3980986,90.996433 C40.4277043,90.1030197 35.6664658,83.8299171 34.9303347,79.1316435 C36.8887135,75.3525836 39.7416856,72.0607931 41.1850909,67.9459622 C38.038852,65.8974525 36.3537697,62.5626501 36.5725198,58.7851619 L36.6514762,58.3478913 C33.5557196,58.9392548 35.1611076,58.7192345 31.8308843,58.9762949 C21.2252017,58.9431831 11.8983553,51.6054609 17.1501626,40.2013394 C17.4916881,39.5260388 17.8165752,38.9120742 18.3955298,39.205288 C18.8602051,39.440565 18.793457,40.3843583 18.5597268,41.4309776 C15.5577203,55.057365 30.2297484,55.161659 39.2489049,52.6401668 C40.1440491,52.3898612 41.9243599,50.7040626 43.1576153,50.1452033 C45.1734825,49.231769 47.3615008,48.8611654 49.5329344,48.5941256 C54.9337165,47.9661653 61.4247946,50.8693254 64.7228943,50.9641212 C68.0210328,51.0589131 72.7127563,50.1582941 75.5928121,50.3479196 C77.6825379,50.4454833 79.734518,50.8303777 81.7507717,51.3786556 C83.0558682,44.8897102 83.1481363,40.1071855 86.2420439,39 C88.0578592,39.2926449 89.4570618,41.8175853 90.4927503,43.1666676 C92.6062592,43.0809984 94.6134653,43.6270518 96.6091885,44.233091 C100.222332,43.7098824 103.254293,41.6394732 106.445091,40.0288813 C103.211767,42.7223157 102.77315,47.1042714 103.142605,51.1564486 C103.280001,53.2591496 102.697713,55.5420684 101.977868,57.6949551 C100.630795,61.2025356 98.0292951,64.8997754 95.009908,64.7101481 C93.868464,64.673306 93.2053722,64.0138 92.3570101,63.3096933 C92.1924386,64.7358711 91.5456263,66.0084523 90.9221089,67.2697748 C89.4822206,70.066388 85.7194927,71.2987762 82.2354164,74.2849828 C78.7515768,77.2712347 83.3502408,87.9363951 84.4652464,89.8796277 C85.5800708,91.8230453 88.6922789,92.5339992 87.484639,94.28798 C87.1151913,94.8672415 86.5502884,95.0744181 85.9465544,95.2991347 L85.1274062,95.4080042 Z M45.0303574,86.5575217 L45.5828655,86.699414 C46.277142,86.4290005 47.6727292,86.8469317 48.4130246,87.0512628 C47.0498362,85.7357167 44.9960929,83.8038623 43.5164417,82.5859671 C43.0307739,81.1115156 43.2380006,79.6278431 43.3424927,78.122648 L43.3634516,77.9981264 C42.7802099,79.2030731 42.040056,80.3743566 41.6422405,81.6426885 C41.176708,83.3537773 43.7112632,85.1999538 44.6940603,86.2580263 L45.0303574,86.5575217 Z"></path>
</g>
</svg>

View File

@ -0,0 +1,8 @@
title: $:/core/images/export-button
tags: $:/tags/Image
<svg class="tw-image-export-button tw-image-button" width="22pt" height="22pt" viewBox="0 0 128 128">
<g fill-rule="evenodd">
<path d="M128.078948,81.2190241 L128.078948,103.072887 C128.078948,110.252507 122.258391,116.079527 115.07837,116.079527 L13.0007031,116.079527 C5.81517113,116.079527 0.0001254444,110.256256 0.0001254444,103.072887 L0.0001254444,60.043677 C0.0001254444,52.8640576 5.82068232,47.037037 13.0007031,47.037037 L50.9939627,47.037037 C46.9232966,53.1682159 47.3681412,61.433368 52.4317358,67.049353 L36.0221654,67.049353 C31.0486129,67.049353 27.016752,71.0784493 27.016752,76.0490922 L27.016752,86.0668561 C27.016752,91.0372749 31.0503474,95.0665954 36.0221654,95.0665954 L92.0569077,95.0665954 C97.0304602,95.0665954 101.062321,91.0374991 101.062321,86.0668561 L101.062321,76.6968446 L104.185741,73.5608014 L108.938546,78.3104149 C114.124001,83.4958696 121.907794,84.4351094 128.078948,81.2190241 L128.078948,81.2190241 Z M126.997239,16.6885444 C127.022653,13.3460126 124.333584,10.6569433 120.991052,10.682357 L71.0419165,11.0621275 C67.6993847,11.0875413 64.9691114,13.8178146 64.9436976,17.1603465 C64.9314934,18.7654933 65.5574285,20.3000438 66.6838081,21.4264234 L74.4804244,29.2230397 C76.8259808,31.5685961 76.7968452,35.4006519 74.4153482,37.7821489 L60.4010471,51.79645 C58.0195502,54.1779469 57.9904145,58.0100028 60.3359709,60.3555592 L77.324037,77.3436253 C79.6695934,79.6891817 83.5016493,79.6600461 85.8831462,77.2785491 L99.8974474,63.264248 C102.278944,60.8827511 106.111,60.8536154 108.456557,63.1991718 L116.253173,70.9957881 C118.598729,73.3413446 122.430785,73.3122089 124.812282,70.930712 C125.955921,69.7870731 126.605265,68.2428265 126.617469,66.6376797 L126.997239,16.6885444 Z"></path>
</g>
</svg>

View File

@ -0,0 +1,8 @@
title: $:/core/images/plugin-generic-language
tags: $:/tags/Image
<svg width="22pt" height="22pt" viewBox="0 0 128 128">
<g fill-rule="evenodd">
<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>
</g>
</svg>

View File

@ -0,0 +1,8 @@
title: $:/core/images/plugin-generic-plugin
tags: $:/tags/Image
<svg width="22pt" height="22pt" viewBox="0 0 128 128">
<g fill-rule="evenodd">
<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>
</g>
</svg>

View File

@ -0,0 +1,8 @@
title: $:/core/images/plugin-generic-theme
tags: $:/tags/Image
<svg width="22pt" height="22pt" viewBox="0 0 128 128">
<g fill-rule="evenodd">
<path d="M27.6619958,98.5383065 C27.5690581,98.5388896 27.4761291,98.539182 27.383212,98.539182 C41.5122315,92.2342259 36.7359182,71.4340774 52.2062903,71.4340772 C52.3396942,72.0325374 52.4778143,72.6764878 52.6543744,73.3309353 C41.7206358,71.5725612 42.70852,93.6013809 27.6619958,98.5383065 Z M27.962646,98.5354078 C44.3675979,98.3221342 60.9448114,89.104528 60.944811,79.6231217 C57.0326028,79.6231217 55.0057081,78.1546059 53.8483468,76.2715831 C46.8437297,73.3160546 41.0335584,95.5643154 27.9626323,98.5354081 Z M60.4476718,66.8723739 C57.4632888,63.6421817 54.9582687,60.7541572 53.4305549,58.7453802 C47.3662923,50.7715364 44.307483,54.9700909 40.8462757,58.7453801 C37.3850684,62.5206692 41.7580858,65.5796149 38.4732643,68.2464352 C35.1884428,70.9132556 35.391237,71.8376623 29.8473278,66.9588778 C24.3034186,62.0800933 23.919977,60.7368279 26.4649349,57.9530299 C29.0098928,55.1692318 31.1369568,59.5524845 36.3357237,54.6053302 C41.5344905,49.6581758 37.1673192,45.2736183 37.1673192,45.2736183 C37.1673192,45.2736183 47.9916921,23.1463023 62.4556497,24.7805686 C76.9196074,26.4148348 56.9839048,22.6644011 52.0250205,40.0179431 C49.9018746,47.4478606 52.4201529,45.6971267 56.4460414,48.8353078 C57.8695188,49.9449088 63.120208,53.6842856 69.3136884,58.3372485 C77.8095419,50.1273311 87.3705002,40.8200581 90.1462007,38.0443577 C94.9225135,33.268045 99.6988262,38.0443577 94.9225134,42.8206705 C92.2168565,45.5263274 83.0052228,54.3768782 74.6585455,62.4104777 C84.7196352,70.2010353 95.1107413,79.0341049 95.1107416,82.5307694 C95.1107421,88.9149413 92.3944614,92.7263341 86.6764506,90.6368273 C83.0906414,89.3264812 73.3126471,80.2536547 65.0234105,71.7029822 C62.8994697,73.7599251 61.2357389,75.3821997 60.3189624,76.2989761 C57.6045976,78.4574835 53.6647127,73.2589589 55.5426497,71.5226634 C56.5140946,70.6244887 58.249291,68.9770292 60.4476718,66.8723739 L60.4476718,66.8723739 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z"></path>
</g>
</svg>

View File

@ -0,0 +1,9 @@
title: $:/core/images/tag-button
tags: $:/tags/Image
<svg class="tw-image-tag-button tw-image-button" width="22pt" height="22pt" viewBox="0 0 128 128">
<g fill-rule="evenodd">
<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>
<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>
</g>
</svg>

View File

@ -52,5 +52,7 @@ HideSideBar/Caption: hide sidebar
HideSideBar/Hint: Hide sidebar
ShowSideBar/Caption: show sidebar
ShowSideBar/Hint: Show sidebar
TagManager/Caption: tag manager
TagManager/Hint: Open tag manager
Theme/Caption: theme
Theme/Hint: Choose the display theme

View File

@ -64,9 +64,6 @@ Basics/Title/Prompt: Title of this ~TiddlyWiki:
Basics/Username/Prompt: Username for signing edits:
Basics/Version/Prompt: ~TiddlyWiki version:
Plugins/Caption: Plugins
Plugins/Fields/Description: Description
Plugins/Fields/Title: Title
Plugins/Fields/Version: Version
Plugins/Language/Prompt: Languages
Plugins/Plugin/Prompt: Plugins
Plugins/Theme/Prompt: Themes

View File

@ -30,3 +30,4 @@ TagManager/Colour/Heading: Colour
TagManager/Count/Heading: Count
TagManager/Icon/Heading: Icon
TagManager/Tag/Heading: Tag
UnsavedChangesWarning: You have unsaved changes in TiddlyWiki

View File

@ -11,8 +11,6 @@ Recent/Caption: Recent
Shadows/Caption: Shadows
System/Caption: System
Tags/Caption: Tags
Tags/TagManager/Caption: Tag Manager
Tags/Untagged/Caption: untagged
Tools/Caption: Tools
Types/Caption: Types

View File

@ -1,4 +1,4 @@
title: $:/language/Flag
title: $:/languages/en-GB/icon
type: image/svg+xml
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30" width="1200" height="600">

View File

@ -48,7 +48,7 @@ exports.parse = function() {
// Advance the parser position to past the tag
this.parser.pos = tag.end;
// Check for an immediately following double linebreak
var hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\S\n]*\r?\n(?:[^\S\n]*\r?\n|$))/g);
var hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\S\n\r]*\r?\n(?:[^\S\n\r]*\r?\n|$))/g);
// Set whether we're in block mode
tag.isBlock = this.is.block || hasLineBreak;
// Parse the body if we need to
@ -125,7 +125,7 @@ exports.parseTag = function(source,pos,options) {
pos = token.end;
// Check for a required line break
if(options.requireLineBreak) {
token = $tw.utils.parseTokenRegExp(source,pos,/([^\S\n]*\r?\n(?:[^\S\n]*\r?\n|$))/g);
token = $tw.utils.parseTokenRegExp(source,pos,/([^\S\n\r]*\r?\n(?:[^\S\n\r]*\r?\n|$))/g);
if(!token) {
return null;
}

View File

@ -27,7 +27,7 @@ Instantiate parse rule
exports.init = function(parser) {
this.parser = parser;
// Regexp to match
this.matchRegExp = /^\\define\s+([^(\s]+)\(\s*([^)]*)\)(\r?\n)?/mg;
this.matchRegExp = /^\\define\s+([^(\s]+)\(\s*([^)]*)\)(\s*\r?\n)?/mg;
};
/*
@ -58,7 +58,7 @@ exports.parse = function() {
var reEnd;
if(this.match[3]) {
// If so, the end of the body is marked with \end
reEnd = /(\r?\n\\end\r?\n)/mg;
reEnd = /(\r?\n\\end(?:$|\r?\n))/mg;
} else {
// Otherwise, the end of the definition is marked by the end of the line
reEnd = /(\r?\n)/mg;

View File

@ -24,10 +24,10 @@ exports.name = "wikilink";
exports.types = {inline: true};
var textPrimitives = {
upperLetter: "[A-Z\u00c0-\u00de\u0150\u0170]",
lowerLetter: "[a-z0-9_\\-\u00df-\u00ff\u0151\u0171]",
anyLetter: "[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]",
anyLetterStrict: "[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]"
upperLetter: "[A-Z\u00c0-\u00d6\u00d8-\u00de\u0150\u0170]",
lowerLetter: "[a-z0-9\u00df-\u00f6\u00f8-\u00ff\u0151\u0171]",
anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]",
blockPrefixLetters: "[A-Za-z0-9\-_\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]"
};
textPrimitives.unWikiLink = "~";
@ -54,9 +54,9 @@ exports.parse = function() {
if(linkText.substr(0,1) === textPrimitives.unWikiLink) {
return [{type: "text", text: linkText.substr(1)}];
}
// If the link has been preceded with a letter then don't treat it as a link
// If the link has been preceded with a blocked letter then don't treat it as a link
if(this.match.index > 0) {
var preRegExp = new RegExp(textPrimitives.anyLetterStrict,"mg");
var preRegExp = new RegExp(textPrimitives.blockPrefixLetters,"mg");
preRegExp.lastIndex = this.match.index-1;
var preMatch = preRegExp.exec(this.parser.source);
if(preMatch && preMatch.index === this.match.index-1) {

View File

@ -0,0 +1,170 @@
/*\
title: $:/core/modules/saver-handler.js
type: application/javascript
module-type: global
The saver handler tracks changes to the store and handles saving the entire wiki via saver modules.
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Instantiate the saver handler with the following options:
wiki: wiki to be synced
*/
function SaverHandler(options) {
var self = this;
this.wiki = options.wiki;
// Make a logger
this.logger = new $tw.utils.Logger("saver-handler");
// Initialise our savers
if($tw.browser) {
this.initSavers();
}
// Compile the dirty tiddler filter
this.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));
// Count of tiddlers that have been changed but not yet saved
this.numTasksInQueue = 0;
// Listen out for changes to tiddlers
this.wiki.addEventListener("change",function(changes) {
var filteredChanges = self.filterFn.call(self.wiki,function(callback) {
$tw.utils.each(changes,function(change,title) {
var tiddler = self.wiki.getTiddler(title);
callback(tiddler,title);
});
});
self.numTasksInQueue += filteredChanges.length;
self.updateDirtyStatus();
});
// Browser event handlers
if($tw.browser) {
// Set up our beforeunload handler
window.addEventListener("beforeunload",function(event) {
var confirmationMessage = undefined;
if(self.isDirty()) {
confirmationMessage = $tw.language.getString("UnsavedChangesWarning");
event.returnValue = confirmationMessage; // Gecko
}
return confirmationMessage;
});
// Install the save action handlers
$tw.rootWidget.addEventListener("tw-save-wiki",function(event) {
self.saveWiki({
template: event.param,
downloadType: "text/plain"
});
});
$tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) {
self.saveWiki({
method: "autosave",
template: event.param,
downloadType: "text/plain"
});
});
$tw.rootWidget.addEventListener("tw-download-file",function(event) {
self.saveWiki({
method: "download",
template: event.param,
downloadType: "text/plain"
});
});
}
}
SaverHandler.prototype.titleSyncFilter = "$:/config/SyncFilter";
SaverHandler.prototype.titleAutoSave = "$:/config/AutoSave";
SaverHandler.prototype.titleSavedNotification = "$:/language/Notifications/Save/Done";
/*
Select the appropriate saver modules and set them up
*/
SaverHandler.prototype.initSavers = function(moduleType) {
moduleType = moduleType || "saver";
// Instantiate the available savers
this.savers = [];
var self = this;
$tw.modules.forEachModuleOfType(moduleType,function(title,module) {
if(module.canSave(self)) {
self.savers.push(module.create(self.wiki));
}
});
// Sort the savers into priority order
this.savers.sort(function(a,b) {
if(a.info.priority < b.info.priority) {
return -1;
} else {
if(a.info.priority > b.info.priority) {
return +1;
} else {
return 0;
}
}
});
};
/*
Save the wiki contents. Options are:
method: "save" or "download"
template: the tiddler containing the template to save
downloadType: the content type for the saved file
*/
SaverHandler.prototype.saveWiki = function(options) {
options = options || {};
var self = this,
method = options.method || "save",
template = options.template || "$:/core/save/all",
downloadType = options.downloadType || "text/plain",
text = this.wiki.renderTiddler(downloadType,template),
callback = function(err) {
if(err) {
alert("Error while saving:\n\n" + err);
} else {
$tw.notifier.display(self.titleSavedNotification);
if(options.callback) {
options.callback();
}
}
};
// Ignore autosave if disabled
if(method === "autosave" && this.wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes") {
return false;
}
// Call the highest priority saver that supports this method
for(var t=this.savers.length-1; t>=0; t--) {
var saver = this.savers[t];
if(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback)) {
this.logger.log("Saving wiki with method",method,"through saver",saver.info.name);
// Clear the task queue if we're saving (rather than downloading)
if(method !== "download") {
this.numTasksInQueue = 0;
this.updateDirtyStatus();
}
return true;
}
}
return false;
};
/*
Checks whether the wiki is dirty (ie the window shouldn't be closed)
*/
SaverHandler.prototype.isDirty = function() {
return this.numTasksInQueue > 0;
};
/*
Update the document body with the class "tw-dirty" if the wiki has unsaved/unsynced changes
*/
SaverHandler.prototype.updateDirtyStatus = function() {
if($tw.browser) {
$tw.utils.toggleClass(document.body,"tw-dirty",this.isDirty());
}
};
exports.SaverHandler = SaverHandler;
})();

View File

@ -15,7 +15,7 @@ Password handling
// Export name and synchronous status
exports.name = "password";
exports.platforms = ["browser"];
exports.after = ["rootwidget"];
exports.after = ["startup"];
exports.synchronous = true;
exports.startup = function() {

View File

@ -15,21 +15,11 @@ Setup the root widget and the core root widget handlers
// Export name and synchronous status
exports.name = "rootwidget";
exports.platforms = ["browser"];
exports.after = ["load-modules"];
exports.after = ["startup"];
exports.before = ["story"];
exports.synchronous = true;
var widget = require("$:/core/modules/widgets/widget.js");
exports.startup = function() {
// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers
$tw.rootWidget = new widget.widget({
type: "widget",
children: []
},{
wiki: $tw.wiki,
document: document
});
// Install the modal message mechanism
$tw.modal = new $tw.utils.Modal($tw.wiki);
$tw.rootWidget.addEventListener("tw-modal",function(event) {
@ -45,36 +35,16 @@ exports.startup = function() {
$tw.rootWidget.addEventListener("tw-scroll",function(event) {
$tw.pageScroller.handleEvent(event);
});
// Install the save action handlers
$tw.rootWidget.addEventListener("tw-save-wiki",function(event) {
$tw.syncer.saveWiki({
template: event.param,
downloadType: "text/plain"
});
});
$tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) {
$tw.syncer.saveWiki({
method: "autosave",
template: event.param,
downloadType: "text/plain"
});
});
$tw.rootWidget.addEventListener("tw-download-file",function(event) {
$tw.syncer.saveWiki({
method: "download",
template: event.param,
downloadType: "text/plain"
});
});
var fullscreen = $tw.utils.getFullScreenApis();
$tw.rootWidget.addEventListener("tw-full-screen",function(event) {
if(document[fullscreen._fullscreenElement]) {
document[fullscreen._exitFullscreen]();
} else {
document.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);
}
});
if(fullscreen) {
$tw.rootWidget.addEventListener("tw-full-screen",function(event) {
if(document[fullscreen._fullscreenElement]) {
document[fullscreen._exitFullscreen]();
} else {
document.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);
}
});
}
// If we're being viewed on a data: URI then give instructions for how to save
if(document.location.protocol === "data:") {
$tw.rootWidget.dispatchEvent({

View File

@ -20,6 +20,8 @@ exports.synchronous = true;
// Set to `true` to enable performance instrumentation
var PERFORMANCE_INSTRUMENTATION = false;
var widget = require("$:/core/modules/widgets/widget.js");
exports.startup = function() {
var modules,n,m,f;
if($tw.browser) {
@ -50,19 +52,31 @@ exports.startup = function() {
});
// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup
$tw.wiki.clearTiddlerEventQueue();
// Set up the syncer object
$tw.syncer = new $tw.Syncer({wiki: $tw.wiki});
// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers
if($tw.browser) {
$tw.rootWidget = new widget.widget({
type: "widget",
children: []
},{
wiki: $tw.wiki,
document: document
});
}
// Find a working syncadaptor
$tw.syncadaptor = undefined;
$tw.modules.forEachModuleOfType("syncadaptor",function(title,module) {
if(!$tw.syncadaptor && module.adaptorClass) {
$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});
}
});
// Set up the syncer object if we've got a syncadaptor, otherwise setup the saverhandler
if($tw.syncadaptor) {
$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});
} else {
$tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki});
}
// Host-specific startup
if($tw.browser) {
// Set up our beforeunload handler
window.addEventListener("beforeunload",function(event) {
var confirmationMessage = undefined;
if($tw.syncer.isDirty()) {
confirmationMessage = "You have unsaved changes in TiddlyWiki";
event.returnValue = confirmationMessage; // Gecko
}
return confirmationMessage;
});
// Install the popup manager
$tw.popup = new $tw.utils.Popup({
rootElement: document.body

View File

@ -1,34 +0,0 @@
/*\
title: $:/core/modules/startup/syncer-browser.js
type: application/javascript
module-type: startup
Startup handling
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
// Export name and synchronous status
exports.name = "syncer-browser";
exports.platforms = ["browser"];
exports.after = ["rootwidget"];
exports.synchronous = true;
exports.startup = function() {
// Listen out for login/logout/refresh events in the browser
$tw.rootWidget.addEventListener("tw-login",function() {
$tw.syncer.handleLoginEvent();
});
$tw.rootWidget.addEventListener("tw-logout",function() {
$tw.syncer.handleLogoutEvent();
});
$tw.rootWidget.addEventListener("tw-server-refresh",function() {
$tw.syncer.handleRefreshEvent();
});
};
})();

View File

@ -14,24 +14,15 @@ The syncer tracks changes to the store. If a syncadaptor is used then individual
/*
Instantiate the syncer with the following options:
syncadaptor: reference to syncadaptor to be used
wiki: wiki to be synced
*/
function Syncer(options) {
var self = this;
this.wiki = options.wiki;
this.syncadaptor = options.syncadaptor
// Make a logger
this.logger = new $tw.utils.Logger("syncer" + ($tw.browser ? "-browser" : "") + ($tw.node ? "-server" : ""));
// Find a working syncadaptor
this.syncadaptor = undefined;
$tw.modules.forEachModuleOfType("syncadaptor",function(title,module) {
if(!self.syncadaptor && module.adaptorClass) {
self.syncadaptor = new module.adaptorClass(self);
}
});
// Initialise our savers
if($tw.browser) {
this.initSavers();
}
// Compile the dirty tiddler filter
this.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));
// Record information for known tiddlers
@ -45,12 +36,32 @@ function Syncer(options) {
this.wiki.addEventListener("change",function(changes) {
self.syncToServer(changes);
});
// Listen out for lazyLoad events
if(this.syncadaptor) {
this.wiki.addEventListener("lazyLoad",function(title) {
self.handleLazyLoadEvent(title);
// Browser event handlers
if($tw.browser) {
// Set up our beforeunload handler
window.addEventListener("beforeunload",function(event) {
var confirmationMessage = undefined;
if(self.isDirty()) {
confirmationMessage = $tw.language.getString("UnsavedChangesWarning");
event.returnValue = confirmationMessage; // Gecko
}
return confirmationMessage;
});
// Listen out for login/logout/refresh events in the browser
$tw.rootWidget.addEventListener("tw-login",function() {
self.handleLoginEvent();
});
$tw.rootWidget.addEventListener("tw-logout",function() {
self.handleLogoutEvent();
});
$tw.rootWidget.addEventListener("tw-server-refresh",function() {
self.handleRefreshEvent();
});
}
// Listen out for lazyLoad events
this.wiki.addEventListener("lazyLoad",function(title) {
self.handleLazyLoadEvent(title);
});
// Get the login status
this.getStatus(function (err,isLoggedIn) {
// Do a sync from the server
@ -64,7 +75,6 @@ Constants
Syncer.prototype.titleIsLoggedIn = "$:/status/IsLoggedIn";
Syncer.prototype.titleUserName = "$:/status/UserName";
Syncer.prototype.titleSyncFilter = "$:/config/SyncFilter";
Syncer.prototype.titleAutoSave = "$:/config/AutoSave";
Syncer.prototype.titleSavedNotification = "$:/language/Notifications/Save/Done";
Syncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer
Syncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...
@ -91,79 +101,6 @@ Syncer.prototype.readTiddlerInfo = function() {
});
};
/*
Select the appropriate saver modules and set them up
*/
Syncer.prototype.initSavers = function(moduleType) {
moduleType = moduleType || "saver";
// Instantiate the available savers
this.savers = [];
var self = this;
$tw.modules.forEachModuleOfType(moduleType,function(title,module) {
if(module.canSave(self)) {
self.savers.push(module.create(self.wiki));
}
});
// Sort the savers into priority order
this.savers.sort(function(a,b) {
if(a.info.priority < b.info.priority) {
return -1;
} else {
if(a.info.priority > b.info.priority) {
return +1;
} else {
return 0;
}
}
});
};
/*
Save the wiki contents. Options are:
method: "save" or "download"
template: the tiddler containing the template to save
downloadType: the content type for the saved file
*/
Syncer.prototype.saveWiki = function(options) {
options = options || {};
var self = this,
method = options.method || "save",
template = options.template || "$:/core/save/all",
downloadType = options.downloadType || "text/plain",
text = this.wiki.renderTiddler(downloadType,template),
callback = function(err) {
if(err) {
alert("Error while saving:\n\n" + err);
} else {
$tw.notifier.display(self.titleSavedNotification);
if(options.callback) {
options.callback();
}
}
};
// Ignore autosave if we've got a syncadaptor or autosave is disabled
if(method === "autosave") {
if(this.syncadaptor || this.wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes") {
return false;
}
}
// Call the highest priority saver that supports this method
for(var t=this.savers.length-1; t>=0; t--) {
var saver = this.savers[t];
if(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback)) {
this.logger.log("Saving wiki with method",method,"through saver",saver.info.name);
// Clear the task queue if we're saving (rather than downloading)
if(method !== "download") {
this.readTiddlerInfo();
this.taskQueue = {};
this.updateDirtyStatus();
}
return true;
}
}
return false;
};
/*
Checks whether the wiki is dirty (ie the window shouldn't be closed)
*/
@ -415,9 +352,7 @@ Syncer.prototype.enqueueSyncTask = function(task) {
this.updateDirtyStatus();
}
// Process the queue
if(this.syncadaptor) {
$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});
}
$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});
};
/*
@ -498,7 +433,7 @@ Syncer.prototype.chooseNextTask = function() {
// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time
if(task.type === "save" && (now - task.lastModificationTime) < self.throttleInterval &&
(now - task.queueTime) < self.fallbackInterval) {
return;
return;
}
// Exclude the task if it is newer than the current best candidate
if(candidateTask && candidateTask.queueTime < task.queueTime) {
@ -560,6 +495,8 @@ Syncer.prototype.dispatchTask = function(task,callback) {
}
// Invoke the callback
callback(null);
},{
tiddlerInfo: self.tiddlerInfo[task.title]
});
}
};

View File

@ -135,8 +135,8 @@ Return the names of the fullscreen APIs
*/
exports.getFullScreenApis = function() {
var d = document,
db = d.body;
return {
db = d.body,
result = {
"_requestFullscreen": db.webkitRequestFullscreen !== undefined ? "webkitRequestFullscreen" :
db.mozRequestFullScreen !== undefined ? "mozRequestFullScreen" :
db.msRequestFullscreen !== undefined ? "msRequestFullscreen" :
@ -150,6 +150,11 @@ exports.getFullScreenApis = function() {
d.msFullscreenElement !== undefined ? "msFullscreenElement" :
d.fullscreenElement !== undefined ? "fullscreenElement" : ""
};
if(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement) {
return null;
} else {
return result;
}
};
})();

View File

@ -83,7 +83,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/
EditWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index) {
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.editTitle]) {
this.refreshSelf();
return true;
} else {

View File

@ -56,7 +56,11 @@ LinkWidget.prototype.renderLink = function(parent,nextSibling) {
// Create our element
var domNode = this.document.createElement("a");
// Assign classes
var classes = ["tw-tiddlylink"];
var classes = [];
if(this.linkClasses) {
classes.push(this.linkClasses);
}
classes.push("tw-tiddlylink");
if(this.isShadow) {
classes.push("tw-tiddlylink-shadow");
}
@ -182,6 +186,8 @@ LinkWidget.prototype.execute = function() {
// Get the link title and aria label
this.tooltip = this.getAttribute("tooltip");
this["aria-label"] = this.getAttribute("aria-label");
// Get the link classes
this.linkClasses = this.getAttribute("class");
// Determine the link characteristics
this.isMissing = !this.wiki.tiddlerExists(this.to);
this.isShadow = this.wiki.isShadowTiddler(this.to);

View File

@ -30,8 +30,9 @@ TextNodeWidget.prototype.render = function(parent,nextSibling) {
this.parentDomNode = parent;
this.computeAttributes();
this.execute();
var text = this.getAttribute("text",this.parseTreeNode.text),
textNode = this.document.createTextNode(text);
var text = this.getAttribute("text",this.parseTreeNode.text);
text = text.replace(/\r/mg,"");
var textNode = this.document.createTextNode(text);
parent.insertBefore(textNode,nextSibling);
this.domNodes.push(textNode);
};

View File

@ -85,6 +85,8 @@ TranscludeWidget.prototype.makeRecursionMarker = function() {
output.push(this.transcludeField || "");
output.push("|");
output.push(this.transcludeIndex || "");
output.push("|");
output.push(this.transcludeSubTiddler || "");
output.push("}");
return output.join("");
};

View File

@ -3,5 +3,6 @@
"description": "TiddlyWiki5 core plugin",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"plugin-priority": "0"
"plugin-priority": "0",
"list": "readme"
}

8
core/readme.tid Normal file
View File

@ -0,0 +1,8 @@
title: $:/core/readme
This plugin contains TiddlyWiki's core components, comprising:
* JavaScript code modules
* Icons
* Templates needed to create TiddlyWiki's user interface
* British English (''en-GB'') translations of the localisable strings used by the core

View File

@ -3,32 +3,64 @@ tags: $:/tags/ControlPanel
caption: {{$:/language/ControlPanel/Plugins/Caption}}
\define lingo-base() $:/language/ControlPanel/Plugins/
\define popup-state-macro()
$(qualified-state)$-$(currentTiddler)$
\end
\define tabs-state-macro()
$(popup-state)$-$(pluginInfoType)$
\end
\define plugin-icon-title()
$(currentTiddler)$/icon
\end
\define plugin-table(type)
<table>
<tbody>
<tr>
<th>
<<lingo Fields/Description>>
</th>
<th>
<<lingo Fields/Version>>
</th>
</tr>
<$set name="qualified-state" value=<<qualify "$:/state/plugin-info">>>
<$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]">
<tr>
<td>
<$link to={{!!title}}>
''<$view field="description"><$view field="title"/></$view>''<br>
<$set name="popup-state" value=<<popup-state-macro>>>
<$link to={{!!title}} class="tw-plugin-info">
<div class="tw-plugin-info-chunk">
<$reveal type="nomatch" state=<<popup-state>> text="yes">
<$button class="btn-invisible btn-dropdown" set=<<popup-state>> setTo="yes">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" state=<<popup-state>> text="yes">
<$button class="btn-invisible btn-dropdown" set=<<popup-state>> setTo="no">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
</div>
<div class="tw-plugin-info-chunk">
<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>
<$transclude tiddler="$:/core/images/plugin-generic-$type$"/>
</$transclude>
</div>
<div class="tw-plugin-info-chunk">
<div>
''<$view field="description"><$view field="title"/></$view>''
</div>
<div>
<$view field="title"/>
</$link>
</td>
<td>
</div>
<div>
<$view field="version"/>
</td>
</tr>
</div>
</div>
</$link>
<$reveal type="match" text="yes" state=<<popup-state>>>
<$reveal type="nomatch" text="" state="!!list">
<div class="tw-plugin-info-dropdown">
<$macrocall $name="tabs" state=<<tabs-state-macro>> tabsList={{!!list}} default="readme" template="$:/core/ui/PluginInfo"/>
</div>
</$reveal>
<$reveal type="match" text="" state="!!list">
<div class="tw-plugin-info-dropdown">
No information provided
</div>
</$reveal>
</$reveal>
</$set>
</$list>
</tbody>
</table>
</$set>
\end
! <<lingo Plugin/Prompt>>

View File

@ -5,12 +5,15 @@ tags: $:/tags/EditTemplate
\define config-title()
$:/config/EditTemplateFields/Visibility/$(currentField)$
\end
\define config-filter()
[[hide]] -[title{$(config-title)$}]
\end
<$fieldmangler>
<div class="tw-edit-fields">
<table class="tw-edit-fields">
<tbody>
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField">
<$reveal type="nomatch" state=<<config-title>> text="hide">
<$list filter=<<config-filter>> variable="temp">
<tr class="tw-edit-field">
<td class="tw-edit-field-name">
<$text text=<<currentField>>/>:</td>
@ -21,7 +24,7 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
<$button message="tw-remove-field" param=<<currentField>> class="btn-invisible">{{$:/core/images/delete-button}}</$button>
</td>
</tr>
</$reveal>
</$list>
</$list>
</tbody>
</table>

View File

@ -2,8 +2,19 @@ title: $:/core/ui/MoreSideBar/Tags
tags: $:/tags/MoreSideBar
caption: {{$:/language/SideBar/Tags/Caption}}
\define lingo-base() $:/language/SideBar/Tags/
<$button to="$:/TagManager" class="btn"><<lingo TagManager/Caption>></$button>
<$set name="tw-config-toolbar-icons" value="yes">
<$set name="tw-config-toolbar-text" value="yes">
<$set name="tw-config-toolbar-class" value="">
{{$:/core/ui/Buttons/tag-manager}}
</$set>
</$set>
</$set>
<$list filter="[tags[]!is[system]sort[title]]">

View File

@ -3,10 +3,15 @@ tags: $:/tags/PageControls
caption: {{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}
description: {{$:/language/Buttons/Language/Hint}}
\define flag-title()
$(languagePluginTitle)$/icon
\end
<$button popup=<<qualify "$:/state/popup/language">> title={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tw-config-toolbar-class>> selectedClass="tw-selected">
<$list filter="[<tw-config-toolbar-icons>prefix[yes]]">
<span class="tw-image-button">
<$image source="$:/language/Flag"/>
<$set name="languagePluginTitle" value={{$:/language}}>
<$image source=<<flag-title>>/>
</$set>
</span>
</$list>
<$list filter="[<tw-config-toolbar-text>prefix[yes]]">
@ -27,11 +32,13 @@ description: {{$:/language/Buttons/Language/Hint}}
</$reveal>
</span>
<span class="tw-image-button">
<$transclude subtiddler="$:/language/Flag">
<$set name="languagePluginTitle" value=<<currentTiddler>>>
<$transclude subtiddler=<<flag-title>>>
<$list filter="[all[current]field:title[$:/languages/en-GB]]">
<$transclude tiddler="$:/core" subtiddler="$:/language/Flag"/>
<$transclude tiddler="$:/languages/en-GB/icon"/>
</$list>
</$transclude>
</$set>
</span>
<$view field="description">
<$view field="name">

View File

@ -0,0 +1,13 @@
title: $:/core/ui/Buttons/tag-manager
tags: $:/tags/PageControls
caption: {{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}
description: {{$:/language/Buttons/TagManager/Hint}}
<$button to="$:/TagManager" title={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=<<tw-config-toolbar-class>>>
<$list filter="[<tw-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/tag-button}}
</$list>
<$list filter="[<tw-config-toolbar-text>prefix[yes]]">
<$text text={{$:/language/Buttons/TagManager/Caption}}/>
</$list>
</$button>

15
core/ui/PluginInfo.tid Normal file
View File

@ -0,0 +1,15 @@
title: $:/core/ui/PluginInfo
\define localised-info-tiddler-title()
$(currentTiddler)$/$(languageTitle)$/$(currentTab)$
\end
\define info-tiddler-title()
$(currentTiddler)$/$(currentTab)$
\end
<$transclude tiddler=<<localised-info-tiddler-title>> mode="block">
<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode="block">
<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode="block">
No ''"<$text text=<<currentTab>>/>"'' found
</$transclude>
</$transclude>
</$transclude>

View File

@ -1,19 +1,24 @@
title: $:/TagManager
\define lingo-base() $:/language/TagManager/
\define iconEditor(title)
<$edit-text field="icon" tag="input" size="20"/> <$button popup=<<qualify "$:/state/popup/icon/$title$">> class="btn-invisible btn-dropdown">{{$:/core/images/down-arrow}}</$button>
<div class="tw-block-dropdown-wrapper">
<$reveal state=<<qualify "$:/state/popup/icon/$title$">> type="nomatch" text="" default="">
<$linkcatcher to="$title$!!icon">
<div class="tw-block-dropdown tw-edit-type-dropdown">
<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] +[sort[title]]">
\define iconEditorTab(type)
<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]">
<$link to={{!!title}}>
<$view field="title"/>
<$transclude/> <$view field="title"/>
</$link>
</$list>
</div>
\end
\define iconEditor(title)
<div class="tw-drop-down-wrapper">
<$edit-text field="icon" tag="input" size="20"/> <$button popup=<<qualify "$:/state/popup/icon/$title$">> class="btn-invisible btn-dropdown">{{$:/core/images/down-arrow}}</$button>
<$reveal state=<<qualify "$:/state/popup/icon/$title$">> type="popup" position="belowleft" text="" default="">
<div class="tw-drop-down">
<$linkcatcher to="$title$!!icon">
<<iconEditorTab type:"!">>
<hr/>
<<iconEditorTab type:"">>
</$linkcatcher>
</div>
</$reveal>
</div>
\end

View File

@ -10,3 +10,5 @@ modifier: hide
type: hide
draft.title: hide
draft.of: hide
revision: hide
bag: hide

View File

@ -0,0 +1,8 @@
title: $:/config/EditorTypeMappings/
image/gif: bitmap
image/jpeg: bitmap
image/jpg: bitmap
image/png: bitmap
image/x-icon: bitmap
text/vnd.tiddlywiki: text

View File

@ -6,6 +6,7 @@ core/ui/Buttons/full-screen: hide
core/ui/Buttons/home: hide
core/ui/Buttons/import: hide
core/ui/Buttons/language: hide
core/ui/Buttons/tag-manager: hide
core/ui/Buttons/more-page-actions: hide
core/ui/Buttons/permaview: hide
core/ui/Buttons/storyview: hide

View File

@ -1,3 +1,3 @@
title: $:/config/SyncFilter
[is[tiddler]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/isEncrypted]] -[prefix[$:/status]] -[prefix[$:/state]] -[prefix[$:/temp]]
[is[tiddler]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status]] -[prefix[$:/state]] -[prefix[$:/temp]]

3
core/wiki/language.tid Normal file
View File

@ -0,0 +1,3 @@
title: $:/language
$:/languages/en-GB

View File

@ -1,2 +1,2 @@
title: $:/tags/PageControls
list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/more-page-actions]]
list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/more-page-actions]]

View File

@ -45,6 +45,16 @@ describe("WikiText tests", function() {
it("should support attributes specified as macro invocations", function() {
expect(wiki.renderTiddler("text/html","TiddlerFour")).toBe("<p><a class='tw-tiddlylink tw-tiddlylink-missing' href='#This%20is%20my%20''amazingly''%20groovy%20macro!'>This is a link</a></p>");
});
it("should identify wikiwords to automatically link", function() {
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No wikilinks here").indexOf("<a") !== -1).toBe(false);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","One WikiLink here").indexOf("<a") !== -1).toBe(true);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No Wiki-Link here").indexOf("<a") !== -1).toBe(false);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No Wiki×Link here").indexOf("<a") !== -1).toBe(false);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No Wiki÷Link here").indexOf("<a") !== -1).toBe(false);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No xWikiLink here").indexOf("<a") !== -1).toBe(false);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No -WikiLink here").indexOf("<a") !== -1).toBe(false);
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No _WikiLink here").indexOf("<a") !== -1).toBe(false);
});
});

View File

@ -33,4 +33,4 @@ eg: `Jeremy Ruston, @Jermolene, 2011/11/22`
!!!! Attribution
The CLA documents used for this project were created using [[Harmony Project Templates|http://www.harmonyagreements.org]]. "~HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "~HA-CLA-E-LIST Version 1.0" for "CLA-entity"
The CLA documents used for this project were created using [[Harmony Project Templates|http://www.harmonyagreements.org]]. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity"

View File

@ -1,5 +1,5 @@
created: 20131129090249275
modified: 20140720212022007
modified: 20140811172052886
tags: introduction
title: GettingStarted
type: text/vnd.tiddlywiki
@ -11,31 +11,9 @@ GettingStarted - $(browser-name)$
<$macrocall $name="tabs" state="$:/state/tabs/platform" tabsList="[prefix[GettingStarted - ]]" default=<<default-platform>> class="tw-vertical"/>
</$set>
-----
See also:
TiddlyWiki is very flexible, and there are many different ways to use it. Here we're focusing on using it as a standalone file in the browser, which is a good choice for most users as it doesn't require any special knowledge or tools. For more options you can also run [[TiddlyWiki on Node.js]].
[[Video Tutorials]] are available, too.
! The 'works anywhere' method
{{Saving with the HTML5 fallback saver}}
! The convenient and fast method
Saving changes as described above is quite inconvenient because of the degree of manual intervention that browsers require. The following alternative method is recommended for everyone who is able to use Mozilla's [[Firefox]] browser.
{{Saving with TiddlyFox}}
! Other ways of saving changes
[[Saving with Encryption]] explains how to use TiddlyWiki's built-in encryption to protect your content with a password.
You can also try:
* [[Using TiddlyWiki on TiddlyDesktop]], a custom desktop application for working with TiddlyWiki
* [[Saving on iPad/iPhone]] with the custom ''TWEdit'' app
* [[Saving on Android]] with the custom ''~AndTidWiki'' app
* [[Saving on InternetExplorer]] with the [[TiddlyIE]] extension, or via the [[Windows HTA Hack]]
* [[Saving with Encryption]] explains how to use TiddlyWiki's built-in encryption to protect your content with a password
* [[Saving on TiddlySpot]], a free service that lets you use TiddlyWiki online
* Running [[TiddlyWiki on node-webkit]], turning a single TiddlyWiki into a native application on your desktop
* [[Using TiddlyWiki on TiddlyDesktop]], a custom desktop application for working with TiddlyWiki

View File

@ -1,12 +1,14 @@
created: 20130822170200000
modified: 20140624094134118
modified: 20140813164027280
tags: introduction
title: HelloThere
type: text/vnd.tiddlywiki
Welcome to TiddlyWiki, a complete interactive wiki in JavaScript. It can be used as a [[single HTML file in the browser|SingleFileApplication]] or as a powerful [[Node.js application|Node.js]]. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.
Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.
This is version <<version>> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki.
TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a [[single HTML file in the browser|SingleFileApplication]] or as a powerful [[Node.js application|Node.js]]. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.
This is version <<version-link>> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory) with a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki.
//~TiddlyWiki is a free, open source project that depends on [[your love and support|HelpingTiddlyWiki]] for its survival//.
@ -14,9 +16,7 @@ This is version <<version>> of ~TiddlyWiki, a major reboot designed [[for the ne
<a class="tw-message-icon" href="http://tiddlywiki.com/" target="_blank">{{TiddlyWiki Classic.png}}</a>
!! TiddlyWikiClassic - http://classic.tiddlywiki.com
!! TiddlyWikiClassic
On this site, unless noted otherwise, "~TiddlyWiki" refers to the new version 5, and "~TiddlyWikiClassic" is used to identify the older version.
The deep internal improvements mean that the new version of ~TiddlyWiki is not fully compatible with ~TiddlyWikiClassic. Existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures.
The original "Classic" version of TiddlyWiki is still available at http://classic.tiddlywiki.com. Note that it is not fully backwards compatible: existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures.
</div>

View File

@ -0,0 +1,20 @@
created: 20140809113603449
modified: 20140809113849873
tags: demo
title: ImageGallery Example
type: text/vnd.tiddlywiki
Here is an example of using the ListWidget and the TranscludeWidget to show a grid of all system images (ie, tiddlers tagged [[$:/tags/Image]]).
<style>
.my-gallery svg {
width: 6em;
height: 6em;
margin: 1em;
}
</style>
<div class="my-gallery">
<$list filter="[all[tiddlers+shadows]tag[$:/tags/Image]]">
<$transclude/>
</$list>
</div>

View File

@ -1,15 +1,26 @@
created: 20140518150234142
modified: 20140624094134118
caption: 5.0.14-beta
created: 20140718150234142
modified: 20140813153116300
tags: releasenote
title: Release 5.0.14-beta
type: text/vnd.tiddlywiki
caption: 5.0.14-beta
released: 201408131731
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.13-beta...v5.0.14-beta]]//
!! Major Changes
!!! Introduction of Upgrade Mechanism
!!! Improved Control Panel Plugins Tab
The ''Plugins'' tab of the [[control panel|$:/ControlPanel]] has been improved with the addition of documentation tabs that plugins can use to show documentation. There is also a larger draggable area for dragging tiddlers across to other wikis.
!!! Configurable Button Toolbars
The page toolbar and the tiddler toolbars can now be configured with several new buttons - see the [[control panel|$:/ControlPanel]] under the ''Appearance'' and ''Toolbars'' tabs.
The sidebar tools tab now shows all the available page controls, allowing them to be invoked or checked to appear in the toolbar. The tiddler info area now includes a tools tab that includes buttons for all the tiddler actions.
!!! Upgrade Mechanism
There are two components:
@ -19,32 +30,45 @@ There are two components:
*** The [[plugin upgrader|$:/core/modules/upgraders/plugins.js]] module handles version checking of plugins and upgrading them from a special UpgradeLibrary plugin tiddler
*** The [[system upgrader|$:/core/modules/upgraders/system.js]] module is responsible for suppressing the importing of certain system tiddlers (currently [[$:/StoryList]] and [[$:/HistoryList]])
*** The [[themetweak upgrader|$:/core/modules/upgraders/themetweaks.js]] module handles migrating theme tweaks from their pre-5.0.14-beta format (see below)
* An UpgradePlugin and associated edition that provides a custom, single-purpose user interface for upgrading standalone TiddlyWiki files
* An UpgradePlugin and associated edition that provides a custom, single-purpose user interface for upgrading standalone TiddlyWiki files - see http://tiddlywiki.com/upgrade.html
!!! PermaView (and PermaLinks) Off by Default
!!! Improvements to CamelCase Recognition
The browser address bar is automatically updated with previous beta releases of TiddlyWiki so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed.
TiddlyWiki now takes a much more conservative approach to recognising CamelCase terms that should be automatically linked. Previously, the dash and underscore were treated as lower case letters, leading to a number of false positives. See the [[GitHub bug #337|https://github.com/Jermolene/TiddlyWiki5/issues/337]] for details.
!!! Automatic Permalinking Off by Default
With previous beta releases of TiddlyWiki the browser address bar is automatically updated so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed after they have refreshed the page in the browser.
For 5.0.14-beta, the setting has been changed. Visit [[control panel|$:/ControlPanel]] ''Advanced''/''Settings'' to switch the setting back to "Include the target tiddler and the current story sequence".
!! Accessibility Improvements
*
!! Usability Improvements
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/f6d7d87a3d49f816ccc050bdf4a5394eed37dd51]] previews to the icon dropdown in the [[tag manager|$:/TagManager]]
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/56945d91d327489478fc44dce5234ece35a01abb]] an indication of unsaved changes by changing the colour of the save changes button
* [[Split|https://github.com/Jermolene/TiddlyWiki5/commit/7aa6c7c06d8b5359f183e6b9f6f57cf89611cda8]] the wikitext emphasis parsers into separate modules so that they can be independently controlled with the `\rules` pragma
* [[Refactored|https://github.com/Jermolene/TiddlyWiki5/commit/f43cd5ba9c6e5eda221ec738174e61e34fad2b8d]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/a3de93b4eb8b108239b2e4b496308026e9e9eef8]]) ReleaseHistory to place the releases into vertical tabs
* [[Stopped|https://github.com/Jermolene/TiddlyWiki5/commit/3ff7462afd5414b92680c6b6e67274be79233224]] saving [[$:/HistoryList]], thus avoiding it uncontrollably increasing in size
* [[Improved|https://github.com/Jermolene/TiddlyWiki5/commit/73cf1bfdb3cd238ac7800162f58d44a8bb60019b]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/d5e4b9b5d1e7db5ad4d769433cc934ef08265f57]]) print stylesheet to remove page background
* [[Updated|https://github.com/Jermolene/TiddlyWiki5/commit/07f13b310d300631267936ad8bc55a338369afc0]] display of plugin tiddlers so that their constituent tiddlers are shown, rather than the raw JSON
* [[Moved|https://github.com/Jermolene/TiddlyWiki5/commit/799a5b059a40a51fdeb1dae7a0eb5bf8a79f5106]] the functionality of the fullscreen plugin into the core
!! Hackability Improvements
* [[Extended|https://github.com/Jermolene/TiddlyWiki5/commit/c23f6af4b5c59f4d09dd8d6704e1939bb9d5b2d3]] TiddlerWidget to add a CSS class corresponding to each tag present on displayed tiddlers
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/d357e1706c91d17a72fb19fedf43e57071fc7dd6]] support for hiding specified fields in the tiddler editor
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/be040ea8a2cc8962f1a28a313e4c9ebc2d5c0e31]] support for variable operands in filters (see [[Introduction to Filters]])
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/1f16ef6fa88b51d2dad7c8e57fcff014950a7442]] support for widget messages [[tw-permalink|WidgetMessage: tw-permalink]] and [[tw-permaview|WidgetMessage: tw-permaview]]
* [[Added|https://github.com/Jermolene/TiddlyWiki5/tree/master/plugins/tiddlywiki/browser-sniff]] browser sniffing plugin so that tiddlywiki.com can present the correct browser-specific documentation
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/ef67cc3fd9b267a522598abccdfbb93fbfca240c]] a configuration option for specifying the default location for saving new tiddlers in the client-server configuration
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/b4d47858e587c96f3a68cc28cffff181ec45f55f]] support for the InfoMechanism
* [[Extended|https://github.com/Jermolene/TiddlyWiki5/commit/f08f57c5d24eb0146ac2cb77472a5fc5f135f1e9]] CheckboxWidget to allow it to toggle fields as well as tags
* [[Refactored|https://github.com/Jermolene/TiddlyWiki5/commit/21c137a66c37f010b36697bb6bed5321138fbb9f]] [[control panel|$:/ControlPanel]] theme tweaks to be stored in individual tiddlers
* [[Extend|https://github.com/Jermolene/TiddlyWiki5/commit/e18d8a88661a1c2caa1b722841747c75ca6af437]] the TabsMacro to allow tabs to be templated
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/91acad0f7ce8637945a953dfcb122cd31292626d]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/8612bc4006e717e4fa3c562fa72a85650206b66f]]) SystemTags support for inserting content above and below the story river
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/f793816dfa687ae7791143b33487fd5f95f3265c]] support for transcluding plugin subtiddlers with the TranscludeWidget
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/c73853288c5b4b0716da94fea2f2edec09345643]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/08f775eac8cb053d08c1c561e65a5eeb87c4c6b6]]) support for importing from `*.htm` and `*.hta` files as well as the existing support for `*.html` files
* [[Extended|https://github.com/Jermolene/TiddlyWiki5/commit/73d7e85e11c7732080ca8bc4321ebb12afbac09c]] the "sticky titles" theme so that it works when tiddlers are in edit mode
!! Bug Fixes
@ -52,9 +76,13 @@ For 5.0.14-beta, the setting has been changed. Visit [[control panel|$:/ControlP
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/d93da81671a704377209fc1871425c3a7c5db35a]] bug with missing hover colours for external links
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/465f4ac46903070759a572d183c498c5579cb922]] problem with refreshing modal dialogues
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/3351ae7e29cbf3bed6fc1925ef33664bcc59fef5]] issue with cookies disabled on Firefox
* [[Relax|https://github.com/Jermolene/TiddlyWiki5/commit/5260899d8b090e8886e41e3aa770fdcf5967ad8c]] the requirement for a newline immediately the closing `\end` of a macro definition
!! Contributors
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
* [[@BramChen|https://github.com/BramChen]]
* [[@pmario|https://github.com/pmario]]
* [[@ssokolow|https://github.com/ssokolow]]
* [[@xcazin|https://github.com/xcazin]]

View File

@ -0,0 +1,30 @@
caption: 5.0.15-beta
created: 20140812150234142
modified: 20140813153116300
tags: releasenote
title: Release 5.0.15-beta
type: text/vnd.tiddlywiki
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.14-beta...v5.0.15-beta]]//
This is a small release to resolve some minor issues with [[Release 5.0.14-beta]].
!! Usability Improvements
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/4b05608ad5e77043b01495825ea0f0e76c378760]] page control button for invoking the [[tag manager|$:/TagManager]]
!! Hackability Improvements
* [[Refactored|https://github.com/Jermolene/TiddlyWiki5/commit/f75af2c983e10e8a82639890b993fb5cf042d610]] `saver-handler.js` out of `syncer.js`
!! Bug Fixes
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/c8830d32f74b8c228553f11f7f55b5be45ae6471]] problem with building TiddlyWiki under Windows
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/34461cb2fe554331a0269fd7795b1d6a879fcba9]] unclickable download ink in upgrade wizard
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/9e85ddfec78dd8df71e6173100dce659417551f4]] missing language flag in ''empty.html''
!! Contributors
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
* [[@BramChen|https://github.com/BramChen]]

View File

@ -5,4 +5,4 @@ type: text/vnd.tiddlywiki
Here are the details of recent releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named.
<<tabs "[tag[releasenote]!sort[created]]" "Release 5.0.14-beta" "$:/state/tab2" "tw-vertical" "ReleaseHistoryTemplate">>
<<tabs "[tag[releasenote]!sort[created]]" "Release 5.0.15-beta" "$:/state/tab2" "tw-vertical" "ReleaseHistoryTemplate">>

View File

@ -0,0 +1,23 @@
created: 20140811171304926
modified: 20140811171800263
tags: howto
title: Saving on Safari
type: text/vnd.tiddlywiki
This method of saving changes is clunky because it requires manual intervention for each save.
# [[Download]] an empty TiddlyWiki by clicking this button:
#> {{$:/editions/tw5.com/snippets/download-empty-button}}
#> If the button doesn't work save this link: http://tiddlywiki.com/empty.html
#> Your browser may ask you to accept the download before it begins
# Locate the file you just downloaded
#* You may rename it, but be sure to keep the `.html` or `.htm` extension
# Open the file in Safari
# Try creating a new tiddler using the ''new tiddler'' {{$:/core/images/new-button}} button in the sidebar. Type some content for the tiddler, and click the {{$:/core/images/done-button}} ''done'' button
# Save your changes by clicking the {{$:/core/images/save-button}} ''save changes'' button in the sidebar
# A popup "Download changes" window is displayed that includes a link labelled //Right-click to save changes//
# Right-click on the link and select "Download Linked File As..." from the popup menu
# Navigate to the folder containing your wiki HTML file and select the existing file
# Click the "Save" button
# Click "Replace" to confirm replacing the existing file
# Verify that your changes have been saved correctly

View File

@ -1,7 +1,10 @@
title: TableOfContents
list-after: $:/core/ui/SideBar/Open
tags: $:/tags/SideBar
caption: {{$:/language/SideBar/Contents/Caption}}
created: 20140809114010378
list-after: $:/core/ui/SideBar/Open
modified: 20140809114018461
tags: $:/tags/SideBar
title: TableOfContents
type: text/vnd.tiddlywiki
\define toc-heading(caption,body)
<$reveal type="nomatch" state=<<qualify "$:/state/toc/$caption$">> text="show">
@ -106,6 +109,7 @@ $body$
## [[Creating SubStories]]
## [[Editing Tiddlers with Emacs]]
## [[GoogleChromeTips]]
## [[ImageGallery Example]]
## [[Making curved text with SVG]]
## [[Preserving open tiddlers at startup]]
## [[Setting a favicon]]
@ -179,18 +183,30 @@ $body$
">>
## <<toc-heading "Widget Messages" "
## WidgetMessages
## [[tw-auto-save-wiki|WidgetMessage: tw-auto-save-wiki]]
## [[tw-cancel-tiddler|WidgetMessage: tw-cancel-tiddler]]
## [[tw-clear-password|WidgetMessage: tw-clear-password]]
## [[tw-close-all-tiddlers|WidgetMessage: tw-close-all-tiddlers]]
## [[tw-close-other-tiddlers|WidgetMessage: tw-close-other-tiddlers]]
## [[tw-close-tiddler|WidgetMessage: tw-close-tiddler]]
## [[tw-delete-tiddler|WidgetMessage: tw-delete-tiddler]]
## [[tw-download-file|WidgetMessage: tw-download-file]]
## [[tw-edit-tiddler|WidgetMessage: tw-edit-tiddler]]
## [[tw-full-screen|WidgetMessage: tw-full-screen]]
## [[tw-home|WidgetMessage: tw-home]]
## [[tw-import-tiddlers|WidgetMessage: tw-import-tiddlers]]
## [[tw-login|WidgetMessage: tw-login]]
## [[tw-logout|WidgetMessage: tw-logout]]
## [[tw-modal|WidgetMessage: tw-modal]]
## [[tw-navigate|WidgetMessage: tw-navigate]]
## [[tw-new-tiddler|WidgetMessage: tw-new-tiddler]]
## [[tw-notify|WidgetMessage: tw-notify]]
## [[tw-perform-import|WidgetMessage: tw-perform-import]]
## [[tw-permalink|WidgetMessage: tw-permalink]]
## [[tw-permaview|WidgetMessage: tw-permaview]]
## [[tw-save-tiddler|WidgetMessage: tw-save-tiddler]]
## [[tw-save-wiki|WidgetMessage: tw-save-wiki]]
## [[tw-server-refresh|WidgetMessage: tw-server-refresh]]
## [[tw-set-password|WidgetMessage: tw-set-password]]
">>
## <<toc-heading "Filter Operators" "
@ -330,6 +346,7 @@ $body$
## [[Release 5.0.11-beta]]
## [[Release 5.0.12-beta]]
## [[Release 5.0.13-beta]]
## [[Release 5.0.14-beta]]
">>
</div>

View File

@ -16,6 +16,8 @@ An external image is an ordinary image tiddler that has a ''_canonical_uri'' fie
To manually create an external image just create the tiddler with the appropriate image content type, and add a ''_canonical_uri'' field with a URI pointing to the actual image location.
''IMPORTANT:'' Double-check your spelling. ``_canonical_uri`` is spelled [[URI|https://en.wikipedia.org/wiki/URI#The_relationship_between_URIs.2C_URLs.2C_and_URNs]], not URL.
! Creating external images under Node.js
The following steps are used to create a static HTML file version of a wiki accompanied by an ''images'' folder containing the referenced external images:

View File

@ -1,5 +1,7 @@
title: GettingStarted - Android
caption: Android
created: 20140811171036268
modified: 20140811171041595
title: GettingStarted - Android
type: text/vnd.tiddlywiki
These are instructions for Android.
{{Saving on Android}}

View File

@ -1,4 +1,9 @@
title: GettingStarted - Chrome
caption: Chrome
created: 20140811165935523
modified: 20140811170107969
title: GettingStarted - Chrome
type: text/vnd.tiddlywiki
These are instructions for Chrome
TiddlyWiki on Google Chrome can only save changes using the HTML5-compatible fallback saver module.
{{Saving with the HTML5 fallback saver}}

View File

@ -1,4 +1,9 @@
title: GettingStarted - Firefox
caption: Firefox
created: 20140811170425199
modified: 20140811170527083
title: GettingStarted - Firefox
type: text/vnd.tiddlywiki
These are instructions for Firefox
Firefox provides the best user experience for using TiddlyWiki with the TiddlyFox browser extension.
{{Saving with TiddlyFox}}

View File

@ -1,5 +1,9 @@
title: GettingStarted - Internet Explorer
caption: Internet Explorer
created: 20140811172058274
modified: 20140811172247864
title: GettingStarted - Internet Explorer
type: text/vnd.tiddlywiki
These are instructions for Internet Explorer.
{{Saving with TiddlyIE}}
The [[Windows HTA Hack]] describes an alternative method of using TiddlyWiki with Internet Explorer.

View File

@ -1,4 +1,7 @@
title: GettingStarted - Node.js
caption: Node.js
created: 20140811172010003
modified: 20140811172012677
title: GettingStarted - Node.js
type: text/vnd.tiddlywiki
Instructions for Node.js
{{Installing TiddlyWiki on Node.js}}

View File

@ -1,5 +1,10 @@
title: GettingStarted - Safari
caption: Safari
created: 20140811171121022
modified: 20140811171247643
title: GettingStarted - Safari
type: text/vnd.tiddlywiki
These are instructions for Safari.
TiddlyWiki on Safari can only save changes using the HTML5-compatible fallback saver module.
{{Saving on Safari}}

View File

@ -1,5 +1,7 @@
title: GettingStarted - iOS
caption: iPad/iPhone
created: 20140811170918707
modified: 20140811170921731
title: GettingStarted - iOS
type: text/vnd.tiddlywiki
These are instructions for iPad/iPhone/iPod.
{{Saving on iPad/iPhone}}

View File

@ -1,5 +0,0 @@
title: GettingStarted - unknown
caption: unknown
Your current browser is unknown.

View File

@ -1,5 +1,5 @@
created: 20130826122000000
modified: 20131214094840608
modified: 20140807094840608
tags: mechanism
title: PluginMechanism
type: text/vnd.tiddlywiki
@ -32,6 +32,7 @@ Plugins are stored as tiddlers with the following fields:
|type |Must be ''application/json'' |
|plugin-type |Can be ''plugin'' (default) or ''theme'' |
|text |JSON encoding of the list of tiddlers comprising the plugin |
|list |Names of exposed plugin information tiddlers (see below) |
|dependents |List of dependent plugins (currently only implemented for themes) |
! Plugin folders
@ -50,7 +51,8 @@ The JSON structure for plugin tiddlers is as follows:
"version": "1.2.3-alpha3",
"core-version": ">=5.0.0",
"source": "http://tiddlywiki.com/MyPlugin",
"plugin-type": "plugin"
"plugin-type": "plugin",
"list": "readme license history"
}
```
@ -84,3 +86,23 @@ Plugins can also be included manually by copying them into the `plugins` subfold
The wiki object keeps track of all of the currently loaded plugins. If a request for a tiddler isn't in the store then the wiki looks through the cascade of plugins to find the requested tiddler. It is a similar idea to the way that shadow tiddlers are implemented in classic TiddlyWiki.
In the browser, any constituent tiddlers that are JavaScript modules (ie shadow tiddlers of content type `application/javascript` and possessing the field `module-type`) are executed during startup processing.
! Information Tiddlers for Plugins
Plugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the [[control panel|$:/ControlPanel]].
Plugins should provide an icon contained in a tiddler with the title formed of `<plugin-name>/icon` (for example, [[$:/core/icon]]).
Plugins expose the names of the individual information tabs that they wish to display in the `list` field of the plugin tiddler. By convention, some or all of the following should be provided:
* ''readme'': basic information about the plugin
* ''license'': the license under which the plugin is published
The process used to generate the title of the information tiddler is as follows:
# `<plugin-name>/<current-language>/<tab-name>` (for example, ''$:/core/en-GB/readme'')
# `<plugin-name>/<tab-name>` (for example, ''$:/core/readme'')
Thus, plugins can provide language-specific versions of each information tiddler.
Note that information tiddlers should not reference other tiddlers within the plugin. This is because plugins containing themes or languages are dynamically switched in and out as they are selected, and so their information tiddlers may not be available for viewing. The control panel uses the 'subtiddler' attribute of the TranscludeWidget to access these tiddlers, which works independently of the plugin switching mechanism.

View File

@ -0,0 +1,11 @@
created: 20140811112343634
modified: 20140811114420597
tags: message
title: WidgetMessage: tw-auto-save-wiki
type: text/vnd.tiddlywiki
The autosave wiki message causes the current saver module to perform a background save if it is required.
The autosave wiki message should be generated whenever changes are made to the store. For example, the navigator widget generates the autosave wiki message as part of its handling of the [[WidgetMessage: tw-save-tiddler]], [[WidgetMessage: tw-delete-tiddler]] and [[WidgetMessage: tw-perform-import]].
The autosave wiki message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SaverModule|SaverModules]]. Not all SaverModules can handle autosaving.

View File

@ -0,0 +1,14 @@
created: 20140811112201235
modified: 20140811115140378
tags: message
title: WidgetMessage: tw-download-file
type: text/vnd.tiddlywiki
The download file message causes the current saver module to prompt the user to download the result of parsing a specified template tiddler as a file. It requires the following properties on the `event` object:
|!Name |!Description |
|param |Title of a tiddler to use as a template for the new tiddler |
The download file message is usually generated with the ButtonWidget.
The download file message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SaverModule|SaverModules]].

View File

@ -0,0 +1,9 @@
created: 20140811112400855
modified: 20140811113627373
tags: message
title: WidgetMessage: tw-full-screen
type: text/vnd.tiddlywiki
The fullscreen message toggles the "fullscreen" mode of the browser, if it supports it.
The fullscreen message is handled by the TiddlyWiki core.

View File

@ -0,0 +1,10 @@
created: 20140811112445887
modified: 20140811113336694
tags: message
title: WidgetMessage: tw-login
type: text/vnd.tiddlywiki
The login message prompts the user for a username and password and attempts to login to the current serverside host. The tiddler [[$:/status/IsLoggedIn]] reflects the current login status with the values "yes" or "no", and [[$:/status/UserName]] reflects the current username.
The login message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SyncAdaptorModule|SyncAdaptorModules]] (typically the ''tiddlywiki/tiddlywebadaptor'' plugin).

View File

@ -0,0 +1,9 @@
created: 20140811112457311
modified: 20140811113344084
tags: message
title: WidgetMessage: tw-logout
type: text/vnd.tiddlywiki
The logout message attempts to log the user out of the current serverside host. The tiddler [[$:/status/IsLoggedIn]] reflects the current login status with the values "yes" or "no", and [[$:/status/UserName]] reflects the current username.
The logout message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SyncAdaptorModule|SyncAdaptorModules]] (typically the ''tiddlywiki/tiddlywebadaptor'' plugin).

View File

@ -0,0 +1,12 @@
created: 20140811112133701
modified: 20140811120203685
tags: message
title: WidgetMessage: tw-modal
type: text/vnd.tiddlywiki
The modal message displays a specified tiddler in a modal overlay that dims the main page. It requires the following properties on the `event` object:
|!Name |!Description |
|param |Title of the tiddler to be displayed |
The modal message is usually generated with the ButtonWidget. The modal message is handled by the TiddlyWiki core.

View File

@ -0,0 +1,12 @@
created: 20140811112304772
modified: 20140811120248738
tags: message
title: WidgetMessage: tw-notify
type: text/vnd.tiddlywiki
The notify message briefly displays a specified tiddler as a small alert in the upper right corner of the page. It requires the following properties on the `event` object:
|!Name |!Description |
|param |Title of the tiddler to be displayed |
The notify message is handled by the TiddlyWiki core.

View File

@ -0,0 +1,11 @@
created: 20140811112325641
modified: 20140811115149288
tags: message
title: WidgetMessage: tw-save-wiki
type: text/vnd.tiddlywiki
The save wiki message causes the current saver module to perform a full save operation. The save operation can involve user interaction, unlike the [[WidgetMessage: tw-auto-save-wiki]]/
The save wiki message is usually generated by the ButtonWidget.
The save wiki message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SaverModule|SaverModules]].

View File

@ -0,0 +1,9 @@
created: 20140811112435281
modified: 20140811113453568
tags: message
title: WidgetMessage: tw-server-refresh
type: text/vnd.tiddlywiki
The server refresh message attempts to synchronise the latest changes to the current serverside host.
The server refresh message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SyncAdaptorModule|SyncAdaptorModules]] (typically the ''tiddlywiki/tiddlywebadaptor'' plugin).

View File

@ -1,5 +1,5 @@
created: 20130825162100000
modified: 20131129094907624
modified: 20140814094907624
tags: dev moduletypes
title: SyncAdaptorModules
type: text/vnd.tiddlywiki
@ -27,12 +27,16 @@ Nothing should be exported if the adaptor detects that it isn't capable of opera
Adaptor modules must handle the following methods.
!! `Constructor(syncer)`
!! `Constructor(options)`
Initialises a new adaptor instance.
|!Parameter |!Description |
|syncer |Syncer object that is using this adaptor |
|options |See below |
Options include:
* ''options.wiki'': reference to wiki to use with this syncadaptor
!! `getTiddlerInfo(tiddler)`
@ -91,10 +95,11 @@ Loads a tiddler from the server.
|title |Title of tiddler to be retrieved |
|callback |Callback function invoked with parameter `err,tiddlerFields` |
!! `deleteTiddler(title,callback)`
!! `deleteTiddler(title,callback,tiddlerInfo)`
Delete a tiddler from the server.
|!Parameter |!Description |
|title |Title of tiddler to be deleted |
|callback |Callback function invoked with parameter `err` |
|tiddlerInfo |The tiddlerInfo maintained by the syncer for this tiddler |

View File

@ -1,5 +1,5 @@
created: 20130823203800000
modified: 20140715081725471
modified: 20140809112946299
tags: planning
title: RoadMap
type: text/vnd.tiddlywiki
@ -16,7 +16,7 @@ Some important features were deferred to be added after the beta:
* Fixing hangovers from TiddlyWikiClassic
* ~TiddlyWiki file format (to avoid illegal attribute names)
* Tiddler object format (to provide true polymorphism of field values)
* Aliases
* Aliases (alternative titles for tiddlers)
* Search and replace
* Tiddler renaming
* Rich link tooltips, incorporating a preview

View File

@ -1,9 +1,9 @@
created: 20130825161400000
modified: 20131203112539560
modified: 20140811171026344
tags: howto
title: Saving on Android
type: text/vnd.tiddlywiki
The AndTidWiki app for Android devices makes it possible to edit and save changes to TiddlyWiki5, including working offline without a network connection.
The AndTidWiki app for Android devices makes it possible to edit and save changes to TiddlyWiki5, including working offline without a network connection. [[Download it here|https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki]].
//Note that AndTidWiki is published independently of TiddlyWiki//

View File

@ -1,10 +1,10 @@
created: 20131129092604900
modified: 20140226201353048
modified: 20140811170321179
tags: howto
title: Saving with the HTML5 fallback saver
type: text/vnd.tiddlywiki
This method of saving changes is clunky but has the advantage of working on almost all desktop browsers, and many mobile browsers.
This method of saving changes is clunky because it requires manual intervention for each save. It has the advantage of working on almost all desktop browsers, and many mobile browsers.
# [[Download]] an empty TiddlyWiki by clicking this button:
#> {{$:/editions/tw5.com/snippets/download-empty-button}}
@ -13,8 +13,8 @@ This method of saving changes is clunky but has the advantage of working on almo
# Locate the file you just downloaded
#* You may rename it, but be sure to keep the `.html` or `.htm` extension
# Open the file in your browser
# Try creating a new tiddler using the ''plus'' {{$:/core/images/new-button}} button in the sidebar. Type some content for the tiddler, and click the {{$:/core/images/done-button}} ''tick'' button
# Save your changes by clicking the {{$:/core/images/save-button}} ''download'' button in the sidebar
# Try creating a new tiddler using the ''new tiddler'' {{$:/core/images/new-button}} button in the sidebar. Type some content for the tiddler, and click the {{$:/core/images/done-button}} ''done'' button
# Save your changes by clicking the {{$:/core/images/save-button}} ''save changes'' button in the sidebar
# Your browser will download a new copy of the wiki incorporating your changes
# Locate the newly downloaded file and open it in your browser
# Verify that your changes have been saved correctly

View File

@ -3,5 +3,4 @@ tags: $:/tags/PageControls
caption: ~GitHub ribbon
description: ~GitHub ribbon for tw5.com
<div class="github-fork-ribbon-wrapper right"><div class="github-fork-ribbon"><a href="https://github.com/Jermolene/TiddlyWiki5" target="_blank">Find me on ~GitHub</a></div>
</div>
<div class="github-fork-ribbon-wrapper right" style><div class="github-fork-ribbon" style="background-color:#DF4848;"><$link to="ReleaseHistory"><<version>></$link></div></div>

View File

@ -0,0 +1,6 @@
title: $:/editions/tw5.com/version-link-macro
tags: $:/tags/Macro
\define version-link()
[[$(version)$|Release $(version)$]]
\end

View File

@ -12,7 +12,7 @@ The TiddlerWidget sets the CurrentTiddler that applies for processing its conten
|!Attribute |!Description |
|tiddler |The title of the tiddler to become the new CurrentTiddler |
|class |CSS classes to added to the generated elements |
|class |CSS classes to be added to the generated elements |
! CSS Class Variables

View File

@ -0,0 +1,3 @@
title: $:/core/de-AT/readme
{{$:/core/de-DE/readme}}

View File

@ -1,8 +0,0 @@
title: $:/language/Flag
type: image/svg+xml
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="900" height="600">
<rect fill="#ed2939" width="900" height="600"/>
<rect fill="#fff" y="200" width="900" height="200"/>
</svg>

8
languages/de-AT/icon.tid Normal file
View File

@ -0,0 +1,8 @@
title: $:/languages/de-AT/icon
type: image/svg+xml
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="900" height="600" viewBox="0 0 9 6">
<rect fill="#ef3340" width="9" height="6"/>
<rect fill="#fff" y="2" width="9" height="2"/>
</svg>

View File

@ -3,8 +3,7 @@
"name": "de-AT",
"plugin-type": "language",
"description": "Deutsch (Österreich)",
"author": "JeremyRuston",
"maintainer": "MarioPietsch aka pmario",
"author": "MarioPietsch aka pmario",
"core-version": ">=5.0.0",
"dependents": ["$:/languages/de-DE"],
"plugin-priority": 110

View File

@ -3,7 +3,7 @@
"name": "de-CH",
"plugin-type": "language",
"description": "Deutsch (Schweiz)",
"author": "JeremyRuston",
"author": "MarioPietsch aka pmario",
"core-version": ">=5.0.0",
"dependents": ["$:/languages/de-DE"],
"plugin-priority": 110

View File

@ -1,7 +1,7 @@
title: $:/language/Buttons/
AdvancedSearch/Caption: erweiterte suche
AdvancedSearch/Hint: Erweiterte Suche
AdvancedSearch/Hint: Erweiterte Suche
Cancel/Caption: abbrechen
Cancel/Hint: Tiddler bearbeiten abbrechen
Clone/Caption: klone
@ -19,14 +19,21 @@ Delete/Hint: Lösche diesen Tiddler
Edit/Caption: bearbeiten
Edit/Hint: Bearbeite diesen Tiddler
Encryption/Caption: verschlüsseln
Encryption/Hint: Aktivieren oder löschen des Passworts für dieses Wiki
Encryption/ClearPassword/Caption: lösche Passwort
Encryption/ClearPassword/Hint: Lösche das Passwort und speichere ohne Verschlüsselung
Encryption/SetPassword/Caption: ativiere Passwort
Encryption/SetPassword/Hint: Definiert ein Passwort, um dieses Wiki zu verschlüsseln
FullScreen/Caption: vollbild
FullScreen/Hint: Aktivieren oder deaktivieren des Vollbild modus
Import/Caption: import
Import/Hint: Importiere Dateien
Info/Caption: info
Info/Hint: Informationen zu diesem Tiddler anzeigen
Home/Caption: home
Home/Hint: Öffne die "default" Tiddler
Home/Hint: Seite neu laden und öffne die standard (default) Tiddler
Language/Caption: sprache
Language/Hint: Auswahl Dialog für die System Sprache
NewTiddler/Caption: neuer Tiddler
NewTiddler/Hint: Erstelle einen neuen Tiddler
More/Caption: mehr
@ -39,7 +46,13 @@ Save/Caption: speichern
Save/Hint: Speichere diesen Tiddler
SaveWiki/Caption: speichere Änderungen
SaveWiki/Hint: Speichere Änderungen
StoryView/Caption: story Modus
StoryView/Hint: Auswahl des Anzeige Modus für die "Story"
HideSideBar/Caption: Sidebar ausblenden
HideSideBar/Hint: Sidebar ausblenden
ShowSideBar/Caption: Sidebar einblenden
ShowSideBar/Hint: Sidebar eiblenden
TagManager/Caption: tag manager
TagManager/Hint: Öffne das "Tag Manager"
Theme/Caption: Thema
Theme/Hint: Thema auswählen

View File

@ -64,9 +64,6 @@ Basics/Title/Prompt: Titel dieses ~TiddlyWikis:
Basics/Username/Prompt: Benutzer Signatur zum editieren:
Basics/Version/Prompt: ~TiddlyWiki Version:
Plugins/Caption: Plugins
Plugins/Fields/Description: Beschreibung
Plugins/Fields/Title: Titel
Plugins/Fields/Version: Version
Plugins/Language/Prompt: Sprachen
Plugins/Plugin/Prompt: Plugins
Plugins/Theme/Prompt: Themen

View File

@ -0,0 +1,5 @@
title: $:/core/de-DE/readme
<!-- Replace with translation of the readme for the core plugin -->
{{$:/core/readme}}

View File

@ -6,6 +6,7 @@ alert-highlight: Warnung Hervorhebung
alert-muted-foreground: Warnung gedeckt Vordergrund
background: Hintergrund Global
blockquote-bar: Zitat Markierung
dirty-indicator: Speichern nötig - Indikator
code-background: Code Hintergrund
code-border: Code Rahmen
code-foreground: Code Vordergrund

View File

@ -6,6 +6,7 @@ Listing/Import/Caption: Importieren
Listing/Select/Caption: Auswahl
Listing/Status/Caption: Status
Listing/Title/Caption: Titel
Upgrader/Plugins/Suppressed/Incompatible: Unterdrückte, inkompatible oder veraltete "plugins"
Upgrader/Plugins/Suppressed/Version: Einige "plugins" weden unterdrückt! Importierte plugins: <<incoming>> sind älter als existierende: <<existing>>.
Upgrader/Plugins/Upgraded: Aktualisieren der plugins von: <<incoming>> nach: <<upgraded>>
Upgrader/System/Suppressed: Unterdrückte "System Tiddler"

View File

@ -11,7 +11,6 @@ Recent/Caption: Zuletzt
Shadows/Caption: Schatten
System/Caption: System
Tags/Caption: Tags
Tags/TagManager/Caption: Tag Manager
Tags/Untagged/Caption: untagged
Tools/Caption: Tools
Types/Caption: Typen

View File

@ -1,4 +1,4 @@
title: $:/language/Flag
title: $:/languages/de-DE/icon
type: image/svg+xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

View File

@ -3,8 +3,7 @@
"name": "de-DE",
"plugin-type": "language",
"description": "Deutsch (Deutschland)",
"author": "JeremyRuston",
"maintainer": "MarioPietsch aka pmario",
"author": "MarioPietsch aka pmario",
"core-version": ">=5.0.0",
"plugin-priority": 100
}

View File

@ -52,6 +52,7 @@ HideSideBar/Caption: cacher la barre latérale
HideSideBar/Hint: Cacher la barre latérale
ShowSideBar/Caption: afficher la barre latérale
ShowSideBar/Hint: Afficher la barre latérale
TagManager/Caption: gestionnaire de tags
TagManager/Hint: Gestionnaire de tags
Theme/Caption: thème
Theme/Hint: Choix du thème pour l'affichage

View File

@ -64,9 +64,6 @@ Basics/Title/Prompt: Titre de ce ~TiddlyWiki
Basics/Username/Prompt: Signer les modifications avec ce nom d'utilisateur
Basics/Version/Prompt: Numéro de version :
Plugins/Caption: Plugins
Plugins/Fields/Description: Description
Plugins/Fields/Title: Titre
Plugins/Fields/Version: Version
Plugins/Language/Prompt: Langues
Plugins/Plugin/Prompt: Plugins
Plugins/Theme/Prompt: Thèmes

View File

@ -0,0 +1,5 @@
title: $:/core/fr-FR/readme
<!-- Replace with translation of the readme for the core plugin -->
{{$:/core/readme}}

View File

@ -11,7 +11,6 @@ Recent/Caption: Récents
Shadows/Caption: Shadows
System/Caption: Système
Tags/Caption: Tags
Tags/TagManager/Caption: Gestionnaire de tags
Tags/Untagged/Caption: sans étiquette
Tools/Caption: Outils
Types/Caption: Types

Some files were not shown because too many files have changed in this diff Show More