[[Writeup|http://www.cs.unm.edu/~forrest/cs365/assignments/assign1/assign1.pdf]]\n[[Terrorism data set|http://www.cs.unm.edu/~forrest/cs365/assignments/assign1/data-sets/terrorism-data.txt]]\n[[Forest fires data set|http://www.cs.unm.edu/~forrest/cs365/assignments/assign1/data-sets/fires-data.txt]]
[[Writeup|http://www.cs.unm.edu/~forrest/classes/cs365/assignments/assign1/assign1.pdf]]\n[[Terrorism data set|http://www.cs.unm.edu/~forrest/classes/cs365/assignments/assign1/data-sets/terrorism-data.txt]]\n[[Forest fires data set|http://www.cs.unm.edu/~forrest/classes/cs365/assignments/assign1/data-sets/fires-data.txt]]
[[Assignment 1]]\n\n[[Writeup|http://www.cs.unm.edu/~forrest/cs365/assignments/assign1/assign1.pdf]]\n[[Terrorism data set|http://www.cs.unm.edu/~forrest/cs365/assignments/assign1/data-sets/terrorism-data.txt]]\n[[Forest fires data set|http://www.cs.unm.edu/~forrest/cs365/assignments/assign1/data-sets/fires-data.txt]]
[[Writeup|http://www.cs.unm.edu/~forrest/classes/cs365/assignments/assign2.pdf]]\n[[Matlab Tutorials (6, 11.2)|http://wofford-ecs.org/IntroComputationalScience/_dataFilePages/matlab.htm]]
[[Writeup|http://www.cs.unm.edu/~forrest/classes/cs365/assignments/assign3.pdf]]\n[[Matlab GA Package|http://www.cs.unm.edu/~forrest/classes/cs365/assignments/ga.m]]
[[No assignments yet]]
Professor: Stephanie Forrest\n\nOffice: Farris Engineering Center 155\nPhone: 277-7104 (during office hours only) \nEmail: forrest@cs.unm.edu (anytime) \nOffice Hours: Wed. 10:00 - 12:00 \n\nThis is primarily a reading and discussion class. Expect to spend a significant amount of time each week reading and preparing the assigned papers. There will likely be one writing or programming assignment. Grades will be determined 70% on class participation and 30% on assigned work. Class participation includes summarizing and presenting papers that we read, leading a class discussion, and contributing substantive and critical ideas to class discussions.
config.options.chkSinglePageMode = true; \nconfig.options.chkTopOfPageMode = true; \nconfig.options.chkAnimate = false; // default true
[[Course Information]]
[[Introduction to the Immune System by Prof. Robert Miller|http://www.cs.unm.edu/~forrest/classes/immuno-class/lectures/miller.ppt]]\n
[[Course Information]]\n[[Syllabus|http://www.cs.unm.edu/~forrest/classes/immuno-class/syllabus.pdf]]\n[[Lectures]]\n[[Readings]]\n[[Assignments]]
<<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>
Last Updated: 3/18/2007\nCopyright © Josh Karlin\n<<toggleSideBar "Toggle SideBar" "Toggle the options menu" hide>>
<!--{{{-->\n<div id='header' class='header'>\n<div class='headerShadow'>\n<span class='searchBar' macro='search'></span>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n\n</div>\n<div id='mainMenu'>\n<span refresh='content' tiddler='MainMenu'></span>\n<span id='noticeBoard' refresh='content' tiddler='NoticeBoard'></span>\n\n</div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='MochaSideBarOptions'></div>\n\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>\n<!--}}}-->
[[M. Nowak and R. May Virus Dynamics, Ch. 1-3]]\n\n[[Bauer, et al. "Agent-based modeling of host-pathogen systems: The successes and challenges"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/abm-review_Perelson 4-18-08-1.pdf]]\n\n[[P. Baccam, et al. "laws"Kinetics of Influenza A Virus Infection in Humans"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/baccam.pdf]]\n\n[[T. B. Kepler and C. Chan “Spatiotemporal programming of a simple inflammatory process”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/kepler.pdf]]\n\n[[S. Kleinstein and P. Seiden “Simulating the immune system”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/kleinstein.pdf]]\n\n[[D. Chao, et al. “The effects of thymic selection on the range of T cell cross-reactivity”|http://www.cs.unm.edu/~forrest/publications/chao-repertoire-05.pdf]]\n\n[[J.B. Beltman, et al. "Spatial modelling of brief and long interactions between T Cells and dendritic cells"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/beltman_icb07.pdf]]\n\n[[S. Forrest and C. Beauchemin “Computer Immunology"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/ForrestBeauchemin06.pdf]]\n\n[[S. Forrest et al. ”Self-nonself discrimination in a computer”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/neg-selec.pdf]]\n\n[[F. Esponda “Everything that’s not important: Negative databases”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/esponda-08.pdf]]\n\n[[F. Esponda et al. “Negative representations of information”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/esponda-05.pdf]]\n\n[[J. Horey et al. “Anonymous data collection in sensor networks”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/horey.pdf]]\n\n[[S. Hofmeyr and S. Forrest “Architecture for an Artificial Immune System"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/ARTIS.pdf]]\n\n[[M. Glickman et al. “A machine learning evaluation of an artificial immune system”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/glickman.pdf]]\n\n[[L. de Castro “Learning and optimization using the clonal selection principle”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/DeCastro.pdf]]\n\n[[A. Perelson and G. Oster “Theoretical studies of clonal selection: Minimal antibody repertoire size and reliability of self- non-self discrimination”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/ShapeSpace.pdf]]\n\n[[J. Carneiro and J. Stewart “Rethinking shape space: Evidence from simulating docking suggests that steric shape complementarity is not limiting for antibody-antigen recognition and idiotypic interactions”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/Carneiro1994.pdf]]\n\n[[D. J. Smith et al. “Variable efficacy of repeated annual influenza vaccination”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/variable-efficacy.pdf]]\n\n[[D. J. Smith, et al. ”Mapping the antigenic and genetic evolution of influenza virus”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/DerekSmithCartographyScience.pdf]]\n\n[[A. Read and J. Allen “The economics of Immunity"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/EconomicsOfImmunity.pdf]]\n\n[[Y. Moret and P. Schmid-Hempel “Survival for Immunity: The price of immune system activation for bumblebee workers”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/bumblebees.pdf]]\n\n[[Lynn B. Martin II et al. "Immune activity elevates energy expenditure of house sparrows: a link between direct and indirect costs?"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/martin.pdf]]\n\n[[F. Wiegel and A. Perelson ”Some scaling principles for the immune system”|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/ImmuneScalingPerelson.pdf]]\n\n[[L. Segel and R. Lev Bar Or “On the role of feedback in promoting conflicting goals in the \nadaptive immune system"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/segel-feedback.pdf]]\n\n[[P. Matzinger "Tolerance, danger, and the extended family"|http://www.cs.unm.edu/~forrest/classes/immuno-class/readings/danger.pdf]]\n\n\n
[[Assignment Writeup|http://www.cs.unm.edu/~forrest/cs365/assignments/assign2.pdf]]\n[[Matlab Tutorials (6 and 11.2)|http://www.wofford-ecs.org/IntroComputationalScience/_dataFilePages/matlab.htm]]
/***\n''Single Page Mode Plugin for TiddlyWiki version 2.0 or above''\n^^author: Eric Shulman - ELS Design Studios\nsource: http://www.TiddlyTools.com/#SinglePageModePlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n\nNormally, as you click on the links in TiddlyWiki, more and more tiddlers are displayed on the page. The order of this tiddler display depends upon when and where you have clicked. Some people like this non-linear method of reading the document, while others have reported that when many tiddlers have been opened, it can get somewhat confusing.\n\n!!!!!Usage\n<<<\nSinglePageMode allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one item displayed at a time. When SinglePageMode is enabled, the title of the current tiddler is automatically displayed in the browser window's titlebar and the browser's location URL is updated with a 'permalink' for the current tiddler so that it is easier to create a browser 'bookmark' for the current tiddler.\n\nEven when SinglePageMode is disabled (i.e., displaying multiple tiddlers is permitted), you can reduce the potential for confusion by enable TopOfPageMode, which forces tiddlers to always open at the top of the page instead of being displayed following the tiddler containing the link that was clicked.\n<<<\n!!!!!Configuration\n<<<\nWhen installed, this plugin automatically adds checkboxes in the AdvancedOptions tiddler so you can enable/disable the plugin behavior. For convenience, these checkboxes are also included here:\n\n<<option chkSinglePageMode>> Display one tiddler at a time\n<<option chkTopOfPageMode>> Always open tiddlers at the top of the page\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''SinglePageModePlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for SinglePageMode handling^^\n\nWhen installed, this plugin automatically adds checkboxes in the ''shadow'' AdvancedOptions tiddler so you can enable/disable this behavior. However, if you have customized your AdvancedOptions, you will need to ''manually add these checkboxes to your customized tiddler.''\n<<<\n!!!!!Revision History\n<<<\n''2006.07.04 [2.2.1]'' in hijack for displayTiddlers(), suspend TPM as well as SPM so that DefaultTiddlers displays in the correct order.\n''2006.06.01 [2.2.0]'' added chkTopOfPageMode (TPM) handling\n''2006.02.04 [2.1.1]'' moved global variable declarations to config.* to avoid FireFox 1.5.0.1 crash bug when assigning to globals\n''2005.12.27 [2.1.0]'' hijack displayTiddlers() so that SPM can be suspended during startup while displaying the DefaultTiddlers (or #hash list). Also, corrected initialization for undefined SPM flag to "false", so default behavior is to display multiple tiddlers\n''2005.12.27 [2.0.0]'' Update for TW2.0\n''2005.11.24 [1.1.2]'' When the back and forward buttons are used, the page now changes to match the URL. Based on code added by Clint Checketts\n''2005.10.14 [1.1.1]'' permalink creation now calls encodeTiddlyLink() to handle tiddler titles with spaces in them\n''2005.10.14 [1.1.0]'' added automatic setting of window title and location bar ('auto-permalink'). feature suggestion by David Dickens.\n''2005.10.09 [1.0.1]'' combined documentation and code in a single tiddler\n''2005.08.15 [1.0.0]'' Initial Release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\nSupport for BACK/FORWARD buttons adapted from code developed by Clint Checketts\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.SinglePageMode= {major: 2, minor: 2, revision: 1, date: new Date(2006,7,3)};\n\nif (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=false;\nconfig.shadowTiddlers.AdvancedOptions += "\sn<<option chkSinglePageMode>> Display one tiddler at a time";\n\nif (config.options.chkTopOfPageMode==undefined) config.options.chkTopOfPageMode=false;\nconfig.shadowTiddlers.AdvancedOptions += "\sn<<option chkTopOfPageMode>> Always open tiddlers at the top of the page";\n\nconfig.SPMTimer = 0;\nconfig.lastURL = window.location.hash;\nfunction checkLastURL()\n{\n if (!config.options.chkSinglePageMode)\n { window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }\n if (config.lastURL == window.location.hash)\n return;\n var tiddlerName = convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1)));\n tiddlerName=tiddlerName.replace(/\s[\s[/,"").replace(/\s]\s]/,""); // strip any [[ ]] bracketing\n if (tiddlerName.length) story.displayTiddler(null,tiddlerName,1,null,null);\n}\n\nif (Story.prototype.SPM_coreDisplayTiddler==undefined) Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;\nStory.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)\n{\n if (config.options.chkSinglePageMode) {\n window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));\n config.lastURL = window.location.hash;\n document.title = wikifyPlain("SiteTitle") + " - " + title;\n story.closeAllTiddlers();\n if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);\n }\n if (config.options.chkTopOfPageMode) { story.closeTiddler(title); window.scrollTo(0,0); srcElement=null; }\n this.SPM_coreDisplayTiddler(srcElement,title,template,animate,slowly)\n}\n\nif (Story.prototype.SPM_coreDisplayTiddlers==undefined) Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;\nStory.prototype.displayTiddlers = function(srcElement,titles,template,unused1,unused2,animate,slowly)\n{\n // suspend single-page mode when displaying multiple tiddlers\n var saveSPM=config.options.chkSinglePageMode; config.options.chkSinglePageMode=false;\n var saveTPM=config.options.chkTopOfPageMode; config.options.chkTopOfPageMode=false;\n this.SPM_coreDisplayTiddlers(srcElement,titles,template,unused1,unused2,animate,slowly);\n config.options.chkSinglePageMode=saveSPM; config.options.chkTopOfPageMode=saveTPM;\n}\n//}}}
The University of New Mexico, Fall 2008
[[CS 591.2 Topics in Immunocomputing]]
/*{{{*/\n/*Mocha TiddlyWiki Theme*/\n/*Version 1.0*/\n/*Design and CSS originally by Anthonyy, ported to TiddlyWiki by Saq Imtiaz.*/\n/*}}}*/\n/*{{{*/\n #contentWrapper{\nmargin: 0 3.4em;\n\n font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif; /* Lucida Grande for the Macs, Tahoma for the PCs */\nfont-size: 11px;\n line-height: 1.6em;\n color: #666;\n}\n\n.header {\n background: #fff; \n padding-top: 10px;\n clear: both;\n\nborder-bottom: 4px solid #948979;\n}\n\n.headerShadow { padding: 2.6em 0em 0.5em 0em; }\n\n.siteTitle {\n font-family: 'Trebuchet MS' sans-serif;\n font-weight: bold;\n font-size: 32px;\n color: #CC6633;\n margin-bottom: 30px;\n background-color: #FFF;\n}\n\n.siteTitle a{color:#CC6633; border-bottom:1px dotted #cc6633;}\n\n.siteSubtitle {\n font-size: 1.0em;\n display: block;\n margin: .5em 3em; color: #999999;\n}\n\n#mainMenu {\nposition:relative;\nfloat:left;\nmargin-bottom:1em;\ndisplay:inline;\ntext-align:left;\npadding: 2em 0.5em 0.5em 0em;\nwidth:13em;\nfont-size:1em;\n}\n\n#sidebar{\nposition:relative;\nfloat:right;\nmargin-bottom:1em;\npadding-top:2em;\ndisplay:inline;\n\n}\n\n#displayArea {\n margin: 0em 17em 0em 15em;\n}\n\n.tagClear {clear:none;}\n\n#contentFooter {background:#575352; color:#BFB6B3; clear: both; padding: 0.5em 1em;}\n\n \n #contentFooter a {\n color: #BFB6B3;\n border-bottom: 1px dotted #BFB6B3;\n }\n \n #contentFooter a:hover {\n color: #FFFFFF;\n background-color:#575352;\n }\n\n a,#sidebarOptions .sliderPanel a{\n color:#CC6714;\n text-decoration: none;\n }\n\n a:hover,#sidebarOptions .sliderPanel a:hover {\n color:#CC6714;\n background-color: #F5F5F5; \n }\n\n.viewer .button, .editorFooter .button{\n color: #666;\n border: 1px solid #CC6714;\n}\n\n.viewer .button:hover, \n.editorFooter .button:hover{\n color: #fff;\n background: #CC6714;\n border-color: #CC6714;\n}\n\n.viewer .button:active, .viewer .highlight,.editorFooter .button:active, .editorFooter .highlight{color:#fff; background:#575352;border-color:#575352;}\n\n\n #mainMenu a {\n display: block;\n padding: 5px;\n border-bottom: 1px solid #CCC;\n }\n\n #mainMenu a:link, #navlist a:visited {\n color:#CC6714;\n text-decoration: none;\n }\n \n #mainMenu a:hover {\n background: #000000 url(arrow.gif) 96% 50% no-repeat;\n background-color: #F5F5F5;\n color:#CC6714;\n }\n\n#mainMenu br {display:none;}\n\n#sidebarOptions a {\n color:#999;\n text-decoration: none;\n }\n\n#sidebarOptions a:hover {\n color:#4F4B45;\n background-color: #F5F5F5;border:1px solid #fff;\n }\n\n#sidebarOptions {line-height:1.4em;}\n\n .tiddler {\n padding-bottom: 40px;\n border-bottom: 1px solid #DDDDDD; \n }\n.title {color:#CC6633;}\n.subtitle, .subtitle a { color: #999999; font-size: 1.0em;margin:0.2em;}\n.shadow .title{color:#948979;}\n\n.selected .toolbar a {color:#999999;}\n.selected .toolbar a:hover {color:#4F4B45; background:transparent;border:1px solid #fff;}\n\n.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#4F4B45; background:transparent;border:1px solid #fff;}\n\n .listLink,#sidebarTabs .tabContents {line-height:1.5em;}\n .listTitle {color:#888;}\n\n#sidebarTabs .tabContents {background:#fff;}\n#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#999;}\n#sidebarTabs .tabContents .tiddlyLink:hover,#sidebarTabs .tabContents .button:hover{color:#4F4B45;background:#fff}\n\n#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#4F4B45;background:#fff}\n\n.tabSelected{color:#fff; background:#948979;}\n\n.tabUnselected {\n background: #ccc;\n}\n\n .tabSelected, .tabSelected:hover {\n color: #fff;\n background: #948979;\n border: solid 1px #948979;\npadding-bottom:1px;\n}\n\n .tabUnselected {\n color: #999;\n background: #eee;\n border: solid 1px #ccc;\npadding-bottom:1px;\n}\n\n#sidebarTabs .tabUnselected { border-bottom: none;padding-bottom:3px;}\n#sidebarTabs .tabSelected{padding-bottom:3px;}\n\n\n#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#4F4B45}\n\n#sidebarOptions .sliderPanel {\n background: #fff; border:none;\n font-size: .9em;\n}\n#sidebarOptions .sliderPanel a {font-weight:normal;}\n#sidebarOptions .sliderPanel input {border:1px solid #999;}\n\n.viewer blockquote {\n border-left: 3px solid #948979;\n}\n\n.viewer table {\n border: 2px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer th, thead td {\n background: #948979;\n border: 1px solid #948979;\n color: #fff;\n}\n.viewer pre {\n border: 1px solid #948979;\n background: #f5f5f5;\n}\n\n.viewer code {\n color: #2F2A29;\n}\n\n.viewer hr {\n border-top: dashed 1px #948979;\n}\n\n.editor input {\n border: 1px solid #948979;\n}\n\n.editor textarea {\n border: 1px solid #948979;\n}\n\n.popup {\n background: #948979;\n border: 1px solid #948979;\n}\n\n.popup li.disabled {\n color: #000;\n}\n\n.popup li a, .popup li a:visited {\n color: #eee;\n border: none;\n}\n\n.popup li a:hover {\n background: #575352;\n color: #fff;\n border: none;\n}\n\n.tagging, .tagged {\n border: 1px solid #eee;\n background-color: #F7F7F7;\n}\n\n.selected .tagging, .selected .tagged {\n background-color: #eee;\n border: 1px solid #BFBAB3;\n}\n\n .tagging .listTitle, .tagged .listTitle {\n color: #bbb;\n}\n\n.selected .tagging .listTitle, .selected .tagged .listTitle {\n color: #666; \n}\n\n.tagging .button, .tagged .button {\n color:#aaa;\n}\n.selected .tagging .button, .selected .tagged .button {\n color:#4F4B45;\n}\n\n.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}\n\n.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {\n border: none; background:transparent; text-decoration:underline; color:#000;\n}\n\nh1,h2,h3,h4,h5 { color: #666; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }\nh1 {font-size:18px;}\nh2 {font-size:16px;}\nh3 {font-size: 14px;}\n\n#messageArea {\n border: 4px solid #948979;\n background: #f5f5f5;\n color: #999;\n font-size:90%;\n}\n\n#messageArea a:hover { background:#f5f5f5;}\n\n#messageArea .button{\n color: #666;\n border: 1px solid #CC6714;\n}\n\n#messageArea .button:hover {\n color: #fff;\n background: #948979;\n border-color: #948979;\n}\n\n\n* html .viewer pre {\n margin-left: 0em;\n}\n\n* html .editor textarea, * html .editor input {\n width: 98%;\n}\n\n.searchBar {float:right;font-size: 1.0em;}\n.searchBar .button {color:#999;display:block;}\n.searchBar .button:hover {border:1px solid #fff;color:#4F4B45;}\n.searchBar input { \n background-color: #FFF;\n color: #999999;\n border: 1px solid #CCC; margin-right:3px;\n}\n\n#sidebarOptions .button:active, #sidebarOptions .highlight {background:#F5F5F5;}\n\n*html #contentFooter { padding:0.25em 1em 0.5em 1em;}\n\n#noticeBoard {font-size: 0.9em; color:#999; position:relative;display:block;background:#fff; clear: both; margin-right:0.5em; margin-top:60px; padding:5px; border-bottom: 1px dotted #CCC; border-top: 1px dotted #CCC;}\n#mainMenu #noticeBoard a,#mainMenu #noticeBoard .tiddlyLink {display:inline;border:none;padding:5px 2px;color:#DF9153 }\n#noticeBoard a:hover {border:none;} \n\n#noticeBoard br {display:inline;}\n\n#mainMenu #noticeBoard .button{\n color: #666;\n border: 1px solid #DF9153;padding:2px;\n}\n\n#mainMenu #noticeBoard .button:hover{\n color: #fff;\n background: #DF9153;\n border-color: #DF9153;\n}\n/*}}}*/
/***\n\n|Name|ToggleSideBarMacro|\n|Created by|SaqImtiaz|\n|Location|http://tw.lewcid.org/#ToggleSideBarMacro|\n|Version|1.0|\n|Requires|~TW2.x|\n!Description:\nProvides a button for toggling visibility of the SideBar. You can choose whether the SideBar should initially be hidden or displayed.\n\n!Demo\n<<toggleSideBar "Toggle Sidebar">>\n\n!Usage:\n{{{<<toggleSideBar>>}}} <<toggleSideBar>>\nadditional options:\n{{{<<toggleSideBar label tooltip show/hide>>}}} where:\nlabel = custom label for the button,\ntooltip = custom tooltip for the button,\nshow/hide = use one or the other, determines whether the sidebar is shown at first or not.\n(default is to show the sidebar)\n\nYou can add it to your tiddler toolbar, your MainMenu, or where you like really.\nIf you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:\n{{{ .HideSideBarButton {float:right;} }}}\n\n!History\n*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour. \n*20-07-06: version 0.11\n*27-04-06: version 0.1: working.\n\n!Code\n***/\n//{{{\nconfig.macros.toggleSideBar={};\n\nconfig.macros.toggleSideBar.settings={\n styleHide : "#sidebar { display: none;}\sn"+"#contentWrapper #displayArea { margin-right: 1em;}\sn"+"",\n styleShow : " ",\n arrow1: "«",\n arrow2: "»"\n};\n\nconfig.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)\n{\n var tooltip= params[1]||'toggle sidebar';\n var mode = (params[2] && params[2]=="hide")? "hide":"show";\n var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;\n var label= (params[0]&&params[0]!='.')?params[0]+" "+arrow:arrow;\n var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");\n if (mode == "hide")\n { \n (document.getElementById("sidebar")).setAttribute("toggle","hide");\n setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");\n }\n};\n\nconfig.macros.toggleSideBar.onToggleSideBar = function(){\n var sidebar = document.getElementById("sidebar");\n var settings = config.macros.toggleSideBar.settings;\n if (sidebar.getAttribute("toggle")=='hide')\n {\n setStylesheet(settings.styleShow,"ToggleSideBarStyles");\n sidebar.setAttribute("toggle","show");\n this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);\n }\n else\n { \n setStylesheet(settings.styleHide,"ToggleSideBarStyles");\n sidebar.setAttribute("toggle","hide");\n this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);\n }\n\n return false;\n}\n\nsetStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\sn","ToggleSideBarButtonStyles");\n\n//}}}
Stephanie Forrest
\n
\n//{{{\n//This ensures that the footer sticks to the bottom of the screen when there are no tiddlers open. If that is not desirable, it can be deleted.\nfunction setFooter() {\n if (document.getElementById && document.getElementById("contentFooter") ) {\n var windowHeight=findWindowHeight();\n if (windowHeight>0) {\n var contentHeight= document.getElementById('mainMenu').offsetHeight + document.getElementById("header").offsetHeight + document.getElementById("contentFooter").offsetHeight;\n var menu= document.getElementById('mainMenu');\n if (windowHeight-(contentHeight)>=0) {\n menu.style.position='relative';\n menu.style.marginBottom=(windowHeight-(contentHeight))+'px';\n }\n else {\n menu.style.position='';\n menu.style.marginBottom='';\n }\n }\n }\n}\nwindow.onresize = function() {\n setFooter();\n}\n\nStory.prototype.refreshTiddler_footerhack=Story.prototype.refreshTiddler;\nStory.prototype.refreshTiddler = function (title,template,force)\n{ \nvar theTiddler = Story.prototype.refreshTiddler_footerhack.apply(this,arguments);\nsetFooter();\n return theTiddler;}\n\n//}}}