Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association
Fort Henry: Historical summary
Fort Henry (also known as Fort Henry National Historic Site) is located in Kingston, Ontario, Canada on Point Henry, a strategic point located near the mouth of the Cataraqui River where it flows into the St. Lawrence River, at the upper end of the Thousand Islands. The original fort was constructed during the War of 1812, when present-day Ontario was a British colony known as Upper Canada. The British anticipated the possibility of a United States attack on Point Henry due to its proximity to the Kingston Royal Naval Dockyards (the site of the present-day Royal Military College of Canada). The loss of this vital shipping route would have cut off supplies to Kingston and the rest of Upper Canada.
The present Fort Henry was constructed between 1832 and 1837 to protect the Lake Ontario end of the Rideau Canal. (The canal was part of an alternate route between Kingston and Montreal that bypassed the St. Lawrence River, which separates Canada and the United States.) A system of more elaborate defensive works was planned but cost overruns in the construction of the canal limited the fortifications to four Martello towers and the fort itself. At the time, these fortifications were the strongest defences in Canada west of Quebec City. Among the historic regiments that garrisoned the fort were the Black Watch, the Argyll and Sutherland Highlanders and the Royal Welch Fusiliers. Neither the original nor the second Fort Henry was ever attacked.
The British Army withdrew in 1870 shortly after Canadian Confederation. Canadian troops then garrisoned the fort until 1891. The fort witnessed the founding of the Royal Canadian Horse Artillery, one of the first units in the Canadian Army, whose B battery was based at the fort. As relations with the United States continued to improve, the need for defenses along the border ceased. During the First World War Fort Henry served as a facility for holding Ukrainian detainees. Abandoned by the military, the fort fell into disrepair. In the 1930s, under the leadership of Ronald L. Way, restorations took place as part of a government work program during the Great Depression. "Old Fort Henry" became a living museum with the introduction of the Fort Henry Guard, and was opened on August 1, 1938. During the Second World War, the fort served as a prisoner-of-war camp for German Luftwaffe and Kriegsmarine personnel.
{{floatright{
[img[resources/abstract_instr.jpg]]
}}}
!Instructions for abstract submission ICE 2011
!!{{redText{Abstract submission opens: January 1, 2011
Deadline for abstract submission: March 5^^th^^, 2011
Notification of abstract acceptance: April 1^^st^^, 2011}}}
All abstracts will be reviewed and selected by the members of the International program Committee.
The abstracts can be accepted for oral or poster presentation.
The poster size should be 180 cm (wide) and 115 cm (high).
!''Proceedings''
All accepted abstracts will be included in the Proceedings of the Conference, which will be available on a CD.
The authors of the accepted abstracts will be invited to write a short paper which will also be included in the proceedings - the preparation of this short paper is optional.
The organizers are currently negotiating other publication options.
!''SUBMISSION''
{{formStyleText{
{{redText{Abstract submission is now closed}}}
}}}
!''POSTER PRESENTATION''
''Poster size:'' A maximum of 180 cm (wide) and 115 cm (high).
''Day:'' Friday 10th
''Time:'' Please set up your poster before 8:00 AM. Material to set up the poster will be provided. Presenter should be present between:
*08:00 – 09:00 AM
*12:30 – 01:30 PM
Posters should be removed at 5:00 PM on Friday.
<<tiddler AuthorInfo>>
We have negotiated reduced prices for ICE 2011 at the [[Four Points|http://www.starwoodmeeting.com/StarGroupsWeb/booking/reservation?id=1101147137&key=EBDC5]] by Sheraton.
Other accommodation options can be found [[here|http://tourism.kingstoncanada.com/en/tourism/wheretostayanddine/hotelsmotels.aspx]].
<html>
<img src="./resources/localization.jpg" width="70%" height="70%"/>
</html>
<<tiddler AuthorInfo>>
<<options>>
<<option chkSortTags>> Sort byTags
<<option chkHoldSearches>> Hold search results
<<option chkSearchTitles>> Search in tiddler titles
<<option chkSearchText>> Search in tiddler text
<<option chkSearchTags>> Search in tiddler tags
<<option chkSearchFields>> Search in tiddler data fields
<<option chkSearchShadows>> Search in shadow tiddlers
<<option chkSearchTitlesFirst>> Search results show title matches first
<<option chkSearchList>> Search results show list of matching tiddlers
/***
|Name|AdvancedOptionsPlugin|
|Source|http://www.TiddlyTools.com/#AdvancedOptionsPlugin|
|Documentation|http://www.TiddlyTools.com/#AdvancedOptionsPlugin|
|Version|1.2.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.3|
|Type|plugin|
|Description|automatically add plugin-defined options to the [[AdvancedOptions]] shadow tiddler|
!!!!!Usage
<<<
At document startup, this plugin examines each tiddler tagged with <<tag systemConfig>> and looks for a tiddler slice named "Options" whose value refers to a tiddler section (or separate tiddler) that contains an 'advanced options control panel' for configuring that plugin's features and behavior. For each plugin that contains an "Options" slice, a tabbed entry is automatically created in the [[AdvancedOptions]] shadow tiddler to display that plugin's control panel.
As an optional fallback for backward-compatibility with plugin tiddlers that do not define the "Options" slice, this plugin will also look for a section heading named "Configuration" within those tiddlers, so that older plugins that define this section can automatically have their settings added to the [[AdvancedOptions]] tiddler without requiring the "Options" slice to be added.
This plugin also extends the standard {{{<<option>>}}} macro syntax so you can directly set the internal value of a boolean or text option, without displaying a corresponding checkbox or input field control simply by appending {{{=value}}} syntax to the end of the option ID parameter:
{{{
<<option "txtSomeOption=some text">>
<<option chkSomeOtherOption=true>> OR <<option chkSomeOtherOption=false>>
}}}
Example: {{{<<option chkAnimate=false>>}}}
<<<
!!!!!Configuration
<<<
<<option chkAdvancedOptions>> automatically add plugin-defined options to the [[AdvancedOptions]] shadow tiddler
<<option chkAdvancedOptionsBackstage>> automatically add plugin-defined options to Backstage menu
<<option chkAdvancedOptionsFallback>> use <<option txtAdvancedOptionsFallback>> section as a fallback for plugins that don't define an ~AdvancedOptions slice
//note: these settings only take effect after reloading the document//
<<<
!!!!!Revisions
<<<
2009.07.23 [1.2.0] added support for enhanced {{{<<option id=value>>}}} 'direct assignment' syntax
2008.05.09 [1.1.0] add "options" panel to backstage
2008.04.08 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.AdvancedOptionsPlugin= {major: 1, minor: 2, revision: 0, date: new Date(2009,7,23)};
if (config.options.chkAdvancedOptions===undefined)
config.options.chkAdvancedOptions=true;
if (config.options.chkAdvancedOptionsBackstage===undefined)
config.options.chkAdvancedOptionsBackstage=true;
if (config.options.chkAdvancedOptionsFallback===undefined)
config.options.chkAdvancedOptionsFallback=true;
if (config.options.txtAdvancedOptionsFallback===undefined)
config.options.txtAdvancedOptionsFallback="Configuration";
if (config.optionsDesc) config.optionsDesc.chkAdvancedOptions=
"automatically add plugin-defined options to [[AdvancedOptions]]";
//}}}
//{{{
var items=[];
var fmt="[[%0 ]] [[view options for %0]] [[%1]]\n";
var section=config.options.txtAdvancedOptionsFallback;
var plugins=store.getTaggedTiddlers("systemConfig");
for (var p=0; p<plugins.length; p++) {
var tid=plugins[p].title;
var settings=store.getTiddlerSlice(tid,"Options");
if (!settings && config.options.chkAdvancedOptionsFallback && store.getTiddlerText(tid+"##"+section))
settings="##"+section; // fallback handling for older plugins
if (settings&&settings.length) {
if (settings.substr(0,2)=="##") settings=tid+settings;
items.push(fmt.format([tid,settings]));
}
}
if (items.length) config.shadowTiddlers.PluginOptions=
"!![[Plugin-defined options|PluginManager]]\n>@@text-align:left;<<tabs '' \n"+items.join(' ')+">>@@";
if (config.options.chkAdvancedOptions)
config.shadowTiddlers.AdvancedOptions+="{{smallform{{{wrap{<<tiddler PluginOptions>>}}}}}}";
//}}}
//{{{
// // add "options" backstage task
if (config.tasks && config.options.chkAdvancedOptionsBackstage) { // for TW2.2b3 or above
config.tasks.options = {
text: "options",
tooltip: "manage plugin-defined option settings",
content: "{{smallform{{{groupbox{{{wrap{<<tiddler PluginOptions>>}}}}}}\n{{groupbox small {<<options>>}}}}}}"
}
config.backstageTasks.splice(config.backstageTasks.indexOf("plugins")+1,0,"options");
}
//}}}
//{{{
config.macros.option.AOPsave_handler=config.macros.option.handler;
config.macros.option.handler=function(place,macroName,params,wikifier,paramString,tiddler) {
var parts=params[0].split('=');
if (parts.length==1) return this.AOPsave_handler.apply(this,arguments);
var id=parts[0]; var val=(id.substr(0,3)=='txt')?parts[1]:(parts[1]=='true');
config.options[id]=val;
}
//}}}
*[[Colors]]
*[[Themes]]
*[[Toggling page elements]]
*[[Other style changes]]
*[[Formatting and viewing text]]
*[[Icons, smileys]]
----
{{center {
Website designed by Jerzy Ellert (jeel@epoczta.pl)
}}}
{{center{
{{welcomingLetterLink{
Young Investigator Award
ICE 2011
Kingston, Ontario, Canada
}}}
{{big{
Judges: M. Hiraoka (Japan); PW Macfarlane (UK)
}}}
{{bold{
1^^st^^ Prize: Walther H.W. Schulze (Germany)
Title:{{italic{ "Critical times based activation time imaging" }}}
2^^nd^^ Prize: Dr Rodrigo Miranda (Canada)
Title:{{italic{ "The Right Ventricular (RV) Septum Presents the Optimum Site for Maximal Electrical Separation (MES) in Biventricular Pacing"}}}
3^^rd^^ Prize: Helen Pang (Canada)
Title:{{italic{ "Reverse atrial electrical remodeling induced by CPAP in patients with severe obstructive sleep apnea"}}}
<html>
<img src="resources/YIA_winners.jpg" width="700" height="430" title="YIA: left to right: Dr Miranda (2nd prize), Ms Pang (3rd prize), Dr Van Oosterom (President ISE), Mr Schulze (1st prize)"/>
</html>
}}}
{{welcomingLetterLink{
Oral Abstract Competition Award
ICE 2011
Kingston, Ontario, Canada
}}}
{{big{
Judges: Adriaan Van Oosterom (Netherlands); Luigi Di Ambroggi (Italy), Ljuba Bacharova (Slovakia)
}}}
{{bold{
1^^st^^ Prize: Michael D. Fridman (Canada)
Title:{{italic{ "The Role of Interacting Proteins in Human """Ether-a-go-go-Related""" Gene (hERG) Channel Membrane Stability" }}}
2^^nd^^ Prize: Rukijat Ildarova (Russia)
Title:{{italic{ "Effectiveness of sodium channel blockers for preventing ventricular tachycardia in patients with """LQT2.""" "}}}
3^^rd^^ Prize: Sunny Gupta (Canada)
Title:{{italic{ "Three dimensional phase space ECG and complex sub-harmonic frequencies predicts ventricular arrhythmia in ICD recipients"}}}
<html>
<img src="resources/OAC_winners.jpg" width="700" height="450" title="OAC: left to right: Mr Gupta (3rd prize), Dr Van Oosterom (President ISE), Dr Zhang (in representation of Mr Fridman, 1st prize). Absent Dr Ildarova (2nd prize)"/>
</html>
}}}
}}}
<<tiddler AuthorInfo>>
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/***
|Name|CoreTweaks|
|Source|http://www.TiddlyTools.com/#CoreTweaks|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.2.0|
|Type|plugin|
|Description|a small collection of overrides to TW core functions|
This tiddler contains small changes to TW core functions that correct or enhance standard features or behaviors.
***/
//{{{
// calculate TW version number - used to determine which tweaks should be applied
var ver=version.major+version.minor/10+version.revision/100;
//}}}
/***
----
***/
// // to be fixed in 2.6.0:
// // {{block{
/***
!!!1151 adjust popup placement when root element is in scrolled DIV
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/1151
When a popup link is placed inside a DIV with style "overflow:scroll" or "overflow:auto" and that DIV is then scrolled, the position of the resulting popup appears further down the page that intended, because it is not adjusting for the relative scroll offset of the containing DIV. This tweak patches the Popup.place() function to calculate and subtract the current scroll offset from the computed popup position, so that it appears in the correct location on the page.
Test case: //(scroll to the bottom of this DIV and click on "test popup")//
{{groupbox{
<<tiddler ScrollBox with: CoreTweaks##1151test 12em>>}}}/%
!1151test
<<tiddler About>>
<<tiddler ShowPopup with: About "test popup" About button auto sticky>>
!end
%/
***/
//{{{
window.findScrollOffsetX=function(obj) {
var x=0;
while(obj) {
if (obj.scrollLeft && obj.nodeName!='HTML')
x+=obj.scrollLeft;
obj=obj.parentNode;
}
return -x;
}
window.findScrollOffsetY=function(obj) {
var y=0;
while(obj) {
if (obj.scrollTop && obj.nodeName!='HTML')
y+=obj.scrollTop;
obj=obj.parentNode;
}
return -y;
}
var fn=Popup.place.toString();
if (fn.indexOf('findScrollOffsetX')==-1) { // only once
fn=fn.replace(/var\s*rootLeft\s*=/,'var rootLeft = window.findScrollOffsetX(root) +');
fn=fn.replace(/var\s*rootTop\s*=/,'var rootTop = window.findScrollOffsetY(root) +');
eval('Popup.place='+fn);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!1147 tiddler macro with params does not refresh
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/1147
when the {{{<<tiddler SomeTiddler>>}}} macro is handled, the resulting span has extra attributes: {{{refresh='content'}}} and {{{tiddler='SomeTiddler'}}}. If SomeTiddler is changed, {{{store.notify('SomeTiddler')}}} triggers {{{refreshDisplay()}}}, which automatically re-renders transcluded content in any span that has these extra attributes. However, when additional arguments are passed by using {{{<<tiddler SomeTiddler with: arg arg arg ...>>}}} then the resulting span does NOT get the extra attributes noted above and, as a consequence, the transcluded content is not being refreshed, even though the underlying tiddler has changed
To correct this, in {{{config.macros.tiddler.handler}}}:
*set the 'refresh' and 'tiddler' attributes even when arguments are present in the macro
*store the arguments themselves in an attribute (e.g, 'args'), using as a space-separated, bracketed list
Then, in {{{config.refreshers.content}}}:
*retrieve the stored arguments (if any) and the tiddler source
*substitute arguments into source and re-render the span with the updated content
***/
//{{{
config.refreshers.content=function(e,changeList) {
var title = e.getAttribute("tiddler");
var force = e.getAttribute("force");
var args = e.getAttribute("args"); // ADDED
if(force != null || changeList == null || changeList.indexOf(title) != -1) {
removeChildren(e);
// wikify(store.getTiddlerText(title,""),e,null,store.fetchTiddler(title)); // REMOVED
config.macros.tiddler.transclude(e,title,args); // ADDED
return true;
} else
return false;
};
config.macros.tiddler.handler=function(place,macroName,params,wikifier,paramString,tiddler) {
params = paramString.parseParams("name",null,true,false,true);
var names = params[0]["name"];
var tiddlerName = names[0];
var className = names[1] || null;
var args = params[0]["with"];
var wrapper = createTiddlyElement(place,"span",null,className);
// if(!args) { // REMOVED
wrapper.setAttribute("refresh","content");
wrapper.setAttribute("tiddler",tiddlerName);
// } // REMOVED
if(args!==undefined) wrapper.setAttribute("args",'[['+args.join(']] [[')+']]'); // ADDED
this.transclude(wrapper,tiddlerName,args); // REFACTORED TO ...tiddler.transclude
}
// REFACTORED FROM ...tiddler.handler
config.macros.tiddler.transclude=function(wrapper,tiddlerName,args) {
var text = store.getTiddlerText(tiddlerName); if (!text) return;
var stack = config.macros.tiddler.tiddlerStack;
if(stack.indexOf(tiddlerName) !== -1) return;
stack.push(tiddlerName);
try {
if (typeof args == "string") args=args.readBracketedList(); // ADDED
var n = args ? Math.min(args.length,9) : 0;
for(var i=0; i<n; i++) {
var placeholderRE = new RegExp("\\$" + (i + 1),"mg");
text = text.replace(placeholderRE,args[i]);
}
config.macros.tiddler.renderText(wrapper,text,tiddlerName,null); // REMOVED UNUSED 'params'
} finally {
stack.pop();
}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!1134 allow leading whitespace in section headings / TBD handle shadow tiddler sections
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/1134
This tweak REPLACES and extends {{{store.getTiddlerText()}}} so it can return sections defined in shadow tiddlers as well as permitting use of leading whitespace in section headings.
***/
//{{{
TiddlyWiki.prototype.getTiddlerText = function(title,defaultText)
{
if(!title) return defaultText;
var parts = title.split(config.textPrimitives.sectionSeparator);
var title = parts[0];
var section = parts[1];
var parts = title.split(config.textPrimitives.sliceSeparator);
var title = parts[0];
var slice = parts[1]?this.getTiddlerSlice(title,parts[1]):null;
if(slice) return slice;
var tiddler = this.fetchTiddler(title);
var text = defaultText;
if(this.isShadowTiddler(title))
text = this.getShadowTiddlerText(title);
if(tiddler)
text = tiddler.text;
if(!section) return text;
var re = new RegExp("(^!{1,6}[ \t]*" + section.escapeRegExp() + "[ \t]*\n)","mg");
re.lastIndex = 0;
var match = re.exec(text);
if(match) {
var t = text.substr(match.index+match[1].length);
var re2 = /^!/mg;
re2.lastIndex = 0;
match = re2.exec(t); //# search for the next heading
if(match)
t = t.substr(0,match.index-1);//# don't include final \n
return t;
}
return defaultText;
};
//}}}
// // }}}}}}// // {{block{
/***
!!!824 ~WindowTitle - alternative to combined ~SiteTitle/~SiteSubtitle in window titlebar
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/824 - OPEN
This tweak allows definition of an optional [[WindowTitle]] tiddler that, when present, provides alternative text for display in the browser window's titlebar, instead of using the combined text content from [[SiteTitle]] and [[SiteSubtitle]] (which will still be displayed as usual in the TiddlyWiki document header area).
Note: this ticket replaces http://trac.tiddlywiki.org/ticket/401 (closed), which proposed using a custom [[PageTitle]] tiddler for this purpose. ''If you were using the previous '401 ~PageTitle' tweak, you will need to rename [[PageTitle]] to [[WindowTitle]] to continue to use your custom window title text''
***/
//{{{
config.shadowTiddlers.WindowTitle='<<tiddler SiteTitle>> - <<tiddler SiteSubtitle>>';
window.getPageTitle=function() { return wikifyPlain('WindowTitle'); }
store.addNotification('WindowTitle',refreshPageTitle); // so title stays in sync with tiddler changes
//}}}
// // }}}}}}// // {{block{
/***
!!!471 'creator' field for new tiddlers
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/471 - OPEN
This tweak HIJACKS the core's saveTiddler() function to automatically add a 'creator' field to a tiddler when it is FIRST created. You can use """<<view creator>>""" (or """<<view creator wikified>>""" if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro="view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler.
***/
//{{{
// hijack saveTiddler()
TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddler=TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler=function(title,newTitle,newBody,modifier,modified,tags,fields)
{
var existing=store.tiddlerExists(title);
var tiddler=this.CoreTweaks_creatorSaveTiddler.apply(this,arguments);
if (!existing) store.setValue(title,'creator',config.options.txtUserName);
return tiddler;
}
//}}}
// // }}}}}}
// // fixed in ~TW2.4.3
// // {{block{
/***
!!!444 'tiddler' and 'place' - global variables for use in computed macro parameters
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/444 - CLOSED:FIXED - TW2.4.3 - http://trac.tiddlywiki.org/changeset/8367
When invoking a macro, this tweak makes the current containing tiddler object and DOM rendering location available as global variables (window.tiddler and window.place, respectively). These globals can then be used within //computed macro parameters// to retrieve tiddler-relative and/or DOM-relative values or perform tiddler-specific side-effect functionality.
***/
//{{{
if (ver<2.43) {
window.coreTweaks_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
var here=story.findContainingTiddler(place);
window.tiddler=here?store.getTiddler(here.getAttribute('tiddler')):tiddler;
window.place=place;
window.coreTweaks_invokeMacro.apply(this,arguments);
}
}
//}}}
// // }}}}}}
// // fixed in ~TW2.4.2:
// // {{block{
/***
!!!823 apply option values via paramifiers (e.g. #chk...and #txt...)
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/823 - CLOSED:FIXED - TW2.4.2 http://trac.tiddlywiki.org/changeset/7988
This tweak extends and ''//replaces//'' the core {{{invokeParamifier()}}} function to support use of ''option paramifiers'' that set TiddlyWiki option values on-the-fly, directly from a document URL.
If a paramifier begins with 'chk' (checkbox) or 'txt' (text field), it's value will be automatically stored in {{{config.options.*}}}, adding to or overriding any existing 'chk' or 'txt' option values that may have already been loaded from browser cookies and/or assigned by the TW core or plugin initialization functions using hard-coded default values. Note: option values that have been overriden by paramifiers are only applied during the current document session, and are not //automatically// retained. However, if you edit an overridden option value during that session, then the modified value is, of course, saved in a browser cookie, as usual.
***/
//{{{
if (ver<2.42) {
function invokeParamifier(params,handler)
{
if(!params || params.length == undefined || params.length <= 1)
return;
for(var t=1; t<params.length; t++) {
var p = config.paramifiers[params[t].name];
if(p && p[handler] instanceof Function)
p[handler](params[t].value);
else { // not a paramifier with handler()... check for an 'option' prefix
var h=config.optionHandlers[params[t].name.substr(0,3)];
if (h && h.set instanceof Function)
h.set(params[t].name,params[t].value);
}
}
}
}
//}}}
// // }}}}}}
// // closed: won't fix //(leave as core tweaks)//
// // {{block{
/***
!!!637 TiddlyLink tooltip - custom formatting
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/637 - CLOSED: WON'T FIX
This tweak modifies the tooltip format that appears when you mouseover a link to a tiddler. It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)
Tiddler link tooltip format:
{{stretch{<<option txtTiddlerLinkTootip>>}}}
^^where: %0=title, %1=username, %2=modification date, %3=size in bytes, %4=description slice^^
Tiddler link tooltip date format:
{{stretch{<<option txtTiddlerLinkTooltipDate>>}}}
***/
//{{{
config.messages.tiddlerLinkTooltip='%0 - %1, %2 (%3 bytes) - %4';
config.messages.tiddlerLinkTooltipDate='DDD, MMM DDth YYYY 0hh12:0mm AM';
config.options.txtTiddlerLinkTootip=
config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;
config.options.txtTiddlerLinkTooltipDate=
config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;
Tiddler.prototype.getSubtitle = function() {
var modifier = this.modifier;
if(!modifier) modifier = config.messages.subtitleUnknown;
var modified = this.modified;
if(modified) modified = modified.formatString(config.options.txtTiddlerLinkTooltipDate);
else modified = config.messages.subtitleUnknown;
var descr=store.getTiddlerSlice(this.title,'Description')||'';
return config.options.txtTiddlerLinkTootip.format([this.title,modifier,modified,this.text.length,descr]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!607 add HREF link on permaview command
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/607 - CLOSED: WON'T FIX
This tweak automatically sets the HREF for the 'permaview' sidebar command link so you can use the 'right click' context menu for faster, easier bookmarking. Note that this does ''not'' automatically set the permaview in the browser's current location URL... it just sets the HREF on the command link. You still have to click the link to apply the permaview.
***/
//{{{
config.macros.permaview.handler = function(place)
{
var btn=createTiddlyButton(place,this.label,this.prompt,this.onClick);
addEvent(btn,'mouseover',this.setHREF);
addEvent(btn,'focus',this.setHREF);
};
config.macros.permaview.setHREF = function(event){
var links = [];
story.forEachTiddler(function(title,element) {
links.push(String.encodeTiddlyLink(title));
});
var newURL=document.location.href;
var hashPos=newURL.indexOf('#');
if (hashPos!=-1) newURL=newURL.substr(0,hashPos);
this.href=newURL+'#'+encodeURIComponent(links.join(' '));
}
//}}}
// // }}}}}}// // {{block{
/***
!!!458 add permalink-like HREFs on internal TiddlyLinks
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/458 - CLOSED: WON'T FIX
This tweak assigns a permalink-like HREF to internal Tiddler links (which normally do not have any HREF defined). This permits the link's context menu (right-click) to include 'open link in another window/tab' command. Based on a request from Dustin Spicuzza.
***/
//{{{
window.coreTweaks_createTiddlyLink=window.createTiddlyLink;
window.createTiddlyLink=function(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle)
{
// create the core button, then add the HREF (to internal links only)
var link=window.coreTweaks_createTiddlyLink.apply(this,arguments);
if (!isStatic)
link.href=document.location.href.split('#')[0]+'#'+encodeURIComponent(String.encodeTiddlyLink(title));
return link;
}
//}}}
// // }}}}}}
// // open tickets:
// // {{block{
/***
!!!608/609/610 toolbars - toggles, separators and transclusion
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/608 - OPEN (more/less toggle)
http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)
http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)
This combination tweak extends the """<<toolbar>>""" macro to add use of '<' to insert a 'less' menu command (the opposite of '>' == 'more'), as well as use of '*' to insert linebreaks and "!" to insert a vertical line separator between toolbar items. In addition, this tweak add the ability to use references to tiddlernames, slices, or sections and render their content inline within the toolbar, allowing easy creation of new toolbar commands using TW content (such as macros, links, inline scripts, etc.)
To produce a one-line style, with "less" at the end, use
| ViewToolbar| foo bar baz > yabba dabba doo < |
or to use a two-line style with more/less toggle:
| ViewToolbar| foo bar baz > < * yabba dabba doo |
***/
//{{{
merge(config.macros.toolbar,{
moreLabel: 'more\u25BC',
morePrompt: 'Show additional commands',
lessLabel: '\u25C4less',
lessPrompt: 'Hide additional commands',
separator: '|'
});
config.macros.toolbar.onClickMore = function(ev) {
var e = this.nextSibling;
e.style.display = 'inline'; // show menu
this.style.display = 'none'; // hide button
return false;
};
config.macros.toolbar.onClickLess = function(ev) {
var e = this.parentNode;
var m = e.previousSibling;
e.style.display = 'none'; // hide menu
m.style.display = 'inline'; // show button
return false;
};
config.macros.toolbar.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
for(var t=0; t<params.length; t++) {
var c = params[t];
switch(c) {
case '!': // ELS - SEPARATOR (added)
createTiddlyText(place,this.separator);
break;
case '*': // ELS - LINEBREAK (added)
createTiddlyElement(place,'BR');
break;
case '<': // ELS - LESS COMMAND (added)
var btn = createTiddlyButton(place,
this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess,'moreCommand');
break;
case '>':
var btn = createTiddlyButton(place,
this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore,'moreCommand');
var e = createTiddlyElement(place,'span',null,'moreCommand');
e.style.display = 'none';
place = e;
break;
default:
var theClass = '';
switch(c.substr(0,1)) {
case '+':
theClass = 'defaultCommand';
c = c.substr(1);
break;
case '-':
theClass = 'cancelCommand';
c = c.substr(1);
break;
}
if(c in config.commands)
this.createCommand(place,c,tiddler,theClass);
else { // ELS - WIKIFY TIDDLER/SLICE/SECTION (added)
if (c.substr(0,1)=='~') c=c.substr(1); // ignore leading ~
var txt=store.getTiddlerText(c);
if (txt) {
// trim any leading/trailing newlines
txt=txt.replace(/^\n*/,'').replace(/\n*$/,'');
// trim PRE format wrapper if any
txt=txt.replace(/^\{\{\{\n/,'').replace(/\n\}\}\}$/,'');
// render content into toolbar
wikify(txt,createTiddlyElement(place,'span'),null,tiddler);
}
} // ELS - end WIKIFY CONTENT
break;
}
}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!529 IE fixup - case-sensitive element lookup of tiddler elements
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/529 - OPEN
This tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //''Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing 'tiddlerDisplay' element.''//
***/
//{{{
if (config.browser.isIE) {
document.coreTweaks_coreGetElementById=document.getElementById;
document.getElementById=function(id) {
var e=document.coreTweaks_coreGetElementById(id);
if (!e || !e.parentNode || e.parentNode.id!='tiddlerDisplay') return e;
for (var i=0; i<e.parentNode.childNodes.length; i++)
if (id==e.parentNode.childNodes[i].id) return e.parentNode.childNodes[i];
return null;
};
}
//}}}
// // }}}}}}// // {{block{
/***
!!!890 add conditional test to """<<tiddler>>""" macro
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/890 - OPEN
This tweak extends the {{{<<tiddler>>}}} macro syntax so you can include a javascript-based //test expression// to determine if the tiddler transclusion should be performed:
{{{
<<tiddler TiddlerName if:{{...}} with: param param etc.>>
}}}
If the test is ''true'', then the tiddler is transcluded as usual. If the test is ''false'', then the transclusion is skipped and //no output is produced//.
***/
//{{{
config.macros.tiddler.if_handler = config.macros.tiddler.handler;
config.macros.tiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
params = paramString.parseParams('name',null,true,false,true);
if (!getParam(params,'if',true)) return;
this.if_handler.apply(this,arguments);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!831 backslash-quoting for embedding newlines in 'line-mode' formats
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/831 - OPEN
This tweak pre-processes source content to convert 'double-backslash-newline' into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)
***/
//{{{
window.coreWikify = wikify;
window.wikify = function(source,output,highlightRegExp,tiddler)
{
if (source) arguments[0]=source.replace(/\\\\\n/mg,'<br>');
coreWikify.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!683 FireFox3 Import bug: 'browse' button replacement
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/683 - OPEN
The web standard 'type=file' input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for security reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki. This tweak provides alternative HTML source that patches the backstage import panel. It replaces the 'type=file' input control with a text+button combination of controls that invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
>Note: ''This tweak also requires http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()''
***/
//{{{
if (window.Components) {
var fixhtml='<input name="txtBrowse" style="width:30em"><input type="button" value="..."'
+' onClick="window.browseForFilename(this.previousSibling,true)">';
var cmi=config.macros.importTiddlers;
cmi.step1Html=cmi.step1Html.replace(/<input type='file' size=50 name='txtBrowse'>/,fixhtml);
}
merge(config.messages,{selectFile:'Please enter or select a file'}); // ready for I18N translation
window.browseForFilename=function(target,mustExist) { // note: both params are optional
var msg=config.messages.selectFile;
if (target && target.title) msg=target.title; // use target field tooltip (if any) as dialog prompt text
// get local path for current document
var path=getLocalPath(document.location.href);
var p=path.lastIndexOf('/'); if (p==-1) p=path.lastIndexOf('\\'); // Unix or Windows
if (p!=-1) path=path.substr(0,p+1); // remove filename, leave trailing slash
var file=''
var result=window.askForFilename(msg,path,file,mustExist); // requires #604
if (target && result.length) // set target field and trigger handling
{ target.value=result; target.onchange(); }
return result;
}
//}}}
// // }}}}}}// // {{block{
/***
!!!604 cross-platform askForFilename()
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/604 - OPEN
invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
***/
//{{{
window.askForFilename=function(msg,path,file,mustExist) {
var r = window.mozAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.ieAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.javaAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = prompt(msg,path+file);
return r||'';
}
window.mozAskForFilename=function(msg,path,file,mustExist) {
if(!window.Components) return false;
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, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension='html';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel)
var result=picker.file.persistentDescriptor;
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.ieAskForFilename=function(msg,path,file,mustExist) {
if(!config.browser.isIE) return false;
try {
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=3; // default to HTML files;
s.InitialDir=path;
s.FileName=file;
return s.showOpen()?s.FileName:'';
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.javaAskForFilename=function(msg,path,file,mustExist) {
if(!document.applets['TiddlySaver']) return false;
// TBD: implement java-based askFile(...) function
try { return document.applets['TiddlySaver'].askFile(msg,path,file,mustExist); }
catch(ex) { displayMessage(ex.toString()); }
}
//}}}
// // }}}}}}// // {{block{
/***
!!!657 wrap tabs onto multiple lines
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/657 - OPEN
This tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.
***/
//{{{
config.macros.tabs.handler = function(place,macroName,params)
{
var cookie = params[0];
var numTabs = (params.length-1)/3;
var wrapper = createTiddlyElement(null,'div',null,'tabsetWrapper ' + cookie);
var tabset = createTiddlyElement(wrapper,'div',null,'tabset');
tabset.setAttribute('cookie',cookie);
var validTab = false;
for(var t=0; t<numTabs; t++) {
var label = params[t*3+1];
var prompt = params[t*3+2];
var content = params[t*3+3];
var tab = createTiddlyButton(tabset,label,prompt,this.onClickTab,'tab tabUnselected');
createTiddlyElement(tab,'span',null,null,' ',{style:'font-size:0pt;line-height:0px'}); // ELS
tab.setAttribute('tab',label);
tab.setAttribute('content',content);
tab.title = prompt;
if(config.options[cookie] == label)
validTab = true;
}
if(!validTab)
config.options[cookie] = params[1];
place.appendChild(wrapper);
this.switchTab(tabset,config.options[cookie]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!628 hide 'no such macro' errors
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/628 - OPEN
When invoking a macro that is not defined, this tweak prevents the display of the 'error in macro... no such macro' message. This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.
<<option chkHideMissingMacros>> hide 'no such macro' error messages
***/
//{{{
if (config.options.chkHideMissingMacros===undefined)
config.options.chkHideMissingMacros=false;
window.coreTweaks_missingMacro_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
if (!config.macros[macro] || !config.macros[macro].handler)
if (config.options.chkHideMissingMacros) return;
window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}}}}
// // <<foldHeadings>>
<html>
<table>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ca.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Hoshiar Abdollah (Canada)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/sk.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Ljuba Bacharova (Slovakia)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ca.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Adrian Baranchuk (Canada)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Alejandro Barbagelata (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/it.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Luigi De Ambroggi (Italy)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Mithilesh Das (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Parvin Dorostkar (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ar.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Francisco Femenia (Argentina)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/es.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Javier Garcia-Niebla (Spain)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ca.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Michael Gollob (Canada)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/pl.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Przemyslaw Guzik (Poland)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/jp.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Masayasu Hiraoka (Japan)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Jose Jalife (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Paul Levine (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Jerome Liebman (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/gb.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Peter W Macfarlane (UK)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Rob Macleod (USA) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">John Madias (USA)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ca.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Carlos A Morillo (Canada)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Adelqui Peralta (USA) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/br1.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Carlos Alberto Pastore (Brazil) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/br1.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Andres Ricardo Pérez-Riera (Brazil) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/pl.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Jaroslaw Piskorski (Poland)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ca.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Damian P. Redfearn (Canada) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/il.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Samuel Sclarovsky (Israel)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/ca.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Christopher S. Simpson (Canada)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/pl.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Malgorzata Sobieszczanska (Poland) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/hu.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Andras Vereckei (Hungary) </td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/nl.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Adriaan Von Oosterom (Netherlands)</td>
</tr>
<tr>
<td style="border:hidden;background-color: lightgray;"><img src="resources/flags/us.gif"/></td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">Wojciech Zareba (USA)</td>
</tr>
</table>
</html>
<<tiddler AuthorInfo>>
{{floatright{
[img[resources/fees_and_reg2.jpg]]
}}}
''Delegates''
Early Fee (before April 1, 2011): CAD $ 600
Regular Fee (after April 1, 2011): CAD $ 700
One day registration: CAD $ 250
''ISE and ISHNE members''
Early Fee (before April 1, 2011): CAD $ 580
Regular Fee (after April 1, 2011):CAD $ 680
''Students''
Early Fee (before April 1, 2011): CAD $ 350
Regular Fee (after April 1, 2011): CAD $ 400
''Accompanying Guests''
Gala Dinner CAD $ 100
__Gala dinner is included within registration fees__
!__''To Register:''__
!!Payment can be made in Canadian Dollars, US dollars or Euros - cheques and wire transfer will be accepted. <br>Cheques should be made payable to:<br>
!!Queens University/International Conference.
''or by bank transfer to''
!!!Bank Name: Bank of Montreal
!!!Account Name: Queens University
!!!Bank Address: 297 King St East, Kingston, Ontario """K7L""" 3B3
!!!Bank Id # 001
!!!Transit # 00162
!!!Sort Code: """BOFMCAM2""" (this is the Swift code)
!!!Account # 0000-085
!!!IBAN: 001001620000085
{{infoFontStyle{
For U.S. Wires
}}}
!!!Sort Code: """BOFMCAT2FXM""" (this is the Swift code)
!!!ABA # 026005092
!!!Account: 4600-095
!!!IBAN: 001001624600095
{{infoFontStyle{
Please indicate in the bank transfer form that the payment is for the participation in The 38^^th^^ International Congress on Electrocardiology.
Please send the information about the transfer to Ms. Faye Orser (orserf@KGH.KARI.NET) stating the amount of money transferred and the names all the participants covered by the payment.
}}}
!!Participants are asked to fill out the following registration form
<html>
<table style="width:1000px;">
<tr>
<td style="border:hidden;width:100px;font-size:15px;font-weight:bold;"> </td>
<td style="border-top:hidden; border-right:hidden; border-bottom:3px solid black"> </td>
</tr>
<tr>
<td style="border:hidden;width:100px;font-size:15px;font-weight:bold;">NAME:</td>
<td style="border-top:hidden; border-right:hidden; border-bottom:3px solid black"> </td>
</tr>
<tr>
<td style="border:hidden;font-size:15px;font-weight:bold;">MAILING ADDRESS:</td>
<td style="border-right:hidden;border-bottom:3px solid black"> </td>
</tr >
<tr>
<td style="border:hidden;font-size:15px;"> </td>
<td style="border-right:hidden;border-bottom:3px solid black"> </td>
</tr >
<tr>
<td style="border:hidden;font-size:15px;"> </td>
<td style="border-right:hidden;border-bottom:3px solid black"> </td>
</tr >
<tr>
<td style="border:hidden;font-size:15px;font-weight:bold;">EMAIL ADDRESS:</td>
<td style="border-right:hidden;border-bottom:3px solid black"> </td>
</tr>
<tr>
<td style="border:hidden;font-size:15px;font-weight:bold;">TELEPHONE NO.:</td>
<td style="border-right:hidden;border-bottom:3px solid black"> </td>
</tr>
</table>
</html>
!![[You can use the following registration form.|./resources/docs/registration.doc]]
<html>
<table style="width:800px;">
<tr>
<td valign="TOP" style="border:hidden;width:400px;font-size:14px;">Please send payment and registration form to:</td>
<td style="border:hidden;font-size:14px;">
Ms. Faye Orser<br>
c/o Dr. C. Simpson <br>
Kingston General Hospital <br>
76 Stuart Street<br>
Kingston, Ontario<br>
Canada<br>
K7L 2V7
</td>
</tr>
</table>
</html>
__For further information please contact Faye:__
By email at: orserf@KGH.KARI.NET
By phone at: 613-549-6666 ext. 3225
By fax at: 613-548-1387
<<tiddler AuthorInfo>>
<html>
<table style="border:hidden;" border="0">
<tr>
<td style="border:hidden;font-weight:bold;" width="120">
Wednesday 8<sup>th</sup>:
</td>
<td style="border:hidden;">
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;">
</td>
<td style="border:hidden;">
♦ <b>6:30 PM:</b> Opening Ceremony
</td>
</tr>
<tr>
<td style="border:hidden; font-weight:bold;">
</td>
<td style="border:hidden;">
<b>Adrian Baranchuk,</b> Chair, Welcome
</td>
</tr>
<tr>
<td style="border:hidden; font-weight:bold;">
</td>
<td style="border:hidden;">
<b>Adriaan Von Oosterom,</b> President ISE, Opening and Presentation
</td>
</tr>
<tr>
<td style="border:hidden; font-weight:bold;">
</td>
<td style="border:hidden;" colspan="2">
Opening Lecture: <i>"Of mice and men…and the pursuit of sudden cardiac death prevention"</i> <b>Jose Jalife (USA)</b>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;">
</td>
<td style="border:hidden;">
♦ Reception
</td>
</tr>
<tr>
<td style="border:hidden; font-weight:bold;">
Thursday 9<sup>th</sup>:
</td>
<td style="border:hidden;">
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>7:30 - 8:30 AM:</b> Registration
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>8:30 - 9:00:</b> Breakfast
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>9:00 - 10:00: Plenary Session:</b>
<i>Fragmented QRS on the ECG: "The new Kid on the Block"</i>
<b>Mithilesh Kumar (USA)</b>
<br/><b>Chair: John Madias (USA)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 10:00 - 11:15: Main room: Round Table: "Potential shifts in paradigms in
Electrocardiology"
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
<ol>
<li><i>Left Ventricular Hypertrophy and ECG:</i> <b>Ljuba Bacharova (Slovakia)</b></li>
<li><i>Lead aVR or lead –aVR?:</i> <b>John Madias (USA)</b></li>
<li><i>Intraventricular conduction disorders in Body Surface Potential Mapping before and after renal transplantation. </i> <b>Małgorzata Sobieszczańska (Poland)</b></li>
<li><i>ECG Pitfalls and Artifacts:</i> <b>Javier Garcia-Niebla (Spain)</b>
</li>
</ol>
<b>Chair: PW MacFarlane (UK)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden">
♦ <b>10:00 - 11:15: Conference room: Round Table: ISE – ISHNE Joint Session </b><i>"New Non-invasive Assessment Techniques"</i>
<br/><b>Chairs: Wojciech Zareba and Rob Macleod (USA)</b>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
<ol>
<li><i>Computerized Automatic Diagnosis of Brugada-type ECG:</i> <b> M. Hiraoka (Japan)</b></li>
<li><i>Bioimpedance in cardiovascular evaluation:</i> <b>Przemyslaw Guzik (Poland)</b></li>
<li><i>Complex Sub-harmonic Structures to Predict ICD Therapies:</i> <b>Damian Redfearn (Canada)</b></li>
<li><i>A new ECG criterion of intraventricular dyssynchrony improves CRT outcome prediction by current criteria:</i> <b>Andras Vereckei (Hungary)</b></li>
</ol>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>11:15 - 11:30:</b> Coffee Break
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>11:30 - 12:30: Plenary Session “The Rijlant Lecture”:</b> <i>“Autonomic Nervous System and Cardiac Arrhythmias”</i> <b>Carlos A. Morillo (Canada)</b>
<br/><b>Chair: Alejandro Barbagelata (USA)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>12:30 - 1:30:</b> Lunch
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 1:30 - 3:00: Main Room: ECG Workshop
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
<ol>
<li><i>STENOMICS: the study of ST Elevation: a new Renaissance Period:</i> <b>PW McFarlane (UK)</b></li>
<li><i>Left Septal Fascicular Block: myth o reality?</i> <b>Andrés Ricardo Pérez-Riera (Brazil)</b></li>
<li><i>Current Role of the ECG in assessing CRT implantation.</i> <b>Carlos Alberto Pastore (Brazil)</b></li>
<li><i>ECG in patients with pacemakers: Is this pacemaker working properly?</i> <b>Paul Levine (USA)</b></li>
</ol>
<b>Chair: Ljuba Bacharova (Slovakia)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 1:30 - 3:30: Conference room: Abstract Presentation
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>3:00 - 3:30:</b> Coffee Break
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>3:45 - 4:45: Plenary Session:</b> <i>“The Role of ECG in identifying Long QT syndromes”.</i> <b>Wojciech Zareba (USA)</b>
<br><b>Chair: Przemyslaw Guzik (Poland)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 6:00 PM: Cruise on the Lake (Dinner) (Optional)
</td>
</tr>
<tr>
<td style="border:hidden; font-weight:bold;">
Friday 10<sup>th</sup>:
</td>
<td style="border:hidden;">
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>8:00 - 9:00:</b> Breakfast – Posters
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>9:00 - 10:00: Plenary Session: </b> <i>“Genetics of Atrial Fibrillation”</i> <b>Michael Gollob (Canada)</b>
<br/><b>Chair: Christopher Simpson (Canada)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 10:00 - 11:00: Main room: Round Table: “Arrhythmia Management in Infrequent Scenarios”
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
<ol>
<li><i>Asymptomatic Long QT:</i> <b>Wojciech Zareba (USA)</b></li>
<li><i>Atrial fibrillation in athletes: Efficacy and safety of the catheter ablation:</i> <b>Luigi De Ambroggi (Italy)</b></li>
<li><i>Asymptomatic Brugada:</i> <b>Christopher Simpson (Canada)</b></li>
</ol>
<b>Chair: Adelqui Peralta (USA)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 10:00 - 11:30: Conference room: Abstract presentation YIA M. Hiraoka (Japan)
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>11:00 - 11:30:</b> Coffee Break
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 11:30 - 12:45: Main Room: “New Non-invasive Assessment Techniques II”
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
<ol>
<li><i>Model based inferences for basic T wave parameters in clinical practice:</i> <b>Adriaan Von Oosterom (Netherlands)</b></li>
<li><i>Heart rate asymmetry - physiological and clinical findings</i> <b>Przemyslaw Guzik (Poland)</b></li>
<li><i>The structure of heart rate asymmetry - deceleration and acceleration runs of RR intervals.</i> <b>Jaroslaw Piskorski (Poland)</b></li>
<li><i>Application of two new algorithms in the differential diagnosis of wide QRS complex tachycardia.</i> <b>Andras Vereckei (Hungary)</b></li>
</ol>
<b>Chair: Hoshiar Abdollah (Canada)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>12:45 - 1:30:</b> Lunch (Poster evaluation)
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 1:30 - 3:00: Main Room: Round Table: “Pediatric Session”
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
<ol>
<li><i>The problem of the abnormally posterior vector:</i> <b>Jerome Liebman (USA)</b></li>
<li><i>ECG in cyanotic and acyanotic congenital heart diseases</i> <b>AR Pérez Riera (Brazil)</b></li>
<li><i>Complex Arrhythmias in Pediatric Patients: State of the Art.</i> <b> P. Dorostkar (USA)</b></li>
</ol>
<b>Chair: Carlos Alberto Pastore (Brazil)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 1:30 - 3:00: Conference room: Abstract Presentation
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>3:00 - 3:30:</b> Coffee Break
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>3:30 - 4:30: Plenary Session:</b>
<i>“Use of imaging in AFib and development of image based approaches for all aspects of patient management”</i>
<b>Rob Macleod (USA)</b>
<br/><b>Chair: Damian Redfearn (Canada)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden; font-weight:bold;">
♦ 6:00 PM: Transfer to Fort Henry Night (Dinner)
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;">
Saturday 11<sup>th</sup>:
</td>
<td style="border:hidden;">
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>8:00 - 9:00:</b> Breakfast
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>9:00 - 10:00: Plenary Session:</b>
<i>“Electrocardiographic Remodeling in Acute Myocardial Infarction”.</i>
<b>Samuel Sclarovski (Israel)</b>
<br/><b>Chair: Adriaan Von Oosterom (Netherlands)</b><br/><br/>
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;font-weight:bold;">
♦ 10:00 - 11:00: Main room: Presentation of Abstracts and Posters winners. ISE Business, Presentation of ICE 2012. Closing remarks.
</td>
</tr>
<tr>
<td style="border:hidden;">
</td>
<td style="border:hidden;">
♦ <b>10:00 - 12:00:</b> <b>Conference Room III Simposio Internacional del Foro de Arritmias en Internet.</b><br>
(Spanish - En Español)
<br>Como transmitir conocimientos en Electrocardiologia?
<br>Coordinadores: <b>Dr. Francisco Femenia - (Argentina)</b>
<br><b>Dr. Andres Ricardo Pérez- Riera (Brazil)<b>
</td>
</tr>
</table>
</html>
<<tiddler AuthorInfo>>
!About Fort Henry
!!''Fort Henry: Historical summary''
''Fort Henry'' (also known as ''Fort Henry National Historic Site'') is located in Kingston, Ontario, Canada on Point Henry, a strategic point located near the mouth of the Cataraqui River where it flows into the St. Lawrence River, at the upper end of the Thousand Islands. The original fort was constructed during the War of 1812, when present-day Ontario was a British colony known as Upper Canada. The British anticipated the possibility of a United States attack on Point Henry due to its proximity to the Kingston Royal Naval Dockyards (the site of the present-day Royal Military College of Canada). The loss of this vital shipping route would have cut off supplies to Kingston and the rest of Upper Canada.
<html>
<img src="resources/arial_fort_2_04_photo_courtesy_of_Fort_Henry_NHS.jpg" width="100%"/>
</html>
The present Fort Henry was constructed between 1832 and 1837 to protect the Lake Ontario end of the Rideau Canal. (The canal was part of an alternate route between Kingston and Montreal that bypassed the St. Lawrence River, which separates Canada and the United States.) A system of more elaborate defensive works was planned but cost overruns in the construction of the canal limited the fortifications to four Martello towers and the fort itself. At the time, these fortifications were the strongest defences in Canada west of Quebec City. Among the historic regiments that garrisoned the fort were the Black Watch, the Argyll and Sutherland Highlanders and the Royal Welch Fusiliers. Neither the original nor the second Fort Henry was ever attacked.
The British Army withdrew in 1870 shortly after Canadian Confederation. Canadian troops then garrisoned the fort until 1891. The fort witnessed the founding of the Royal Canadian Horse Artillery, one of the first units in the Canadian Army, whose B battery was based at the fort. As relations with the United States continued to improve, the need for defenses along the border ceased. During the First World War Fort Henry served as a facility for holding Ukrainian detainees. Abandoned by the military, the fort fell into disrepair. In the 1930s, under the leadership of Ronald L. Way, restorations took place as part of a government work program during the Great Depression. "Old Fort Henry" became a living museum with the introduction of the Fort Henry Guard, and was opened on August 1, 1938. During the Second World War, the fort served as a prisoner-of-war camp for German Luftwaffe and Kriegsmarine personnel.
!!''Fort Henry today''
Today, the fort is a major tourist attraction in the Kingston area. Costumed military interpreters, known as the Fort Henry Guard, staff the fort conducting demonstrations of British military life and tours for visitors. There are also self-guided tours. Throughout the day there are various activities including historical reenactments of drills and battle tactics, the Garrison Parade, the Victorian School Room, and the Muster Parade, where young visitors are dressed in period uniforms and taught to march by a qualified member of the Guard. There is also a Sunset Ceremony every Wednesday in July and August, where a full program of historic drill, music and artillery is presented.
Fort Henry has been designated as a National Historic Site of Canada, and in 2007 was included in the designation of the Rideau Canal as a UNESCO World Heritage Site. One can also view from Cartwright Point (the location of the Cathcart Tower).
<<tiddler AuthorInfo>>
{{center{
[img[KEDCO supports the Gala night at the 38th International Congress on Electrocardiology|resources/logo_kedco_dinner.jpg][http://www.kingstoncanada.com/]]
}}}
{{imgSto{
{{floatright{
[img[resources/DRUMS_NEW_04_photo_courtesy_of_Fort_Henry_NHS.jpg]]
}}}
}}}
!Fort Henry – Gala Dinner ICE 2011 – June 10^^th^^, 2011
''(Included with your registration fee)''
''Guests (per person): CAD $100 Children 12 years/old or less: FREE
Please book it at your arrival (Ms Orser)''
''6:30'' Arrival: Reception: host bar service / LOWER FORT
''7:30'' Call to dinner: Banquet / host wine service
''9:30'' Fireworks finale
the Gala Dinner will be served at Fort Henry [[http://www.foodandheritage.com|http://www.foodandheritage.com]]
<<tiddler [[Fort Henry]]>>
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
<html>
<div id="composite" align="center" >
<table>
<tr>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_1_1.jpg"/>
</div>
</td>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_1_2.jpg"/>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Javier Garcia Niebla (Spain), Dr Femenia (Argentina), Dr Peralta (USA)
</div>
</td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Drs. Hiraoka (Japan), Van Oosterom (Netherlands), Di Ambroggi (Italy), Macfarlane (UK)
</div>
</td>
</tr>
<tr>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_1_3.jpg"/>
</div>
</td>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_1_4.jpg"/>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Dr. Baranchuk (Canada) Chair, 38th International Congress on electrocardiology
</div>
</td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Drs. Van Oosterom (Netherlands), Guzik (Poland), Piskorski (Poland), Vereckei (Hungary) and Abdollah-at the Podium (Canada)
</div>
</td>
</tr>
<tr>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_2_1.jpg"/>
</div>
</td>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_2_2.jpg"/>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
A break for lunch: Dres Carson (Taiwan), Sobieszczanska (Poland), Ildarova (Russia)
</div>
</td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Dr Baranchuk and a group of Queen’s Med Students
</div>
</td>
</tr>
<tr>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_2_3.jpg"/>
</div>
</td>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_2_4.jpg"/>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Dr. McIntyre (Canada)
</div>
</td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Dr. Awan (Canada)
</div>
</td>
</tr>
<tr>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_3_1.jpg"/>
</div>
</td>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_3_2.jpg"/>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Dr. Ribeiro (Brazil)
</div>
</td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Dr. Dorosktar (USA)
</div>
</td>
</tr>
<tr>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_3_3.jpg"/>
</div>
</td>
<td style="border:hidden">
<div id="composite" align="center" >
<img src="resources/gallery/gallery_3_4.jpg"/>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
Drs. Liebman (USA), Madias (USA) and Barbagelata (USA)
</div>
</td>
<td style="border:hidden;font-weight:bold;font-size:14px; font-style:italic;">
<div id="composite" align="center" >
In the bus, going to Fort Henry
</div>
</td>
</tr>
</table>
</div>
</html>
/***
|Name|ImagePathPlugin|
|Source|http://www.TiddlyTools.com/#ImagePathPlugin|
|Version|0.7.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin
|Description|Tell TiddlyWiki where to look for image files. Permits multiple 'fallback' locations|
|Status|ALPHA - initial development/testing only - may be unstable - do not distribute|
!!!!!Usage
<<<
This plugin adds "resolvePath()" fallback processing to the {{{[img[...]]}}} formatter's handler, so that local image file references can be successfully resolved, even if the files cannot be located on the local filesystem.
The plugin tries alternative file "paths" that are listed, one per line, in an optional tiddler, [[ImagePathList]]. Each path in the list is combined with the image filename, which is then checked for existence, until the file is located. If no alternative is found, or [[ImagePathList]] is not present, then a 'last-ditch' fallback is attempted using the remote system and path specified in [[SiteUrl]] (if present).
If no fallback attempt is successful (i.e., because no [[ImagePathList]] OR [[SiteUrl]] tiddlers have been defined), the plugin simply passes the original image file value along for default handling by the browser without any "path resolution" being applied.(i.e, the current TW core behavior occurs).
| ''Important note: This plugin may cause one or more security alert messages to appear, because it uses browser-specific functions that can require security permission in order to access the local filesystem to check for the existence of a given image file. If you block local access, the 'last-ditch' fallback using the remote [[SiteUrl]] (if present) will be attempted.'' |
Note: the image formatter code contained here also includes support for AttachFilePlugin extensions (if installed). AttachFilePlugin includes its own fallback mechanism for handling embedded vs. local file vs. remote URL references to the attached binary file. Both methods may be used: ImagePathPlugin provides fallback for images contained in tiddler content, while AttachFilePlugin works well for access to non-image binary files (or images used in CSS as backgrounds, textures, etc.)
<<<
!!!!!Examples
<<<
coming soon...
<<<
!!!!!Revisions
<<<
''2007.04.13 [0.7.1]'' in testFile(), convert any file:// references to local native format before checking for existence.
''2007.03.26 [0.7.0]'' for IE, use onError handling to trigger call to resolvePath() so it will only be invoked if the original path/file is not found by the browser-native lookup. This avoids an unneeded call to fileExists() and the accompanying ActiveX security alert message box (as well as being slightly more efficient...)
''2007.03.25 [0.6.0]'' code cleanup (moved global functions into config.formatterHelpers) plus documentation re-write
''2007.03.24 [0.5.0]'' initial implementation - ALPHA - do not distribute
<<<
!!!!!Code
***/
//{{{
version.extensions.ImagePathPlugin= {major: 0, minor: 7, revision: 1, date: new Date(2007,4,13)};
//}}}
//{{{
// name of path definition tiddler
if (config.options.txtPathTiddler==undefined) config.options.txtPathTiddler="ImagePathList";
//}}}
//{{{
// low-level wrapper for platform-specific tests for local file existence
// returns true/false without visible error display
// Uses Components for FF and ActiveX FSO object for MSIE
// NOTE: this can cause a security warning on some browsers
config.formatterHelpers.fileExists=function(theFile) {
var found=false;
// DEBUG: alert('testing fileExists('+theFile+')...');
if(window.Components) {
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
catch(e) { return false; } // security access denied
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
try { file.initWithPath(theFile); }
catch(e) { return false; } // invalid directory
found = file.exists();
}
else { // use ActiveX FSO object for MSIE
var fso = new ActiveXObject("Scripting.FileSystemObject");
found = fso.FileExists(theFile)
}
// DEBUG: alert(theFile+" "+(found?"exists":"not found"));
return found;
}
//}}}
//{{{
// higher-level logic for checking local file existence.
// with secondary check for finding relative file references
// and automatic OK of http-based references without checking local filesystem
config.formatterHelpers.testFile=function(theFile) {
if (document.location.protocol!="file:") return true; // viewing remote document, can't test local filesystem... assume OK
if (theFile.substr(0,5)=="http:") return true; // remote HTTP reference... assume OK
if (theFile.substr(0,5)=="file:") theFile=getLocalPath(theFile); // convert local FILE reference to native format
if (this.fileExists(theFile)) return true; // file exists locally... OK to use!
// file might have been relative, add path from current document and try again
var docPath=document.location.href;
var slashpos=docPath.lastIndexOf("/"); if (slashpos==-1) slashpos=docPath.lastIndexOf("\\");
if (slashpos!=-1 && slashpos!=docPath.length-1) docPath=docPath.substr(0,slashpos+1); // trim off filename
if (this.fileExists(getLocalPath(docPath+theFile)))
return true; // ah ha!... file exists relative to current document... OK to use!
return false; // file not found on local system
}
//}}}
//{{{
// given a path/file string, check for existence and
// try alternatives (if any) defined in a tiddler
// with last-ditch using system/path from SiteUrl (if any)
config.formatterHelpers.resolvePath=function(theFile,testoriginal) {
if (testoriginal && this.testFile(theFile)) return theFile; // FOUND FILE - use specified path/file without modification
// get the filename portion only
var slashpos=theFile.lastIndexOf("/"); if (slashpos==-1) slashpos=theFile.lastIndexOf("\\");
var theName=(slashpos==-1)?theFile:theFile.substr(slashpos+1);
// get list of fallbacks (if any)
var pathText=store.getTiddlerText(config.options.txtPathTiddler);
if (pathText && pathText.length) {
var paths=pathText.split("\n");
for (p=0; p<paths.length; p++) // combine path+filename until one works...
if (this.testFile(paths[p]+theName))
return paths[p]+theName; // FOUND FILE - use alternative path+filename
}
// try "last ditch" fallback using SiteURL - assumes that original path/file was relative to document location
var siteURL=store.getTiddlerText("SiteUrl");
if (!siteURL||!siteURL.length) return theFile; // NO FALLBACK - use original path/file and hope for the best
// trim filename (if any) from site URL
var slashpos=siteURL.lastIndexOf("/"); if (slashpos==-1) slashpos=siteURL.lastIndexOf("\\");
if (slashpos!=-1 && slashpos!=siteURL.length-1) siteURL=siteURL.substr(0,slashpos+1);
return siteURL+theFile; // LAST DITCH: use system/path from SiteUrl combined with original file/path
}
//}}}
//{{{
// replace standard handler for image formatter
// adds call to resolvePath() to handle fallback processing
// includes support for AttachFilePlugin as well
config.formatters[config.formatters.findByField("name","image")].handler=function(w) {
if (!this.lookaheadRegExp) // fixup for TW2.0.x
this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
// Simple bracketted link
var e = w.output;
if(lookaheadMatch[5]) {
var link = lookaheadMatch[5];
if (!config.formatterHelpers.isExternalLink) // fixup for TW2.0.x
var external=!store.tiddlerExists(link)&&!store.isShadowTiddler(link);
else
var external=config.formatterHelpers.isExternalLink(link);
if (external) {
if (config.macros.attach && config.macros.attach.isAttachment(link)) { // ELS - attachments
e = createExternalLink(w.output,link);
e.href=config.macros.attach.getAttachment(link);
e.title = config.macros.attach.linkTooltip + link;
} else
e = createExternalLink(w.output,link);
} else
e = createTiddlyLink(w.output,link,false,null,w.isStatic);
addClass(e,"imageLink");
}
var img = createTiddlyElement(e,"img");
if(lookaheadMatch[1])
img.align = "left";
else if(lookaheadMatch[2])
img.align = "right";
if(lookaheadMatch[3])
img.title = lookaheadMatch[3];
if (config.macros.attach!=undefined && config.macros.attach.isAttachment(lookaheadMatch[4])) // ELS - attachments
img.src=config.macros.attach.getAttachment(lookaheadMatch[4]);
else {
if (config.browser.isIE || config.browser.isSafari) { // ELS - path processing
// IE and Safari use browser's onError handling to check the original file...
// avoids extra security alert messages due to use of Components/ActiveX for filesystem access
img.onerror=(function(){this.src=config.formatterHelpers.resolvePath(this.src,false);return false;});
img.src=lookaheadMatch[4]; // ELS - path processing
} else {
// if NOT IE or Safari, always check the original path/file before rendering
img.src=config.formatterHelpers.resolvePath(lookaheadMatch[4],true);
}
}
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
//}}}
/***
|Name|ImageSizePlugin|
|Source|http://www.TiddlyTools.com/#ImageSizePlugin|
|Version|1.2.2|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|adds support for resizing images|
This plugin adds optional syntax to scale an image to a specified width and height and/or interactively resize the image with the mouse.
!!!!!Usage
<<<
The extended image syntax is:
{{{
[img(w+,h+)[...][...]]
}}}
where ''(w,h)'' indicates the desired width and height (in CSS units, e.g., px, em, cm, in, or %). Use ''auto'' (or a blank value) for either dimension to scale that dimension proportionally (i.e., maintain the aspect ratio). You can also calculate a CSS value 'on-the-fly' by using a //javascript expression// enclosed between """{{""" and """}}""". Appending a plus sign (+) to a dimension enables interactive resizing in that dimension (by dragging the mouse inside the image). Use ~SHIFT-click to show the full-sized (un-scaled) image. Use ~CTRL-click to restore the starting size (either scaled or full-sized).
<<<
!!!!!Examples
<<<
{{{
[img(100px+,75px+)[images/meow2.jpg]]
}}}
[img(100px+,75px+)[images/meow2.jpg]]
{{{
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img( 1%+,+)[images/meow.gif]]
}}}
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img( 1%+,+)[images/meow.gif]]
{{tagClear{
}}}
<<<
!!!!!Revisions
<<<
2010.07.24 [1.2.2] moved tip/dragtip text to config.formatterHelpers.imageSize object to enable customization
2009.02.24 [1.2.1] cleanup width/height regexp, use '+' suffix for resizing
2009.02.22 [1.2.0] added stretchable images
2008.01.19 [1.1.0] added evaluated width/height values
2008.01.18 [1.0.1] regexp for "(width,height)" now passes all CSS values to browser for validation
2008.01.17 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.ImageSizePlugin= {major: 1, minor: 2, revision: 2, date: new Date(2010,7,24)};
//}}}
//{{{
var f=config.formatters[config.formatters.findByField("name","image")];
f.match="\\[[<>]?[Ii][Mm][Gg](?:\\([^,]*,[^\\)]*\\))?\\[";
f.lookaheadRegExp=/\[([<]?)(>?)[Ii][Mm][Gg](?:\(([^,]*),([^\)]*)\))?\[(?:([^\|\]]+)\|)?([^\[\]\|]+)\](?:\[([^\]]*)\])?\]/mg;
f.handler=function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var floatLeft=lookaheadMatch[1];
var floatRight=lookaheadMatch[2];
var width=lookaheadMatch[3];
var height=lookaheadMatch[4];
var tooltip=lookaheadMatch[5];
var src=lookaheadMatch[6];
var link=lookaheadMatch[7];
// Simple bracketted link
var e = w.output;
if(link) { // LINKED IMAGE
if (config.formatterHelpers.isExternalLink(link)) {
if (config.macros.attach && config.macros.attach.isAttachment(link)) {
// see [[AttachFilePluginFormatters]]
e = createExternalLink(w.output,link);
e.href=config.macros.attach.getAttachment(link);
e.title = config.macros.attach.linkTooltip + link;
} else
e = createExternalLink(w.output,link);
} else
e = createTiddlyLink(w.output,link,false,null,w.isStatic);
addClass(e,"imageLink");
}
var img = createTiddlyElement(e,"img");
if(floatLeft) img.align="left"; else if(floatRight) img.align="right";
if(width||height) {
var x=width.trim(); var y=height.trim();
var stretchW=(x.substr(x.length-1,1)=='+'); if (stretchW) x=x.substr(0,x.length-1);
var stretchH=(y.substr(y.length-1,1)=='+'); if (stretchH) y=y.substr(0,y.length-1);
if (x.substr(0,2)=="{{")
{ try{x=eval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} }
if (y.substr(0,2)=="{{")
{ try{y=eval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} }
img.style.width=x.trim(); img.style.height=y.trim();
config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH);
}
if(tooltip) img.title = tooltip;
// GET IMAGE SOURCE
if (config.macros.attach && config.macros.attach.isAttachment(src))
src=config.macros.attach.getAttachment(src); // see [[AttachFilePluginFormatters]]
else if (config.formatterHelpers.resolvePath) { // see [[ImagePathPlugin]]
if (config.browser.isIE || config.browser.isSafari) {
img.onerror=(function(){
this.src=config.formatterHelpers.resolvePath(this.src,false);
return false;
});
} else
src=config.formatterHelpers.resolvePath(src,true);
}
img.src=src;
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
config.formatterHelpers.imageSize={
tip: 'SHIFT-CLICK=show full size, CTRL-CLICK=restore initial size',
dragtip: 'DRAG=stretch/shrink, '
}
config.formatterHelpers.addStretchHandlers=function(e,stretchW,stretchH) {
e.title=((stretchW||stretchH)?this.imageSize.dragtip:'')+this.imageSize.tip;
e.statusMsg='width=%0, height=%1';
e.style.cursor='move';
e.originalW=e.style.width;
e.originalH=e.style.height;
e.minW=Math.max(e.offsetWidth/20,10);
e.minH=Math.max(e.offsetHeight/20,10);
e.stretchW=stretchW;
e.stretchH=stretchH;
e.onmousedown=function(ev) { var ev=ev||window.event;
this.sizing=true;
this.startX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
this.startY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
this.startW=this.offsetWidth;
this.startH=this.offsetHeight;
return false;
};
e.onmousemove=function(ev) { var ev=ev||window.event;
if (this.sizing) {
var s=this.style;
var currX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
var currY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
var newW=(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW;
var newH=(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH;
if (this.stretchW) s.width =Math.floor(Math.max(newW,this.minW))+'px';
if (this.stretchH) s.height=Math.floor(Math.max(newH,this.minH))+'px';
clearMessage(); displayMessage(this.statusMsg.format([s.width,s.height]));
}
return false;
};
e.onmouseup=function(ev) { var ev=ev||window.event;
if (ev.shiftKey) { this.style.width=this.style.height=''; }
if (ev.ctrlKey) { this.style.width=this.originalW; this.style.height=this.originalH; }
this.sizing=false;
clearMessage();
return false;
};
e.onmouseout=function(ev) { var ev=ev||window.event;
this.sizing=false;
clearMessage();
return false;
};
}
//}}}
<<tiddler StyleSheetShortcuts>>
{{floatright{
[img[resources/dates.jpg]]
}}}
!ABSTRACTS
__Online abstract registration opens: January 2011__
''Abstract deadline: February 28th, 2011''
Notification of abstracts acceptance: March 15th, 2011
!REGISTRATION
__Registration opens: December 2010__
Early registration: until April 1, 2011
Late registration: from April 2, 2011
To Register:
Please contact Ms Faye Orser
By email at: orserf@KGH.KARI.NET
By Phone at:
By Fax at:
By mail at:
<<tiddler AuthorInfo>>
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.6|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Documentation
>see [[InlineJavascriptPluginInfo]]
!!!!!Revisions
<<<
2010.12.15 1.9.6 allow (but ignore) type="..." syntax
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 1.0.0 initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 6, date: new Date(2010,12,15)};
config.formatters.push( {
name: "inlineJavascript",
match: "\\<script",
lookahead: "\\<script(?: type=\\\"[^\\\"]*\\\")?(?: src=\\\"([^\\\"]*)\\\")?(?: label=\\\"([^\\\"]*)\\\")?(?: title=\\\"([^\\\"]*)\\\")?(?: key=\\\"([^\\\"]*)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",
handler: function(w) {
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var src=lookaheadMatch[1];
var label=lookaheadMatch[2];
var tip=lookaheadMatch[3];
var key=lookaheadMatch[4];
var show=lookaheadMatch[5];
var code=lookaheadMatch[6];
if (src) { // external script library
var script = document.createElement("script"); script.src = src;
document.body.appendChild(script); document.body.removeChild(script);
}
if (code) { // inline code
if (show) // display source in tiddler
wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
if (label) { // create 'onclick' command link
var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
link.tiddler=w.tiddler;
link.onclick=function(){
this.bufferedHTML="";
try{ var r=eval(this.code);
if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
if(this.bufferedHTML.length)
s.innerHTML=this.bufferedHTML;
if((typeof(r)==="string")&&r.length) {
wikify(r,s,null,this.tiddler);
return false;
} else return r!==undefined?r:false;
} catch(e){alert(e.description||e.toString());return false;}
};
link.setAttribute("title",tip||"");
var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
link.setAttribute("href",URIcode);
link.style.cursor="pointer";
if (key) link.accessKey=key.substr(0,1); // single character only
}
else { // run script immediately
var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
try { var out=eval(c); }
catch(e) { out=e.description?e.description:e.toString(); }
if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
}
}
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
}
} )
//}}}
// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
if(limit > 0) text = text.substr(0,limit);
var wikifier = new Wikifier(text,formatter,null,tiddler);
return wikifier.wikifyPlain();
}
//}}}
// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
//{{{
if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
//}}}
{{floatright{
[img[resources/key_topics2.jpg]]
}}}
{{keyTopicsFormat{
Arrhythmia Genesis<br>
Antiarrhythmic Drugs: New developments<br>
Basic Electrophysiology<br>
Blood Pressure Variability<br>
Body Surface Potential Mapping<br>
Brugada Syndrome<br>
Cardiac Imaging and ECG<br>
Cardiac Impedance<br>
Cardiac Pacing: New modalities<br>
Cardiac Variability Signal Analysis<br>
Computational Cardiac Models<br>
ECG in Acute Coronary Syndrome<br>
Exercise ECG Testing<br>
Heart Computer Modeling<br>
Heart Rate Variability<br>
Holter Monitoring<br>
Implantable Cardioverter/ Defibrillator<br>
Inherited arrhythmias<br>
Ion Channels<br>
Inherited Arrhythmias<br>
Long QT Syndrome<br>
Magnetocardiography<br>
Multimodal Modeling and Simulation<br>
Nanocardiology<br>
Noninvasive Risk Stratification<br>
Prevention of Cardiovascular Disease<br>
QT Dynamics<br>
Radiofrequency Ablation for Arrhythmias<br>
Resynchronization Therapy<br>
"""Signal-Averaged""" ECG<br>
Sleep Apnea Syndrome<br>
Sudden Cardiac Death<br>
T Wave Alternans and Variability<br>
Telemedicine<br>
Treatment of Arrhythmias<br>
Vectorcardiography
}}}
<<tiddler AuthorInfo>>
[img[./resources/logo_ishne.jpg][http://www.ishne.org]]
[img[./resources/logo_ria.jpg][http://www.ria-online.com/]]
[img[./resources/logo_rhytm_society.jpg][http://www.chrsonline.ca]]
<html>
<table>
<tr>
<td style="border:hidden;"><a href="http://www.electrocardiology.org/"><img src="resources/logo_ise_v2.jpg"/></a></td>
<td style="border:hidden;"><a href="http://www.queensu.ca/"><img src="resources/logo_lund_v2.jpg"/></a></td>
</tr>
</table>
</html>
<html>
<a href="http://www.queensu.ca"><img alt="http://www.queensu.ca" src="resources/logo_lund.jpg"/></a>
</html>
[[Start]]
[[Published abstracts can be found here|./resources/docs/Abstracts 38th ICE.pdf]]
[[Welcoming letter]]
[[Organizing Committee]]
[[Faculty (Confirmed)]]
[[Key Topics]]
[[Final Program]]
[[Important Dates]]
[[Fees and Registration]]
[[Abstract submission]]
[[YIA Competition]]
[[Awards Results]]
[[Venue]]
[[Transportation]]
[[Accommodation]]
[[Gala Dinner]]
[[Kingston|http://tourism.kingstoncanada.com/en/]]
[[Sponsors]]
[[Links]]
[[ICE 2011 Photo Gallery]]
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21311354-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
Now where we are going About [[my job]]
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser
Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])
<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]
----
Also see [[AdvancedOptions]]
!!!Adrian Baranchuk MD FACC, Chair
!!!Damian P. Redfearn """MBChB, co-Chair"""
!!!Christopher S. Simpson MD FACC FRCP, """co-Chair"""
!!!Hoshiar Abdollah """MBChB"""
!!!Kevin A. Michael """MBChB"""
!!!Michael Baird MD FRCP
!!!Przemyslaw Guzik MD """PhD"""
!!!Jaroslaw Piskorski """PhD"""
<<tiddler AuthorInfo>>
<!--{{{-->
<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' 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>
<!--}}}-->
<<formTiddler NewPluginTemplate>><data>{"description":"Create a prompt for masked password inputs. Contributors: Lewcid, BidiX, Loic.","category":"Security","twversion":"2.1","format":"Plugin","author":"FND","link":"http://devpad.tiddlyspot.com"}</data>
/***
|Name|PopupPreviewPlugin|
|Source|http://www.TiddlyTools.com/#PopupPreviewPlugin|
|Version|1.1.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Requires|StickyPopupPlugin (optional, recommended)|
|Description|popup a formatted preview of a linked tiddler's content|
This plugin adds a custom 'shift-click' or mouseover handler to all tiddler links (or images with tiddler links) to display a popup with a fully-formatted preview of the linked tiddler's content.
!!!!!Usage
<<<
When you click the mouse on a preview-enhanced tiddler link while holding the SHIFT key, a popup will be displayed, containing the fully-formatted content of the linked tiddler, in a restricted size, scrolling area. Note that, while you can //scroll// this preview display to //view// its contents, clicking anywhere (even within the preview popup) will automatically dismiss the popup display, making interaction with the preview content impossible. To actually interact with the content of a tiddler, you should open it in the normal fashion (i.e, by clicking the tiddler link //without// holding the SHIFT key).
<<<
!!!!!Configuration
<<<
<<option chkPopupPreviews>> enable popup previews (shift-click)
{{{usage: <<option chkPopupPreviews>>}}}
<<option chkPopupPreviewMouseover>> show previews on mouseover (no click needed)
{{{usage: <<option chkPopupPreviewMouseover>>}}}
width of popup: <<option txtPopupPreviewWidth>> height of popup: <<option txtPopupPreviewHeight>>
//(width and height may be specified using any valid CSS units, e.g., "px", "em", "in", "cm", "%")//
{{{usage: <<option txtPopupPreviewWidth>> <<option txtPopupPreviewHeight>>}}}
<<<
!!!!!Revisions
<<<
2009.09.22 [1.1.0] added chkPopupPreviewMouseover option
2007.11.19 [1.0.0] fixed handling for imageLinks ('tiddlylink' attrib is on the *parentNode* of target image element)
2007.11.10 [0.5.0] alpha development - use with care
<<<
!!!!!Code
***/
//{{{
version.extensions.PopupPreviewPlugin= {major: 1, minor: 1, revision: 0, date: new Date(2009,9,22)};
var co=config.options; // abbrev
if (co.chkPopupPreviews===undefined) co.chkPopupPreviews=true;
if (co.txtPopupPreviewWidth==undefined) co.txtPopupPreviewWidth="50%";
if (co.txtPopupPreviewHeight==undefined) co.txtPopupPreviewHeight="10em";
if (co.chkPopupPreviewMouseover===undefined) co.txtPopupPreviewHeight=false;
if (window.popupPreview_createTiddlyLink===undefined) { // only once
window.popupPreview_createTiddlyLink=window.createTiddlyLink;
window.createTiddlyLink=function()
{
var btn=this.popupPreview_createTiddlyLink.apply(this,arguments);
var handler=config.options.chkPopupPreviewMouseover?'onmouseover':'onclick';
btn.savedHandler=btn[handler];
btn[handler]=function(e) {
var co=config.options; // abbrev
if (!e) var e=window.event; var theTarget=resolveTarget(e);
if (!e.shiftKey&&!co.chkPopupPreviewMouseover || !co.chkPopupPreviews)
return this.savedHandler?this.savedHandler.apply(this,arguments):false;
else { // show tiddler preview if enabled and SHIFT is pressed
var tid=theTarget.getAttribute("tiddlylink");
if (!tid) tid=theTarget.parentNode.getAttribute("tiddlylink"); // for "imageLink"
var text=store.getTiddlerText(tid);
if (text && text.length) {
var popup = Popup.create(this,null,"sticky popup");
popup.style.width=co.txtPopupPreviewWidth;
popup.style.padding=".5em";
var msg="%0 %1".format([tid,config.views.wikified.shadowModifier]);
var tiddler=store.getTiddler(tid); if (tiddler) msg=tiddler.getSubtitle();
wikify("@@display:block;font-size:80%;line-height:110%;"+msg+"@@",popup);
var div=createTiddlyElement(popup,"DIV",null,"popupPreview viewer");
div.style.overflow="auto";
div.style.whiteSpace="normal";
div.style[config.browser.isIE?'height':'maxHeight']=co.txtPopupPreviewHeight;
wikify(text,div);
Popup.show('bottom','left');
}
e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); return false;
}
}
return btn;
}
}
//}}}
/%
!info
|Name|ShowPopup|
|Source|http://www.TiddlyTools.com/#ShowPopup|
|Version|1.2.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|display tiddler content in a TiddlyWiki popup panel|
Usage:
<<<
{{{
<<tiddler ShowPopup with: TiddlerName label tooltip buttonClass width popupClass>>
}}}
where:
*''~TiddlerName''<br>title of the tiddler to be displayed
*''label''<br>text for the command link
*''tooltip''<br>mouseover help text for the link
*''buttonClass''<br>CSS classname applied to the command text (default=button)
*''width''<br>width of the popup (using CSS measurements, default=auto)
*''popupClass''<br>CSS classname applied to the popup panel (default=none).<br>Use 'sticky' for persistent popups (see StickyPopupPlugin)
<<<
Example:
<<<
{{{
<<tiddler ShowPopup with: ShowPopup [[Try this]] [[show this tiddler in a popup]]>>
}}}
<<tiddler ShowPopup with: ShowPopup [[Try this]] [[show this tiddler in a popup]]>>
<<<
!end
!show
<html><hide linebreaks>
<a href="javascript:;" class="$4" title="$3" onclick="
var p=Popup.create(this); if(!p)return;
p.className+='$6'!='$'+'6'?' $6':'';
var d=createTiddlyElement(p,'div');
var s=d.style;
s.whiteSpace='normal';
s.width='$5'!='$'+'5'?'$5':'auto';
s.padding='2px';
wikify(store.getTiddlerText('$1',''),d);
Popup.show();
event.cancelBubble=true;
if(event.stopPropagation)event.stopPropagation();
return(false);
">$2</a></html>
!end
%/<<tiddler {{'ShowPopup##'+('$1'=='$'+'1'?'info':'show')}} with: [[$1]] [[$2]] [[$3]] [[$4]] [[$5]] [[$6]]>>
/***
|Name|SinglePageModePlugin|
|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|
|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|
|Version|2.9.7|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|
This plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.
!!!!!Documentation
>see [[SinglePageModePluginInfo]]
!!!!!Configuration
<<<
<<option chkSinglePageMode>> Display one tiddler at a time
><<option chkSinglePagePermalink>> Automatically permalink current tiddler
><<option chkSinglePageKeepFoldedTiddlers>> Don't close tiddlers that are folded
><<option chkSinglePageKeepEditedTiddlers>> Don't close tiddlers that are being edited
<<option chkTopOfPageMode>> Open tiddlers at the top of the page
<<option chkBottomOfPageMode>> Open tiddlers at the bottom of the page
<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)
Notes:
* The "display one tiddler at a time" option can also be //temporarily// set/reset by including a 'paramifier' in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}.
* If more than one display mode is selected, 'one at a time' display takes precedence over both 'top' and 'bottom' settings, and if 'one at a time' setting is not used, 'top of page' takes precedence over 'bottom of page'.
* When using Apple's Safari browser, automatically setting the permalink causes an error and is disabled.
<<<
!!!!!Revisions
<<<
2010.11.30 2.9.7 use story.getTiddler()
2008.10.17 2.9.6 changed chkSinglePageAutoScroll default to false
| Please see [[SinglePageModePluginInfo]] for previous revision details |
2005.08.15 1.0.0 Initial Release. Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.
<<<
!!!!!Code
***/
//{{{
version.extensions.SinglePageModePlugin= {major: 2, minor: 9, revision: 7, date: new Date(2010,11,30)};
//}}}
//{{{
config.paramifiers.SPM = { onstart: function(v) {
config.options.chkSinglePageMode=eval(v);
if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) {
config.lastURL = window.location.hash;
if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
}
} };
//}}}
//{{{
if (config.options.chkSinglePageMode==undefined)
config.options.chkSinglePageMode=false;
if (config.options.chkSinglePagePermalink==undefined)
config.options.chkSinglePagePermalink=true;
if (config.options.chkSinglePageKeepFoldedTiddlers==undefined)
config.options.chkSinglePageKeepFoldedTiddlers=false;
if (config.options.chkSinglePageKeepEditedTiddlers==undefined)
config.options.chkSinglePageKeepEditedTiddlers=false;
if (config.options.chkTopOfPageMode==undefined)
config.options.chkTopOfPageMode=false;
if (config.options.chkBottomOfPageMode==undefined)
config.options.chkBottomOfPageMode=false;
if (config.options.chkSinglePageAutoScroll==undefined)
config.options.chkSinglePageAutoScroll=false;
//}}}
//{{{
config.SPMTimer = 0;
config.lastURL = window.location.hash;
function checkLastURL()
{
if (!config.options.chkSinglePageMode)
{ window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }
if (config.lastURL == window.location.hash) return; // no change in hash
var tids=decodeURIComponent(window.location.hash.substr(1)).readBracketedList();
if (tids.length==1) // permalink (single tiddler in URL)
story.displayTiddler(null,tids[0]);
else { // restore permaview or default view
config.lastURL = window.location.hash;
if (!tids.length) tids=store.getTiddlerText("DefaultTiddlers").readBracketedList();
story.closeAllTiddlers();
story.displayTiddlers(null,tids);
}
}
if (Story.prototype.SPM_coreDisplayTiddler==undefined)
Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler,template,animate,slowly)
{
var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;
var tiddlerElem=story.getTiddler(title); // ==null unless tiddler is already displayed
var opt=config.options;
var single=opt.chkSinglePageMode && !startingUp;
var top=opt.chkTopOfPageMode && !startingUp;
var bottom=opt.chkBottomOfPageMode && !startingUp;
if (single) {
story.forEachTiddler(function(tid,elem) {
// skip current tiddler and, optionally, tiddlers that are folded.
if ( tid==title
|| (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")=="true"))
return;
// if a tiddler is being edited, ask before closing
if (elem.getAttribute("dirty")=="true") {
if (opt.chkSinglePageKeepEditedTiddlers) return;
// if tiddler to be displayed is already shown, then leave active tiddler editor as is
// (occurs when switching between view and edit modes)
if (tiddlerElem) return;
// otherwise, ask for permission
var msg="'"+tid+"' is currently being edited.\n\n";
msg+="Press OK to save and close this tiddler\nor press Cancel to leave it opened";
if (!confirm(msg)) return; else story.saveTiddler(tid);
}
story.closeTiddler(tid);
});
}
else if (top)
arguments[0]=null;
else if (bottom)
arguments[0]="bottom";
if (single && opt.chkSinglePagePermalink && !config.browser.isSafari) {
window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));
config.lastURL = window.location.hash;
document.title = wikifyPlain("SiteTitle") + " - " + title;
if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
}
if (tiddlerElem && tiddlerElem.getAttribute("dirty")=="true") { // editing... move tiddler without re-rendering
var isTopTiddler=(tiddlerElem.previousSibling==null);
if (!isTopTiddler && (single || top))
tiddlerElem.parentNode.insertBefore(tiddlerElem,tiddlerElem.parentNode.firstChild);
else if (bottom)
tiddlerElem.parentNode.insertBefore(tiddlerElem,null);
else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler
} else
this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler
var tiddlerElem=story.getTiddler(title);
if (tiddlerElem&&opt.chkSinglePageAutoScroll) {
// scroll to top of page or top of tiddler
var isTopTiddler=(tiddlerElem.previousSibling==null);
var yPos=isTopTiddler?0:ensureVisible(tiddlerElem);
// if animating, defer scroll until after animation completes
var delay=opt.chkAnimate?config.animDuration+10:0;
setTimeout("window.scrollTo(0,"+yPos+")",delay);
}
}
if (Story.prototype.SPM_coreDisplayTiddlers==undefined)
Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function() {
// suspend single/top/bottom modes when showing multiple tiddlers
var opt=config.options;
var saveSPM=opt.chkSinglePageMode; opt.chkSinglePageMode=false;
var saveTPM=opt.chkTopOfPageMode; opt.chkTopOfPageMode=false;
var saveBPM=opt.chkBottomOfPageMode; opt.chkBottomOfPageMode=false;
this.SPM_coreDisplayTiddlers.apply(this,arguments);
opt.chkBottomOfPageMode=saveBPM;
opt.chkTopOfPageMode=saveTPM;
opt.chkSinglePageMode=saveSPM;
}
//}}}
<script>
// timestamp for generating GUID (globally unique ID)
config.renderTime=new Date().getTime();
</script>/%
%/{{selected{{{toolbar{+++[options|set search options]#sidebarSearchOptions:
Search in:
<<option chkSearchTitles>> titles <<option chkSearchText>> text <<option chkSearchTags>> tags
<<option chkSearchFields>> fields <<option chkSearchShadows>> shadows
{{bordertop smallform nowrap{
<<option chkSearchHighlight>> highlight matches
<<option chkSearchList>> show results in a list
<<option chkSearchTitlesFirst>> show title matches first
<<option chkSearchByDate>> sort by modification date
<<option chkRegExpSearch>> use text patterns (regexp)
<<option chkCaseSensitiveSearch>> case sensitive matches
<<option chkIncrementalSearch>> key-by-key search:{{borderleft{
{{threechar{<<option txtIncrementalSearchMin>>}}} or more characters
{{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay}}}/%
%/<<option chkSearchOpenTiddlers>> search open tiddlers only
<<option chkSearchExcludeTags>> exclude tiddlers tagged with:
{{editor{<<option txtSearchExcludeTags>>}}}/%
%/}}}===
<script>place.lastChild.id+=config.renderTime;</script>/%
%/}}}{{small editor{<<search>>}}}}}}
{{siteSubTitleFontSize{
June 8^^th^^-11^^th^^ 2011, Four Points Hotel by Sheraton, Kingston, Ontario, Canada <<tiddler ToggleRightSidebar with: ".">>
}}}
38^^th^^ International Congress on Electrocardiology
!Gold Sponsors
<html>
<div id="composite" align="center" >
<table style="border:hidden;" border="0">
<tr>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.queensu.ca/"><img src="resources/logo_lund_v2.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.kingstoncanada.com/"><img src="resources/logo_kedco2.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.servier.com/"><img src="resources/logo_servier.jpg"/></a>
</div>
</td>
</tr>
</table>
</div>
</html>
!Silver Sponsors
<html>
<div id="composite" align="center" >
<table style="border:hidden;" border="0">
<tr>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://en.sanofi-aventis.com/"><img src="resources/logo_sanofi.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.biosensewebster.com/"><img src="resources/logo_biosense.jpg"/></a>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;" colspan="2" >
<div id="composite" align="center">
<a href="http://www.astrazeneca.com/Home/"><img src="resources/logo_astra_zeneca.jpg"/></a>
</div>
</td>
</tr>
</table>
</div>
</html>
!Bronze Sponsors
<html>
<div id="composite" align="center" >
<table style="border:hidden;" border="0">
<tr>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.enfermeriaencardiologia.com/index.htm"><img src="resources/logo_seal_eng.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.draeger.com" title="Drager sponsors the YIA competition"><img src="resources/logo_drager.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.sjmprofessional.com/" title="St Jude Medical"><img src="resources/logo_st_jude.jpg"/></a>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.medtronic.com/"><img src="resources/logo_medtronic.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.marlintravel.ca/1225"><img src="resources/logo_marlin.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.biotronik.com"><img src="resources/logo_biotronik.jpg"/></a>
</div>
</td>
<tr>
<td style="border:hidden;" colspan="2">
<div id="composite" align="center" >
<a href="http://www.healthcare.philips.com/main/" title="Phillips sponsors the Abstract Competition"><img src="resources/logo_philips.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.sorin.com/"><img src="resources/logo_sorin.jpg"/></a>
</div>
</td>
</tr>
<tr>
<td style="border:hidden;" colspan="1">
<div id="composite" align="center" >
<a href="http://www.gehealthcare.com"><img src="resources/logo_gehealthcare.jpg"/></a>
</div>
<td style="border:hidden;" colspan="2">
<div id="composite" align="center" >
<a href="http://www.baylismedical.com/"><img src="resources/logo_baylis.jpg"/></a>
</div>
</td>
<td style="border:hidden;" colspan="3">
<div id="composite" align="center" >
<a href="http://www.bayer.com/"><img src="resources/logo_bayer.jpg"/></a>
</div>
</td>
</tr>
</table>
</div>
</html>
<<tiddler AuthorInfo>>
{{center{
![[Published abstracts can be found here|./resources/docs/Abstracts 38th ICE.pdf]]
}}}
<html>
<div id="composite" align="center" >
<table style="border:hidden;" border="0">
<tr>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.electrocardiology.org/"><img src="resources/logo_ise_v2.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://www.queensu.ca/"><img src="resources/logo_lund_v2.jpg"/></a>
</div>
</td>
<td style="border:hidden;">
<div id="composite" align="center" >
<a href="http://meds.queensu.ca/cardiology/section_of_arrhythmia"><img src="resources/logo_queens.jpg"/></a>
</div>
</td>
<tr>
</table>
<br>
<img src="./resources/composite1.jpg" />
</div>
</html>
<br>
{{titleStyleText {
June 8^^th^^ -11^^th^^ 2011, Sheraton Hotel, Kingston, Ontario, Canada, <br>
Heart Rhythm Service, Kingston General Hospital, Queen’s University
}}}
<br>
<html>
<div id="composite" align="center" >
<a href="#[[Welcoming letter]]"><img src="./resources/welcome2.jpg" /></a>
</div>
</html>
<<tiddler AuthorInfo>>
/***
|Name|StickyPopupPlugin|
|Source|http://www.TiddlyTools.com/#StickyPopupPlugin|
|Version|1.0.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|allow mouse interactions inside popups without automatically closing them|
Usually, when a TW popup is displayed, it is automatically closed whenever a click occurs //anywhere// in the document, either //inside// or //outside// the popup itself. This plugin makes popups persistent (a.k.a, "sticky"), allowing you to perform multiple mouse interactions on content //inside// the popup (e.g., entering form fields, opening links, selecting text, etc.), remaining visible until you click //outside// the popup or perform an action that opens another popup (only one popup can be displayed at any given time).
!!!!!Configuration
<<<
You can cause popups to behave in a persistent ("sticky") manner simply by selecting the option checkbox below. The selected popup display behavior will be applied to ALL popups in the document automatically.
><<option chkStickyPopups>> make all popups "sticky"
>{{{usage: <<option chkStickyPopups>>}}}
<<<
!!!!!Usage
<<<
If you are developing your own plugins or inline scripts that create popups programmatically using the core function:
{{{
Popup.create(this)
}}}
you can provide additional parameters that specify the desired CSS classname(s) to assign to the popup DOM element. The default class when none is specified is simply "popup". To create a //sticky// popup, simply enter a custom class combination like this:
{{{
Popup.create(this,null,"sticky popup")
}}}
<<<
!!!!!Revisions
<<<
2008.05.16 [1.0.1] added try..catch around addEvent/removeEvent calls to avoid error in Opera
2007.11.25 [1.0.0] initial release - moved from [[CoreTweaks]]
<<<
!!!!!Code
***/
//{{{
version.extensions.StickyPopupPlugin= {major: 1, minor: 0, revision: 1, date: new Date(2008,5,16)};
if (config.options.chkStickyPopups==undefined) config.options.chkStickyPopups=false;
Popup.stickyPopup_onDocumentClick = function(ev)
{
// if click is in a sticky popup, ignore it so popup will remain visible
var e = ev ? ev : window.event; var target = resolveTarget(e);
var p=target; while (p) {
if (hasClass(p,"popup") && (hasClass(p,"sticky")||config.options.chkStickyPopups)) break;
else p=p.parentNode;
}
if (!p) // not in sticky popup (or sticky popups disabled)... use normal click handling
Popup.onDocumentClick(ev);
return true;
};
try{removeEvent(document,"click",Popup.onDocumentClick);}catch(e){};
try{addEvent(document,"click",Popup.stickyPopup_onDocumentClick);}catch(e){};
//}}}
.viewer table.borderless,
.viewer table.borderless * {
border: 0;
}
.formStyleText {
font-weight:bold;font-size:20px;
}
.hotelAddressFontStyle {
font-weight:bold;font-size:13px;
}
.infoFontStyle {
font-weight:bold;font-size:15px;
}
.imgSto {
width:100%;
}
.welcomingLetterLink {
font-weight:bold;font-size:15px;
}
.siteTitleTextStyle {
font-weight:bold;font-size:25px;
}
.siteSubtitleTextStyle {
font-size:18px;
}
p { border-bottom: 1px solid black;
}
p span {background-color: white;
position: relative;
top: 0.25em;
padding: 0 1em 0 0;
}
.tagged {
display:none
}
.tagging {
display:none
}
.no-border1 {
border: none;
}
.justifycenter {
text-align: center;
}
.justifyright {
text-align: right;
}
.welcomeLetterFontSize {
font-size:13px;
}
.siteTitle {
height:10px;
}
.headerShadow {
position:relative; padding:1.5em 0 1em 1em; left:-1px; top:-1px;
}
.headerForeground {
position:absolute; padding:1.5em 0 1em 1em; left:0px; top:0px;
}
.siteSubTitleFontSize {
font-size:20px;
}
.centeredImage {
display: table-cell;
text-align:center;
margin-top:0px;
margin-bottom:0px;
padding:0px;
}
.titleStyleText {
font-weight:bold;font-size:18px; text-align:center;
}
.floatright {
float: right;
}
.subtitle {
display:none
}
.keyTopicsFormat {
font-weight:bold;font-size:15px; line-height: 0.8;
}
.imagecenter {
display:block;text-align:center;
}
/* text alignments */
.left
{ display:block;text-align:left; }
.center
{ display:block;text-align:center; }
.center table
{ margin:auto !important; }
.right
{ display:block;text-align:right; }
.justify
{ display:block;text-align:justify; }
.indent
{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
{ float:left; }
.floatright
{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
{ vertical-align:bottom; }
.clear
{ clear:both; }
.wrap
{ white-space:normal; }
.nowrap
{ white-space:nowrap; }
.hidden
{ display:none; }
.show
{ display:inline !important; }
.span
{ display:span; }
.block
{ display:block; }
.relative
{ position:relative; }
.absolute
{ position:absolute; }
/* font sizes */
.big
{ font-size:14pt;line-height:120% }
.medium
{ font-size:12pt;line-height:120% }
.normal
{ font-size:9pt;line-height:120% }
.small
{ font-size:8pt;line-height:120% }
.fine
{ font-size:7pt;line-height:120% }
.tiny
{ font-size:6pt;line-height:120% }
.larger
{ font-size:120%; }
.smaller
{ font-size:80%; }
/* font styles */
.bold
{ font-weight:bold; }
.italic
{ font-style:italic; }
.underline
{ text-decoration:underline; }
/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }
/* vertical tabsets - courtesy of Tobias Beer */
.vTabs .tabset {float:left;display:block;padding:0px;margin-top:.5em;min-width:20%;}
.vTabs .tabset .tab {display:block;text-align:right;padding:2px 3px 2px 7px; margin:0 1px 1px 0;}
.vTabs .tabContents {margin-left:20%;max-width:80%;padding:5px;}
.vTabs .tabContents .tabContents {border:none; background:transparent;}
/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
column-count:4; column-gap:1em; column-width:25%; /* Opera */
}
/* page breaks */
.breakbefore { page-break-before:always; }
.breakafter { page-break-before:always; }
/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */
/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
{ width:100%; }
/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }
/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }
/* grouped content */
.outline
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; }
.menubox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#ffe; color:#000; }
.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox code
{ color:#333 !important; }
.borderleft
{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }
/* scrolled content */
.scrollbars { overflow:auto; }
.height10em { height:10em; }
.height15em { height:15em; }
.height20em { height:20em; }
.height25em { height:25em; }
.height30em { height:30em; }
.height35em { height:35em; }
.height40em { height:40em; }
/* compact form */
.smallform
{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
{ font-size:8pt; }
/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }
/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input { width:1em; }
.twochar input { width:2em; }
.threechar input { width:3em; }
.fourchar input { width:4em; }
.fivechar input { width:5em; }
/* text colors */
.white { color:#fff !important }
.gray { color:#999 !important }
.black { color:#000 !important }
.red { color:#f66 !important }
.green { color:#0c0 !important }
.blue { color:#99f !important }
/* rollover highlighting */
.mouseover
{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
{color:[[ColorPalette::TertiaryLight]] !important;}
.selected .mouseover
{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
{color:[[ColorPalette::PrimaryDark]] !important;}
/* rollover zoom text */
.zoomover
{ font-size:80% !important; }
.selected .zoomover
{ font-size:100% !important; }
/* [[ColorPalette]] text colors */
.Background { color:[[ColorPalette::Background]]; }
.Foreground { color:[[ColorPalette::Foreground]]; }
.PrimaryPale { color:[[ColorPalette::PrimaryPale]]; }
.PrimaryLight { color:[[ColorPalette::PrimaryLight]]; }
.PrimaryMid { color:[[ColorPalette::PrimaryMid]]; }
.PrimaryDark { color:[[ColorPalette::PrimaryDark]]; }
.SecondaryPale { color:[[ColorPalette::SecondaryPale]]; }
.SecondaryLight { color:[[ColorPalette::SecondaryLight]];}
.SecondaryMid { color:[[ColorPalette::SecondaryMid]]; }
.SecondaryDark { color:[[ColorPalette::SecondaryDark]]; }
.TertiaryPale { color:[[ColorPalette::TertiaryPale]]; }
.TertiaryLight { color:[[ColorPalette::TertiaryLight]]; }
.TertiaryMid { color:[[ColorPalette::TertiaryMid]]; }
.TertiaryDark { color:[[ColorPalette::TertiaryDark]]; }
.Error { color:[[ColorPalette::Error]]; }
/* [[ColorPalette]] background colors */
.BGBackground { background-color:[[ColorPalette::Background]]; }
.BGForeground { background-color:[[ColorPalette::Foreground]]; }
.BGPrimaryPale { background-color:[[ColorPalette::PrimaryPale]]; }
.BGPrimaryLight { background-color:[[ColorPalette::PrimaryLight]]; }
.BGPrimaryMid { background-color:[[ColorPalette::PrimaryMid]]; }
.BGPrimaryDark { background-color:[[ColorPalette::PrimaryDark]]; }
.BGSecondaryPale { background-color:[[ColorPalette::SecondaryPale]]; }
.BGSecondaryLight { background-color:[[ColorPalette::SecondaryLight]]; }
.BGSecondaryMid { background-color:[[ColorPalette::SecondaryMid]]; }
.BGSecondaryDark { background-color:[[ColorPalette::SecondaryDark]]; }
.BGTertiaryPale { background-color:[[ColorPalette::TertiaryPale]]; }
.BGTertiaryLight { background-color:[[ColorPalette::TertiaryLight]]; }
.BGTertiaryMid { background-color:[[ColorPalette::TertiaryMid]]; }
.BGTertiaryDark { background-color:[[ColorPalette::TertiaryDark]]; }
.BGError { background-color:[[ColorPalette::Error]]; }
/***
|Name|StyleSheetAdjustments|
|Source|http://www.TiddlyTools.com/#StyleSheetAdjustments|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|CSS|
|Description|adjust TiddlyWiki default shadow stylesheets definitions|
***/
[[StyleSheetPlugins]] /* include adjustments to plugin-supplied definitions */
[[StyleSheetShortcuts]] /* include formatting "shortcut" definitions */
[[Jash.css]] /* Javascript Shell (jash) Styles */
/***
These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
/***
!body /%==================================================%/
IE needs explicit "position:static" declaration (fixes 'partial background display bug')
***/
/*{{{*/
body { font-family: Verdana,Arial,Helvetica; position:static; }
/*}}}*/
/***
!backstage /%==================================================%/
fix for bug #347/#349, wherein backstageCloak covers backstagePanel whenever fixed elements are present
***/
/*{{{*/
#backstageCloak { z-index:49; }
#backstagePanel { margin:0em 0.5em 0em 0.5em; }
#backstageButton a:hover
{background-color:transparent !important;}
/*}}}*/
/***
!common colors /%==================================================%/
***/
/*{{{*/
/* these seem to have been omitted from the core defaults for link styles */
a { color:#014; }
a:hover { color:#def; }
/*}}}*/
/***
!HTML forms /%==================================================%/
***/
/*{{{*/
/* eliminate whitespace before/after form controls */
form { margin:0;padding:0; }
/*}}}*/
/***
!basic styling /%==================================================%/
***/
/*{{{*/
/* reduce whitespace before/after horizontal rule */
hr { margin:2px 0 1px 0;padding:0; }
/*}}}*/
/***
!header and titles /%==================================================%/
IE needs explicit "position:static" declaration (fixes 'background display hides text bug')
***/
/*{{{*/
.header
{ background:transparent; padding:.2em 1em; position:static; margin-bottom:.5em; }
.headerShadow, .headerForeground
{ padding:.5em; }
.header a, .header .button, .header .tiddlyLinkExisting, .header .tiddlyLinkNonExisting
{ font-weight: normal; }
.header .externalLink,
.siteSubtitle a, .siteSubtitle .button, .siteSubtitle .tiddlyLinkExisting, .siteSubtitle .tiddlyLinkNonExisting
{ text-decoration:none; }
.header table
{ border-collapse: collapse !important; }
/*}}}*/
/***
!displayArea /%==================================================%/
***/
/*{{{*/
#displayArea
{ margin:0em 17em 0em 11em; }
/*}}}*/
/***
!popups /%==================================================%/
white-space:nowrap prevents items from wrapping if popup is near right edge of window
z-index:1000 makes sure popup is above EVERYTHING else
***/
/*{{{*/
.popup
{ white-space: nowrap; z-index:1000; color: #000; background: #ffe; border: 1px solid #000;
-moz-border-radius-topright: 5px; -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px;
-webkit-border-top-right-radius: 5px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; }
.popup a, .popup .button, .popup .tiddlyLinkExisting, .popup .tiddlyLinkNonExisting
{ font-weight: normal; font-style: normal; }
.popup hr
{ color: #000; background: #ddd; border: 0; }
.popup li.disabled
{ color: #999; }
.popup li a, .popup li a:visited
{ color: #300; padding:1px; }
.popup li a:hover
{ background: #006; color: #fff !important;}
/*}}}*/
/***
!messageArea /%==================================================%/
***/
/*{{{*/
#messageArea
{ font-size:90%; -moz-border-radius:1em;-webkit-border-radius:1em; background:#eee; }
/*}}}*/
/***
!main menu (left sidebar) /%==================================================%/
***/
/*{{{*/
#mainMenu
{ z-index:1; width:9em; text-align:left; margin:0; margin-left:1.5em; padding:0; clear:both; }
*[id="mainMenu"] /* moz browsers only */
{ width:auto !important; }
/*}}}*/
/***
!sidebar (right sidebar) /%==================================================%/
***/
/*{{{*/
#sidebar
{ width:18em; margin-right:1em; clear:both; }
#sidebarTabs .tab
{ font-size:90%; -moz-border-radius-topleft:.5em; -moz-border-radius-topright:.5em;
-webkit-border-top-left-radius:.5em; -webkit-border-top-right-radius:.5em; }
#sidebarTabs .tabContents
{ background:transparent; border:1px solid #999; padding:.5em; height:auto; overflow:auto; width:92.5%; }
#sidebarTabs .tabContents .tabContents
{ background:transparent; border:1px solid #999; padding:.5em; height:auto; }
#sidebarOptions input[type="text"]
{ font-size:8pt; }
}
*/
/*}}}*/
/***
!tabs /%==================================================%/
***/
/*{{{*/
.tabset
{ padding: 0.2em 0 0 0; }
.tab
{ padding:0 1px 0 1px; }
.viewer .tab
{ padding:0 .5em 0 .5em; }
.tabSelected
{ border: 1px solid; border-bottom: 0px !important; margin-bottom:-2px !important;
-moz-border-radius-topleft:.5em; -moz-border-radius-topright:.5em;
-webkit-border-top-left-radius:.5em; -webkit-border-top-right-radius:.5em;}
.tabUnselected
{ border: 1px solid #999; border-bottom:0px;
-moz-border-radius-topleft:.5em; -moz-border-radius-topright:.5em;
-webkit-border-top-left-radius:.5em; -webkit-border-top-right-radius:.5em;}
.tabContents
{ border: 1px solid; -moz-border-radius:1em;-webkit-border-radius:1em; padding: 1em; }
/*}}}*/
/***
!tiddler display elements /%==================================================%/
***/
/*{{{*/
.tiddler { padding: 0 1em 1em 1em; }
.button, .button:hover, .button:active,
.viewer .button, .viewer .button:hover, .viewer .button:active
{ background:transparent; border:0; }
.toolbar
{ float:right; display:inline; padding-bottom:0; visibility:hidden; }
.selected .toolbar
{ visibility:visible; }
.toolbar .floatingPanel
{ visibility:visible !important; } /* make sure floating panels from toolbars don't disappear on mouseout */
.toolbar .button, .toolbar a
{ border:1px solid transparent; background:transparent; margin:0px 1px; padding:0px .2em; -moz-border-radius:.5em;-webkit-border-radius:.5em; }
.toolbar
{color:[[ColorPalette::TertiaryLight]];}
.toolbar a
{color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar
{color:[[ColorPalette::Foreground]];}
.selected .toolbar, .selected .toolbar .button, .selected .toolbar a
{ color:#006; }
.toolbar .button:hover, .toolbar a:hover
{ border:1px solid #69c !important; background:#006 !important; color:#fff !important; }
.shadow .tagging, .shadow .tagged
{ display:none; }
.tagging, .tagged
{ background-color: #ccc; border: 1px solid; }
.selected .tagging, .selected .tagged
{ background-color:#eee; border: 1px solid #999; }
.tagging, .tagged
{ -moz-border-radius:1em;-webkit-border-radius:1em; }
.subtitle
{ font-size:90%; }
.shadow input, .shadow textarea, .shadow button, .shadow checkbox, .shadow radio, .shadow select
{ font-size:90%; }
.shadow input, .shadow textarea, .shadow button, .shadow checkbox, .shadow radio, .shadow select
{ font-size:90%; }
.editor input
{ font-size: 8pt;}
.editor textarea
{ font-size: 8pt; font-family:monospace; }
.editor select
{ font-size: 8pt; border:1px solid; }
.title
{ font-size: 12pt; line-height:120%; }
.viewer
{ font-size: 9pt; padding: 0.7em; text-align:justify; }
.viewer pre, .viewer code, .viewer blockquote
{ font-size:8pt; text-align:left; }
.viewer pre
{ background:#ffe; border:1px solid; }
.viewer table, .viewer table tr, .viewer table td
{ border:1px solid; }
.viewer hr {
margin: 1px; padding:1px;
border:0;
border-top: solid 1px #666;
color: #666;
}
.viewer blockquote {
line-height: 1.5em;
padding-left: 1em;
margin-left: 1em;
border-left: 1px dotted;
}
/*}}}*/
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
.redText{color: #FF0000;}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
.textindent50 {text-indent:50px;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/***
|Name|StyleSheetPlugins|
|Source|http://www.TiddlyTools.com/#StyleSheetPlugins|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|CSS|
|Description|custom definitions for plugin-specific ID's and classes|
>Important Note: ''this tiddler is highly-customized for the TiddlyTools document'' and you may need to extensively modify, supplement, replace or remove portions of these definitions in order to best fit //YOUR// document needs.
***/
/***
!MoveablePanelPlugin - searchResults
***/
/*{{{*/
.undocked .searchResults {
border:1px solid #abe; -moz-border-radius:1em; -webkit-border-radius:1em;
padding:0em; background:#003; min-width:35em;
}
.undocked .searchResults .title { margin-left:.5em; }
.undocked .searchResults .viewer { -moz-border-radius: 0 0 1em 1em; }
.undocked .searchResults .viewer ul { max-height:20em; overflow:auto; }
.undocked .searchResults .toolbar { margin-top:.3em; padding-right:.5em; }
/*}}}*/
/***
!PageTemplate - siteMenu
***/
/*{{{*/
.siteMenu
{ background:transparent; padding:.5em; padding-top:0; margin:0; }
.siteMenu a, .siteMenu .button, .siteMenu .tiddlyLinkExisting, .siteMenu .tiddlyLinkNonExisting
{ font-weight: normal; font-style: normal; }
/*** LEAVE THESE OUT FOR NOW
.siteMenu .button, .siteMenu a
{ border:1px solid transparent; background:transparent; margin:0px; padding:0px 1px; -moz-border-radius:.5em;-webkit-border-radius:.5em; }
.siteMenu .button:hover, .siteMenu a:hover
{ border:1px solid #69c; background:#006; color:#fff; }
***/
/*}}}*/
/***
!PageTemplate - storyMenu
***/
/*{{{*/
.storyMenu
{ display:block; margin:0em 1em .5em 1em; }
.storyMenu a, .storyMenu .button, .storyMenu .tiddlyLinkExisting, .storyMenu .tiddlyLinkNonExisting
{ font-weight: normal; font-style: normal; text-decoration:none; }
/*}}}*/
/***
!NestedSlidersPlugin
***/
/*{{{*/
.floatingPanel
{ z-index:700; padding:1em; margin:0em; border:1px solid; -moz-border-radius:1em;-webkit-border-radius:1em; font-size:8pt; text-align:left; }
.floatingPanel hr
{ margin:2px 0 1px 0; padding:0; }
#sidebarOptions .sliderPanel
{ margin:0; padding:0; font-size:1em; background:transparent; }
#sidebarOptions .sliderPanel a
{ font-weight:normal; }
#sidebarOptions .sliderPanel blockquote
{ margin:0;padding:0;margin-left:1em; border-left:1px dotted; padding-left:1em }
.selected .floatingPanel .button,
.selected .floatingPanel a:link,
.selected .floatingPanel a:hover,
.selected .floatingPanel a:visited,
.floatingPanel .button,
.floatingPanel a:link,
.floatingPanel a:hover,
.floatingPanel a:visited
{ color:[[ColorPalette::PrimaryDark]] !important; }
/*}}}*/
/***
!CheckboxPlugin
***/
/*{{{*/
input[type="Checkbox"]
{ margin-top:2px;margin-bottom:2px; }
/*}}}*/
/***
!BreadcrumbsPlugin
***/
/*{{{*/
/* smaller size for bread crumbs (see BreadcrumbsPlugin) */
#breadCrumbs
{ display:none; margin:0em 1em; padding-bottom:.5em; font-size:7pt; } /* display:block is set by plugin when crumbs are in use */
/*}}}*/
/***
!TableOfContentsPlugin
***/
/*{{{*/
#sidebarTabs .tabContents *[class="TOCList"] /* MOZ ONLY */
{ background-color: transparent; border-color:transparent !important; }
/*}}}*/
/***
!AttachFilePlugin
***/
/*{{{*/
#sidebar .attachPanel
{ right:115%; top:3em; text-align:left; }
/*}}}*/
/***
!ImportTiddlersPlugin
***/
/*{{{*/
#sidebar #importPanel
{ right:115%; top:6em; text-align:left; }
/*}}}*/
/***
!ExportTiddlersPlugin
***/
/*{{{*/
#sidebar #exportPanel
{ right:115%; top:9em; text-align:left; }
/*}}}*/
/***
!QuoteOfTheDayPlugin
***/
/*{{{*/
.QOTD
{ color:inherit !important; background:inherit !important; }
/*}}}*/
/***
!TableSorterPlugin
***/
/*{{{*/
.sortedCol
{ color:inherit !important; background:inherit !important; }
/*}}}*/
/***
|Name|StyleSheetShortcuts|
|Source|http://www.TiddlyTools.com/#StyleSheetShortcuts|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|CSS|
|Description|'convenience' classes for common formatting, alignment, boxes, tables, etc.|
These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
***/
/*{{{*/
/* text alignments */
.left
{ display:block;text-align:left; }
.center
{ display:block;text-align:center; }
.center table
{ margin:auto !important; }
.right
{ display:block;text-align:right; }
.justify
{ display:block;text-align:justify; }
.indent
{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
{ float:left; }
.floatright
{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
{ vertical-align:bottom; }
.clear
{ clear:both; }
.wrap
{ white-space:normal; }
.nowrap
{ white-space:nowrap; }
.hidden
{ display:none; }
.show
{ display:inline !important; }
.span
{ display:span; }
.block
{ display:block; }
.relative
{ position:relative; }
.absolute
{ position:absolute; }
/* font sizes */
.big
{ font-size:14pt;line-height:120% }
.medium
{ font-size:12pt;line-height:120% }
.normal
{ font-size:9pt;line-height:120% }
.small
{ font-size:8pt;line-height:120% }
.fine
{ font-size:7pt;line-height:120% }
.tiny
{ font-size:6pt;line-height:120% }
.larger
{ font-size:120%; }
.smaller
{ font-size:80%; }
/* font styles */
.bold
{ font-weight:bold; }
.italic
{ font-style:italic; }
.underline
{ text-decoration:underline; }
/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }
/* vertical tabsets - courtesy of Tobias Beer */
.vTabs .tabset {float:left;display:block;padding:0px;margin-top:.5em;min-width:20%;}
.vTabs .tabset .tab {display:block;text-align:right;padding:2px 3px 2px 7px; margin:0 1px 1px 0;}
.vTabs .tabContents {margin-left:20%;max-width:80%;padding:5px;}
.vTabs .tabContents .tabContents {border:none; background:transparent;}
/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
column-count:4; column-gap:1em; column-width:25%; /* Opera */
}
/* page breaks */
.breakbefore { page-break-before:always; }
.breakafter { page-break-before:always; }
/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */
/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
{ width:100%; }
/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }
/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }
/* grouped content */
.outline
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; }
.menubox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#ffe; color:#000; }
.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox code
{ color:#333 !important; }
.borderleft
{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }
/* scrolled content */
.scrollbars { overflow:auto; }
.height10em { height:10em; }
.height15em { height:15em; }
.height20em { height:20em; }
.height25em { height:25em; }
.height30em { height:30em; }
.height35em { height:35em; }
.height40em { height:40em; }
/* compact form */
.smallform
{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
{ font-size:8pt; }
/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }
/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input { width:1em; }
.twochar input { width:2em; }
.threechar input { width:3em; }
.fourchar input { width:4em; }
.fivechar input { width:5em; }
/* text colors */
.white { color:#fff !important }
.gray { color:#999 !important }
.black { color:#000 !important }
.red { color:#f66 !important }
.green { color:#0c0 !important }
.blue { color:#99f !important }
/* rollover highlighting */
.mouseover
{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
{color:[[ColorPalette::TertiaryLight]] !important;}
.selected .mouseover
{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
{color:[[ColorPalette::PrimaryDark]] !important;}
/* rollover zoom text */
.zoomover
{ font-size:80% !important; }
.selected .zoomover
{ font-size:100% !important; }
/* [[ColorPalette]] text colors */
.Background { color:[[ColorPalette::Background]]; }
.Foreground { color:[[ColorPalette::Foreground]]; }
.PrimaryPale { color:[[ColorPalette::PrimaryPale]]; }
.PrimaryLight { color:[[ColorPalette::PrimaryLight]]; }
.PrimaryMid { color:[[ColorPalette::PrimaryMid]]; }
.PrimaryDark { color:[[ColorPalette::PrimaryDark]]; }
.SecondaryPale { color:[[ColorPalette::SecondaryPale]]; }
.SecondaryLight { color:[[ColorPalette::SecondaryLight]];}
.SecondaryMid { color:[[ColorPalette::SecondaryMid]]; }
.SecondaryDark { color:[[ColorPalette::SecondaryDark]]; }
.TertiaryPale { color:[[ColorPalette::TertiaryPale]]; }
.TertiaryLight { color:[[ColorPalette::TertiaryLight]]; }
.TertiaryMid { color:[[ColorPalette::TertiaryMid]]; }
.TertiaryDark { color:[[ColorPalette::TertiaryDark]]; }
.Error { color:[[ColorPalette::Error]]; }
/* [[ColorPalette]] background colors */
.BGBackground { background-color:[[ColorPalette::Background]]; }
.BGForeground { background-color:[[ColorPalette::Foreground]]; }
.BGPrimaryPale { background-color:[[ColorPalette::PrimaryPale]]; }
.BGPrimaryLight { background-color:[[ColorPalette::PrimaryLight]]; }
.BGPrimaryMid { background-color:[[ColorPalette::PrimaryMid]]; }
.BGPrimaryDark { background-color:[[ColorPalette::PrimaryDark]]; }
.BGSecondaryPale { background-color:[[ColorPalette::SecondaryPale]]; }
.BGSecondaryLight { background-color:[[ColorPalette::SecondaryLight]]; }
.BGSecondaryMid { background-color:[[ColorPalette::SecondaryMid]]; }
.BGSecondaryDark { background-color:[[ColorPalette::SecondaryDark]]; }
.BGTertiaryPale { background-color:[[ColorPalette::TertiaryPale]]; }
.BGTertiaryLight { background-color:[[ColorPalette::TertiaryLight]]; }
.BGTertiaryMid { background-color:[[ColorPalette::TertiaryMid]]; }
.BGTertiaryDark { background-color:[[ColorPalette::TertiaryDark]]; }
.BGError { background-color:[[ColorPalette::Error]]; }
/*}}}*/
/*{{{*/
#tiddlerTWHelp-SearchResults .viewer table {
border: 1px solid #006;
line-height:90% !important;
}
#tiddlerTWHelp-SearchResults .viewer td, .viewer tr,.viewer caption{
border: 1px solid #F6F;
padding: 5px;
vertical-align:top;
}
#tiddlerTWHelp-SearchResults .viewer th{
border: 1px solid #000;
padding: 5px;
vertical-align:top;
}
#tiddlerTWHelp-SearchResults .viewer {
background-color:#fdf;
overflow: auto;
border:1px solid #509;
padding-left: 1em;
padding-right: 1em;
padding-top: 0.5em;
-moz-border-radius: 1em;
}
.viewer tr.oddRow { background-color:#eaeaea; }
.viewer tr.evenRow { background-color:#fff; }
.unboldlink a {font-weight:normal;}
.scroll{overflow: auto}
.borderlessL, .borderlessL table, .borderlessL td, .borderlessL tr, .borderlessL th, .borderlessL tbody
{ line-height:75% !important; border:0 !important; margin:0 !important; padding:0px !important; td.vertical-align:top !important;margin-left: 0 !important; margin-right: auto !important;}
/*}}}*/
!Inline Formatting
|!Option|!Syntax|!Output|
|bold font|{{{''bold''}}}|''bold''|
|italic type|{{{//italic//}}}|//italic//|
|underlined text|{{{__underlined__}}}|__underlined__|
|strikethrough text|{{{--strikethrough--}}}|--strikethrough--|
|superscript text|{{{^^super^^script}}}|^^super^^script|
|subscript text|{{{~~sub~~script}}}|~~sub~~script|
|highlighted text|{{{@@highlighted@@}}}|@@highlighted@@|
|preformatted text|<html><code>{{{preformatted}}}</code></html>|{{{preformatted}}}|
!Block Elements
!!Headings
{{{
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
}}}
<<<
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
<<<
!!Lists
{{{
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3
# ordered list, level 1
## ordered list, level 2
### ordered list, level 3
; definition list, term
: definition list, description
}}}
<<<
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3
# ordered list, level 1
## ordered list, level 2
### ordered list, level 3
; definition list, term
: definition list, description
<<<
!!Blockquotes
{{{
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3
<<<
blockquote
<<<
}}}
<<<
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3
> blockquote
<<<
!!Preformatted Text
<html><pre>
{{{
preformatted (e.g. code)
}}}
</pre></html>
<<<
{{{
preformatted (e.g. code)
}}}
<<<
!!Tables
{{{
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|>|COLSPAN|
|ROWSPAN| … |
|~| … |
|CssProperty:value;…| … |
|caption|c
}}}
''Annotation:''
* The {{{>}}} marker creates a "colspan", causing the current cell to merge with the one to the right.
* The {{{~}}} marker creates a "rowspan", causing the current cell to merge with the one above.
<<<
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|>|COLSPAN|
|ROWSPAN| … |
|~| … |
|CssProperty:value;…| … |
|caption|c
<<<
!!Images /% TODO %/
cf. [[TiddlyWiki.com|http://www.tiddlywiki.com/#EmbeddedImages]]
!Hyperlinks
* [[WikiWords|WikiWord]] are automatically transformed to hyperlinks to the respective tiddler
** the automatic transformation can be suppressed by preceding the respective WikiWord with a tilde ({{{~}}}): {{{~WikiWord}}}
* [[PrettyLinks]] are enclosed in square brackets and contain the desired tiddler name: {{{[[tiddler name]]}}}
** optionally, a custom title or description can be added, separated by a pipe character ({{{|}}}): {{{[[title|target]]}}}<br>''N.B.:'' In this case, the target can also be any website (i.e. URL).
!Custom Styling
* {{{@@CssProperty:value;CssProperty:value;…@@}}}<br>''N.B.:'' CSS color definitions should use lowercase letters to prevent the inadvertent creation of WikiWords.
* <html><code>{{customCssClass{…}}}</code></html>
* raw HTML can be inserted by enclosing the respective code in HTML tags: {{{<html> … </html>}}}
!Special Markers
* {{{<br>}}} forces a manual line break
* {{{----}}} creates a horizontal ruler
* [[HTML entities|http://www.tiddlywiki.com/#HtmlEntities]]
* {{{<<macroName>>}}} calls the respective [[macro|Macros]]
* To hide text within a tiddler so that it is not displayed, it can be wrapped in {{{/%}}} and {{{%/}}}.<br/>This can be a useful trick for hiding drafts or annotating complex markup.
* To prevent wiki markup from taking effect for a particular section, that section can be enclosed in three double quotes: e.g. {{{"""WikiWord"""}}}.
/***
|Name|TiddlerTweakerPlugin|
|Source|http://www.TiddlyTools.com/#TiddlerTweakerPlugin|
|Version|2.4.4|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|select multiple tiddlers and modify author, created, modified and/or tag values|
~TiddlerTweaker is a 'power tool' for TiddlyWiki authors. Select multiple tiddlers from a listbox and 'bulk modify' the creator, author, created, modified and/or tag values of those tiddlers using a compact set of form fields. The values you enter into the fields simultaneously overwrite the existing values in all tiddlers you have selected.
!!!!!Usage
<<<
{{{<<tiddlerTweaker>>}}}
{{smallform{<<tiddlerTweaker>>}}}
By default, any tags you enter into the TiddlerTweaker will //replace// the existing tags in all the tiddlers you have selected. However, you can also use TiddlerTweaker to quickly filter specified tags from the selected tiddlers, while leaving any other tags assigned to those tiddlers unchanged:
>Any tag preceded by a '+' (plus) or '-' (minus), will be added or removed from the existing tags //instead of replacing the entire tag definition// of each tiddler (e.g., enter '-excludeLists' to remove that tag from all selected tiddlers. When using this syntax, care should be taken to ensure that //every// tag is preceded by '+' or '-', to avoid inadvertently overwriting any other existing tags on the selected tiddlers. (note: the '+' or '-' prefix on each tag value is NOT part of the tag value, and is only used by TiddlerTweaker to control how that tag value is processed)
Important Notes:
* TiddlerTweaker is a 'power user' tool that can make changes to many tiddlers at once. ''You should always have a recent backup of your document (or 'save changes' just *before* tweaking the tiddlers), just in case you accidentally 'shoot yourself in the foot'.''
* The date and author information on any tiddlers you tweak will ONLY be updated if the corresponding checkboxes have been selected. As a general rule, after using TiddlerTweaker, always ''//remember to save your document//'' when you are done, even though the tiddler timeline tab may not show any recently modified tiddlers.
* Selecting and updating all tiddlers in a document can take a while. Your browser may warn about an 'unresponsive script'. Usually, if you allow it to continue, it should complete the processing... eventually. Nonetheless, be sure to save your work before you begin tweaking lots of tiddlers, just in case something does get stuck.
<<<
!!!!!Revisions
<<<
2009.09.15 2.4.4 added 'edit' button. moved html definition to separate section
2009.09.13 2.4.3 in settiddlers(), convert backslashed chars (\n\b\s\t) in replacement text
2009.06.26 2.4.2 only add brackets around tags containing spaces
2009.06.22 2.4.1 in setFields(), add brackets around all tags shown tweaker edit field
2009.03.30 2.4.0 added 'sort by modifier'
2009.01.22 2.3.0 added support for text pattern find/replace
2008.10.27 2.2.3 in setTiddlers(), fixed Safari bug by replacing static Array.concat(...) with new Array().concat(...)
2008.09.07 2.2.2 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.05.12 2.2.1 replace built-in backstage tweak task with tiddler tweaker control panel (moved from BackstageTweaks)
2008.01.13 2.2.0 added 'auto-selection' links: all, changed, tags, title, text
2007.12.26 2.1.0 added support for managing 'creator' custom field (see [[CoreTweaks]])
2007.11.01 2.0.3 added config.options.txtTweakerSortBy for cookie-based persistence of list display order preference setting.
2007.09.28 2.0.2 in settiddlers() and deltiddlers(), added suspend/resume notification handling (improves performance when operating on multiple tiddlers)
2007.08.03 2.0.1 added shadow definition for [[TiddlerTweaker]] tiddler for use as parameter references with {{{<<tiddler>>, <<slider>> or <<tabs>>}}} macros.
2007.08.03 2.0.0 converted from inline script
2006.01.01 1.0.0 initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TiddlerTweakerPlugin= {major: 2, minor: 4, revision: 4, date: new Date(2009,9,15)};
// shadow tiddler
config.shadowTiddlers.TiddlerTweaker='<<tiddlerTweaker>>';
// defaults
if (config.options.txtTweakerSortBy==undefined) config.options.txtTweakerSortBy='modified';
// backstage task
if (config.tasks) { // for TW2.2b3 or above
config.tasks.tweak.tooltip='review/modify tiddler internals: dates, authors, tags, etc.';
config.tasks.tweak.content='{{smallform small groupbox{<<tiddlerTweaker>>}}}';
}
// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
config.macros.tiddlerTweaker = {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var span=createTiddlyElement(place,'span');
span.innerHTML=store.getTiddlerText('TiddlerTweakerPlugin##html');
this.init(span.getElementsByTagName('form')[0],config.options.txtTweakerSortBy);
},
init: function(f,sortby) { // initialize form controls
if (!f) return; // form might not be rendered yet...
while (f.list.options[0]) f.list.options[0]=null; // empty current list content
var tids=store.getTiddlers(sortby);
if (sortby=='size') // descending order
tids.sort(function(a,b) {return a.text.length > b.text.length ? -1 : (a.text.length == b.text.length ? 0 : +1);});
var who='';
for (i=0; i<tids.length; i++) { var t=tids[i];
var label=t.title; var value=t.title;
switch (sortby) {
case 'modified':
case 'created':
var t=tids[tids.length-i-1]; // reverse order
var when=t[sortby].formatString('YY.0MM.0DD 0hh:0mm ');
label=when+t.title;
value=t.title;
break;
case 'size':
label='['+t.text.length+'] '+label;
break;
case 'modifier':
case 'creator':
if (who!=t[sortby]) {
who=t[sortby];
f.list.options[f.list.length]=new Option('by '+who+':','',false,false);
}
label='\xa0\xa0\xa0'+label; // indent
break;
}
f.list.options[f.list.length]=new Option(label,value,false,false);
}
f.title.value=f.who.value=f.creator.value=f.tags.value='';
f.cm.value=f.cd.value=f.cy.value=f.ch.value=f.cn.value='';
f.mm.value=f.md.value=f.my.value=f.mh.value=f.mn.value='';
f.stats.disabled=f.set.disabled=f.del.disabled=f.edit.disabled=f.display.disabled=true;
f.settitle.disabled=false;
config.options.txtTweakerSortBy=sortby;
f.sortby.value=sortby; // sync droplist
if (sortby!='modified') saveOptionCookie('txtTweakerSortBy');
else removeCookie('txtTweakerSortBy');
},
selecttiddlers: function(here) { // enables/disables inputs based on #items selected
var f=here.form; var list=f.list;
var c=0; for (i=0;i<list.length;i++) if (list.options[i].selected) c++;
if (c>1) f.title.disabled=true;
if (c>1) f.settitle.checked=false;
f.set.disabled=(c==0);
f.del.disabled=(c==0);
f.edit.disabled=(c==0);
f.display.disabled=(c==0);
f.settitle.disabled=(c>1);
f.stats.disabled=(c==0);
var msg=(c==0)?'select tiddlers':(c+' tiddler'+(c!=1?'s':'')+' selected');
here.previousSibling.firstChild.firstChild.nextSibling.innerHTML=msg;
if (c) clearMessage(); else displayMessage('no tiddlers selected');
},
setfields: function(here) { // set fields from first selected tiddler
var f=here.form;
if (!here.value.length) {
f.title.value=f.who.value=f.creator.value=f.tags.value='';
f.cm.value=f.cd.value=f.cy.value=f.ch.value=f.cn.value='';
f.mm.value=f.md.value=f.my.value=f.mh.value=f.mn.value='';
return;
}
var tid=store.getTiddler(here.value); if (!tid) return;
f.title.value=tid.title;
f.who.value=tid.modifier;
f.creator.value=tid.fields['creator']||''; // custom field - might not exist
f.tags.value=tid.tags.map(function(t){return String.encodeTiddlyLink(t)}).join(' ');
var c=tid.created; var m=tid.modified;
f.cm.value=c.getMonth()+1;
f.cd.value=c.getDate();
f.cy.value=c.getFullYear();
f.ch.value=c.getHours();
f.cn.value=c.getMinutes();
f.mm.value=m.getMonth()+1;
f.md.value=m.getDate();
f.my.value=m.getFullYear();
f.mh.value=m.getHours();
f.mn.value=m.getMinutes();
},
settiddlers: function(here) {
var f=here.form; var list=f.list;
var tids=[];
for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert('please select at least one tiddler'); return; }
var cdate=new Date(f.cy.value,f.cm.value-1,f.cd.value,f.ch.value,f.cn.value);
var mdate=new Date(f.my.value,f.mm.value-1,f.md.value,f.mh.value,f.mn.value);
if (tids.length>1 && !confirm('Are you sure you want to update these tiddlers:\n\n'+tids.join(', '))) return;
store.suspendNotifications();
for (t=0;t<tids.length;t++) {
var tid=store.getTiddler(tids[t]); if (!tid) continue;
var title=!f.settitle.checked?tid.title:f.title.value;
var who=!f.setwho.checked?tid.modifier:f.who.value;
var text=tid.text;
if (f.replacetext.checked) {
var r=f.replacement.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
text=text.replace(new RegExp(f.pattern.value,'mg'),r);
}
var tags=tid.tags;
if (f.settags.checked) {
var intags=f.tags.value.readBracketedList();
var addtags=[]; var deltags=[]; var reptags=[];
for (i=0;i<intags.length;i++) {
if (intags[i].substr(0,1)=='+')
addtags.push(intags[i].substr(1));
else if (intags[i].substr(0,1)=='-')
deltags.push(intags[i].substr(1));
else
reptags.push(intags[i]);
}
if (reptags.length)
tags=reptags;
if (addtags.length)
tags=new Array().concat(tags,addtags);
if (deltags.length)
for (i=0;i<deltags.length;i++)
{ var pos=tags.indexOf(deltags[i]); if (pos!=-1) tags.splice(pos,1); }
}
if (!f.setcdate.checked) cdate=tid.created;
if (!f.setmdate.checked) mdate=tid.modified;
store.saveTiddler(tid.title,title,text,who,mdate,tags,tid.fields);
if (f.setcreator.checked) store.setValue(tid.title,'creator',f.creator.value); // set creator
if (f.setcdate.checked) tid.assign(null,null,null,null,null,cdate); // set create date
}
store.resumeNotifications();
this.init(f,f.sortby.value);
},
displaytiddlers: function(here,edit) {
var f=here.form; var list=f.list;
var tids=[];
for (i=0; i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert('please select at least one tiddler'); return; }
story.displayTiddlers(story.findContainingTiddler(f),tids,edit?DEFAULT_EDIT_TEMPLATE:null);
},
deltiddlers: function(here) {
var f=here.form; var list=f.list;
var tids=[];
for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert('please select at least one tiddler'); return; }
if (!confirm('Are you sure you want to delete these tiddlers:\n\n'+tids.join(', '))) return;
store.suspendNotifications();
for (t=0;t<tids.length;t++) {
var tid=store.getTiddler(tids[t]); if (!tid) continue;
if (tid.tags.contains('systemConfig')) {
var msg=tid.title+' is tagged with systemConfig.'
+'\n\nRemoving this tiddler may cause unexpected results. Are you sure?';
if (!confirm(msg)) continue;
}
store.removeTiddler(tid.title);
story.closeTiddler(tid.title);
}
store.resumeNotifications();
this.init(f,f.sortby.value);
},
stats: function(here) {
var f=here.form; var list=f.list; var tids=[]; var out=''; var tot=0;
var target=f.nextSibling;
for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert('please select at least one tiddler'); return; }
for (t=0;t<tids.length;t++) {
var tid=store.getTiddler(tids[t]); if (!tid) continue;
out+='[['+tid.title+']] '+tid.text.length+'\n'; tot+=tid.text.length;
}
var avg=tot/tids.length;
out=tot+' bytes in '+tids.length+' selected tiddlers ('+avg+' bytes/tiddler)\n<<<\n'+out+'<<<\n';
removeChildren(target);
target.innerHTML="<hr><font size=-2><a href='javascript:;' style='float:right' "
+"onclick='this.parentNode.parentNode.style.display=\"none\"'>close</a></font>";
wikify(out,target);
target.style.display='block';
}
};
//}}}
/***
//{{{
!html
<style>
.tiddlerTweaker table,
.tiddlerTweaker table tr,
.tiddlerTweaker table td
{ padding:0;margin:0;border:0;white-space:nowrap; }
</style><form class='tiddlerTweaker'><!--
--><table style="width:100%"><tr valign="top"><!--
--><td style="text-align:center;width:99%;"><!--
--><font size=-2><div style="text-align:left;"><span style="float:right"><!--
--> <a href="javascript:;"
title="select all tiddlers"
onclick="
var f=this; while (f&&f.nodeName.toLowerCase()!='form')f=f.parentNode;
for (var t=0; t<f.list.options.length; t++)
if (f.list.options[t].value.length) f.list.options[t].selected=true;
config.macros.tiddlerTweaker.selecttiddlers(f.list);
return false">all</a><!--
--> <a href="javascript:;"
title="select tiddlers that are new/changed since the last file save"
onclick="
var lastmod=new Date(document.lastModified);
var f=this; while (f&&f.nodeName.toLowerCase()!='form')f=f.parentNode;
for (var t=0; t<f.list.options.length; t++) {
var tid=store.getTiddler(f.list.options[t].value);
f.list.options[t].selected=tid&&tid.modified>lastmod;
}
config.macros.tiddlerTweaker.selecttiddlers(f.list);
return false">changed</a><!--
--> <a href="javascript:;"
title="select tiddlers with at least one matching tag"
onclick="
var t=prompt('Enter space-separated tags (match ONE)');
if (!t||!t.length) return false;
var tags=t.readBracketedList();
var f=this; while (f&&f.nodeName.toLowerCase()!='form')f=f.parentNode;
for (var t=0; t<f.list.options.length; t++) {
f.list.options[t].selected=false;
var tid=store.getTiddler(f.list.options[t].value);
if (tid&&tid.tags.containsAny(tags)) f.list.options[t].selected=true;
}
config.macros.tiddlerTweaker.selecttiddlers(f.list);
return false">tags</a><!--
--> <a href="javascript:;"
title="select tiddlers whose titles include matching text"
onclick="
var txt=prompt('Enter a title (or portion of a title) to match');
if (!txt||!txt.length) return false;
var f=this; while (f&&f.nodeName.toLowerCase()!='form')f=f.parentNode;
for (var t=0; t<f.list.options.length; t++) {
f.list.options[t].selected=f.list.options[t].value.indexOf(txt)!=-1;
}
config.macros.tiddlerTweaker.selecttiddlers(f.list);
return false">titles</a><!--
--> <a href="javascript:;"
title="select tiddlers containing matching text"
onclick="
var txt=prompt('Enter tiddler text (content) to match');
if (!txt||!txt.length) return false;
var f=this; while (f&&f.nodeName.toLowerCase()!='form')f=f.parentNode;
for (var t=0; t<f.list.options.length; t++) {
var tt=store.getTiddlerText(f.list.options[t].value,'');
f.list.options[t].selected=(tt.indexOf(txt)!=-1);
}
config.macros.tiddlerTweaker.selecttiddlers(f.list);
return false">text</a> <!--
--></span><span>select tiddlers</span><!--
--></div><!--
--></font><select multiple name=list size="11" style="width:99.99%"
title="use click, shift-click and/or ctrl-click to select multiple tiddler titles"
onclick="config.macros.tiddlerTweaker.selecttiddlers(this)"
onchange="config.macros.tiddlerTweaker.setfields(this)"><!--
--></select><br><!--
-->show<input type=text size=1 value="11"
onchange="this.form.list.size=this.value; this.form.list.multiple=(this.value>1);"><!--
-->by<!--
--><select name=sortby size=1
onchange="config.macros.tiddlerTweaker.init(this.form,this.value)"><!--
--><option value="title">title</option><!--
--><option value="size">size</option><!--
--><option value="modified">modified</option><!--
--><option value="created">created</option><!--
--><option value="modifier">modifier</option><!--
--></select><!--
--><input type="button" value="refresh"
onclick="config.macros.tiddlerTweaker.init(this.form,this.form.sortby.value)"<!--
--> <input type="button" name="stats" disabled value="totals..."
onclick="config.macros.tiddlerTweaker.stats(this)"><!--
--></td><td style="width:1%"><!--
--><div style="text-align:left"><font size=-2> modify values</font></div><!--
--><table style="width:100%;"><tr><!--
--><td style="padding:1px"><!--
--><input type=checkbox name=settitle unchecked
title="allow changes to tiddler title (rename tiddler)"
onclick="this.form.title.disabled=!this.checked">title<!--
--></td><td style="padding:1px"><!--
--><input type=text name=title size=35 style="width:98%" disabled><!--
--></td></tr><tr><td style="padding:1px"><!--
--><input type=checkbox name=setcreator unchecked
title="allow changes to tiddler creator"
onclick="this.form.creator.disabled=!this.checked">created by<!--
--></td><td style="padding:1px;"><!--
--><input type=text name=creator size=35 style="width:98%" disabled><!--
--></td></tr><tr><td style="padding:1px"><!--
--><input type=checkbox name=setwho unchecked
title="allow changes to tiddler author"
onclick="this.form.who.disabled=!this.checked">modified by<!--
--></td><td style="padding:1px"><!--
--><input type=text name=who size=35 style="width:98%" disabled><!--
--></td></tr><tr><td style="padding:1px"><!--
--><input type=checkbox name=setcdate unchecked
title="allow changes to created date"
onclick="var f=this.form;
f.cm.disabled=f.cd.disabled=f.cy.disabled=f.ch.disabled=f.cn.disabled=!this.checked"><!--
-->created on<!--
--></td><td style="padding:1px"><!--
--><input type=text name=cm size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--> / <input type=text name=cd size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--> / <input type=text name=cy size=4 style="width:3em;padding:0;text-align:center" disabled><!--
--> at <input type=text name=ch size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--> : <input type=text name=cn size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--></td></tr><tr><td style="padding:1px"><!--
--><input type=checkbox name=setmdate unchecked
title="allow changes to modified date"
onclick="var f=this.form;
f.mm.disabled=f.md.disabled=f.my.disabled=f.mh.disabled=f.mn.disabled=!this.checked"><!--
-->modified on<!--
--></td><td style="padding:1px"><!--
--><input type=text name=mm size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--> / <input type=text name=md size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--> / <input type=text name=my size=4 style="width:3em;padding:0;text-align:center" disabled><!--
--> at <input type=text name=mh size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--> : <input type=text name=mn size=2 style="width:2em;padding:0;text-align:center" disabled><!--
--></td></tr><tr><td style="padding:1px"><!--
--><input type=checkbox name=replacetext unchecked
title="find/replace matching text"
onclick="this.form.pattern.disabled=this.form.replacement.disabled=!this.checked">replace text<!--
--></td><td style="padding:1px"><!--
--><input type=text name=pattern size=15 value="" style="width:40%" disabled
title="enter TEXT PATTERN (regular expression)"> with<!--
--><input type=text name=replacement size=15 value="" style="width:40%" disabled
title="enter REPLACEMENT TEXT"><!--
--></td></tr><tr><td style="padding:1px"><!--
--><input type=checkbox name=settags checked
title="allow changes to tiddler tags"
onclick="this.form.tags.disabled=!this.checked">tags<!--
--></td><td style="padding:1px"><!--
--><input type=text name=tags size=35 value="" style="width:98%"
title="enter new tags or use '+tag' and '-tag' to add/remove tags from existing tags"><!--
--></td></tr></table><!--
--><div style="text-align:center"><!--
--><nobr><input type=button name=display disabled style="width:24%" value="display"
title="show selected tiddlers"
onclick="config.macros.tiddlerTweaker.displaytiddlers(this,false)"><!--
--> <input type=button name=edit disabled style="width:23%" value="edit"
title="edit selected tiddlers"
onclick="config.macros.tiddlerTweaker.displaytiddlers(this,true)"><!--
--> <input type=button name=del disabled style="width:24%" value="delete"
title="remove selected tiddlers"
onclick="config.macros.tiddlerTweaker.deltiddlers(this)"><!--
--> <input type=button name=set disabled style="width:24%" value="update"
title="update selected tiddlers"
onclick="config.macros.tiddlerTweaker.settiddlers(this)"></nobr><!--
--></div><!--
--></td></tr></table><!--
--></form><span style="display:none"><!--content replaced by tiddler "stats"--></span>
!end
//}}}
***/
/%
!info
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|show/hide right sidebar (SideBarOptions)|
Usage
<<<
{{{
<<tiddler ToggleRightSidebar>>
<<tiddler ToggleRightSidebar with: label tooltip>>
}}}
Try it: <<tiddler ToggleRightSidebar##show
with: {{config.options.chkShowRightSidebar?'►':'◄'}}>>
<<<
Configuration:
<<<
copy/paste the following settings into a tiddler tagged with <<tag systemConfig>> and then modify the values to suit your preferences:
{{{
config.options.chkShowRightSidebar=true;
config.options.txtToggleRightSideBarLabelShow="◄";
config.options.txtToggleRightSideBarLabelHide="►";
}}}
<<<
!end
!show
<<tiddler {{
var co=config.options;
if (co.chkShowRightSidebar===undefined) co.chkShowRightSidebar=true;
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=co.chkShowRightSidebar?'block':'none';
da.style.marginRight=co.chkShowRightSidebar?'':'1em';
}
'';}}>><html><nowiki><a href='javascript:;' title="$2"
onmouseover="
this.href='javascript:void(eval(decodeURIComponent(%22(function(){try{('
+encodeURIComponent(encodeURIComponent(this.onclick))
+')()}catch(e){alert(e.description?e.description:e.toString())}})()%22)))';"
onclick="
var co=config.options;
var opt='chkShowRightSidebar';
var show=co[opt]=!co[opt];
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=show?'block':'none';
da.style.marginRight=show?'':'1em';
}
saveOptionCookie(opt);
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
if (this.innerHTML==labelShow||this.innerHTML==labelHide)
this.innerHTML=show?labelHide:labelShow;
this.title=(show?'hide':'show')+' right sidebar';
var sm=document.getElementById('storyMenu');
if (sm) config.refreshers.content(sm);
return false;
">$1</a></html>
!end
%/<<tiddler {{
var src='ToggleRightSidebar';
src+(tiddler&&tiddler.title==src?'##info':'##show');
}} with: {{
var co=config.options;
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
'$1'!='$'+'1'?'$1':(co.chkShowRightSidebar?labelHide:labelShow);
}} {{
var tip=(config.options.chkShowRightSidebar?'hide':'show')+' right sidebar';
'$2'!='$'+'2'?'$2':tip;
}}>>
/%
!info
|Name|ToggleSiteTitles|
|Source|http://www.TiddlyTools.com/#ToggleSiteTitles|
|Version|1.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.5|
|Type|transclusion|
|Description|show/hide document 'header' area (containing SiteTitle and SiteSubtitle content)|
Usage:
<<<
{{{
<<tiddler ToggleSiteTitles>> OR
<<tiddler ToggleSiteTitles with: label tip>>
}}}
<<<
!end
!show
<<option chkHideSiteTitles>><<tiddler {{
var chk=place.lastChild;
if (!chk.coreOnChange) { // only once
chk.coreOnChange=chk.onchange;
chk.onchange=function() {
if (this.coreOnChange) this.coreOnChange.apply(this,arguments);
var h=jQuery('#contentWrapper .header')[0];
var opt=this.getAttribute('option');
if (h) h.style.display=config.options[opt]?'none':'block';
};
}
'';}}>> $1
!end
%/<<tiddler {{'ToggleSiteTitles##'+(tiddler&&tiddler.title=='ToggleSiteTitles'?'info':'show')}} with:
{{"$1"=="$"+"1"?"hide site titles":"$1"}}
{{"$2"=="$"+"2"?"toggle site title display":"$2"}}
{{ // init header display
var opt='chkHideSiteTitles';
if (config.options[opt]==undefined) config.options[opt]=false;
var h=jQuery('#contentWrapper .header')[0];
if (h) h.style.display=config.options[opt]?'none':'block';
}}
>>
|~ViewToolbar|closeTiddler closeOthers editTiddler > fields syncing permalink references jump|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
{{floatright{
[img[resources/C_Island_Star_Island_Belle_Confederation_Basin_Paul_Wash.jpg]]
}}}
[[How to get to Kingston|http://tourism.kingstoncanada.com/en/makeaconnection/traveltokingston.asp]]
<<tiddler AuthorInfo>>
{{floatright{
[img[resources/ktownrunners_Photo_Courtesy_of_Kingston_Road_Runners_Association_2008.jpg]]
}}}
[[Four Points Hotel by Sheraton, Kingston|http://www.fourpointskingston.com/]]
{{hotelAddressFontStyle{
__Address:__
285 King Street East
Kingston, Ontario
"""K7L""" 3B1
Canada
}}}
{{bold{GPS location: N 44.229535, W -76.481823}}}
<html>
<iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=fourpoints+hotel+kingston+ontario+canada&aq=&sll=37.0625,-95.677068&sspn=31.977057,79.013672&ie=UTF8&hq=fourpoints+hotel&hnear=Kingston,+Frontenac+County,+Ontario,+Canada&ll=44.229426,-76.482053&spn=0.014761,0.027466&z=15&iwloc=A&output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=fourpoints+hotel+kingston+ontario+canada&aq=&sll=37.0625,-95.677068&sspn=31.977057,79.013672&ie=UTF8&hq=fourpoints+hotel&hnear=Kingston,+Frontenac+County,+Ontario,+Canada&ll=44.229426,-76.482053&spn=0.014761,0.027466&z=15&iwloc=A" style="color:#0000FF;text-align:left">View Larger Map</a></small>
</html>
<<tiddler AuthorInfo>>
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<html>
<table style="width:100%; border:hidden;">
<tr>
<td style="border:hidden;"><img src="./resources/logo1.jpg"/></td>
<td style="border:hidden;"><img src="./resources/kingston.jpg"/></td>
<td style="border:hidden;"><img src="./resources/logo2.jpg"/></td>
</tr>
<tr>
<td colspan="3" style="border:hidden;">
38th International Congress on Electrocardiology
</td>
</tr>
<tr>
<td style="border:hidden;"><img src="./resources/pic_1_1_1.jpg"/></td>
<td style="border:hidden;" rowspan="4" colspan="4">
<img src="./resources/pic_1_1_2.jpg" style="display:table-cell; margin-left: auto; margin-right: auto; vertical-align:middle;"/>
</td>
<td style="border:hidden;"><img src="./resources/pic_1_1_3.jpg"/></td>
</tr>
<tr>
<td style="border:hidden;"><img src="./resources/pic_1_2_1.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_2_3.jpg"/></td>
</tr>
<tr>
<td style="border:hidden;"><img src="./resources/pic_1_3_1.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_3_3.jpg"/></td>
</tr>
<tr>
<td style="border:hidden;"><img src="./resources/pic_1_4_1.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_4_3.jpg"/></td>
</tr>
<tr>
<td style="border:hidden;"><img src="./resources/pic_1_5_1.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_5_2.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_5_3.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_5_4.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_5_5.jpg"/></td>
<td style="border:hidden;"><img src="./resources/pic_1_5_6.jpg"/></td>
</tr>
</table>
</html>
{{welcomeLetterFontSize{
//
Dear Colleagues
It is our great pleasure to invite you to participate in The 38th International Congress on Electrocardiology to be held in Kingston, Ontario, Canada on June 8th-11th, 2011.<br><br>This is the annual meeting of the International Society of Electrocardiology which has had been very well-attended over the past several years. Our last meeting attracted participants from all around the world.<br> <br>A diverse and experienced faculty will present a high-level conference with two and a half full day sessions of lectures, case presentations and workshops focusing on Electrocardiology and Electrophysiology.<br> <br>The scientific sessions of the congress will cover a broad spectrum of topics, ranging from basic cellular processes to clinical applications. This year, special attention will be paid to the link between Electrocardiology and Electrophysiology.<br> <br>A Young Investigator Competition will award the best abstract to investigators younger than 35 years of age. <br> <br>The venue is located in the heart of Kingston, a small English-speaking city on Lake Ontario, positioned at the gateway to the world-famous 1000 Islands.. Kingston is home to Queen’s University.<br> <br>Kingston can be easily reached from the Toronto airport (Pearson) in less than one hour by air. There are five daily connections between Toronto and Kingston. There is also a Via train that connects Toronto (Union Station) with Kingston in an enjoyable ride of 2 ½ hours. Buses also travel between both cities. A beautiful 2 ½ hour drive is also an option.<br> <br>Kingston offers a large variety of accommodations, from luxury to more affordable hotels and B&B.<br> <br>Your registration will also include admission to the Gala night which will be held at Fort Henry, one of the pearls of old Kingston and a national historic site.<br> <br>This meeting will provide a great opportunity to meet, collaborate, and socialize with other researchers from all around the globe.<br> <br>
We are looking forward to welcoming you to Kingston in 2011!
{{justifyright{
[img[resources/baranchuks2.jpg]]
''Adrian Baranchuk, MD FACC, Chair''
[img[resources/chris_2010.jpg]]
''Christopher S. Simpson, MD FRCPC FACC FHRS, Co-chair''
[img[resources/damian.jpg]]
''Damian P. Redfearn, MB """ChB""" MD MRCPI, Co-chair''
}}}
//
}}}
<<tiddler AuthorInfo>>
![[Young Investigator Award Competition Rules|http://www.electrocardiology.org/yic-rules.html]]
{{floatright{
[img[resources/canada_day2.jpg]]
}}}
# The award of ''$500'' is bestowed by the President of the International Council on Electrocardiology <br><html>–</html> Adriaan van Oosterom <html>–</html> during the closing ceremony of the 38th International Congress of Electrocardiology. <br>A second prize of ''$300'' and a third prize of ''$200'' are also awarded<br><br>
# The Young Investigators’ Award should be managed by the Member of the Council designated as the Young Investigators’ Award Convener – Professor M. Hiraoka. This individual should liaise closely with the local President of the Congress in the organization of the competition.<br><br>
# A jury of at least four members of the International Council Electrocardiology should be chosen each year to select the winner. They would normally be the Convener of the Young Investigators’ Award Competition and the President of the Congress, together with the President and """President-Elect""" of the Council although if specific expertise is required to judge one or more presentations, a member or members of the council with the required knowledge should be co-opted. None of the jury should have a connection with the work being presented; if so, another member of the Council should take his/her place. In the first instance, this would be another """Past-President""". The Organizer of the Congress should make arrangements for six candidates (selected as described under 6 below) to present their work in a plenary session devoted to "The Young Investigators’ Award".<br><br>
# Each presentation should consist of a ten minute talk concerning a scientific investigation in the field of electrocardiology, which should have been carried out in the main by the candidate. A single author abstract is preferred, but if multiple names are included, the Head of the candidate's Department should provide a supporting statement outlining the work of the candidate. The presentation should be followed by five minutes of discussion at which the jury and the audience should be free to ask questions.<br><br>
# Each young scientist, who should be under 35 years of age at the date of the Congress, is entitled to apply for the Award by submitting one and only one abstract of his/her work to the Organizing Committee of the Congress. Previous finalists who have won a first, second or third prize are not eligible to compete again. A young investigator in training is not supposed to have his/her own research funds as a general rule, and should not be leading a research team, i.e. an entrant should not be an established investigator.
<<tiddler AuthorInfo>>
<<formTiddler NewPluginTemplate>><data>{"format":"Plugin","author":"Eric Shulman (~TiddlyTools)","link":"http://www.tiddlytools.com","category":"Formatting and viewing text","description":"Display text with timer-based font animation to automatically grow/shrink text.","twversion":"2.2"}</data>
Type the text for 'New Tiddler'
if(config.options.txtUserName != "JerzyE") {
readOnly = true;
showBackstage = false;
config.options.chkShowRightSidebar=false;
config.options.chkSinglePageMode=true;
config.macros.toolbar.isCommandEnabled = function(command,tiddler) {
return false;
};
}
config.options.chkAnimate = false;