Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
/***
|!''Name:''|Generated by [[configAdvancedOptionsHardcodePlugin]]|
|!''Description:''|This Generated "~ShadowPlugin" can be used as a template for saving any and all configuration options nominally saved by cookies: simply edit as required and add the relevant tags to this shadowtiddler. |
|!''Version:''|1.0 |
|!''Date:''|May 07, 2009 |
|!''Author:''|Dynamically Generated |
|!''License:''|Dynamically Generated |
|!''~CoreVersion:''|2.2.0|
***/
//{{{
// Useful Core Options
//config.options.chkSaveBackups = true; // Description: Keep backup file when saving changes
//config.options.chkAutoSave = false; // Description: Automatically save changes
//config.options.chkGenerateAnRssFeed = false; // Description: Generate an RSS feed when saving changes
config.options.chkToggleLinks = true; // Description: Clicking on links to open tiddlers causes them to close
//config.options.chkHttpReadOnly = false; // Description: Hide editing features when viewed over HTTP
//config.options.chkForceMinorUpdate = false; // Description: Don't update modifier username and date when editing tiddlers
config.options.txtBackupFolder = "sfc.Archive"; // Description: Name of folder to use for backups
config.options.txtUserName = "Table of Contents"; // Description: Username for signing your edits
//WikiLinks Options
//config.options.txtDisableWikiLinksList = "excludeWikiLinks";
config.options.txtDisableWikiLinksTag = "excludeWikiLinks";
//Tiddler Encryption Plugins
// config.options.chkExcludeEncryptedFromSearch = true;
// config.options.chkExcludeEncryptedFromLists = true;
// config.options.chkShowDecryptButtonInContent = true;
//}}}
/***
|''Name:''|AdvancedOptionsreadOnly|
|''Description:''|Built in Hardcoding Option - simply add the systemConfig (Also excludeLists and excludeSearch) tag to this shadowtiddler to permanently render the tiddler "readOnly". |
| | //By it's nature this is not trivial to undo// |
|''Version:''|1.0|
|''Date:''|Mar 20, 2007|
|''Source:''|http://tiddlywiki.org/wiki/Configuration_Options|
|''Author:''|Public Domain|
|''License:''|Publicly Documented Tweak|
|''~CoreVersion:''|2.2.0|
***/
//{{{
readOnly = false; // default: true when viewed over HTTP, false when used locally -- for TiddlyWiki v2.2+ only
// Changing this to true will lock out all editing capabilities for the document once saved.
//}}}
!!!~Anti-Missile Defense (AMD)
;Arming Rate
:1 Turn (once entire Hardpoint is empty)
|! Range: | 0 | 1 | 2 | 3 |
|! To Hit: | NA | 33% | 50% | 67% |
| ~Anti-Missile Defense |c
!!!Notes
:AMD only works against Fighters, Shuttles (except Wild Weasels) and Missiles.
:ECM has no effect on AMD, however performing Erratic Maneuvers (EM) will degrade AMD effectiveness and cause it to fire in the next lower bracket.
!!!Notes:
:~Area-Effect Weapons are unaffected by ECM/ECCM or Cloaking Devices.
;Arming Rate
:2 Turns
|! Range: | 0 | 1 | 2 | 3 | 4 | 5 |
|! To Hit: | 100% | 83% | 67% | 50% | 33% | 17% |
|! Unshielded: |>|>|>|>|>| 8 |
|! Shielded: |>|>|>|>|>| 6 |
| Attack Probes |c
!!!Notes:
:Attack Probes vary their damage based upon whether or not the target originally had shields. Knocking down one or more shields does not count as having no shields.
;Examples:
:Fighters/Shuttles, Missiles, ~DefSats, Listening Posts, Asteroid Bases, most Monsters and some Planets
|! Cloaked Ship Status |! Chance of Normal Damage |! Chance of 1/2 Damage |! Chance of 1/4 Damage |
| ~Non-Tractored | 33.3% | 33.3% | 33.3% |
| Tractored | 66.7% | 33.3% | 0% |
!!!Notes:
:The Cloak is a gross effect of ECM and is supposed to supercede ECM's effects with the ones listed here and below.
:Range is doubled and five is added to that. During Fade In/Fade Out, Range Doubling is negated and the extra five is counted down/up (4, 3, 2...etc) as the ship appears/disappears.
:If a ship being tractored cloaks, the ship holding the cloaker will maintain Sensor Lock On. Tractoring a cloaked ship negates all range penalties for the tractoring unit. Seeking Weapons may not be fired at a cloaked ship without a Lock On. Seeking Weapons tracking a cloaking ship will have a chance to retain their Lock On based on target speed, range from target and whether or not the target is tractored (this is only valid for the tractoring ship).
/***
|Name|CopyTiddlerPlugin|
|Source|http://www.TiddlyTools.com/#CopyTiddlerPlugin|
|Version|3.2.2|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.3|
|Type|plugin|
|Requires||
|Overrides||
|Description|Quickly create a copy of any existing tiddler|
!!!Usage
<<<
This plugin automatically updates the default (shadow) ToolbarCommands slice definitions to insert the ''copyTiddler'' command (which appears as ''copy'' in the tiddler toolbar).
When you select the ''copy'' command, a new tiddler is opened with a title of "{{{TiddlerName (n)}}}" containing copies of the text/tags/fields from the original //source tiddler//, where ''(n)'' is the next available number (starting with 1, of course). Note: If you copy while //editing// a tiddler, the current values that are displayed in the existing tiddler editor are used (including any unsaved changes you may have made to those values), and the new tiddler is immediately opened for editing.
Note: if you are already using customized toolbar definitions, you will need to manually add the ''copyTiddler'' toolbar command to your existing ToolbarCommands tiddler, e.g.:
{{{
|EditToolbar|... copyTiddler ... |
}}}
The plugin also provides a macro that allows you to embed a ''copy'' command directly in specific tiddler content:
{{{
<<copyTiddler TidderName label:"..." prompt:"...">>
}}}
where
* ''TiddlerName'' (optional)<br>specifies the //source// tiddler to be copied. If omitted, the current containing tiddler (if any) will be copied.
* ''label:"..."'' (optional)<br>specifies text to use for the embedded link (default="copy TiddlerName")
* ''prompt:"..."'' (optional)<br>specifies mouseover 'tooltip' help text for link
//Note: to use non-default label/prompt values with the current containing tiddler, use "" for the TiddlerName//
<<<
!!!Revisions
<<<
2009.02.13 [3.2.2] in click(), fix calls to displayTiddler() to use current tiddlerElem and use getTiddlerText() to permit copying of shadow tiddler content
2009.01.30 [3.2.1] fixed handling for copying field values when in edit mode
2009.01.23 [3.2.0] refactored code and added {{{<<copyTiddler TiddlerName>>}}} macro
2008.12.18 [3.1.4] corrected code for finding next (n) value when 'sparse' handling is in effect (thanks to RussThomas for identifying and diagnosing the problem)
2008.11.14 [3.1.3] added optional 'sparse' setting (avoids 'filling in' missing numbers that may have been previously deleted)
2008.11.14 [3.1.2] added optional 'zeroPad' setting
2008.11.14 [3.1.1] moved hard-coded '(n)' regex into 'suffixPattern' object property so it can be customized
2008.09.26 [3.1.0] changed new title generation to use '(n)' suffix instead of 'Copy of' prefix
2008.05.20 [3.0.3] in handler, when copying from VIEW mode, create duplicate array from existing tags array before saving new tiddler.
2007.12.19 [3.0.2] in handler, when copying from VIEW mode, duplicate custom fields before saving new tiddler. Thanks to bug report from Ken Girard.
2007.09.26 [3.0.1] in handler, use findContainingTiddler(src) to get tiddlerElem (and title). Allows 'copy' command to find correct tiddler when transcluded using {{{<<tiddler>>}}} macro or enhanced toolbar inclusion (see [[CoreTweaks]])
2007.06.28 [3.0.0] complete re-write to handle custom fields and alternative view/edit templates
2007.05.17 [2.1.2] use store.getTiddlerText() to retrieve tiddler content, so that SHADOW tiddlers can be copied correctly when in VIEW mode
2007.04.01 [2.1.1] in copyTiddler.handler(), fix check for editor fields by ensuring that found field actually has edit=='text' attribute
2007.02.05 [2.1.0] in copyTiddler.handler(), if editor fields (textfield and/or tagsfield) can't be found (i.e., tiddler is in VIEW mode, not EDIT mode), then get text/tags values from stored tiddler instead of active editor fields. Allows use of COPY toolbar directly from VIEW mode (based on a request from LaurentCharles)
2006.12.12 [2.0.0] completely rewritten so plugin just creates a new tiddler EDITOR with a copy of the current tiddler EDITOR contents, instead of creating the new tiddler in the STORE by copying the current tiddler values from the STORE.
2005.xx.xx [1.0.0] original version by Tim Morgan
<<<
!!!Code
***/
//{{{
version.extensions.CopyTiddlerPlugin= {major: 3, minor: 2, revision: 2, date: new Date(2009,2,13)};
// automatically tweak shadow EditTemplate to add 'copyTiddler' toolbar command (following 'cancelTiddler')
config.shadowTiddlers.ToolbarCommands=config.shadowTiddlers.ToolbarCommands.replace(/cancelTiddler/,'cancelTiddler copyTiddler');
config.commands.copyTiddler = {
text: 'copy',
hideReadOnly: true,
tooltip: 'Make a copy of this tiddler',
handler: function(event,src,title) { return config.macros.copyTiddler.click(src,event); }
};
config.macros.copyTiddler = {
label: 'copy',
prompt: 'Make a copy of %0',
notitle: 'this tiddler',
prefix: '',
suffixText: ' (%0)',
suffixPattern: / \(([0-9]+)\)$/,
zeroPad: 0,
sparse: false,
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var title=params.shift();
params=paramString.parseParams('anon',null,true,false,false);
var label =getParam(params,'label',this.label+(title?' '+title:''));
var prompt =getParam(params,'prompt',this.prompt).format([title||this.notitle]);
var b=createTiddlyButton(place,label,prompt,
function(ev){return config.macros.copyTiddler.click(this,ev)});
b.setAttribute('from',title||'');
},
click: function(here,ev) {
var tiddlerElem=story.findContainingTiddler(here);
var template=tiddlerElem?tiddlerElem.getAttribute('template'):null;
var title=here.getAttribute('from');
if (!title || !title.length) {
if (!tiddlerElem) return false;
else title=tiddlerElem.getAttribute('tiddler');
}
var root=title.replace(this.suffixPattern,''); // title without suffix
// find last matching title
var last=title;
if (this.sparse) { // don't fill-in holes... really find LAST matching title
var tids=store.getTiddlers('title','excludeLists');
for (var t=0; t<tids.length; t++) if (tids[t].title.startsWith(root)) last=tids[t].title;
}
// get next number (increment from last matching title)
var n=1; var match=this.suffixPattern.exec(last); if (match) n=parseInt(match[1])+1;
var newTitle=this.prefix+root+this.suffixText.format([String.zeroPad(n,this.zeroPad)]);
// if not sparse mode, find the next hole to fill in...
while (store.tiddlerExists(newTitle)||document.getElementById(story.idPrefix+newTitle))
{ n++; newTitle=this.prefix+root+this.suffixText.format([String.zeroPad(n,this.zeroPad)]); }
if (!story.isDirty(title)) { // if tiddler is not being EDITED
// duplicate stored tiddler (if any)
var text=store.getTiddlerText(title,'');
var newtags=[]; var newfields={};
var tid=store.getTiddler(title); if (tid) {
for (var t=0; t<tid.tags.length; t++) newtags.push(tid.tags[t]);
store.forEachField(tid,function(t,f,v){newfields[f]=v;},true);
}
store.saveTiddler(newTitle,newTitle,text,
config.options.txtUserName,new Date(),newtags, newfields, true); // clear changecount
story.displayTiddler(tiddlerElem,newTitle,template);
} else {
story.displayTiddler(tiddlerElem,newTitle,template);
var fields=config.macros.copyTiddler.gatherFields(tiddlerElem); // get current editor fields
var newTiddlerElem=document.getElementById(story.idPrefix+newTitle);
for (var f=0; f<fields.length; f++) { // set fields in new editor
if (fields[f].name=='title') fields[f].value=newTitle; // rename title in new tiddler
var fieldElem=config.macros.copyTiddler.findField(newTiddlerElem,fields[f].name);
if (fieldElem) {
if (fieldElem.getAttribute('type')=='checkbox')
fieldElem.checked=fields[f].value;
else
fieldElem.value=fields[f].value;
}
}
}
story.focusTiddler(newTitle,'title');
return false;
},
findField: function(tiddlerElem,field) {
var inputs=tiddlerElem.getElementsByTagName('input');
for (var i=0; i<inputs.length; i++) {
if (inputs[i].getAttribute('type')=='checkbox' && inputs[i].field == field) return inputs[i];
if (inputs[i].getAttribute('type')=='text' && inputs[i].getAttribute('edit') == field) return inputs[i];
}
var tas=tiddlerElem.getElementsByTagName('textarea');
for (var i=0; i<tas.length; i++) if (tas[i].getAttribute('edit') == field) return tas[i];
var sels=tiddlerElem.getElementsByTagName('select');
for (var i=0; i<sels.length; i++) if (sels[i].getAttribute('edit') == field) return sels[i];
return null;
},
gatherFields: function(tiddlerElem) { // get field names and values from current tiddler editor
var fields=[];
// get checkboxes and edit fields
var inputs=tiddlerElem.getElementsByTagName('input');
for (var i=0; i<inputs.length; i++) {
if (inputs[i].getAttribute('type')=='checkbox')
if (inputs[i].field) fields.push({name:inputs[i].field,value:inputs[i].checked});
if (inputs[i].getAttribute('type')=='text')
if (inputs[i].getAttribute('edit')) fields.push({name:inputs[i].getAttribute('edit'),value:inputs[i].value});
}
// get textareas (multi-line edit fields)
var tas=tiddlerElem.getElementsByTagName('textarea');
for (var i=0; i<tas.length; i++)
if (tas[i].getAttribute('edit')) fields.push({name:tas[i].getAttribute('edit'),value:tas[i].value});
// get selection lists (droplist or listbox)
var sels=tiddlerElem.getElementsByTagName('select');
for (var i=0; i<sels.length; i++)
if (sels[i].getAttribute('edit')) fields.push({name:sels[i].getAttribute('edit'),value:sels[i].value});
return fields;
}
};
//}}}
All Original Information taken from a listing at the [[Dynaverse Forums|http://www.dynaverse.net/forum/index.php/topic,163350834.0.html]] Collated and posted by //~FCM-Corbomite-XC//.
Minor edits and organization by Jonnan
/***
|Name|DisableWikiLinksPlugin|
|Source|http://www.TiddlyTools.com/#DisableWikiLinksPlugin|
|Version|1.6.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Tiddler.prototype.autoLinkWikiWords, 'wikiLink' formatter|
|Options|##Configuration|
|Description|selectively disable TiddlyWiki's automatic ~WikiWord linking behavior|
This plugin allows you to disable TiddlyWiki's automatic ~WikiWord linking behavior, so that WikiWords embedded in tiddler content will be rendered as regular text, instead of being automatically converted to tiddler links. To create a tiddler link when automatic linking is disabled, you must enclose the link text within {{{[[...]]}}}.
!!!!!Usage
<<<
You can block automatic WikiWord linking behavior for any specific tiddler by ''tagging it with<<tag excludeWikiWords>>'' (see configuration below) or, check a plugin option to disable automatic WikiWord links to non-existing tiddler titles, while still linking WikiWords that correspond to existing tiddlers titles or shadow tiddler titles. You can also block specific selected WikiWords from being automatically linked by listing them in [[DisableWikiLinksList]] (see configuration below), separated by whitespace. This tiddler is optional and, when present, causes the listed words to always be excluded, even if automatic linking of other WikiWords is being permitted.
Note: WikiWords contained in default ''shadow'' tiddlers will be automatically linked unless you select an additional checkbox option lets you disable these automatic links as well, though this is not recommended, since it can make it more difficult to access some TiddlyWiki standard default content (such as AdvancedOptions or SideBarTabs)
<<<
!!!!!Configuration
<<<
<<option chkDisableWikiLinks>> Disable ALL automatic WikiWord tiddler links
<<option chkAllowLinksFromShadowTiddlers>> ... except for WikiWords //contained in// shadow tiddlers
<<option chkDisableNonExistingWikiLinks>> Disable automatic WikiWord links for non-existing tiddlers
Disable automatic WikiWord links for words listed in: <<option txtDisableWikiLinksList>>
Disable automatic WikiWord links for tiddlers tagged with: <<option txtDisableWikiLinksTag>>
<<<
!!!!!Revisions
<<<
2008.07.22 [1.6.0] hijack tiddler changed() method to filter disabled wiki words from internal links[] array (so they won't appear in the missing tiddlers list)
2007.06.09 [1.5.0] added configurable txtDisableWikiLinksTag (default value: "excludeWikiWords") to allows selective disabling of automatic WikiWord links for any tiddler tagged with that value.
2006.12.31 [1.4.0] in formatter, test for chkDisableNonExistingWikiLinks
2006.12.09 [1.3.0] in formatter, test for excluded wiki words specified in DisableWikiLinksList
2006.12.09 [1.2.2] fix logic in autoLinkWikiWords() (was allowing links TO shadow tiddlers, even when chkDisableWikiLinks is TRUE).
2006.12.09 [1.2.1] revised logic for handling links in shadow content
2006.12.08 [1.2.0] added hijack of Tiddler.prototype.autoLinkWikiWords so regular (non-bracketed) WikiWords won't be added to the missing list
2006.05.24 [1.1.0] added option to NOT bypass automatic wikiword links when displaying default shadow content (default is to auto-link shadow content)
2006.02.05 [1.0.1] wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals
2005.12.09 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.DisableWikiLinksPlugin= {major: 1, minor: 6, revision: 0, date: new Date(2008,7,22)};
if (config.options.chkDisableNonExistingWikiLinks==undefined) config.options.chkDisableNonExistingWikiLinks= false;
if (config.options.chkDisableWikiLinks==undefined) config.options.chkDisableWikiLinks=false;
if (config.options.txtDisableWikiLinksList==undefined) config.options.txtDisableWikiLinksList="DisableWikiLinksList";
if (config.options.chkAllowLinksFromShadowTiddlers==undefined) config.options.chkAllowLinksFromShadowTiddlers=true;
if (config.options.txtDisableWikiLinksTag==undefined) config.options.txtDisableWikiLinksTag="excludeWikiWords";
// find the formatter for wikiLink and replace handler with 'pass-thru' rendering
initDisableWikiLinksFormatter();
function initDisableWikiLinksFormatter() {
for (var i=0; i<config.formatters.length && config.formatters[i].name!="wikiLink"; i++);
config.formatters[i].coreHandler=config.formatters[i].handler;
config.formatters[i].handler=function(w) {
// supress any leading "~" (if present)
var skip=(w.matchText.substr(0,1)==config.textPrimitives.unWikiLink)?1:0;
var title=w.matchText.substr(skip);
var exists=store.tiddlerExists(title);
var inShadow=w.tiddler && store.isShadowTiddler(w.tiddler.title);
// check for excluded Tiddler
if (w.tiddler && w.tiddler.isTagged(config.options.txtDisableWikiLinksTag))
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// check for specific excluded wiki words
var t=store.getTiddlerText(config.options.txtDisableWikiLinksList);
if (t && t.length && t.indexOf(w.matchText)!=-1)
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// if not disabling links from shadows (default setting)
if (config.options.chkAllowLinksFromShadowTiddlers && inShadow)
return this.coreHandler(w);
// check for non-existing non-shadow tiddler
if (config.options.chkDisableNonExistingWikiLinks && !exists)
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// if not enabled, just do standard WikiWord link formatting
if (!config.options.chkDisableWikiLinks)
return this.coreHandler(w);
// just return text without linking
w.outputText(w.output,w.matchStart+skip,w.nextMatch)
}
}
Tiddler.prototype.coreAutoLinkWikiWords = Tiddler.prototype.autoLinkWikiWords;
Tiddler.prototype.autoLinkWikiWords = function()
{
// if all automatic links are not disabled, just return results from core function
if (!config.options.chkDisableWikiLinks)
return this.coreAutoLinkWikiWords.apply(this,arguments);
return false;
}
Tiddler.prototype.disableWikiLinks_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
this.disableWikiLinks_changed.apply(this,arguments);
// remove excluded wiki words from links array
var t=store.getTiddlerText(config.options.txtDisableWikiLinksList,"").readBracketedList();
if (t.length) for (var i=0; i<t.length; i++)
if (this.links.contains(t[i]))
this.links.splice(this.links.indexOf(t[i]),1);
};
//}}}
;Arming Rate
:1 Turn
|! Range: | 0 <br> Feedback: 20% | 1 | 2 | 3-4 | 5-15 <br> Type I | 16-22 <br> Type II | 23-30 <br> Type III | 31-40 <br> Type IV |
|! To Hit: | 100% | 83% | 83% | 67% | 67% | 67% | 50% | 33% |
|! Damage: | 5 | 5 | 4 | 4 | 3 | 2 | 2 | 1 |
| Disruptor <br> Standard Yield |c
|! Range: | 0 | 1 | 2-4 | 5-8 |
|! To Hit: | 100% | 83% | 83% | 83% |
|! Damage: | 10 | 10 | 8 | 6 |
| Disruptor <br> Overloaded Yield |c
!!!Notes:
:A Type I Disruptor has a maximum range of 15, Type II a range of 22, Type III a range of 30 and Type IV a range of 40.
:Damage is consistent out to each maximum range.
:Disruptors fired at a range of 0 will do feedback damage equal to 20% the warhead yield to the shield facing your target.
|! Missile Rack Type |! Base Number Of Missiles |! Arming Rate |! Maximum Sets Of Reloads |
| A | 4 | 1 Per Turn | 4 |
| B | 6 | 1 Per Turn | 4 |
| C | 4 | 2 Per Turn | 4 |
| F | 4 | 1 Per 2 Turns | 4 |
| G <br> (+[[AMD Rack|Anti-Missile Defense]]) | 4 | 1 Per Turn | 4 |
| M <br>[[MIRV|Multiple Independently-targeted Reentry Vehicles (MIRV)]] | 4 | 1 Per Turn | 4 |
| Drone (Missile) Racks |c
|! Missile: | SLOW | MEDIUM | FAST |
|! Speed: | 16 | 24 | 32 |
|! Range: | 48 | 72 | 96 |
!!!Notes:
:Endurance for all ship-borne missiles is three turns
|! Warhead: | TYPE I | TYPE IV |
|! Damage: | 12 | 24 |
|! Damage Pts to Destroy: | 4 | 6 |
| Drone (Missile) Yields |c
Missiles (Drones):
Arming Rate: See [[Drone Racks]]
!!!Notes:
:Missile Racks will not fire at a range of 0.5 or less.
:G Racks come with a built in AMD Rack.
:See MIRV section for M Rack specifications.
;Arming Rate
:1 Turn
|! Range: | 0-6 |
|! Damage: | 16 |
| ESG Lance |c
!!!Notes
:The ESG Lance is unaffected by Electronic Warfare and will always hit its target if in range.
!Electronic Counter Measures/Electronic ~Counter-Counter Measures (ECM/ECCM):
:ECM in SFC has a limit of 19 points (9 for a Nebula, 4 for Erratic Maneuvers and 6 Self Generated) for a total allowable shift of 4.
:://The Seeking Weapons chart has been abridged to reflect this.//
:Wild Weasels produce 6 points of ECM for the launching unit.
:ECCM negates ECM point for point which may adjust the total shift.
:Performing EM has many effects on weaponry and combat in general.
:It produces the equivalent of 4 points of [[ECM|Electronic Warfare]] creating a column 2 shift for both the performing vessel and units targeting it. This ECM can be negated with ECCM by any unit. This ECM is treated normally for [[Direct Fire Weapons]].
:[[Seeking Weapons]] may not be fired while performing EM (including Plasma D) and Shuttle launches of any kind (including Fighters and PF's) are not allowed.
:[[AMD|Anti-Missile Defense]] suffers a firing penalty while performing EM due to the chaotic nature of the rapid course changes, but is handled under separate rules.
!!!Expanding Sphere Generator (ESG)
;Arming Rate:
:1.5 Turns
|! Radius: | 0 | 1 | 2 | 3 |
| 1 Point | 4 | 4 | 3 | 3 |
| 2 Points | 8 | 7 | 7 | 6 |
| 3 Points | 12 | 11 | 10 | 9 |
| 4 Points | 16 | 15 | 13 | 12 |
| 5 Points | 20 | 18 | 17 | 15 |
|! Energy |>|>|>|! Damage |
| Expanding Sphere Generator |c
!!!Notes:
:The ESG is unaffected by Electronic Warfare and always hits if the field contacts the target.
:Damage is dependent on the amount of energy stored in the ESG Capacitor and the radius of the field.
;Arming Rate
:2 Turns (1 turn cool down, 1 turn charging)
|! Range: | 0 | 1 | 2 | 3-10 | 11-15 | 16-24 |
|! Max: | 13 | 8 | 6 | 4 | 3 | 2 |
| | 11 | 8 | 5 | 3 | 2 | 1 |
| | 10 | 7 | 4 | 2 | 1 | 0 |
| | 9 | 6 | 3 | 1 | 1 | 0 |
| | 8 | 5 | 3 | 1 | 0 | 0 |
|! Min: | 8 | 4 | 2 | 0 | 0 | 0 |
| Fusion Beam <br> Standard Yield |c
|! Range: | 0 | 1 | 2 | 3-8 |
|! Max: | 19 | 12 | 9 | 6 |
| | 16 | 12 | 7 | 4 |
| | 15 | 10 | 6 | 3 |
| | 13 | 9 | 4 | 1 |
| | 12 | 7 | 4 | 1 |
|! Min: | 12 | 6 | 3 | 0 |
| Fusion Beam <br> Overload Yield |c
|! Range: | 0 | 1 | 2 | 3-8 |
|! Max: | 39 | 24 | 18 | 12 |
| | 33 | 24 | 15 | 9 |
| | 30 | 21 | 12 | 6 |
| | 27 | 18 | 9 | 3 |
| | 24 | 15 | 9 | 3 |
|! Min: | 24 | 12 | 6 | 0 |
| Fusion Beam <br> Suicide Overload Yield |c
!!!Notes
:Suicide Overload destroys the Fusion Beam when fired and does random damage to your ship.
;Arming Rate
:1 Turn
|! Range: | 0 | 1 | 2 | 3-4 | 5-15 | 16-22 | 23-30 | 31-40 |
|! To Hit: | 100% | 83% | 83% | 67% | 67% | 67% | 50% | 33% |
|! Damage: | 10 | 10 | 8 | 8 | 6 | 4 | 4 | 4 |
| Heavy Disruptor <br> Standard Yield |c
|! Range: | 0 <br> Feedback: 4 | 1 | 2-4 | 5-8 |
|! To Hit: | 100% | 83% | 83% | 83% |
|! Damage: | 20 | 20 | 16 | 12 |
| Heavy Disruptor <br> Overloaded Yield |c
!!!Notes:
:Heavy Disruptors are able to occasionally "leak" a small amount of damage through shields.
:Overloaded Heavy Disruptors fired at range 0 will do a feedback damage of 4 to the shield facing your target.
!!!Notes:
:Although technically Phased Energy Weapons, the power requirements for Heavy Phasers do not allow them to draw from standard Phaser Capacitors.
;Arming Rate
:2 Turns
|! Range: | 0-1 | 2-4 | 5-6 | 7-10 | 11-16 | 17-20 | 21-24 | 25-31 | 32-40 |
|! Max: | 9 | 8 | 7 | 6 | 5 | 5 | 4 | 3 | 2 |
| | 8 | 7 | 6 | 5 | 5 | 4 | 3 | 2 | 1 |
| | 7 | 5 | 5 | 4 | 4 | 4 | 3 | 1 | 0 |
| | 6 | 4 | 4 | 4 | 4 | 3 | 2 | 0 | 0 |
| | 5 | 4 | 4 | 4 | 3 | 3 | 1 | 0 | 0 |
|! Min: | 4 | 4 | 3 | 3 | 2 | 2 | 0 | 0 | 0 |
!!!Notes:
:Heavy Phaser A stuns weapons for a few seconds when it hits bare hull.
;Arming Rate
:2 Turns
|! Range: | 0-1 | 2-4 | 5-6 | 7-10 | 11-16 | 17-20 | 21-24 | 25-31 | 32-40 |
|! Max: | 15(5) | 15(5) | 13(4) | 13(4) | 9(3) | 9(3) | 6(2) | 6(2) | 2(1) |
| | 15(5) | 15(5) | 13(4) | 9(3) | 9(3) | 6(2) | 6(2) | 3(1) | 2(1) |
| | 15(5) | 15(5) | 13(4) | 9(3) | 6(2) | 6(2) | 3(1) | 2(1) | 2(1) |
| | 15(5) | 15(5) | 9(3) | 6(2) | 6(2) | 3(1) | 3(1) | 2(1) | 0(0) |
| | 15(5) | 15(5) | 9(3) | 0(0) | 0(0) | 0(0) | 0(0) | 0(0) | 0(0) |
|! Min: | 15(5) | 0(0) | 0(0) | 0(0) | 0(0) | 0(0) | 0(0) | 0(0) | 0(0) |
| Heavy Phaser B |c
!!!Notes:
:Primary listing is damage on bare hull. Damage against shields is in parenthesis.
;Arming Rate
:2 Turns
|! Range: | 0-1 <br> Feedback: 8 | 2 | 3-4 | 5-8 | 9-12 | 13-30 | 31-55 |
|! To Hit: | 100% | 83% | 67% | 50% | 33% | 17% | NA |
|! Damage: | 16 | 16 | 16 | 16 | 16 | 16 | NA |
| Heavy Photon Torpedos <br> Standard Yield |c
|! Range: | 0-1 <br> Feedback: 8 | 2 | 3-4 | 5-8 | 9-12 | 13-30 | 31-55 |
|! To Hit: | 100% | 83% | 67% | 50% | NA | NA | NA |
|! Damage: | 32 | 32 | 32 | 32 | NA | NA | NA |
| Heavy Photon Torpedos <br> Overloaded Yield |c
|! Range: | 0-1 <br> Feedback: 8 | 2 | 3-4 | 5-8 | 9-12 | 13-30 | 31-55 |
|! To Hit: | NA | NA | NA | NA | 83% | 67% | 33% |
|! Damage: | NA | NA | NA | NA | 8 | 8 | 8 |
| Heavy Photon Torpedos <br> Proximity Yield |c
;Arming Rate
:2 Turns
|! Range: | 0-1 | 2 | 3-4 | 5-8 | 9-15 | 16-22 | 23-40 |
|! To Hit: | 97% | 92% | 83% | 72% | 58% | 42% | 28% |
|! Damage: | 20 | 17 | 15 | 13 | 10 | 8 | 4 |
| Hellbore: <br> Standard Yield |c
|! Range: | 0-1 <br> Feedback: <br> 1pt/Shield | 2 | 3-4 | 5-8 |
|! To Hit: | 97% | 92% | 83% | 72% |
|! Damage: | 30 | 25 | 22 | 19 |
| Hellbore: <br> Overloaded Yield |c
!!!Notes:
:Most of the damage (Approximately 50%) goes to the weakest shield(s). Remaining Damage is divided (approximately equally) amongst the remaining shields. It's a bit more complicated than that, but I'm not going to explain it here.
:Overloaded Hellbores fired at range 0-1 do feedback damage equal to 1 point per shield if they hit their target.
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{
window.hideWhenLastTest = false;
window.removeElementWhen = function(test,place) {
window.hideWhenLastTest = test;
if (test) {
removeChildren(place);
place.parentNode.removeChild(place);
}
};
merge(config.macros,{
hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( eval(paramString), place);
}},
showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !eval(paramString), place);
}},
hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAny(params), place);
}},
showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAny(params), place);
}},
hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
}},
showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
}},
hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title == params[0], place);
}},
showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title != params[0], place);
}},
'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !window.hideWhenLastTest, place);
}}
});
//}}}
:The ECM shift moves the chance to hit to the next higher range bracket (one bracket per shift).
:If the weapon hits, damage is based on actual range to the target, not the adjusted range.
/***
|''Name:''|IsDirtyPlugin|
|''Description:''|When the TiddlyWiki needs to be saved the tiddler named IsDirty contains ' * ' else it is empty. IsDirty tiddler is also appended in front of the browser page title.<br>Hint: Put it in front of your SiteTitle in your PageTemplate or in your MainMenu as an indicator.<br>For now IsDirty: <<tiddler IsDirty>>|
|''Version:''|1.0.1|
|''Date:''|Mar 20, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#IsDirtyPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''[[License]]:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.IsDirtyPlugin = {
major: 1, minor: 0, revision: 1,
date: new Date("Mar 20, 2007"),
source: 'http://tiddlywiki.bidix.info/#IsDirtyPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0'
};
if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};
bidix.setDirty = TiddlyWiki.prototype.setDirty;
bidix.initIsDirty = function()
{
var tags = "[[excludeLists]] [[excludeSearch]]";
var tiddler = store.getTiddler("IsDirty");
if (!tiddler) {
tiddler = new Tiddler("IsDirty");
//tiddler.set(title,text,modifier,modified,tags,created,fields)
tiddler.set(null,null,null,null,tags,null,null);
store.addTiddler(tiddler);
}
tiddler.set(null,"",null,null,null,null,null);
return tiddler;
};
TiddlyWiki.prototype.setDirty = function(dirty)
{
var indic = " * ";
var oldDirty = this.isDirty ();
bidix.setDirty.apply(this,arguments);
var tiddler = bidix.initIsDirty();
if (dirty)
tiddler.set(null,indic,null,null,null,null,null);
else
tiddler.set(null," ",null,null,null,null,null);
story.refreshTiddler(tiddler.title);
store.notify(tiddler.title, true);
refreshPageTitle();
};
bidix.refreshPageTitle = function()
{
document.title = wikifyPlain("IsDirty") + wikifyPlain("SiteTitle") + " - " + wikifyPlain("SiteSubtitle");
};
bidix.core.refreshPageTitle = refreshPageTitle ;
refreshPageTitle = bidix.refreshPageTitle;
bidix.initIsDirty();
//}}}
|! Range: | 0 | 1 | 2 | 3-4 |
|! To Hit: | 100% | 83% | 83% | 67% |
|! Damage: |>| 2 - 3 |>| 2 |
| Light Disruptor |c
|! Range: | 0 | 1 | 2 |
|! Max: | 7 | 5 | 4 |
| | 6 | 5 | 3 |
|~| 6 | 4 | 3 |
|~| 5 | 4 | 2 |
|~| 5 | 3 | 2 |
|! Min: | 5 | 3 | 2 |
| Light Fusion Beam |c
|! Range: | 0-1 | 2 | 3-4 | 5-8 |
|! To Hit: | 97% |92% | 83% | 72% |
|! Damage: | 10 | 9 | 8 | 6 |
| Light Hellbore |c
| | Fighter Type I Missile | Fighter Type IV Missile |
|! Speed: | 32 | 24 |
|! Warhead: | 4 | 8 |
|! Endurance: | 1 turn | 2 Turns |
|! Damage Points To Destroy: |>| 2 |
| Light (Fighter) Missiles |c
|! Range: | 0-1 | 2 | 3-4 |
|! To Hit: | 100% | 83% | 67% |
|! Damage: |>|>| 4 |
| Light Photon Torpedo |c
!!!Notes:
:Photon Torpedoes mounted on fighters have a maximum range of 4.
!!!Light (Fighter Based) Weapons
:With the exception of [[Phasers|Phaser]] all Light/Fighter based weaponry have a range of 4 (2 for Fusion Beams).
:Phasers mounted on fighters have the same requirements and features as ship-borne phasers. Arming Rates depend on the number of Deck Crews and types of weapons loaded. Arming Rates can be observed in the Fighter MFD inside the Shuttle Conversion MFD.
:PF's arm their own weapons and follow the same requirements as ships.
;Arming Rate
:0.5 Turn.
|! Range: | 0-6 | 7-11 | 12-20 |
|! Damage: | Twice Battery Power | Battery Power | Half Battery Power |
!!!Notes:
:The Batteries must be in a charging state for the Hardpoint to cycle.
:Range breaks for the Mauler are really at .99 of a distance.
::Example: 0-6 really means 0-5.99.
:Mauler damage is dependent on stored Battery power and range to the target. It is wise to check the Battery level before firing. Electronic Warfare has little effect on the Mauler and it rarely misses.
;Arming Rate
:Mine Rack: 0.5 Turn
:Transporter Bomb: 1 Turn
|! Mine Type: | Mine <br> Transporter Bomb | Nuclear <br> Space <br> Mine |
|! Damage: | 10 | 35 |
|! Blast Radius: | 2 | 2 |
| Mines |c
!!!Notes:
:A Transporter Bomb (~T-Bomb) is just a transported regular mine.
:Transporters have a maximum range of 5.
:Nuclear Space Mines (NSM) cannot be transported.
;Arming Rate: See [[Drone Racks: M|Drone Racks]]
|! MIRV Warhead: | TYPE I | TYPE IV |
|! Submunitions: | 6 | 6 |
|! Total Damage: | 12 | 24 |
|! Damage/Submunition: | 2 | 4 |
|! Damage Pts to Destroy: | 4(2) | 6(2) |
| MIRV Warheads |c
!!!Notes:
:MIRV's may use all three missile speeds, but may not be used in a Scatterpack Shuttle.
:The submunitions do not count against control channel limits, but the parent vehicle does.
:The number in parenthesis is the damage required to destroy each submunition vs the parent vehicle.
/***
|Name:|NewHerePlugin|
|Description:|Creates the new here and new journal macros|
|Version:|3.0 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.macros, {
newHere: {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
}
},
newJournalHere: {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
}
}
});
//}}}
;Arming Rate
:1 Turn
!!!Notes:
:Standard Phasers draw from a ship-wide Phaser Capacitor.
|! Range: | 0 | 1 | 2 | 3 | 4-8 | 9-15 |
|! Max: | 4 | 4 | 4 | 3 | 1 | 1 |
| | 4 | 4 | 4 | 2 | 1 | 0 |
| | 4 | 4 | 4 | 1 | 0 | 0 |
| | 4 | 4 | 3 | 0 | 0 | 0 |
| | 4 | 3 | 2 | 0 | 0 | 0 |
|! Min: | 3 | 3 | 1 | 0 | 0 | 0 |
| Phaser G (//per pulse//) |c
!!!Notes:
With the exception of having four shots per turn/energy unit rather than one, Phaser G is functionally identical to [[Phaser III]]
;Arming Rate
:1 Turn
|! Range: | 0 | 1 | 2 | 3 | 4-8 | 9-15 | 16-30 | 31-50 |
|! Max: | 4 | 4 | 4 | 4 | 4 | 3 | 2 | 1 |
| | 4 | 4 | 4 | 4 | 4 | 3 | 2 | 1 |
| | 4 | 4 | 4 | 4 | 3 | 2 | 2 | 1 |
| | 4 | 4 | 4 | 3 | 3 | 2 | 1 | 0 |
| | 4 | 4 | 4 | 3 | 2 | 2 | 1 | 0 |
|! Min: | 3 | 3 | 3 | 2 | 1 | 1 | 0 | 0 |
| Phaser G2 <br> Damage/Pulse |c
|! Range: | 0 | 1 | 2 | 3 | 4 | 5 | 6-8 | 9-15 | 16-25 | 26-50 | 51-75 |
|! Max: | 9 | 8 | 7 | 6 | 5 | 5 | 4 | 3 | 2 | 1 | 1 |
| | 8 | 7 | 6 | 5 | 5 | 4 | 3 | 2 | 1 | 1 | 0 |
| | 7 | 5 | 5 | 4 | 4 | 4 | 3 | 1 | 0 | 0 | 0 |
| | 6 | 4 | 4 | 4 | 4 | 3 | 2 | 0 | 0 | 0 | 0 |
| | 5 | 4 | 4 | 4 | 3 | 3 | 1 | 0 | 0 | 0 | 0 |
|! Min: | 4 | 4 | 3 | 3 | 2 | 2 | 0 | 0 | 0 | 0 | 0 |
| Phaser I |c
|! Range: | 0 | 1 | 2 | 3 | 4-8 | 9-15 | 16-30 | 31-50 |
|! Max: | 6 | 5 | 5 | 4 | 3 | 2 | 1 | 1 |
| | 6 | 5 | 4 | 4 | 2 | 1 | 1 | 0 |
| | 6 | 4 | 4 | 4 | 1 | 1 | 0 | 0 |
| | 5 | 4 | 4 | 3 | 1 | 0 | 0 | 0 |
| | 5 | 4 | 3 | 3 | 0 | 0 | 0 | 0 |
|! Min: | 5 | 3 | 3 | 3 | 0 | 0 | 0 | 0 |
| Phaser II |c
|! Range: | 0 | 1 | 2 | 3 | 4-8 | 9-15 |
|! Max: | 4 | 4 | 4 | 3 | 1 | 1 |
| | 4 | 4 | 4 | 2 | 1 | 0 |
| | 4 | 4 | 4 | 1 | 0 | 0 |
| | 4 | 4 | 3 | 0 | 0 | 0 |
| | 4 | 3 | 2 | 0 | 0 | 0 |
|! Min: | 3 | 3 | 1 | 0 | 0 | 0 |
| Phaser III |c
|! Range | 0-3 | 4-5 | 6 | 7 | 8 | 9 | 10 | 11-13 | 14-17 | 18-25 | 26-40 | 41-70 | 71-100 |
|! Max: | 20 | 20 | 20 | 15 | 12 | 10 | 8 | 6 | 5 | 4 | 3 | 2 | 1 |
| | 20 | 20 | 15 | 12 | 11 | 9 | 8 | 6 | 4 | 3 | 2 | 1 | 0 |
| | 20 | 15 | 12 | 11 | 10 | 8 | 7 | 5 | 4 | 2 | 1 | 0 | 0 |
| | 20 | 15 | 11 | 10 | 9 | 8 | 6 | 4 | 3 | 1 | 0 | 0 | 0 |
| | 15 | 12 | 10| 9 | 8 | 7 | 5 | 3 | 2 | 0 | 0 | 0 | 0 |
|! Min: | 15 | 10 | 9 | 8 | 7 | 6 | 5 | 3 | 1 | 0 | 0 | 0 | 0 |
| Phaser IV |c
!!!Notes:
:Except for mods, the Phaser IV will only be found on Bases, Planets and certain Monsters.
;Arming Rate
:1 Turn
|! Range: | 0 | 1 | 2 | 3 | 4 | 5 | 6-8 | 9-15 | 16-25 | 26-50 | 51-75 |
|! Max: | 13 | 12 | 10 | 9 | 7 | 7 | 6 | 4 | 3 | 1 | 1 |
| | 12 | 10 | 9 | 7 | 7 | 6 | 4 | 3 | 1 | 1 | 0 |
| | 10 | 7 | 7 | 6 | 6 | 6 | 4 | 1 | 0 | 0 | 0 |
| | 9 | 6 | 6 | 6 | 6 | 4 | 3 | 0 | 0 | 0 | 0 |
| | 7 | 6 | 6 | 6 | 4 | 4 | 1 | 0 | 0 | 0 | 0 |
|! Min: | 6 | 6 | 4 | 4 | 3 | 3 | 0 | 0 | 0 | 0 | 0 |
| Phaser X <br> (Overloaded) |c
!!!Notes:
:The Phaser X is a Phaser 1 that can be overloaded -- O/L damage is given.
:For normal damage refer to the [[Phaser I]] chart.
:Careful testing has shown that all decimals are dropped in damage computation. The chart has been modified to reflect that.
;Arming Rate
:Two Turns
|! Range: | 0-1 <br> Feedback: 25% | 2 | 3-4 | 5-8 | 9-12 | 13-30 | 31-55 |
|! To Hit: | 100% | 83% | 67% | 50% | 33% | 17% | NA |
|! Damage: | 8 | 8 | 8 | 8 | 8 | 8 | NA |
| Photon Torpedos <br> Standard Yield |c
|! Range: | 0-1 <br> Feedback: 25% | 2 | 3-4 | 5-8 | 9-12 | 13-30 | 31-55 |
|! To Hit: | 100% | 83% | 67% | 50% |>|>| NA |
|! Damage: | 16 | 16 | 16 | 16 |>|>| NA |
| Photon Torpedos <br> Overloaded Yield |c
|! Range: | 0-1 <br> Feedback: 25% | 2 | 3-4 | 5-8 | 9-12 | 13-30 | 31-55 |
|! To Hit: |>|>|>| NA | 83% | 67% | 33% |
|! Damage: |>|>|>| NA | 4 | 4 | 4 |
| Photon Torpedos <br> Proximity Yield |c
;Arming Rate
:1 Turn (once entire Hardpoint is empty)
|! Range: | 0-5 | 6-10 | 11-12 | 13-14 | 15 |
|! Damage: | 10 | 8 | 5 | 2 | 1 |
| Plasma D |c
!!!Notes:
:Plasma D's do not have a Pseudo Torpedo and may not be Enveloped, Shotgunned or Fast Loaded.
:They only work against Fighters, PF's, Shuttles (except Wild Weasels) and Missiles.
:While the torpedo goes to range 15, the maximum firing range is 7.84.
;Arming Rate:
:3 Turns
|! Range: | 0-10 | 11-15 | 16-20 | 21-23 | 24 | 25 |
|! Damage: | 20 | 14 | 10 | 6 | 3 | 1 |
| Plasma E <br> (Plasma Snare) |c
!!!Notes:
:A Plasma Snare slows the target's maximum speed down by five for one turn for every torpedo that hits.
:Plasma E may not be Enveloped, Shotgunned or Fast Loaded.
|! Range: | 0-5 | 6-10 | 11-12 | 13-14 | 15 |
|! Damage: | 20 | 15 | 10 | 5 | 1 |
| Plasma F <br> (Plasma I) |c
!!!Notes:
:Plasma F may not be Enveloped, Shotgunned or Fast Loaded.
|! Range: | 0-10 | 11-15 | 16-18 | 19 | 20 |
|! Damage: | 20 | 15 | 10 | 5 | 1 |
| Plasma G |c
!!!Notes:
A Plasma G makes two F -Torps in Defensive Mode.
!!!Notes:
:Other than as mentioned below, Plasma I is identical to [[Plasma F]].
:Plasma I do not have a Pseudo Torpedo.
:Plasma I in a Defensive/Full Defensive state of readiness on a Hardpoint will only work against Fighters, Administrative Shuttles and PF's.
:Defensive/Full Defensive Plasma I can only obtain a firing solution to range 10, but can retain lockon to range 15.
|! Range: | 0-10 | 11-15 | 16-20 | 21-25 | 26-28 | 29 | 30 |
|! Damage: | 50 | 35 | 25 | 20 | 10 | 5 | 1 |
| Plasma R |c
!!!Notes:
:A Plasma R makes five F -Torps in Defensive Mode (Plasma Shotgun).
|! Range: | 0-10 | 11-15 | 16-20 | 21-23 | 24 | 25 |
|! Damage: | 30 | 22 | 15 | 10 | 5 | 1 |
| Plasma S |c
!!!Notes:
:A Plasma S makes three F -Torps in Defensive Mode.
;Arming Rate
:3 Turns
:(2 Turns Fast Loading)
!!!Notes:
:Range breaks for all Plasma (except Plasma X) are really at .99 of a distance, i.e. 0-10 really means 0-9.99.
:All Plasma Torpedoes (except Plasma X) travel at speed 36.
:All Plasma has 3 points of built in ECCM.
:Phasers will decrease the warhead strength by 1/4 the damage scored on the torpedo.
:Fast Loading: Downgrading a larger Torpedo Launcher to [[Plasma F]] will allow the launcher to charge in two turns, holding the charge for 1 energy unit regardless of launcher size.
:://All other downgraded Plasma Torpedos will charge and hold as normal for that class of torpedo.//
:Plasma Torpedoes fired at range 0 (except Plasma D) do feedback damage equal to 1/4 the warhead strength to the shield facing your target.
:For Enveloping Damage: Multiply the appropriate damage by two, then divide by six and apply to each shield facing.
;Arming Rate
:3 Turns
|! Range: | 0 - 8.25 | 8.26 - 12.15 | 12.16 - 16.15 | 16.16 - 20.15 | 20.16 - 23.30 | 23.31 - 24.10 |
|! Damage: | 40 | 29 | 20 | 13 | 6 | 1 |
| Plasma X <br> (Fast Plasma) |c
!!!Notes:
:Plasma X is a speed 40 torpedo that dissipates faster in return for speed and damage.
:Plasma X may not be Enveloped, Shotgunned or Fast Loaded.
;Arming Rate
:2 Turns
|! Range: | 0-3 | 4-10 | 11-15 | 16-20 | 21-25 | 26-30 | 31-40 |
|! To Hit: | NA | 83% | 72% | 58% | 42% | 28% | 17% |
|! Damage: | NA | 1+4+1 | 1+3+1 | 1+2+1 | 1+1+1 | 1+1+0 | 0+1+0 |
| Plasmatic Pulsar Device <br> Damage/Pulse |c
!!!Notes:
:Damage is given with Splash. The PPD hits the facing shield hardest and then "leaks" onto the two adjacent shields to apply the Splash Damage.
:Damage is per pulse. Overload adds two pulses to the shot. Overload maximum range is 8. Underload subtracts two pulses from the shot.
/***
|Name:|QuickOpenTagPlugin|
|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {
dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?
createTagButton: function(place,tag,excludeTiddler) {
// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
var splitTag = tag.split("|");
var pretty = tag;
if (splitTag.length == 2) {
tag = splitTag[1];
pretty = splitTag[0];
}
var sp = createTiddlyElement(place,"span",null,"quickopentag");
createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
config.views.wikified.tag.tooltip.format([tag]),onClickTag);
theTag.setAttribute("tag",tag);
if (excludeTiddler)
theTag.setAttribute("tiddler",excludeTiddler);
return(theTag);
},
miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
var tagged = store.getTaggedTiddlers(tiddler.title);
if (tagged.length > 0) {
var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
theTag.setAttribute("tag",tiddler.title);
theTag.className = "miniTag";
}
},
allTagsHandler: function(place,macroName,params) {
var tags = store.getTags(params[0]);
var filter = params[1]; // new feature
var ul = createTiddlyElement(place,"ul");
if(tags.length == 0)
createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
for(var t=0; t<tags.length; t++) {
var title = tags[t][0];
if (!filter || (title.match(new RegExp('^'+filter)))) {
var info = getTiddlyLinkInfo(title);
var theListItem =createTiddlyElement(ul,"li");
var theLink = createTiddlyLink(theListItem,tags[t][0],true);
var theCount = " (" + tags[t][1] + ")";
theLink.appendChild(document.createTextNode(theCount));
var theDropDownBtn = createTiddlyButton(theListItem," " +
config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
theDropDownBtn.setAttribute("tag",tags[t][0]);
}
}
},
// todo fix these up a bit
styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
" { margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
" { border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
" { margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
" { margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
" /* looks better in right justified main menus */",
" { margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }",
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
""].join("\n"),
init: function() {
// we fully replace these builtins. can't hijack them easily
window.createTagButton = this.createTagButton;
config.macros.allTags.handler = this.allTagsHandler;
config.macros.miniTag = { handler: this.miniTagHandler };
config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
store.addNotification("QuickOpenTagStyles",refreshStyles);
}
}
config.quickOpenTag.init();
//}}}
:The ECM shift adds to the damage roll in the appropriate range bracket. If the damage scored is the last entry in the column (Min), ECM will cause a move to the last entry in the next higher bracket (one bracket per shift).
;Example
:You fire a Phaser 1 at a ship at range 5 through a 2 shift. The hit scores on the second to last entry in the column, scoring 3 points of damage, but since there is a 2 shift the damage is moved down to the last entry (2 pts), then over to the last entry in the 6-8 range bracket (0 pts), which means your half drunk Andorian weapons officer missed again!
/***
|Name:|RenameTagsPlugin|
|Description:|Allows you to easily rename or delete tags across multiple tiddlers|
|Version:|3.0 ($Rev: 5501 $)|
|Date:|$Date: 2008-06-10 23:11:55 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
***/
//{{{
config.renameTags = {
prompts: {
rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
remove: "Remove the tag '%0' from %1 tidder%2?"
},
removeTag: function(tag,tiddlers) {
store.suspendNotifications();
for (var i=0;i<tiddlers.length;i++) {
store.setTiddlerTag(tiddlers[i].title,false,tag);
}
store.resumeNotifications();
store.notifyAll();
},
renameTag: function(oldTag,newTag,tiddlers) {
store.suspendNotifications();
for (var i=0;i<tiddlers.length;i++) {
store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
store.setTiddlerTag(tiddlers[i].title,true,newTag); // add new
}
store.resumeNotifications();
store.notifyAll();
},
storeMethods: {
saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,
saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
if (title != newTitle) {
var tagged = this.getTaggedTiddlers(title);
if (tagged.length > 0) {
// then we are renaming a tag
if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))
config.renameTags.renameTag(title,newTitle,tagged);
if (!this.tiddlerExists(title) && newBody == "")
// dont create unwanted tiddler
return null;
}
}
return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
},
removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,
removeTiddler: function(title) {
var tagged = this.getTaggedTiddlers(title);
if (tagged.length > 0)
if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
config.renameTags.removeTag(title,tagged);
return this.removeTiddler_orig_renameTags(title);
}
},
init: function() {
merge(TiddlyWiki.prototype,this.storeMethods);
}
}
config.renameTags.init();
//}}}
/***
|Name|SaveAsPlugin|
|Source|http://www.TiddlyTools.com/#SaveAsPlugin|
|Documentation|http://www.TiddlyTools.com/#SaveAsPluginInfo|
|Version|2.4.3|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Save current document to a different path/filename|
This plugin automatically adds a 'save as' command to the TiddlyWiki 'backstage' menu that allows you to quickly create an exact copy of the current TiddlyWiki document. The plugin also defines a macro that you can use to place a "save as..." command link into your sidebar/mainmenu/any tiddler (or wherever you like).
>//Note: This plugin now supersedes [[NewDocumentPlugin]], which has been retired and is no longer being distributed. In addition, the HTML+CSS "snapshot" functionality previous provided by that plugin has been moved to a separate plugin. Please see [[SnapshotPlugin]] for additional information.//
!!!!!Documentation
<<<
see [[SaveAsPluginInfo]]
<<<
!!!!!Revisions
<<<
2008.09.29 [2.4.3] in getData(), convert existing TW file from UTF8 to Unicode before merging to correct handling of international characters and symbols.
| Please see [[SaveAsPluginInfo]] for additional revision details |
2006.02.03 [1.0.0] Created.
<<<
!!!!!Code
***/
//{{{
version.extensions.SaveAsPlugin= {major: 2, minor: 4, revision: 2, date: new Date(2008,9,28)};
config.macros.saveAs = {
label: "save as...",
labelparam: "label:",
prompt: "Save current document to a different path/file",
promptparam: "prompt:",
filePrompt: "Please select or enter a target path/filename",
targetparam: "target:",
defaultFilename: "new.html",
filenameparam: "filename:",
currfilekeyword: "here",
typeparam: "type:",
type_TW: "tw", type_PS: "ps", type_TX: "tx", type_NF: "nf", // file type tokens
type_map: { // map filetype param alternatives/abbreviations to token values
tiddlywiki:"tw", tw:"tw", wiki: "tw",
purestore: "ps", ps:"ps", store:"ps",
plaintext: "tx", tx:"tx", text: "tx",
newsfeed: "nf", nf:"nf", xml: "nf", rss:"nf"
},
replaceparam: "replace",
mergeparam: "merge",
quietparam: "quiet",
openparam: "open",
askParam: "ask",
askMsg: "Enter a tag filter (use * for all tiddlers, 'none' for blank document)",
emptyParam: "none",
confirmmsg: "Found %0 tiddlers matching\n\n'%1'\n\nPress OK to proceed",
mergeprompt: "%0\nalready contains tiddler definitions.\n"
+"\nPress OK to add new/revised tiddlers to current file contents."
+"\nPress Cancel to completely replace file contents",
mergestatus: "Merged %0 new/revised tiddlers and %1 existing tiddlers",
okmsg: "%0 tiddlers written to %1",
failmsg: "An error occurred while creating %1",
filter: "",
handler: function(place,macroName,params) {
if (params[0] && params[0].substr(0,this.labelparam.length)==this.labelparam)
var label=params.shift().substr(this.labelparam.length);
if (params[0] && params[0].substr(0,this.promptparam.length)==this.promptparam)
var prompt=params.shift().substr(this.promptparam.length);
if (params[0] && params[0].substr(0,this.targetparam.length)==this.targetparam)
var target=params.shift().substr(this.targetparam.length);
if (params[0] && params[0].substr(0,this.filenameparam.length)==this.filenameparam)
var filename=params.shift().substr(this.filenameparam.length);
if (params[0] && params[0].substr(0,this.typeparam.length)==this.typeparam)
var filetype=this.type_map[params.shift().substr(this.typeparam.length).toLowerCase()];
var q=(params[0] && params[0]==this.quietparam); if (q) params.shift();
var o=(params[0] && params[0]==this.replaceparam); if (o) params.shift();
var m=(params[0] && params[0]==this.mergeparam); if (m) params.shift();
var a=(params[0] && params[0]==this.openparam); if (a) params.shift();
var btn=createTiddlyButton(place,label||this.label,prompt||this.prompt,
function(){config.macros.saveAs.go(
this.getAttribute('target'),
this.getAttribute('filename'),
this.getAttribute('filetype'),
this.getAttribute('filter'),
this.getAttribute('quiet')=="true",
this.getAttribute('overwrite')=="true",
this.getAttribute('merge')=="true",
this.getAttribute('autoopen')=="true"); return false;}
);
if (target) btn.setAttribute("target",target);
if (filename) btn.setAttribute("filename",filename);
btn.setAttribute("filetype",filetype||this.type_TW);
btn.setAttribute("filter",params.join(" "));
btn.setAttribute("quiet",q?"true":"false");
btn.setAttribute("overwrite",o?"true":"false");
btn.setAttribute("merge",m?"true":"false");
btn.setAttribute("autoopen",a?"true":"false");
},
go: function(target,filename,filetype,filter,quiet,overwrite,merge,autoopen) {
var cm=config.messages; // abbreviation
var cms=config.macros.saveAs; // abbreviation
if (window.location.protocol!="file:") // make sure we are local
{ displayMessage(cm.notFileUrlError); return; }
// get tidders, confirm filtered results
var tids=cms.selectTiddlers(filter);
if (tids===false) return; // cancelled by user
if (cms.filter!=cms.emptyParam && cms.filter.length && !quiet)
if (!confirm(cms.confirmmsg.format([tids.length,cms.filter]))) return;
// get target path/filename
if (!filetype) filetype=this.type_TW;
target=target||cms.getTarget(filename,filetype==this.type_TX?'txt':'html');
if (!target) return; // cancelled by user
var link="file:///"+target.replace(/\\/g,'/');
var samefile=link==decodeURIComponent(window.location.href);
var p=getLocalPath(document.location.href);
if (samefile) {
if (config.options.chkSaveBackups) { var t=loadOriginal(p);if(t)saveBackup(p,t); }
if (config.options.chkGenerateAnRssFeed && saveRss instanceof Function) saveRss(p);
}
var notes="";
var total={val:0};
var out=this.assembleFile(target,filetype,tids,notes,quiet,overwrite,merge,total);
var ok=saveFile(target,out);
if (ok && autoopen) {
if (!samefile) window.open(link).focus();
else { store.setDirty(false); window.location.reload(); }
}
if (!quiet || !(ok && autoopen))
displayMessage((ok?this.okmsg:this.failmsg).format([total.val,target]),link);
},
selectTiddlers: function(filter) {
var cms=config.macros.saveAs; // abbreviation
cms.filter=filter||"";
if (filter==cms.emptyParam) return [];
if (!filter||!filter.length) return store.getTiddlers("title");
// get filtered tiddlers
if (filter==config.macros.saveAs.askParam) {
filter=prompt(config.macros.saveAs.askMsg,"");
if (!filter) return false; // cancelled by user
cms.filter=filter=="*"?"":filter;
if (filter=="*") return store.getTiddlers("title");
}
return store.filterTiddlers("[tag["+filter+"]]");
},
getTarget: function(defName,defExt) {
var cms=config.macros.saveAs; // abbreviation
// get new target path/filename
var newPath=getLocalPath(window.location.href);
var slashpos=newPath.lastIndexOf("/"); if (slashpos==-1) slashpos=newPath.lastIndexOf("\\");
if (slashpos!=-1) newPath=newPath.substr(0,slashpos+1); // trim filename
if (!defName||!defName.length) { // use current filename as default
var p=getLocalPath(window.location.href);
var s=p.lastIndexOf("/"); if (s==-1) s=p.lastIndexOf("\\");
if (s!=-1) defName=p.substr(s+1);
}
var defFilename=(defName||cms.defaultFilename).replace(/.html$/,'.'+defExt);
var target=cms.askForFilename(cms.filePrompt,newPath,defFilename,defExt);
if (!target) return; // cancelled by user
// if specified file does not include a path, assemble fully qualified path and filename
var slashpos=target.lastIndexOf("/"); if (slashpos==-1) slashpos=target.lastIndexOf("\\");
if (slashpos==-1) target=target+(defName||cms.defaultFilename).replace(/.html$/,'.'+defExt);
return target;
},
askForFilename: function(msg,path,file,defExt) {
if(window.Components) { // moz
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension=defExt||'html';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
}
catch(e) { alert('error during local file access: '+e.toString()) }
}
else { // IE
try { // XP/Vista only
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=(defExt=='txt')?2:3; // default to HTML files;
s.InitialDir=path;
s.FileName=file;
if (s.showOpen()) var result=s.FileName;
}
catch(e) { var result=prompt(msg,path+file); } // fallback for non-XP IE
}
return result;
},
plainTextHeader:
'// Source'+':\n//\t%0\n'
+'// Title:\n//\t%1\n'
+'// Subtitle:\n//\t%2\n'
+'// Created:\n//\t%3 by %4\n'
+'// Application:\n//\tTiddlyWiki %5 / %6 %7\n',
plainTextTiddler:
'\n// ----- %0 (by %1 on %2) -----\n\n%3',
plainTextFooter:
'',
newsFeedHeader:
'<'+'?xml version="1.0"?'+'>\n'
+'<rss version="2.0">\n'
+'<channel>\n'
+'<title>%1</title>\n'
+'<link>%0</link>\n'
+'<description>%2</description>\n'
+'<language>en-us</language>\n'
+'<copyright>Copyright '+(new Date().getFullYear())+' %4</copyright>\n'
+'<pubDate>%3</pubDate>\n'
+'<lastBuildDate>%3</lastBuildDate>\n'
+'<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n'
+'<generator>TiddlyWiki %5 / %6 %7</generator>\n',
newsFeedTiddler:
'\n%0\n',
newsFeedFooter:
'</channel></rss>',
pureStoreHeader:
'<html><body>'
+'<style type="text/css">'
+' #storeArea {display:block;margin:1em;}'
+' #storeArea div {padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}'
+' #pureStoreHeading {width:100%;text-align:left;background-color:#eeeeee;padding:1em;}'
+'</style>'
+'<div id="pureStoreHeading">'
+' TiddlyWiki "PureStore" export file<br>'
+' Source'+': <b>%0</b><br>'
+' Title: <b>%1</b><br>'
+' Subtitle: <b>%2</b><br>'
+' Created: <b>%3</b> by <b>%4</b><br>'
+' TiddlyWiki %5 / %6 %7<br>'
+' Notes:<hr><pre>%8</pre>'
+'</div>'
+'<div id="storeArea">',
pureStoreTiddler:
'%0\n%1',
pureStoreFooter:
'</div><!--POST-BODY-START-->\n<!--POST-BODY-END--></body></html>',
assembleFile: function(target,filetype,tids,notes,quiet,overwrite,merge,total) {
var revised="";
var now = new Date().toLocaleString();
var src=convertUnicodeToUTF8(document.location.href);
var title = convertUnicodeToUTF8(wikifyPlain("SiteTitle").htmlEncode());
var subtitle = convertUnicodeToUTF8(wikifyPlain("SiteSubtitle").htmlEncode());
var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());
var twver = version.major+"."+version.minor+"."+version.revision;
var v=version.extensions.SaveAsPlugin; var pver = v.major+"."+v.minor+"."+v.revision;
var headerargs=[src,title,subtitle,now,user,twver,"SaveAsPlugin",pver,notes];
switch (filetype) {
case this.type_TX: // plain text
var header=this.plainTextHeader.format(headerargs);
var footer=this.plainTextFooter;
break;
case this.type_NF: // news feed (XML)
headerargs[0]=store.getTiddlerText("SiteUrl","");
var header=this.newsFeedHeader.format(headerargs);
var footer=this.newsFeedFooter;
break;
case this.type_PS: // PureStore (no code)
var header=this.pureStoreHeader.format(headerargs);
var footer=this.pureStoreFooter;
break;
case this.type_TW: // full TiddlyWiki
default:
var currPath=getLocalPath(window.location.href);
var original=loadFile(currPath);
if (!original) { alert(config.messages.cantSaveError); return; }
var posDiv = locateStoreArea(original);
if (!posDiv) { alert(config.messages.invalidFileError.format([currPath])); return; }
var header = original.substr(0,posDiv[0]+startSaveArea.length)+"\n";
var footer = "\n"+original.substr(posDiv[1]);
break;
}
var out=this.getData(target,filetype,tids,quiet,overwrite,merge);
var revised = header+convertUnicodeToUTF8(out.join("\n"))+footer;
// if full TW, insert page title and language attr, and reset MARKUP blocks as needed...
if (filetype==this.type_TW) {
var newSiteTitle=convertUnicodeToUTF8(getPageTitle()).htmlEncode();
revised=revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
revised=updateLanguageAttribute(revised);
var titles=[]; for (var i=0; i<tids.length; i++) titles.push(tids[i].title);
revised=updateMarkupBlock(revised,"PRE-HEAD",
titles.contains("MarkupPreHead")? "MarkupPreHead" :null);
revised=updateMarkupBlock(revised,"POST-HEAD",
titles.contains("MarkupPostHead")?"MarkupPostHead":null);
revised=updateMarkupBlock(revised,"PRE-BODY",
titles.contains("MarkupPreBody")? "MarkupPreBody" :null);
revised=updateMarkupBlock(revised,"POST-SCRIPT",
titles.contains("MarkupPostBody")?"MarkupPostBody":null);
}
total.val=out.length;
return revised;
},
formatItem: function(s,f,t,u) {
if (f==this.type_TW) var r=s.getSaver().externalizeTiddler(s,t);
if (f==this.type_PS) var r=this.pureStoreTiddler.format([t.title,s.getSaver().externalizeTiddler(s,t)]);
if (f==this.type_NF) var r=this.newsFeedTiddler.format([t.saveToRss(u)]);
if (f==this.type_TX) var r=this.plainTextTiddler.format([t.title,t.modifier,t.modified.toLocaleString(),t.text]);
return r||"";
},
getData: function(target,filetype,tids,quiet,overwrite,merge) {
// output selected tiddlers and gather list of titles (for use with merge)
var out=[]; var titles=[];
var url=store.getTiddlerText("SiteUrl","");
for (var i=0; i<tids.length; i++) {
out.push(this.formatItem(store,filetype,tids[i],url));
titles.push(tids[i].title);
}
// if TW or PureStore format, ask to merge with existing tiddlers (if any)
if (filetype==this.type_TW || filetype==this.type_PS) {
if (overwrite) return out; // skip merge... forced overwrite
var text=loadFile(target);
if (text && text.length) {
var remoteStore=new TiddlyWiki();
if (remoteStore.importTiddlyWiki(convertUTF8ToUnicode(text))
&& (merge||confirm(this.mergeprompt.format([target])))) {
var existing=remoteStore.getTiddlers("title");
for (var i=0; i<existing.length; i++)
if (!titles.contains(existing[i].title))
out.push(this.formatItem(remoteStore,filetype,existing[i],url));
if (!quiet) displayMessage(this.mergestatus.format([tids.length,out.length-tids.length]));
}
}
}
return out;
}
};
//}}}
//{{{
// automatically add saveAs to backstage
config.tasks.saveAs = {
text: "saveAs",
tooltip: config.macros.saveAs.prompt,
action: function(){ clearMessage(); config.macros.saveAs.go(); }
}
config.backstageTasks.splice(config.backstageTasks.indexOf("save")+1,0,"saveAs");
//}}}
/***
|Name:|SaveCloseTiddlerPlugin|
|Description:|Provides two extra toolbar commands, saveCloseTiddler and cancelCloseTiddler|
|Version:|3.0 ($Rev: 5502 $)|
|Date:|$Date: 2008-06-10 23:31:39 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#SaveCloseTiddlerPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
To use these you must add them to the tool bar in your EditTemplate
***/
//{{{
merge(config.commands,{
saveCloseTiddler: {
text: 'done/close',
tooltip: 'Save changes to this tiddler and close it',
handler: function(ev,src,title) {
var closeTitle = title;
var newTitle = story.saveTiddler(title,ev.shiftKey);
if (newTitle)
closeTitle = newTitle;
return config.commands.closeTiddler.handler(ev,src,closeTitle);
}
},
cancelCloseTiddler: {
text: 'cancel/close',
tooltip: 'Undo changes to this tiddler and close it',
handler: function(ev,src,title) {
// the same as closeTiddler now actually
return config.commands.closeTiddler.handler(ev,src,title);
}
}
});
//}}}
|! ECM Shift |! Chance of Reduced Damage |! Effect on Seeking Weapon |
| 0 | 0% | Warhead 100% Strength |
| 1 | 17% | Warhead 50% Strength |
| 2 | 33% | Warhead 50% Strength |
| 3 | 50% <br> 17% | Warhead 50% Strength <br> Warhead 25% Strength |
| 4 | 67% <br> 33% | Warhead 50% Strength <br> Warhead 25% Strength |
| ECM Shift -- Seeking Weapons |c
;Arming Rate
:2 Turns (for all Shuttles, including Wild Weasels and Ground Assault Shuttles)
|! Shuttle Type: | Scatterpack | Suicide Shuttle |
|! Damage: | 12 - 72 | 25 |
| Shuttles |c
!!!Notes:
:Scatterpack (SP) Shuttles automatically reduce Type IV Missile warheads to Type I in order to use all six slots in the Shuttle,
::i.e. you trade three Type IV for six Type I.
:MIRV's may not be used in a SP.
:Suicide Shuttles (SS) require a [[Mine|Mines]] (non-NSM).
:Ground Assault Shuttles (GAS) may not be used in multiplayer.
Type the text for 'Table of Contents'
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.3.1 ($Rev: 6100 $)|
|Date:|$Date: 2008-07-27 01:42:07 +1000 (Sun, 27 Jul 2008) $|
|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{
merge(String.prototype,{
parseTagExpr: function(debug) {
if (this.trim() == "")
return "(true)";
var anyLogicOp = /(!|&&|\|\||\(|\))/g;
var singleLogicOp = /^(!|&&|\|\||\(|\))$/;
var spaced = this.
// because square brackets in templates are no good
// this means you can use [(With Spaces)] instead of [[With Spaces]]
replace(/\[\(/g," [[").
replace(/\)\]/g,"]] ").
// space things out so we can use readBracketedList. tricky eh?
replace(anyLogicOp," $1 ");
var expr = "";
var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!
for (var i=0;i<tokens.length;i++)
if (tokens[i].match(singleLogicOp))
expr += tokens[i];
else
expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think
if (debug)
alert(expr);
return '('+expr+')';
}
});
merge(TiddlyWiki.prototype,{
getTiddlersByTagExpr: function(tagExpr,sortField) {
var result = [];
var expr = tagExpr.parseTagExpr();
store.forEachTiddler(function(title,tiddler) {
if (eval(expr))
result.push(tiddler);
});
if(!sortField)
sortField = "title";
result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
return result;
}
});
config.taggly = {
// for translations
lingo: {
labels: {
asc: "\u2191", // down arrow
desc: "\u2193", // up arrow
title: "title",
modified: "modified",
created: "created",
show: "+",
hide: "-",
normal: "normal",
group: "group",
commas: "commas",
sitemap: "sitemap",
numCols: "cols\u00b1", // plus minus sign
label: "Tagged as '%0':",
exprLabel: "Matching tag expression '%0':",
excerpts: "excerpts",
descr: "descr",
slices: "slices",
contents: "contents",
sliders: "sliders",
noexcerpts: "title only",
noneFound: "(none)"
},
tooltips: {
title: "Click to sort by title",
modified: "Click to sort by modified date",
created: "Click to sort by created date",
show: "Click to show tagging list",
hide: "Click to hide tagging list",
normal: "Click to show a normal ungrouped list",
group: "Click to show list grouped by tag",
sitemap: "Click to show a sitemap style list",
commas: "Click to show a comma separated list",
numCols: "Click to change number of columns",
excerpts: "Click to show excerpts",
descr: "Click to show the description slice",
slices: "Click to show all slices",
contents: "Click to show entire tiddler contents",
sliders: "Click to show tiddler contents in sliders",
noexcerpts: "Click to show entire title only"
},
tooDeepMessage: "* //sitemap too deep...//"
},
config: {
showTaggingCounts: true,
listOpts: {
// the first one will be the default
sortBy: ["title","modified","created"],
sortOrder: ["asc","desc"],
hideState: ["show","hide"],
listMode: ["normal","group","sitemap","commas"],
numCols: ["1","2","3","4","5","6"],
excerpts: ["noexcerpts","excerpts","descr","slices","contents","sliders"]
},
valuePrefix: "taggly.",
excludeTags: ["excludeLists","excludeTagging"],
excerptSize: 50,
excerptMarker: "/%"+"%/",
siteMapDepthLimit: 25
},
getTagglyOpt: function(title,opt) {
var val = store.getValue(title,this.config.valuePrefix+opt);
return val ? val : this.config.listOpts[opt][0];
},
setTagglyOpt: function(title,opt,value) {
if (!store.tiddlerExists(title))
// create it silently
store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");
// if value is default then remove it to save space
return store.setValue(title,
this.config.valuePrefix+opt,
value == this.config.listOpts[opt][0] ? null : value);
},
getNextValue: function(title,opt) {
var current = this.getTagglyOpt(title,opt);
var pos = this.config.listOpts[opt].indexOf(current);
// a little usability enhancement. actually it doesn't work right for grouped or sitemap
var limit = (opt == "numCols" ? store.getTiddlersByTagExpr(title).length : this.config.listOpts[opt].length);
var newPos = (pos + 1) % limit;
return this.config.listOpts[opt][newPos];
},
toggleTagglyOpt: function(title,opt) {
var newVal = this.getNextValue(title,opt);
this.setTagglyOpt(title,opt,newVal);
},
createListControl: function(place,title,type) {
var lingo = config.taggly.lingo;
var label;
var tooltip;
var onclick;
if ((type == "title" || type == "modified" || type == "created")) {
// "special" controls. a little tricky. derived from sortOrder and sortBy
label = lingo.labels[type];
tooltip = lingo.tooltips[type];
if (this.getTagglyOpt(title,"sortBy") == type) {
label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
onclick = function() {
config.taggly.toggleTagglyOpt(title,"sortOrder");
return false;
}
}
else {
onclick = function() {
config.taggly.setTagglyOpt(title,"sortBy",type);
config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
return false;
}
}
}
else {
// "regular" controls, nice and simple
label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
onclick = function() {
config.taggly.toggleTagglyOpt(title,type);
return false;
}
}
// hide button because commas don't have columns
if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
},
makeColumns: function(orig,numCols) {
var listSize = orig.length;
var colSize = listSize/numCols;
var remainder = listSize % numCols;
var upperColsize = colSize;
var lowerColsize = colSize;
if (colSize != Math.floor(colSize)) {
// it's not an exact fit so..
upperColsize = Math.floor(colSize) + 1;
lowerColsize = Math.floor(colSize);
}
var output = [];
var c = 0;
for (var j=0;j<numCols;j++) {
var singleCol = [];
var thisSize = j < remainder ? upperColsize : lowerColsize;
for (var i=0;i<thisSize;i++)
singleCol.push(orig[c++]);
output.push(singleCol);
}
return output;
},
drawTable: function(place,columns,theClass) {
var newTable = createTiddlyElement(place,"table",null,theClass);
var newTbody = createTiddlyElement(newTable,"tbody");
var newTr = createTiddlyElement(newTbody,"tr");
for (var j=0;j<columns.length;j++) {
var colOutput = "";
for (var i=0;i<columns[j].length;i++)
colOutput += columns[j][i];
var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
wikify(colOutput,newTd);
}
return newTable;
},
createTagglyList: function(place,title,isTagExpr) {
switch(this.getTagglyOpt(title,"listMode")) {
case "group": return this.createTagglyListGrouped(place,title,isTagExpr); break;
case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;
}
},
getTaggingCount: function(title,isTagExpr) {
// thanks to Doug Edmunds
if (this.config.showTaggingCounts) {
var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
if (tagCount > 0)
return " ("+tagCount+")";
}
return "";
},
getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);
},
getExcerpt: function(inTiddlerTitle,title,indent) {
if (!indent)
indent = 1;
var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
var t = store.getTiddler(title);
if (t && displayMode == "excerpts") {
var text = t.text.replace(/\n/," ");
var marker = text.indexOf(this.config.excerptMarker);
if (marker != -1) {
return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
}
else if (text.length < this.config.excerptSize) {
return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
}
else {
return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
}
}
else if (t && displayMode == "contents") {
return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
}
else if (t && displayMode == "sliders") {
return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
}
else if (t && displayMode == "descr") {
var descr = store.getTiddlerSlice(title,'Description');
return descr ? " {{excerpt{" + descr + "}}}" : "";
}
else if (t && displayMode == "slices") {
var result = "";
var slices = store.calcAllSlices(title);
for (var s in slices)
result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
return result ? "\n{{excerpt excerptIndent{\n" + result + "}}}" : "";
}
return "";
},
notHidden: function(t,inTiddler) {
if (typeof t == "string")
t = store.getTiddler(t);
return (!t || !t.tags.containsAny(this.config.excludeTags) ||
(inTiddler && this.config.excludeTags.contains(inTiddler)));
},
// this is for normal and commas mode
createTagglyListNormal: function(place,title,useCommas,isTagExpr) {
var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);
if (this.getTagglyOpt(title,"sortOrder") == "desc")
list = list.reverse();
var output = [];
var first = true;
for (var i=0;i<list.length;i++) {
if (this.notHidden(list[i],title)) {
var countString = this.getTaggingCount(list[i].title);
var excerpt = this.getExcerpt(title,list[i].title);
if (useCommas)
output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
else
output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");
first = false;
}
}
return this.drawTable(place,
this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
useCommas ? "commas" : "normal");
},
// this is for the "grouped" mode
createTagglyListGrouped: function(place,title,isTagExpr) {
var sortBy = this.getTagglyOpt(title,"sortBy");
var sortOrder = this.getTagglyOpt(title,"sortOrder");
var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
if (sortOrder == "desc")
list = list.reverse();
var leftOvers = []
for (var i=0;i<list.length;i++)
leftOvers.push(list[i].title);
var allTagsHolder = {};
for (var i=0;i<list.length;i++) {
for (var j=0;j<list[i].tags.length;j++) {
if (list[i].tags[j] != title) { // not this tiddler
if (this.notHidden(list[i].tags[j],title)) {
if (!allTagsHolder[list[i].tags[j]])
allTagsHolder[list[i].tags[j]] = "";
if (this.notHidden(list[i],title)) {
allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";
leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers
}
}
}
}
}
var allTags = [];
for (var t in allTagsHolder)
allTags.push(t);
var sortHelper = function(a,b) {
if (a == b) return 0;
if (a < b) return -1;
return 1;
};
allTags.sort(function(a,b) {
var tidA = store.getTiddler(a);
var tidB = store.getTiddler(b);
if (sortBy == "title") return sortHelper(a,b);
else if (!tidA && !tidB) return 0;
else if (!tidA) return -1;
else if (!tidB) return +1;
else return sortHelper(tidA[sortBy],tidB[sortBy]);
});
var leftOverOutput = "";
for (var i=0;i<leftOvers.length;i++)
if (this.notHidden(leftOvers[i],title))
leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";
var output = [];
if (sortOrder == "desc")
allTags.reverse();
else if (leftOverOutput != "")
// leftovers first...
output.push(leftOverOutput);
for (var i=0;i<allTags.length;i++)
if (allTagsHolder[allTags[i]] != "")
output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);
if (sortOrder == "desc" && leftOverOutput != "")
// leftovers last...
output.push(leftOverOutput);
return this.drawTable(place,
this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
"grouped");
},
// used to build site map
treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {
var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
if (sortOrder == "desc")
list.reverse();
var indent = "";
for (var j=0;j<depth;j++)
indent += "*"
var childOutput = "";
if (depth > this.config.siteMapDepthLimit)
childOutput += indent + this.lingo.tooDeepMessage;
else
for (var i=0;i<list.length;i++)
if (list[i].title != title)
if (this.notHidden(list[i].title,this.config.inTiddler))
childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);
if (depth == 0)
return childOutput;
else
return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
},
// this if for the site map mode
createTagglyListSiteMap: function(place,title,isTagExpr) {
this.config.inTiddler = title; // nasty. should pass it in to traverse probably
var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
return this.drawTable(place,
this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
"sitemap"
);
},
macros: {
tagglyTagging: {
handler: function (place,macroName,params,wikifier,paramString,tiddler) {
var parsedParams = paramString.parseParams("tag",null,true);
var refreshContainer = createTiddlyElement(place,"div");
// do some refresh magic to make it keep the list fresh - thanks Saq
refreshContainer.setAttribute("refresh","macro");
refreshContainer.setAttribute("macroName",macroName);
var tag = getParam(parsedParams,"tag");
var expr = getParam(parsedParams,"expr");
if (expr) {
refreshContainer.setAttribute("isTagExpr","true");
refreshContainer.setAttribute("title",expr);
refreshContainer.setAttribute("showEmpty","true");
}
else {
refreshContainer.setAttribute("isTagExpr","false");
if (tag) {
refreshContainer.setAttribute("title",tag);
refreshContainer.setAttribute("showEmpty","true");
}
else {
refreshContainer.setAttribute("title",tiddler.title);
refreshContainer.setAttribute("showEmpty","false");
}
}
this.refresh(refreshContainer);
},
refresh: function(place) {
var title = place.getAttribute("title");
var isTagExpr = place.getAttribute("isTagExpr") == "true";
var showEmpty = place.getAttribute("showEmpty") == "true";
removeChildren(place);
addClass(place,"tagglyTagging");
var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
if (countFound > 0 || showEmpty) {
var lingo = config.taggly.lingo;
config.taggly.createListControl(place,title,"hideState");
if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
createTiddlyElement(place,"span",null,"tagglyLabel",
isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
config.taggly.createListControl(place,title,"title");
config.taggly.createListControl(place,title,"modified");
config.taggly.createListControl(place,title,"created");
config.taggly.createListControl(place,title,"listMode");
config.taggly.createListControl(place,title,"excerpts");
config.taggly.createListControl(place,title,"numCols");
config.taggly.createTagglyList(place,title,isTagExpr);
if (countFound == 0 && showEmpty)
createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);
}
}
}
}
},
// todo fix these up a bit
styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
" margin-top:0px; padding-top:0.5em; padding-left:2em;",
" margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
" color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
" border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active {",
" border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
" margin-bottom:0.5em; }",
".tagglyTagging .indent1 { margin-left:3em; }",
".tagglyTagging .indent2 { margin-left:4em; }",
".tagglyTagging .indent3 { margin-left:5em; }",
".tagglyTagging .indent4 { margin-left:6em; }",
".tagglyTagging .indent5 { margin-left:7em; }",
".tagglyTagging .indent6 { margin-left:8em; }",
".tagglyTagging .indent7 { margin-left:9em; }",
".tagglyTagging .indent8 { margin-left:10em; }",
".tagglyTagging .indent9 { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",
"/*}}}*/",
""].join("\n"),
init: function() {
merge(config.macros,this.macros);
config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
store.addNotification("TagglyTaggingStyles",refreshStyles);
}
};
config.taggly.init();
//}}}
/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin
// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed
***/
//{{{
config.formatters.unshift( {
name: "inlinesliders",
// match: "\\+\\+\\+\\+|\\<slider",
match: "\\<slider",
// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
handler: function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
wikify(lookaheadMatch[3],panel);
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
},
onClickSlider : function(e) {
if(!e) var e = window.event;
var n = this.nextSibling;
n.style.display = (n.style.display=="none") ? "block" : "none";
return false;
}
});
//}}}
Tiddly Wiki Word would not normally be cross-referenced by {{{TiddlyWiki}}} however the {{{[[Tiddly Wiki Word]]}}} syntax will force [[Tiddly Wiki Word]] to be cross-referenced.
The [[TiddlyWikiAdmin]] tag is an unofficial repository for Administrative help information
<<list filter [tag[TiddlyWikiAdmin]]>>
!!Blockquotes
{{{<<<}}}
<<<
Blockquote
All items as needed.
<<<
{{{<<<}}}
Done
!Nested Blockquotes
{{{>}}}Level 1
> Level 1
{{{>>}}}Level 2
>>Level 2
{{{>>>}}}Level 3
>>>Level 3
Done
Convenient Javascript Bookmarklets for editing ~TiddlyWiki from http://lewcid.org/tiddlywiki-bookmarklets/
*Editing
**[[Enable Edit|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){readOnly=false;if(window.backstage){if(!backstage.button)backstage.init();backstage.show();}config.options.chkAnimate=false;refreshDisplay();}})()]]
**[[Setusername|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){var%20g=prompt('Enter%20the%20desired%20user%20name',config.options.txtUserName);var%20t=store.getTiddlers();store.suspendNotifications();for(var%20i=0;i<t.length;i++)t[i].modifier=g;store.resumeNotifications();story.refreshAllTiddlers();}})()]]
**[[Rename Tag|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){var%20oldTag=prompt('Enter%20the%20tag%20to%20rename','oldTag');var%20newTag=prompt('Rename%20tag%20'+oldTag+'%20to:','newTag');var%20t=store.getTaggedTiddlers(oldTag);store.suspendNotifications();for(var%20i=0;i<t.length;i++){t[i].tags.remove(oldTag);t[i].tags.pushUnique(newTag);}store.resumeNotifications();refreshDisplay();}})()]]
**[[Delete All Tagged|javascript:void(eval(decodeURIComponent("(function()%257B%250A%2509if(window.version%2520%2526%2526%2520window.version.title%2520%253D%253D%2520'TiddlyWiki')%257B%250A%2509%2509var%2520tag%2520%253D%2520prompt('Delete%2520tiddlers%2520with%2520the%2520tag%253A'%252C'')%253B%250A%2509%2509store.suspendNotifications()%253B%250A%2509%2509var%2520t%2520%253D%2520store.getTaggedTiddlers(tag)%253B%250A%2509%2509for(var%2520i%253D0%253Bi%253Ct.length%253Bi%252B%252B)%250A%2509%2509%2509store.removeTiddler(t%255Bi%255D.title)%253B%250A%2509%2509store.resumeNotifications()%253B%250A%2509%2509refreshDisplay()%253B%2509%2509%250A%2509%257D%250A%257D)()")))]]
**[[View Shadow Tiddler|javascript:void(eval(decodeURIComponent("(function()%257Bif(window.version%2526%2526window.version.title%253D%253D'TiddlyWiki')%257Bvar%2520shadow%253Dprompt('View%2520the%2520shadow%2520tiddler%2520called%253A')%253Bvar%2520w%253Dwindow.open()%253Bw.document.open()%253Bw.document.write('%253Chtml%253E%253Cbody%253E')%253Bw.document.write('%253Cpre%253E'%252Bconfig.shadowTiddlers%255Bshadow%255D.htmlEncode()%252B'%253C%252Fpre%253E')%253Bw.document.write('%253C%252Fbody%253E%253C%252Fhtml%253E')%253Bw.document.close()%253B%257D%257D)()")))]]
*Rescue and Maintenance
**[[Restore Shadow Tiddlers|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){for(var%20n%20in%20config.shadowTiddlers){store.suspendNotifications();store.removeTiddler(n);store.resumeNotifications();refreshAll();}}})()]]
**[[Safe Mode|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){window.location.hash='start:safe';window.location.reload(true);}})()]]
**[[Super Safe Mode|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){window.location.hash='start:safe';window.location.reload(true);for(var%20n%20in%20config.shadowTiddlers){store.suspendNotifications();store.removeTiddler(n);store.resumeNotifications();refreshAll();}}})()]]
**[[Remove Cookies|javascript:void(eval(decodeURIComponent("(function()%257BC%253Ddocument.cookie.split(%2522%253B%2520%2522)%253Bfor(d%253D%2522.%2522%252Blocation.host%253Bd%253Bd%253D(%2522%2522%252Bd).substr(1).match(%252F%255C..*%2524%252F))for(sl%253D0%253Bsl%253C2%253B%252B%252Bsl)for(p%253D%2522%252F%2522%252Blocation.pathname%253Bp%253Bp%253Dp.substring(0%252Cp.lastIndexOf('%252F')))for(i%2520in%2520C)if(c%253DC%255Bi%255D)%257Bdocument.cookie%253Dc%252B%2522%253B%2520domain%253D%2522%252Bd.slice(sl)%252B%2522%253B%2520path%253D%2522%252Bp.slice(1)%252B%2522%252F%2522%252B%2522%253B%2520expires%253D%2522%252Bnew%2520Date((new%2520Date).getTime()-1e11).toGMTString()%257D%257D)()%250A")))]]
**[[Scrub Tiddler Fields|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){store.forEachTiddler(function(title,tiddler){tiddler.fields={};});refreshDisplay();}})()]]
*Miscellaneous
**[[Tiddler Info|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){alert('TiddlyWiki%20version:%20'+version.major+'.'+version.minor+'.'+version.revision+(version.beta?'%20(beta%20'+version.beta+')':'')+'\nLast%20modified:%20'+document.lastModified);}})()]]
**[[Raw Document|javascript:void(eval(decodeURIComponent("(function()%257Bif(window.version%2526%2526window.version.title%253D%253D'TiddlyWiki')%257Bvar%2520w%253Dwindow.open()%253Bw.document.open()%253Bw.document.write('%253Chtml%253E%253Cbody%253E%253Cpre%253E')%253Bw.document.write(store.allTiddlersAsHtml().htmlEncode())%253Bw.document.write('%253C%252Fpre%253E%253C%252Fbody%253E%253C%252Fhtml%253E')%253Bw.document.close()%253B%257D%257D)()")))]]
**[[Tiddler HTML|javascript:void(eval(decodeURIComponent("(function()%257Bif(window.version%2526%2526window.version.title%253D%253D'TiddlyWiki')%257Bvar%2520title%253Dprompt('Tiddler%2520to%2520view%2520as%2520html%253A')%253Bvar%2520t%253Dstore.getTiddler(title)%253Bvar%2520stat%253DwikifyStatic(t.text%252Cnull%252Ct)%253Bvar%2520w%253Dwindow.open()%253Bw.document.open()%253Bw.document.write('%253Chtml%253E%253Cbody%253E')%253Bw.document.write('%253Cpre%253E'%252Bstat.htmlEncode()%252B'%253C%252Fpre%253E')%253Bw.document.write('%253C%252Fbody%253E%253C%252Fhtml%253E')%253Bw.document.close()%253B%257D%257D)()")))]]
**[[Tidder Raw JavaScript|javascript:void(eval(decodeURIComponent("%250A%2509if(window.version%2520%2526%2526%2520window.version.title%2520%253D%253D%2520'TiddlyWiki')%257B%250A%2509%2509var%2520title%2520%253D%2520prompt('Tiddler%2520to%2520view%2520as%2520JavaScript%2520string%253A')%253B%250A%2509%2509var%2520text%2520%253D%2520store.getTiddlerText(title).replace(%252F%2522%252Fg%252C'%255C%255C%2522').split(%2522%255Cn%2522).join('%255C%255Cn%2522%252B%255Cn%2520%2522')%253B%250A%2509%2509var%2520w%253Dwindow.open()%253B%250A%2509%2509w.document.open()%253B%250A%2509%2509w.document.write('%253Chtml%253E%253Cbody%253E')%253B%250A%2509%2509w.document.write('%253Cpre%253E'%252Btext.htmlEncode()%252B'%253C%252Fpre%253E')%253B%250A%2509%2509w.document.write('%253C%252Fbody%253E%253C%252Fhtml%253E')%253B%250A%2509%2509w.document.close()%253B%2509%2509%250A%2509%257D")))]]
|! Browser |! Compatible |! Tweaks |
| Firefox 3.x | yes | To turn off requests for permission set security.fileuri.strict_origin_policy to 'false' in about:config |
| Chrome | readonly | Write access requires the [[TiddlySaver.jar|http://www.tiddlywiki.com/TiddlySaver.jar]] Java file (Same Folder) |
|! [[excludeSearch]] |! [[excludeLists]] |! [[excludeMissing]] |! [[excludeWikiWords]] |
|excludes a tiddler from search results |excludes a tiddler from the lists in the sidebar tabs (e.g. Timeline), as well as from the generated RSS feed |excludes a tiddler from the processing that generates the Missing Tiddlers list | excludes a tiddler from automatically wikifying words. Also overrides any auto-wikification of words listed in it as a tiddler |
|<<list filter [tag[excludeSearch]]>> |<<list filter [tag[excludeLists]]>> |<<list filter [tag[excludeMissing]]>> |<<list filter [tag[excludeWikiWords]]>> |
!!!!See Also:
TiddlyWikiSystemTags
|! Format |! Format Style |! Output |! Notes |
| Monospace (Unformatted) | {{{ {{{ }}} {{{Monospaced}}} {{{ }}} }}} | {{{Monospaced}}} | No Space required; Inaccuracy due to Using Monospace to format itself |
| Wikification Off | {{{"""No TiddlyWiki [[Wikification]]"""}}} | """No TiddlyWiki [[Wikification]]""" |
| | {{{<nowiki>No TiddlyWiki [[Wikification]]</nowiki>}}} | <nowiki>No TiddlyWiki [[Wikification]]</nowiki> |
| Bold | {{{ ''Bold'' }}} | ''Bold'' | Two pair of single quotes, //not// one pair of double quotes |
| Strikethrough | {{{ --Strikethrough-- }}} | --Strikethrough-- |
| em-dash | {{{--}}} | -- | Note: {{{--}}}"Character" Initiates Strikethrough; {{{--}}} with spaces on either side is an em-dash |
| Underline | {{{ __Underlined__ }}} | __Underlined__ |
| Italics | {{{ //Italic// }}} | //Italic// |
| Superscript | {{{2^^3^^ = 8}}} | 2^^3^^ = 8 |
| Subscript | {{{a~~ij~~ = -a~~ji~~}}} | a~~ij~~ = -a~~ji~~ |
| Highlighted Text | {{{@@Highlighted Text@@}}} | @@Highlighted Text@@ | This actually accesses CSS Classes. Obviously to someone of skill much more power is available. |
| Color Text | {{{@@color(red):Red colored text@@}}} | @@color(red):Red colored text@@ |~|
| Invisible Tiddler Comment | {{{/%Invisible Tiddler Comment%/}}} | /% Invisible Tiddler Comment%/ |
| HTML Comment | {{{<!----- HTML comment ------>}}} | | These cause Formatting issues, not including in Output |
| Multiline Comment | {{{/* TiddlyWikiWord */}}} |
| Multiline comment with Wikification | {{{/*** TiddlyWikiWord ***/}}} |
| Tiddly Wiki Text Formatting |c
{{{!}}}Header 1
!Header 1
{{{!!}}}Header 2
!!Header 2
{{{!!!}}}Header 3
!!!Header 3
{{{----}}} Horizontal Rule
----
The [[TiddlyWikiHelp]] Tag is an unofficial repository for General help information
<<list filter [tag[TiddlyWikiHelp]]>>
|! Link Style |! Format |! Example |! Notes |
|>|>|>| Internal Links (~Cross-Referencing) |
| Standard ~WikiWord | {{{TiddlyWikiWord}}} | TiddlyWikiWord | {{{TiddlyWiki}}} automatically cross-references all words mixing lowercase/capitals beyond the first letter |
| Forced ~WikiWord | {{{[[Tiddly Wiki Word]]}}} | [[Tiddly Wiki Word]] | This forces {{{TiddlyWiki}}} to cross-reference an word |
| Named ~WikiWord | {{{[[This Tiddly Wiki Word|TiddlyWikiWord]]}}} | [[This Tiddly Wiki Word|TiddlyWikiWord]] | This links a Title to a Wikiword; It also forces the cross-reference if none already existed |
| Non ~WikiWord | {{{ ~TiddlyWikiWord}}} | ~TiddlyWikiWord | Force {{{TiddlyWiki}}} to not cross-reference a word that would normally be crossreference |
| Missing ~WikiWord | | TiddlyWikiHelp | Any cross-reference that has no active content will appear as here; If the word corresponds to a tag, tiddler's so tagged will be automatically listed |
|>|>|>| External Links |
| Standard Link | {{{http://www.domain.tld/path}}} | http://www.tiddlywiki.com | |
| Named Link | {{{[[Website|http://www.domain.tld/path]]}}} | [[Tiddly Wiki Homepage|http://www.tiddlywiki.com]] |
| Image link | {{{[img[picturename|http://www.domain.tld/path]]}}} | [img[Google Logo|http://www.google.com/intl/en_ALL/images/logo.gif]] | |
|>|>|>| Local Links: File Links use the same format as other external links; The file path must be preceded by the {{{file:///}}} prefix |
| {{{TiddlyWiki}}} Link Formats |c
!!Bulleted lists
{{{*}}}Dots
{{{**}}}Circles
{{{***}}}Squares
*Dots
**Circles
***Squares
!!Numbered lists
{{{#}}}Numeric
{{{##}}}Alphabetic
{{{###}}}Roman Numerals
#Numeric
##Alphabetic
###Roman Numerals
!!Definitions
{{{;Definition Term, Term}}}
{{{:Definition List, Description}}}
;Definition Term, Term
:Definition List, Description
{{{TiddlyWiki}}} and it's plugins allow for macros to be added into any tiddler via the {{{ <<macro>> }}} syntax - all 'buttons' and many other items are actually macros initiated via ~JavaScript.
|!syntax |!Result |!Notes|
| {{{<<toolbar cancelTiddler>>}}} | <<toolbar cancelTiddler>> | Abandons any pending edits to the current tiddler and switches it the default view|
| {{{<<toolbar closeOthers>>}}} | <<toolbar closeOthers>> | Closes all other open tiddlers except for any that are being edited|
| {{{<<toolbar closeTiddler>>}}} | <<toolbar closeTiddler>> | Closes the current tiddler regardless of whether it is being edited|
| {{{<<toolbar deleteTiddler>>}}} | <<toolbar deleteTiddler>> | Deletes the current tiddler|
| {{{<<toolbar editTiddler>>}}} | <<toolbar editTiddler>> | Switches the current tiddler to the current edit view|
| {{{<<toolbar jump>>}}} | <<toolbar jump>> | Offers a pop-up menu to jump directly to any of the currently open tiddlers|
| {{{<<toolbar permalink>>}}} | <<toolbar permalink>> | Changes the browser address bar to a permalink to the current tiddler|
| {{{<<toolbar references>>}}} | <<toolbar references>> | Offers a pop-up menu displaying the tiddlers that link to the current one|
| {{{<<toolbar saveTiddler>>}}} | <<toolbar saveTiddler>> | Saves any pending edits to the current tiddler, and switches it to the default view|
!!!!More Information:
http://tiddlywiki.org/wiki/Core_Macros
http://www.tiddlywiki.com/#Macros
<<newTiddler label:"New Plugin" prompt:"Create a new Plugin" title:"New Plugin" focus:title text:"This will need need systemconfig added to activate it:" tag:systemConfigRegistry tag:excludeLists tag:excludeSearch>>
//Any other new Plugin should be added to {{{systemConfigRegistry}}} manually//
@@The {{{systemConfigRegistry}}} tag is //not// a system tag, and imported Plugins are not automatically registered to it;@@
To Activate a Plugin, add the systemConfig tag and reload;
to Deactivate a plugin remove systemConfig tag and reload;
|! [[systemConfigRegistry]] |! [[systemConfig]] |
|<<list filter [tag[systemConfigRegistry]]>> |<<list filter [tag[systemConfig]]>> |
<<<
Note: @@By it's nature, once initiated, Hardcoding the readonly option to "true" is //not// trivial to revert.@@
<<<
<<<
Note: There is a minor, but problematic conflict between ~TiddlyLockPlugin and the ~SetUserNamePlugin. ~TiddlyLock will 'lock' the directory *before* setusername forces you to change your name from "~YourName"
This will of course mean your username does not match the username documented in the lock file, so you cannot edit or save. Changing your username between the time you start editing and save changes has the same results.
You must then delete the *.lck file in order to free the system back up.
If you save changes, change username, then edit again, there should not be an issue.
<<<
!!!!See Also:
TiddlyWikiSystemTags
PluginManager
ImportTiddlers
!!!!More Information:
[[Importing Plugins|http://tiddlywiki.org/wiki/ImportTiddlers]]
[[Tiddly Vault|http://tiddlyvault.tiddlyspot.com/]]
Additional Resources
*~Semi-Official
**[[Official TiddlyWiki website|http://www.tiddlywiki.com]]
**[[TiddlyWiki.org|http://tiddlywiki.org/wiki/Main_Page]]
**[[Community-based TiddlyWiki documentation|http://doc.tiddlywiki.org]]
**[[TiddlyWiki development|http://trac.tiddlywiki.org/]]
**[[Wikipedia Entry|http://en.wikipedia.org/wiki/TiddlyWiki]]
**[[Specifications|http://www.wikimatrix.org/show/TiddlyWiki]]
*Tutorials
**[[TwiddleWiki for the Rest of Us|http://www.giffmex.org/twfortherestofus.html]]
**[[A Cheatsheet (PDF) |http://nothickmanuals.info/doku.php/cheatsheets]]
**[[TiddlyWiki guides|http://tiddlywikiguides.org]]
*Customization
**[[TiddlyWiki themes|http://tiddlythemes.com]]
*[[TiddlySpot Wiki's|http://tiddlyspot.com]]
**[[GTDTiddlyWiki|http://shared.snapgrid.com/index.html]]
**[[MonkeyGTD|http://monkeygtd.tiddlyspot.com]]
**[[TiddlyWiki FAQ|http://twfaq.tiddlyspot.com/]]
**[[TW Help|http://twhelp.tiddlyspot.com/]]
**[[MonkeyPirateTiddlyWiki|http://mptw.tiddlyspot.com/]]
*Blogs/Lists
**[[TiddlyWiki Google group|http://groups.google.com/group/TiddlyWiki/topics]]
**[[A Software Blog|http://softwareas.com/tag/tiddlywiki]]
**[[Tiddly Learning|http://lewcid.org/category/tiddlywiki/]]
**[[Tiddly Bookmarklets|http://lewcid.org/tiddlywiki-bookmarklets/]]
{{{TiddlyWiki}}} can accept commands via the HTML "#" anchor to modify startup conditions;
Some Examples
|!Command |!Description |!Example |
| start:safe | Switches to ~SafeMode; Holds all plugins and cookies | [[Restart in Safe Mode|#start:safe]] |
| readOnly:yes | Opens a new copy in readOnly mode | [[Read Only Mode|#readOnly:yes]] |
| open:title | Opens the tiddler with the specified title | [[Tiddly Wiki Startup|#open:TiddlyWikiStartup]] |
| search:text | Performs a search for the specified text | [[Search for jwest|#search:jwest]] |
| Firefox Search | Firefox will with a defined keyword, perform a search | [[Firefox Search URL|#search:%s]] |
| IE Search | This [[Microsoft Website|http://www.microsoft.com/windows/ie/searchguide/en-en/default.mspx]] will convert search 'TEST' to an XML plugin | [[IE Search URL|#search:TEST]] |
| tag:text | Displays tiddlers tagged with the specified tag | [[Help listing|#tag:TiddlyWikiHelp]] |
| newTiddler:title | Opens a new tiddler with the specified title in edit mode | [[New Entry|#newTiddler:"New Entry"]] |
| newJournal:titleFormat | Opens a new tiddler with the specified ~DateFormatString | [[New Journal|#newJournal:"YYYY MMM DD"]] |
Many of these can be generated automatically via the permaview [[macro|TiddlyWikiMacros]]: <<permaview>>
!!!!More Information:
http://tiddlywiki.org/wiki/Startup_Parameters
http://www.tiddlywiki.com/#StartupParameters
|! [[systemConfig]] |! [[systemConfigDisable]] |! [[systemConfigForce]] |! [[systemServer]] |! [[systemTheme]] |
|marks tiddlers containing ~JavaScript code that should be executed on startup (usually plugins or macros) |prevents tiddler contents from being executed on startup (takes precedence over systemConfig and systemConfigForce) |force tiddler contents to be executed on startup |indicates that the respective tiddler contains server details for importing |Indicates themes |
|<<list filter [tag[systemConfig]]>> |<<list filter [tag[systemConfigDisable]]>> |<<list filter [tag[systemConfigForce]]>> |<<list filter [tag[systemServer]]>> |<<list filter [tag[systemTheme]]>> |
!!!!See Also:
TiddlyWikiExcludeTags
TiddlyWikiPlugins
!!!!More Information:
http://tiddlywiki.org/wiki/Tags
|! {{{|!Table heading 1 |}}} |! {{{!Table heading 2 |}}} |! {{{|!Table heading 3 |}}} |
|>|{{{|>| Span +1 Column) | }}} |
|>|>|{{{|>|>| Span +2 Columns) | }}} |
| {{{ Span +1 Row |}}} {{{|~|}}} |{{{|Align Left |}}} |
|~| {{{| Align Right| }}}|
|bgcolor(#a0ffa0):{{{| bgcolor(#a0ffa0): text |}}} | {{{| Align Center |}}} |
| {{{| Caption Table |c}}} |c
!!!!More Information:
http://tiddlywiki.org/wiki/Tables
TiddlyWikiWord is automatically cross-referenced by {{{TiddlyWiki}}} however the {{{~TiddlyWikiWord}}} syntax will force ~TiddlyWikiWord to not be cross-referenced.
;Arming Rate
:3 pts for 2 turns (1.5 to hold)
|! Range: | 0-3 | 4-5 | 6-8 | 9-12 | 13-18 | 19-25 |
|! Max: | 20 | 20 | 18 | 12 | 8 | 3 |
| | 20 | 20 | 15 | 9 | 5 | 2 |
| | 20 | 18 | 12 | 6 | 3 | 1 |
| | 20 | 15 | 9 | 3 | 2 | 0 |
| | 18 | 12 | 6 | 2 | 1 | 0 |
|! Min: | 15 | 9 | 3 | 1 | 0 | 0 |
!!Notes:
No overload function
;Arming Rate
:2 pts for 2 turns (1 to hold)
|! Range: | 0-3 | 4-5 | 6-8 | 9-12 | 13-18 | 19-25 |
|! Max: | 10 | 10 | 9 | 6 | 4 | 2 |
| | 10 | 10 | 7 | 4 | 3 | 1 |
| | 10 | 9 | 6 | 3 | 2 | 0 |
| | 10 | 7 | 4 | 2 | 1 | 0 |
| | 9 | 6 | 3 | 1 | 0 | 0 |
|! Min: | 7 | 4 | 2 | 0 | 0 | 0 |
!!Notes:
No overload function
|! Explosion Strength: | Less Than 10 | Greater Than 10 |
|! Blast Radius: | 0 | 1 |
| Warp Core Breach |c
!!!Notes:
:In dire straits, a Captain may ~Self-Destruct,
::i,e, deliberately initiate a Warp Core breach to prevent capture or destroy a target.
:Explosion strength is determined by ship health at time of destruction and size of exploding vessel.
/***
|''Name:''|configAdvancedOptionsHardcodePlugin|
|''Description:''|Creates an [[AdvancedOptionsHardcode]] ShadowTiddler to permanently set options normally saved by cookies. Creates shadow tiddlers for important tags. |
|''Version:''|1.0|
|''Date:''|May 07, 2009|
|''Source:''|http://storywiki.tiddlyspot.com |
|''Author:''|[[Pugugly001|mailto:pugugly001@gmail.com]] |
|''License:''|Publicly Documented Tweak|
|''~CoreVersion:''|2.2.0|
|''Notes:''|This Tiddler needs to be at or near the end of the loadout since it can only document environmental variables that exist when it loads. Any Variables created or modified after this tiddler is executed will not be reflected in the variable listing. It is worth noting that this plugin happily grabs every variable under config.options[x], including sliders, tabs, and other trivia. |
***/
//{{{
//----------------------------------------------------------------------------------------------------
// This Plugin's name
var ThisPlugin='configAdvancedOptionsHardcodePlugin';
//----------------------------------------------------------------------------------------------------
// Target Shadowtiddler name
var TargetShadowTiddler='AdvancedOptionsHardcode';
//----------------------------------------------------------------------------------------------------
// AdvancedOptionsHardcode Headers
var header='';
header+= '/***';
header+= '\n|!\'\'Name:\'\'|Generated by ['+'['+ThisPlugin+']]|';
header+= '\n|!\'\'Description:\'\'|This Generated "ShadowPlugin" can be used as a template for saving any and all configuration options nominally saved by cookies: simply edit as required and add the relevant tags to this shadowtiddler. |';
header+= '\n|!\'\'Version:\'\'|1.0 |';
header+= '\n|!\'\'Date:\'\'|May 07, 2009 |';
header+= '\n|!\'\'Author:\'\'|Dynamically Generated |';
header+= '\n|!\'\'License:\'\'|Dynamically Generated |';
header+= '\n|!\'\'~CoreVersion:\'\'|2.2.0|';
header+= '\n***/';
config.shadowTiddlers[TargetShadowTiddler] = header;
//----------------------------------------------------------------------------------------------------
// Generated Javascript
var body='';
body += '\n//{{{';
var x;
for (x in config.options)
{
tab = 50;
var line = '\n';
var quotes;
if (typeof(config.options[x])=="string")
{quotes='"'}
else
{quotes=''}
line += '//config.options.'+x;
while (line.length<tab){ line += " ";}
line += ' = '+quotes+config.options[x]+quotes+';';
if (config.optionsDesc[x] != undefined) {
tab+=20
while (line.length<tab){ line += " ";}
line += ' // Description: '+config.optionsDesc[x]
}
body+=line
}
body+= '\n//}}}';
config.shadowTiddlers[TargetShadowTiddler]+= body
//----------------------------------------------------------------------------------------------------
// Adding hidden but important tags to the shadow-tiddlers, plus my unofficial repositories.
// Since I prefer to have almost all of these on the 'excludeLists' search,
// I have set them to include their own listings automatically rather than relying on tagglytagging.
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.configTiddlers='These Tiddlers are used internally by the the TiddlyWiki Configuration process';
//----------------------------------------------------------------------------------------------------
//If Tagglytagging is *not* installed, use this.
//config.shadowTiddlers.excludeLists='Items tagged with ['+'[excludeLists]] are automatically excluded from most Lists\n<<list filter [tag[excludeLists]]>>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.excludeLists='Items tagged with ['+'[excludeLists]] are automatically excluded from most Lists\n(Filtered List redundant due to Taggly Tagging Plugin)';
config.shadowTiddlers.configTiddlers+='\n<<slider chkexcludeLists excludeLists "excludeLists »" "excludeLists">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.excludeSearch='Items tagged with ['+'[excludeSearch]] are automatically excluded from Searches\n<<list filter [tag[excludeSearch]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chkexcludeSearch excludeSearch "excludeSearch »" "excludeSearch">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.excludeMissing='Items tagged with ['+'[excludeMissing]] are automatically excluded from "Missing Tiddler" Processing\n<<list filter [tag[excludeMissing]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chkexcludeMissing excludeMissing "excludeMissing »" "excludeMissing">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.systemConfig='Javascript Plugins tagged with ['+'[systemConfig]] are automatically run during Startup\n<<list filter [tag[systemConfig]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chksystemConfig systemConfig "systemConfig »" "systemConfig">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.systemConfigDisable='Javascript Plugins tagged with ['+'[systemConfigDisable]] are automatically shutdown during Startup\n<<list filter [tag[systemConfigDisable]]';
config.shadowTiddlers.configTiddlers+='\n<<slider chksystemConfigDisable systemConfigDisable "systemConfigDisable »" "systemConfigDisable">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.systemConfigForce='Javascript Plugins tagged with ['+'[systemConfigForce]] are forced to run, despite version information, during Startup\n<<list filter [tag[systemConfigForce]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chksystemConfigForce systemConfigForce "systemConfigForce »" "systemConfigForce">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.systemServer='Servers tagged with ['+'[systemServer]] are automaticaly made available during the import tiddler process\n<<list filter [tag[systemServer]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chksystemServer systemServer "systemServer »" "systemServer">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.systemTheme='The ['+'[systemTheme]] tag is a repository for Style sheet and layout designs\n<<list filter [tag[systemTheme]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chksystemThemre systemTheme "systemTheme »" "systemTheme">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.systemConfigRegistry='The ['+'[systemConfigRegistry]] tag is an unofficial repository for plugins that are installed, but may or may not currently be active\n<<list filter [tag[systemConfigRegistry]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chksystemConfigRegistry systemConfigRegistry "systemConfigRegistry »" "systemConfigRegistry">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.TiddlyWikiAdmin='The ['+'[TiddlyWikiAdmin]] tag is an unofficial repository for Administrative help information\n<<list filter [tag[TiddlyWikiAdmin]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chkTiddlyWikiAdmin TiddlyWikiAdmin "TiddlyWikiAdmin »" "TiddlyWikiAdmin">>';
//----------------------------------------------------------------------------------------------------
config.shadowTiddlers.TiddlyWikiHelp='The ['+'[TiddlyWikiHelp]] Tag is an unofficial repository for General help information\n<<list filter [tag[TiddlyWikiHelp]]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chkTiddlyWikiHelp TiddlyWikiHelp "TiddlyWikiHelp »" "TiddlyWikiHelp">>';
//}}}
Items tagged with [[excludeLists]] are automatically excluded from most Lists
(Filtered List redundant due to Taggly Tagging Plugin)
Items tagged with [[excludeMissing]] are automatically excluded from "Missing Tiddler" Processing
<<list filter [tag[excludeMissing]]>>
Items tagged with [[excludeSearch]] are automatically excluded from Searches
<<list filter [tag[excludeSearch]]>>
The [[excludeWikiWords]] tag will disable wikification of all Tiddlers so tagged.
<<list filter [tag[excludeWikiWords]]>>
/***
|Name:|sfcTemplatesPlugin|
|Description:|Templates to setup StoryWiki|
|Version:|0.0.1|
|Date:|$Date: 2008-07-27 01:42:07 +1000 (Sun, 27 Jul 2008) $|
|Source:|http://storywiki.tiddlyspot.com/|
|Author:|Pugugly001 <pugugly001@gmail.com>|
***/
//{{{
//----------------------------------------------------------------------------------------------------//
// StoryWikiTemplatesPlugin is designed to use systemTheme(StoryWiki)
// this assures the two are in sync when in use.
//----------------------------------------------------------------------------------------------------//
config.options.txtTheme = "systemTheme(StoryWiki)";
//----------------------------------------------------------------------------------------------------//
// Start Panels
// Double brackets have issues, even inside quotes.
// Although I'm sure there is a more elegant solution,
// separating the brackets into two concatenated strings seems to work fine.
//----------------------------------------------------------------------------------------------------//
config.shadowTiddlers.MainMenu = '['+'[Table of Contents]]\n['+'[Credit]]\n['+'[TiddlyWikiHelp]]';
config.shadowTiddlers.DefaultTiddlers = '['+'[Table of Contents]]';
config.shadowTiddlers.SiteTitle ='Starfleet Command Reference';
config.shadowTiddlers.SiteSubtitle ='Orion Pirates v2.5.5.2';
//----------------------------------------------------------------------------------------------------//
// Panels and Sidebars
// To override the TiddlySpot version of SidebarOptions,
// kbTemplatesPlugin must be after TiddlySpot in the load sequence.
// Otherwise the only way to override them *and* use shadowtiddlers
// appears to be to use the tiddler macro to point them at my new shadow tiddlers.
// **Correction - looks like I can adjust the load order with the headers.
//----------------------------------------------------------------------------------------------------//
config.shadowTiddlers.SideBarOptions = 'Sign-on:<<option txtUserName>>';
config.shadowTiddlers.SideBarOptions += '<<search>><<slider chkSliderSearchPanel SearchPanel "search options »" "Change Search behavior">>';
config.shadowTiddlers.SearchPanel = '<<option chkIncrementalSearch>>Incremental Search\n<<option chkRegExpSearch>> Regular Expressions\n<<option chkCaseSensitiveSearch>> Case Sensitive';
config.shadowTiddlers.SideBarOptions += '<<saveChanges>><<slider chkSliderBackupPanel BackupPanel "Backup Options »" "Access TiddlyWiki Backup Settings">>';
config.shadowTiddlers.BackupPanel = '<<option chkSaveBackups>> Save Backups\n<<option chkAutoSave>> Save Every Change\n<<option chkForceMinorUpdate>> Minor changes\nBackup folder:\n<<option txtBackupFolder>>';
config.shadowTiddlers.SideBarOptions += '<<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">>';
//----------------------------------------------------------------------------------------------------//
// These need an "if (Plugin is active) {function()}", but I haven't figured out that out yet.
// For the nonce, they are commented out as needed. Such is life.
//----------------------------------------------------------------------------------------------------//
//TiddlyspotModifications()
//TiddlerEncryptionPluginModifications()
DisableWikiWordPluginModifications()
config.shadowTiddlers.SideBarOptions += '<<slider chkSliderOptionsPanel OptionsPanel "Misc Options »" "Change ~TiddlyWiki advanced options">>';
config.shadowTiddlers.OptionsPanel = 'These Interface Options for customising ~TiddlyWiki are saved in your browser\n<<option chkAnimate>> Enable Animations\n<<option chkToggleLinks>> Toggle Tiddlers on and off\nAlso see ['+'[AdvancedOptions]], and\n['+'[AdvancedOptionsHardcode]].';
//----------------------------------------------------------------------------------------------------//
// New Tabs
//----------------------------------------------------------------------------------------------------//
config.shadowTiddlers.SideBarTabs = '<<slider chkSliderTabIndex TabIndex "Indices »" "Timelines, Indices, and Helpfiles">>\n<<slider chkSliderTabMore TabMore "Admin Tabs »" "Internal ~TiddlyWiki indices and Helpfiles">>';
config.shadowTiddlers.TabAdmin = '~TiddlyWiki Version:<<version>>\n<<newTiddler label:"New Help File" title:"TiddlyWikiHelp.new" focus:title text:"New Helpfile:" tag:TiddlyWikiHelp tag:excludeLists tag:excludeSearch>>\n<<newTiddler label:"New Admin Help File" title:"TiddlyWikiAdmin.new" focus:title text:"New Admin:" tag:TiddlyWikiAdmin tag:excludeLists tag:excludeSearch>>\n<<newTiddler label:"New Hidden Template" title:"TiddlyWikiHiddenTemplates.new" focus:title text:"New Template:" tag:TiddlyWikiHiddenTemplates tag:excludeLists tag:excludeSearch>>\n----\n<<list filter [tag[TiddlyWikiAdmin]]>>';
config.shadowTiddlers.TabMore = '<<tabs txtMoreTab "Missing" "Missing tiddlers" TabMoreMissing "Orphans" "Orphaned tiddlers" TabMoreOrphans "Shadow" "Shadowed tiddlers" TabMoreShadowed "Help" "Administrative Help Files" TabAdmin>>';
config.shadowTiddlers.TabIndex = '<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "Help" "Tiddly Wiki Editing Help" TabHelp>>';
config.shadowTiddlers.TabHelp = '<<list filter [tag[TiddlyWikiHelp]]>>';
//}}}
//{{{
function TiddlyspotModifications() {
//----------------------------------------------------------------------------------------------------//
// Tiddlyspot
//----------------------------------------------------------------------------------------------------//
config.shadowTiddlers.SideBarOptions += '<<slider chkSliderTiddlySpotPanel TiddlySpotPanel "TiddlySpot Options »" "Access TiddlySpot Controls">>';
config.shadowTiddlers.TiddlySpotPanel = '~TiddlySpot password:\n<<option pasUploadPassword>>\n*<<upload http://storywiki.tiddlyspot.com/store.cgi index.html . . storywiki>>\n*['+'[download (go offline)|http://storywiki.tiddlyspot.com/download]]\n*['+'[control panel|http://storywiki.tiddlyspot.com/controlpanel]]\n*['+'[tiddlyspot.com|http://tiddlyspot.com/]]\n*['+'[FAQs|http://faq.tiddlyspot.com/]]\n*['+'[blog|http://tiddlyspot.blogspot.com/]]\n*['+'[support|mailto:support@tiddlyspot.com]]\n*['+'[feedback|mailto:feedback@tiddlyspot.com]]\n*['+'[donate|http://tiddlyspot.com/?page=donate]]\n----\nSee also: ['+'[Tiddly Spot Controls|TspotControls]]';
}
//}}}
//{{{
function TiddlerEncryptionPluginModifications() {
//----------------------------------------------------------------------------------------------------//
// TiddlerEncryptionPlugin Modifications
//----------------------------------------------------------------------------------------------------//
config.shadowTiddlers.SideBarOptions += '<<slider chkSliderEncryptionPanel EncryptionPanel "Encryption Options »" "Access Encryption Options">>';
config.shadowTiddlers.EncryptionPanel = '<<EncryptionChangePassword>>\n<<EncryptionDecryptAll>>\n<<option chkExcludeEncryptedFromSearch>> ~DoNotSearch\n<<option chkExcludeEncryptedFromLists>> ~DoNotList\n<<option chkShowDecryptButtonInContent>> ~HideRawEncryption\n----\n['+'[Encryption Plugin|TiddlerEncryptionPlugin]]';
}
//}}}
//{{{
function DisableWikiWordPluginModifications() {
//----------------------------------------------------------------------------------------------------//
// WikiWordPlugin Modifications
//----------------------------------------------------------------------------------------------------//
config.shadowTiddlers.SideBarOptions += '<<slider chkSliderWikiWordPanel WikiWordPanel "WikiWord Options »" "Access WikiWord Options">>';
config.shadowTiddlers.WikiWordPanel = '<<option chkDisableWikiLinks>> Disable //all// automatic ~WikiWord tiddler links\n<<option chkAllowLinksFromShadowTiddlers>> allow ~WikiWords contained in //shadow tiddlers//\n<<option chkDisableNonExistingWikiLinks>> Disable automatic ~WikiWord links for non-existing tiddlers\n----\nDisable automatic ~WikiWord links for words listed in: <<option txtDisableWikiLinksList>>\nDisable automatic ~WikiWord links for tiddlers tagged with: <<option txtDisableWikiLinksTag>>';
if (config.options.txtDisableWikiLinksList==undefined) {
config.options.txtDisableWikiLinksList = "excludeWikiLinks"
}
if (config.options.txtDisableWikiLinksTag==undefined) {
config.options.txtDisableWikiLinksTag = "excludeWikiLinks"
}
if (config.options.txtDisableWikiLinksList == config.options.txtDisableWikiLinksTag)
{
config.shadowTiddlers[config.options.txtDisableWikiLinksList] ='The ['+'['+config.options.txtDisableWikiLinksList+']] tiddler will disable Wikification of words listed here. It will also disable wikification of all Tiddlers so tagged. \n<<list filter [tag['+config.options.txtDisableWikiLinksTag+']]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chk'+config.options.txtDisableWikiLinksList+' '+config.options.txtDisableWikiLinksList+' "'+config.options.txtDisableWikiLinksList+' »" "'+config.options.txtDisableWikiLinksList+'">>';
}
else {
config.shadowTiddlers[config.options.txtDisableWikiLinksList]='The ['+'['+config.options.txtDisableWikiLinksList+']] tiddler will disable Wikification of words listed here';
config.shadowTiddlers.configTiddlers+='\n<<slider chk'+config.options.txtDisableWikiLinksList+' '+config.options.txtDisableWikiLinksList+' "'+config.options.txtDisableWikiLinksList+' »" "'+config.options.txtDisableWikiLinksList+'">>';
config.shadowTiddlers[config.options.txtDisableWikiLinksTag]='The ['+'['+config.options.txtDisableWikiLinksTag+']] tag will disable wikification of all Tiddlers so tagged. \n<<list filter [tag['+config.options.txtDisableWikiLinksTag+']]>>';
config.shadowTiddlers.configTiddlers+='\n<<slider chk'+config.options.txtDisableWikiLinksTag+' '+config.options.txtDisableWikiLinksTag+' "'+config.options.txtDisableWikiLinksTag+' »" "'+config.options.txtDisableWikiLinksTag+'">>';
}
}
//}}}
Javascript Plugins tagged with [[systemConfig]] are automatically run during Startup
<<list filter [tag[systemConfig]]>>
Javascript Plugins tagged with [[systemConfigDisable]] are automatically shutdown during Startup
<<list filter [tag[systemConfigDisable]]
Javascript Plugins tagged with [[systemConfigForce]] are forced to run, despite version information, during Startup
<<list filter [tag[systemConfigForce]]>>
The [[systemConfigRegistry]] tag is an unofficial repository for plugins that are installed, but may or may not currently be active
<<list filter [tag[systemConfigRegistry]]>>
Servers tagged with [[systemServer]] are automaticaly made available during the import tiddler process
<<list filter [tag[systemServer]]>>
|''Type:''|file|
|''URL:''|http://tiddlywiki.bidix.info/|
|''Workspace:''|(default)|
This tiddler was automatically created to record the details of this server
|''Type:''|file|
|''URL:''|http://mptw.tiddlyspot.com|
|''Workspace:''|(default)|
This tiddler was automatically created to record the details of this server
|''Type:''|file|
|''URL:''|http://storywiki.tiddlyspot.com/|
|''Workspace:''|(default)|
This tiddler was automatically created to record the details of this server
|''Type:''|file|
|''URL:''|http://www.remotely-helpful.com/TiddlyWiki/TiddlerEncryptionPlugin.html|
|''Workspace:''|(default)|
This tiddler was automatically created to record the details of this server
|''Type:''|file|
|''URL:''|http://www.minormania.com/tiddlylock/tiddlylock.html|
|''Workspace:''|(default)|
This tiddler was automatically created to record the details of this server
|''Type:''|file|
|''URL:''|http://www.tiddlytools.com/|
|''Workspace:''|(default)|
This tiddler was automatically created to record the details of this server
The [[systemTheme]] tag is a repository for Style sheet and layout designs
<<list filter [tag[systemTheme]]>>
|Name|systemTheme(Default)|
|Description|Passthrough systemTheme Configurations from Shadow Tiddlers for editing purposes|
|PageTemplate|##PageTemplate|
|ViewTemplate|##ViewTemplate|
|EditTemplate|##EditTemplate|
|StyleSheet|##StyleSheet|
!PageTemplate
<!--{{{-->
[[PageTemplate]]
<!--}}}-->
!ViewTemplate
<!--{{{-->
[[systemTheme(Default)##ViewToolbar]]
[[ViewTemplate]]
<!--}}}-->
!ViewToolbar
<!--{{{-->
//Note: Neither the Tiddler for the Toolbar settings, nor the toolbar listed, need to match the shadowtiddler defaults
//<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
//Alternatively one can use this format
//<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>
<!--}}}-->
!EditTemplate
<!--{{{-->
[[systemTheme(Default)##EditToolbar]]
[[EditTemplate]]
<!--}}}-->
!EditToolbar
<!--{{{-->
//Note: Neither the Tiddler for the Toolbar settings, nor the toolbar listed, need to match the shadowtiddler defaults
//<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
//Alternatively one can use this format
//<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>
<!--}}}-->
!StyleSheet
/*{{{*/
[[StyleSheet]]
/*}}}*/
|Name|systemTheme(~StoryWiki)|
|Description|~StoryWiki Templates and CSS|
|PageTemplate|##PageTemplate|
|ViewTemplate|##ViewTemplate|
|EditTemplate|##EditTemplate|
|StyleSheet|##StyleSheet|
|~ViewToolbar| +editTiddler deleteTiddler copyTiddler closeOthers closeTiddler |
|~EditToolbar| -cancelTiddler +saveTiddler deleteTiddler|
|~AdminToolbar| fields syncing |
|~AuthorToolbar| copyTiddler newHere newJournal deleteTiddler|
|~ReferenceToolbar| references jump permalink |
|~ReadOnlyToolbar| closeTiddler closeOthers > permalink references +jump |
!PageTemplate
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' force='true' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
!ViewTemplate
<!--{{{-->
<!--Setting this to systemTheme(StoryWiki)##ReadOnlyToolbar will effectively lock out the editor-->
[[systemTheme(StoryWiki)##ViewToolbar]]
<div class="tagglyTagged" macro="tags"></div>
<div class='titleContainer'>
<span class='title' macro='view title'></span>
<span macro="miniTag"></span>
</div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">
<div class='viewer'><pre macro='view text'></pre></div>
</div>
<div macro="else">
<div class='viewer' macro='view text wikified'></div>
</div>
<div class="tagglyTagging" macro="tagglyTagging"></div>
<!--}}}-->
!ViewToolbar
<!--{{{-->
<!--Note: Neither the Tiddler for the Toolbar settings, nor the toolbar listed, need to match the shadowtiddler defaults-->
<!--<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>-->
<!--Alternatively one can use this format-->
<!--<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>-->
<div class='toolbar'>
<span macro="showWhen tiddler.tags.contains('css') || tiddler.title == 'StyleSheet'"><span macro="refreshAll"></span></span>
<span style="padding:1em;"></span>
<span macro='toolbar fields syncing'></span>
<span macro='toolbar permalink references jump'></span>
<span macro='toolbar +editTiddler deleteTiddler copyTiddler'></span> <span macro='newHere label:"new here"'></span><span macro='newJournalHere {{config.mptwJournalFormat?config.mptwJournalFormat:"MM/0DD/YY"}}'></span>
<span macro='toolbar closeTiddler closeOthers'></span>
</div>
<!--}}}-->
!EditTemplate
<!--{{{-->
[[systemTheme(StoryWiki)##EditToolbar]]
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
!EditToolbar
<!--{{{-->
<!--Note: Neither the Tiddler for the Toolbar settings, nor the toolbar listed, need to match the shadowtiddler defaults-->
<!--<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>-->
<!--Alternatively one can use this format-->
<!--<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>-->
<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>
<!--}}}-->
!StyleSheet
/*{{{*/
[[StyleSheet]]
/*}}}*/