1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-27 20:10:03 +00:00

Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Bram Chen 2014-08-09 14:03:58 +08:00
commit 4379c57ffa
16 changed files with 120 additions and 53 deletions

View File

@ -1,3 +1,8 @@
title: $:/core/icon title: $:/core/icon
tags: $:/tags/Image
{{$:/core/images/globe}} <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/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

@ -24,10 +24,10 @@ exports.name = "wikilink";
exports.types = {inline: true}; exports.types = {inline: true};
var textPrimitives = { var textPrimitives = {
upperLetter: "[A-Z\u00c0-\u00de\u0150\u0170]", upperLetter: "[A-Z\u00c0-\u00d6\u00d8-\u00de\u0150\u0170]",
lowerLetter: "[a-z0-9_\\-\u00df-\u00ff\u0151\u0171]", lowerLetter: "[a-z0-9\u00df-\u00f6\u00f8-\u00ff\u0151\u0171]",
anyLetter: "[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]", anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]",
anyLetterStrict: "[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]" blockPrefixLetters: "[A-Za-z0-9\-_\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]"
}; };
textPrimitives.unWikiLink = "~"; textPrimitives.unWikiLink = "~";
@ -54,9 +54,9 @@ exports.parse = function() {
if(linkText.substr(0,1) === textPrimitives.unWikiLink) { if(linkText.substr(0,1) === textPrimitives.unWikiLink) {
return [{type: "text", text: linkText.substr(1)}]; 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) { 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; preRegExp.lastIndex = this.match.index-1;
var preMatch = preRegExp.exec(this.parser.source); var preMatch = preRegExp.exec(this.parser.source);
if(preMatch && preMatch.index === this.match.index-1) { if(preMatch && preMatch.index === this.match.index-1) {

View File

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

View File

@ -14,23 +14,10 @@ $(currentTiddler)$/icon
\end \end
\define plugin-table(type) \define plugin-table(type)
<$set name="qualified-state" value=<<qualify "$:/state/plugin-info">>> <$set name="qualified-state" value=<<qualify "$:/state/plugin-info">>>
<table>
<tbody>
<tr>
<th>
&nbsp;
</th>
<th>
<<lingo Fields/Description>>
</th>
<th>
<<lingo Fields/Version>>
</th>
</tr>
<$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]"> <$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]">
<$set name="popup-state" value=<<popup-state-macro>>> <$set name="popup-state" value=<<popup-state-macro>>>
<tr> <$link to={{!!title}} class="tw-plugin-info">
<td> <div class="tw-plugin-info-chunk">
<$reveal type="nomatch" state=<<popup-state>> text="yes"> <$reveal type="nomatch" state=<<popup-state>> text="yes">
<$button class="btn-invisible btn-dropdown" set=<<popup-state>> setTo="yes"> <$button class="btn-invisible btn-dropdown" set=<<popup-state>> setTo="yes">
{{$:/core/images/right-arrow}} {{$:/core/images/right-arrow}}
@ -41,34 +28,38 @@ $(currentTiddler)$/icon
{{$:/core/images/down-arrow}} {{$:/core/images/down-arrow}}
</$button> </$button>
</$reveal> </$reveal>
</td> </div>
<td> <div class="tw-plugin-info-chunk">
<$link to={{!!title}}> <$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>
<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>/> <$transclude tiddler="$:/core/images/plugin-generic-$type$"/>
''<$view field="description"><$view field="title"/></$view>''<br> </$transclude>
</div>
<div class="tw-plugin-info-chunk">
<div>
''<$view field="description"><$view field="title"/></$view>''
</div>
<div>
<$view field="title"/> <$view field="title"/>
</$link> </div>
</td> <div>
<td>
<$view field="version"/> <$view field="version"/>
</td> </div>
</tr> </div>
<tr> </$link>
<td colspan="3">
<$reveal type="match" text="yes" state=<<popup-state>>> <$reveal type="match" text="yes" state=<<popup-state>>>
<$reveal type="nomatch" text="" state="!!list"> <$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"/> <$macrocall $name="tabs" state=<<tabs-state-macro>> tabsList={{!!list}} default="readme" template="$:/core/ui/PluginInfo"/>
</div>
</$reveal> </$reveal>
<$reveal type="match" text="" state="!!list"> <$reveal type="match" text="" state="!!list">
<$transclude tiddler="$:/core/ui/TiddlerInfo/Advanced/PluginInfo"/> <div class="tw-plugin-info-dropdown">
No information provided
</div>
</$reveal> </$reveal>
</$reveal> </$reveal>
</td>
</tr>
</$set> </$set>
</$list> </$list>
</tbody>
</table>
</$set> </$set>
\end \end

View File

@ -45,6 +45,16 @@ describe("WikiText tests", function() {
it("should support attributes specified as macro invocations", 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>"); 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 !!!! 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

@ -32,6 +32,7 @@ Plugins are stored as tiddlers with the following fields:
|type |Must be ''application/json'' | |type |Must be ''application/json'' |
|plugin-type |Can be ''plugin'' (default) or ''theme'' | |plugin-type |Can be ''plugin'' (default) or ''theme'' |
|text |JSON encoding of the list of tiddlers comprising the plugin | |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) | |dependents |List of dependent plugins (currently only implemented for themes) |
! Plugin folders ! Plugin folders
@ -50,7 +51,8 @@ The JSON structure for plugin tiddlers is as follows:
"version": "1.2.3-alpha3", "version": "1.2.3-alpha3",
"core-version": ">=5.0.0", "core-version": ">=5.0.0",
"source": "http://tiddlywiki.com/MyPlugin", "source": "http://tiddlywiki.com/MyPlugin",
"plugin-type": "plugin" "plugin-type": "plugin",
"list": "readme license history"
} }
``` ```
@ -85,7 +87,7 @@ The wiki object keeps track of all of the currently loaded plugins. If a request
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. 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.
! Standard Tiddlers for Plugins ! 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]]. Plugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the [[control panel|$:/ControlPanel]].

View File

@ -7,7 +7,7 @@ This plugin adds a number of `$:/info/` tiddlers containing information about th
|!Title |!Description | |!Title |!Description |
|[[$:/info/browser/is/android]] |Running on Android? ("yes" or "no") | |[[$:/info/browser/is/android]] |Running on Android? ("yes" or "no") |
|[[$:/info/browser/is/bada]] |Running on Bada? ("yes" or "no") | |[[$:/info/browser/is/bada]] |Running on Bada? ("yes" or "no") |
|[[$:/info/browser/is/blackberry]] |Running on Blackberry? ("yes" or "no") | |[[$:/info/browser/is/blackberry]] |Running on ~BlackBerry? ("yes" or "no") |
|[[$:/info/browser/is/chrome]] |Running on Chrome? ("yes" or "no") | |[[$:/info/browser/is/chrome]] |Running on Chrome? ("yes" or "no") |
|[[$:/info/browser/is/firefox]] |Running on Firefox? ("yes" or "no") | |[[$:/info/browser/is/firefox]] |Running on Firefox? ("yes" or "no") |
|[[$:/info/browser/is/firefoxos]] |Running on Firefox OS? ("yes" or "no") | |[[$:/info/browser/is/firefoxos]] |Running on Firefox OS? ("yes" or "no") |
@ -17,14 +17,14 @@ This plugin adds a number of `$:/info/` tiddlers containing information about th
|[[$:/info/browser/is/iphone]] |Running on iPhone? ("yes" or "no") | |[[$:/info/browser/is/iphone]] |Running on iPhone? ("yes" or "no") |
|[[$:/info/browser/is/ipod]] |Running on iPod? ("yes" or "no") | |[[$:/info/browser/is/ipod]] |Running on iPod? ("yes" or "no") |
|[[$:/info/browser/is/opera]] |Running on Opera? ("yes" or "no") | |[[$:/info/browser/is/opera]] |Running on Opera? ("yes" or "no") |
|[[$:/info/browser/is/phantomjs]] |Running on PhantomJS? ("yes" or "no") | |[[$:/info/browser/is/phantomjs]] |Running on ~PhantomJS? ("yes" or "no") |
|[[$:/info/browser/is/safari]] |Running on Safari? ("yes" or "no") | |[[$:/info/browser/is/safari]] |Running on Safari? ("yes" or "no") |
|[[$:/info/browser/is/sailfish]] |Running on Sailfish? ("yes" or "no") | |[[$:/info/browser/is/sailfish]] |Running on Sailfish? ("yes" or "no") |
|[[$:/info/browser/is/seamonkey]] |Running on Sea Monkey? ("yes" or "no") | |[[$:/info/browser/is/seamonkey]] |Running on Sea Monkey? ("yes" or "no") |
|[[$:/info/browser/is/silk]] |Running on Amazon's Silk? ("yes" or "no") | |[[$:/info/browser/is/silk]] |Running on Amazon's Silk? ("yes" or "no") |
|[[$:/info/browser/is/tizen]] |Running on Tizen? ("yes" or "no") | |[[$:/info/browser/is/tizen]] |Running on Tizen? ("yes" or "no") |
|[[$:/info/browser/is/webkit]] |Running on WebKit? ("yes" or "no") | |[[$:/info/browser/is/webkit]] |Running on ~WebKit? ("yes" or "no") |
|[[$:/info/browser/is/webos]] |Running on WebOS? ("yes" or "no") | |[[$:/info/browser/is/webos]] |Running on ~WebOS? ("yes" or "no") |
|[[$:/info/browser/is/windowsphone]] |Running on Windows Phone? ("yes" or "no") | |[[$:/info/browser/is/windowsphone]] |Running on Windows Phone? ("yes" or "no") |
|[[$:/info/browser/name]] |Platform name (see below) | |[[$:/info/browser/name]] |Platform name (see below) |
|[[$:/info/browser/version]] |Browser version | |[[$:/info/browser/version]] |Browser version |
@ -34,19 +34,19 @@ The browser information is obtained with [[Bowser, a browser detector library fr
* ''"Amazon Silk"'' * ''"Amazon Silk"''
* ''"Android"'' * ''"Android"''
* ''"Bada"'' * ''"Bada"''
* ''"BlackBerry"'' * ''"~BlackBerry"''
* ''"Chrome"'' * ''"Chrome"''
* ''"Firefox"'' * ''"Firefox"''
* ''"Internet Explorer"'' * ''"Internet Explorer"''
* ''"iOS"'' * ''"iOS"''
* ''"Opera"'' * ''"Opera"''
* ''"PhantomJS"'' * ''"~PhantomJS"''
* ''"Safari"'' * ''"Safari"''
* ''"Sailfish"'' * ''"Sailfish"''
* ''"SeaMonkey"'' * ''"~SeaMonkey"''
* ''"TiddlyDesktop"'' * ''"~TiddlyDesktop"''
* ''"Tizen"'' * ''"Tizen"''
* ''"WebOS"'' * ''"~WebOS"''
* ''"Windows Phone"'' * ''"Windows Phone"''
Note that Bowser returns "iPhone", "iPad" and "iPod" as distinct values for the name of the current browser. TiddlyWiki converts all three distinct values into "iOS" before copying to [[$:/info/browser/name]]. Note that Bowser returns "iPhone", "iPad" and "iPod" as distinct values for the name of the current browser. TiddlyWiki converts all three distinct values into "iOS" before copying to [[$:/info/browser/name]].

View File

@ -2,5 +2,6 @@
"title": "$:/plugins/tiddlywiki/cecily", "title": "$:/plugins/tiddlywiki/cecily",
"description": "Zoomable User Interface for TiddlyWiki", "description": "Zoomable User Interface for TiddlyWiki",
"author": "JeremyRuston", "author": "JeremyRuston",
"core-version": ">=5.0.0" "core-version": ">=5.0.0",
"list": "readme"
} }

View File

@ -0,0 +1,7 @@
title: $:/plugins/tiddlywiki/cecily/readme
This plugin provides a new story visualisation that displays individual tiddlers as resizable tiles on an infinite canvas.
Cecily is based on an earlier plugin for TiddlyWiki Classic: http://jermolene.com/cecily
Cecily is currently in the early stages of development with little functionality yet implemented.

View File

@ -100,3 +100,7 @@ canvas.tw-edit-bitmapeditor {
.tw-message-box img { .tw-message-box img {
<<box-shadow "1px 1px 3px rgba(0,0,0,0.5)">> <<box-shadow "1px 1px 3px rgba(0,0,0,0.5)">>
} }
.tw-plugin-info {
<<box-shadow "2px 2px 4px rgba(0,0,0,0.2)">>
}

View File

@ -1238,6 +1238,23 @@ canvas.tw-edit-bitmapeditor {
width: 100%; width: 100%;
} }
.tw-plugin-info {
display: block;
border: 1px solid <<colour muted-foreground>>;
margin: 1em 0 1em 0;
padding: 8px;
}
.tw-plugin-info-chunk {
display: inline-block;
vertical-align: middle;
}
.tw-plugin-info img, .tw-plugin-info svg {
width: 3em;
height: 3em;
}
/* /*
** Message boxes ** Message boxes
*/ */