<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
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
/*{{{*/
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)';}
/*}}}*/
/*{{{*/
* 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;}
/*}}}*/
/***
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;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<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>
<!--}}}-->
<!--{{{-->
<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>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
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>>
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]]
<<importTiddlers>>
[[About]]\n[[List of Collections|Archival Collections List]]\n[[Digital Collections]]\n[[Search Collections|http://library.wcsu.edu/cao/]]\n
<!--{{{-->\n\n<script>\n\nif (screen.width <= 481) {\n\n document.location = "http://mobi.example.com/"\n\n }\n\n</script>\n<div macro='showWhen zw.loggedIn'>\n<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references revisions jump'> </div>\n</div>\n\n<div class='title' macro='view title'></div>\n\n<div macro='showWhen zw.loggedIn'>\n <div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (created <span macro='view created date [[DD MMM YYYY]]'></span>) <span macro='view renamedSubTitle'></span> <span macro='view historicalSubTitle'></span></div>\n</div>\n\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n\n<!--}}}-->\n\n
<<tagCloud>>
/***\nThis tiddler is a special status tiddler. It is a DTML script that interrogates Zope about the status of your tiddlers. The variables below are dynamic and this tiddler is reloaded when you login. Editing this tiddler through ZiddlyWiki will break your ZiddlyWiki. (If you need to make modifications, edit it in the ZMI)\n***/\n//{{{\nif(typeof document.zw == "undefined") var zw = {};\nzw.loggedIn = false;\nzw.anonEdit = false;\nzw.isAdmin = false;\nzw.latestTiddler = 133574410896;\nzw.username = 'Anonymous User';\nconfig.options.txtUserName = 'Anonymous User';\nzw.serverUrl = "http://archives.library.wcsu.edu/archives";\nversion.extensions.ZiddlyWiki = '1';\nzw.tiddlerList = {"2010/05/26": "913.6.10799.34013","2010/07/20": "913.6.10799.34013","2010/09/27": "913.6.10799.34013","2010/11/09": "913.6.10799.34013","2011/02/03": "913.6.10799.34013","2011/04/12": "913.6.10799.34013","2012/02/09": "916.22229.38682.41830","About": "918.9791.45900.37290","Archival Collections List": "918.9793.53478.23534","Banner": "913.7.31542.53435","Brooklyn Historical Society Gift": "913.7.31542.53435","Contents By Title": "913.8.2216.6690","CookieJar": "913.8.2216.6690","Deed of Gift": "913.8.60606.10513","DefaultTiddlers": "913.8.60606.10513","Digital Collections": "916.26989.60507.30276","EAD Production Guide": "913.9.35397.62958","Faculty Monographs": "913.9.35397.62958","Features": "913.57432.44259.19268","FeaturesOld": "913.9.35397.62958","GettingStarted": "913.10.7493.25890","History Research Tutorial": "913.14215.18144.14592","Hours": "913.11.10175.4386","InlineJavascriptPlugin": "913.18.25702.44680","MainMenu": "916.56738.42721.39031","MarkupPostHead": "913.12.56343.27835","News": "916.22229.57051.36044","OptionsPanel": "913.13.43477.53299","PageTemplate": "913.5.26157.45977","Request copies": "913.13.43477.53299","Resource Links": "913.14218.4247.56081","SideBarOptions": "913.45.63087.37188","SimpleSearchPlugin": "913.14.48589.23825","SinglePageModePlugin": "913.14.48589.23825","SiteSubtitle": "913.5.11527.33450","Staff": "917.59264.23581.61184","StyleSheet": "913.5.26157.45977","Tagcloud": "913.15.27918.62105","Unique Titles from Brooklyn Historical Society Gift": "913.15.27918.62105","ViewTemplate": "913.5.26157.45977","WindowTitle": "913.16.72.1570","ZiddlyFormats": "913.16.72.1570"};\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//}}}
<html>\n<head>\n<script>\n<!--\nfunction FP_popUpMsg(msg) {//v1.0\n alert(msg);\n}\n// -->\n</script>\n\n\n</head>\n<body>\n\n<b><font color="#FF0000" size="5">Overview</font></b><p>To begin a research project you need to consider:</p>\n<ol>\n <li>types of resources\n you will need</li>\n <li>how you will get access to those resources </li>\n <li>a strategy of attaining, recording, and creating a developed written \n treatment of the information found in those resources</li>\n</ol>\n<hr>\n <p><i>If you were looking at your research like a lawyer taking a criminal case \nto trial, your secondary sources would be like character witnesses and provide \ncircumstantial evidence.&nbsp; Your primary sources would be exhibits, witnesses to the \ncrime or elements of the crime.&nbsp; </i></p>\n\n<p><b><font size="4">Types of resources... </font></b></p>\n<blockquote>\n <b>\n <font color="#008080" onmouseover="FP_popUpMsg('For example: from wikipedia &quot;...Thaw was the jealous millionaire husband of Evelyn Nesbit, a popular actress and artist\s's model, with whom White had a manipulative relationship when she was 16 (to his 47)...&quot;\sr\sn\sr\snHow does the writer know that Evelyn Nesbit had this relationship?\sr\sn\sr\snHow does the writer know Evelyn\s's age?\sr\sn\sr\snThis is a SECONDARY SOURCE.')">Secondary sources\n</font></b>\n <ul>\n <li>Other peoples&#8217; research\n</li>\n <li>Retelling of events by persons who didn't participate in nor witness the events\n </li>\n\n </ul>\n <p><b>\n <font color="#008080" onmouseover="FP_popUpMsg('For example: a letter from Charles Garlick, Sep 1862:\sr\sn&quot;...I write you this by the hand of my friend Bardsey Gilbert who is taking care of me to let you know where I am and how I am getting along. I was unlucky enough the day of the battle to get a bullet in my body...&quot;\sr\sn\sr\sn\sr\snOne can make some assertions on the presence of Charles Garlick and his regiment in the &quot;battle&quot; (Antietam) and his aquaintance with Bardsey Gilbert.\sr\sn\sr\snThis is a PRIMARY SOURCE.\sr\sn\sr\snLetter Sep 28, 1862 Sharpsburg: The Charles D. Garlick Letters.; MS 007; box: 1 item: 4; Western Connecticut State University.')">Primary sources</font </b></p>\n </b>\n <ul>\n <li>First-hand or contemporary accounts (letters, diaries, \n correspondence, municipal records)</li>\n <li>Photographs, maps, sketches, etc. </li>\n\n <liAudio and video </li>\n </ul>\n <blockquote>\n <blockquote>\n <p>\n <img border="0" src="http://archives.library.wcsu.edu/relatedObjects/searchButton.gif" width="75" height="45"><b><font color="#808080">Helpful links: \n </font></b></p>\n <ul>\n <li>\n\n <a href="http://libguides.wcsu.edu/content.php?pid=115419">When to use books and articles.</a></li>\n \n\n <li>\n <a href="http://libguides.wcsu.edu/content.php?pid=115425&sid=997129">Evaluate &amp; Synthesize the Information You Find</a>\n </li>\n </ul>\n </blockquote>\n </blockquote>\n</blockquote>\n<p><i>Good research relies on good sources and credible sources; this means you \nneed primary sources.&nbsp; </i></p>\n\n<p><i>You must also consider the context of your sources.&nbsp; A popular U.S. \nbook about Communism from the 1950s may not give one the most objective \nperspective on Communism but it will give insight on period opinion.&nbsp; \nSimilarly, a letter documenting wrongs by a corporation written by a recently \nfired employee might need to substantiated before it was taken as fact but it \nwill provide insight on that employee's state of mind. </i></p>\n<p>&nbsp;</p><hr><b>\n<p><b><font size="4">Access to resources... </font></b></p>\n<blockquote>\n <b><font color="#008080">Secondary sources\n</font></b>\n </b>\n <ul>\n\n <li><a href="http://www.consuls.org">CONSULS</a> for books and other \n media.&nbsp; CONSULS lists what's on our shelves and what's on the other \n CSUs and State Library's shelves.</li>\n </ul>\n <blockquote>\n <blockquote>\n <p>\n <img border="0" src="http://archives.library.wcsu.edu/relatedObjects/searchButton.gif" width="75" height="45"><b><font color="#808080">Helpful links: \n </font></b></p>\n\n <ul>\n<li>\n <a href="http://libguides.wcsu.edu/content.php?pid=115427">How to find books on the shelf</a>\n \n </li>\n <li>\n <a href="http://libguides.wcsu.edu/content.php?pid=115427&sid=996856">Library of Congress Classification System</a></li>\n <li>\n <a href="http://firstsearch.oclc.org/WebZ/LogDbChange?next=html/search.html:dbchoice=1:sessionid=fsapp6-51732-gmgy7q0d-n66wqy:entitypagenum=2:0:dbname=WorldCat">Find books at other libraries on WorldCat</a>\n\n </li>\n </ul>\n </blockquote>\n </blockquote>\n <ul>\n <li><a href="http://library.wcsu.edu/web/resources/databases/">Articles</a> \n Scholarly journals, book reviews, Newspapers.&nbsp; Many of these \n articles are available electronically but some are physically on the \n shelves of the library.</li>\n\n </ul>\n <blockquote>\n <blockquote>\n <p>\n <img border="0" src="http://archives.library.wcsu.edu/relatedObjects/searchButton.gif" width="75" height="45"><b><font color="#808080">Helpful links: \n </font></b></p>\n <ul>\n <li>\n <a href="http://libguides.wcsu.edu/content.php?pid=115425&sid=997103">Identify Main Concepts in Your Question and Create Search Statements</a>\n\n </li>\n <li>\n <a href="http://libguides.wcsu.edu/content.php?pid=115425&sid=997126">Using Databases to Find Articles</a>\n </li>\n <li>\n <a href="http://libguides.wcsu.edu/content.php?pid=54175&sid=462282">History Databases at WCSU</a>.&nbsp; Try\n <a href="http://www.jstor.org">Jstor</a>,\n <a href="http://web.ebscohost.com/ehost/search/basic?sid=3f7a8447-11cb-4282-ab02-69a3a6d7cec5%40sessionmgr12&vid=1&hid=25">Academic Search Premier</a> and\n New York Times Historical</li>\n\n </ul>\n </blockquote>\n </blockquote>\n</blockquote>\n <p>&nbsp;</p>\n <blockquote>\n <ul>\n <li><a href="http://libguides.wcsu.edu/ask">Ask \n a reference librarian</a> for encyclopedias or dictionaries available \n for your topic</li>\n\n </ul>\n <blockquote>\n <blockquote>\n <p>\n <img border="0" src="http://archives.library.wcsu.edu/relatedObjects/searchButton.gif" width="75" height="45"><b><font color="#808080">Helpful links: \n </font></b></p>\n <ul>\n\n <li>\n <a href="http://libanswers.wcsu.edu/a.php?qid=19195" show="new">Using Interlibrary Loan</a>\n </li>\n </ul>\n </blockquote>\n </blockquote>\n <ul>\n\n <li>Web sources </li>\n </ul>\n <blockquote>\n <blockquote>\n <p>\n <img border="0" src="http://archives.library.wcsu.edu/relatedObjects/searchButton.gif" width="75" height="45"><b><font color="#808080">Helpful links: \n </font></b></p>\n <ul>\n <li><a href="http://www.googleguide.com/">How to use Google</a></li>\n\n <li>\n <a href="http://libguides.wcsu.edu/content.php?pid=115425&sid=997129">Evaluating Information Sources</a>\n &nbsp;</li>\n </ul>\n </blockquote>\n </blockquote>\n <b>\n <p><b><font color="#008080">Primary sources</font> </b></p></b>\n\n <ul>\n <li><a href="http://www.consuls.org">CONSULS</a>,\n <a href="http://libguides.wcsu.edu/databases">Articles</a>. \n Sometimes first-hand or contemporary accounts are contained in books and \n journals</li>\n <li>Archives and special collections.&nbsp; Most universities, colleges, \n towns, cities, historical societies and museums have some sort of archive. These \n archives many times contain and will allow you to view unpublished \n letters, photos, media, corporate records, municipal records.&nbsp; Many \n of these archives, like the one at\n <a href="archives.library.wcsu.edu/">WCSU</a>, \n have their holdings listed on the Web.&nbsp; </li>\n\n </ul>\n</blockquote>\n<p>&nbsp;</p>\n <blockquote>\n <blockquote>\n <blockquote>\n <p>\n <img border="0" src="http://archives.library.wcsu.edu/relatedObjects/searchButton.gif" width="75" height="45"><b><font color="#808080">Helpful links: \n </font></b></p>\n <ul>\n\n <li>\n <a href="http://archives.library.wcsu.edu/#About">\n How to use the WCSU Archives - Click the "How to" tab</a></li>\n </ul>\n </blockquote>\n </blockquote>\n </blockquote>\n<b><hr>\n<p><font size="4"><b>Strategy</b></font><b><font size="4">... </font></b></p>\n\n<blockquote><b><font color="#008080">Time </font></b></b>\n <ul>\n <li><b>Spend 15 minutes on a computer</b> &quot;Google-ing&quot; your topic and \n looking at CONSULS to see if you find anything pertinent.&nbsp; If \n you can't find anything, maybe rethink your topic based on what you \n do find.</li>\n <li><b>Take notes on what you find</b>.&nbsp; Print out catalog records \n and write what you find in that source on the back or staple notes \n together with catalog record printouts.&nbsp; This will help when making footnotes and assembling your \n bibliography. Estimate the amount of time you will need to spend based \n on how long it takes you to find and annotate one secondary source and \n one primary source.&nbsp; Then you should budget your time accordingly.</li>\n\n <li>When Xeroxing portions from books, make a copy of the book's title \n page and staple it to the copies.&nbsp; This will save you time and \n effort.</li>\n </ul>\n <p><b><font color="#008080">Other people have likely written on your topic</font></b></p>\n <ul>\n <li><b>USE\nBIBLIOGRAPHIES/FOOTNOTES</b> from secondary sources to find other secondary \n sources and primary sources.&nbsp; This will save you LOTS of time, and \n likely the writer of the piece you are looking at did the same thing.</li>\n\n </ul>\n <p><font color="#008080"><b>Your research should go from very general to \n specific</b></font></p><img src="http://archives.library.wcsu.edu/images/methods.jpg" width="500" />\n</blockquote><b>\n<div id="navbar"></div>\n</body>\n</html>
<html>\n<div id="content">\n<img src="http://archives.library.wcsu.edu/relatedObjects/top.jpg" align="top"/>\n</div>\n</html>\n!!!Main Menu\n[[About]]\n[[Archival Collections List]]\n[[Digital Collections]]\n[[Resource Links]]\n[[Search Collections|http://library.wcsu.edu/cao/search]]\n[[Request copies]]\n[[Donations]]\n[[CT Archives Online (CAO)|http://library.wcsu.edu/cao]]\n[[DSpace @ WestConn|http://library.wcsu.edu/dspace/community-list]]\n----\n!!!Other Items\n[[Staff]]\n[[News]]\n[[Features]]\n[[History Libguide|http://libguides.wcsu.edu/history]]\n[[WCSU Slide show|http://archives.library.wcsu.edu/slideshow/test1.html]]\n[[Haas 40 years|http://archives.library.wcsu.edu/Haas]]\n[[Warner WWII|http://archives.library.wcsu.edu/WarnerSlideShow/]]\n----\n!!![img[http://archives.library.wcsu.edu/relatedObjects/haasSculpture.gif]][[Library Home|http://library.wcsu.edu]]\n!!![img[http://archives.library.wcsu.edu/relatedObjects/whiteCupola.gif]][[University Home|http://www.wcsu.edu]]\n\n''<<search>>''\n\n[img[http://archives.library.wcsu.edu/relatedObjects/oldLogo.jpg]]\n<script>\nif (!zw.loggedIn) return "[[Login|/archives/login]]"\n</script>\n
Powered by [[ZiddlyWiki|http://ziddlywiki.com]]\n
/***\n| Name:|RenameTagsPlugin|\n| Description:|Allows you to easily rename or delete tags across multiple tiddlers|\n| Version:|3.0 ($Rev: 1845 $)|\n| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\nRename a tag and you will be prompted to rename it in all its tagged tiddlers.\n***/\n//{{{\nconfig.renameTags = {\n\n prompts: {\n rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",\n remove: "Remove the tag '%0' from %1 tidder%2?"\n },\n\n removeTag: function(tag,tiddlers) {\n store.suspendNotifications();\n for (var i=0;i<tiddlers.length;i++) {\n store.setTiddlerTag(tiddlers[i].title,false,tag);\n }\n store.resumeNotifications();\n store.notifyAll();\n },\n\n renameTag: function(oldTag,newTag,tiddlers) {\n store.suspendNotifications();\n for (var i=0;i<tiddlers.length;i++) {\n store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old\n store.setTiddlerTag(tiddlers[i].title,true,newTag); // add new\n }\n store.resumeNotifications();\n store.notifyAll();\n },\n\n storeMethods: {\n\n saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,\n\n saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields) {\n if (title != newTitle) {\n var tagged = this.getTaggedTiddlers(title);\n if (tagged.length > 0) {\n // then we are renaming a tag\n if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))\n config.renameTags.renameTag(title,newTitle,tagged);\n\n if (!this.tiddlerExists(title) && newBody == "")\n // dont create unwanted tiddler\n return null;\n }\n }\n return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields);\n },\n\n removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,\n\n removeTiddler: function(title) {\n var tagged = this.getTaggedTiddlers(title);\n if (tagged.length > 0)\n if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))\n config.renameTags.removeTag(title,tagged);\n return this.removeTiddler_orig_renameTags(title);\n }\n\n },\n\n init: function() {\n merge(TiddlyWiki.prototype,this.storeMethods);\n }\n}\n\nconfig.renameTags.init();\n\n//}}}
<<timeline created >>
/***\n''NestedSlidersPlugin for TiddlyWiki version 1.2.x and 2.0''\n^^author: Eric Shulman\nsource: http://www.TiddlyTools.com/#NestedSlidersPlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n\nQuickly make any tiddler content into an expandable 'slider' panel, without needing to create a separate tiddler to contain the slider content. Optional syntax allows ''default to open'', ''custom button label/tooltip'' and ''automatic blockquote formatting.''\n\nYou can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created. This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.\n\nFor more details, please click on a section headline below:\n++++!!!!![Configuration]>\nDebugging messages for 'lazy sliders' deferred rendering:\n<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering\n<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered\n===\n++++!!!!![Usage]>\nWhen installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content. Use {{{+++}}} and {{{===}}} to delimit the slider content. Additional optional syntax elements let you specify\n*default to open\n*cookiename\n*heading level\n*floater (with optional CSS width value)\n*mouse auto rollover\n*custom label/tooltip/accesskey\n*automatic blockquote\n*deferred rendering\nThe complete syntax, using all options, is:\n//{{{\n++++(cookiename)!!!!!^width^*[label=key|tooltip]>...\ncontent goes here\n===\n//}}}\nwhere:\n* {{{+++}}} (or {{{++++}}}) and {{{===}}}^^\nmarks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.^^\n* {{{(cookiename)}}}^^\nsaves the slider opened/closed state, and restores this state whenever the slider is re-rendered.^^\n* {{{!}}} through {{{!!!!!}}}^^\ndisplays the slider label using a formatted headline (Hn) style instead of a button/link style^^\n* {{{^width^}}} (or just {{{^}}})^^\nmakes the slider 'float' on top of other content rather than shifting that content downward. 'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.). If omitted, the default width is "auto" (i.e., fit to content)^^\n* {{{*}}}^^\nautomatically opens/closes slider on "rollover" as well as when clicked^^\n* {{{[label=key|tooltip]}}}^^\nuses custom label/tooltip/accesskey. {{{=key}}} and {{{|tooltip}}} are optional. 'key' is must be a ''single letter only''. Default labels/tootips are: ">" (more) and "<" (less), with no default access key assignment.^^\n* {{{">"}}} //(without the quotes)//^^\nautomatically adds blockquote formatting to slider content^^\n* {{{"..."}}} //(without the quotes)//^^\ndefers rendering of closed sliders until the first time they are opened. //Note: deferred rendering may produce unexpected results in some cases. Use with care.//^^\n\n//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//\n===\n++++!!!!![Examples]>\nsimple in-line slider: \n{{{\n+++\n content\n===\n}}}\n+++\n content\n===\n----\nuse a custom label and tooltip: \n{{{\n+++[label|tooltip]\n content\n===\n}}}\n+++[label|tooltip]\n content\n===\n----\ncontent automatically blockquoted: \n{{{\n+++>\n content\n===\n}}}\n+++>\n content\n===\n----\nall options combined //(default open, cookie, heading, sized floater, rollover, label/tooltip/key, blockquoted, deferred)//\n{{{\n++++(testcookie)!!!^30em^*[label=Z|click or press Alt-Z to open]>...\n content\n===\n}}}\n++++(testcookie)!!!^30em^*[label=Z|click or press Alt-Z to open]>...\n content\n===\n----\ncomplex nesting example:\n{{{\n+++^[get info...=I|click for information or press Alt-I]\n put some general information here, plus a floating slider with more specific info:\n +++^10em^[view details...|click for details]\n put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===\n ===\n===\n}}}\n+++^[get info...=I|click for information or press Alt-I]\n put some general information here, plus a floating slider with more specific info:\n +++^10em^[view details...|click for details]\n put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===\n ===\n===\n----\nnested floaters\n>menu: <<tiddler NestedSlidersExample>>\n(see [[NestedSlidersExample]] for definition)\n----\n===\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2006.05.11 - 1.9.0'' added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label\n''2006.05.09 - 1.8.0'' in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element\n''2006.04.24 - 1.7.8'' in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position\n''2006.02.16 - 1.7.7'' corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie\n''2006.02.15 - 1.7.6'' in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)\n''2006.02.04 - 1.7.5'' add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals\n''2006.01.18 - 1.7.4'' only define adjustSliderPos() function if it has not already been provided by another plugin. This lets other plugins 'hijack' the function even when they are loaded first.\n''2006.01.16 - 1.7.3'' added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels. While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels. Short-term workaround is to only adjust the position for 'top-level' floaters.\n''2006.01.16 - 1.7.2'' added button property to slider panel elements so that slider panel can tell which button it belongs to. Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends\n''2006.01.14 - 1.7.1'' added optional "^" syntax for floating panels. Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.\n''2006.01.14 - 1.7.0'' added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)\n''2006.01.03 - 1.6.2'' When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element. (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)\n''2005.12.15 - 1.6.1'' added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders\nremoved checkbox option for 'global' application of lazy sliders\n''2005.11.25 - 1.6.0'' added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)\n''2005.11.21 - 1.5.1'' revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability. Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.\n''2005.11.20 - 1.5.0'' added (cookiename) syntax for optional tracking and restoring of slider open/close state\n''2005.11.11 - 1.4.0'' added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style\n''2005.11.07 - 1.3.0'' removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other\nformatting extensions) and simplified/improved regular expressions to trim multiple excess newlines\n''2005.11.05 - 1.2.1'' changed name to NestedSlidersPlugin\nmore documentation\n''2005.11.04 - 1.2.0'' added alternative character-mode syntax {{{(((}}} and {{{)))}}}\ntweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax\n''2005.11.03 - 1.1.1'' fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used\ncode cleanup, added documentation\n''2005.11.03 - 1.1.0'' changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}\nchanged name to EasySlidersPlugin\n''2005.11.03 - 1.0.0'' initial public release\n<<<\n!!!!!Credits\n<<<\nThis feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.nestedSliders = {major: 1, minor: 9, revision: 0, date: new Date(2006,5,11)};\n//}}}\n\n//{{{\n// options for deferred rendering of sliders that are not initially displayed\nif (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;\nif (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;\n\n// default styles for 'floating' class\nsetStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \s\n background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");\n//}}}\n\n//{{{\nconfig.formatters.push( {\n name: "nestedSliders",\n match: "\s\sn?\s\s+{3}",\n terminator: "\s\ss*\s\s={3}\s\sn?",\n lookahead: "\s\sn?\s\s+{3}(\s\s+)?(\s\s([^\s\s)]*\s\s))?(\s\s!*)?(\s\s^(?:[^\s\s^\s\s*\s\s[\s\s>]*\s\s^)?)?(\s\s*)?(\s\s[[^\s\s]]*\s\s])?(\s\s>)?(\s\s.\s\s.\s\s.)?\s\ss*",\n handler: function(w)\n {\n var lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n // location for rendering button and panel\n var place=w.output;\n\n // default to closed, no cookie, no accesskey\n var show="none"; var title=">"; var tooltip="show"; var cookie=""; var key="";\n\n // extra "+", default to open\n if (lookaheadMatch[1])\n { show="block"; title="<"; tooltip="hide"; }\n\n // cookie, use saved open/closed state\n if (lookaheadMatch[2]) {\n cookie=lookaheadMatch[2].trim().slice(1,-1);\n cookie="chkSlider"+cookie;\n if (config.options[cookie]==undefined)\n { config.options[cookie] = (show=="block") }\n if (config.options[cookie])\n { show="block"; title="<"; tooltip="hide"; }\n else\n { show="none"; title=">"; tooltip="show"; }\n }\n\n // parse custom label/tooltip/accesskey: [label=X|tooltip]\n if (lookaheadMatch[6]) {\n title = lookaheadMatch[6].trim().slice(1,-1);\n var pos=title.indexOf("|");\n if (pos!=-1) { tooltip = title.substr(pos+1,title.length); title=title.substr(0,pos); }\n if (title.substr(title.length-2,1)=="=") { key=title.substr(title.length-1,1); title=title.slice(0,-2); }\n if (pos==-1) tooltip += " "+title; // default tooltip: "show/hide <title>"\n }\n\n // create the button\n if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link\n var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;\n var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,null,title);\n btn.onclick=onClickNestedSlider;\n btn.setAttribute("href","javascript:;");\n btn.setAttribute("title",tooltip);\n }\n else\n var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider);\n btn.sliderCookie = cookie; // save the cookiename (if any) in the button object\n btn.keyparam=key; // save the access key letter ("" if none)\n if (key.length) {\n btn.setAttribute("accessKey",key); // init access key\n btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus\n }\n\n // "non-click" MouseOver open/close slider\n if (lookaheadMatch[5]) btn.onmouseover=onClickNestedSlider;\n\n // create slider panel\n var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";\n var panel=createTiddlyElement(place,"div",null,panelClass,null);\n panel.style.display = show;\n if (lookaheadMatch[4] && lookaheadMatch[4].length>2) panel.style.width=lookaheadMatch[4].slice(1,-1); // custom width\n panel.button = btn; // so the slider panel know which button it belongs to\n btn.sliderPanel=panel;\n\n // render slider (or defer until shown) \n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n if ((show=="block")||!lookaheadMatch[8]) {\n // render now if panel is supposed to be shown or NOT deferred rendering\n w.subWikify(lookaheadMatch[7]?createTiddlyElement(panel,"blockquote"):panel,this.terminator);\n // align slider/floater position with button\n adjustSliderPos(place,btn,panel,panelClass);\n }\n else {\n var src = w.source.substr(w.nextMatch);\n var endpos=findMatchingDelimiter(src,"+++","===");\n panel.setAttribute("raw",src.substr(0,endpos));\n panel.setAttribute("blockquote",lookaheadMatch[7]?"true":"false");\n panel.setAttribute("rendered","false");\n w.nextMatch += endpos+3;\n if (w.source.substr(w.nextMatch,1)=="\sn") w.nextMatch++;\n if (config.options.chkDebugLazySliderDefer) alert("deferred '"+title+"':\sn\sn"+panel.getAttribute("raw"));\n }\n }\n }\n }\n)\n\n// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)\nfunction findMatchingDelimiter(src,starttext,endtext) {\n var startpos = 0;\n var endpos = src.indexOf(endtext);\n // check for nested delimiters\n while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {\n // count number of nested 'starts'\n var startcount=0;\n var temp = src.substring(startpos,endpos-1);\n var pos=temp.indexOf(starttext);\n while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }\n // set up to check for additional 'starts' after adjusting endpos\n startpos=endpos+endtext.length;\n // find endpos for corresponding number of matching 'ends'\n while (startcount && endpos!=-1) {\n endpos = src.indexOf(endtext,endpos+endtext.length);\n startcount--;\n }\n }\n return (endpos==-1)?src.length:endpos;\n}\n//}}}\n\n//{{{\nwindow.onClickNestedSlider=function(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var theLabel = theTarget.firstChild.data;\n var theSlider = theTarget.sliderPanel\n var isOpen = theSlider.style.display!="none";\n // if using default button labels, toggle labels\n if (theLabel==">") theTarget.firstChild.data = "<";\n else if (theLabel=="<") theTarget.firstChild.data = ">";\n // if using default tooltips, toggle tooltips\n if (theTarget.getAttribute("title")=="show")\n theTarget.setAttribute("title","hide");\n else if (theTarget.getAttribute("title")=="hide")\n theTarget.setAttribute("title","show");\n if (theTarget.getAttribute("title")=="show "+theLabel)\n theTarget.setAttribute("title","hide "+theLabel);\n else if (theTarget.getAttribute("title")=="hide "+theLabel)\n theTarget.setAttribute("title","show "+theLabel);\n // deferred rendering (if needed)\n if (theSlider.getAttribute("rendered")=="false") {\n if (config.options.chkDebugLazySliderRender)\n alert("rendering '"+theLabel+"':\sn\sn"+theSlider.getAttribute("raw"));\n var place=theSlider;\n if (theSlider.getAttribute("blockquote")=="true")\n place=createTiddlyElement(place,"blockquote");\n wikify(theSlider.getAttribute("raw"),place);\n theSlider.setAttribute("rendered","true");\n }\n // show/hide the slider\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n theSlider.style.display = isOpen ? "none" : "block";\n // if showing panel, set focus to first 'focus-able' element in panel\n if (theSlider.style.display!="none") {\n var ctrls=theSlider.getElementsByTagName("*");\n for (var c=0; c<ctrls.length; c++) {\n var t=ctrls[c].tagName.toLowerCase();\n if (t=="input" || t=="textarea" || t=="select")\n { ctrls[c].focus(); break; }\n }\n }\n if (this.sliderCookie && this.sliderCookie.length)\n { config.options[this.sliderCookie]=!isOpen; saveOptionCookie(this.sliderCookie); }\n // align slider/floater position with target button\n adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);\n return false;\n}\n\n// hijack animation handler 'stop' handler so overflow is visible after animation has completed\nSlider.prototype.coreStop = Slider.prototype.stop;\nSlider.prototype.stop = function() { this.coreStop(); this.element.style.overflow = "visible"; }\n\n// adjust panel position based on button position\nif (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {\n if (panelClass=="floatingPanel") {\n var left=0;\n var top=btn.offsetHeight; \n if (place.style.position!="relative") {\n var left=findPosX(btn);\n var top=findPosY(btn)+btn.offsetHeight;\n var p=place; while (p && p.className!='floatingPanel') p=p.parentNode;\n if (p) { left-=findPosX(p); top-=findPosY(p); }\n }\n if (left+panel.offsetWidth > getWindowWidth()) left=getWindowWidth()-panel.offsetWidth-10;\n panel.style.left=left+"px"; panel.style.top=top+"px";\n }\n}\n\nfunction getWindowWidth() {\n if(document.width!=undefined)\n return document.width; // moz (FF)\n if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )\n return document.documentElement.clientWidth; // IE6\n if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )\n return document.body.clientWidth; // IE4\n if(window.innerWidth!=undefined)\n return window.innerWidth; // IE - general\n return 0; // unknown\n}\n//}}}
As of July 2010\n<html>\n<table>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705248">The Ed letters : memories of a New England boyhood / Edwin and Cliff Ashley edited by Diane deManbey Duebber</a>\n</td>\n<td>Ashley, Edwin, 1913-</td>\n<td>New Bedford, Mass. : Spinner Publications, c2001</td>\n<td>b27052485</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874389">Inquiry in education / Mark W. Aulls, Bruce M. Shore</a>\n</td>\n<td>Aulls, Mark W., 1942-</td>\n<td>New York, NY : Lawerence Erlbaum Associates, c2008</td>\n<td>b28743891</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2919502">Benjamin Britten s the young person s guide to the orchestra : teaching strategies for the classroom / by Wesley Ball</a>\n</td>\n<td>Ball, Wesley</td>\n<td>Milwaukee, Wi. : Hal Leonard Corporation, 2005</td>\n<td>b29195020</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3040346">The Nutcracker Suite: Active Listening Strategies</a>\n</td>\n<td>Ball, Wesley</td>\n<td>Hal Leonard Music Publishing 2007</td>\n<td>b30403467</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1295214">The Communist collapse in Indonesia [by] Arnold C. Brackman</a>\n</td>\n<td>Brackman, Arnold C</td>\n<td>New York, Norton [1969]</td>\n<td>b1295214x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1429057">The search for the gold of Tutankhamen</a>\n</td>\n<td>Brackman, Arnold C</td>\n<td>London, Robert Hale Limited [1978, c1976]</td>\n<td>b14290571</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2534376">The last emperor / by Arnold C. Brackman</a>\n</td>\n<td>Brackman, Arnold C</td>\n<td>New York : Carroll &amp; Graf, 1991, c1975</td>\n<td>b25343762</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1461995">Fire in the crucible : the alchemy of creative genius</a>\n</td>\n<td>Briggs, John</td>\n<td>New York : St. Martin s Press, 1988</td>\n<td>b14619957</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1566618">Fractals : the patterns of chaos : a new aesthetic of art, science, and nature / John Briggs</a>\n</td>\n<td>Briggs, John, 1945-</td>\n<td>New York : Simon &amp; Schuster, c1992</td>\n<td>b15666189</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874378">Trickster tales / by J.P. Briggs</a>\n</td>\n<td>Briggs, John, 1945-</td>\n<td>Waterbury, CT : Fine Tooth Press, 2005</td>\n<td>b28743787</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874379">Seven life lessons of chaos : spiritual wisdom from the science of change / John Briggs and F. David Peat</a>\n</td>\n<td>Briggs, John, 1945-</td>\n<td>New York : HarperPerennial, 2000</td>\n<td>b28743799</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2908278">Entangled landscapes : stories and poems about the mind in nature / J.P. Briggs &amp; James R. Scrimgeour</a>\n</td>\n<td>Briggs, John, 1945-</td>\n<td>Columbus, Ohio : Pudding House Publications, c2003</td>\n<td>b2908278x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874382">Dark remedy : the impact of Thalidomide and its revival as a vital medicine / Rock Brynner and Trent Stephens</a>\n</td>\n<td>Brynner, Rock, 1946-</td>\n<td>New York : Basic Books, c2001</td>\n<td>b28743829</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874383">Empire &amp; odyssey : the Brynners in Far East Russia and beyond / Rock Brynner</a>\n</td>\n<td>Brynner, Rock, 1946-</td>\n<td>Hanover, N.H. : Steerforth Press, c2006</td>\n<td>b28743830</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2691414">Essays against ruin / by Brian Clements</a>\n</td>\n<td>Clements, Brian, 1965-</td>\n<td>Huntsville, Tex. : Texas Review Press, 1997</td>\n<td>b26914141</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3037942">And how to end it / Brian Clements</a>\n</td>\n<td>Clements, Brian, 1965-</td>\n<td>[Conway, Mass.?] : Quale Press, c2008</td>\n<td>b30379428</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3088656">Disappointed psalms / Brian Clements</a>\n</td>\n<td>Clements, Brian, 1965-</td>\n<td>St. Helena, CA : Meritage Press, c2008</td>\n<td>b30886569</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2725377">Providing efficient, cost-effective, quality health solutions in the 21st century : engaging cutting edge care technologies / by John Robert Coleman, Karen Becky Zagor, Judith Elaine Calhoun</a>\n</td>\n<td>Coleman, John Robert, 1943-</td>\n<td>Springfield, Ill. : Charles C Thomas, c2005</td>\n<td>b27253776</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2295473">Derivatives and equity portfolio management / Bruce M. Collins, Frank J. Fabozzi</a>\n</td>\n<td>Collins, Bruce M</td>\n<td>New Hope, Pa. : Frank J. Fabozzi Associates, c1999</td>\n<td>b22954739</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2907682">Dress thin! : 330 tips : how to use clothing and accessories to flatter your figure / Jeanne M. Dallman and Rose Mary Dallman</a>\n</td>\n<td>Dallman, Jeanne M</td>\n<td>Thousand Oaks, CA : Brainstorm Books, c2005</td>\n<td>b29076821</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2725376">Out of the classroom : observations and investigations in astronomy / Dennis W. Dawson</a>\n</td>\n<td>Dawson, Dennis W</td>\n<td>Australia Pacific Grove, Calif. : Brooks/Cole, c2002</td>\n<td>b27253764</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874387">Spirits of Texas and New England : over 100 true encounters with the supernatural / Oscar De Los Santos</a>\n</td>\n<td>De Los Santos, Oscar</td>\n<td>Waterbury, CT : Fine Tooth Press, 2004</td>\n<td>b28743878</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874388">Hardboiled egg / Oscar De Los Santos</a>\n</td>\n<td>De Los Santos, Oscar</td>\n<td>Waterbury, CT : Fine Tooth Press, c2004</td>\n<td>b2874388x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1311581">The brink : Cuban missile crisis, 1962 / by David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>New York : Crowell, c1979</td>\n<td>b13115819</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1319617">Thunder of the captains : the short summer in 1950 / David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>New York : Crowell, c1977</td>\n<td>b13196170</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2186170">An Asian tragedy : America and Vietnam / by David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>Brookfield, Conn. : Millbrook Press, c1992</td>\n<td>b21861705</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2500731">Allegiance : Fort Sumter, Charleston, and the beginning of the Civil War / David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>New York : Harcourt, c2001</td>\n<td>b25007312</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2661250">The brink : Cuban missile crisis, 1962 / by David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>London : J.M. Dent, 1980, c1979</td>\n<td>b26612501</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874390">Donnybrook : the Battle of Bull Run, 1861 / David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>Orlando, Fla. : Harcourt, c2004</td>\n<td>b28743908</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874391">Dissonance : the turbulent days between Fort Sumter and Bull Run / David Detzer</a>\n</td>\n<td>Detzer, David</td>\n<td>Orlando : Harcourt, c2006</td>\n<td>b2874391x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1012270">We crown them all : an illustrated history of Danbury / William E. Devlin. "Partners in progress" / by Kristin Nord sponsored by the Danbury Scott-Fanton Museum and Historical Society</a>\n</td>\n<td>Devlin, William E., 1949-</td>\n<td>Woodland Hills, Calif. : Windsor Publications, c1984</td>\n<td>b10122709</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2523117">Optimal database marketing : strategy, development, and data mining / Ronald G. Drozdenko, Perry D. Drake</a>\n</td>\n<td>Drozdenko, Ronald G</td>\n<td>Thousand Oaks, Calif. : Sage Pub., c2002</td>\n<td>b25231170</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2520283">Dictionary of developmental biology and embryology / Frank J. Dye</a>\n</td>\n<td>Dye, Frank J. (Frank John), 1942-</td>\n<td>New York : Wiley-Liss, c2002</td>\n<td>b25202832</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2454391">Human life before birth / Frank J. Dye</a>\n</td>\n<td>Dye, Frank J. (Frank John), 1942-</td>\n<td>Amsterdam : Harwood Academic, c2000</td>\n<td>b24543913</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1021701">Smarter money : an investment game plan for those who made it and want to keep it / Frank J. Fabozzi and Stephen Feldman</a>\n</td>\n<td>Fabozzi, Frank J</td>\n<td>Chicago, IL : Probus Pub. Co., c1985</td>\n<td>b10217010</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1028430">New England</a>\n</td>\n<td>Finch, Grant E</td>\n<td>New York, Rand McNally, c1933</td>\n<td>b10284308</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2628606">The growth of anti-immigrant parties in Western Europe / Rachel K. Gibson</a>\n</td>\n<td>Gibson, Rachel Kay</td>\n<td>Lewiston : Edwin Mellen Press, c2002</td>\n<td>b26286063</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1665131">3-D geometric origami : modular polyhedra / Rona Gurkewitz and Bennett Arnstein</a>\n</td>\n<td>Gurkewitz, Rona</td>\n<td>New York : Dover Publications, 1995</td>\n<td>b16651315</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874591">Multimodular origami polyhedra : archimedeans, buckyballs, and duality / Rona Gurkewitz and Bennett Arnstein photographs by Bill Quinnell</a>\n</td>\n<td>Gurkewitz, Rona</td>\n<td>Mineola, N.Y. : Dover Publications, c2003</td>\n<td>b28745917</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2876881">The politically incorrect guide to the Constitution / Kevin R.C. Gutzman</a>\n</td>\n<td>Gutzman, Kevin Raeder, 1963-</td>\n<td>Washington, DC : Regnery Pub., c2007</td>\n<td>b28768814</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2877624">Virginia s American Revolution : from dominion to republic, 1776-1840 / Kevin R.C. Gutzman</a>\n</td>\n<td>Gutzman, Kevin Raeder, 1963-</td>\n<td>Lanham : Lexington Books, c2007</td>\n<td>b28776240</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1453496">High nonsensical words : a study of the works of Standish James O Grady / by Edward A. Hagan</a>\n</td>\n<td>Hagan, Edward A</td>\n<td>Troy, N.Y. : Whitston Pub. Co., 1986</td>\n<td>b14534964</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1680398">Leading young children to music / B. Joan E. Haines, Linda L. Gerber</a>\n</td>\n<td>Haines, B. Joan E. (Beatrice Joan Elizabeth), 1920-</td>\n<td>Englewood Cliffs, N.J. : Merrill, c1996</td>\n<td>b1680398x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2680363">Introduction to population genetics / Richard Halliburton</a>\n</td>\n<td>Halliburton, Richard, 1946-</td>\n<td>Upper Saddle River, NJ : Pearson/Prentice Hall, 2004</td>\n<td>b2680363x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2840392">Lessons in physics / by Lothrop D. Higgins</a>\n</td>\n<td>Higgins, Lothrop D. (Lothrop Davis), b. 1876</td>\n<td>Boston London : Ginn &amp; Company, c1903</td>\n<td>b28403927</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3051942">Introductory physics</a>\n</td>\n<td>Higgins, Lothrop D. (Lothrop Davis), b. 1876</td>\n<td>Boston, Ginn [c1923]</td>\n<td>b30519421</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1408010">Freddie [by] Charlotte H. Isham</a>\n</td>\n<td>Isham, Charlotte H</td>\n<td>Philadelphia, Franklin Pub. Co. [c1972]</td>\n<td>b14080102</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1203493">Issues and response [compiled by] Lee A. Jacobus</a>\n</td>\n<td>Jacobus, Lee A., comp</td>\n<td>New York, Harcourt, Brace &amp; World [1968]</td>\n<td>b12034939</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2452300">Three faces of love / Rolf M. Johnson</a>\n</td>\n<td>Johnson, Rolf M</td>\n<td>DeKalb, Ill. : Northern Illinois University Press, c2001</td>\n<td>b24523008</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072442">A defense of an iconic theory of musical expression / by Rolf M. Johnson</a>\n</td>\n<td>Johnson, Rolf M. (Rolf Martin), 1940-</td>\n<td>1976</td>\n<td>b30724429</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2185956">Human, the amazing animal / Kalpataru Kanungo</a>\n</td>\n<td>Kanungo, K. (Kal)</td>\n<td>Bhubaneswar, Orissa : Mayur Publications, c1996</td>\n<td>b21859565</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2423873">Living world of the ocean / Kalpataru Kanungo, with an introduction by Dr. B.K. Behura</a>\n</td>\n<td>Kanungo, Kalpataru</td>\n<td>Bhubaneswar, India : Akankshya Publications, 2000</td>\n<td>b24238739</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3048229">Ancient philosophy and modern science : an inquiry into conceptual links / Kalpataru Kanungo</a>\n</td>\n<td>Kanungo, Kalpataru</td>\n<td>Delhi : Pencraft International, 2009</td>\n<td>b3048229x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2501299">Poems. Selections;'Selected poems of Charles Henry Kauffman / compiled with an introduction by Lucy Kauffman Braibanti and Ralph Braibanti'</a>\n</td>\n<td>Kauffman, Charles Henry, 1890-1976</td>\n<td>Danbury, Conn. : Western Connecticut State University Foundation, 2001</td>\n<td>b2501299x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2638735">Your career in psychology : psychology and the law / Tara L. Kuther</a>\n</td>\n<td>Kuther, Tara L</td>\n<td>Belmont, CA : Wadsworth/Thomson Learning, c2004</td>\n<td>b26387359</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2638736">Careers in psychology : opportunities in a changing world / Tara L. Kuther, Robert D. Morgan</a>\n</td>\n<td>Kuther, Tara L</td>\n<td>Belmont, Calif. : Wadsworth/Thomson Learning, c2004</td>\n<td>b26387360</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874593">Your career in psychology : industrial/organizational psychology / Tara L. Kuther</a>\n</td>\n<td>Kuther, Tara L</td>\n<td>Australia Belmont, CA : Thomson/Wadsworth, c2005</td>\n<td>b28745930</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874594">Your career in psychology : clinical and counseling psychology / Tara L. Kuther</a>\n</td>\n<td>Kuther, Tara L</td>\n<td>Belmont, CA : Thomson/Wadsworth, c2006</td>\n<td>b28745942</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874595">Graduate study in psychology : your guide to success / by Tara L. Kuther</a>\n</td>\n<td>Kuther, Tara L</td>\n<td>Springfield, Ill. : Charles C. Thomas Publisher, Ltd., 2004</td>\n<td>b28745954</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3040371">The theory of iconic realism : understanding the arts through cultural context / Jeanne I. Lakatos</a>\n</td>\n<td>Lakatos, Jeanne I</td>\n<td>Lewiston : Edwin Mellen Press, c2008</td>\n<td>b30403716</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1427193">Llibre de l orde de cavalleria. English;'The book of the ordre of chyvalry or knyghthode'</a>\n</td>\n<td>Llull, Ramon, 1232?-1316</td>\n<td>Amsterdam : Theatrum Orbis Terrarum Norwood, N.J. : W. J. Johnson, 1976</td>\n<td>b1427193x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2598503">Belongingness : the critical variable in the residential treatment of alcoholism / by David Francis Machell</a>\n</td>\n<td>Machell, David Francis</td>\n<td>1984</td>\n<td>b25985036</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2311384">Monet in the 20th century / Paul Hayes Tucker with George T.M. Shackelford and MaryAnne Stevens essays by Romy Golan, John House, and Michael Leja</a>\n</td>\n<td>Monet, Claude, 1840-1926</td>\n<td>London : Royal Academy of Arts Boston : Museum of Fine Arts New Haven : Published in association with Yale University Press, c1998</td>\n<td>b23113844</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2321163">The cheers and the tears : a healthy alternative to the dark side of youth sports today / Shane Murphy</a>\n</td>\n<td>Murphy, Shane M., 1957-</td>\n<td>San Francisco : Jossey-Bass Publishers, c1999</td>\n<td>b23211635</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874948">The trading athlete : winning the mental game of online trading / Shane Murphy, Doug Hirschhorn</a>\n</td>\n<td>Murphy, Shane M., 1957-</td>\n<td>New York : Wiley, c2001</td>\n<td>b28749480</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2456826">The clockmaker s apprentice</a>\n</td>\n<td>Myhill, Carl S</td>\n<td>Lexington, Mass. : Ginn Pub., 1983</td>\n<td>b24568260</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2725386">The inverted mirror : mythologizing the enemy in France and Germany, 1898-1914 / Michael E. Nolan</a>\n</td>\n<td>Nolan, Michael E</td>\n<td>New York : Berghahn Books, 2005</td>\n<td>b27253867</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2725374">Sun and wind / Standish James O Grady edited by Edward A. Hagan</a>\n</td>\n<td>O Grady, Standish, 1846-1928</td>\n<td>Dublin : University College Dublin Press, 2004</td>\n<td>b27253740</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2613259">Deems Taylor : a biography / James A. Pegolotti with a foreword by Gerard Schwarz</a>\n</td>\n<td>Pegolotti, James A</td>\n<td>Boston : Northeastern University Press, c2003</td>\n<td>b2613259x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2280343">The creation of jazz : music, race, and culture in urban America / Burton W. Peretti</a>\n</td>\n<td>Peretti, Burton W. (Burton William), 1961-</td>\n<td>Urbana : University of Illinois Press, c1992</td>\n<td>b22803439</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2993742">Lift every voice : the history of African American music / Burton W. Peretti</a>\n</td>\n<td>Peretti, Burton W. (Burton William), 1961-</td>\n<td>Lanham, Md. : Rowman &amp; Littlefield Publishers, c2009</td>\n<td>b29937425</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2490080">Ethics and conflict / Kathleen Ouimet Perrin, James McGhee</a>\n</td>\n<td>Perrin, Kathleen Ouimet</td>\n<td>Thorofare, NJ : SLACK, Inc., c2001</td>\n<td>b24900801</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2740370">Monograph of Podostemum (Podostemaceae) / C. Thomas Philbrick, Alejandro Novelo R</a>\n</td>\n<td>Philbrick, C. Thomas</td>\n<td>Ann Arbor, Mich. : American Society of Plant Taxonomists, c2004</td>\n<td>b27403701</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2906477">Proli Footwear, Inc. [by] Patricia M. Poli [and] Richard J. Proctor</a>\n</td>\n<td>Poli, Patricia M.</td>\n<td>Mason, Ohio, Thomson Learning, 2003</td>\n<td>b29064776</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2770626">When the Purple Mountain burns : a novel / Shouhua Qi</a>\n</td>\n<td>Qi, Shouhua</td>\n<td>San Francisco : Long River Press, c2005</td>\n<td>b27706266</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874951">Red Guard fantasies and other stories / Shouhua Qi</a>\n</td>\n<td>Qi, Shouhua</td>\n<td>San Francisco : Long River Press, 2007</td>\n<td>b28749510</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2908277">The Swallow Musings on cross-cultural experience and (mis)understanding</a>\n</td>\n<td>Qi, Shouhua</td>\n<td>Shanghai: Shanghai Foreign Language Education Press, [2002]</td>\n<td>b29082778</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2656906">Dictionary for library and information science / Joan M. Reitz</a>\n</td>\n<td>Reitz, Joan M</td>\n<td>Westport, Conn. : Libraries Unlimited, c2004</td>\n<td>b26569061</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1623377">A year as a lion / Eric Roman</a>\n</td>\n<td>Roman, Eric, 1926-</td>\n<td>New York : Stein and Day, 1978</td>\n<td>b16233773</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1673039">Hungary and the victor powers, 1945-1950 / Eric Roman</a>\n</td>\n<td>Roman, Eric, 1926-</td>\n<td>New York : St. Martin s Press, 1996</td>\n<td>b16730392</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2347492">The Stalin years in Hungary / Eric Roman</a>\n</td>\n<td>Roman, Eric, 1926-</td>\n<td>Lewiston, NY : E. Mellen Press, 1999</td>\n<td>b23474920</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2689787">Austria-Hungary &amp; the successor states : a reference guide from the Renaissance to the present / Eric Roman</a>\n</td>\n<td>Roman, Eric, 1926-</td>\n<td>New York : Facts On File, c2003</td>\n<td>b26897878</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2819820">The early mathematics of Leonhard Euler / by C. Edward Sandifer</a>\n</td>\n<td>Sandifer, Charles Edward, 1951-</td>\n<td>Washington, D.C. : Mathematical Association of America, c2007</td>\n<td>b28198207</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2875765">How Euler did it / C. Edward Sandifer</a>\n</td>\n<td>Sandifer, Charles Edward, 1951-</td>\n<td>[Washington, DC] : Mathematical Association of America, c2007</td>\n<td>b28757658</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874935">When genres collide : selected essays from the 37th Annual Meeting of the Science Fiction Research Association, June 22-25, 2006, White Plains, New York / edited by Thomas J. Morrissey and Oscar De Los Santos</a>\n</td>\n<td>Science Fiction Research Association. National Conference (37th : 2006 : White Plains, N.Y.)</td>\n<td>Waterbury, CT : Fine Tooth Press, c2007</td>\n<td>b28749352</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705249">Dikel, your hands and other poems James R. Scrimgeour illustrations by Robert D. Sutherland</a>\n</td>\n<td>Scrimgeour, James R</td>\n<td>Peoria, Illinois : Spoon River Poetry Press, 1979</td>\n<td>b27052497</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2875065">Balloons over Stockholm / James R. Scrimgeour</a>\n</td>\n<td>Scrimgeour, James R</td>\n<td>Waterbury, Conn. : Fine Tooth Press, 2005</td>\n<td>b28750652</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2908279">Brushstrokes of the millennium / James R. Scrimgeour</a>\n</td>\n<td>Scrimgeour, James R</td>\n<td>Danbury, Conn. : Western Connecticut State University Foundation, 2004</td>\n<td>b29082791</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2055518">The route, and other poems / by James R. Scrimgeour</a>\n</td>\n<td>Scrimgeour, James R</td>\n<td>Normal, Ill. : Pikestaff Press, c1996</td>\n<td>b20555180</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2875279">Lafayette foster : a heartbeat away from the presidency by Thomas Vogt, Darla Shaw.</a>\n</td>\n<td>Shaw, Darla</td>\n<td>\n</td>\n<td>b2875279x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874936">Retelling strategies to improve comprehension : effective hands-on strategies for fiction and nonfiction that help students remember and understand what they read / Darla Shaw</a>\n</td>\n<td>Shaw, Darla, 1938-</td>\n<td>New York : Scholastic, c2005</td>\n<td>b28749364</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2605241">Handbook of parametric and nonparametric statistical procedures / by David J. Sheskin</a>\n</td>\n<td>Sheskin, David</td>\n<td>Boca Raton : Chapman &amp; Hall/CRC, c2004</td>\n<td>b26052416</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2815698">Handbook of parametric and nonparametric statistical procedures / David J. Sheskin</a>\n</td>\n<td>Sheskin, David</td>\n<td>Boca Raton : Chapman &amp; Hall/CRC, c2007</td>\n<td>b28156985</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2875366">Batcats : the United States Air Force 553rd Reconnaissance Wing in Southeast Asia / Jack Sikora, Larry Westin</a>\n</td>\n<td>Sikora, Jack</td>\n<td>Lincoln, NE : IUniverse, Inc., 2003</td>\n<td>b28753665</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874392">Modular origami polyhedra / Lewis Simon, Bennett Arnstein, and Rona Gurkewitz</a>\n</td>\n<td>Simon, Lewis</td>\n<td>Mineola, N.Y. : Dover Publications, 1999</td>\n<td>b28743921</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3044900">Global perspectives in the geography curriculum : reviewing the moral case for geography / Alex Standish</a>\n</td>\n<td>Standish, Alex</td>\n<td>London New York : Routledge, 2009</td>\n<td>b30449005</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2877000">Literary works. Selections;'Deems Taylor : selected writings / selected and annotated by James A. Pegolotti'</a>\n</td>\n<td>Taylor, Deems, 1885-1966</td>\n<td>New York : Routledge, c2007</td>\n<td>b28770006</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2755803">The mechanism of catastrophe : the Turkish pogrom of September 6-7, 1955, and the destruction of the Greek community of Istanbul / Speros Vryonis</a>\n</td>\n<td>Vryonis, Speros, 1928-</td>\n<td>New York, N.Y. : Greekworks.com, c2005</td>\n<td>b27558034</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1659337">The flavor of our lives : Grandma Stacey s memoirs / by M. Stoessel Wahl</a>\n</td>\n<td>Wahl, Stacey</td>\n<td>Baltimore, MD : Gateway Press Ridgefield, CT (1 Huckleberry Ln., Ridgefield 06877) : Book orders to S. Wahl, 1995</td>\n<td>b16593376</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1673334">Reconfiguring truth : postmodernism, science studies, and the search for a new model of knowledge / Steven C. Ward</a>\n</td>\n<td>Ward, Steven C</td>\n<td>Lanham : Rowman &amp; Littlefield Publishers, c1996</td>\n<td>b16733344</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2539703">Modernizing the mind : psychological knowledge and the remaking of society / Steven C. Ward</a>\n</td>\n<td>Ward, Steven C</td>\n<td>Westport, Conn. : Praeger, 2002</td>\n<td>b25397035</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874376">The last leaf of Harlem : selected and newly discovered fiction by the author of The wedding / Dorothy West edited by Lionel C. Bascom</a>\n</td>\n<td>West, Dorothy, 1907-1998</td>\n<td>New York : St. Martin s Press, 2008</td>\n<td>b28743763</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1514426">Ethnic leadership in a New England community</a>\n</td>\n<td>Westfried, Alex Huxley</td>\n<td>Schenkman Publishing 1981</td>\n<td>b15144264</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545315">Reinventing the culture of womanhood in America and Brazil : an anthropological perspective : models for the 21st century, 1964-2001 / Alex Huxley Westfried</a>\n</td>\n<td>Westfried, Alex Huxley</td>\n<td>Lanham, Md. : University Press of America, c2002</td>\n<td>b25453154</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705242">Learning through speaking : 810 performance based language lessonss / Lois Cothran Wolsch, Robert Wolsch</a>\n</td>\n<td>Wolsch, Lois A. Cothran</td>\n<td>[S.l.] : Xlibris Corp., c2001</td>\n<td>b27052424</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705243">Writers all around us : a search &amp; enjoy mission for parents &amp; teachers / Robert Wolsch &amp; Lois Cothran Wolsch</a>\n</td>\n<td>Wolsch, Robert A</td>\n<td>[S.l.] : Xlibris Corp., c2001</td>\n<td>b27052436</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705247">Language arts to communication arts : reorganizing for tomorrow s literacy / Robert Wolsch &amp; Lois Cothran Wolsch</a>\n</td>\n<td>Wolsch, Robert A</td>\n<td>[S.l.] : Xlibris Corp., c2001</td>\n<td>b27052473</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705250">Foibles of phonics : and other roadblocks to literacy / Robert Wolsch and Lois Wolsch</a>\n</td>\n<td>Wolsch, Robert A</td>\n<td>[S.l.] : Xlibris Corp., c2001</td>\n<td>b27052503</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1604496">Workshop on databases for galactic structure : sponsored by Swarthmore College, University of Lausanne, Institute for Space Observations, May 17-19, 1993 : meeting held at Swarthmore College, Swarthmore, Pennsylvania / edited by A.G. Davis Philip, Bernard Hauck, and Arthur R. Upgren</a>\n</td>\n<td>Workshop on Databases for Galactic Structure (1993 : Swarthmore College)</td>\n<td>Schenectady, N.Y. : L. Davis Press, 1993</td>\n<td>b16044964</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874592">Information security : contemporary cases / Marie A. Wright, John S. Kakalik</a>\n</td>\n<td>Wright, Marie A</td>\n<td>Sudbury, Mass. : Jones and Bartlett, c2007</td>\n<td>b28745929</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2745642">Moving beyond G.I. Jane : women and the U.S. military / Sara L. Zeigler, Gregory G. Gunderson</a>\n</td>\n<td>Zeigler, Sara L</td>\n<td>Lanham, Md. : University Press of America, c2005</td>\n<td>b27456420</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1064183">The gravitational force perpendicular to the galactic plane : a meeting held at the Center for Galactic Astronomy, Western Connecticut State University in Danbury, Connecticut May 19-20, 1989 / edited by A.G. Davis Philip and Phillip K. Lu</a>\n</td>\n<td>\n</td>\n<td>Schenectady, N.Y. : L. Davis Press, 1989</td>\n<td>b1064183x</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1604439">Enduring traditions : the native peoples of New England / edited by Laurie Weinstein foreword by Russell Peters</a>\n</td>\n<td>\n</td>\n<td>Westport, Conn. : Bergin &amp; Garvey, 1994</td>\n<td>b16044393</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2167595">The new Christian right : political and social issues / edited with introductions by Melvin I. Urofsky, Martha May</a>\n</td>\n<td>\n</td>\n<td>New York : Garland Pub., 1996</td>\n<td>b21675958</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2270278">Wives and warriors : women and the military in the United States and Canada / edited by Laurie Weinstein and Christie C. White foreword by Cynthia Enloe</a>\n</td>\n<td>\n</td>\n<td>Westport, Conn. : Bergin &amp; Garvey, 1997</td>\n<td>b22702787</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2301053">Gender camouflage : women and the U.S. military / edited by Francine D Amico and Laurie Weinstein</a>\n</td>\n<td>\n</td>\n<td>New York : New York University Press, c1999</td>\n<td>b23010538</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2375636">Athlete s guide to career planning / Al Petitpas ... [et\nal.]</a>\n</td>\n<td>\n</td>\n<td>Champaign, IL. : Human Kinetics, c1997</td>\n<td>b23756366</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2432179">The practice of social influence in multiple cultures / edited by Wilhelmina Wosinska ... [et al.]</a>\n</td>\n<td>\n</td>\n<td>Mahwah, NJ : Lawrence Erlbaum Associates, 2001</td>\n<td>b24321795</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2456899">Childhood memories : Jewish children who survived the Nazi peril speak / compiled under the auspices of the Holocaust Child Survivors of Connecticut</a>\n</td>\n<td>\n</td>\n<td>[Stamford, CT] : Holocaust Child Survivors of Connecticut, [c1998]</td>\n<td>b24568995</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2496052">Native peoples of the Southwest : negotiating land, water, and ethnicities / edited by Laurie Weinstein</a>\n</td>\n<td>\n</td>\n<td>Westport, Conn. : Bergin &amp; Garvey, 2001</td>\n<td>b24960524</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2639286">One out of ten [videorecording] / producers, Agnes Vertes, Todd Feuer</a>\n</td>\n<td>\n</td>\n<td>Westport, CT : Holocaust Child Survivors of Connecticut, c1998</td>\n<td>b26392860</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2702620">The sport psych handbook / Shane Murphy, editor</a>\n</td>\n<td>\n</td>\n<td>Champaign, IL : Human Kinetics, c2005</td>\n<td>b27026206</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2708910">Taiwan in the twenty-first century / edited by Xiaobing Li, Zuohong Pan</a>\n</td>\n<td>\n</td>\n<td>Lanham : University Press of America, c2003</td>\n<td>b27089101</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2749394">Life after graduate school in psychology : insider s advice from new psychologists / edited by Robert D. Morgan, Tara L. Kuther, Corey J. Habben</a>\n</td>\n<td>\n</td>\n<td>New York : Psychology Press, 2005</td>\n<td>b27493945</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2851206">Leonhard Euler : life, work and legacy / edited by Robert E. Bradley, C. Edward Sandifer</a>\n</td>\n<td>\n</td>\n<td>Amsterdam Boston : Elsevier, 2007</td>\n<td>b28512066</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2864992">Marketing and managing electronic reserves / [edited by] Trevor A. Dawes</a>\n</td>\n<td>\n</td>\n<td>Binghamton, NY : Haworth Information Press, c2006</td>\n<td>b28649928</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874934">Obstetric and pediatric pathophysiology / Bernadette Madara ... [et al.]</a>\n</td>\n<td>\n</td>\n<td>Sudbury, Mass. : Jones and Bartlett Publishers, c2008</td>\n<td>b28749340</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2909282">Euler at 300 : an appreciation / edited by Robert E. Bradley, Lawrence A. D Antonio and C. Edward Sandifer</a>\n</td>\n<td>\n</td>\n<td>[Washington, D.C.] : Mathematical Association of America, c2007</td>\n<td>b29092826</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2988945">The pearl jacket and other stories : flash fiction from contemporary China / edited and translated by Shouhua Qi</a>\n</td>\n<td>\n</td>\n<td>Berkeley, Calif. : Stone Bridge Press, c2008</td>\n<td>b29889455</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1695143">Management</a>\n</td>\n<td>\n</td>\n<td>Guilford, Conn. : Dushkin Pub. Group, 1991-</td>\n<td>b16951438</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2427036">Organizational behavior 01/02 / editor, Fred H. Maidment</a>\n</td>\n<td>\n</td>\n<td>Guilford, Conn. : McGraw-Hill/Dushkin, 2001</td>\n<td>b24270362</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1625090">The new age of exploration : the next 500 years : a quincentennial celebration held at the Western Connecticut State University, Danbury, Connecticut, October 9-10, 1992 / sponsors, the Connecticut Humanities Council ... [et al] edited by Phillip K. Lu</a>\n</td>\n<td>\n</td>\n<td>Danbury, Conn. : The University, c1993</td>\n<td>b16250904</td>\n<td>Faculty Monographs</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2874938">Annual editions : International business / Fred Maidment, editor</a>\n</td>\n<td>\n</td>\n<td>Guilford, CT : Dushkin/McGraw, 1990/91-</td>\n<td>b28749388</td>\n<td>Faculty Monographs</td>\n</tr>\n</table>\n</html>
<!--{{{-->\n\n<link rel="alternate" type="application/rss+xml" title="RSS" href="?format=xml" />\n\n<!--}}}-->
/***\n|Name:|HideWhenPlugin|\n|Description:|Allows conditional inclusion/exclusion in templates|\n|Version:|3.1 ($Rev: 3919 $)|\n|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|\n|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|\n|Author:|Simon Baird <simon.baird@gmail.com>|\n|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|\nFor use in ViewTemplate and EditTemplate. Example usage:\n{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}\n{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}\n***/\n//{{{\n\nwindow.hideWhenLastTest = false;\n\nwindow.removeElementWhen = function(test,place) {\n window.hideWhenLastTest = test;\n if (test) {\n removeChildren(place);\n place.parentNode.removeChild(place);\n }\n};\n\n\nmerge(config.macros,{\n\n hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( eval(paramString), place);\n }},\n\n showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !eval(paramString), place);\n }},\n\n hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAll(params), place);\n }},\n\n showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAll(params), place);\n }},\n\n hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAny(params), place);\n }},\n\n showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAny(params), place);\n }},\n\n hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAll(params), place);\n }},\n\n showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAll(params), place);\n }},\n\n hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);\n }},\n\n showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);\n }},\n\n hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.title == params[0], place);\n }},\n\n showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.title != params[0], place);\n }},\n\n 'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !window.hideWhenLastTest, place);\n }}\n\n});\n\n//}}}\n
!!!The Legacy of our Civil War\n\nPanel discussion with Drs. Gutzman, Lindenauer, May, and Peretti at the Haas Library atrium, April 12th @ 11AM marking the 150th anniversary of the battle of Fort Sumter.
/%\n!info\n|Name|PaletteMaker|\n|Source|http://www.TiddlyTools.com/#PaletteMaker|\n|Version|1.2.2|\n|Author|Eric Shulman|\n|License|http://www.TiddlyTools.com/#LegalStatements|\n|Type|transclusion|\n|Description|edit/create ColorPalette using interactive grid/list|\nUsage\n<<<\n{{{\n<<tiddler PaletteMaker with: PaletteName GridName noList noGrid allowOther>>\n}}}\n*''~PaletteName'' (default=ColorPalette)<br>specifies a tiddler containing {{{name:value}}} slices that assign names to color values\n*''~GridName'' (default=[[216-color 'web safe' grid|http://en.wikipedia.org/wiki/Web_colors#Web-safe_colors]])<br>specifies a tiddler (or section) that defines a table, where each table cell contains one of:\n**a 3-digit #RGB or 6-digit #RRGGBB color value\n**an [[X11 Color Name|http://en.wikipedia.org/wiki/X11_color_names]]\n**another valid CSS attribute value (see ''allowOther'', below)\n*''noList'' //or// ''noGrid''<br>omits the palette listbox or color grid to provide a more compact layout\n*''allowOther''<br>permit non-color CSS attribute values to be entered/selected, e.g., {{{url('images/somefile.jpg')}}}\n<<<\nNotes:\n<<<\n*{{block{\nYou can use "-" as placeholders for the default values of ''~PaletteName'' and/or ''~GridName'':\n{{{\n<<tiddler PaletteMaker with: - - nogrid>>\n}}}\n}}}\n*{{block{\nThe grid/list are rendered with 'float:left' styles so content that follows will be rendered next to them. To show your content below the grid/list display, embed an //empty// 'tagClear' CSS wrapper after the PaletteMaker:\n{{{\n<<tiddler PaletteMaker ...>>{{tagClear{\n}}} \n}}}\nYou can also customize the default styles contained in [[PaletteMakerStyles]]:\n<<tiddler PaletteMaker##showcode with: styles>>\n}}}\n*The default color grid definition is:<br><<tiddler PaletteMaker##showcode with: colorgrid>>\n<<<\nExamples\n<<<\nEdit ColorPalette (allow non-color values to be entered):\n{{{<<tiddler PaletteMaker with: - - allowOther>>}}}\n<<tiddler PaletteMaker##show with: - - allowOther>>{{tagClear{\n}}}\nCreate/edit NewPalette using a 16-color 'rainbow' and/or shades of gray (no list):\n{{{<<tiddler PaletteMaker with: NewPalette PaletteMaker##grayscale noList>>}}}\n<<tiddler PaletteMaker##show with: NewPalette PaletteMaker##grayscale noList>>\n{{{<<tiddler PaletteMaker with: NewPalette PaletteMaker##rainbow noList>>}}}\n<<tiddler PaletteMaker##show with: NewPalette PaletteMaker##rainbow noList>>\n<<<\n!showcode\n<<tiddler PaletteMaker##out with: {{store.getTiddlerText('PaletteMaker##$1')}}>>\n!out\n{{{\n$1\n}}}\n!end\n\n!colorgrid\n|white || | | | | | |FC0|F90|F60|F30| | | | | | ||FFF|\n|black ||9C0| | | | |C90|FC3|FC6|F96|F63|C30| | | | |C03||EEE|\n|red ||CF0|CF3|330|660|990|CC0|FF0|C93|C63|300|600|900|C00|F00|F36|F03||DDD|\n|orange ||9F0|CF6|9C3|663|993|CC3|FF3|960|930|633|933|C33|F33|C36|F69|F06||CCC|\n|yellow ||6F0|9F6|6C3|690|996|CC6|FF6|963|630|966|C66|F66|903|C39|F6C|F09||BBB|\n|green ||3F0|6F3|390|6C0|9F3|CC9|FF9|C96|C60|C99|F99|F39|C06|906|F3C|F0C||AAA|\n|blue ||0C0|3C0|360|693|9C6|CF9|FFC|FC9|F93|FCC|F9C|C69|936|603|C09|303||999|\n|darkmagenta ||3C3|6C6|0F0|3F3|6F6|9F9|CFC| | | |C9C|969|939|909|636|606||888|\n|violet ||060|363|090|393|696|9C9| | | |FCF|F9F|F6F|F3F|F0F|C6C|C3C||777|\n|darkred ||030|0C3|063|396|6C9|9FC|CFF|39F|9CF|CCF|C9F|96C|639|306|90C|C0C||666|\n|darkorange ||0F3|3F6|093|0C6|3F9|9FF|9CC|06C|69C|99F|99C|93F|60C|609|C3F|C0F||555|\n|gold ||0F6|6F9|3C6|096|6FF|6CC|699|036|369|66F|66C|669|309|93C|C6F|90F||444|\n|darkgreen ||0F9|6FC|3C9|3FF|3CC|399|366|069|039|33F|33C|339|336|63C|96F|60F||333|\n|darkblue ||0FC|3FC|0FF|0CC|099|066|033|39C|36C|00F|00C|009|006|003|63F|30F||222|\n|indigo ||0C9| | | | |09C|3CF|6CF|69F|36F|03C| | | | |30C||111|\n|darkviolet || | | | | | |0CF|09F|06F|03F| | | | | | ||000|\n!grayscale\n|FFF|EEE|DDD|CCC|BBB|AAA|999|888|777|666|555|444|333|222|111|000|\n!rainbow\n|black|white|red|orange|yellow|green|blue|darkmagenta|violet|darkred|darkorange|gold|darkgreen|darkblue|indigo|darkviolet|\n!end\n\n!styles\n/*{{{*/\n.colorgrid table\n { float:left; margin:0 !important; border:0 !important; }\n.colorgrid table, .colorgrid tr, .colorgrid th, .colorgrid tbody\n { color:black; border:0 !important; }\n.colorgrid td\n { height:16px; width:16px; text-align:center; padding:0; line-height:100%; }\n.colorgrid select\n { float:left; margin-left:16px; font-size:80%; height:255px; }\n/*}}}*/\n!end\n\n!code\n<<tiddler {{\nconfig.shadowTiddlers.PaletteMakerStyles=store.getTiddlerText('PaletteMaker##styles');\nsetStylesheet(store.getTiddlerText('PaletteMakerStyles'),'paletteMakerStyles');\nwindow.paletteMaker = {\n getColor: function(t){ if (!t||!t.length) return null;\n var s=document.createElement('span').style;\n try { s.color='#'+t; if (s.color.length) return '#'+t; }\n catch(e) { try{ s.color=t; } catch(e){ return null; } return t; } // IE \n s.color=t; return s.color.length?t:null; // FF\n },\n getTextColor: function(t){ \n t=this.getColor(t);\n if (!t||!t.length||!t.startsWith('#')) return 'black'; // BAD COLOR or X11 COLOR NAME\n var rgb=t.substr(1).split(''); var long=t.length>=6;\n function h2d(h){return '0123456789ABCDEF'.indexOf(h?h.toUpperCase():'');};\n var r=h2d(rgb[0]); var g=h2d(rgb[long?2:1]); var b=h2d(rgb[long?4:2]);\n if (r<0||g<0||b<0||r+g+b>=15) return 'black'; // BAD RGB or BRIGHT COLOR\n return 'white'; // DARK COLOR\n },\n getPalette: function(palette) {\n var pal={};\n var slices=store.calcAllSlices(palette);\n for (var s in slices) {\n var color=slices[s].toUpperCase().replace(/#/,'');\n if (!pal[color]) pal[color]=new Array();\n pal[color].push(s);\n }\n return pal;\n },\n drawGrid: function(place,grid,palette,opts) {\n var pm=window.paletteMaker; // abbrev\n removeChildren(place);\n if (!opts.contains('NOGRID')) wikify(store.getTiddlerText(grid,''),place);\n if (!opts.contains('NOLIST')) var s=pm.drawList(place,\n { palette:palette,min:0,max:0,edit:true,callback:pm.callback,place:place,opts:opts });\n var pal=pm.getPalette(palette);\n var cells=place.getElementsByTagName('td');\n for (var i=0; i<cells.length; i++) { var td=cells[i];\n td.style.border=0;\n var txt=getPlainText(td).trim(); if (!txt.length) continue;\n var c=pm.getColor(txt); if (!c && !opts.contains('ALLOWOTHER')) continue;\n if (c) { td.style.backgroundColor=c; td.innerHTML=''; td.style.fontSize='70%'; }\n td.title=c||txt;\n td.style.cursor=c?'crosshair':'pointer';\n td.params={ palette:palette, min:0, max:15, edit:true, callback:pm.callback,\n place:place, grid:grid, opts:opts, pick:c||txt };\n if (pal[txt.toUpperCase()]) {\n td.params.names=pal[txt.toUpperCase()];\n td.title+='='+td.params.names.join(', ');\n if (c) { td.style.color=pm.getTextColor(c); td.innerHTML='&radic;'; }\n }\n td.onclick=function(ev) { ev=ev||window.event;\n var p=Popup.create(this); if(!p)return false;\n p.className+=' sticky smallform';\n var s=window.paletteMaker.drawList(p,this.params);\n s.style.fontSize='80%'; Popup.show(); s.focus();\n ev.cancelBubble=true; if(ev.stopPropagation)ev.stopPropagation();\n return false;\n };\n }\n },\n drawList: function(here,p) {\n var pm=window.paletteMaker; // abbrev\n var s=createTiddlyElement(here,'select');\n s.params=p;\n s.options[s.length]=new Option(p.palette+':','_view');\n s.options[s.length-1].title='open '+p.palette;\n if (p.edit && p.pick!==undefined) {\n var c=pm.getColor(p.pick);\n s.options[s.length]=new Option('+Add this color...','_add');\n if (c) s.options[s.length-1].style.backgroundColor=c;\n if (c) s.options[s.length-1].style.color=pm.getTextColor(c);\n s.options[s.length-1].title=p.pick;\n }\n var colors=store.calcAllSlices(p.palette);\n for (var x in colors) {\n var c=pm.getColor(colors[x]);\n var prefix=p.names&&p.names.contains(x)?'=':'\sxA0\sxA0';\n s.options[s.length]=new Option(prefix+x,colors[x]);\n if (c) s.options[s.length-1].style.backgroundColor=c;\n if (c) s.options[s.length-1].style.color=pm.getTextColor(c)\n s.options[s.length-1].title=(!c?'other: "':'')+colors[x]+(!c?'"':'');\n }\n s.size=p.min&&s.length<p.min?p.min:p.max&&s.length>p.max?p.max:s.length;\n s.onclick=function(ev){ ev=ev||window.event;\n var name=this.options[this.selectedIndex].text.replace(/[\sxA0=]+/,'').trim();\n if (this.params.callback) this.params.callback(this,name,this.value,this.params);\n return false;\n };\n s.onkeyup=function(ev){ ev=ev||window.event;\n if (ev.keyCode==13) { this.onclick(); Popup.remove(); }\n if (ev.keyCode==27) Popup.remove();\n return false;\n };\n return s;\n },\n callback: function(here,name,val,p){\n var pm=window.paletteMaker; // abbrev\n if (!val.length) return;\n var pick=p.pick!==undefined?p.pick:val;\n if (val=='_view') {\n story.displayTiddler(story.findContainingTiddler(this.place),p.palette);\n Popup.remove();\n return false;\n } else if (val=='_add') {\n var msg='Enter a new name for "'+pick+'"';\n name=prompt(msg,'');\n var slices=store.calcAllSlices(p.palette);\n while (name && slices[name])\n name=prompt('"'+name+'" is already in use\sn'+msg,name);\n } else if (p.edit) {\n var allow=p.opts.contains('ALLOWOTHER');\n var msg='Change "'+name+'" from "'+val+'" to:';\n pick=prompt(msg,pick);\n while (pick && !pm.getColor(pick)) {\n var err='"'+pick+'" is not a recognized color\sn\sxa0';\n if (!allow) err+='Please try again\sn\sn';\n else err+='Press OK to use this value anyway\sn\sn';\n var pre=pick; pick=prompt(err+msg,pick);\n if (pre==pick && allow) break;\n }\n } else {\n // TBD: callback without editing\n Popup.remove(); return false;\n }\n here.selectedIndex=0;\n if (!name||!pick) return false;\n pm.set(p.palette,name.replace(/ /g,''),pick);\n pm.drawGrid(p.place,p.grid,p.palette,p.opts);\n Popup.remove();\n return false;\n },\n set: function(palette,name,newval) {\n var tid=store.getTiddler(palette);\n if (!tid) { var tid=new Tiddler(); tid.text=store.getTiddlerText(palette,''); }\n var oldval=store.getTiddlerSlice(palette,name)||'';\n var pattern="((?:^|\s\sn)(?:[\s\s'\s\s/]{0,2})~?(?:"\n +name.escapeRegExp()\n +")\s\s1\s\s:[\s\st\s\sx20]*)(?:"\n +oldval.escapeRegExp()\n +")([\s\st\s\sx20]*(?:\s\sn|$))";\n var t=tid.text; var match=t.match(new RegExp(pattern));\n if (match) {\n var pos=t.indexOf(match[0]);\n var newText=t.substr(0,pos)+\n match[1]+newval+match[2]+\n t.substr(pos+match[0].length);\n } else { // place new slice at top of list or start of tiddler\n var match=t.match(store.slicesRE);\n var pos=t.indexOf(match?match[0]:'');\n var newText=t.substr(0,pos)\n +name+': '+newval+(t.length?'\sn':'')\n +t.substr(pos);\n }\n var who=config.options.txtUserName; var when=new Date();\n if (config.options.chkForceMinorUpdate)\n { var who=tid.modifier; var when=tid.modified; }\n displayMessage('setting "'+palette+'::'+name+'" to "'+newval+'"');\n store.saveTiddler(palette,palette,newText,who,when,tid.tags,tid.fields);\n story.refreshTiddler(palette,null,true);\n }\n};\n'';}}>>\n!end\n\n!show\n<<tiddler {{\n var opts=[]\n var palette=('$1'!='$'+'1' && '$1'!='-')?'$1':'ColorPalette';\n var grid =('$2'!='$'+'2' && '$2'!='-')?'$2':'PaletteMaker##colorgrid';\n opts.push('$3'.toUpperCase());\n opts.push('$4'.toUpperCase());\n opts.push('$5'.toUpperCase());\n if (!place.lastChild||!hasClass(place.lastChild,'colorgrid')) {\n var wrapper=createTiddlyElement(place,'span',null,'colorgrid');\n window.paletteMaker.drawGrid(wrapper,grid,palette,opts);\n }\n'';}}>>\n!end\n\n%/<<tiddler PaletteMaker##code>>/%\n%/<<tiddler {{var src='PaletteMaker'; src+(tiddler&&tiddler.title==src?'##info':'##show');}}\n with: [[$1]] [[$2]] [[$3]] [[$4]] [[$5]]>>
<html>\n<div id="content">\n<img src="http://archives.library.wcsu.edu/relatedObjects/sideImg.gif" align="right"/>\n<a href="http://archives.library.wcsu.edu/cgi-bin/ead-filenames.cgi">Click here for a list of digital objects linked to our collections</a> \n</div>\n</html>\n*[[Digital Collections in WestCollections|http://library.wcsu.edu/dspace/handle/0/99]]\n*[[Danbury Industrial Corporation Records|http://archives.library.wcsu.edu/collections/MS050]]\n*[[The Danbury Ledgers 1826-1932|http://archives.library.wcsu.edu/collections/DRG1]]\n*[[Howard Dunham Barlow Collection|http://archives.library.wcsu.edu/collections/MS001]]\n*[[Bartlett Collection|http://archives.library.wcsu.edu/collections/MS054]]\n*[[Edward Eliscu Papers|http://archives.library.wcsu.edu/collections/MS040]]\n*[[Jack Friel University History Collection| http://archives.library.wcsu.edu/collections/MS004]]\n*[[Connecticut Historical and Printed Miscellanea Collection|http://archives.library.wcsu.edu/collections/MS002]]\n*[[Alfred Geddes Papers|http://archives.library.wcsu.edu/collections/MS008]]\n*[[Charles D. Garlick Letters|http://archives.library.wcsu.edu/collections/MS007]]\n*[[Greater Danbury Intercultural Society Records|http://archives.library.wcsu.edu/collections/OH002]]\n*[[Alfred Geddes Papers|http://archives.library.wcsu.edu/collections/MS008]]\n*[[George B. Hawley Papers|http://archives.library.wcsu.edu/collections/MS011]]\n*[[Herb Janick Papers|http://archives.library.wcsu.edu/collections/MS012]]\n*[[James S. Kent Letters|http://archives.library.wcsu.edu/collections/MS013]]\n*[[Hamilton Orgelman Papers|http://archives.library.wcsu.edu/collections/MS019]]\n*[[Truman Warner Papers|http://archives.library.wcsu.edu/collections/MS026]]\n*[[Danbury Miscellanea|http://archives.library.wcsu.edu/collections/MS038]]\n*[[Horace Purdy Journals|http://archives.library.wcsu.edu/collections/MS044]]\n*[[WCSU Photos and Miscellanea|http://archives.library.wcsu.edu/collections/RG8]]\n*[[Lewis Zurlo Collection|http://archives.library.wcsu.edu/collections/MS028]]\n
!Brooklyn Historical Society Gift Processed Book donation is cataloged from the Brooklyn Historical Society\n\nIn December, the Brooklyn Historical Society donated some 918 books to the Special Collections library at the Haas Library which are now available in CONSULS. The books document the history of Connecticut from its founding up to the Second World War and substantially supplement our Connecticut history collection already in the Connecticut Room. A list of books gifted by the BHS is available at the following [[link|http://library.wcsu.edu/web/about/units/archives/BHSGift.tkl]]\n\n13% of this gift are titles that are new acquisitions to the CONSULS systems and only available at WCSU. A list of these titles can be viewed at the following link: [[List of titles.|Unique Titles from Brooklyn Historical Society Gift]]\n\nThanks to Melissa Dunn '10 for her indispensable assistance in processing the gift.
/***\n|''Name:''|FootnotesPlugin|\n|''Description:''|Create automated tiddler footnotes.|\n|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|\n|''Source:''|http://tw.lewcid.org/#FootnotesPlugin|\n|''Code Repository:''|http://tw.lewcid.org/svn/plugins|\n|''Version:''|2.01|\n|''Date:''|10/25/07|\n|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|\n|''~CoreVersion:''|2.2.2|\n\n!!Usage:\n*To create a footnote, just put the footnote text inside triple backticks.\n*Footnotes are numbered automatically, and listed at the bottom of the tiddler.\n*{{{Creating a footnote is easy. ```This is the text for my footnote```}}}\n*[[Example|FootnotesDemo]]\n***/\n// /%\n//!BEGIN-PLUGIN-CODE\nconfig.footnotesPlugin = {\n backLabel: "back",\n prompt:"show footnote"\n};\n\nconfig.formatters.unshift( {\n name: "footnotes",\n match: "```",\n lookaheadRegExp: /```((?:.|\sn)*?)```/g,\n handler: function(w)\n {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart )\n {\n var tiddler = story.findContainingTiddler(w.output);\n if (!tiddler.notes)\n tiddler.notes = [];\n var title = tiddler.getAttribute("tiddler");\n tiddler.notes.pushUnique(lookaheadMatch[1]);\n var pos = tiddler.notes.indexOf(lookaheadMatch[1]) + 1;\n createTiddlyButton(w.output,pos,config.footnotesPlugin.prompt,function(){var x = document.getElementById(title+"ftn"+pos);window.scrollTo(0,ensureVisible(x)+(ensureVisible(x)<findScrollY()?(findWindowHeight()-x.offsetHeight):0));return false;},"ftnlink",title+"ftnlink"+pos); \n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n }\n});\n\nold_footnotes_refreshTiddler = Story.prototype.refreshTiddler;\nStory.prototype.refreshTiddler = function(title,template,force)\n{\n var tiddler = old_footnotes_refreshTiddler.apply(this,arguments);\n if (tiddler.notes && tiddler.notes.length)\n {\n var holder = createTiddlyElement(null,"div",null,"footnoteholder");\n var list = createTiddlyElement(holder,"ol",title+"footnoteholder");\n for (var i=0; i<tiddler.notes.length; i++)\n {\n var ftn = createTiddlyElement(list,"li",title+"ftn"+(i+1),"footnote");\n wikify(tiddler.notes[i]+" ",ftn);\n createTiddlyButton(ftn,"["+config.footnotesPlugin.backLabel+"]",config.footnotesPlugin.backLabel,function(){window.scrollTo(0,ensureVisible(document.getElementById(this.parentNode.id.replace("ftn","ftnlink"))));return false;},"ftnbklink");\n }\n var count = tiddler.childNodes.length;\n for (var j=0; j<count; j++){\n if(hasClass(tiddler.childNodes[j],"viewer")){\n var viewer = tiddler.childNodes[j]; \n }\n }\n viewer.appendChild(holder);\n tiddler.notes = [];\n }\n return tiddler;\n};\n\nsetStylesheet(\n".tiddler a.ftnlink {vertical-align: super; font-size: 0.8em; color:red;}\sn"+\n".tiddler a.ftnlink:hover, .tiddler .footnoteholder a.ftnbklink:hover{color:#fff;background:red;}\sn"+\n".tiddler div.footnoteholder{margin:1.8em 1.0em; padding:0.1em 1.0em 0.1em 1.0em ;border-left: 1px solid #ccc;}"+\n".tiddler footnoteholder ol {font-size: 0.9em; line-height: 1.2em;}\sn"+\n".tiddler .footnoteholder li.footnote {margin: 0 0 5px 0;}\sn"+\n".tiddler .footnoteholder a.ftnbklink{color:red;}\sn","FootNotesStyles");\n//!END-PLUGIN-CODE\n// %/
/***\n<<checkForDataTiddlerPlugin>>\n|''Name:''|FormTiddlerPlugin|\n|''Version:''|1.0.6 (2007-06-24)|\n|''Source:''|http://tiddlywiki.abego-software.de/#FormTiddlerPlugin|\n|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|\n|''Licence:''|[[BSD open source license]]|\n|''Macros:''|formTiddler, checkForDataTiddlerPlugin, newTiddlerWithForm|\n|''Requires:''|DataTiddlerPlugin|\n|''TiddlyWiki:''|1.2.38+, 2.0|\n|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|\n!Description\nUse form-based tiddlers to enter your tiddler data using text fields, listboxes, checkboxes etc. (All standard HTML Form input elements supported).\n\n''Syntax:'' \n|>|{{{<<}}}''formTiddler'' //tiddlerName//{{{>>}}}|\n|//tiddlerName//|The name of the FormTemplate tiddler to be used to edit the data of the tiddler containing the macro.|\n\n|>|{{{<<}}}''newTiddlerWithForm'' //formTemplateName// //buttonLabel// [//titleExpression// [''askUser'']] {{{>>}}}|\n|//formTemplateName//|The name of the tiddler that defines the form the new tiddler should use.|\n|//buttonLabel//|The label of the button|\n|//titleExpression//|A (quoted) JavaScript String expression that defines the title (/name) of the new tiddler.|\n|''askUser''|Typically the user is not asked for the title when a title is specified (and not yet used). When ''askUser'' is given the user will be asked in any case. This may be used when the calculated title is just a suggestion that must be confirmed by the user|\n|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|\n\nFor details and how to use the macros see the [[introduction|FormTiddler Introduction]] and the [[examples|FormTiddler Examples]].\n\n!Revision history\n* v1.0.6 (2007-06-24)\n** Fixed problem when using SELECT component in Internet Explorer (thanks to MaikBoenig for reporting)\n* v1.0.5 (2006-02-24)\n** Removed "debugger;" instruction\n* v1.0.4 (2006-02-07)\n** Bug: On IE no data is written to data section when field values changed (thanks to KenGirard for reporting)\n* v1.0.3 (2006-02-05)\n** Bug: {{{"No form template specified in <<formTiddler>>"}}} when using formTiddler macro on InternetExplorer (thanks to KenGirard for reporting)\n* v1.0.2 (2006-01-06)\n** Support TiddlyWiki 2.0\n* v1.0.1 (2005-12-22)\n** Features: \n*** Support InternetExplorer\n*** Added newTiddlerWithForm Macro\n* v1.0.0 (2005-12-14)\n** initial version\n\n!Code\n***/\n//{{{\n\n//============================================================================\n//============================================================================\n// FormTiddlerPlugin\n//============================================================================\n//============================================================================\n\nif (!window.abego) window.abego = {};\n\nabego.getOptionsValue = function(element,i) {\n var v = element.options[i].value;\n if (!v && element.options[i].text)\n v = element.options[i].text;\n return v;\n};\n\nversion.extensions.FormTiddlerPlugin = {\n major: 1, minor: 0, revision: 5,\n date: new Date(2006, 2, 24), \n type: 'plugin',\n source: "http://tiddlywiki.abego-software.de/#FormTiddlerPlugin"\n};\n\n// For backward compatibility with v1.2.x\n//\nif (!window.story) window.story=window; \nif (!TiddlyWiki.prototype.getTiddler) TiddlyWiki.prototype.getTiddler = function(title) { return t = this.tiddlers[title]; return (t != undefined && t instanceof Tiddler) ? t : null; } \n\n//============================================================================\n// formTiddler Macro\n//============================================================================\n\n// -------------------------------------------------------------------------------\n// Configurations and constants \n// -------------------------------------------------------------------------------\n\nconfig.macros.formTiddler = {\n // Standard Properties\n label: "formTiddler",\n version: {major: 1, minor: 0, revision: 4, date: new Date(2006, 2, 7)},\n prompt: "Edit tiddler data using forms",\n\n // Define the "setters" that set the values of INPUT elements of a given type\n // (must match the corresponding "getter")\n setter: { \n button: function(e, value) {/*contains no data */ },\n checkbox: function(e, value) {e.checked = value;},\n file: function(e, value) {try {e.value = value;} catch(e) {/* ignore, possibly security error*/}},\n hidden: function(e, value) {e.value = value;},\n password: function(e, value) {e.value = value;},\n radio: function(e, value) {e.checked = (e.value == value);},\n reset: function(e, value) {/*contains no data */ },\n "select-one": function(e, value) {config.macros.formTiddler.setSelectOneValue(e,value);},\n "select-multiple": function(e, value) {config.macros.formTiddler.setSelectMultipleValue(e,value);},\n submit: function(e, value) {/*contains no data */},\n text: function(e, value) {e.value = value;},\n textarea: function(e, value) {e.value = value;}\n },\n\n // Define the "getters" that return the value of INPUT elements of a given type\n // Return undefined to not store any data.\n getter: { \n button: function(e, value) {return undefined;},\n checkbox: function(e, value) {return e.checked;},\n file: function(e, value) {return e.value;},\n hidden: function(e, value) {return e.value;},\n password: function(e, value) {return e.value;},\n radio: function(e, value) {return e.checked ? e.value : undefined;},\n reset: function(e, value) {return undefined;},\n "select-one": function(e, value) {return config.macros.formTiddler.getSelectOneValue(e);},\n "select-multiple": function(e, value) {return config.macros.formTiddler.getSelectMultipleValue(e);},\n submit: function(e, value) {return undefined;},\n text: function(e, value) {return e.value;},\n textarea: function(e, value) {return e.value;}\n }\n};\n\n\n// -------------------------------------------------------------------------------\n// The formTiddler Macro Handler \n// -------------------------------------------------------------------------------\n\nconfig.macros.formTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {\n if (!config.macros.formTiddler.checkForExtensions(place, macroName)) {\n return;\n }\n // --- Parsing ------------------------------------------\n\n var i = 0; // index running over the params\n\n // get the name of the form template tiddler\n var formTemplateName = undefined;\n if (i < params.length) {\n formTemplateName = params[i];\n i++;\n }\n\n if (!formTemplateName) {\n config.macros.formTiddler.createErrorElement(place, "No form template specified in <<" + macroName + ">>.");\n return;\n }\n\n\n // --- Processing ------------------------------------------\n\n // Get the form template text. \n // (This contains the INPUT elements for the form.)\n var formTemplateTiddler = store.getTiddler(formTemplateName);\n if (!formTemplateTiddler) {\n config.macros.formTiddler.createErrorElement(place, "Form template '" + formTemplateName + "' not found.");\n return;\n }\n var templateText = formTemplateTiddler.text;\n if(!templateText) {\n // Shortcut: when template text is empty we do nothing.\n return;\n }\n\n // Get the name of the tiddler containing this "formTiddler" macro\n // (i.e. the tiddler, that will be edited and that contains the data)\n var tiddlerName = config.macros.formTiddler.getContainingTiddlerName(place);\n\n // Append a "form" element. \n var formName = "form"+formTemplateName+"__"+tiddlerName;\n var e = document.createElement("form");\n e.setAttribute("name", formName);\n place.appendChild(e);\n\n // "Embed" the elements defined by the templateText (i.e. the INPUT elements) \n // into the "form" element we just created\n wikify(templateText, e);\n\n // Initialize the INPUT elements.\n config.macros.formTiddler.initValuesAndHandlersInFormElements(formName, DataTiddler.getDataObject(tiddlerName));\n}\n\n\n// -------------------------------------------------------------------------------\n// Form Data Access \n// -------------------------------------------------------------------------------\n\n// Internal.\n//\n// Initialize the INPUT elements of the form with the values of their "matching"\n// data fields in the tiddler. Also setup the onChange handler to ensure that\n// changes in the INPUT elements are stored in the tiddler's data.\n//\nconfig.macros.formTiddler.initValuesAndHandlersInFormElements = function(formName, data) {\n // config.macros.formTiddler.trace("initValuesAndHandlersInFormElements(formName="+formName+", data="+data+")");\n\n // find the form\n var form = config.macros.formTiddler.findForm(formName);\n if (!form) {\n return;\n }\n\n try {\n var elems = form.elements;\n for (var i = 0; i < elems.length; i++) {\n var c = elems[i];\n \n var setter = config.macros.formTiddler.setter[c.type];\n if (setter) {\n var value = data[c.name];\n if (value != null) {\n setter(c, value);\n }\n c.onchange = onFormTiddlerChange;\n } else {\n config.macros.formTiddler.displayFormTiddlerError("No setter defined for INPUT element of type '"+c.type+"'. (Element '"+c.name+"' in form '"+formName+"')");\n }\n }\n } catch(e) {\n config.macros.formTiddler.displayFormTiddlerError("Error when updating elements with new formData. "+e);\n }\n}\n\n\n// Internal.\n//\n// @return [may be null]\n//\nconfig.macros.formTiddler.findForm = function(formName) {\n // We must manually iterate through the document's forms, since\n // IE does not support the "document[formName]" approach\n\n var forms = window.document.forms;\n for (var i = 0; i < forms.length; i++) {\n var form = forms[i];\n if (form.name == formName) {\n return form;\n }\n }\n\n return null;\n}\n\n\n// Internal.\n//\nconfig.macros.formTiddler.setSelectOneValue = function(element,value) {\n var n = element.options.length;\n for (var i = 0; i < n; i++) {\n element.options[i].selected = abego.getOptionsValue(element,i) == value;\n }\n}\n\n// Internal.\n//\nconfig.macros.formTiddler.setSelectMultipleValue = function(element,value) {\n var values = {};\n for (var i = 0; i < value.length; i++) {\n values[value[i]] = true;\n }\n \n var n = element.length;\n for (var i = 0; i < n; i++) {\n element.options[i].selected = !(!values[abego.getOptionsValue(element,i)]);\n }\n}\n\n// Internal.\n//\nconfig.macros.formTiddler.getSelectOneValue = function(element) {\n var i = element.selectedIndex;\n return (i >= 0) ? abego.getOptionsValue(element,i) : null;\n}\n\n// Internal.\n//\nconfig.macros.formTiddler.getSelectMultipleValue = function(element) {\n var values = [];\n var n = element.length;\n for (var i = 0; i < n; i++) {\n if (element.options[i].selected) {\n values.push(abego.getOptionsValue(element,i));\n }\n }\n return values;\n}\n\n\n\n// -------------------------------------------------------------------------------\n// Helpers \n// -------------------------------------------------------------------------------\n\n// Internal.\n//\nconfig.macros.formTiddler.checkForExtensions = function(place,macroName) {\n if (!version.extensions.DataTiddlerPlugin) {\n config.macros.formTiddler.createErrorElement(place, "<<" + macroName + ">> requires the DataTiddlerPlugin. (You can get it from http://tiddlywiki.abego-software.de/#DataTiddlerPlugin)");\n return false;\n }\n return true;\n}\n\n// Internal.\n//\n// Displays a trace message in the "TiddlyWiki" message pane.\n// (used for debugging)\n//\nconfig.macros.formTiddler.trace = function(s) {\n displayMessage("Trace: "+s);\n}\n\n// Internal.\n//\n// Display some error message in the "TiddlyWiki" message pane.\n//\nconfig.macros.formTiddler.displayFormTiddlerError = function(s) {\n alert("FormTiddlerPlugin Error: "+s);\n}\n\n// Internal.\n//\n// Creates an element that holds an error message\n// \nconfig.macros.formTiddler.createErrorElement = function(place, message) {\n return createTiddlyElement(place,"span",null,"formTiddlerError",message);\n}\n\n// Internal.\n//\n// Returns the name of the tiddler containing the given element.\n// \nconfig.macros.formTiddler.getContainingTiddlerName = function(element) {\n return story.findContainingTiddler(element).id.substr(7);\n}\n\n// -------------------------------------------------------------------------------\n// Event Handlers \n// -------------------------------------------------------------------------------\n\n// This function must be called by the INPUT elements whenever their\n// data changes. Typically this is done through an "onChange" handler.\n//\nfunction onFormTiddlerChange (e) {\n // config.macros.formTiddler.trace("onFormTiddlerChange "+e);\n\n if (!e) var e = window.event;\n\n var target = resolveTarget(e);\n var tiddlerName = config.macros.formTiddler.getContainingTiddlerName(target);\n var getter = config.macros.formTiddler.getter[target.type];\n if (getter) {\n var value = getter(target);\n DataTiddler.setData(tiddlerName, target.name, value);\n } else {\n config.macros.formTiddler.displayFormTiddlerError("No getter defined for INPUT element of type '"+target.type+"'. (Element '"+target.name+"' used in tiddler '"+tiddlerName+"')");\n }\n}\n\n// ensure that the function can be used in HTML event handler\nwindow.onFormTiddlerChange = onFormTiddlerChange;\n\n\n// -------------------------------------------------------------------------------\n// Stylesheet Extensions (may be overridden by local StyleSheet)\n// -------------------------------------------------------------------------------\n\nsetStylesheet(\n ".formTiddlerError{color: #ffffff;background-color: #880000;}",\n "formTiddler");\n\n\n//============================================================================\n// checkForDataTiddlerPlugin Macro\n//============================================================================\n\nconfig.macros.checkForDataTiddlerPlugin = {\n // Standard Properties\n label: "checkForDataTiddlerPlugin",\n version: {major: 1, minor: 0, revision: 0, date: new Date(2005, 12, 14)},\n prompt: "Check if the DataTiddlerPlugin exists"\n}\n\nconfig.macros.checkForDataTiddlerPlugin.handler = function(place,macroName,params) {\n config.macros.formTiddler.checkForExtensions(place, config.macros.formTiddler.label);\n}\n\n\n\n//============================================================================\n// newTiddlerWithForm Macro\n//============================================================================\n\nconfig.macros.newTiddlerWithForm = {\n // Standard Properties\n label: "newTiddlerWithForm",\n version: {major: 1, minor: 0, revision: 1, date: new Date(2006, 1, 6)},\n prompt: "Creates a new Tiddler with a <<formTiddler ...>> macro"\n}\n\nconfig.macros.newTiddlerWithForm.handler = function(place,macroName,params) {\n // --- Parsing ------------------------------------------\n\n var i = 0; // index running over the params\n\n // get the name of the form template tiddler\n var formTemplateName = undefined;\n if (i < params.length) {\n formTemplateName = params[i];\n i++;\n }\n\n if (!formTemplateName) {\n config.macros.formTiddler.createErrorElement(place, "No form template specified in <<" + macroName + ">>.");\n return;\n }\n\n // get the button label\n var buttonLabel = undefined;\n if (i < params.length) {\n buttonLabel = params[i];\n i++;\n }\n\n if (!buttonLabel) {\n config.macros.formTiddler.createErrorElement(place, "No button label specified in <<" + macroName + ">>.");\n return;\n }\n\n // get the (optional) tiddlerName script and "askUser"\n var tiddlerNameScript = undefined;\n var askUser = false;\n if (i < params.length) {\n tiddlerNameScript = params[i];\n i++;\n\n if (i < params.length && params[i] == "askUser") {\n askUser = true;\n i++;\n }\n }\n\n // --- Processing ------------------------------------------\n\n if(!readOnly) {\n var onClick = function() {\n var tiddlerName;\n if (tiddlerNameScript) {\n try {\n tiddlerName = eval(tiddlerNameScript);\n } catch (ex) {\n }\n }\n if (!tiddlerName || askUser) {\n tiddlerName = prompt("Please specify a tiddler name.", askUser ? tiddlerName : "");\n }\n while (tiddlerName && store.getTiddler(tiddlerName)) {\n tiddlerName = prompt("A tiddler named '"+tiddlerName+"' already exists.\sn\sn"+"Please specify a tiddler name.", tiddlerName);\n }\n\n // tiddlerName is either null (user canceled) or a name that is not yet in the store.\n if (tiddlerName) {\n var body = "<<formTiddler [["+formTemplateName+"]]>>";\n var tags = [];\n store.saveTiddler(tiddlerName,tiddlerName,body,config.options.txtUserName,new Date(),tags);\n story.displayTiddler(null,tiddlerName,1);\n }\n }\n\n createTiddlyButton(place,buttonLabel,buttonLabel,onClick);\n }\n}\n\n//}}}\n\n\n/***\n!Licence and Copyright\nCopyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of abego Software nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n***/\n
/***\n|''Name:''|TiddlerNotesPlugin|\n|''Description:''|Add notes to tiddlers without modifying the original content|\n|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|\n|''Source:''|http://tw.lewcid.org/#TiddlerNotesPlugin|\n|''Code Repository:''|http://tw.lewcid.org/svn/plugins|\n|''Version:''|2.1|\n|''Date:''|26/10/07|\n|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|\n|''~CoreVersion:''|2.2.3|\n\n!!Concept:\n*The TiddlerNotesPlugin allows you to add notes to tiddlers, without needing to edit the original tiddler. This means that your original content will remain unaltered, and if you update it in the future, you won't lose your notes. Notes are stored in separate tiddlers, but can be viewed and edited from within the original tiddler.\n*For a tiddler titled "~MySlide", the notes are by default saved in a tiddler titled "~MySlide-Notes" and is given a tag of "Notes". The suffix and tags of the notes tiddlers are customizable. You can have one or multiple notes per tiddlers. So it is possible to have for example, teacher's notes and student's notes in the same file.\n*Notes can be configured to start off blank, or pre-filled with the contents of the original tiddler.\n\n!!Usage:\n*{{{<<notes>>}}} is the simplest usage form.\n* additional optional parameters include:\n**{{{heading:}}} the heading to use for the notes box\n**{{{tag:}}} the tag to be given to the notes tiddler\n**{{{suffix:}}} the suffix to be used when naming the notes tiddler\n* a full macro call could look like: {{{<<notes heading:"My Notes" tag:"NoteTiddlers" suffix:"Comments">>}}}\n* To avoid adding {{{<<notes>>}}} to each tiddler you want notes for, you could add the macro call to the ViewTemplate\n** below the line {{{<div class='viewer' macro='view text wikified'></div>}}} add the following line: <br> {{{<div class='viewer' macro='notes'></div>}}}\n** Used in combination with the ~HideWhenPlugin or ~PublisherPlugin, you could have notes be shown only for tiddlers with specific tags. The ~PublisherPlugin would allow you for instance to only have the ~TeachersNotes visible to the teacher, and the ~StudentsNotes for the same tiddler visible to the Student.\n\n!!Configuration\n*<<option chkPrefillNotes>> Enable to pre-fill notes with the original tiddler's contents\n\n!!Demo:\n* [[MySlide]]\n\n***/\n// /%\n//!BEGIN-PLUGIN-CODE\n\nif (!config.options.chkPrefillNotes)\n config.options.chkPrefillNotes = false;\n \nfunction createTiddlyElement(theParent,theElement,theID,theClass,theText,attribs)\n{\n var e = document.createElement(theElement);\n if(theClass != null)\n e.className = theClass;\n if(theID != null)\n e.setAttribute("id",theID);\n if(theText != null)\n e.appendChild(document.createTextNode(theText));\n if(attribs){\n for(var n in attribs){\n e.setAttribute(n,attribs[n]);\n }\n }\n if(theParent != null)\n theParent.appendChild(e);\n return e;\n}\n\nfunction createTiddlyButton(theParent,theText,theTooltip,theAction,theClass,theId,theAccessKey,attribs)\n{\n var theButton = document.createElement("a");\n if(theAction) {\n theButton.onclick = theAction;\n theButton.setAttribute("href","javascript:;");\n }\n if(theTooltip)\n theButton.setAttribute("title",theTooltip);\n if(theText)\n theButton.appendChild(document.createTextNode(theText));\n if(theClass)\n theButton.className = theClass;\n else\n theButton.className = "button";\n if(theId)\n theButton.id = theId;\n if(attribs){\n for(var n in attribs){\n e.setAttribute(n,attribs[n]);\n }\n }\n if(theParent)\n theParent.appendChild(theButton);\n if(theAccessKey)\n theButton.setAttribute("accessKey",theAccessKey);\n return theButton;\n}\n\nconfig.macros.notes={\n \n cancelWarning: "Are you sure you want to abandon changes to your notes for '%0'?",\n editLabel: "edit notes",\n editTitle: "double click to edit",\n saveLabel: "save notes",\n saveTitle: "double click to save",\n cancelLabel: "cancel",\n heading: "Notes",\n suffix: "Notes",\n tag: "Notes",\n \n saveNotes: function(ev){\n e = ev? ev : window.event;\n var theTarget = resolveTarget(e);\n if (theTarget.nodeName.toLowerCase() == "textarea")\n return false;\n var title = story.findContainingTiddler(theTarget).getAttribute("tiddler");\n story.setDirty(title,false);\n var box = document.getElementById("notesContainer"+title);\n var textarea = document.getElementById("notesTextArea"+title);\n if(textarea.getAttribute("oldText")!=textarea.value && !hasClass(theTarget,"cancelNotesButton")){\n var suffix = box.getAttribute("suffix");\n var t = store.getTiddler(title+"-"+suffix);\n store.saveTiddler(title+"-"+suffix,title+"-"+suffix,textarea.value,config.options.txtUserName,new Date(),t?t.tags:box.getAttribute("tag"),t?t.fields:{});\n }\n story.refreshTiddler(title,1,true);\n autoSaveChanges(true);\n return false;\n },\n \n editNotes: function(box,tiddler){\n removeChildren(box);\n story.setDirty(tiddler,true);\n box.title = this.saveTitle;\n box.ondblclick = this.saveNotes;\n createTiddlyButton(box,this.cancelLabel,this.cancelLabel,this.saveNotes,"cancelNotesButton");\n createTiddlyButton(box,this.saveLabel,this.saveLabel,this.saveNotes,"saveNotesButton");\n wikify("!!"+box.getAttribute("heading")+"\sn",box);\n addClass(box,"editor");\n var wrapper1 = createTiddlyElement(null,"fieldset",null,"fieldsetFix");\n var wrapper2 = createTiddlyElement(wrapper1,"div");\n var e = createTiddlyElement(wrapper2,"textarea","notesTextArea"+tiddler);\n var v = store.getValue(tiddler+"-"+box.getAttribute("suffix"),"text");\n if(!v) \n v = config.options.chkPrefillNotes? store.getValue(tiddler,"text"):'';\n e.value = v;\n e.setAttribute("oldText",v);\n var rows = 10;\n var lines = v.match(/\sn/mg);\n var maxLines = Math.max(parseInt(config.options.txtMaxEditRows),5);\n if(lines != null && lines.length > rows)\n rows = lines.length + 5;\n rows = Math.min(rows,maxLines);\n e.setAttribute("rows",rows);\n box.appendChild(wrapper1);\n },\n \n editNotesButtonOnclick: function(e){\n var title = story.findContainingTiddler(this).getAttribute("tiddler");\n var box = document.getElementById("notesContainer"+title);\n config.macros.notes.editNotes(box,title);\n return false;\n },\n \n ondblclick : function(ev){\n e = ev? ev : window.event;\n var theTarget = resolveTarget(e);\n var title = story.findContainingTiddler(theTarget).getAttribute("tiddler");\n var box = document.getElementById("notesContainer"+title);\n config.macros.notes.editNotes(box,title);\n e.cancelBubble = true;\n if(e.stopPropagation) e.stopPropagation();\n return false;\n },\n \n handler : function(place,macroName,params,wikifier,paramString,tiddler){\n \n params = paramString.parseParams("anon",null,true,false,false);\n var heading = getParam(params,"heading",this.heading);\n var tag = getParam(params,"tag",this.tag);\n var suffix = getParam(params,"suffix",this.suffix);\n var box = createTiddlyElement(place,"div","notesContainer"+tiddler.title,"TiddlerNotes",null,{"source":tiddler.title,params:paramString,heading:heading,tag:tag,suffix:suffix});\n createTiddlyButton(box,this.editLabel,this.editLabel,this.editNotesButtonOnclick,"editNotesButton");\n wikify("!!"+heading+"\sn",box);\n box.title=this.editTitle;\n box.ondblclick = this.ondblclick;\n wikify("<<tiddler [["+tiddler.title+"-"+suffix+"]]>>",box);\n } \n};\n\nStory.prototype.old_notes_closeTiddler = Story.prototype.closeTiddler;\nStory.prototype.closeTiddler = function(title,animate,unused){\n if(story.isDirty(title)) {\n if(!confirm(config.macros.notes.cancelWarning.format([title])))\n return false;\n }\n return this.old_notes_closeTiddler.apply(this,arguments);\n}\n\nsetStylesheet(".TiddlerNotes {\sn"+ " background:#eee;\sn"+ " border:1px solid #ccc;\sn"+ " padding:10px;\sn"+ " margin:15px;\sn"+ "}\sn"+ "\sn"+ ".cancelNotesButton,.editNotesButton, .saveNotesButton {\sn"+ " float:right;\sn"+ " border:1px solid #ccc;\sn"+ " padding:2px 5px;\sn"+ "}\sn"+ "\sn"+ ".saveNotesButton{\sn"+ " margin-right:0.5em;\sn"+ "}\sn"+ "\sn"+ ".TiddlerNotes.editor textarea{\sn"+ " border:1px solid #ccc;\sn"+ "}","NotesPluginStyles");\n//!END-PLUGIN-CODE\n// %/\n
[<img[http://archives.library.wcsu.edu/relatedObjects/kennedy.jpg]]Two exhibits commemorating the 50th anniversaries of the election and inauguration of John F. Kennedy will be on display at Western Connecticut State University in the Ruth A. Haas Library.\n''The First:''\nTuesday, November 9, 2010, 10 a.m. to 4 p.m.\n''The Second:''\nThursday, Feb 3, 2011, 11 a.m. to 4 p.m.\nLight refreshments and a brief speaking program\n \nOn exhibit will be Jim Dyer's John F. Kennedy collection assembled over the past 46 years. This will be the last time this collection will be publicly exhibited. \n\nTwo One Day Only Exhibits, Free and Open to the Public\n
[<img[http://archives.library.wcsu.edu/relatedObjects/kennedy.jpg]]Exhibit and reception to mark the 50th anniversary of the inauguration of John F. Kennedy on display at Western Connecticut State University in the Ruth A. Haas Library.\n\nFeb 3, 2011, 11 a.m. to 4 p.m.\nLight refreshments and a brief speaking program\n \nOn exhibit was Jim Dyer's John F. Kennedy collection assembled over the past 46 years. \n\nImages from James Dyer's exhibit of Kennedy memorabilia:\nThursday, February, 3 2011, 11 a.m. to 4 p.m.\n\n[<img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy8.jpg]][>img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy1.jpg]]\n[<img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy2.jpg]][>img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy3.jpg]][<img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy4.jpg]]\n[>img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy5.jpg]][<img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy6.jpg]][>img[http://archives.library.wcsu.edu/relatedObjects/dyer2/kennedy7.jpg]]\n\n \n
/***\n|''Name:''|BreadCrumbsPlugin|\n|''Version:''|2.2.1 (05-July-2007)|\n|''Author:''|AlanHecht|\n|''Adapted By:''|[[Jack]]|\n|''Type:''|Plugin|\n!Description\nThis plugin creates an area at the top of the tiddler area that displays "breadcrumbs" of where you've been. This is especially useful for ~TWs using SinglePageMode by Eric Schulman.\n!Usage\nJust install the plugin and tag with systemConfig. Optionally position the following div in your PageTemplate to control the positioning of the breadcrumbs menu:\n{{{\n<div id='breadCrumbs'></div>\n}}}\n!Revision History\n* Original by AlanHecht\n* 2.0 Made 2.0.x compatible by [[Jack]]\n* Made 2.0.10 compatible (onstart paramifier)\n* Bugfix -> return false in onClickTiddlerLink()\n* 2.2 Made 2.2.x compatible\n!Code\n***/\n\n// // Use the following line to set the number of breadcrumbs to display before rotating them off the list.\n//{{{\nversion.extensions.breadCrumbs = {major: 2, minor: 2, revision: 1, date: new Date("Jul 5, 2007")};\nvar crumbsToShow = 7;\nvar breadCrumbs = [];\n\nonClickTiddlerLink_orig_breadCrumbs = onClickTiddlerLink;\nonClickTiddlerLink = function(e){\n onClickTiddlerLink_orig_breadCrumbs(e);\n breadcrumbsAdd(e);\n return false;\n}\n\nrestart_orig_breadCrumbs = restart;\nfunction restart() {\n invokeParamifier(params,"onstart");\n var defaultParams = store.getTiddlerText("DefaultTiddlers").parseParams("open",null,false);\n invokeParamifier(defaultParams,"onstart");\n breadCrumbs = [];\n breadcrumbsRefresh();\n window.scrollTo(0,0);\n return false;\n}\n\nfunction breadcrumbsAdd(e) {\n var uniqueCrumb = true;\n var crumbIndex = 0;\n if (!e) var e = window.event;\n var target = resolveTarget(e);\n var thisCrumb="[["+resolveTarget(e).getAttribute("tiddlyLink")+"]]";\n var lastInactiveCrumb = breadCrumbs.length -(breadCrumbs.length < crumbsToShow ? breadCrumbs.length : crumbsToShow);\n for(t=lastInactiveCrumb; t<breadCrumbs.length; t++)\n if(breadCrumbs[t] == thisCrumb) {\n uniqueCrumb = false;\n crumbIndex = t+1;\n }\n if(uniqueCrumb)\n breadCrumbs.push(thisCrumb);\n else\n breadCrumbs = breadCrumbs.slice(0,crumbIndex);\n breadcrumbsRefresh(); \n}\n\nfunction breadcrumbsRefresh() {\n \n if (!document.getElementById("breadCrumbs")) {\n // Create breadCrumbs div\n var ca = document.createElement("div");\n ca.id = "breadCrumbs";\n ca.style.visibility= "hidden";\n var targetArea = document.getElementById("tiddlerDisplay")||document.getElementById("storyDisplay");\n targetArea.parentNode.insertBefore(ca,targetArea);\n }\n\n var crumbArea = document.getElementById("breadCrumbs");\n crumbArea.style.visibility = "visible";\n removeChildren(crumbArea);\n createTiddlyButton(crumbArea,"Home",null,restart);\n crumbArea.appendChild(document.createTextNode(" > "));\n \n var crumbLine = "";\n var crumbCount = breadCrumbs.length;\n var firstCrumb = crumbCount -(crumbCount < crumbsToShow ? crumbCount : crumbsToShow);\n for(t=firstCrumb; t<crumbCount; t++) {\n if(t != firstCrumb)\n crumbLine += " > ";\n crumbLine += breadCrumbs[t];\n }\n wikify(crumbLine,crumbArea)\n}\n\n\n//}}}
/***\n|''Name:''|~TaggerPlugin|\n|''Version:''|1.0.1 (2006-06-01)|\n|''Source:''|http://tw.lewcid.org//#TaggerPlugin|\n|''Author:''|SaqImtiaz|\n|''Description:''|Provides a drop down listing current tiddler tags, and allowing toggling of tags.|\n|''Documentation:''|[[TaggerPluginDocumentation]]|\n|''Source Code:''|[[TaggerPluginSource]]|\n|''~TiddlyWiki:''|Version 2.0.8 or better|\n***/\n// /%\nconfig.tagger={defaults:{label:"Tags: ",tooltip:"Manage tiddler tags",taglist:"true",excludeTags:"",notags:"tiddler has no tags",aretags:"current tiddler tags:",toggletext:"add tags:"}};config.macros.tagger={};config.macros.tagger.arrow=(document.all?"â–Œ":"▪");config.macros.tagger.handler=function(_1,_2,_3,_4,_5,_6){var _7=config.tagger.defaults;var _8=_5.parseParams("tagman",null,true);var _9=((_8[0].label)&&(_8[0].label[0])!=".")?_8[0].label[0]+this.arrow:_7.label+this.arrow;var _a=((_8[0].tooltip)&&(_8[0].tooltip[0])!=".")?_8[0].tooltip[0]:_7.tooltip;var _b=((_8[0].taglist)&&(_8[0].taglist[0])!=".")?_8[0].taglist[0]:_7.taglist;var _c=((_8[0].exclude)&&(_8[0].exclude[0])!=".")?(_8[0].exclude[0]).readBracketedList():_7.excludeTags.readBracketedList();if((_8[0].source)&&(_8[0].source[0])!="."){var _d=_8[0].source[0];}if(_d&&!store.getTiddler(_d)){return false;}var _e=function(e){if(!e){var e=window.event;}var _11=Popup.create(this);var _12=store.getTags();var _13=new Array();for(var i=0;i<_12.length;i++){_13.push(_12[i][0]);}if(_d){var _15=store.getTiddler(_d);_13=_15.tags.sort();}var _16=_6.tags.sort();var _17=function(_18,_19,_1a){var sp=createTiddlyElement(createTiddlyElement(_11,"li"),"span",null,"tagger");var _1c=createTiddlyButton(sp,_18,_1a+" '"+_19+"'",taggerOnToggle,"button","toggleButton");_1c.setAttribute("tiddler",_6.title);_1c.setAttribute("tag",_19);insertSpacer(sp);if(window.createTagButton_orig_mptw){createTagButton_orig_mptw(sp,_19)}else{createTagButton(sp,_19);}};createTiddlyElement(_11,"li",null,"listTitle",(_6.tags.length==0?_7.notags:_7.aretags));for(var t=0;t<_16.length;t++){_17("[x]",_16[t],"remove tag ");}createTiddlyElement(createTiddlyElement(_11,"li"),"hr");if(_b!="false"){createTiddlyElement(_11,"li",null,"listTitle",_7.toggletext);for(var i=0;i<_13.length;i++){if(!_6.tags.contains(_13[i])&&!_c.contains(_13[i])){_17("[ ]",_13[i],"add tag ");}}createTiddlyElement(createTiddlyElement(_11,"li"),"hr");}var _1f=createTiddlyButton(createTiddlyElement(_11,"li"),("Create new tag"),null,taggerOnToggle);_1f.setAttribute("tiddler",_6.title);if(_d){_1f.setAttribute("source",_d);}Popup.show(_11,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}return (false);};createTiddlyButton(_1,_9,_a,_e,"button","taggerDrpBtn");};window.taggerOnToggle=function(e){var tag=this.getAttribute("tag");var _22=this.getAttribute("tiddler");var _23=store.getTiddler(_22);if(!tag){var _24=prompt("Enter new tag:","");if(_24!=""&&_24!=null){var tag=_24;if(this.getAttribute("source")){var _26=store.getTiddler(this.getAttribute("source"));_26.tags.pushUnique(_24);}}else{return false;}}if(!_23||!_23.tags){store.saveTiddler(_22,_22,"",config.options.txtUserName,new Date(),tag);}else{if(_23.tags.find(tag)==null){_23.tags.push(tag);}else{if(!_24){_23.tags.splice(_23.tags.find(tag),1);}}store.saveTiddler(_23.title,_23.title,_23.text,_23.modifier,_23.modified,_23.tags);}story.refreshTiddler(_22,null,true);if(config.options.chkAutoSave){saveChanges();}return false;};setStylesheet(".tagger a.button {font-weight: bold;display:inline; padding:0px;}\sn"+".tagger #toggleButton {padding-left:2px; padding-right:2px; margin-right:1px; font-size:110%;}\sn"+"#nestedtagger {background:#2E5ADF; border: 1px solid #0331BF;}\sn"+".popup .listTitle {color:#000;}\sn"+"","TaggerStyles");window.lewcidTiddlerSwapTag=function(_27,_28,_29){for(var i=0;i<_27.tags.length;i++){if(_27.tags[i]==_28){_27.tags[i]=_29;return true;}}return false;};window.lewcidRenameTag=function(e){var tag=this.getAttribute("tag");var _2d=prompt("Rename tag '"+tag+"' to:",tag);if((_2d==tag)||(_2d==null)){return false;}if(store.tiddlerExists(_2d)){if(confirm(config.messages.overwriteWarning.format([_2d.toString()]))){story.closeTiddler(_2d,false,false);}else{return null;}}tagged=store.getTaggedTiddlers(tag);if(tagged.length!=0){for(var j=0;j<tagged.length;j++){lewcidTiddlerSwapTag(tagged[j],tag,_2d);}}if(store.tiddlerExists(tag)){store.saveTiddler(tag,_2d);}if(document.getElementById("tiddler"+tag)){var _2f=document.getElementById(story.idPrefix+tag);var _30=story.positionTiddler(_2f);var _31=document.getElementById(story.container);story.closeTiddler(tag,false,false);story.createTiddler(_31,_30,_2d,null);story.saveTiddler(_2d);}if(config.options.chkAutoSave){saveChanges();}return false;};window.onClickTag=function(e){if(!e){var e=window.event;}var _34=resolveTarget(e);var _35=(!isNested(_34));if((Popup.stack.length>1)&&(_35==true)){Popup.removeFrom(1);}else{if(Popup.stack.length>0&&_35==false){Popup.removeFrom(0);}}var _36=(_35==false)?"popup":"nestedtagger";var _37=createTiddlyElement(document.body,"ol",_36,"popup",null);Popup.stack.push({root:this,popup:_37});var tag=this.getAttribute("tag");var _39=this.getAttribute("tiddler");if(_37&&tag){var _3a=store.getTaggedTiddlers(tag);var _3b=[];var li,r;for(r=0;r<_3a.length;r++){if(_3a[r].title!=_39){_3b.push(_3a[r].title);}}var _3d=config.views.wikified.tag;if(_3b.length>0){var _3e=createTiddlyButton(createTiddlyElement(_37,"li"),_3d.openAllText.format([tag]),_3d.openAllTooltip,onClickTagOpenAll);_3e.setAttribute("tag",tag);createTiddlyElement(createTiddlyElement(_37,"li"),"hr");for(r=0;r<_3b.length;r++){createTiddlyLink(createTiddlyElement(_37,"li"),_3b[r],true);}}else{createTiddlyText(createTiddlyElement(_37,"li",null,"disabled"),_3d.popupNone.format([tag]));}createTiddlyElement(createTiddlyElement(_37,"li"),"hr");var h=createTiddlyLink(createTiddlyElement(_37,"li"),tag,false);createTiddlyText(h,_3d.openTag.format([tag]));createTiddlyElement(createTiddlyElement(_37,"li"),"hr");var _40=createTiddlyButton(createTiddlyElement(_37,"li"),("Rename tag '"+tag+"'"),null,lewcidRenameTag);_40.setAttribute("tag",tag);}Popup.show(_37,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}return (false);};if(!window.isNested){window.isNested=function(e){while(e!=null){var _42=document.getElementById("contentWrapper");if(_42==e){return true;}e=e.parentNode;}return false;};}config.shadowTiddlers.TaggerPluginDocumentation="The documentation is available [[here.|http://tw.lewcid.org/#TaggerPluginDocumentation]]";config.shadowTiddlers.TaggerPluginSource="The uncompressed source code is available [[here.|http://tw.lewcid.org/#TaggerPluginSource]]";\n// %/
<!--{{{-->\n\n<div id='sidebar'>\n <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n <div id='mainmenu' refresh='content' tiddler='MainMenu'></div>\n <div macro='showWhen zw.loggedIn'>\n <div id='sidebarTabs' refresh='macro' force='true' macro='slider chkSideBarTabs SideBarTabs "index" "display lists of tiddlers"'></div></div>\n</div>\n\n<div id='header' class='header'>\n <div id="banner" refresh='content' tiddler="Banner"></div>\n <div class='headerShadow'>\n <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span><br />\n <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n </div>\n</div>\n\n<div id='displayArea'>\n <div id='messageArea'></div>\n <div id='tiddlerDisplay'></div>\n</div>\n\n<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>\n\n<!--}}}-->\n\n
The Archives and Special Collections Library is open to researchers by appointment. Regular hours are:\n''8AM-2:30PM Mon, Tue, Thur and Fri and from 8AM-4PM Wed.'' \nOther times may be arranged with the archivist.
<html>\n<h3>Deed of Gift Form/Agreement</h3>\n<div>\n<p>Archives and Special Collections<br />Ruth A. Haas Library<br /> Western Connecticut State University<br /> 181 White Street<br /> Danbury, CT 06801<br /> (203) 837-8992<br />\n\n</p>\n\n<div class="center">\n<form method="post" action="/cgi-bin/formmail.cgi">\n\n\n<legend>Contact Info</legend><br/>\n<label for="From" style="font-weight: ;">Your Name:</label>\n<br />\n<input name="From" size="41" />\n<br />\n<label for="Email" style="font-weight: ;">Your e-mail address:</label>\n\n<br />\n<input name="Email" size="41" />\n<br />\n<label for="StreetAddress" style="font-weight: ;">Your street address:</label>\n<br />\n<input name="StreetAdress" size="41" />\n<br />\n<label for="CityState" style="font-weight: ;">Your City, State:</label>\n<br />\n<input name="CityState" size="41" />\n<br />\n<label for="Zip" style="font-weight: ;">Zip:</label>\n<br />\n<input name="Zip" size="41" />\n\n<br />\n<div>The above individual owns and desires to give, or is empowered as legal agent for the above to give to the Archives and Special Collections Library at the Haas Library, 181 White St. Danbury, CT the materials described below.</div>\n\n<legend> Information about the materials </legend><br/>\n<p>Description of materials or inventory, please be a detailed as possible: (attach additional sheets to the paper copy of this form)</p>\n<p>\n<i>For example: </i>\n<ul>\n<li>\n<i>2 boxes of correspondence, 1980-1999</i>\n\n</li>\n<li>\n<i>1 box of photographs, 1990s</i>\n</li>\n</ul>\n</p>\n<p>\n<label for="description" style="font-weight: ;"></label>\n<textarea rows="15" name="description" cols="67">\n</textarea>\n</p>\n<p>Researchers who meet the requirements set by Archives and Special Collections may have full access to this collection with the exception of the restriction(s) or conditions stated below:</p>\n<p>\n<label for="restriction" style="font-weight: ;"></label>\n<input type="radio" value="no_restrictions" name="restriction">No Restrictions</input>\n\n</p>\n<p>\n<input type="radio" name="restriction" value="restrictions_apply">Some Restrictions (please specify below:)</input>\n</p>\n<p>\n<i>For example:</i>\n</p>\n<ul>\n<li>\n<i>Materials regarding financial matters are closed to researchers until 2029</i>\n</li>\n</ul>\n<p>\n<label for="restriction_note" style="font-weight: ;"></label>\n\n<textarea rows="9" name="restriction_note" cols="67">\n</textarea>\n</p>\n\n\n<p>Materials deemed by the Archivist to be duplicates, damaged, or otherwise not pertinent to the donated collection should be:</p>\n<label for="discard" style="font-weight: ;"></label>\n<input type="radio" value="discard_unwanted" name="discard">Discarded </input>\n<p>\n<input type="radio" name="discard" value="return_to_donor">Returned to Donor</input>\n</p>\n<p>\n<input type="radio" name="discard" value="other">Other (describe)</input>\n\n</p>\n<p>\n<label for="discardNote" style="font-weight: ;"></label>\n<textarea rows="45" name="discardNote" cols="67">\n</textarea>\n</p>\n<p>I assign and convey irrevocably the legal title and all literary rights or copyright which I may have to the described property to the Western Connecticut State University Archives &amp; Special Collections Library (the Archives). I understand that the Archives may digitize this material for access via the World Wide Web or for other forms of electronic distribution. Furthermore, I agree that researchers who meet the requirements set by the Archives may have full access to this collection with the exception of the restriction(s) or conditions stated above.</p>\n<p>By checking "agree" below, you understand and accept the terms of this Deed of Gift Form/Agreement. The WCSU Archives and Special Collections Library at the Haas Library will not accept any materials unless the donor agrees to the terms of this agreement.</p>\n<p>\n<label for="agree" style="font-weight: ;"></label>\n<input type="checkbox" value="Agree" name="agreement">Agree</input>\n</p>\n\n<p>Also please print and sign this form (when submitting electronically, type your name below). By signing this form, you formally transfer custody of the materials described in this form to the WCSU Archives and Special Collections Library at the Haas Library. </p>\n<p>\n<label for="signature" style="font-weight: ;">Signed: </label>\n<textarea rows="3" name="signature" cols="67">\n</textarea>\n<label for="dateAgree" style="font-weight: ;">Date: </label>\n<input type="text" name="dateAgree" size="20" />\n</p>\n<p>The staff will prepare a descriptive finding aid at the folder level which will be made available to researchers. The archivists at WCSU will offer administrative reference for the materials.</p>\n<p>If you have questions, please call 837-8992. Thank you for your interest in preserving these materials. </p>\n\n<p>\n<input type="submit" value="Submit Form" />\n<input type="reset" value="Cancel" />\n</p>\n</fieldset>\n<input type="hidden" name="SUBJECT" value="Deed of Gift Agreement" />\n<input type="hidden" name="SENDTO" value="stevensb@wcsu.edu" />\n</form>\n</div>\n<p>\n<a href="http://archives.library.wcsu.edu/forms/deedOfGiftNew.pdf">Use "print-only" version</a>\n</p>\n</html>
[>img[http://archives.library.wcsu.edu/features/features.gif]]\nThanks to the research of Sean Pelletier, a WCSU history major, this previously unidentified portrait is of 1st Lieutenant Charles Stoll of the 7th Illinois Cavalry Regiment, M company. The photo was probably taken in 1862. \n\nThe image is from a photo album in the Alfred Geddes Papers which are housed in the WCSU Archives.\n\n[[click to view a larger version of the image|http://archives.library.wcsu.edu/collections/MS008/album/album_37a/view?display=large]]\n[[view an index of the Archive's Alfred Geddes collecion|http://archives.library.wcsu.edu/findingaids/geddes.xml]]
//{{{\nconfig.formatters.unshift( {\n name: "inlinetabs",\n match: "\s\s<tabs",\n lookaheadRegExp: /(?:<tabs (.*)>\sn)((?:.|\sn)*?)(?:\sn<\s/tabs>)/mg,\n handler: function(w)\n {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n var cookie = lookaheadMatch[1];\n var wrapper = createTiddlyElement(null,"div",null,cookie);\n var tabset = createTiddlyElement(wrapper,"div",null,"tabset");\n tabset.setAttribute("cookie",cookie);\n var validTab = false;\n var firstTab = '';\n var tabregexp = /(?:<tab (.*)>)(?:(?:\sn)?)((?:.|\sn)*?)(?:<\s/tab>)/mg;\n while((m = tabregexp.exec(lookaheadMatch[2])) != null)\n {\n if (firstTab == '') firstTab = m[1];\n var tab = createTiddlyButton(tabset,m[1],m[1],story.onClickInlineTab,"tab tabUnselected");\n tab.setAttribute("tab",m[1]);\n tab.setAttribute("content",m[2]);\n tab.title = m[1];\n if(config.options[cookie] == m[1])\n validTab = true;\n }\n if(!validTab)\n config.options[cookie] = firstTab;\n w.output.appendChild(wrapper);\n story.switchInlineTab(tabset,config.options[cookie]);\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n})\n\nStory.prototype.switchInlineTab = function(tabset,tab)\n{\n var cookie = tabset.getAttribute("cookie");\n var theTab = null\n var nodes = tabset.childNodes;\n for(var t=0; t<nodes.length; t++)\n if(nodes[t].getAttribute && nodes[t].getAttribute("tab") == tab)\n {\n theTab = nodes[t];\n theTab.className = "tab tabSelected";\n }\n else\n nodes[t].className = "tab tabUnselected"\n if(theTab)\n {\n if(tabset.nextSibling && tabset.nextSibling.className == "tabContents")\n tabset.parentNode.removeChild(tabset.nextSibling);\n var tabContent = createTiddlyElement(null,"div",null,"tabContents");\n tabset.parentNode.insertBefore(tabContent,tabset.nextSibling);\n wikify(theTab.getAttribute("content"),tabContent);\n if(cookie)\n {\n config.options[cookie] = tab;\n saveOptionCookie(cookie);\n }\n }\n}\n \nStory.prototype.onClickInlineTab = function(e)\n{\n story.switchInlineTab(this.parentNode,this.getAttribute("tab"));\n return false;\n}\n//}}}
In Focus - Jim Dyer\n\nObjects from Jim Dyer's Papers and photographs of and by Dyer will be on display in the Haas Library Feb 3 -23rd.\n\nFree and open to the public\n\n<<tagging News>>
/***\n|''Name:''|AccordionMenuPlugin|\n|''Description:''|Turn an unordered list into an accordion style menu|\n|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|\n|''Source:''|http://tw.lewcid.org/#AccordionMenuPlugin|\n|''Code Repository:''|http://tw.lewcid.org/svn/plugins|\n|''Version:''|2.0|\n|''Date:''|03/11/2007|\n|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|\n|''~CoreVersion:''|2.2.5|\n!!Usage:\n* put {{{<<accordion>>}}} on the line after your unordered list\n\n!!Customizing:\n* customize the css via the shadow tiddler StyleSheetAccordionMenuPlugin\n* or give the list a custom class by passing the classes as parameters to the macro.\n** Eg: {{{<<accordion ClassName1 ClassName2>>}}}\n\n!!Examples:\n*[[AccordionMenuPluginDemo]]\n\n***/\n// /%\n//!BEGIN-PLUGIN-CODE\nconfig.macros.accordion={\n dropchar : " \su00BB",\n handler : function(place,macroName,params,wikifier,paramString,tiddler){\n list = findRelated(place.lastChild,"UL","tagName","previousSibling");\n if (!list)\n return;\n addClass(list,"accordion");\n if (params.length){\n addClass(list,paramString);\n }\n this.fixLinks(list.childNodes); \n },\n\n fixLinks : function(els){\n for (var i=0; i<els.length; i++){\n if(els[i].tagName.toLowerCase()=="li"){\n var link = findRelated(els[i].firstChild,"A","tagName","nextSibling");\n if(!link){\n var ih = els[i].firstChild.data;\n els[i].removeChild(els[i].firstChild);\n link = createTiddlyElement(null,"a",null,null,ih+this.dropchar,{href:"javascript:;"});\n els[i].insertBefore(link,els[i].firstChild);\n }\n else{\n link.firstChild.data = link.firstChild.data + this.dropchar;\n removeClass(link,"tiddlyLinkNonExisting");\n }\n link.onclick = this.show;\n }\n }\n },\n \n show : function(e){\n var list = this.parentNode.parentNode;\n var els = list.childNodes;\n for (var i=0; i<els.length; i++){\n removeClass(els[i],"accordion-active");\n }\n addClass(this.parentNode,"accordion-active");\n } \n};\n\nconfig.shadowTiddlers["StyleSheetAccordionMenuPlugin"] = "/*{{{*/\sn"+\n "ul.accordion, ul.accordion li, ul.accordion li ul {margin:0; padding:0; list-style-type:none;text-align:left;}\sn"+\n "ul.accordion li ul {display:none;}\sn"+\n "ul.accordion li.accordion-active ul {display:block;}\sn"+\n "\sn"+\n "ul.accordion li.accordion-active a {cursor:default;}\sn"+\n "ul.accordion li.accordion-active ul li a{cursor:pointer;}\sn"+\n "\sn"+\n "ul.accordion a {display:block; padding:0.5em;}\sn"+\n "ul.accordion li a.tiddlyLink, ul.accordion li a.tiddlyLinkNonExisting, ul.accordion li a {font-weight:bold;}\sn"+\n "ul.accordion li a {background:#0066aa; color:#FFF; border-bottom:1px solid #fff;}\sn"+\n "ul.accordion li.accordion-active a, ul.accordion li a:hover {background:#00558F;color:#FFF;}\sn"+\n "\sn"+\n "ul.accordion li ul li{display:inline-block;overflow:hidden;}\sn"+\n "ul.accordion li.accordion-active ul li {background:#eff3fa; color:#000; padding:0em;}\sn"+\n "ul.accordion li.accordion-active ul li div {padding:1em 1.5em; background:#eff3fa;}\sn"+\n "ul.accordion li.accordion-active ul a{background:#eff3fa; color:#000; padding:0.5em 0.5em 0.5em 1.0em;border:none;}\sn"+\n "ul.accordion li.accordion-active ul a:hover {background:#e0e8f5; color:#000;}\sn" +\n "/*}}}*/";\n \n store.addNotification("StyleSheetAccordionMenuPlugin",refreshStyles);\n //!END-PLUGIN-CODE\n// %/
<script>\nvar Pan = new Object();\nPan.MAXW=545;\nPan.TARGET = "one";\nPan.DISTANCE=1;\nPan.TIME = 40;\nfunction img_pan(url)\n { \n var D = new Image();\n var Doc = document.body;\n D.onload=function()\n { \n var Size = new Array(this.offsetWidth, this.offsetHeight);\n var E = new Image();\n E.src = url;\n var F = document.getElementById(Pan.TARGET);\n if (Size[0] > Pan.MAXW)\n {\n F.style.width = Pan.MAXW + "px";\n F.style.maxWidth="545px";\n F.style.height= "232px";\n F.style.position="relative";\n F.style.overflow = "hidden";\n E.style.position="relative";\n E.style.left="0px";\n var Direction = Pan.DISTANCE * -1;\n setInterval(function()\n {\n var X = parseInt(E.style.left);\n if (X < (Pan.MAXW - Size[0]) || X > 0) Direction = Direction * -1;\n E.style.left = (X + Direction) + "px";\n \n }, Pan.TIME * 2);\n }\n F.innerHTML = "";\n F.appendChild(E);\n }\n D.src=url;\n D.style.position="absolute";\n D.style.left="-1500px";\n D.style.top="-1500px";\n Doc.appendChild(D);\n }\nimg_pan('http://archives.library.wcsu.edu/relatedObjects/class2.jpg');\n</script>\n<html>\n <div id="one" style="margin-top: 0; padding-top:0;">one</div>\n <div style="position: relative;top: -232px;">\n <img src="http://archives.library.wcsu.edu/images/wcsuNew.jpg"/>\n </div>\n</html>
/***\n|Name:|TagglyTaggingPlugin|\n|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|\n|Version:|3.3.1 ($Rev: 9828 $)|\n|Date:|$Date: 2009-06-03 21:38:41 +1000 (Wed, 03 Jun 2009) $|\n|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|\n|Author:|Simon Baird <simon.baird@gmail.com>|\n|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|\n!Notes\nSee http://mptw.tiddlyspot.com/#TagglyTagging\n***/\n//{{{\n\nmerge(String.prototype,{\n\n parseTagExpr: function(debug) {\n\n if (this.trim() == "")\n return "(true)";\n\n var anyLogicOp = /(!|&&|\s|\s||\s(|\s))/g;\n var singleLogicOp = /^(!|&&|\s|\s||\s(|\s))$/;\n\n var spaced = this.\n // because square brackets in templates are no good\n // this means you can use [(With Spaces)] instead of [[With Spaces]]\n replace(/\s[\s(/g," [[").\n replace(/\s)\s]/g,"]] "). \n // space things out so we can use readBracketedList. tricky eh?\n replace(anyLogicOp," $1 ");\n\n var expr = "";\n\n var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!\n\n for (var i=0;i<tokens.length;i++)\n if (tokens[i].match(singleLogicOp))\n expr += tokens[i];\n else\n expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\s\s'")]); // fix single quote bug. still have round bracket bug i think\n\n if (debug)\n alert(expr);\n\n return '('+expr+')';\n }\n\n});\n\nmerge(TiddlyWiki.prototype,{\n getTiddlersByTagExpr: function(tagExpr,sortField) {\n\n var result = [];\n\n var expr = tagExpr.parseTagExpr();\n\n store.forEachTiddler(function(title,tiddler) {\n if (eval(expr))\n result.push(tiddler);\n });\n\n if(!sortField)\n sortField = "title";\n\n result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});\n \n return result;\n }\n});\n\nconfig.taggly = {\n\n // for translations\n lingo: {\n labels: {\n asc: "\su2191", // down arrow\n desc: "\su2193", // up arrow\n title: "title",\n modified: "modified",\n created: "created",\n show: "+",\n hide: "-",\n normal: "normal",\n group: "group",\n commas: "commas",\n sitemap: "sitemap",\n numCols: "cols\su00b1", // plus minus sign\n label: "Tagged as '%0':",\n exprLabel: "Matching tag expression '%0':",\n excerpts: "excerpts",\n descr: "descr",\n slices: "slices",\n contents: "contents",\n sliders: "sliders",\n noexcerpts: "title only",\n noneFound: "(none)"\n },\n\n tooltips: {\n title: "Click to sort by title",\n modified: "Click to sort by modified date",\n created: "Click to sort by created date",\n show: "Click to show tagging list",\n hide: "Click to hide tagging list",\n normal: "Click to show a normal ungrouped list",\n group: "Click to show list grouped by tag",\n sitemap: "Click to show a sitemap style list",\n commas: "Click to show a comma separated list",\n numCols: "Click to change number of columns",\n excerpts: "Click to show excerpts",\n descr: "Click to show the description slice",\n slices: "Click to show all slices",\n contents: "Click to show entire tiddler contents",\n sliders: "Click to show tiddler contents in sliders",\n noexcerpts: "Click to show entire title only"\n },\n\n tooDeepMessage: "* //sitemap too deep...//"\n },\n\n config: {\n showTaggingCounts: true,\n listOpts: {\n // the first one will be the default\n sortBy: ["title","modified","created"],\n sortOrder: ["asc","desc"],\n hideState: ["show","hide"],\n listMode: ["normal","group","sitemap","commas"],\n numCols: ["1","2","3","4","5","6"],\n excerpts: ["noexcerpts","excerpts","descr","slices","contents","sliders"]\n },\n valuePrefix: "taggly.",\n excludeTags: ["excludeLists","excludeTagging"],\n excerptSize: 50,\n excerptMarker: "/%"+"%/",\n siteMapDepthLimit: 25\n },\n\n getTagglyOpt: function(title,opt) {\n var val = store.getValue(title,this.config.valuePrefix+opt);\n return val ? val : this.config.listOpts[opt][0];\n },\n\n setTagglyOpt: function(title,opt,value) {\n // create it silently if it doesn't exist\n if (!store.tiddlerExists(title)) {\n store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");\n\n // <<tagglyTagging expr:"...">> creates a tiddler to store its display settings\n // Make those tiddlers less noticeable by tagging as excludeSearch and excludeLists\n // Because we don't want to hide real tags, check that they aren't actually tags before doing so\n // Also tag them as tagglyExpression for manageability\n // (contributed by RA)\n if (!store.getTaggedTiddlers(title).length) {\n store.setTiddlerTag(title,true,"excludeSearch");\n store.setTiddlerTag(title,true,"excludeLists");\n store.setTiddlerTag(title,true,"tagglyExpression");\n }\n }\n\n // if value is default then remove it to save space\n return store.setValue(title, this.config.valuePrefix+opt, value == this.config.listOpts[opt][0] ? null : value);\n },\n\n getNextValue: function(title,opt) {\n var current = this.getTagglyOpt(title,opt);\n var pos = this.config.listOpts[opt].indexOf(current);\n // supposed to automagically don't let cols cycle up past the number of items\n // currently broken in some situations, eg when using an expression\n // lets fix it later when we rewrite for jquery\n // the columns thing should be jquery table manipulation probably\n var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);\n var newPos = (pos + 1) % limit;\n return this.config.listOpts[opt][newPos];\n },\n\n toggleTagglyOpt: function(title,opt) {\n var newVal = this.getNextValue(title,opt);\n this.setTagglyOpt(title,opt,newVal);\n }, \n\n createListControl: function(place,title,type) {\n var lingo = config.taggly.lingo;\n var label;\n var tooltip;\n var onclick;\n\n if ((type == "title" || type == "modified" || type == "created")) {\n // "special" controls. a little tricky. derived from sortOrder and sortBy\n label = lingo.labels[type];\n tooltip = lingo.tooltips[type];\n\n if (this.getTagglyOpt(title,"sortBy") == type) {\n label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];\n onclick = function() {\n config.taggly.toggleTagglyOpt(title,"sortOrder");\n return false;\n }\n }\n else {\n onclick = function() {\n config.taggly.setTagglyOpt(title,"sortBy",type);\n config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);\n return false;\n }\n }\n }\n else {\n // "regular" controls, nice and simple\n label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];\n tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];\n onclick = function() {\n config.taggly.toggleTagglyOpt(title,type);\n return false;\n }\n }\n\n // hide button because commas don't have columns\n if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))\n createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");\n },\n\n makeColumns: function(orig,numCols) {\n var listSize = orig.length;\n var colSize = listSize/numCols;\n var remainder = listSize % numCols;\n\n var upperColsize = colSize;\n var lowerColsize = colSize;\n\n if (colSize != Math.floor(colSize)) {\n // it's not an exact fit so..\n upperColsize = Math.floor(colSize) + 1;\n lowerColsize = Math.floor(colSize);\n }\n\n var output = [];\n var c = 0;\n for (var j=0;j<numCols;j++) {\n var singleCol = [];\n var thisSize = j < remainder ? upperColsize : lowerColsize;\n for (var i=0;i<thisSize;i++) \n singleCol.push(orig[c++]);\n output.push(singleCol);\n }\n\n return output;\n },\n\n drawTable: function(place,columns,theClass) {\n var newTable = createTiddlyElement(place,"table",null,theClass);\n var newTbody = createTiddlyElement(newTable,"tbody");\n var newTr = createTiddlyElement(newTbody,"tr");\n for (var j=0;j<columns.length;j++) {\n var colOutput = "";\n for (var i=0;i<columns[j].length;i++) \n colOutput += columns[j][i];\n var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class\n wikify(colOutput,newTd);\n }\n return newTable;\n },\n\n createTagglyList: function(place,title,isTagExpr) {\n switch(this.getTagglyOpt(title,"listMode")) {\n case "group": return this.createTagglyListGrouped(place,title,isTagExpr); break;\n case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;\n case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;\n case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;\n }\n },\n\n getTaggingCount: function(title,isTagExpr) {\n // thanks to Doug Edmunds\n if (this.config.showTaggingCounts) {\n var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;\n if (tagCount > 0)\n return " ("+tagCount+")";\n }\n return "";\n },\n\n getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {\n return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);\n },\n\n getExcerpt: function(inTiddlerTitle,title,indent) {\n if (!indent)\n indent = 1;\n\n var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");\n var t = store.getTiddler(title);\n\n if (t && displayMode == "excerpts") {\n var text = t.text.replace(/\sn/," ");\n var marker = text.indexOf(this.config.excerptMarker);\n if (marker != -1) {\n return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";\n }\n else if (text.length < this.config.excerptSize) {\n return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";\n }\n else {\n return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";\n }\n }\n else if (t && displayMode == "contents") {\n return "\sn{{contents indent"+indent+"{\sn" + t.text + "\sn}}}";\n }\n else if (t && displayMode == "sliders") {\n return "<slider slide>\sn{{contents{\sn" + t.text + "\sn}}}\sn</slider>";\n }\n else if (t && displayMode == "descr") {\n var descr = store.getTiddlerSlice(title,'Description');\n return descr ? " {{excerpt{" + descr + "}}}" : "";\n }\n else if (t && displayMode == "slices") {\n var result = "";\n var slices = store.calcAllSlices(title);\n for (var s in slices)\n result += "|%0|<nowiki>%1</nowiki>|\sn".format([s,slices[s]]);\n return result ? "\sn{{excerpt excerptIndent{\sn" + result + "}}}" : "";\n }\n return "";\n },\n\n notHidden: function(t,inTiddler) {\n if (typeof t == "string") \n t = store.getTiddler(t);\n return (!t || !t.tags.containsAny(this.config.excludeTags) ||\n (inTiddler && this.config.excludeTags.contains(inTiddler)));\n },\n\n // this is for normal and commas mode\n createTagglyListNormal: function(place,title,useCommas,isTagExpr) {\n\n var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);\n\n if (this.getTagglyOpt(title,"sortOrder") == "desc")\n list = list.reverse();\n\n var output = [];\n var first = true;\n for (var i=0;i<list.length;i++) {\n if (this.notHidden(list[i],title)) {\n var countString = this.getTaggingCount(list[i].title);\n var excerpt = this.getExcerpt(title,list[i].title);\n if (useCommas)\n output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);\n else\n output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\sn");\n\n first = false;\n }\n }\n\n return this.drawTable(place,\n this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),\n useCommas ? "commas" : "normal");\n },\n\n // this is for the "grouped" mode\n createTagglyListGrouped: function(place,title,isTagExpr) {\n var sortBy = this.getTagglyOpt(title,"sortBy");\n var sortOrder = this.getTagglyOpt(title,"sortOrder");\n\n var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);\n\n if (sortOrder == "desc")\n list = list.reverse();\n\n var leftOvers = []\n for (var i=0;i<list.length;i++)\n leftOvers.push(list[i].title);\n\n var allTagsHolder = {};\n for (var i=0;i<list.length;i++) {\n for (var j=0;j<list[i].tags.length;j++) {\n\n if (list[i].tags[j] != title) { // not this tiddler\n\n if (this.notHidden(list[i].tags[j],title)) {\n\n if (!allTagsHolder[list[i].tags[j]])\n allTagsHolder[list[i].tags[j]] = "";\n\n if (this.notHidden(list[i],title)) {\n allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"\n + this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\sn";\n\n leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers\n\n }\n }\n }\n }\n }\n\n var allTags = [];\n for (var t in allTagsHolder)\n allTags.push(t);\n\n var sortHelper = function(a,b) {\n if (a == b) return 0;\n if (a < b) return -1;\n return 1;\n };\n\n allTags.sort(function(a,b) {\n var tidA = store.getTiddler(a);\n var tidB = store.getTiddler(b);\n if (sortBy == "title") return sortHelper(a,b);\n else if (!tidA && !tidB) return 0;\n else if (!tidA) return -1;\n else if (!tidB) return +1;\n else return sortHelper(tidA[sortBy],tidB[sortBy]);\n });\n\n var leftOverOutput = "";\n for (var i=0;i<leftOvers.length;i++)\n if (this.notHidden(leftOvers[i],title))\n leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\sn";\n\n var output = [];\n\n if (sortOrder == "desc")\n allTags.reverse();\n else if (leftOverOutput != "")\n // leftovers first...\n output.push(leftOverOutput);\n\n for (var i=0;i<allTags.length;i++)\n if (allTagsHolder[allTags[i]] != "")\n output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\sn" + allTagsHolder[allTags[i]]);\n\n if (sortOrder == "desc" && leftOverOutput != "")\n // leftovers last...\n output.push(leftOverOutput);\n\n return this.drawTable(place,\n this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),\n "grouped");\n\n },\n\n // used to build site map\n treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {\n\n var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);\n\n if (sortOrder == "desc")\n list.reverse();\n\n var indent = "";\n for (var j=0;j<depth;j++)\n indent += "*"\n\n var childOutput = "";\n\n if (depth > this.config.siteMapDepthLimit)\n childOutput += indent + this.lingo.tooDeepMessage;\n else\n for (var i=0;i<list.length;i++)\n if (list[i].title != title)\n if (this.notHidden(list[i].title,this.config.inTiddler))\n childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);\n\n if (depth == 0)\n return childOutput;\n else\n return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\sn" + childOutput;\n },\n\n // this if for the site map mode\n createTagglyListSiteMap: function(place,title,isTagExpr) {\n this.config.inTiddler = title; // nasty. should pass it in to traverse probably\n var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);\n return this.drawTable(place,\n this.makeColumns(output.split(/(?=^\s*\s[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic\n "sitemap"\n );\n },\n\n macros: {\n tagglyTagging: {\n handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n var parsedParams = paramString.parseParams("tag",null,true);\n var refreshContainer = createTiddlyElement(place,"div");\n\n // do some refresh magic to make it keep the list fresh - thanks Saq\n refreshContainer.setAttribute("refresh","macro");\n refreshContainer.setAttribute("macroName",macroName);\n\n var tag = getParam(parsedParams,"tag");\n var expr = getParam(parsedParams,"expr");\n\n if (expr) {\n refreshContainer.setAttribute("isTagExpr","true");\n refreshContainer.setAttribute("title",expr);\n refreshContainer.setAttribute("showEmpty","true");\n }\n else {\n refreshContainer.setAttribute("isTagExpr","false");\n if (tag) {\n refreshContainer.setAttribute("title",tag);\n refreshContainer.setAttribute("showEmpty","true");\n }\n else {\n refreshContainer.setAttribute("title",tiddler.title);\n refreshContainer.setAttribute("showEmpty","false");\n }\n }\n this.refresh(refreshContainer);\n },\n\n refresh: function(place) {\n var title = place.getAttribute("title");\n var isTagExpr = place.getAttribute("isTagExpr") == "true";\n var showEmpty = place.getAttribute("showEmpty") == "true";\n removeChildren(place);\n addClass(place,"tagglyTagging");\n var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length\n if (countFound > 0 || showEmpty) {\n var lingo = config.taggly.lingo;\n config.taggly.createListControl(place,title,"hideState");\n if (config.taggly.getTagglyOpt(title,"hideState") == "show") {\n createTiddlyElement(place,"span",null,"tagglyLabel",\n isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));\n config.taggly.createListControl(place,title,"title");\n config.taggly.createListControl(place,title,"modified");\n config.taggly.createListControl(place,title,"created");\n config.taggly.createListControl(place,title,"listMode");\n config.taggly.createListControl(place,title,"excerpts");\n config.taggly.createListControl(place,title,"numCols");\n config.taggly.createTagglyList(place,title,isTagExpr);\n if (countFound == 0 && showEmpty)\n createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);\n }\n }\n }\n }\n },\n\n // todo fix these up a bit\n styles: [\n"/*{{{*/",\n"/* created by TagglyTaggingPlugin */",\n".tagglyTagging { padding-top:0.5em; }",\n".tagglyTagging li.listTitle { display:none; }",\n".tagglyTagging ul {",\n" margin-top:0px; padding-top:0.5em; padding-left:2em;",\n" margin-bottom:0px; padding-bottom:0px;",\n"}",\n".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",\n".tagglyTagging table { margin:0px; padding:0px; }",\n".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",\n".tagglyTagging .button, .tagglyTagging .hidebutton {",\n" color:[[ColorPalette::TertiaryLight]]; font-size:90%;",\n" border:0px; padding-left:0.3em;padding-right:0.3em;",\n"}",\n".tagglyTagging .button:hover, .hidebutton:hover, ",\n".tagglyTagging .button:active, .hidebutton:active {",\n" border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",\n"}",\n".selected .tagglyTagging .button { visibility:visible; }",\n".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",\n".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",\n".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",\n".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",\n".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",\n".tagglyTagging ul ul li {margin-left:0.5em; }",\n".editLabel { font-size:90%; padding-top:0.5em; }",\n".tagglyTagging .commas { padding-left:1.8em; }",\n"/* not technically tagglytagging but will put them here anyway */",\n".tagglyTagged li.listTitle { display:none; }",\n".tagglyTagged li { display: inline; font-size:90%; }",\n".tagglyTagged ul { margin:0px; padding:0px; }",\n".excerpt { color:[[ColorPalette::TertiaryDark]]; }",\n".excerptIndent { margin-left:4em; }",\n"div.tagglyTagging table,",\n"div.tagglyTagging table tr,",\n"td.tagglyTagging",\n" {border-style:none!important; }",\n".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",\n" margin-bottom:0.5em; }",\n".tagglyTagging .indent1 { margin-left:3em; }",\n".tagglyTagging .indent2 { margin-left:4em; }",\n".tagglyTagging .indent3 { margin-left:5em; }",\n".tagglyTagging .indent4 { margin-left:6em; }",\n".tagglyTagging .indent5 { margin-left:7em; }",\n".tagglyTagging .indent6 { margin-left:8em; }",\n".tagglyTagging .indent7 { margin-left:9em; }",\n".tagglyTagging .indent8 { margin-left:10em; }",\n".tagglyTagging .indent9 { margin-left:11em; }",\n".tagglyTagging .indent10 { margin-left:12em; }",\n".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",\n"/*}}}*/",\n ""].join("\sn"),\n\n init: function() {\n merge(config.macros,this.macros);\n config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;\n store.addNotification("TagglyTaggingStyles",refreshStyles);\n }\n};\n\nconfig.taggly.init();\n\n//}}}\n\n/***\nInlineSlidersPlugin\nBy Saq Imtiaz\nhttp://tw.lewcid.org/sandbox/#InlineSlidersPlugin\n\n// syntax adjusted to not clash with NestedSlidersPlugin\n// added + syntax to start open instead of closed\n\n***/\n//{{{\nconfig.formatters.unshift( {\n name: "inlinesliders",\n // match: "\s\s+\s\s+\s\s+\s\s+|\s\s<slider",\n match: "\s\s<slider",\n // lookaheadRegExp: /(?:\s+\s+\s+\s+|<slider) (.*?)(?:>?)\sn((?:.|\sn)*?)\sn(?:====|<\s/slider>)/mg,\n lookaheadRegExp: /(?:<slider)(\s+?) (.*?)(?:>)\sn((?:.|\sn)*?)\sn(?:<\s/slider>)/mg,\n handler: function(w) {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {\n var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\su00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");\n var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");\n panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");\n wikify(lookaheadMatch[3],panel);\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n },\n onClickSlider : function(e) {\n if(!e) var e = window.event;\n var n = this.nextSibling;\n n.style.display = (n.style.display=="none") ? "block" : "none";\n return false;\n }\n});\n\n//}}}\n
<html>\n<h3>Books donated by the Brooklyn Historical Society to the Haas Library's Archives and Special Collections Library</h3>\n<table border="1">\n<tr>\n<th>TITLE</th>\n<th>AUTHOR</th>\n\n<th>RECORD #(BIBLIO)</th>\n<th>LOCATION</th>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2934275">"Days of old" remembered : a historical discourse, delivered in the Congregational Church, Brookfield, Conn., July 16th, 1876 / by A.C. Pierce, pastor</a>\n</td>\n<td>Pierce A. C. (Asa Clinton), 1819-1888</td>\n<td>b29342752</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078169">"Remember the days of old" : a discourse delivered in the First Congregaational Church, Norwich / by H.P. Arms ... December 3, 1876, on the fourtieth anniversary of his settlement .</a>\n</td>\n<td>Arms, Hiram P. (Hiram Phelps), 1799-1882</td>\n<td>b30781693</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2716687">"Set thee up way-marks" : historical sermon delivered in the Second Baptist Church, Suffield, Conn., on the seventy-fifth anniversary of its history, Sunday, May 23, 1880 / by J.R. Stubbert</a>\n</td>\n\n<td>Stubbert, John Roman, 1838-1916</td>\n<td>b27166879</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2715952">"The days that are past" : a historical discourse delivered by E.E. Rankin at the First Congregational Church, Fairfield, Conn., Thanksgiving Day, Nov. 24, 1870</a>\n</td>\n<td>Rankin, Edward Erastus, 1820-1889</td>\n<td>b27159528</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2633641">1650-1900. Mattabeseck. Middletown. A description of the exercises connected with the two hundred and fiftieth anniversary, October 10 and 11, 1900</a>\n</td>\n<td>Middletown (Conn.)</td>\n<td>b26336418</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2275765">175th anniversary of the First Congregational Church : Meriden, Conn. October 22d, 23d and 24th, 1904</a>\n\n</td>\n<td>First Congregational Church (Meriden, Conn.)</td>\n<td>b2275765x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2549749">1779-1879 : centennial commemoration of the ride of General Israel Putnam, at Greenwich, Conn., February 26, 1779 : observed February 22, 1879</a>\n</td>\n<td>\n</td>\n<td>b25497492</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092052">1781. Groton Heights and New London. Letters from Zabdiel Rogers and Thomas Mumford</a>\n</td>\n<td>Rogers, Zabdiel</td>\n<td>b30920528</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3079260">1782--1882 Centennial celebrations in two parts / edited by A.B. Davenport</a>\n</td>\n<td>Davenport, A. B. (Amzi Benedict), b. 1817</td>\n<td>b30792605</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092640">1814. New London. Pettypaug Point</a>\n</td>\n<td>\n</td>\n\n<td>b30926403</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2513451">1841-1916 seventy-fifth anniversary of Portland, Connecticut</a>\n</td>\n<td>\n</td>\n<td>b25134516</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077255">250th anniversary of the Congregational Church, December 22, 1885. : Historical address, / by Rev. Samuel Scoville poem / by Rev. John G. Davenport</a>\n</td>\n<td>Scoville, Samuel, 1834-1902</td>\n<td>b30772552</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093648">77 Broad Street Guilford, Connecticut</a>\n</td>\n\n<td>Hart, Lucy Bishop</td>\n<td>b30936482</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1748291">A biographical history of the county of Litchfield, Connecticut: comprising biographical sketches of distinguished natives and residents of the county together with complete lists of the judges of the county court, justices of the quorum, county commissioners, judges of probate, sheriffs, senators, &amp;c. from the organization of the county to the present time. By Payne Kenyon Kilbourne</a>\n</td>\n<td>Kilbourne, Payne Kenyon, 1815-1859</td>\n<td>b17482914</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2349680">A brief historical notice of the town of Ridgefield, Connecticut</a>\n</td>\n<td>\n</td>\n<td>b23496800</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3077172">A brief historical sketch of the Church of Christ, in Chaplin, Ct., : including the confession of faith and covenants, adopted by said church: : also, the names of all persons admitted as members, since its organization. / Published by order of the Church</a>\n</td>\n<td>Church of Christ (Chaplin, Conn.)</td>\n<td>b30771729</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2700178">A brief history of the First Baptist Church of Hartford, Conn. : with the articles of faith, the church covenant, general regulations, and list of members. June 1, 1897</a>\n</td>\n<td>First Baptist Church (Hartford, Conn.)</td>\n\n<td>b27001787</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2213724">A brief history of the First Church of Christ in Middletown, Connecticut for two centuries and a half, 1668-1918 / Azel Washburn Hazen. Illustrated</a>\n</td>\n<td>Hazen, Azel Washburn, 1841-1928</td>\n<td>b22137245</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1058647">A brief history of the formation of the North Church in Hartford, Connecticut : together with a summary of Christian doctrine, and a form of covenant, adopted by the Church and publicly read on the admission of members</a>\n</td>\n<td>\n</td>\n<td>b10586477</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2422052">A brief history of the town of Norfolk : from 1738 to 1844, and a summary of events and transactions which have occurred in this town ... collected from the public records of the town and other correct documents ... to which is added a description of the town, incidents, list of officers, and other interesting matter / by Auren Roys</a>\n</td>\n\n<td>Roys, Auren</td>\n<td>b24220528</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3047073">A brief record of noted clergymen and missionaries supplied to the world by the first Episcopal Church, of Middletown, Conn. : formerly Christ Church, but now Holy Trinity Church / published for the benefit of missions</a>\n</td>\n<td>\n</td>\n<td>b30470730</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2444451">A catalogue of Barkhamsted men : who served in the various wars, 1775 to 1865 / Compiled, arranged and published by Wm. Wallace Lee, (a native of the town) Meriden, Conn. 1897</a>\n</td>\n<td>Lee, W. W. (William Wallace), 1828-</td>\n<td>b24444510</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092127">A Catalogue of the deaths in the Second Society of Groton, : from the year seventeen hundred and seventy, to eighteen hundred and fifteen. : [Two lines of Scripture text]</a>\n\n</td>\n<td>\n</td>\n<td>b30921272</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1762773">A catalogue of the names of the first Puritan settlers of the colony of Connecticut with the time of their arrival in the colony, and their standing in society, together with their place of residence, as far as can be discovered by the records. Collected from the state and town records, by R. R. Hinman</a>\n</td>\n<td>Hinman, R. R. (Royal Ralph), 1785-1868</td>\n<td>b17627734</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1757673">A census of Newington, Connecticut : taken according to households in 1776 / by Josiah Willard together with some documents relating to the early history of the parish, ed. by Edwin Stanley Welles</a>\n</td>\n<td>Willard, Josiah, 1739-1818</td>\n<td>b17576738</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3037720">A centennial discourse delivered January 26th, 1864 : the one hundredth anniversary of the Mt. Carmel Congregational Church, Hamden, Conn. / by D.H. Thayer</a>\n</td>\n<td>Thayer, D. H. (David Haven)</td>\n<td>b30377201</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045695">A centennial discourse, delivered in the First Congregational Church, Mansfield Centre, July 1876 / by K.B. Glidden including a history of the First Congregational Church and a sketch of the early settlement, ecclesiastical and civil history of the town</a>\n</td>\n<td>Glidden, K. B. (Kiah Bailey), 1819-1891</td>\n\n<td>b30456952</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1100748">A centennial historical sketch of the town of New London / by W. H. Starr, secretary of the New London Historical Society</a>\n</td>\n<td>Starr, William Holt, b. 1808</td>\n<td>b11007485</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1248884">A century in Hartford, being the history of the Hartford County Mutual Fire Insurance Company in relation to the hundred years of local and national progress and experiences and the world development in invention and discoveries-- the age of marvels, written by Charles W. Burpee</a>\n</td>\n<td>Burpee, Charles W. (Charles Winslow), b. 1859</td>\n<td>b12488847</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072539">A century sermon : delivered before the Church and Society, at Bethel, Ct., Nov. 30, 1860 / by L.P. Hickok .</a>\n</td>\n\n<td>Hickok, Laurens P. (Laurens Perseus), 1798-1888</td>\n<td>b30725392</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072042">A century sermon, delivered at Danbury January 1, A.D. 1801. : Being the first day of the nineteenth century, since the Christian era. In which is exhibited a brief view of the most remarkable events of the eighteenth century: with a sketch of the history of the town of Danbury, from the first settlement, to the present time / by Thomas Robbins .</a>\n</td>\n<td>Robbins, Thomas, 1777-1856</td>\n<td>b30720424</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1345254">A complete history of Connecticut : civil and ecclesiastical, from the emigration of its first planters, from, England, in the year 1630, to the year 1764, and to the close of the Indian Wars / by Benjamin Trumbull with an appendix containing the original patent of New England</a>\n</td>\n<td>Trumbull, Benjamin, 1735-1820</td>\n<td>b1345254x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1793184">A confession of faith, covenant, constitution and rules of practice adopted by the Congregational church in East Haven. To which is added a catalogue of the officers and members of the church, from the year 1755, to December, 1833</a>\n\n</td>\n<td>Old Stone Church (East Haven, Conn.)</td>\n<td>b17931848</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1107109">A corner stone of colonial commerce, by John A. Stoughton</a>\n</td>\n<td>Stoughton, John A. (John Alden), 1848-1915</td>\n<td>b11071096</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073120">A deserted village. By Henry Sherman Boutell</a>\n</td>\n<td>Boutell, Henry Sherman, 1856-1926</td>\n<td>b30731203</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1273741">A digest of the early Connecticut probate records / compiled by Charles William Manwaring</a>\n</td>\n<td>Manwaring, Charles William, 1829-1905</td>\n<td>b12737410</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2422105">A discourse delivered at the dedication of the Congregational house of worship in North Stonington, Conn., June 27th, 1848 / by Myron N. Morris</a>\n</td>\n<td>Morris, Myron N. (Myron Newton), 1810-1885</td>\n\n<td>b24221053</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2423083">A discourse delivered February 25, 1849 : on the completion of a century from the organization of the Congregational Church in Andover, Connecticut / by William B. Sprague .</a>\n</td>\n<td>Sprague, William Buell, 1795-1876</td>\n<td>b24230832</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3028704">A discourse delivered on the fiftieth anniversary of the organization of the Third Congregational Church, Guilford, Conn., Nov. 26, 1893 / by the pastor of the church Rev. George W. Banks, together with biographical sketches of the pastors of the Third Church</a>\n</td>\n<td>Third Congregational Church (Guilford, Conn.)</td>\n<td>b30287042</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2703878">A discourse delivered on the two hundredth anniversary of the First Church of Christ, in New London, Oct. 19th, 1870 / by Thomas P. Field with the other addresses on that occasion, and some account of the celebration</a>\n</td>\n\n<td>Field, Thomas P. (Thomas Power), 1814-1894</td>\n<td>b27038786</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3044816">A discourse on concluding a pastorate of forty years ... delivered in Madison, Conn. October 29, 1893 / by James A. Gallup</a>\n</td>\n<td>Gallup, James A</td>\n<td>b30448165</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2590325">A discourse on the completion of fifty years service in the ministry of the gospel : delivered by request in the North Church, New Haven, February 25th, 1855 / by Samuel Merwin</a>\n</td>\n<td>Merwin, Samuel, 1782-1856</td>\n<td>b25903251</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704949">A discourse on the history of the First Church of Christ, in Middletown, Conn., for the century ending July 4, 1876 : delivered July 9, 1876, by the Rev. A.W. Hazen, Pastor</a>\n\n</td>\n<td>Hazen, Azel Washburn, 1841-1928</td>\n<td>b27049498</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092235">A discourse on the nature and influence of Godly fear : containing also a minister s address to his church and congregation, together with a few interesting events in their history, written in a time when he was taken off from preaching by bodily infirmities, publicly read, Lord s-day, January 31, 1802 / by Charles Backus</a>\n</td>\n<td>Backus, Charles, 1749-1803</td>\n<td>b30922355</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1258782">A gazetteer of the states of Connecticut and Rhode-Island : written with care and impartiality, from original and authentic materials : consisting of two parts ... : with an accurate and improved map of each state / by John C. Pease and John M. Niles</a>\n</td>\n<td>Pease, John C. (John Chauncey), 1782-1859</td>\n<td>b12587825</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2573777">A genealogical register of the inhabitants of the town of Litchfield, Conn. : from the settlement of the town, A.D. 1720, to the year 1800, whereby one knowing his father s name, may perhaps ascertain who were some of his antecedent progenitors / Collected from the records of said town, probate records of wills, distributions, etc., and from other sources, by George C. Woodruff, 1845 compared with town records of births, marriages, and deaths, and when corrected the entries checked.--G.C.W., May, 1865</a>\n</td>\n<td>Woodruff, George C. (George Catlin), 1805-1885</td>\n<td>b25737776</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073132">A Genealogist s history of Redding, Conn. / Lester Card</a>\n</td>\n<td>Card, Lester</td>\n\n<td>b3073132x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1119977">A general history of Connecticut : from its first settlement under George Fenwick, to its latest period of amity with Great Britain prior to the revolution including a description of the country, and many curious and interesting anecdotes with an appendix, pointing out the causes of the rebellion in America together with the particular part taken by the people of Connecticut in its promotion / by a gentleman of the province, London, 1781 to which is added a supplement, verifying many important statements made by the author illustrated with eight engravings</a>\n</td>\n<td>Peters, Samuel, 1735-1826</td>\n<td>b11199775</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2577879">A gossip about a country parish of the hills and its people / ed. by its pastor, G.F. Goodenough, a century after its birth, Ellsworth, Litchfield County, Connecticut</a>\n</td>\n<td>Goodenough, G. F. (Giles Frederick)</td>\n<td>b25778791</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2681358">A half century of the South Congregational Church, New Britain, Conn. : 1842-1892</a>\n</td>\n\n<td>South Congregational Church (New Britain, Conn.)</td>\n<td>b26813580</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1720718">A half century sermon delivered in the First Society in Lisbon, December 5th, A.D. 1854 / by Levi Nelson</a>\n</td>\n<td>Nelson, Levi, 1779-1855</td>\n<td>b17207186</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2275756">A half-century history of the Farmington Avenue Congregational Church : organized as the Pearl Street Congregational Church in Hartford, Connecticut, 1851-1901</a>\n</td>\n<td>Love, William DeLoss, 1851-1918</td>\n<td>b22757569</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1720782">A historical address : delivered at the commemoration of the one hundredth anniversary of the first annual town meeting of the town of Salisbury, October 20, A.D. 1841 / by Samuel Church</a>\n\n</td>\n<td>Church, Samuel, 1785-1854</td>\n<td>b17207824</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1752462">A historical address, before the Congregational Church in Salisbury, Conn., at their first centennial celebration, November 20, 1844. By Adam Reid, pastor of the church. Delivered by request</a>\n</td>\n<td>Reid, Adam, 1808-1878</td>\n<td>b17524623</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1724790">A historical discourse : preached Oct. 27, 1895, in the meeting-house on Canterbury Green in recognition of its renovation / by Rev. Andrew J. Hetrick</a>\n</td>\n<td>Hetrick, Andrew J</td>\n<td>b17247901</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3092259">A historical discourse delivered at the re-dedication of the Long Society : or Second Congregtional Church of Preston, Conn., Feb. 17, 1889 / by Rev. R. P. Stanton</a>\n</td>\n<td>Stanton, R. P. (Robert Livingston), 1810-1885</td>\n<td>b30922598</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1234742">A historical discourse delivered in Norwich, Connecticut, September 7, 1859 : at the bi-centennial celebration of the settlement of the town / by Daniel Coit Gilman</a>\n</td>\n<td>Gilman, Daniel Coit, 1831-1908</td>\n\n<td>b12347425</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2442575">A historical discourse delivered in the Congregational Church of Ashford, Conn., January 17, 1864 / by Thomas Dutton</a>\n</td>\n<td>Dutton, Thomas</td>\n<td>b24425758</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2570923">A historical discourse, delivered at the hundredth anniversary of the organization of the Second Congregational Church, Norwich, Conn., July 24, 1860 : with an appendix / by Alvan Bond</a>\n</td>\n<td>Bond, Alvan, 1793-1882</td>\n<td>b25709239</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1113087">A historical discourse, delivered by request before the citizens of New Haven, April 25, 1838 : the two hundredth anniversary of the first settlement of the town and colony / by James L. Kingsley</a>\n</td>\n\n<td>Kingsley, James Luce, 1778-1852</td>\n<td>b11130878</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1030131">A historical discourse, delivered by request, before the citizens of Farmington, November 4, 1840, in commemoration of the original settlement of the ancient town, in 1640. By Noah Porter, Jr</a>\n</td>\n<td>Porter, Noah, 1811-1892</td>\n<td>b10301318</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571217">A historical discourse, delivered in Abington, January 30, 1853 : at the close of the first century of Abington Church and Society with an appendix / by H.B. Smith</a>\n</td>\n<td>Smith, Henry Boynton, 1815-1877</td>\n<td>b25712172</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2711497">A historical sermon : delivered on the occasion of the one hundred and fiftieth anniversary of the First Congregational Church, Lebanon, Conn. / by John C. Nichols</a>\n\n</td>\n<td>Nichols, John C. (John Cutler), 1801-1868</td>\n<td>b27114971</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2622951">A historical sermon preached in Christ Church, Hartford : Sunday morning, February 9, 1902 / by Hermann Lilienthal</a>\n</td>\n<td>Lonsdale, Herman Lilienthal, 1858-1940</td>\n<td>b26229511</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2719009">A historical sketch of the Congregational Church and Society of Buckingham, Conn. (formerly Eastbury)</a>\n</td>\n<td>Gardner, Austin</td>\n<td>b27190092</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3038391">A historical sketch of the Congregational Church in Gilead, Conn., from the first settlement of the town by the English : read before the Tolland Association / by Josiah A. Mack</a>\n</td>\n<td>Mack, Josiah A</td>\n<td>b30383912</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2703149">A historical sketch of the parish of the Church of the Holy Trinity (formerly Christ Church), Middletown, Conn. / by a member of the parish</a>\n</td>\n<td>\n</td>\n\n<td>b27031494</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079273">A historical sketch of Universalism in Norwich, Conn. : a sermon delivered before the Universalist Society in that place, on the 5th of May, 1844 / by R.O. Williams</a>\n</td>\n<td>Williams, Rufus Orland, 1805-1889</td>\n<td>b30792733</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2349922">A historical sketch together with the faith and covenant of the Fourth Congregational Church in Hartford : and a catalogue of members, July, 1841</a>\n</td>\n<td>Fourth Congregational Church (Hartford, Conn.)</td>\n<td>b23499229</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1742951">A history of Bristol, Connecticut. by Epaphroditus Peck</a>\n</td>\n\n<td>Peck, Epaphroditus, 1860-1938</td>\n<td>b17429511</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2274190">A history of Christ Episcopal Church in Guilford, Connecticut : an address delivered ... in September, 1894, on the occasion of the 150th anniversary of the parish</a>\n</td>\n<td>Andrews, William Given, 1835-1912</td>\n<td>b22741902</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1399721">A history of Connecticut / by Elias B. Sanford</a>\n</td>\n<td>Sanford, Elias B. (Elias Benjamin), b. 1843</td>\n<td>b1399721x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1593020">A history of Connecticut : its people and institutions / by George L. Clark</a>\n\n</td>\n<td>Clark, George L. (George Larkin), 1849-1919</td>\n<td>b15930208</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1120765">A history of Cornwall, Connecticut, a typical New England town / by Edward C. Starr</a>\n</td>\n<td>Starr, Edward C. (Edward Comfort), 1844-1941</td>\n<td>b11207656</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704964">A history of Grace Episcopal Church, Hartford, Connecticut : 1863-1938 / [Nelson R. Burr]</a>\n</td>\n<td>Burr, Nelson R. (Nelson Rollin), 1904-1994</td>\n<td>b27049644</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1411498">A history of Newgate of Connecticut, at Simsbury, now East Granby : its insurrections and massacres, the imprisonment of the Tories in the Revolution, and the working of its mines also, some account of the state prison, at Wethersfield / by Richard H. Phelps</a>\n</td>\n<td>Phelps, Richard H. (Richard Harvey)</td>\n<td>b14114987</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1771466">A history of religious education in Connecticut to the middle of the nineteenth century, by George Stewart, jr., PH.D</a>\n</td>\n<td>Stewart, George, b. 1892</td>\n\n<td>b17714667</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2444731">A history of the city of Bridgeport, Connecticut / by Rev. Samuel Orcutt</a>\n</td>\n<td>Orcutt, Samuel, 1824-1893</td>\n<td>b24447316</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1743804">A history of the copper mines and Newgate Prison, at Granby, Conn. : also, of the captivity of Daniel Hayes, of Granby, by the Indians, in 1707 / by Noah A. Phelps</a>\n</td>\n<td>Phelps, Noah Amherst, 1788-1872</td>\n<td>b17438044</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093714">A history of the cutlery industry in the Connecticut valley</a>\n</td>\n\n<td>Hoesen Taber, Martha van</td>\n<td>b30937140</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1025538">A history of the First Church and society of Branford, Connecticut, 1644-1919 / by J. Rupert Simonds</a>\n</td>\n<td>Simonds, J. Rupert (Jesse Rupert)</td>\n<td>b10255382</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2960244">A history of the First Church, the pastor s address, and the ceremony of the laying of the corner-stone, Sunday, June 21st, 1908</a>\n</td>\n<td>First Congregational Church (Danbury, Conn.)</td>\n<td>b29602440</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2289848">A history of the plantation of Menunkatuck and of the original town of Guilford, Connecticut : comprising the present towns of Guilford and Madison / written largely from the manuscripts of Ralph Dunning Smyth by Bernard Christian Steiner</a>\n\n</td>\n<td>Steiner, Bernard Christian, 1867-1926</td>\n<td>b22898487</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2551647">A history of the towns of Haddam and East-Haddam / by David D. Field</a>\n</td>\n<td>Field, David D. (David Dudley), 1781-1867</td>\n<td>b25516474</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093597">A history of the towns of Haddam and East-Haddam / by David D. Field</a>\n</td>\n<td>Field, David D. (David Dudley), 1781-1867</td>\n<td>b30935970</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3047304">A leaf of Milford history : a Thanksgiving sermon preached in the First Church, Milford, Conn., Nov. 25, 1858 / by Jonathan Brace</a>\n</td>\n<td>Brace, J. (Jonathan), 1810-1877</td>\n<td>b30473044</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083818">A letter from the Rev. Thomas Hooker of Hartford : in answer to the complaints of Gov. Winthrop of Massachusetts, against Connecticut</a>\n</td>\n<td>Hooker, Thomas, 1586-1647</td>\n\n<td>b30838186</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092611">A list of all those who are known to have been members of the First Church of Christ in New London from the beginning to January 1, 1901</a>\n</td>\n<td>First Church of Christ (New London, Conn.)</td>\n<td>b30926117</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2518889">A list of all those who have been members of the First Congregational Church, in New-London, between the first day of October, 1670, and the first day of May, 1840</a>\n</td>\n<td>First Church of Christ (New London, Conn.)</td>\n<td>b25188896</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589653">A memorial of the observance of the 50th anniversary of the consecration St. Paul s church New Haven</a>\n</td>\n\n<td>St. Paul s Church (New Haven, Conn.)</td>\n<td>b25896532</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092827">A memorial sermon: preached by the pastor, Rev. J.L. Willard, June 3, 1877, in the Westville Congregational church, New Haven, Conn</a>\n</td>\n<td>Willard, J. L</td>\n<td>b30928278</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1593927">A modern history of New London County, Connecticut editor-in-chief, Benjamin Tinkham Marshall</a>\n</td>\n<td>Marshall, Benjamin Tinkham, b. 1872</td>\n<td>b15939273</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077174">A New Year s sermon : delivered at Chaplin, Conn., Saturday, January 3rd, 1864 / by Francis Williams</a>\n\n</td>\n<td>Williams, Francis</td>\n<td>b30771742</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2658055">A Quaker s visit to Hartford in the year 1676 / edited by Frank D. Andrews</a>\n</td>\n<td>\n</td>\n<td>b2658055x</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589553">A quarter-century sermon : preached in the First Baptist Church in New Haven / by Dryden Phelps, D.D., pastor</a>\n</td>\n<td>Phelps, S. Dryden (Sylvanus Dryden), 1816-1895</td>\n<td>b25895539</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1155261">A record and documentary history of Simsbury / by Lucius I. Barber, M.D. 1643-1888</a>\n</td>\n<td>Barber, Lucius I. (Lucius Israel), 1806-1889</td>\n<td>b1155261x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2422078">A reminiscence of past events : a semi-centennial sermon, preached in Thompson (Conn.), April 22, 1846 / by Daniel Dow</a>\n</td>\n<td>Dow, Daniel, 1772-1849</td>\n\n<td>b24220784</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1712497">A retrospect : two sermons preached on Lord s Day, October 24, 1841, on occasion of the close of the quarter of a century in his ministry / by Isaac Parsons</a>\n</td>\n<td>Parsons, Isaac, 1790-1868</td>\n<td>b17124979</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1723946">A retrospect on the ministry and church of Saybrook : a half century sermon / preached on Lord s Day, September 22, 1833 by Frederick Wm. Hotchkiss</a>\n</td>\n<td>Hotchkiss, Frederick William, 1762-1844</td>\n<td>b17239461</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2932989">A review of some matters of interest in the history of the First Society of Stratfield and Bridgeport / compiled by the clerk, Richard B. Cogswell, and published by the First Congregational Society of Bridgeport. 1898</a>\n</td>\n\n<td>First Congregational Church (Bridgeport, Conn.)</td>\n<td>b29329899</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2423193">A sermon delivered at the dedication of the South Congregational Church in Durham, Conn., December 29, 1847 / by William C. Fowler</a>\n</td>\n<td>Fowler, William Chauncey, 1793-1881</td>\n<td>b24231939</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083610">A sermon delivered March 29, 1839 / by Thomas F. Davies And published by request of the Congregational Society in Green s Farms</a>\n</td>\n<td>Davies, Thomas F. (Thomas Frederick), 1793-1865</td>\n<td>b30836104</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589548">A Sermon delivered on the twenty-fifth anniversary of the author s ministry : in the Third Congregational Church, New Haven, July 25, 1858 / by Elisha Lord Cleaveland</a>\n\n</td>\n<td>Cleaveland, Elisha Lord, 1806-1866</td>\n<td>b25895485</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083748">A sermon preached at Sherman, Conn. Sunday, Apr. 1, 1894</a>\n</td>\n<td>McKnight, Harry Chapman, b. 1859</td>\n<td>b30837480</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092840">A sermon preached in St. James Church, New London, on the twenty-fifth anniversary of his settlement, January 1, 1860 / by Robert A. Hallam</a>\n</td>\n<td>Hallam, Robert A. (Robert Alexander), 1807-1877</td>\n<td>b30928400</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3092841">A sermon preached in St. James Church, New-London, on the occasion of the re-opening of said church : after extensive alterations and improvements, Feb. 28, 1836 / by Robert A. Hallam</a>\n</td>\n<td>Hallam, Robert A. (Robert Alexander), 1807-1877</td>\n<td>b30928412</td>\n<td>CT\nRoom</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1723444">A sermon, delivered Lord s day, January 6, 1828, the one hundredth anniversary ot the church in Somers, [Conn.]</a>\n</td>\n<td>Strong, William L. (William Lightbourn), 1782-1859</td>\n\n<td>b1723444x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1723491">A sermon, preached 14 Aug., 1851 ... the 40th anniversary of his ordination</a>\n</td>\n<td>Tuttle, Timothy, 1781-1864</td>\n<td>b17234918</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1768864">A short account of the Hartford Convention, taken from official documents, and addressed to the fair minded and the well disposed. To which is added an attested copy of the secret journal of that body</a>\n</td>\n<td>Lyman, Theodore, 1792-1849</td>\n<td>b17688644</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545285">A sketch of the Strict Congregational Church of Enfield, Connecticut</a>\n</td>\n\n<td>Means, Oliver William</td>\n<td>b2545285x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077175">A souvenir of Old Home Week August 30th to Sept. 7th, 1903, Bridgeport, Connecticut. Issued by the Souvenir Committee Department of publicity</a>\n</td>\n<td>Sperry, Robert M. and Babcock, George H</td>\n<td>b30771754</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1117341">A statistical account of the county of Middlesex, in Connecticut / by David D. Field</a>\n</td>\n<td>Field, David D. (David Dudley), 1781-1867</td>\n<td>b11173415</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1157484">A walk around Walnut Hill, New Britain, Connecticut : an architectural and historical survey in photographs, drawings, maps, and text of the buildings and sites in the area surrounding Walnut Hill Park, New Britain, Connecticut, 1830-1930 / Kenneth A. Larson, in association with Ira W. Yellen</a>\n\n</td>\n<td>Larson, Kenneth A</td>\n<td>b11574847</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083755">A year s history of the Asylum Hill Congregational Church of Hartford, Connecticut / by Lewis F. Reid. Read at the annual meeting of the church February 3, 1898</a>\n</td>\n<td>Reid, Lewis Fuller, 1853-1898</td>\n<td>b30837558</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2580619">About an old New England church : an address on "The good old days" published as a souvenir of the one hundred and fiftieth anniversary of the Congregational church of Sharon, Connecticut / by Rev. Gerald Stanley Lee</a>\n</td>\n<td>Lee, Gerald Stanley, 1862-1944</td>\n<td>b25806191</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3083767">Abstract of church records of the town of Stamford, County of Fairfield, and State of Connecticut, from the earliest records extant to 1850 by Spencer P. Mead</a>\n</td>\n<td>Mead, Spencer Percival, 1863-</td>\n<td>b30837674</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076043">Abstract of probate records at Fairfield, county of Fairfield, and state of Connecticut, 1648-1750, by Spencer P. Mead .</a>\n</td>\n<td>Mead, Spencer Percival, 1863-, comp</td>\n\n<td>b30760434</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077176">Abstract of probate records at Fairfield, county of Fairfield, and state of Connecticut, 1704-1757, by Spencer P. Mead .</a>\n</td>\n<td>Mead, Spencer Percival, 1863-, comp</td>\n<td>b30771766</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093169">Abstract of probate records for the district of Stamford, county of Fairfield, and state of Connecticut, 1729-1802 / by Spencer P. Mead</a>\n</td>\n<td>Mead, Spencer Percival, 1863-</td>\n<td>b30931691</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076897">Abstract of probate records for the district of Stamford, county of Fairfield, and state of Connecticut, 1803-1848 / by Spencer P. Mead</a>\n</td>\n\n<td>Mead, Spencer Percival, 1863-</td>\n<td>b30768974</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084210">Acts and laws of the State of Connecticut in America (1784);'Acts and Laws of the State of Connecticut in America. [State seal]'</a>\n</td>\n<td>Connecticut</td>\n<td>b30842104</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2511430">Address at the opening of the Thompson Public Library / by Ellen D. Larned, September 25, 1902</a>\n</td>\n<td>Larned, Ellen D. (Ellen Douglas), 1825-1912</td>\n<td>b2511430x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093223">Address to the Connecticut Medical Convention, at its session at Hartford, May 11th, 1853 / by Rufus Blakeman</a>\n\n</td>\n<td>Blakeman, Rufus, 1795-1870</td>\n<td>b30932233</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092238">An abridged manual of the First Congregational Church in Southington, Conn. containing the new creed and covenant together with a revised catalogue of present members issued June 30, 1888</a>\n</td>\n<td>First Congregational Church (Southington, Conn.)</td>\n<td>b30922380</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705251">An Account of Tryon s raid on Danbury in April, 1777, also the battle of Ridgefield and the career of Gen. David Wooster / compiled by James R. Case</a>\n</td>\n<td>Case, James Royal</td>\n<td>b27052515</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1091543">An address delivered at the request of the citizens of Hartford, on the 9th of November, 1835. The close of the second century, from the first settlement of the city. By Joel Hawes</a>\n</td>\n<td>Hawes, Joel, 1789-1867</td>\n<td>b10915436</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1160750">An address delivered in St. Peter s church, Cheshire, October 1, 1844, on occasion of the fiftieth anniversary of the Episcopal academy of Connecticut. By Rev. E. E. Beardsley, M. A</a>\n</td>\n<td>Beardsley, E. Edwards (Eben Edwards), 1808-1891</td>\n\n<td>b11607506</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083592">An address delivered to the people of Goshen, Connecticut, at their first centennial celebration, September 28, 1838 by Rev. Grant Powers .</a>\n</td>\n<td>Powers, Grant, 1784-1841</td>\n<td>b30835926</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1736083">An address, in commemoration of the sixth of September, 1781. Spoken on Groton Heights, Sept. 6, 1825. By William F. Brainard</a>\n</td>\n<td>Brainard, William F. (William Fowler), 1784-1844</td>\n<td>b17360833</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2712417">An historic mansion, being an account of the Thaddeus Burr homestead, Fairfield, Ct.,1654-1915, by Thaddeus S. Child</a>\n</td>\n\n<td>Child, Frank Samuel, 1854-1922</td>\n<td>b27124174</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1763778">An historic record and pictorial description of the town of Meriden, Connecticut and men who have made it : from earliest settlement of close of its first century of incorporation : a century of Meriden "The silver city." / Issued as the official souvenir history by authority of the general committee at the centennial celebration, June 10 to 16, 1906 comp. by C. Bancroft Gillespie early history by George Munson Curtis</a>\n</td>\n<td>Gillespie, Charles Bancroft</td>\n<td>b17637788</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2950556">An historical address delivered at the celebration of the two hundredth anniversary of the First Church of Christ, in Colchester, Connecticut, August 27th, 1903 / by Edward M. Day</a>\n</td>\n<td>Day, Edward M</td>\n<td>b29505562</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584864">An historical address delivered at the opening of the Village Library of Farmington, Conn., September 30th, 1890 / by Julius Gay</a>\n\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848641</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078165">An historical address given on the occasion of the centennial anniversary of the First Congregational Church, Norwich, Conn., at Norwich Town Green, Sunday, June 16th, 1901 / by Charles Addison Northrop</a>\n</td>\n<td>Northrop, Charles Addison, 1850-1931</td>\n<td>b30781656</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2992786">An historical discourse delivered at the celebration of the one hundredth anniversary of the erection of the Congregational Church in Farmington, Conn., October 16, 1872 / by Noah Porter</a>\n</td>\n<td>Porter, Noah, 1811-1892</td>\n<td>b29927869</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3087854">An historical discourse delivered in Christ Church, Stratford, Conn. : on the fifth Sunday in Lent, March 28th, 1855 / by John A. Paddock</a>\n</td>\n<td>Paddock, John Adams</td>\n<td>b30878548</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2570904">An historical discourse in commemoration of the two-hundredth anniversary of the settlement of Norwalk, Ct., in 1651 : delivered in the First Congregational Church in Norwalk, July 9, 1851 / by Nathaniel Bouton</a>\n</td>\n<td>Bouton, Nathaniel, 1799-1878</td>\n\n<td>b25709045</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2590819">An historical discourse, on the two hundredth anniversary of the founding of the Hopkins Grammar School, New Haven, Connecticut : delivered before the "Hopkins Grammar School Association", July 24th, 1860 / by Leonard Woolsey Bacon with notes and an appendix</a>\n</td>\n<td>Bacon, Leonard Woolsey, 1830-1907</td>\n<td>b25908194</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2973378">An historical sermon of the First Church, East Hampton, Conn. / preached by Rev. Joel S. Ives ... July 9th, 1876 .</a>\n</td>\n<td>Ives, Joel Stone, 1847-1924</td>\n<td>b29733789</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092249">An historical sermon of the First Congregational Church, Portland, Conn. : preached by Rev. John S. Bayne, July 9th, 1876</a>\n</td>\n\n<td>Bayne, John S</td>\n<td>b30922495</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2577882">An historical sketch of Salisbury, Connecticut / by Malcolm Day Rudd. And an explanatory note on Indian names / by Irvin W. Sanford</a>\n</td>\n<td>Rudd, Malcolm Day, b. 1877</td>\n<td>b25778821</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1134250">An old New England town : sketches of life, scenery, character / by Frank Samuel Child</a>\n</td>\n<td>Child, Frank Samuel, 1854-1922</td>\n<td>b1134250x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2399762">Ancient town records : New Haven town records 1649-1769 Franklin Bowditch Dexter</a>\n\n</td>\n<td>Dexter, Franklin Bowditch, 1842-1920</td>\n<td>b2399762x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2590906">Ancient waymarks : a profession of faith / by John Davenport, at the institution of the First Church in New Haven and the New Haven catechism, originally prepared for that church, by John Davenport, pastor, and William Hooke, teacher with a preface, by Leonard Bacon</a>\n</td>\n<td>Davenport, John, 1597-1670</td>\n<td>b2590906x</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1117336">Annals of an old parish : historical sketches of Trinity Church, Southport, Connecticut, 1725 to 1848 / by Edmund Guilbert</a>\n</td>\n<td>Guilbert, Edmund</td>\n<td>b11173361</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1006263">Annals of St. James s Church, New London : for one hundred and fifty years / by Robert A. Hallam</a>\n</td>\n<td>Hallam, Robert A. (Robert Alexander), 1807-1877</td>\n<td>b10062634</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2711498">Annals of the Congregational Church, Seymour, Conn. : annuals, historical sermons, etc</a>\n</td>\n<td>\n</td>\n\n<td>b27114983</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3091860">Annals of the Methodist Episcopal church, of Seymour, Conn., by W.C. Sharpe ..</a>\n</td>\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b30918601</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2876766">Annual report and manual of the East Congregational Church, New Haven, Conn</a>\n</td>\n<td>East Congregational Church (New Haven, Conn.)</td>\n<td>b28767664</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092617">Annual report of the activities of the First Church of Christ, New London, Conn. for the year1890</a>\n</td>\n\n<td>First Church of Christ (New London, Conn.)</td>\n<td>b30926178</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078173">Articles of faith (with scripture proofs,) and church covenant, adopted by the Fifth Congregational Society in Norwich, June 1, 1842</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b30781735</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2977053">Articles of faith and covenant of the Congregational Church in Ellington, Conn., together with its history, by-laws and regulations, and a catalogue of its members since the year 1799</a>\n</td>\n<td>Congregational Church (Ellington, Conn.)</td>\n<td>b29770531</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093638">Articles of faith and covenant of the Congregational Church, Ellsworth, Conn., with a catalogue of its officers and members</a>\n\n</td>\n<td>Congregational Church (Ellsworth, Conn.)</td>\n<td>b3093638x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093252">Articles of faith and covenant of the Westfield Church, West Killingly, Ct. : with a list of members, March 1, 1862</a>\n</td>\n<td>Westfield Congregational Church (West Killingly, Conn.)</td>\n<td>b3093252x</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2730667">Articles of faith and covenant united, abridged, and adopted by the Church in Rocky Hill : with a catalogue of its members, March 1843, with resolutions disciplinary, and historical dates of the Ecclesiastical Society</a>\n</td>\n<td>Rocky Hill Congregational Church (Rocky Hill, Conn.)</td>\n<td>b27306677</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2423205">Articles of faith, and covenant adopted by the Congregational Church in Ellington, Conn. : together with a concise history of the Church, and a catalogue of its members since the year 1799</a>\n</td>\n<td>Congregational Church (Ellington, Conn.)</td>\n<td>b24232051</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2933766">Articles of faith, covenant, and standing rules of the Congregational Church in Bristol, Conn. ... with a catalogue of the members, March 1, 1833</a>\n</td>\n<td>First Congregational Church (Bristol, Conn.)</td>\n\n<td>b29337665</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1716688">Articles of faith, with Scripture proofs, covenant, and historical sketch of the Congretational [sic] Church in Lebanon, Goshen, Connecticut with a catlogue [sic] of its members, [1730 to] Jan. 1, 1847</a>\n</td>\n<td>Goshen Congregational Church (Lebanon, Conn.)</td>\n<td>b17166883</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2715319">Bantam almanac, fact and folklore</a>\n</td>\n<td>\n</td>\n<td>b27153198</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092844">Baptisms, marriages and deaths from the first book of church records of the Second Ecclesiastical Society of Saybrook, Conn.</a>\n</td>\n\n<td>Eardeley, James W</td>\n<td>b30928448</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691928">Barkhamsted, Conn., and its centennial, 1879 : to which is added a historical appendix, containing copies of old letters, antiquarian, names of soldiers of the revolution, 1812, 1846, and 1861, civil officers, and other matter interesting to the people of the town</a>\n</td>\n<td>Lee, W. W. (William Wallace), 1828-</td>\n<td>b16919282</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1146655">Bethlem 1812 &amp; Watertown 1801 / the Acorn Club of Connecticut</a>\n</td>\n<td>\n</td>\n<td>b11466558</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2311706">Bewitched Mine Hill: the silver-lead-iron mine of Roxbury, Connecticut, by Daniel R. Hull. Published in cooperation with the Old Woodbury Historical Society</a>\n</td>\n<td>Hull, Daniel R</td>\n<td>b23117060</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093673">Bi-centennial of the organization of the First Church of Christ in Durham, Connecticut, Feb 11, 1911</a>\n</td>\n<td>\n</td>\n\n<td>b30936731</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079277">Bicentennial sermon : preached before the First Congregational Church, August 24, 1904 by the Pastor Rev. Henry Tucker Arnold, together with the proceedings at the anniversary. / by Rev. Henry T. Arnold</a>\n</td>\n<td>Arnold, Henry T</td>\n<td>b30792770</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2482106">Biennial report of the Examiner of Public Records</a>\n</td>\n<td>Connecticut. Examiner of Public Records</td>\n<td>b24821068</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1736357">Biographical sketches of Ellington families / by Darius Crane</a>\n</td>\n\n<td>Crane, Darius</td>\n<td>b17363573</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1761305">Births, baptisms, marriages, and deaths : from the records of the town and churches in Mansfield, Connecticut, 1703-1850 / copied from the records by Susan W. Dimock</a>\n</td>\n<td>Dimock, Susan Whitney</td>\n<td>b1761305x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1253277">Births, marriages, and deaths returned from Hartford, Windsor, and Fairfield, and entered in the early land records of the colony of Connecticut : volumes I and II of land records and no. D of colonial deeds / transcribed and edited by Edwin Stanley Welles</a>\n</td>\n<td>Welles, Edwin Stanley</td>\n<td>b12532770</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1761304">Births, marriages, baptisms and deaths, from the records of the town and churches in Coventry, Connecticut, 1711-1844 copies from the records by Susan Whitney Dimock. Printed for private distribution</a>\n\n</td>\n<td>Dimock, Susan Whitney</td>\n<td>b17613048</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093263">Book of records containing an account of the rise and progress of the First Baptist Church in East Haddam, Conn. / copied from the original manuscript and indexed by Edna Huntington</a>\n</td>\n<td>Huntington, Edna</td>\n<td>b30932634</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084883">Book of words : the pageant of Darien : the pageant of a residential community / William Chauncy Langdon</a>\n</td>\n<td>Langdon, William Chauncy, 1871-1947</td>\n<td>b30848830</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2447085">Bridgeport and vicinity in the Revolution and the War of 1812 : a centennial history written at the request of the city council / by William B. Hincks</a>\n</td>\n<td>Hincks, William B</td>\n<td>b24470855</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2497373">Bristol, Connecticut : "in the olden time New Cambridge", which includes Forestville</a>\n</td>\n<td>\n</td>\n\n<td>b24973737</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2533895">Burlington, Connecticut : historical address / delivered by Epaphroditus Peck at the centennial celebration on June 16, 1906</a>\n</td>\n<td>Peck, Epaphroditus, 1860-1938</td>\n<td>b2533895x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1778950">Burt s illustrated guide of the Connecticut valley, containing descriptions of mount Holyoke, mount Mansfield, White mountains, lake Memphremagog, lake Willoughby, Montreal, Quebec, &amp;c. By Henry M. Burt</a>\n</td>\n<td>Burt, Henry M. (Henry Martyn), 1831-1899</td>\n<td>b17789503</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1243567">By gone days in Ponsett-Haddam, Middlesex County, Connecticut : a story / by William C. Knowles</a>\n\n</td>\n<td>Knowles, William C. (William Clark), 1840-</td>\n<td>b12435673</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1280414">Canaan parish, 1733-1933 : being the story of the Congregational church of New Cannan, Connecticut, as told by the observance of its two hundredth anniversary, June 20 to December 20, 1933. Also the history and addresses of the Methodist Episcopal and St. Mark s churches given upon the occasion of their 100th and 150th anniversaries, respectively</a>\n</td>\n<td>Congregational Church (New Canaan, Conn.)</td>\n<td>b12804149</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2427004">Catalogue and brief history of the 3d Congregational Church in East Windsor, Conn. : together with the articles of faith and covenant ... January 1st, 1842</a>\n</td>\n<td>Third Congregational Church (East Windsor, Conn.)</td>\n<td>b24270040</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3084150">Catalogue of Broadway Congregational Church Norwich, Conn., 1871-1872</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b30841501</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1794159">Catalogue of Connecticut volunteer organizations, (infantry, cavalry, and artillery,) in the service of the United States, 1861-1865 : with additional enlistments, casualties, &amp;c., &amp;c., and brief summaries, showing the operations and service of the several regiments and batteries / Prepared from records in the Adjutant-General s Office</a>\n</td>\n\n<td>Connecticut. Adjutant-General s Office</td>\n<td>b17941593</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1741754">Catalogue of the 1st, 2d, 3d, 4th, and 5th Regiments, Connecticut Volunteers, 1861</a>\n</td>\n<td>Connecticut. Adjutant-General s Office</td>\n<td>b17417545</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2950084">Catalogue of the Congregational Church in Clinton, Conn., from its organization, in the year 1667 : to which is prefixed the Articles of faith and covenant, and also, a sketch of the history of the church, &amp;c</a>\n</td>\n<td>Congregational Church (Clinton, Conn.)</td>\n<td>b29500849</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2980570">Catalogue of the First Church of Christ in Glastenbury [sic] : together with a brief outline of its history, and its articles of faith and covenant</a>\n\n</td>\n<td>First Church of Christ in Glastonbury (Glastonbury, Conn.)</td>\n<td>b29805703</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083573">Catalogue of the First Church of Christ, in Colchester, Conn., A.D. 1870</a>\n</td>\n<td>First Church of Christ (Colchester, Conn.)</td>\n<td>b30835732</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076176">Catalogue of the members of the church in the Second Ecclesiastical Society in Cornwall, Conn., from its original formation in 1782 to May 1, 1858, together with a sketch of the history of the church, the covenant and standing rules</a>\n</td>\n<td>Cornwall (Conn.). Second Church of Christ</td>\n<td>b30761761</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2569250">Catalogue of the members of the church in the United Society in New Haven : formed by the union of the White-Haven and Fair-Haven churches: from the formation of the parent church. May 7, 1742, to July 1, 1855. Together with the profession of faith, covenant and standing rules</a>\n</td>\n<td>Church of Christ (New Haven, Conn.)</td>\n<td>b25692501</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2732841">Catalogue of the North Church, Hartford : together with its history, articles of faith and by-laws</a>\n</td>\n<td>North Congregational Church (Hartford, Conn.)</td>\n\n<td>b27328417</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2727526">Catalogue of the North Church, Hartford. : together with its history, articles of faith, and by-laws</a>\n</td>\n<td>North Congregational Church (Hartford, Conn.)</td>\n<td>b27275267</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2568394">Catalogue of the persons admitted to the First Church in New Haven, during the ministry of the Rev. James Pierpont, and the Rev. James Noyes, from 1685 to 1757 : also, A profession of faith and catechism, by the Rev. John Davenport</a>\n</td>\n<td>First Church in New Haven (New Haven, Conn.)</td>\n<td>b25683949</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085140">Catalogue of the surviving members of the First Congregational Church in Coventry, Conn. January 24, 1839 : together with some historical notices, &amp;c. prefixed</a>\n\n</td>\n<td>First Congregational Church (Coventry, Conn.)</td>\n<td>b30851403</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2643999">Catalogue of the Theological Institute of Connecticut : at East-Windsor, February, 1841</a>\n</td>\n<td>Theological Institute of Connecticut</td>\n<td>b26439992</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2950522">Celebration at Collinsville by the inhabitants of the town of Canton, Conn., of the one hundredth anniversary of the independence of the United States of America : July 4, 1876</a>\n</td>\n<td>Canton (Conn.)</td>\n<td>b29505227</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3077208">Celebration in Green s Farms : the historical discourse delivered at the celebration of the one hundred and fiftieth anniversary of the formation of the church in Green s Farms, held Oct. 26, 1865 / by B.J. Relyea with an appendix</a>\n</td>\n<td>Relyea, B. J. (Benjamin J.), 1819-1901</td>\n<td>b30772084</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1242827">Celebration of the bi-centennial anniversary of the town of Suffield, Conn. : Wednesday, Oct. 12, 1870</a>\n</td>\n<td>\n</td>\n\n<td>b12428279</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2973363">Celebration of the Centennial anniversary of the parish of Christ Church : Middle Haddam, Conn., June 17, 1885</a>\n</td>\n<td>Christ Church (Middle Haddam, Conn.)</td>\n<td>b29733637</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2934909">Celebration of the fiftieth anniversary of the organization of the Congregational Church, Collinsville, Conn., Sunday, June 25, 1882</a>\n</td>\n<td>Congregational Church (Collinsville, Conn.)</td>\n<td>b29349096</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2541976">Celebration of the one hundredth anniversary of the incorporation of the town of Canton, Connecticut, July 15, 16, 17, and 18, 1906</a>\n</td>\n\n<td>Canton (Conn.)</td>\n<td>b25419766</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1782430">Celebration of the two hundred and fiftieth anniversary of the settlement of Suffield, Connecticut, October 12, 13 and 14, 1920, with sketches from its past and some record of its last half century and of its present</a>\n</td>\n<td>Suffield (Conn.)</td>\n<td>b17824308</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1112312">Centennial address / by David D. Field with historical sketches of Cromwell, Portland, Chatham, Middle-Haddam, Middletown, and its parishes</a>\n</td>\n<td>Field, David D. (David Dudley), 1781-1867</td>\n<td>b11123126</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2559748">Centennial celebration : historical address by Roger Welles, Esq. and poem by Miss Mary K. Atwood, delivered in the Congregational Church, Newington, Conn., July 4, 1876</a>\n\n</td>\n<td>Welles, Roger, 1829-1904</td>\n<td>b25597486</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1242825">Centennial celebration of the incorporation of the town of Bristol [Conn.] June 17, 1885 / Comp. by John J. Jennings</a>\n</td>\n<td>Jennings, John J. (John Joseph), 1853-1909</td>\n<td>b12428255</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2551678">Centennial memorial of the First Baptist Church of Hartford, Connecticut, March 23d and 24th, 1890</a>\n</td>\n<td>First Baptist Church (Hartford, Conn.)</td>\n<td>b25516784</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2571542">Centennial of Meriden, June 10-16, 1906 : report of the proceedings, with a full description of the many events of its successful celebration. Old home week. Meriden, Conn., the "Silver City" Pub. under the auspices of the general centennial committee</a>\n</td>\n<td>Meriden (Conn.)</td>\n<td>b25715422</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2276762">Centennial papers, published by order of the General conference of the Congregational churches of Connecticut</a>\n</td>\n<td>General Conference of the Congregational Churches of Connecticut</td>\n\n<td>b22767629</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2711574">Centennial sermons on the history of the Center Congregational Church, of Meriden, Conn. : preached in that church Sundays, October 1st and 22d, 1876 / by Edward Hungerford .</a>\n</td>\n<td>Hungerford, Edward, 1829-1911</td>\n<td>b27115744</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077178">Centennial services of the Stamford Baptist Church : including the historical discourse by Rev. Edward Lathrop ... November 6, 1873 .</a>\n</td>\n<td>Baptist Church (Stamford, Conn.)</td>\n<td>b3077178x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045819">Charles Storrs deeds, dated August 25th, 1862, and April 5, 1864, to the Mansfield Burying-Ground Association</a>\n</td>\n\n<td>Storrs, Charles, 1822-1884</td>\n<td>b30458195</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2303874">Charter and by-laws of the city of New Haven : November 1848</a>\n</td>\n<td>New Haven (Conn.)</td>\n<td>b23038743</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3094036">Christ Church Parish, Tashua. the fiftieth anniversary of the laying of the corner stone, 1846--1896. This book gives a complete history from the founding of the parish to the present time. a souvenir of the anniversary edited and compiled by Rev. R. Bancroft Whipple, B.D., Rector</a>\n</td>\n<td>Whipple, R. Bancroft</td>\n<td>b30940369</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2317392">Chronicles of a pioneer school from 1792 to 1833, being the history of Miss Sarah Pierce and her Litchfield school, comp. by Emily Noyes Vanderpoel. Ed. by Elizabeth C. Barney Buel</a>\n\n</td>\n<td>Vanderpoel, Emily Noyes, 1842-1939</td>\n<td>b23173920</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2700579">Church manual of the Fourth Congregational Church, Hartford, Ct. : with a catalogue of the members</a>\n</td>\n<td>Fourth Congregational Church (Hartford, Conn.)</td>\n<td>b27005793</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584867">Church music in Farmington in the olden time : an historical address delivered at the annual meeting of the Village Library Company of Farmington, Conn., May 6, 1891 / by Julius Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848677</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3083578">Church of Christ, Newington, Conn. celebration of the one hundredth anniversary of the church building and the 175th anniversary of the organization of the church, on October 2 and 3, 1897</a>\n</td>\n<td>\n</td>\n<td>b30835781</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3094038">Circuit preachers\nand pastors First Methodist Episcopal Church, Bridgeport, Connecticut</a>\n</td>\n<td>First Methodist Episcopal Church (Bridgeport, Conn.)</td>\n\n<td>b30940382</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093624">Clinton Connecticut September 10, 1925 1812-1815</a>\n</td>\n<td>Cramer, Effie Stevens</td>\n<td>b3093624x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584902">Colonial history of the parish of Mount Carmel : as read in its geologic formations, records and traditions / by John H. Dickerman</a>\n</td>\n<td>Dickerman, John H. (John Herbert), b. 1836</td>\n<td>b25849025</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073295">Commemorative discourse, delivered on the occasion of meeting for the last time in the old house of worship of the Second Congregational Church in Greenwich, Dec. 5, 1858</a>\n</td>\n\n<td>Linsley, Joel Hervey</td>\n<td>b30732955</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2574936">Commemorative exercises of the Church of Christ at Norfolk : November 20, 27, 28 and December 4, 11, 25, 1910, celebrating the one hundred and fiftieth anniversary of the organization of the church. Organized December 24, 1760</a>\n</td>\n<td>Church of Christ (Norfolk, Conn.)</td>\n<td>b25749365</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2553194">Commemorative exercises of the First church of Christ : in Hartford, at its two hundred and fiftieth anniversary, October 11 and 12, 1883</a>\n</td>\n<td>First Church of Christ (Hartford, Conn.)</td>\n<td>b25531943</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2714820">Compounce, 1846-1902 / by Alice J. Norton</a>\n\n</td>\n<td>Norton, Alice J</td>\n<td>b27148208</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2570922">Confession of faith and covenant / of the Second Congregational Church, in Norwich, Ct. with a catalogue of its officers and members, from its organization, in 1760</a>\n</td>\n<td>Second Congregational Church (Norwich, Conn.)</td>\n<td>b25709227</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2423601">Confession of faith and covenant of the Congregational Church in Farmington, Conn. : with a catalogue of members, from October 13, 1652 to 1900</a>\n</td>\n<td>First Church of Christ Congregational (Farmington, Conn.)</td>\n<td>b24236019</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2423258">Confession of faith and covenant of the Congregational Church in Farmington, Conn. : with a catalogue of the members, from Oct. 13, 1852 to Jan. 1, 1864</a>\n</td>\n<td>First Church of Christ Congregational (Farmington, Conn.)</td>\n<td>b24232580</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2974833">Confession of faith and covenant of the First Congregational Church in East Windsor, Conn., 1850</a>\n</td>\n<td>First Congregational Church (East Windsor, Conn.)</td>\n\n<td>b29748331</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078673">Confession of faith and form of covenant of the First Congregational church in North Woodstock : With an appendix / Published by vote of the church</a>\n</td>\n<td>North Woodstock (Mass.). First Congregational Church</td>\n<td>b30786733</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2974836">Confession of faith, and covenant, with a historical sketch, and catalogue of members, of the First Congregational Church, East Windsor, Conn</a>\n</td>\n<td>First Congregational Church (East Windsor, Conn.)</td>\n<td>b29748367</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093713">Confession of faith, covenant, and articles of practice of the Congregational Church at Mount Carmel, Hamden, to which are added a list of its officers from the formation, and a catalogue of the members belonging to it Oct. 20th, 1855</a>\n</td>\n\n<td>\n</td>\n<td>b30937139</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1096306">Connecticut a guide to its roads, lore, and people, written by workers of the Federal writers project of the Works progress administration for the state of Connecticut sponsored by Wilbur L. Cross</a>\n</td>\n<td>Federal Writer s Project for the State of Connecticut</td>\n<td>b10963066</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1223708">Connecticut a study of a commonwealth-democracy</a>\n</td>\n<td>Johnston, Alexander, 1849-1889</td>\n<td>b12237085</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1593925">Connecticut beautiful, by Wallace Nutting ... Illustrated by the author with three hundred and four pictures covering all the counties in Connecticut</a>\n\n</td>\n<td>Nutting, Wallace, 1861-1941</td>\n<td>b1593925x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2414643">Connecticut historical collections ... by John Warner Barber</a>\n</td>\n<td>Durrie, John, 1792-1857</td>\n<td>b24146432</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1710050">Connecticut historical collections, containing a general collection of interesting facts, traditions, biographical sketches, anecdotes, etc., relating to the history and antiquities of every town in Connecticut, with geographical descriptions. Illustrated by 200 engravings</a>\n</td>\n<td>Barber, John Warner, 1798-1885</td>\n<td>b17100501</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1749473">Connecticut houses : a list of manuscript histories of early Connecticut homes, presented to the Connecticut State Library by the Connecticut Society, Colonial Dames of America / compiled by Mrs. Elford Parry Trowbridge</a>\n</td>\n<td>\n</td>\n<td>b17494734</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093168">Connecticut ideals : a brief statement of the government of Connecticut and the contributions of the state to the United States Constitutiondelivered before a meeting held in commemoration of the Tercentenary of Connecticut in the child Memorial Hall in Fairfield thirteenth June, 1935</a>\n</td>\n<td>Swayne, Noah Haynes, 1804-1884</td>\n\n<td>b3093168x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1231141">Connecticut in the Continental Congress / by Christopher Collier</a>\n</td>\n<td>Collier, Christopher, 1930-</td>\n<td>b12311418</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1593779">Connecticut in transition, 1775-1818 / by Richard J. Purcell</a>\n</td>\n<td>Purcell, Richard J. (Richard Joseph), 1887-1950</td>\n<td>b15937793</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1145205">Connecticut river / by Marguerite Allis illustrated with photographs by the author</a>\n</td>\n\n<td>Allis, Marguerite, 1887-1958</td>\n<td>b11452055</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1771452">Connecticut s activities in the wars of this country: a summary. Compiled by Irene H. Mix, Connecticut state library</a>\n</td>\n<td>Mix, Irene H. (Irene Howe), b. 1887, comp</td>\n<td>b17714527</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1230675">Connecticut s Revolutionary War leaders / by North Callahan</a>\n</td>\n<td>Callahan, North</td>\n<td>b12306757</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1230674">Connecticut, the Provisions State / by Chester M. Destler</a>\n\n</td>\n<td>Destler, Chester McArthur, 1904-1984</td>\n<td>b12306745</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073299">Consecration of the fourth church edifice, Trinity Parish, Newtown, Conn., and celebration of the one hundred and fiftieth anniversary of its foundation, with memorial sermon / by Rev. D.P. Sandford, D.D</a>\n</td>\n<td>\n</td>\n<td>b30732992</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1145085">Contributions to the ecclesiastical history of Connecticut prepared under the direction of the General association, to commemorate the completion of one hundred and fifty years since its first annual assembly</a>\n</td>\n<td>General Association of Connecticut</td>\n<td>b1145085x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1063487">Contributions to the history of Christ Church, Hartford</a>\n</td>\n<td>\n</td>\n<td>b10634873</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2422058">Covenant and membership of the Baptist Church in Preston City, Conn. / compiled by Charles B. Ayer</a>\n</td>\n<td>Ayer, Charles B</td>\n\n<td>b24220589</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072826">Danbury Directory</a>\n</td>\n<td>\n</td>\n<td>b30728265</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1706193">Danbury, Fairfield County</a>\n</td>\n<td>Ancestry, George</td>\n<td>b17061933</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083761">Davenport Ridge, Stamford, Connecticut : Historical sketch</a>\n</td>\n\n<td>Davenport, A. B. (Amzi Benedict), b. 1817</td>\n<td>b30837613</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092244">Decennial Hand-Book of the Union Congregational Church of Christ, Rockville, Conn. for the years 1888-1899</a>\n</td>\n<td>Union Congregational Church of Christ (Rockville, Conn.)</td>\n<td>b30922446</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093680">Dedication services Dec. 28 1899 of the Goshen Cong. Church, Goshen, Conn. from Norwich Bulletin</a>\n</td>\n<td>\n</td>\n<td>b30936809</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1331082">Democracy in the Connecticut frontier town of Kent</a>\n\n</td>\n<td>Grant, Charles S., 1917-</td>\n<td>b13310823</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589179">Digest of the history of the Second Company, Governor s Foot Guard of Connecticut, 1774-1898 / compiled from records of the company, and from state records and statistics by Jason P. Thompson</a>\n</td>\n<td>\n</td>\n<td>b25891790</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1698846">Diocese of Connecticut : formative period, 1784-1791 / edited for the Commission on Parochial Archives by Joseph Hooper</a>\n</td>\n<td>Hooper, Joseph, 1851-1928</td>\n<td>b16988462</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1016282">Directory for the city of Hartford for the year 1799, containing the names of the business men and other residents, their occupation and location, when known, to the number of nearly eight hundred. Comp. by Frank D. Andrews .</a>\n</td>\n<td>Andrews, Frank D</td>\n<td>b10162823</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3081517">Directory of the Broadway Congregational Church and Congregation, Norwich, Conn. : May, 1879</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n\n<td>b30815174</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093733">Discourse delivered on the two hundredth anniversary of the organization of the Old Lyme Congregational Church, 1693-1893</a>\n</td>\n<td>Shirley, Arthur, 1853-1925</td>\n<td>b30937334</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3088675">Discourse on the fiftieth anniversary of his ordination as pastor of the church in Simsbury, Conn./ by Allen M Lean</a>\n</td>\n<td>M Lean, Allen</td>\n<td>b30886752</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2718997">Discourses prepared for the celebration of the fiftieth anniversary of the appointment of Deacon Charles G. Ives, to the office of a Deacon, in the Congregational Church in Bristol, Conn., February 2d, 1859</a>\n</td>\n\n<td>\n</td>\n<td>b27189971</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1120813">Documentary history of Suffield : in the colony and province of the Massachusetts Bay, in New England, 1660-1749 / collected, transcribed, and published by Hezekiah Spencer Sheldon</a>\n</td>\n<td>Sheldon, Hezekiah Spencer, b. 1820</td>\n<td>b11208132</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2721226">Documentary history of Suffield and the Lexington alarm, April, 1775 / by Hezekiah S. Sheldon</a>\n</td>\n<td>Sheldon, Hezekiah Spencer, b. 1820</td>\n<td>b27212269</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3028940">Earliest Guilford / by Charles Lewis Biggs, rector, Christ Episcopal Church, Guilford</a>\n\n</td>\n<td>Biggs, Charles Lewis</td>\n<td>b30289403</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2073594">Early annals of Newington : comprising the first records of the Newington Ecclesiastical Society, and of the Congregational Church connected therewith : with documents and papers relating to the early history of the parish / transcribed and edited by Roger Welles</a>\n</td>\n<td>Welles, Roger, 1829-1904</td>\n<td>b20735947</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1795513">Early Connecticut artists &amp; craftsmen, by Frederic Fairchild Sherman</a>\n</td>\n<td>Sherman, Frederic Fairchild, 1874-1940</td>\n<td>b17955130</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1646831">Early days in Newington, Connecticut : 1833-1836 / by Henry G. Little, 1813-1900</a>\n</td>\n<td>Little, Henry Gilman, 1813-1900</td>\n<td>b16468314</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1120140">Early Lebanon. An historical address delivered in Lebanon, Conn., by request, on the national centennial, July 4, 1876. By Rev. Orlo D. Hine. With an appendix of historical notes, by Nathaniel H. Morgan</a>\n</td>\n\n<td>Hine, Orlo Daniel, 1815-1890</td>\n<td>b1120140x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1736457">Early medicine, and early medical men in Connecticut / Gurdon W. Russell</a>\n</td>\n<td>Russell, Gurdon Wadsworth, 1815-1909</td>\n<td>b17364577</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2716693">Early recollections of Fairfield life by William Burr</a>\n</td>\n<td>Burr, William, 1831-</td>\n<td>b27166934</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545261">Early records of baptisms, marriages, deaths, and membership of the Congregational church : East Hampton (Chatham) Connecticut</a>\n\n</td>\n<td>First Church, in Chatham (East Hampton, Conn.)</td>\n<td>b25452617</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774380">East Windsor in 1806 / by David McClure</a>\n</td>\n<td>M Clure, David, 1748-1820</td>\n<td>b17743801</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2579881">Ecclesiastical and other sketches of Southington, Conn. / by Rev. Heman R. Timlow</a>\n</td>\n<td>Timlow, Heman R</td>\n<td>b25798819</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1242214">Encyclopedia of Connecticut biography, genealogical-memorial representative citizens compiled with assistance of the following advisory committee: Samuel Hart ... Thomas Snell Weaver, Joseph Anderson ... Walter Ralph Steiner ... Hadlai Austin Hull ... Storrs Ozias Seymour ... John Gaylord Davenport ... George Curtis Waldo ... Frederick Bostwick, Guilford Smith, Lewis Eliot Stanton .</a>\n</td>\n<td>\n</td>\n<td>b12422149</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2876724">Entering into the labors of others : Dwight Place Church Semi-Centennial discourse / preached by J. E. Twitchell</a>\n</td>\n<td>Twitchell, J. E</td>\n\n<td>b2876724x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092826">Essentials of the Gospel : a sermon preached at the dedication of the Church in Howe Street, New Haven, January 26, 1842 / by Abraham C. Baldwin</a>\n</td>\n<td>Baldwin, A. C. (Abraham Chittenden), 1804-1887</td>\n<td>b30928266</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1002052">Evening post annual, Biographical sketches [with portraits] of the state officers, representatives in Congress, governor s staff, and senators and members of the General assembly of the state of Connecticut</a>\n</td>\n<td>\n</td>\n<td>b10020524</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1720155">Excursion of the Putnam phalanx to Mount Vernon, December, 1860</a>\n</td>\n\n<td>\n</td>\n<td>b1720155x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2997753">Exercises at the celebration of the 150th anniversary of the Second Congregational Church of Greenwich, Conn., Wednesday, November 7, 1866 : including an historical discourse / by Rev. J.H. Linsley and historical sketches and addresses from others</a>\n</td>\n<td>\n</td>\n<td>b29977538</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1746779">Exercises at the opening of the James Blackstone Memorial Library, Branford, Conn. June 17, 1896</a>\n</td>\n<td>James Blackstone Memorial Library (Branford, Conn.)</td>\n<td>b17467792</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2703238">Exercises attending the one hundred and seventy-fifth anniversary of the organization of the Congregational Church in North Branford, Connecticut, Wednesday, October 15, 1902 : historical sermon, addresses and letters, 1726(!)-1902</a>\n\n</td>\n<td>North Branford Congregational Church (North Branford, Conn.)</td>\n<td>b27032383</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2721222">Exercises of dedication and installation at the First Congregational Church, Suffield, Conn., Wednesday, December 8, 1869</a>\n</td>\n<td>First Congregational Church (Suffield, Conn.)</td>\n<td>b27212221</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1137190">Extracts from the records of Colchester : with some transcripts from the recording of Michaell Taintor of "Brainford," Conn. / transcribed by Charles M. Taintor</a>\n</td>\n<td>Colchester (Conn.)</td>\n<td>b11371900</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2589558">Fair Haven : centennial discourse delivered in the Second Congregational Church, Fair Haven, Connecticut, Sunday, July 9th, 1876 / Horace C. Hovey</a>\n</td>\n<td>Hovey, Horace Carter, 1833-1914</td>\n<td>b25895588</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077163">Fairfield, Connecticut, Probate records. Abstracted by William A. Eardeley, M.A. during the years 1898, 1899, and 1900 from the original records in the Town Hall in Fairfield, Connecticut</a>\n</td>\n<td>Eardeley, William Applebie, 1870-1935</td>\n\n<td>b30771638</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078171">Fairfield, Fairfield Co., Conn. : inscriptions from graveyards with notes and index / Francis F. Spies</a>\n</td>\n<td>Spies, Francis F. (Francis Ferdinand), 1871-1934</td>\n<td>b30781711</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1758074">Families of early Hartford, Connecticut / Lucius Barnes Barbour</a>\n</td>\n<td>Barbour, Lucius Barnes, 1878-1934</td>\n<td>b17580742</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1747332">Families of early Milford, Connecticut / compiled by Susan Woodruff Abbott edited and prepared for publication by Jacquelyn L. Ricker</a>\n</td>\n\n<td>Abbott, Susan Emma Woodruff, 1901-</td>\n<td>b17473329</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1780183">Family records (heretofore unpublished) collected in commemoration of the three hundredth anniversary of the settlement of Connecticut</a>\n</td>\n<td>National Society of Daughters of Founders and Patriots of America. Connecticut Chapter</td>\n<td>b17801837</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2567466">Farm echoes / by F. Ratchford Starr, M.A., Echo farm, Litchfield, Connecticut</a>\n</td>\n<td>Starr, F. Ratchford (Frederick Ratchford), 1821-1889</td>\n<td>b25674663</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584822">Farmington in the War of the Revolution : an historical address, delivered at the annual meeting of the Village Library Company of Farmington, Conn., May 3, 1893 / by Julius Gay</a>\n\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848227</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584871">Farmington soldiers in the colonial wars : an historical address, delivered at the annual meeting of the Village Library Company of Farmington, Conn., September 8, 1897 / by Juluis Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848719</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584880">Farmington two hundred years ago : an historical address delivered at the annual meeting of the Village Library Company of Farmington, Connecticut, September 14, 1904 / by Julius Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b2584880x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1698661">Farmington, one of the mother towns of Connecticut / [Quincy Blakely]</a>\n</td>\n<td>Blakely, Quincy, b. 1872</td>\n<td>b16986611</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2721343">Fiftieth anniversary of the Broadway Congregational Church, Norwich, Conn., June 1, 1892</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n\n<td>b27213432</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093599">Fiifteen years of the Second Congregational Church, Norwich, Conn by the pastor Rev. Wm. S. Palmer, D.D.</a>\n</td>\n<td>Palmer, William Stratton, 1827-</td>\n<td>b30935994</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2574944">First Baptist Church, North Stonington, Connecticut : the papers and addresses delivered at the dedication of a granite memorial on the site of the first church edifice, September 23, 1934 and "A discourse delivered at the one hundredth anniversary" of the Church in 1843</a>\n</td>\n<td>First Baptist Church (North Stonington, Conn.)</td>\n<td>b25749444</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073298">Foundation in the holy mountains : a sermon preached at the opening of Trinity Church, Newtown, Thursday, February 3, 1870 / by E. Edwards Beardsley</a>\n</td>\n\n<td>Beardsley, E. Edwards (Eben Edwards), 1808-1891</td>\n<td>b30732980</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1150556">Founders and leaders of Connecticut, 1633-1783 edited by Charles Edward Perry.</a>\n</td>\n<td>Perry, Charles E. (Charles Edward), b. 1896, ed</td>\n<td>b11505564</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2588592">Four commemorative discourses : delivered on his sixty-third birth-day, February 19th, 1865, on the fortieth anniversary of his installation, March 12th, 1865, and on his retirement from pastoral duties, September 9th, 1866 / by Leonard Bacon</a>\n</td>\n<td>Bacon, Leonard, 1802-1881</td>\n<td>b25885923</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774378">Franklin in 1800 / by Samuel Nott</a>\n\n</td>\n<td>Nott, Samuel, 1754-1852</td>\n<td>b17743783</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2623951">Geer s Hartford city directory</a>\n</td>\n<td>\n</td>\n<td>b26239516</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1142686">Genealogical and family history of the state of Connecticut a record of the achievements of her people in the making of a commonwealth and the founding of a nation. Editorial staff: William Richard Cutter, Edward Henry Clement, Samuel Hart, Mary Kingsbury Talcott, Frederick Bostwick, Ezra Scollay Stearns</a>\n</td>\n<td>Cutter, William Richard, 1847-1918</td>\n<td>b1142686x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1127686">Genealogical history, with short sketches and family records, of the early settlers of West Simsbury, now Canton, Conn. / by Abiel Brown with an introductory and commendatory notice by J. Burt</a>\n</td>\n<td>Brown, Abiel</td>\n<td>b11276861</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2518316">Genealogical history, with short sketches and family records, of the early settlers of West Simsbury, now Canton, Conn. / by Abiel Brown, esq. with an introductory and commendatory notice, by Rev. J. Burt</a>\n</td>\n<td>Brown, Abiel</td>\n\n<td>b25183163</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2644007">General catalogue / Theological Institute of Connecticut</a>\n</td>\n<td>Theological Institute of Connecticut</td>\n<td>b26440076</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2577845">General history of the town of Sharon : Litchfield County, Conn. from its first settlement / by Charles F. Sedgwick</a>\n</td>\n<td>Sedgwick, Charles F. (Charles Frederick), 1795-1882</td>\n<td>b25778456</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078828">Gladness for great things done : an historical discourse for the jubilee of the Society for the Propagation of the Gospel : delivered in Trinity Church, Fairfield (Southport Borough) Conn., on the eighth Sunday after Trinity, August 10th, 1851 / by N.E. Cornwall</a>\n</td>\n\n<td>Cornwall, N. E. (Nathanael Ellsworth)</td>\n<td>b30788286</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774842">Glastenbury for two hundred years: a centennial discourse, May 18th, A. D. 1853. With an appendix, containing historical and statistical papers of interest. By Rev. Alonzo B. Chapin</a>\n</td>\n<td>Chapin, A. B. (Alonzo Bowen), 1808-1858</td>\n<td>b17748422</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2548975">God s acre : Old Middle Street Burying-Ground, 1745-1905, in Goshen, Connecticut / photographs taken by Mary E. Brooks and Harry W. Flieg</a>\n</td>\n<td>\n</td>\n<td>b25489756</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1099772">Goodwin s annual legislative statistics of state officers, Senate, and House of Representatives of Connecticut .</a>\n\n</td>\n<td>\n</td>\n<td>b10997726</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774812">Goshen in 1812 / by Lewis M. Norton</a>\n</td>\n<td>Norton, Lewis Mills, 1783-1860</td>\n<td>b17748124</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2289839">Greens Farms, Connecticut, the old West parish of Fairfield, historical sketches and reminiscences / by George Penfield Jennings</a>\n</td>\n<td>Jennings, George Penfield, 1855-1933</td>\n<td>b22898396</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1281730">Greenwich old &amp; new : a history / illustrated with photographs, of Greenwich, Connecticut, from colonial days to the present, by Lydia Holland and Margaret Leaf</a>\n</td>\n<td>Holland, Lydia</td>\n<td>b12817302</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2549758">Griswold -- a history : being a history of the town of Griswold, Connecticut, from the earliest times to the entrance of our country into the world war in 1917 / by Daniel L. Phillips</a>\n</td>\n\n<td>Phillips, Daniel L. (Daniel Lyon), b. 1852</td>\n<td>b25497583</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2550492">Groton, Conn. 1705-1905 / by Charles R. Stark</a>\n</td>\n<td>Stark, Charles R. (Charles Rathbone), b. 1848</td>\n<td>b25504927</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3087404">Guide to New Haven and Yale University, comp. by E. Oviatt .</a>\n</td>\n<td>Oviatt, Edwin, 1874-1955, comp</td>\n<td>b3087404x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1638949">Guilford portraits : memorial epitaphs of Alderbrook and Westside with introductory elegies and essay / by Henry Pynchon Robinson ... 1815-1907</a>\n\n</td>\n<td>Robinson, Henry Pynchon, 1840-1913</td>\n<td>b16389499</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774381">Haddam in 1808</a>\n</td>\n<td>Clarke, Levi Hubbard, 1782-1840</td>\n<td>b17743813</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2978940">Half-century discourse : on occasion of the fiftieth anniversary of his ordination as pastor of the First Church in Farmington, Conn. : delivered November 12th, 1856 / by Noah Porter</a>\n</td>\n<td>Porter, Noah, 1781-1866</td>\n<td>b29789400</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1092788">Half-century discourse, history of the church in Newington: its doctrine, its ministers, its experience presented in the discourse delivered on Tuesday the 16th of January, 1855 ... / by J. Brace</a>\n</td>\n<td>Brace, Joab, 1781-1861</td>\n<td>b10927888</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092613">Half-century sermon on some changes which have occurred in the First Congregational Society in New London, in this city, and in the county to which it pertains : delivered January 27th, 1857, and published by request of the Church and Society / by Abel McEwen</a>\n</td>\n<td>McEwen, Abel, 1780-1860</td>\n\n<td>b30926130</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077219">Handbook of the Congregational Church in East Woodstock, CT</a>\n</td>\n<td>Congregational Church (East Woodstock, Conn.)</td>\n<td>b30772199</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1562332">Hartford in history : a series of papers / by resident authors edited by Willis I. Twitchell</a>\n</td>\n<td>\n</td>\n<td>b15623324</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1123950">Hartford in the olden time : its first thirty years / by Scaeva [pseud.] edited by W. M. B. Hartley</a>\n</td>\n\n<td>Stuart, I. W. (Isaac William), 1809-1861</td>\n<td>b11239505</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2643769">Hartford Seminary Foundation bulletin</a>\n</td>\n<td>\n</td>\n<td>b26437697</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2307539">Hartford, Conn., as a manufacturing, business and commercial center : with brief sketches of its history, attractions, leading industries, and institutions</a>\n</td>\n<td>Hartford (Conn.). Board of Trade</td>\n<td>b23075399</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2289852">Hebron, Connecticut, bicentennial, August 23d to 25th, 1908 : an account of the celebration of the two hundredth anniversary of the incorporation of the town : 1708-1908</a>\n\n</td>\n<td>\n</td>\n<td>b22898529</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1153687">Historic Connecticut (originally published under the title of "Connecticut trilogy") by Marguerite Allis illustrated with photographs by Samuel Chamberlain and drawings by the author</a>\n</td>\n<td>Allis, Marguerite, 1887-1958</td>\n<td>b11536871</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2289840">Historic Groton : comprising historic and descriptive sketches pertaining to Groton Heights, Center Groton, Poquonnoc Bridge, Noank, Mystic, and Old Mystic, Conn. / by local writers Charles F. Burgess, editor and publisher</a>\n</td>\n<td>\n</td>\n<td>b22898402</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1784434">Historic houses of Connecticut open to the public, by H. F. Randolph Mason</a>\n</td>\n<td>Mason, H. F. Randolph</td>\n<td>b17844344</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2289856">Historic Litchfield, 1721-1907 : being a short account of the history of the old houses of Litchfield / comp. from Kilbourn s History of Litchfield, Geo. C. Woodruff s History of the town of Litchfield, Kilbourn s History of Litchfield tradition, the Litchfield county centennial celebration, the Litchfield book of days, and Chronicles of a pioneer school, by Alice T. Bulkeley. Illustrated from original photographs by the compiler</a>\n</td>\n<td>Bulkeley, Alice Talcott, b. 1870</td>\n\n<td>b22898566</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1160525">Historic towns of the Connecticut River Valley / by George S. Roberts</a>\n</td>\n<td>Roberts, George S. (George Simon), b. 1860</td>\n<td>b1160525x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2683541">Historical account of the celebration of the one hundred and fiftieth anniversary of the organization of the Congregational Church, of New Canaan, Conn., June 20, 1883 : with an appendix containing a full alphabetical list of the pastorate, deaconate, and membership of the church, and other historical items of church, educational, and general town interest / edited by the committee, Joseph Greenleaf, Amzi B. Davenport</a>\n</td>\n<td>\n</td>\n<td>b26835411</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2573705">Historical address : delivered in the Congregational church, of New Canaan, Conn., July 4th, 1876 / by Prof. Samuel St. John. With an appendix ... Also a list of soldiers who served in the war for the Union, and an obituary of Prof. St. John, resolutions, etc</a>\n</td>\n\n<td>St. John, Samuel, 1813-1876</td>\n<td>b25737053</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084183">Historical address at the dedication of the Soldiers monument in Barkhamsted, September 10, 1897 / by Wm. Wallace Lee</a>\n</td>\n<td>Lee, W. W. (William Wallace), 1828-</td>\n<td>b30841835</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2504425">Historical address delivered at the 150th anniversary of the First Congregational Church, Goshen, Conn., Sept. 3, 1890 / by A.G. Hibbard</a>\n</td>\n<td>Hibbard, A. G. (Augustine George), b. 1833</td>\n<td>b25044254</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079257">Historical address delivered by Rev. Cornelius W. Morrow, at the one hundredth anniversary of the dedication of the first house of worship erected on the site of the present Second Congregational Church, of Norwich, Conn., 1795-1895. With an introd. by Deacon George D. Coit</a>\n\n</td>\n<td>Second Congregational Church (Norwich, Conn.)</td>\n<td>b30792575</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083079">Historical address in commemoration of the two hundred and fiftieth anniversary of the founding of Norwalk, September eleventh, 1651. Delivered in the armory in Norwalk, September eleventh, 1901, by Augustus Field Beard .</a>\n</td>\n<td>Beard, Augustus Field, 1833-1934</td>\n<td>b30830795</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2427006">Historical address, delivered in the First Congregational Church in Stamford, Ct. : at the celebration of the second centennial anniversary of the first settlement of the town / by J.W. Alvord</a>\n</td>\n<td>Alvord, John Watson, 1807-1880</td>\n<td>b24270064</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1710188">Historical addresses delivered by Hon. Samuel Church, October 20, 1841, and ex-Gov. A. H. Holley, July 4, 1876, together with a record of proceedings at the centennial celebration in Salisbury Conn</a>\n</td>\n<td>Salisbury (Conn.)</td>\n<td>b17101888</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1707243">Historical catalogue of the First Church in Hartford : 1633-1885</a>\n</td>\n<td>First Church of Christ (Hartford, Conn.)</td>\n\n<td>b17072438</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2588599">Historical catalogue of the members of the First Church of Christ in New Haven, Connecticut (Center Church) : A.D. 1639-1914 / compiled by Franklin Bowditch Dexter</a>\n</td>\n<td>Dexter, Franklin Bowditch, 1842-1920</td>\n<td>b25885996</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2643200">Historical catalogue of the Theological Institute of Connecticut</a>\n</td>\n<td>Theological Institute of Connecticut</td>\n<td>b26432006</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2577880">Historical collections relating to the town of Salisbury, Litchfield County Connecticut</a>\n</td>\n\n<td>Salisbury Association (Conn.)</td>\n<td>b25778808</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083606">Historical discourse : A New Years sermon delivered in the Congregational Church, Jewett City, Conn., January 13, 1856 / by Thomas L. Shipman</a>\n</td>\n<td>Shipman, Thomas L. (Thomas Leffingwell), 1798-1886</td>\n<td>b30836062</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045706">Historical discourse : delivered on the fiftieth anniversary of his settlement / by Henry Bromley at Mansfield, Connecticut, June 5, 1887</a>\n</td>\n<td>Bromley, Henry</td>\n<td>b30457063</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1026035">Historical discourse delivered at the centennial celebration of the Stone Meeting House : East Haven, Conn., Wednesday, September 16, 1874 / by D. William Havens</a>\n\n</td>\n<td>Havens, D. William (Daniel William), 1815-1889</td>\n<td>b10260353</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083811">Historical discourse delivered by E. S. Holloway, pastor of Greenville Baptist Church : at the dedication of their Chapel, Wednesday, Dec. 30, 1885</a>\n</td>\n<td>Holloway, E. S. (Edwin S.)</td>\n<td>b30838113</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3044810">Historical discourse delivered on the one hundred and seventieth anniversary of the formation of the First Congregational Church, Madison, Conn., November 18, 1877 / by James A. Gallup</a>\n</td>\n<td>Gallup, James A</td>\n<td>b30448104</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2569711">Historical discourse of the Congregational Church in Killingworth, Connecticut, May 31, 1870 / by William Miller</a>\n</td>\n<td>Miller, William, b. 1817</td>\n<td>b25697110</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705306">Historical discourse preached in the First Presbyterian Church, Thompsonville, Conn. on Sabbath, December 30, 1866 / by Rev. Carson W. Adams</a>\n</td>\n<td>Adams, Carson W. (Carson Wilson), 1811-1897</td>\n\n<td>b27053064</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2878330">Historical discourse preached on the one hundred and fiftieth anniversary of the organization of the United Church : May 8th, 1892 / by Rev. Theodore T. Munger ... and an historical sketch of the United Society, presented to the society April 28th, 1879, by Hon. Henry E. Pardee</a>\n</td>\n<td>United Church (New Haven, Conn.)</td>\n<td>b2878330x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2348025">Historical landmarks of Connecticut : a few notes ... respecting those already marked and ... suggestions regarding others that may be marked, for the use of the United Committees on Historical Landmarks of Connecticut</a>\n</td>\n<td>\n</td>\n<td>b23480257</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045721">Historical letter of the First Baptist Church of Mansfield, Conn. : commemorating the centennial of the church and read at the meeting with it of the Ashford Baptist Association, September 28 and 29, 1909 / Leonard Smith, pastor, L.J. Storrs, clerk and treasurer</a>\n</td>\n\n<td>First Baptist Church (Mansfield, Conn.)</td>\n<td>b3045721x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2583789">Historical manual of the Congregational Church, Poquonock, Ct. / Organized June 2, 1841</a>\n</td>\n<td>Congregational Church (Poquonock, Conn.)</td>\n<td>b25837898</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1014999">Historical notes of the Congregational Churches in New London County from 1836-1869, Presented to the Conference at Montville, October 12th, 1869</a>\n</td>\n<td>Arms, Hiram P</td>\n<td>b10149995</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1224520">Historical notes on the constitutions of Connecticut, 1639-1818 : particularly on the origin and progress of the movement which resulted in the Convention of 1818 and the adoption of the present constitution / by J. Hammond Trumbull</a>\n\n</td>\n<td>Trumbull, J. Hammond (James Hammond), 1821-1897</td>\n<td>b12245203</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083080">Historical notice of the Congregational Church in Enfield, Conn. with the confession of faith, the covenant, and a chronological catalogue of the members since 1783</a>\n</td>\n<td>Congregational Church (Enfield, Conn.)</td>\n<td>b30830801</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079259">Historical notice of the Congregational Church in North Coventry, Conn. : with the articles of faith and a catalogue of members</a>\n</td>\n<td>Congregational Church (North Coventry, Conn.)</td>\n<td>b30792599</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2973631">Historical notice of the First Congregational Church in East Hartford, Conn. : with the articles of faith, covenant, and a catalogue of members</a>\n</td>\n<td>First Congregational Church (East Hartford, Conn.)</td>\n<td>b29736316</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1091556">Historical notices of Connecticut pub. under the patronage of the Connecticut Historical Society</a>\n</td>\n<td>Porter, William S. (William Smith), 1799-1866</td>\n\n<td>b10915564</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1419412">Historical records of the town of Cornwall, Litchfield County, Connecticut / collected and arranged by Theodore S. Gold</a>\n</td>\n<td>Gold, Theodore S. (Theodore Sedgwick), 1818-1906</td>\n<td>b14194120</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2184438">Historical sermon delivered before the Centre Church, New Britain, Conn., July 9, 1876</a>\n</td>\n<td>Denison, John H. (John Henry), 1841-1924</td>\n<td>b21844380</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589709">Historical sermon of College Street Church, New Haven : preached at the last sermon in the building on College Street, Sunday, December 8th, 1895 / by the pastor, Rev. William W. McLane</a>\n</td>\n\n<td>McLane, William W. (William Ward), 1846-1931</td>\n<td>b25897093</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2932624">Historical sermon, preached in St. Andrew s Church, Bloomfield, Ct., April 8th, 1866 / by Rev. J. E. Heald</a>\n</td>\n<td>Heald, J. E</td>\n<td>b29326242</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073122">Historical sketch and manual of the First Congregational Church in Ridgefield, Conn</a>\n</td>\n<td>Congregational Church, Ridgefield Conn. (First)</td>\n<td>b30731227</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705519">Historical sketch of (Kensington,) Berlin, Conn., during the last hundred years : an address, delivered by request at the Congregational church, in that place, July 4, 1876 / by Edward W. Robbins</a>\n\n</td>\n<td>Robbins, Edward W. (Edward Wright), b. 1822</td>\n<td>b2705519x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571445">Historical sketch of Lisbon, Conn. : from 1786-1900 / by Henry F. Bishop</a>\n</td>\n<td>Bishop, Henry Fitch, 1820-1910</td>\n<td>b25714454</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093722">Historical sketch of old Fair Haven with additional notes</a>\n</td>\n<td>Bushnell, Curtis C. (Curtis Clark), b. 1870</td>\n<td>b3093722x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2718527">Historical sketch of Stonington &amp; Westerly : a sketch of their business interest, past and present / by Richard A. Wheeler</a>\n</td>\n<td>Wheeler, Richard Anson, b. 1817</td>\n<td>b27185278</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3091827">Historical sketch of the Baptist churches in Saybrook, Connecticut</a>\n</td>\n\n<td>\n</td>\n<td>b30918273</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584251">Historical sketch of the Congregational Church : and parish of Canton Center, Conn., formerly West Simsbury, organized 1750 / comp. by Rev. Frederick Alvord and Miss Ida R. Gridley</a>\n</td>\n<td>Alvord, Frederick, 1828-1903</td>\n<td>b25842511</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2949731">Historical sketch of the Congregational Church of Chester, Conn., from its organization, September 15, 1742, to September 15, 1892 : a period of one hundred and fifty years / by Amos Sheffield Chesebrough and Alexander Hall</a>\n</td>\n<td>Chesebrough, Amos S. (Amos Sheffield), 1813-1905</td>\n<td>b29497310</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2933759">Historical sketch of the Congregational society and church in Bristol, Conn. : with the articles of faith, covenant and standing rules of the church : together with a catalogue of members since its gathering and a catalogue of members April 1st, 1852</a>\n\n</td>\n<td>First Congregational Church (Bristol, Conn.)</td>\n<td>b29337598</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078155">Historical sketch of the First Church in Norwalk : with the articles of faith, covenant and catalogue of members, May 4, 1885</a>\n</td>\n<td>First Church (Norwalk, Conn.)</td>\n<td>b30781553</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2550859">Historical sketch of the First Congregational Church in Haddam, Connecticut / by the pastor, Everett E. Lewis, delivered July 9th, 1876, and revised and repeated Sept. 8th, 78</a>\n</td>\n<td>Lewis, Everett E. (Everett Edward), 1837-1928</td>\n<td>b25508593</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1150214">Historical sketch of the First Congregational Church of Brookfield, Connecticut, and of the town of Brookfield</a>\n</td>\n<td>Hawley, Emily C. (Emily Carrie), b. 1855</td>\n<td>b11502149</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704593">Historical sketch of the First Presbyterian Church and Society of Hartford, Conn</a>\n</td>\n<td>\n</td>\n\n<td>b27045936</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2590319">Historical sketch of the First Universalist Church and Society in New Haven, Conn. / by Phebe A. Hanaford</a>\n</td>\n<td>Hanaford, Phebe A. (Phebe Ann), 1829-1921</td>\n<td>b25903196</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092836">Historical sketch of the New London Baptist Association from its origins in 1817 to 1850 together with a history of the churches of which it is composed</a>\n</td>\n<td>\n</td>\n<td>b30928369</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2446332">Historical sketch of the Protestant Episcopal Church in Branford, Conn., 1784-1882 / by Rev. Melville K. Bailey</a>\n</td>\n\n<td>Bailey, Melville K. (Melville Knox), b. 1856</td>\n<td>b24463322</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545329">Historical sketch of the town of Enfield : compiled under the direction of the committee of arrangements for celebrating the centennial anniversary of our independence, July 4, 1876 / by A. Johnson, Geo. H. Booth, and L. H. Pease, M.D., committee</a>\n</td>\n<td>Johnson, A</td>\n<td>b25453294</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545359">Historical sketch of Turkey Hills and East Granby, Connecticut / by Albert Carlos Bates</a>\n</td>\n<td>Bates, Albert Carlos, b. 1865</td>\n<td>b25453592</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077167">Historical sketch of Union lodge no. 5, F. &amp; A.M</a>\n\n</td>\n<td>Phelps, I. Newton</td>\n<td>b30771675</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1058847">Historical sketch. Statistics and rules of the North Association and Consociation of Litchfield County</a>\n</td>\n<td>Litchfield North Association</td>\n<td>b10588474</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073294">Historical sketches and rules of Fairfield East Association and Consociation with statistical notices of the consociated churches</a>\n</td>\n<td>Fairfield East Association and Consociation (Fairfield, Conn.)</td>\n<td>b30732943</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1745658">Historical sketches of Meriden Connecticut. By G. W. Perkins</a>\n</td>\n<td>Perkins, G. W. (George William), 1804-1856</td>\n<td>b17456587</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1720622">Historical sketches of the First Church in Hartford : a centennial discourse delivered in the First Church, June 26, 1836 / by Joel Hawes</a>\n</td>\n<td>Hawes, Joel, 1789-1867</td>\n\n<td>b17206224</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774786">Historical sketches of the town of Milford</a>\n</td>\n<td>Ford, George Hare, b. 1848</td>\n<td>b17747867</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1760694">History and genealogy of the families of old Fairfield ... compiled and edited by Donald Lines Jacobus, M.A., for the Eunice Dennie Burr chapter, Daughters of the American revolution, Fairfield, Connecticut</a>\n</td>\n<td>Jacobus, Donald Lines, 1887-1970</td>\n<td>b17606949</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093226">History of "The Fund for Ministers" belonging to the General Conference of the Congregational Churches of Connecticut : with some account of other organizations for ministerial aid</a>\n</td>\n\n<td>Anderson, Joseph, 1836-1916</td>\n<td>b30932269</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2324365">History of Berlin, Connecticut / by Catharine M. North rearranged and edited with foreword by Adolph Burnett Benson</a>\n</td>\n<td>North, Catharine M. (Catharine Melinda), 1840-1914</td>\n<td>b2324365x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1260445">History of Bridgeport and vicinity / ed. by George C. Waldo, Jr</a>\n</td>\n<td>Waldo, George C. (George Curtis), 1888-1956</td>\n<td>b12604458</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2876545">History of Chapel Street Church : a discourse delivered on the twentieth anniversary of the origin of the Chapel Street Church and Ecclesiastical Society / by W.T. Eustis</a>\n\n</td>\n<td>Eustis, William T. (William Tappan), 1821-1888</td>\n<td>b2876545x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2841141">History of Cheshire, Connecticut, from 1694 to 1840 : including Prospect, which, as Columbia Parish, was a part of Cheshire until 1829 / compiled and written by Joseph Perkins Beach</a>\n</td>\n<td>Beach, Joseph Perkins, 1828-1911</td>\n<td>b28411419</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1153131">History of Connecticut in monographic form, Norris Galpin Osborn, editor .</a>\n</td>\n<td>Osborn, Norris Galpin, b. 1858, ed</td>\n<td>b11531319</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2511686">History of Connecticut in monographic form. Index</a>\n</td>\n<td>Osborn, Norris Galpin, b. 1858</td>\n<td>b25116861</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1016279">History of Cromwell : a sketch / by M.S. Dudley</a>\n</td>\n<td>Dudley, M. S. (Myron Samuel), 1837-1905</td>\n\n<td>b10162793</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1775100">History of Danbury, Conn., 1684-1896 / from notes and manuscript left by James Montgomery Bailey compiled with additions by Susan Benedict Hill</a>\n</td>\n<td>Bailey, James M. (James Montgomery), 1841-1894</td>\n<td>b17751007</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084884">History of Darien from 1640 to 1928 / as compiled by the Teachers of the Darien Public Schools</a>\n</td>\n<td>\n</td>\n<td>b30848842</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1259586">History of Durham, Connecticut, from the first grant of land in 1662 to 1866 / By William Chauncey Fowler</a>\n</td>\n\n<td>Fowler, William Chauncey, 1793-1881</td>\n<td>b1259586x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1096933">History of East Haven / by Sarah E. Hughes</a>\n</td>\n<td>Hughes, Sarah E. (Sarah Eva)</td>\n<td>b10969330</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1281269">History of eastern Connecticut embracing the counties of Tolland, Windham, Middlesex and New London, by Pliny Le Roy Harwood .</a>\n</td>\n<td>Harwood, Pliny LeRoy, b. 1876</td>\n<td>b12812699</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1776740">History of Fairfield County, Connecticut, 1639-1928 / by Lynn Winfield Wilson</a>\n\n</td>\n<td>Wilson, Lynn Winfield</td>\n<td>b17767404</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1248505">History of Fairfield county, Connecticut, with illustrations and biographical sketches of its prominent men and pioneers. Comp. under the supervision of D. Hamilton Hurd</a>\n</td>\n<td>Hurd, D. Hamilton (Duane Hamilton), comp</td>\n<td>b12485056</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2274191">History of Grace Church, Hamden, Conn. : from its organization March 1, 1790 to July 1, 1912 / by James Edward Coley</a>\n</td>\n<td>Coley, James Edward, 1832-1916</td>\n<td>b22741914</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1082649">History of Hartford County, Connecticut, 1633-1928 : being a study of the first makers of the Constitution and the story of their lives, of their descendents and of all who have come / by Charles W. Burpee</a>\n</td>\n<td>Burpee, Charles W. (Charles Winslow), b. 1859</td>\n<td>b1082649x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2569662">History of Kent, Connecticut : including biographical sketches of many of its present or former inhabitants : 1897 / Francis Atwater</a>\n</td>\n<td>Atwater, Francis, b. 1858</td>\n\n<td>b25696622</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1777034">History of Litchfield county, Connecticut, with illustrations and biographical sketches of its prominent men and pioneers</a>\n</td>\n<td>\n</td>\n<td>b17770348</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1281050">History of Manchester, Connecticut, by Mathias Spiess and Percy W. Bidwell</a>\n</td>\n<td>Spiess, Mathias, b. 1873</td>\n<td>b12810502</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589666">History of Methodism in New Haven : a discourse delivered to the United Methodist congregations of the city at the George St. M.E. Church on Thanksgiving Day, November 24, 1859 / by George W. Woodruff</a>\n</td>\n\n<td>Woodruff, George W</td>\n<td>b25896660</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2291614">History of Middlefield and Long Hill / by Thomas Atkins</a>\n</td>\n<td>Atkins, Thomas, 1797-1822</td>\n<td>b22916143</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1775227">History of Middlesex county, Connecticut, with biographical sketches of its prominent men</a>\n</td>\n<td>\n</td>\n<td>b17752279</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1280942">History of Milford, Connecticut, 1639-1939, compiled and written by the Federal writers project of the Works project [i. e. progress] administration for the state of Connecticut</a>\n\n</td>\n<td>Federal Writer s Project for the State of Connecticut</td>\n<td>b12809421</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1781378">History of Montville, Connecticut : formerly the North parish of New London from 1640 to 1896 / comp. and arranged by Henry A. Baker</a>\n</td>\n<td>Baker, Henry A. (Henry Augustus), b. 1823</td>\n<td>b17813785</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1103347">History of Naugatuck, Connecticut</a>\n</td>\n<td>Green, Constance McLaughlin, 1897-1975</td>\n<td>b11033472</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1109460">History of New Britain : with sketches of Farmington and Berlin, Connecticut. 1640-1889 / By David N. Camp, A. M</a>\n</td>\n<td>Camp, David N. (David Nelson), 1820-1916</td>\n<td>b11094606</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1780787">History of New Haven County, Connecticut / edited by J.L. Rockey assisted by a corps of writers</a>\n</td>\n<td>\n</td>\n\n<td>b17807876</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1161392">History of New London county, Connecticut : with biographical sketches of many of its pioneers and prominent men / comp. under the supervision of D. Hamilton Hurd.</a>\n</td>\n<td>Hurd, D. Hamilton (Duane Hamilton)</td>\n<td>b11613920</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1249015">History of New London, Connecticut : from the first survey of the coast in 1612 to 1860 : with memoir of the author / by Frances Manwaring Caulkins</a>\n</td>\n<td>Caulkins, Frances Manwaring, 1795-1869</td>\n<td>b12490155</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691936">History of Norfolk, Litchfield County, Connecticut / opening chapters by Joseph Eldridge compiled by Theron Wilmot Crissey</a>\n</td>\n\n<td>Crissey, Theron Wilmot</td>\n<td>b16919361</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1778345">History of Norwich, Connecticut : from its possession by the Indians to the year 1866 / by Frances Manwaring Caulkins also a brief sketch of the life of the author to which is added an appendix ... continuing the history to ... 1873</a>\n</td>\n<td>Caulkins, Frances Manwaring, 1795-1869</td>\n<td>b17783458</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1769740">History of Norwich, Connecticut : from its possession by the Indians, to the year 1866 / by Frances Manwaring Caulkins</a>\n</td>\n<td>Caulkins, Frances Manwaring, 1795-1869</td>\n<td>b17697402</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2576086">History of Oxford / by W.C. Sharpe</a>\n\n</td>\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b25760865</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083555">History of Oxford: Part first, church records, births, marriages, deaths, etc., 1747-1883 / by W.C. Sharpe</a>\n</td>\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b30835550</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1797977">History of Pomfret : a discourse delivered on the day of annual thanksgiving, in the First Church in Pomfret, Nov. 19th, 1840 / by D. Hunt</a>\n</td>\n<td>Hunt, Daniel, 1806-1869</td>\n<td>b17979778</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1010944">History of Rockville, from 1823 to 1871 : including also a brief sketch of facts which ante-date the incorporation of Vernon, and bring dates up to the time when this history begins / by Wm. T. Cogswell</a>\n</td>\n<td>Cogswell, William Thompson, b. 1802</td>\n<td>b10109444</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1087535">History of Saint Mark s Church, New Britain, Conn., and of its predecessor Christ Church, Wethersfield and Berlin : from the first Church of England service in America to nineteen hundred and seven / by James Shepard</a>\n</td>\n<td>Shepard, James, 1838-1926</td>\n\n<td>b10875359</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691932">History of Seymour, Connecticut : with biographies and genealogies / by W.C. Sharpe</a>\n</td>\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b16919324</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1768099">History of Simsbury, Granby, and Canton : from 1642 to 1845 / by Noah A. Phelps</a>\n</td>\n<td>Phelps, Noah Amherst, 1788-1872</td>\n<td>b17680992</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2169119">History of Southington, Conn. ... : public and personal happenings, principally of the past fifty years / compiled by Francis Atwater</a>\n\n</td>\n<td>Atwater, Francis, b. 1858</td>\n<td>b21691198</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2655755">History of St. Luke s Church in the town of Darien, Noroton, Conn., 1855-1930 / by Simon W. Cooper</a>\n</td>\n<td>Cooper, Simon W</td>\n<td>b26557551</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2715520">History of St. Paul s Parish, from 1879 to 1904 : a paper read at the 75th Anniversary of St. Paul s Church, New Haven, Conn., All Saints Day, 1905 / by the Right Rev. Edwin S. Lines</a>\n</td>\n<td>Lines, Edwin S. (Edwin Stevens), 1845-1927</td>\n<td>b27155201</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1232335">History of Stamford, Connecticut : from its settlement in 1641, to the present time, including Darien, which was one of its parishes until 1820 / by Rev. E.B. Huntington</a>\n</td>\n<td>Huntington, E. B. (Elijah Baldwin), 1816-1877</td>\n<td>b12323354</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2580528">History of Stratford, Connecticut, 1639-1939 / by Wm. Howard Wilcoxson</a>\n</td>\n<td>Wilcoxson, William Howard</td>\n\n<td>b25805289</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1217774">History of the 13th Infantry Regiment of Connecticut Volunteers, during the Great Rebellion. By Homer B. Sprague .</a>\n</td>\n<td>Sprague, Homer B. (Homer Baxter), 1829-1918</td>\n<td>b1217774x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2274195">History of the Advent Christian church of Hartford, Conn. : from the first meetings in 1838 to January 1st, 1906, as gathered from records, recollections, and inquiries</a>\n</td>\n<td>Pierce, William J</td>\n<td>b22741951</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077168">History of the ancient maritime interests of New Haven</a>\n</td>\n\n<td>Trowbradge, Thomas Rutherford</td>\n<td>b30771687</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1800114">History of the Bridgeport Post Office, from 1800 to 1900 : with additional important postal information</a>\n</td>\n<td>\n</td>\n<td>b18001142</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1300497">History of the city of New Haven to the present time / by an association of writers. Ed. by Edward E. Atwater ... With biographies, portraits and illustrations</a>\n</td>\n<td>Atwater, Edward E. (Edward Elias), 1816-1887</td>\n<td>b13004979</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2577830">History of the colony of New Haven to its absorption into Connecticut / By Edward E. Atwater</a>\n\n</td>\n<td>Atwater, Edward E. (Edward Elias), 1816-1887</td>\n<td>b25778304</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2569707">History of the Congregational Church in South Killingly, Conn./ with a record of doings at its 150th anniversary</a>\n</td>\n<td>Congregational Church (South Killingly, Conn.)</td>\n<td>b25697079</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045734">History of the Congregational Church, North Mansfield, Conn., 1744-1879 / by G.O. Southwick</a>\n</td>\n<td>Southwick, G. O</td>\n<td>b30457348</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1795274">History of the diocese of Hartford by Rev. James H. O Donnell</a>\n</td>\n<td>O Donnell, James H</td>\n<td>b17952748</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1053771">History of the First Church in Cromwell 1715-1915 / edited by the Reverend Homer Wesley Hildreth, Minister</a>\n</td>\n<td>Hildreth, Homer Wesley</td>\n\n<td>b10537715</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2553002">History of the First Church in Hartford, 1633-1883</a>\n</td>\n<td>Walker, George Leon, 1830-\n1900</td>\n<td>b25530021</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1161856">History of the First Congregational Church, Stonington, Conn., 1674-1874 : with the report of bi-centennial proceedings, June 3, 1874. With appendix containing statistics of the church / by Richard A. Wheeler</a>\n</td>\n<td>Wheeler, Richard Anson, b. 1817</td>\n<td>b11618565</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2549138">History of the First Ecclesiastical Society in East Windsor : from its formation in 1752, to the death of its second pastor, Rev. Shubael Bartlett, in 1854 / with a sketch of the life of Rev. Mr. Bartlett, and his farewell discourse, prepared for the fiftieth anniversary of his settlement</a>\n</td>\n\n<td>Roe, A. S. (Azel Stevens), 1798-1886</td>\n<td>b25491386</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1116497">History of the house of P. &amp; F. Corbin, MCMIV ... issued in commemoration of the fiftieth anniversary of the founding of the house .</a>\n</td>\n<td>Comstock, John B</td>\n<td>b11164979</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1205098">History of the Indians of Connecticut from the earliest known period to 1850. With an introd. by Wilcomb E. Washburn</a>\n</td>\n<td>De Forest, John William, 1826-1906</td>\n<td>b12050982</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3093683">History of the Methodist Episcopal Church of Shelton, Conn. : Edited by Rev. Arthur J. Smith, compiled by Thomas Chadeayne, George W. Beardsley, Oscar Beardsley, Rev. Arthur J. Smith</a>\n</td>\n<td>Smith, Arthur J.</td>\n<td>b30936834</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2973254">History of the Moodus Baptist Church, 1809-1911</a>\n</td>\n<td>\n</td>\n\n<td>b29732542</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2274196">History of the Second Baptist Church of Danbury, Conn., from its foundation to the present time / by a former pastor. [Completed by A.C. Hubbard]</a>\n</td>\n<td>Stone, Geo. M. (George M.)</td>\n<td>b22741963</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1225100">History of the Second church of Christ in Hartford / by Edwin Pond Parker</a>\n</td>\n<td>Parker, Edwin Pond, 1836-1920</td>\n<td>b12251008</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076177">History of the Second Congregational Church of Cornwall memorial sermon delivered at North Cornwall, Conn., July 9, 1876, by Rev. Charles N. Fitch. From the history of Cornwall</a>\n</td>\n\n<td>Fitch, Charles Newton, 1846-1924</td>\n<td>b30761773</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1108064">History of the South Congregational Church, New Haven : from its origin in 1852 till January 1, 1865 / by Gerard Hallock</a>\n</td>\n<td>Hallock, Gerard, 1800-1866</td>\n<td>b11080644</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774352">History of the town of Goshen, Connecticut : with genealogies and biographies / based upon the records of Deacon Lewis Mills Norton, 1897 by Rev. A. C. Hibbard</a>\n</td>\n<td>Hibbard, A. G. (Augustine George), b. 1833</td>\n<td>b17743527</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1124331">History of the town of Hamden, Connecticut : with an account of the centennial celebration, June 15th, 1886 / prepared and published by authority of the town under the editorial supervision of William P. Blake</a>\n\n</td>\n<td>Blake, William P. (William Phipps), 1826-1910</td>\n<td>b11243314</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691937">History of the town of Ledyard, 1650-1900. By Rev. John Avery</a>\n</td>\n<td>Avery, John, 1819-1902</td>\n<td>b16919373</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2436287">History of the town of Litchfield, Connecticut / by George C. Woodruff</a>\n</td>\n<td>Woodruff, George C. (George Catlin), 1805-1885</td>\n<td>b24362876</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1694052">History of the town of Plymouth, Connecticut : with an account of the centennial celebration May 14 and 15, 1895 : also a sketch of Plymouth, Ohio, settled by local families / compiled by Francis Atwater</a>\n</td>\n<td>Atwater, Francis, b. 1858</td>\n<td>b16940520</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2168920">History of the town of Stonington, county of New London, Connecticut, from its first settlement in 1649 to 1900 : with a genealogical register of Stonington families / by Richard Anson Wheeler</a>\n</td>\n<td>Wheeler, Richard Anson, b. 1817</td>\n\n<td>b21689209</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2060963">History of the towns of New Milford and Bridgewater, Connecticut, 1703-1882 / by Samuel Orcutt</a>\n</td>\n<td>Orcutt, Samuel, 1824-1893</td>\n<td>b20609632</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092154">History, articles of faith and covenants, together with the rules, and catalogue of members of the Second Congregationol [sic] Church : in South Windsor, Conn. May 29, 1861</a>\n</td>\n<td>Second Congregational Church (South Windsor, Conn.)</td>\n<td>b30921545</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3094028">History, confession of faith, covenants, and standing rules of the Center Church, Fair Haven, Ct. Together with a catalog of its members, and baptized children, to January 1, 1856. / Published by order of the Standing Committee, W.B. Lee, Pastor</a>\n</td>\n\n<td>\n</td>\n<td>b3094028x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1776235">Honor roll of Litchfield County Revolutionary soldiers / Josephine Ellis Richards, editor-in-chief</a>\n</td>\n<td>\n</td>\n<td>b17762352</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2163506">Horseshoe nails to squeeze bottles a new look at Stonington, Connecticut</a>\n</td>\n<td>Haynes, Williams, 1886-1960</td>\n<td>b21635067</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1230964">How the other half lived an ethnic history of the old East Side and South End of Hartford, by Robert E. Pawlowski and the Northwest Catholic High School urban studies class</a>\n\n</td>\n<td>Pawlowski, Robert E</td>\n<td>b12309643</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076041">If a house could talk being a history of a flood of released recollections, the resurrection of old letters and photographs pertaining to Litchfield and the Vaill homestead covering a past dating fronm 1867 to 1876 in which I was vitally interested, an unabridged past dating from 1876 to 1915, an interim of two years, when by some strange decree of fate it was ordained that I should spend the summer months close by the spot on which Julia last tread the earth, and where her soul took flight, a fittig atmosphere in where to gather these stray leaves within the confines of these covers to the memory of Julia and for "auld lang syne," by Cora Smith Gould</a>\n</td>\n<td>Gould, Cora Smith, b. 1855</td>\n<td>b30760410</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1161287">Illustrated popular biography of Connecticut comp. and pub. by J.A. Spalding</a>\n</td>\n<td>Spalding, J. A. (John Augustus), b. 1833</td>\n<td>b11612873</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1773843">Immigrant settlements in Connecticut: their growth and characteristics. By Samuel Koenig, PH. D. Works Progress Administration, Federal Writers Project for the State of Connecticut</a>\n</td>\n<td>Koenig, Samuel</td>\n<td>b1773843x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1158087">In olde Connecticut being a record of quaint, curious and romantic happenings there in colonial times and later, by Charles Burr Todd</a>\n</td>\n<td>Todd, Charles Burr, 1849-</td>\n\n<td>b11580872</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3087849">In pace : in memoriam of the men who fell in the massacre in Fort Griswold, Groton Heights, Connecticut, September 6th, 1781</a>\n</td>\n<td>Collier, Thomas S. (Thomas Stephens), 1842-1893</td>\n<td>b30878494</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1312772">In the village</a>\n</td>\n<td>Bailey, Anthony, 1933-</td>\n<td>b1312772x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1723625">Index to "History of New London, Connecticut" : from the first survey of the coast in 1612 to 1860.</a>\n</td>\n\n<td>Griswold, Cecelia, b. 1876</td>\n<td>b17236253</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1754214">Indian names of places, etc., in and on the borders of Connecticut : with interpretations of some of them / by J. Hammond Trumbull</a>\n</td>\n<td>Trumbull, J. Hammond (James Hammond), 1821-1897</td>\n<td>b17542145</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3091847">Inscriptions at Salisbury Center, Lime Rock, etc. / compiled by Malcolm Day Rudd</a>\n</td>\n<td>Rudd, Malcolm Day, 1877-</td>\n<td>b30918479</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2073580">Inscriptions from gravestones in the old burying ground, Norwich Town, Connecticut / [by] George S. Porter. Published by the Society of the founders of Norwich, Connecticut</a>\n\n</td>\n<td>Porter, George Shephard</td>\n<td>b20735807</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092256">Inscriptions from the Long Society Burying Ground, Preston, Conn. By George S. Porter</a>\n</td>\n<td>Porter, George Shepard</td>\n<td>b30922562</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3044850">Inscriptions on tombstones in Madison, Conn., erected prior to 1800 : reprinted from Papers of the New Haven Colony Historical Society, vol. VI</a>\n</td>\n<td>\n</td>\n<td>b30448505</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2572633">Inscriptions on tombstones in Milford, Conn., erected prior to 1800 : together with a few of aged persons who died after that date / Transcribed and annotated by Nathan G. Pond</a>\n</td>\n<td>Pond, Nathan G. (Nathan Gillett), b. 1832</td>\n<td>b2572633x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2711879">Introductory address delivered at the court house in Litchfield, Conn., April 9th, 1856 : before the Litchfield County Historical and Antiquarian Society, on the occasion of completing its organization / by G.H. Hollister</a>\n</td>\n<td>Hollister, G. H. (Gideon Hiram), 1817-1881</td>\n\n<td>b27118794</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1234681">Journal of the proceedings of the convention of delegates, convened at Hartford, August 26, 1818 : for the purpose of forming a constituion of civil government for the people of the State of Connecticut</a>\n</td>\n<td>Connecticut. Constitutional Convention (1818)</td>\n<td>b12346810</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1129090">Landmarks of New Canaan</a>\n</td>\n<td>\n</td>\n<td>b11290900</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1701041">Laws, etc. (Compiled statutes : 1849);'The revised statutes of the state of Connecticut ... / Published by authority of the General Assembly'</a>\n</td>\n\n<td>Connecticut</td>\n<td>b1701041x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083839">Laws, etc. (Session laws : 1756);'Acts and laws passed by the General Court or Assembly of His Majesty s English Colony of Connecticut in New England in America : held at New Haven, (by adjournment, and special order of ... the Governor ...) on Wednesday the twenty first day of January ... 1756'</a>\n</td>\n<td>Connecticut</td>\n<td>b30838393</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2303881">Laws, etc;'The charter and ordinances of the city of New Haven, together with statutes relating to the city'</a>\n</td>\n<td>New Haven (Conn.)</td>\n<td>b23038810</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2718058">Leading business men of New London and vicinity, embracing Groton and Niantic</a>\n\n</td>\n<td>Beckford, William Hale</td>\n<td>b2718058x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2410355">Letters developing the character and views of the Hartford Convention / by "One of the convention."</a>\n</td>\n<td>Otis, Harrison Gray, 1765-1848</td>\n<td>b2410355x</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1220078">Letters from the English kings and queens, Charles II, James II, William and Mary, Anne, George II, &amp;c. : to the governors of the Colony of Connecticut, together with the answers thereto, from 1635 to 1749 : and other original, ancient, literary and curious documents / compiled from files and records in the office of the Secretary of the State of Connecticut by R.R. Hinman</a>\n</td>\n<td>\n</td>\n<td>b12200785</td>\n<td>CT Room</td>\n</tr>\n<tr>\n\n<td>\n<a href="http://www.consuls.org/record=b1796439">List of Congregational ecclesiastical societies established in Connecticut before October 1818, with their changes. Published by the Connecticut Historical Society</a>\n</td>\n<td>Connecticut Historical Society</td>\n<td>b17964398</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1150485">List of officials, civil, military, and ecclesiastical of Connecticut colony, from March 1636 through 11 October 1677, and of New Haven colony throughout its separate existence also soldiers in the Pequot war who then or subsequently resided within the present bounds of Connecticut. Compiled by Donald Lines Jacobus, M.A. Connecticut tercentenary publication of the Connecticut society of the Order of the founders and patriots of America</a>\n</td>\n<td>Jacobus, Donald Lines, 1887-1970</td>\n\n<td>b11504857</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2289857">Litchfield and Morris inscriptions : a record of inscriptions upon the tombstones in the towns of Litchfield and Morris, Ct. / Transcribed by Charles Thomas Payne</a>\n</td>\n<td>Payne, Charles Thomas</td>\n<td>b22898578</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571494">Litchfield centennial celebration, July 4th, A.D. 1876 : historical address / by George C. Woodruff</a>\n</td>\n<td>Woodruff, George C. (George Catlin), 1805-1885</td>\n<td>b25714946</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1764044">Litchfield County choral union, 1900-19l2. Founded to honor the memory of Robbins Battell. Comp. by J. H. Vaill, secretary</a>\n</td>\n\n<td>Litchfield County Choral Union</td>\n<td>b17640441</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1745876">Litchfield County sketches, by Newell Meeker Calhoun</a>\n</td>\n<td>Calhoun, Newell Meeker, 1847-1932</td>\n<td>b17458766</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092267">Long Society Preston. Re-dedication of its historic old church. Memorial address by Rev. Robert P. Stanton. An eloquent and exhaustive discourse</a>\n</td>\n<td>\n</td>\n<td>b30922677</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1714894">Lyme [Conn.] A chapter of American genealogy</a>\n\n</td>\n<td>\n</td>\n<td>b17148947</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1321380">Lyme records, 1667-1730 : a literal transcription of the minutes of the town meetings with marginal notations, to which hath been appended land grants and ear marks / compiled and edited by Jean Chandler Burr</a>\n</td>\n<td>Lyme (Conn.)</td>\n<td>b13213805</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2605807">Manual</a>\n</td>\n<td>Asylum Hill Congregational Church (Hartford, Conn.)</td>\n<td>b26058078</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3073827">Manual for the churches of the Litchfield South Consociation, 1855</a>\n</td>\n<td>Litchfield South Consociation</td>\n<td>b30738271</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2512139">Manual for the members of the Congregational Church in Deep River, Conn., 1846</a>\n</td>\n<td>First Congregational Church (Deep River, Conn.)</td>\n\n<td>b2512139x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078823">Manual for the members of the Congregational Church in North Woodstock, Conn. : "by this shall all men know that ye are my disciples, if ye have love one to another." John 13:35</a>\n</td>\n<td>North Woodstock (Mass.). First Congregational Church</td>\n<td>b30788237</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2717882">Manual for the members of the First Congregational Church in Plymouth, Conn</a>\n</td>\n<td>First Congregational Church (Plymouth, Conn.)</td>\n<td>b27178821</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078172">Manual of the Broadway Congregational Church of Norwich, Conn., containing a brief history of the church, its rules, articles of faith, convenant and catalogue, together with a statement of some of the leading principles of Congregationism. 1865</a>\n</td>\n\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b30781723</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1618124">Manual of the Congregational church and history of the church and parish in Hadlyme, Connecticut : with a list of the principal officers and an entire list of the members from its organization, June 26, 1745 and a list of present officers and members to December 1, 1913... / prepared by the pastor, Rev. Clarence C. Lyon</a>\n</td>\n<td>Hadlyme Congregational Church (Hadlyme, Conn.)</td>\n<td>b16181244</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072501">Manual of the Congregational church in Bethel, Conn. : containing historical sketch, articles of faith, the covenant and rules of the church, with a catalogue of officers and members from its foundation, November 25, 1760 May 16, 1887</a>\n</td>\n<td>Congregational Church (Bethel, Conn.)</td>\n<td>b3072501x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2932708">Manual of the Congregational Church in Bolton, Conn., 1876</a>\n\n</td>\n<td>Bolton Congregational Church (Bolton, Conn.)</td>\n<td>b29327088</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085134">Manual of the Congregational Church in Branford, Conn. J organized 1644, reorganized 1688, June, 1888</a>\n</td>\n<td>Branford (Conn.). Congregational Church</td>\n<td>b30851348</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085135">Manual of the Congregational Church in Branford, Conn. June, 1859</a>\n</td>\n<td>Branford (Conn.). Congregational Church</td>\n<td>b3085135x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2974810">Manual of the Congregational Church in East Haven : 1711-1892</a>\n</td>\n<td>Old Stone Church (East Haven, Conn.)</td>\n<td>b29748100</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2999525">Manual of the Congregational Church in Jewett City, Griswold, Conn</a>\n</td>\n<td>Second Congregational Church (Jewett City, Conn.)</td>\n\n<td>b29995255</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045252">Manual of the Congregational Church in North Manchester, Conn. : containing historical statement, standing rules, form of admission, articles of faith, covenant, and catalogues of officers and members</a>\n</td>\n<td>Second Congregational Church (Manchester, Conn.)</td>\n<td>b30452521</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571764">Manual of the Congregational Church in Old Saybrook, Conn</a>\n</td>\n<td>First Church of Christ in Saybrook (Old Saybrook, Conn.)</td>\n<td>b25717649</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571559">Manual of the Congregational Church in South Killingly, Conn. / William H. Beard, pastor</a>\n</td>\n\n<td>Congregational Church (South Killingly, Conn.)</td>\n<td>b25715598</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2511424">Manual of the Congregational Church in Thompson Conn., 1730-1901</a>\n</td>\n<td>Congregational Church (Thompson, Conn.)</td>\n<td>b25114244</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085133">Manual of the Congregational Church of Ansonia, Conn. : with a catalogue of members, January 1, 1877</a>\n</td>\n<td>First Congregational Church (Ansonia, Conn.)</td>\n<td>b30851336</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077218">Manual of the Congregational Church of Eastford, Conn. organized September 23d, 1778</a>\n\n</td>\n<td>Congregational Church (Eastford, Conn.)</td>\n<td>b30772187</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2995441">Manual of the Congregational Church of Granby, Conn</a>\n</td>\n<td>Congregational Church (Granby, Conn.)</td>\n<td>b29954411</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092253">Manual of the Congregational Church of Prospect, Conn</a>\n</td>\n<td>Congregational Church (Prospect, Conn.)</td>\n<td>b30922537</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3087856">Manual of the Congregational Church of Stratford, Conn</a>\n</td>\n<td>Congregational Church (Stratford, Conn.)</td>\n<td>b30878561</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3087855">Manual of the Congregational Church of Stratford, Conn., containing an historical sketch, confession of faith, covenant, form of admission, rules, etc. Also, a catalogue of its members. 1869</a>\n</td>\n<td>Congregational Church (Stratford, Conn.)</td>\n\n<td>b3087855x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2933791">Manual of the Congregational Church, Bristol, Conn. : with sketches of its history, its pastors and deacons: - its Articles of faith, covenants, and standing rules a full list of admissions, and alphabetical catalogue of members, May 1, 1887</a>\n</td>\n<td>First Congregational Church (Bristol, Conn.)</td>\n<td>b29337914</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2933779">Manual of the Congregational Church, Bristol, Conn., with full list of admissions, and catalogue of members, January, 1875</a>\n</td>\n<td>First Congregational Church (Bristol, Conn.)</td>\n<td>b29337793</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2951031">Manual of the Congregational Church, Colebrook, Conn., May, 1879</a>\n</td>\n\n<td>Congregational Church (Colebrook, Conn.)</td>\n<td>b29510314</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2655757">Manual of the Congregational Church, Darien, Conn. 1871</a>\n</td>\n<td>First Congregational Church (Darien, Conn.)</td>\n<td>b26557575</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2445926">Manual of the Congregational Church, East Avon, Conn. May, 1869</a>\n</td>\n<td>Avon Congregational Church (Avon, Conn.)</td>\n<td>b24459264</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3029376">Manual of the Congregational Church, Higganum, Conn., January 1, 1883</a>\n\n</td>\n<td>Higganum Congregational Church (Higganum, Conn.)</td>\n<td>b30293765</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083577">Manual of the Congregational Church, in Newington, Conn</a>\n</td>\n<td>Congregational Church (Newington, Conn.)</td>\n<td>b3083577x</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083594">Manual of the Congregational Church: Mansfield Centre, Conn., with a historical sketch and roll of members, from its organization to the present time. (1875) revised 1910</a>\n</td>\n<td>\n</td>\n<td>b3083594x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3092144">Manual of the First Baptist Church of Stonington, Conn. containing the act of incorporation, rules of government, articles of faith, covenant, historical sketch</a>\n</td>\n<td>First Baptist Church of Stonington Borough (Stonington, Conn.)</td>\n<td>b30921442</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2563858">Manual of the First Church in Hartford</a>\n</td>\n<td>First Church of Christ (Hartford, Conn.)</td>\n\n<td>b25638580</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589644">Manual of the First Church in New Haven</a>\n</td>\n<td>First Church in New Haven (New Haven, Conn.)</td>\n<td>b25896441</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078156">Manual of the First Church in Norwalk, with a catalogue of surviving members, January 1, 1868</a>\n</td>\n<td>Norwalk (Conn.). First Congregational Church</td>\n<td>b30781565</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2980571">Manual of the First Church of Christ in Glastonbury, Conn. : containing historical statement, articles of faith, covenant, form for ordination of deacons, form for the baptism of infants, standing rules, and catalogues of officers and members</a>\n</td>\n\n<td>First Church of Christ in Glastonbury (Glastonbury, Conn.)</td>\n<td>b29805715</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3091852">Manual of the First Church of Christ in Middletown, Conn. : 1891</a>\n</td>\n<td>First Church of Christ (Middletown, Conn.)</td>\n<td>b30918522</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2951762">Manual of the First Church of Christ, Colchester, Connecticut, 1703-1893</a>\n</td>\n<td>First Church of Christ (Colchester, Conn.)</td>\n<td>b2951762x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2186331">Manual of the First Church of Christ, New Britain, Conn. ... 1886</a>\n\n</td>\n<td>\n</td>\n<td>b21863313</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079274">Manual of the First Church of Christ, Pomfret, Connecticut : 1898</a>\n</td>\n<td>First Church of Christ (Pomfret, Conn.)</td>\n<td>b30792745</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3088665">Manual of the First Church of Christ, Simsbury, Conn. : containing a brief historical sketch, its articles of faith and covenant and a catalogue of its members</a>\n</td>\n<td>First Church of Christ (Simsbury, Conn.)</td>\n<td>b3088665x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2973635">Manual of the First Congregational Church of East Hartford, Conn., 1893</a>\n</td>\n<td>First Congregational Church (East Hartford, Conn.)</td>\n<td>b29736353</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3029069">Manual of the First Congregational Church of Haddam, Connecticut</a>\n</td>\n<td>First Congregational Church (Haddam, Conn.)</td>\n\n<td>b30290697</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078676">Manual of the First Congregational Church of Norwich, Conn., instituted in 1660: with historical notes, and a catalogue of its officers and members from December, 1699, to January, 1860</a>\n</td>\n<td>First Congregational Church (Norwich, Conn.)</td>\n<td>b30786769</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083828">Manual of the First Congregational Church of Norwich, Conn., instituted in 1660: with historical notes, and a catalogue of its officers and members from January 1, 1868, to January 1, 1892</a>\n</td>\n<td>First Congregational Church (Norwich, Conn.)</td>\n<td>b30838289</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079282">Manual of the First Congregational Church of Old Lyme, Conn. 1896</a>\n</td>\n\n<td>Shirley, Arthur, 1853-1925</td>\n<td>b30792824</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2978435">Manual of the First Congregational Church, Black Rock, Conn., 1876</a>\n</td>\n<td>First Congregational Church (Black Rock, Conn.)</td>\n<td>b29784359</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3000941">Manual of the First Congregational Church, Guilford, Conn., January 1, 1875</a>\n</td>\n<td>First Congregational Church (Guilford, Conn.)</td>\n<td>b30009418</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083559">Manual of the First Congregational Church, Huntington, Conn</a>\n\n</td>\n<td>First Congregational Church (Huntington, Conn.)</td>\n<td>b30835598</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3039362">Manual of the First Congregational Church, Lebanon, Conn</a>\n</td>\n<td>First Congregational Church (Lebanon, New London County, Conn.)</td>\n<td>b30393620</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045881">Manual of the First Congregational Church, Meriden, Conn. : adopted by the Church May 10, 1906</a>\n</td>\n<td>First Congregational Church (Meriden, Conn.)</td>\n<td>b3045881x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1717643">Manual of the First Congregational Church, New Milford</a>\n</td>\n<td>First Congregational Church (New Milford, Conn.)</td>\n<td>b17176438</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3094274">Manual of the Fourth Congregational Church, of Norwich, Conn. at Greeneville / Robert P. Stanton</a>\n</td>\n<td>Fourth Congregational Church (Norwich, Conn.)</td>\n\n<td>b30942743</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3044462">Manual of the Hadlyme Congregational Church : with a list of officers and members from its organization, June 26th, 1745 and a list of its present officers and members, March 1st, 1876</a>\n</td>\n<td>Hadlyme Congregational Church (Hadlyme, Conn.)</td>\n<td>b30444627</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092146">Manual of the North Church in New Haven : May 1742-May 1867</a>\n</td>\n<td>Church of Christ (New Haven, Conn.)</td>\n<td>b30921466</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704534">Manual of the Park Church, Hartford, with a catalogue of surviving members. December, 1877</a>\n</td>\n\n<td>Park Congregational Church (Hartford, Conn.)</td>\n<td>b27045341</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704535">Manual of the Park Congregational Church : cor. Asylum and High Streets, Hartford, Conn. : with a directory of present members</a>\n</td>\n<td>Park Congregational Church (Hartford, Conn.)</td>\n<td>b27045353</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076040">Manual of the Park St. Congregational Church</a>\n</td>\n<td>Park Street Congregational Church (Bridgeport, Conn.)</td>\n<td>b30760409</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2607181">Manual of the Pearl Street Congregational Church in Hartford : with a catalogue of officers and members, January, 1870</a>\n\n</td>\n<td>Pearl Street Congregational Church (Hartford, Conn.)</td>\n<td>b26071812</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092261">Manual of the Preston City Baptist Church, Conn.</a>\n</td>\n<td>Baptist Church (Preston, Conn.)</td>\n<td>b30922616</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704721">Manual of the Second Church in Hartford</a>\n</td>\n<td>Second Church in Hartford</td>\n<td>b27047210</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3092830">Manual of the Second Congregational Church with a catalogue of surviving members and other information . January, 1910</a>\n</td>\n<td>Second Congregational Church (New London, Conn.)</td>\n<td>b30928308</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2932994">Manual of the Second Congregational Church in Bridgeport, Conn., containing the confession of faith, covenant, names of members of the church, rules, &amp;c</a>\n</td>\n<td>Second Congregational Church (Bridgeport, Conn.)</td>\n\n<td>b29329942</td>\n<td>CT\nRoom</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093596">Manual of the Second Congregational Church in Fair Haven, Conn. with a catalogue of the members for the year A.D. 1877</a>\n</td>\n<td>Second Congregational Church (Fair Haven, Conn.)</td>\n<td>b30935969</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2932399">Manual of the Second Congregational Church of Berlin, Conn. 1892 : history of the Church and Society, and list of members</a>\n</td>\n<td>Second Congregational Church of Berlin (Berlin, Conn.)</td>\n<td>b2932399x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2997756">Manual of the Second Congregational Church, Greenwich, Ct. January, 1870</a>\n</td>\n\n<td>Second Congregational Church (Greenwich, Conn.)</td>\n<td>b29977563</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3047312">Manual of the Second Congregational Church, Milford, Conn. : William C. Scofield, pastor</a>\n</td>\n<td>Second Congregational Church (Milford, Conn.)</td>\n<td>b30473123</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2185104">Manual of the South Congregational Church in New Britain, Conn. : January 1, 1880</a>\n</td>\n<td>South Congregational Church (New Britain, Conn.)</td>\n<td>b21851049</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2718521">Manual of the South Congregational Church, Middletown, Conn</a>\n\n</td>\n<td>South Congregational Church (Middletown, Conn.)</td>\n<td>b27185217</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078675">Manual of the Union Baptist Church, Mystic River, Comm. : containing a historical catalogue of the members to April, 1870 am alphabetical index a history of the church, etc., and the covenant</a>\n</td>\n<td>\n</td>\n<td>b30786757</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2275778">Manual of the United Church (Congregational) in New Haven, Conn. 1886</a>\n</td>\n<td>United Church (New Haven, Conn.)</td>\n<td>b22757788</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3085132">Manual of the Windsor Avenue Congregational Church, Hartford, Conn. : containing historical notes, articles of faith, practical rules for the Christian life ... and a catalogue of members to September 20, 1877</a>\n</td>\n<td>Windsor Avenue Congregational Church (Hartford, Conn.)</td>\n<td>b30851324</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093257">Manual of Westfield Congregational church, formerly known as the First church of Killingly, Danielson, Connecticut. 1715-1905 ..</a>\n</td>\n<td>Westfield Congregational Church (Danielson, Conn.)</td>\n\n<td>b30932579</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1724475">Manual. 1836;'Historical notice of the First Congregational Church, in East-Hartford, Conn. with articles of faith, covenant, and a catalogue of members'</a>\n</td>\n<td>First Congregational Church (East Hartford, Conn.)</td>\n<td>b17244754</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2186328">Manual.f1901;'Manual no. 2 of the First Church of Christ, New Britain, Conn. ... 1886-1901'</a>\n</td>\n<td>First Church of Christ (New Britain, Conn.)</td>\n<td>b21863283</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092145">Manual;'A catalogue of the officers and members of the Chapel St. Congregational Church, together with the confession of faith, covenant, and standing rules'</a>\n</td>\n\n<td>Chapel Street Congregational Church (New Haven, Conn.)</td>\n<td>b30921454</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076038">Manual;'Manual for the communicants of the First Congregational Church in Bridgeport, compiled January 1, 1832 .'</a>\n</td>\n<td>First Congregational Church (Bridgeport, Conn.)</td>\n<td>b30760380</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079268">Manual;'Manual of the Broadway Congregational Church, in Norwich, Conn., containing the history of the church, its rules, articles of faith, form of admission, covenant, and catalogues of officers and members. June, 1873 ..'</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b3079268x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571563">Manual;'Manual of the Congregational Church in Harwinton, Conn., with a catalogue of surviving members. January 1, 1868'</a>\n\n</td>\n<td>Harwinton Congregational Church (Harwinton, Conn.)</td>\n<td>b2571563x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079265">Manual;'Manual of the Congregational Church in Plantsville, Conn., 1865-1891'</a>\n</td>\n<td>Plantsville Congregational Church (Plantsville, Conn.)</td>\n<td>b30792654</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092251">Manual;'Manual of the Congregational Church, of Plymouth, Conn. / published by vote of the church, in the year of our Lord, 1887'</a>\n</td>\n<td>First Congregational Church (Plymouth, Conn.)</td>\n<td>b30922513</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3092228">Manual;'Manual of the First Congregational Church of South Windsor, Conn. : with the by-laws, a confession of faith, and covenant, and a list of members'</a>\n</td>\n<td>First Congregational Church (South Windsor, Conn.)</td>\n<td>b30922288</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092149">Manual;'Manual of the Howard Avenue Congregational Church, New Haven, 1873 including the confession of faith, covenant, and standing rules with a catalogue of its members'</a>\n</td>\n<td>Howard Avenue Congregational Church (New Haven, Conn.)</td>\n\n<td>b30921491</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589549">Manual;'Manual of the Westville Congregational Church, New Haven, Conn., 1891'</a>\n</td>\n<td>Westville Congregational Church (New Haven, Conn.)</td>\n<td>b25895497</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073130">Marriages and deaths from miscellaneous newspapers published in Connecticut from 1764-1820 / [copied by Edna Huntington]</a>\n</td>\n<td>\n</td>\n<td>b30731306</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2168547">Material for the study of the Maryland manors / compiled by Montgomery Schuyler</a>\n</td>\n\n<td>Schuyler, Montgomery, 1877-1955</td>\n<td>b21685472</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1792503">Memoirs of Francis Atwater, half century of recollections of an unusually active life. Considerable space devoted to the progress of the city of Meriden and its people. Enterprises organized in many places, covering varied lines of business</a>\n</td>\n<td>Atwater, Francis, b. 1858</td>\n<td>b17925034</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077173">Memoranda of all the inscriptions in the old burying ground at Colchester, Conn. with some notes from the town records / by Frank E. Randall</a>\n</td>\n<td>Randall, Frank E</td>\n<td>b30771730</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2950498">Memorial day exercises Collinsville, Conn., May 30, 1903</a>\n\n</td>\n<td>Collinsville (Conn.)</td>\n<td>b29504983</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2700613">Memorial manual of the Fourth Congregational Church, Hartford, Conn. : published to commemorate its fiftieth anniversary and for the use of its members : 1832 - January 10-1882</a>\n</td>\n<td>Fourth Congregational Church (Hartford, Conn.)</td>\n<td>b2700613x</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589560">Memorial of the half century anniversary of the organization of the First Church, Fair Haven, New Haven, Conn., Wednesday, June 23, 1880 : with the installation of Rev. Burdett Hart as pastor of the church</a>\n</td>\n<td>First Congregational Church in Fair Haven (New Haven, Conn.)</td>\n<td>b25895606</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3078167">Memorial of the services held in connection with the dedication and opening for public worship of the Park Congregational Church, Norwich, Conn. : containing also a brief summary of the history of the church</a>\n</td>\n<td>Park Congregational Church (Norwich, Conn.)</td>\n<td>b3078167x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092828">Memorial sermon : preached in the South Congregational Church, New Britain, Conn ... October 14, 1883 / by James W. Cooper</a>\n</td>\n<td>Cooper, James Wesley, 1842-1916</td>\n\n<td>b3092828x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1146640">Memorial. Genealogy, and ecclesiastical history : to which is added an appendix, with explanatory notes, and a full index / by Alfred Andrews</a>\n</td>\n<td>Andrews, Alfred, 1797-1876</td>\n<td>b11466406</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083552">Memorials of the First Baptist Church, Hartford, Conn., with sketches of its deceased pastors, the Rev s S.S. Nelson, E. Cushman, G.F. Davis, and J.S. Eaton : Discourses delivered after the dedication of the new church edifice may, 1856, with a "Pastoral Decade," etc. / by Robert Turnbull</a>\n</td>\n<td>Turnbull, Robert, 1809-1877</td>\n<td>b30835525</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2287371">Memories of old Derby / compiled from articles written by Albert F. Sherwood</a>\n</td>\n\n<td>Sherwood, Albert F., b. 1842</td>\n<td>b22873715</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1761565">Middlesex County, Connecticut, inscriptions. Killingworth and Clinton</a>\n</td>\n<td>Griswold, Glenn E., b. 1871</td>\n<td>b17615653</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2481912">Middletown Upper Houses : a history of the North Society of Middletown, Connecticut, from 1650 to 1800, with genealogical and biographical chapters on early families and a full genealogy of the Ranney family / by Charles Collard Adams</a>\n</td>\n<td>Adams, Charles Collard, 1836-</td>\n<td>b24819128</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2572675">Milford tombstone inscriptions / transcribed by Morris W. Abbott with genealogical notes by Susan Woodruff Abbott</a>\n\n</td>\n<td>Abbott, Morris W</td>\n<td>b25726754</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1698486">Milford, Connecticut : the early development of a town as shown in its land records / [Leonard W. Labaree]</a>\n</td>\n<td>Labaree, Leonard Woods, 1897-</td>\n<td>b16984869</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2401056">More chronicles of a pioneer school, from 1792 to 1833 : being added history on the Litchfield Female Academy kept by Miss Sarah Pierce and her nephew, John Pierce Brace / compiled by Emily Noyes Vanderpoel</a>\n</td>\n<td>Vanderpoel, Emily Noyes, 1842-1939</td>\n<td>b2401056x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1698609">Music Vale seminary, 1835-1876 / [Frances Hall Johnson]</a>\n</td>\n<td>Johnson, Frances Hall, b. 1865</td>\n<td>b1698609x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085063">Names and number of brethren of the church and heads of familes in Greenfield at the time when the parish of North Fairfield was set off. Copied by William Applebie Daniel Eardeley</a>\n</td>\n<td>Eardeley, William Applebie, 1870-1935</td>\n\n<td>b30850630</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1274323">Names of the residents of New Britain, Connecticut in the year 1799 who paid taxes, with the amount of their list</a>\n</td>\n<td>New Britain (Conn.)</td>\n<td>b12743239</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1017162">New Britain patents and patentees : with a list of New Britain patents prior to 1901, arranged alphabetically as to patentees / by James Shepard appendix, The origin of New Britain manufacturers / by F.T. Stanley</a>\n</td>\n<td>Shepard, James, 1838-1926</td>\n<td>b10171629</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2719955">New Canaan war veterans speak</a>\n</td>\n\n<td>New Canaan (Conn.). War Records Committee</td>\n<td>b27199551</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2588365">New Haven one hundred years ago / by Rev. Leonard Bacon ... a centennial address delivered in Center Church, July fourth, 1876</a>\n</td>\n<td>Bacon, Leonard, 1802-1881</td>\n<td>b25883653</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2722201">New Milford : a memorial discourse, delivered in the Congregational Church, New Milford, Conn. Sunday, July 9, 1876 / by James B. Bonar, Pastor</a>\n</td>\n<td>Bonar, James Blair</td>\n<td>b27222019</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2535316">Newgate of Connecticut : a history of the prison, its insurrections, massacres, &amp; c., imprisonment of the Tories, in the revolution, the ancient and recent working of its mines, &amp; c., to which is appended a description of the State Prison, at Wethersfield / by Richard H. Phelps</a>\n\n</td>\n<td>Phelps, Richard H. (Richard Harvey)</td>\n<td>b25353160</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093727">Newington Congregational Church of Newington, Connecticut Souvenir, May 19, 1905</a>\n</td>\n<td>Newington Congregational Church (Newington, Conn.)</td>\n<td>b30937279</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1225364">Newtown s bicentennial : an account of the celebration of the two hundredth anniversary of the purchase from the Indians of the land of the town of Newtown, Connecticut, held August fifth, nineteen hundred and five / edited by James Hardin George, Allison Parish Smith, Ezra Levan Johnson</a>\n</td>\n<td>George, J. H. (James Hardin)</td>\n<td>b12253649</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2075606">Newtown s history and historian : Ezra Levan Johnson / with additional material, prepared by Jane Eliza Johnson</a>\n</td>\n<td>Johnson, Ezra Levan, 1832-1914</td>\n<td>b20756069</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2324361">Newtown: 1708-1758 : historical notes and maps / by John Neville Boyle</a>\n</td>\n<td>Boyle, John Neville</td>\n\n<td>b23243612</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545326">Nonsense, common sense, incense</a>\n</td>\n<td>Sheldon, Franklin J., b. 1846</td>\n<td>b25453269</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2574922">Norfolk centennial. Historical discourses preached in the Congregational Church, Norfolk, Conn., July 9, 1876, in accordance with the recommendation of the state conference. I. The pastors and the spiritual progress of the church / by Rev. Wm. E. Bassett. II. The revolutionary period and the external life of the church, by Rev. J. Wickliffe Beach. With an appendix. Published by request</a>\n</td>\n<td>\n</td>\n<td>b25749225</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1763229">Norwalk [v. 1 and supplement] By the Rev. Charles M. Selleck, A.M</a>\n</td>\n\n<td>Selleck, Charles Melbourne, d. 1909</td>\n<td>b17632298</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2575014">Norwalk after two hundred &amp; fifty years : an account of the celebration of the 250th anniversary of the charter of the town, 1651-September 11th-1901 : including historical sketches of churches, schools, old homes, institutions, eminent men, patriotic and benevolent work, together with the record of soldiers and sailors enlisted in Norwalk from 1676 to 1898, the civic progress in the last century and statistics of commerce and other miscellany of local interest / pub. under the auspices of the Norwalk Historical and Memorial Library Assoc</a>\n</td>\n<td>Norwalk Historical and Memorial Library Association</td>\n<td>b25750148</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2708872">Norwich : early homes and history / a paper written and delivered by Sarah Lester Tyler, at the meeting of Faith Trumbull Chapter, D.A.R., held December 7, 1905</a>\n</td>\n<td>Tyler, Sarah Lester</td>\n<td>b27088728</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3078170">Norwich free academy : an address at the dedication of the Free academy in Norwich, Conn. together with the remarks of gentlemen present by invitation / by John P. Gulliver</a>\n</td>\n<td>Gulliver, John Putnam, 1819-1894</td>\n<td>b3078170x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078832">Norwich, "the rose of New England" : and its environments, civic, industrial and agricultural / compiled by the Norwich Business Men s Association</a>\n</td>\n<td>\n</td>\n\n<td>b30788328</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076181">Official programme and historical review, July 3rd and 4th, 1888</a>\n</td>\n<td>Bridgeport (Conn.)</td>\n<td>b30761815</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083764">Official souvenir program of the 275th anniversary of the town of Stamford, Connecticut, Thursday, Friday, Saturday, Sunday June eight, nine, ten, eleven nineteen hundred and sixteen</a>\n</td>\n<td>Stamford (Conn. : Town)</td>\n<td>b30837649</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084885">Old Canaan during the revolution / by Lillian Clayton Smith. Grandmother s grandmother / by Louise Helen Coburn</a>\n</td>\n\n<td>Smith, Lillian Clayton</td>\n<td>b30848854</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2711506">Old families of Norwich, Connecticut, MDCLX to MDCCC / comp. by Mary E. Perkins. Genealogies. vol. 1, pt. 1</a>\n</td>\n<td>Perkins, Mary E. (Mary Elizabeth)</td>\n<td>b27115069</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2550836">Old Hartford Burying Ground / by George Leon Walker</a>\n</td>\n<td>Walker, George Leon, 1830-1900</td>\n<td>b25508362</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1751383">Old homes in Stonington : with additional chapters and graveyard inscriptions / by Grace Denison Wheeler</a>\n\n</td>\n<td>Wheeler, Grace Denison, 1858-1906</td>\n<td>b17513832</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2711489">Old houses in and near Litchfield, Conn. : open for the benefit of the Connecticut Junior Republic / sponsored by the Litchfield Aid of the Connecticut Junior Republic Association, Inc</a>\n</td>\n<td>\n</td>\n<td>b27114892</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584870">Old houses in Farmington : an historical address delivered at the annual meeting of the Village Library Company of Farmington, Conn., May 1, 1895</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848707</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1411839">Old houses of the antient town of Norwich, 1660-1800 : with maps, illustrations, portraits and genealogies / by Mary E. Perkins</a>\n</td>\n<td>Perkins, Mary E. (Mary Elizabeth)</td>\n<td>b14118397</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1140228">Old paths and legends of the New England border Connecticut, Deerfield, Berkshire, by Katharine M. Abbott</a>\n</td>\n<td>Abbott, Katharine M. (Katharine Mixer), b. 1865</td>\n\n<td>b11402283</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584828">One hundred and fiftieth anniversary, First Church of Christ, New Britain, Connecticut : 1758-1908 / compiled by Deacon Charles Elliott Mitchell</a>\n</td>\n<td>\n</td>\n<td>b25848288</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2719714">One hundred years of the Hartford Bank, now the Hartford National Bank of Hartford, Conn., 1792-1892 / prepared at the request of the president and directors by P.H. Woodward</a>\n</td>\n<td>Woodward, P. H. (Patrick Henry), 1833-1917</td>\n<td>b27197141</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1249461">Other days in Greenwich : or, Tales and reminiscences of an old New England town / by Frederick A. Hubbard</a>\n</td>\n\n<td>Hubbard, Frederick A</td>\n<td>b12494616</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073820">Our first year of army life: an anniversary address, delivered to the First Regiment of Connecticut Volunteer Heavy Artillery, at their camp near Gaines Mills, Va., June, 1862 / by the chaplain of the regiment</a>\n</td>\n<td>Walker, Edward Ashley, 1834-1866</td>\n<td>b30738209</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584819">Our town : sermons from the history of Clinton</a>\n</td>\n<td>Elliott, Robert H</td>\n<td>b25848197</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093644">Papers connected with the centennial of the Congregational Church in Middlebury, Connecticut : observed May 27, 1896.</a>\n\n</td>\n<td>Middlebury Congregational Church (Middlebury, Conn.)</td>\n<td>b30936445</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084147">Parish directory of the Park Congregational Church,Officers, and Members of Sunday School. February 1, 1897</a>\n</td>\n<td>Park Congregational Church (Norwich, Conn.)</td>\n<td>b30841471</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083587">Personal accountability : a sermon preached to the First Church and Society in Madison, Conn., the first Sabbath of the year 1857 / by Milton Badger</a>\n</td>\n<td>Badger, Milton, 1800-1873</td>\n<td>b30835872</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3094034">Phelps Homestead Simsbury, Connecticut : 1772 to 1962</a>\n</td>\n<td>Bannister, William K.</td>\n<td>b30940345</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1059087">Picturesque sketch of New London s people : stories gathered from the local tombstones / [by Augustus Brandegee]</a>\n</td>\n<td>Brandegee, Augustus, b. 1828</td>\n\n<td>b10590870</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2576835">Plainfield bicentennial : a souvenir volume comprising the speeches, historical papers, poems, and general exercises at the observance of the two hundredth anniversary of the organization of the town of Plainfield, Conn., Aug. 31st, 1899</a>\n</td>\n<td>\n</td>\n<td>b25768359</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571669">Present Mansfield ("Centre") : a passing sketch of the village, with occasional jottings of its former history, present aspect, and prospective greatness, from 1685 to 1879 / by A Way Side Traveler</a>\n</td>\n<td>Cummings, Thomas Seir, 1804-1894</td>\n<td>b25716694</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3088104">Preston Conn. Town Records, copied by Mrs. Florence E. Youngs</a>\n</td>\n\n<td>Youngs, Florence E. (Florence Evelyn), b. 1868</td>\n<td>b30881043</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1146656">Preston, 1801, &amp; Lisbon (Hanover), 1800, &amp; Lisbon (Newent), 1801</a>\n</td>\n<td>\n\n</td>\n<td>b1146656x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691930">Proceedings at the celebration of the 250th anniversary of the settlement of Guilford, Conn. : September 8th, 9th, and 10th, 1889</a>\n</td>\n<td>Guilford (Conn.)</td>\n<td>b16919300</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1113187">Proceedings at the celebration of the two hundred and fiftieth anniversary of the First Church of Christ, in Milford, Ct., August 25th, 1889</a>\n</td>\n<td>First Church of Christ (Milford, Conn.)</td>\n<td>b11131871</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2589172">Proceedings at the centennial celebration of the First Company, Governor s Foot Guard, Hartford, October 19, 1871, with an historical introduction</a>\n\n</td>\n<td>\n</td>\n<td>b25891728</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1129728">Proceedings at the dedication of Charter Oak Hall upon the South Meadow grounds of Col. Samuel Colt : with the addresses on the occasion by Messrs. Hamersley, Stuart, and Deming / edited by J. Deane Alden</a>\n</td>\n<td>\n</td>\n<td>b11297281</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2261652">Proceedings at the opening of the Phoebe Griffin Noyes Library</a>\n</td>\n<td>Phoebe Griffin Noyes Library</td>\n<td>b22616524</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2703919">Proceedings at the two hundredth anniversary of the Second Church of Christ in Hartford : February 22d and 23d, 1870</a>\n</td>\n<td>\n</td>\n<td>b27039195</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3002227">Proceedings of the celebration of the two hundred and fiftieth anniversary of the First Congregational Church of Guilford, Conn., June 25th, 1893</a>\n</td>\n<td>First Congregational Church (Guilford, Conn.)</td>\n\n<td>b30022277</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073829">Proceedings of the North and South Consociations of Litchfield County, Ct. : in convention at Litchfield, July 7 and 8, 1852, to commemorate the centennial anniversary of their primitive organization</a>\n</td>\n<td>\n</td>\n<td>b30738295</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2588589">Program of exercises at the dedication of a soldiers monument erected by the First Connecticut Light Battery, the Sixth, Seventh and Tenth Connecticut Volunteers Monument Association at the Broadway Park, New Haven, June 16, 1905, upon the forty-first anniversary of the Battle of Burmuda Hundred and Petersburg Turnpike, Virginia</a>\n</td>\n<td>First Connecticut Light Battery and the Sixth, Seventh and Tenth Connecticut Volunteers Monument Association</td>\n<td>b25885893</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2973139">Programme : bi-centennial : Town of Durham, Connecticut, 1699-1899</a>\n</td>\n\n<td>\n</td>\n<td>b29731392</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1058672">Programme and addresses delivered at the one hundred and fiftieth anniversary of the First Congregational Church, Bristol, Conn., October 12th, 1897 / T.M. Miles ... et al</a>\n</td>\n<td>\n</td>\n<td>b10586726</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2573703">Readings in New Canaan history</a>\n</td>\n<td>New Canaan Historical Society</td>\n<td>b2573703x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1092261">Recollections of a New England town / by "Faith" (Mrs. Frances A. Breckenridge)</a>\n\n</td>\n<td>Breckenridge, Frances A</td>\n<td>b10922611</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1794360">Record of service of Connecticut men in the I. War of the Revolution, II. War of 1812, III. Mexican War / compiled by authority of the General Assembly</a>\n</td>\n<td>Connecticut. Adjutant-General s Office</td>\n<td>b17943607</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077177">Records of Fairfield, Connecticut / presented by Ellen Hardin Walworth Chapter of Daughters of American Revolution of New York City copied by Mrs. Harvey Tyson White, Regent</a>\n</td>\n<td>\n</td>\n<td>b30771778</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1130477">Records of Rev. Ransom Warner, 1823-1854 : rector of St. Andrew s, Simsbury and Bloomfield, St. Peter s, Granby, St. John s, East Windsor, Connecticut also additional records, 1777-1778, of Rev. Roger Viets, rector of St. Andrews, Simsbury / by Albert C. Bates</a>\n</td>\n<td>Warner, Ransom, 1796-1856</td>\n<td>b11304777</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2444449">Records of Rev. Roger Viets : rector of St. Andrew s, Simsbury, Conn., and missionary from the Society for the Propagation of the Gospel in Foreign Parts, 1763-1800 / by Albert C. Bates</a>\n</td>\n<td>Viets, Roger, 1738-1811</td>\n\n<td>b24444492</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2482332">Records of the Ashford Congregational Church, Connecticut. Part I / transcribed and verified by Mary Kinsbury Talcott</a>\n</td>\n<td>Congregational Church (Ashford, Conn.)</td>\n<td>b24823326</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1743259">Records of the colony and plantation of New Haven, from 1638 to 1649 : transcribed and edited in accordance with a resolution of the General Assembly of Connecticut with occasional notes and an appendix / By Charles J. Hoadly</a>\n</td>\n<td>New-Haven Colony</td>\n<td>b17432595</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1779348">Records of the colony or jurisdiction of New Haven, from May, 1653, to the union : together with the New Haven code of 1656 transcribed and edited in accordance with a resolution of the General Assembly of Connecticut / By Charles J. Hoadly</a>\n</td>\n\n<td>New Haven (Conn.)</td>\n<td>b17793488</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1484491">Records of the Congregational church in Canterbury, Connecticut, 1711-1844, published jointly by the Connecticut historical society and the Society of Mayflower descendants in the state of Connecticut</a>\n</td>\n<td>First Congregational Church (Canterbury, Conn.)</td>\n<td>b14844916</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1484489">Records of the Congregational church in Suffield, Conn. (except church votes) 1710-1836</a>\n</td>\n<td>First Congregational Church (Suffield, Conn.)</td>\n<td>b14844898</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1711884">Records of the Congregational Church in Turkey Hills, now the town of East Granby, Connecticut, 1776-1858 pub. by Albert Carlos Bates</a>\n\n</td>\n<td>Congregational Church (East Granby, Conn.)</td>\n<td>b17118840</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2559633">Records of the Congregational Church, Franklin, Connecticut, 1718-1860 : and a record of deaths in Norwich Eighth Society, 1763, 1778, 1782, 1784-1802 / published jointly by the Society of Mayflower Descendants in the state of Connecticut, and the Society of the Founders of Norwich, Connectitcut</a>\n</td>\n<td>Congregational Church (Franklin, Conn.)</td>\n<td>b25596330</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1738392">Records of the Connecticut State Society of the Cincinnati, 1783-1804</a>\n</td>\n<td>Connecticut Society of the Cincinnati</td>\n<td>b17383924</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3092054">Records of the First Church of Christ, Groton, Connecticut</a>\n</td>\n<td>Barber, Gertrude A. (Gertrude Audrey)</td>\n<td>b30920541</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1009359">Records of the Second School Society in Granby, now the town of East Granby, Connecticut, 1796-1855</a>\n</td>\n<td>Second School Society (Granby, Conn.)</td>\n\n<td>b1009359x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2287372">Records of the society or parish of Turkey Hills, now the town of East Granby, Connecticut, 1737-1791</a>\n</td>\n<td>Turkey Hills Society (East Granby, Conn.)</td>\n<td>b22873727</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078824">Re-dedication. A discourse preached at the re-opening of the Congregational Church, in Sharon, Connecticut, March 2d, 1864. Published by request</a>\n</td>\n<td>McLaughlin, D. D. Tompkins (Daniel Decius Tompkins), 1812-1895</td>\n<td>b30788249</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1757039">Reference list on Connecticut local history / compiled by Charles A. Flagg</a>\n</td>\n\n<td>Flagg, Charles Allcott, 1870-1920</td>\n<td>b17570396</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085141">Reply to Mr. Abbot\ns Statement of proceedings in the First Society in Coventry, Connecticut, by the Association in Tolland County</a>\n</td>\n<td>Association in Tolland County</td>\n<td>b30851415</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774839">Report of Connecticut towns</a>\n</td>\n<td>Acorn Club of Connecticut</td>\n<td>b17748392</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1091558">Report of the celebration of the centennial of the incorporation of the town of Marlborough : August 23d and 25th, 1903 / compiled and published by Mary Hall</a>\n\n</td>\n<td>Hall, Mary</td>\n<td>b10915588</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1058630">Report of the Committee Appointed to Inquire into the Condition of the New Haven Burying Ground : and to propose a plan for its improvement</a>\n</td>\n<td>New Haven (Conn.). Committee Appointed to Inquire into the Condition of the New Haven Burying Ground</td>\n<td>b10586301</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2563677">Report of the Examiner of Public Records</a>\n</td>\n<td>Connecticut. Examiner of Public Records</td>\n<td>b25636777</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3093260">Report of the officers to the Society of Middletown Upper Houses : with a list of life and charter members, Cromwell, Conn., May, 1906</a>\n</td>\n<td>Society of Middletown Upper Houses (Cromwell, Conn.)</td>\n<td>b30932609</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2362587">Report of the Secretary of State and State Librarian to the General Assembly on ancient court records</a>\n</td>\n<td>Connecticut. Secretary of the State</td>\n\n<td>b23625879</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2563660">Report of the Temporary Examiner of Public Records</a>\n</td>\n<td>Connecticut. Temporary Examiner of Public Records</td>\n<td>b25636601</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073127">Reports of the Fairfield County Historical Society, Bridgeport, Conn</a>\n</td>\n<td>Fairfield Historical Society (Fairfield, Conn.)</td>\n<td>b30731276</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092255">Resident and business directory of Putnam, Conn. : containing an historical sketch of the town, a list of the streets, town officers, schools, teachers, churches, societies, a complete resident and business directory, biographical sketches of prominent citizens, and other information of local interest / compiled ... by E.P. Gleason</a>\n</td>\n\n<td>Gleason, E. P</td>\n<td>b30922550</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2550835">Restoration of the Ancient Burying-Ground of Hartford : and the widening of Gold Street with lists of contributors to the general fund and of descendants who contributed for the preservation of family monuments / by the Ruth Wyllys Chapter, Daughters of the American Revolution</a>\n</td>\n<td>Daughters of the American Revolution. Ruth Wyllys Chapter (Hartford, Conn.)</td>\n<td>b25508350</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1743332">Rev. Dudley Woodbridge : his church record at Simsbury in Conn., 1697-1710 / published with prefatory notes by Albert C. Bates</a>\n</td>\n<td>First Church (Simsbury, Conn.)</td>\n<td>b17433320</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085137">Ride down memory lane : on the Branford Electric Railway in the suburbs of New Haven, Conn. : the story of the Branford Electric Railway Association, Inc. / [John Stern, editor]</a>\n\n</td>\n<td>\n</td>\n<td>b30851373</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085136">Ride down memory lane on the Branford Electric Railway in the suburbs of New Haven, Conn. : the story of the Branford Electric Railway Association, Inc</a>\n</td>\n<td>\n</td>\n<td>b30851361</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093633">Ridgefield Connecticut a charming old New England Town 1708-1935</a>\n</td>\n<td>\n</td>\n<td>b30936330</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1774377">Ridgefield in 1800 / by Rev d. Samuel Goodrich</a>\n</td>\n<td>Goodrich, Samuel, 1763-1835</td>\n<td>b17743771</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1768010">Roll of state officers and members of General Assembly of Connecticut, from 1776 to 1881 : with an appendix giving the congressional delegates, judges of the Supreme and Superior Courts, and the date of incorporation of the cities, boroughs, and towns</a>\n</td>\n<td>Connecticut. General Assembly</td>\n\n<td>b17680104</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093731">Rules of the Association and Consociation of Middlesex County, Conn. : with a preface and appendix</a>\n</td>\n<td>Congregational Churches in Connecticut. Middlesex Consociaton</td>\n<td>b30937310</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1771404">Rural life in Litchfield County, by Charles Shepherd Phelps</a>\n</td>\n<td>Phelps, Charles Shepherd</td>\n<td>b17714047</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1036322">Saybrook s quadrimillenial : commemoration of the 250th anniversary of the settlement of Saybrook, November 27, 1885</a>\n</td>\n\n<td>\n</td>\n<td>b10363221</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705518">Schools and schoolmasters in Farmington in the olden time</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b27055188</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1801552">Second Company, Governor s Foot Guards : souvenir history, 150th anniversary, 1775-1925</a>\n</td>\n<td>Connecticut. Governor s Foot Guard. Company, 2nd (New Haven)</td>\n<td>b18015529</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2715317">Semi-centennial : a sermon, preached August 14, 1861 by Timothy Tuttle, Pastor of the Congregational Church, Ledyard, Conn., it being the fiftieth anniversary of his ordination</a>\n\n</td>\n<td>Tuttle, Timothy, 1781-1864</td>\n<td>b27153174</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2973709">Semi-centennial anniversary of the Congregational Sabbath School in East Hartford, Conn., September 1, 1869</a>\n</td>\n<td>First Congregational Church (East Hartford, Conn.)</td>\n<td>b29737096</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092264">Semi-centennial historical discourse delivered in the meeting house of the Preston Baptist Church : Preston, Connecticut, October 10, 1865 / by Miles Gilbert Smith</a>\n</td>\n<td>Smith, Miles Gilbert</td>\n<td>b30922641</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3073828">Semi-centennial of the Litchfield Co. Foreign Mission Society, celebrated at Litchfield, October 16, 1861</a>\n</td>\n<td>Foreign Mission Society for the County of Litchfield</td>\n<td>b30738283</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1705960">Sermon preached the last Sabbath of 1843 : at Stafford, Conn., Dec. 31st / by George H. Woodward</a>\n</td>\n<td>Woodward, George H</td>\n\n<td>b17059604</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1723811">Services held by the First Church of Killingly, Sept. 22-26, 1901 in the 186th year of its history being the centennial celebration of its re-organization as the church in the West Parish (or the West Field) and later known as the Westfield Congregational Church of Danielson, Connecticut. 1715-1901</a>\n</td>\n<td>\n</td>\n<td>b17238110</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2511431">Services in commemoration of the one hundred and seventy-fifth anniversary, Congregational Church, Thompson, Conn., Sunday, February 12, 1905</a>\n</td>\n<td>\n</td>\n<td>b25114311</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2998916">Services of rededication, Second Congregational Church, Greenwich, Connecticut / Rev. Joseph Henry Selden, pastor</a>\n</td>\n\n<td>\n</td>\n<td>b29989164</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2399764">Sesquicentennial of the Battle of Groton Heights and the Burning of New London, Connecticut, September 6 and 7, 1931 / compiled and edited by Ernest E. Rogers</a>\n</td>\n<td>Connecticut. Fort Griswold &amp; Groton Monument Commission</td>\n<td>b23997643</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1777520">Seymour, past and present, by Rev. Hollis A. Campbell, William C. Sharpe and Frank G. Bassett</a>\n</td>\n<td>Campbell, Hollis A. (Hollis Andrew)</td>\n<td>b17775206</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3091841">Simsbury s part in the war of the American revolution, by the Rev. Chas. E. Stowe</a>\n</td>\n<td>Stowe, Charles Edward, b. 1850</td>\n<td>b30918418</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1120503">Simsbury, Connecticut, births, marriages and deaths / transcribed from the town records, and published by Albert C. Bates</a>\n</td>\n<td>Simsbury (Conn.)</td>\n\n<td>b11205039</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1083102">Sixty years recollections of Milford : and its chronology from 1637 up to and including 1916 / by Nathan Stowe the whole ed. and rev. by Newton Harrison</a>\n</td>\n<td>Stowe, Nathan</td>\n<td>b10831022</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1150776">Sketch of Connecticut, forty years since</a>\n</td>\n<td>Sigourney, L. H. (Lydia Howard), 1791-1865</td>\n<td>b11507767</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1145136">Sketches and chronicles of the town of Litchfield, Connecticut : historical, biographical, and statistical : together with a complete official register of the town / by Payne Kenyon Kilbourne</a>\n</td>\n\n<td>Kilbourne, Payne Kenyon, 1815-1859</td>\n<td>b11451361</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1366132">Sketches of church life in colonial Connecticut being the story of the transplanting of the Church of England into forty two parishes of Connecticut, with the assistance of the Society for the propagation of the gospel written by members of the parishes in celebration of the 200th anniversary of the society edited by Lucy Cushing Jarvis</a>\n</td>\n<td>Jarvis, Lucy Cushing, b. 1864</td>\n<td>b13661322</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093734">Sketches of history of the Congregational Church and Society in Ledyard : delivered Aug. 14th, 1859, being the 48th anniversary of the present pastorate / by Thimothy [sic] Tuttle</a>\n</td>\n<td>Tuttle, Timothy, 1781-1864</td>\n<td>b30937346</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2551677">Sketches of physicians in Hartford in 1820 : and reminiscences / by George Sumner and in 1837 by Gurdon W. Russell</a>\n\n</td>\n<td>Sumner, George, 1793-1855</td>\n<td>b25516772</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2348046">Sketches of the early lights of the Litchfield bar / by David S. Boardman</a>\n</td>\n<td>Boardman, David Sherman, 1768-1864</td>\n<td>b23480464</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2979206">Sketches of the early settlements of the Plymouth colony : historical, biographical and anecdotical / by Egbert Cowles</a>\n</td>\n<td>Cowles, Egbert</td>\n<td>b2979206x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2683298">Sketches of the people and places of New Hartford in the past and present : section 1-2</a>\n</td>\n<td>Jones, Henry Roger</td>\n<td>b26832987</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1724682">Some extracts from the records of the First Church of Christ in East Windsor, Conn. Taken in June, 1833. With occasional remarks a list of members confession of faith and covenant</a>\n</td>\n<td>First Congregational Church (East Windsor, Conn.)</td>\n\n<td>b17246829</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2415672">Some historic sites of Litchfield, Connecticut</a>\n</td>\n<td>\n</td>\n<td>b24156723</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2578837">South Britain sketches and records</a>\n</td>\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b25788371</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073302">Souvenir of the Centennial exhibition: or, Connecticut s representation at Philadelphia, 1876. Embracing a condensed history of the origin and progress of the great international exhibition ... Also, a list of over forty thousand Connecticut visitors</a>\n</td>\n\n<td>Curtis, George D</td>\n<td>b30733029</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1087578">Speech for Connecticut. Being an historical estimate of the state, delivered before the Legislature and other invited guests, at the festival of the Normal School in New Britain, June 4, 1851. By Horace Bushnell</a>\n</td>\n<td>Bushnell, Horace, 1802-1876</td>\n<td>b10875785</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077249">St. John s Parish, Stamford, Connecticut</a>\n</td>\n<td>St. John s Episcopal Church (Stamford, Conn.)</td>\n<td>b30772497</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2578839">Stafford illustrated : a descriptive and historical sketch of Stafford, Connecticut : especially devoted to the Stafford of to-day, and illustrative of its natural advantages and growth in prosperity, its citizens and their homes, its public institutions, its industrial and commercial enterprises, its health-giving springs, and its wealth of scenic attractions, including the picturesque lakes in its vicinity / compiled and edited by William Young</a>\n\n</td>\n<td>Young, William</td>\n<td>b25788395</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1741165">Stamford directory</a>\n</td>\n<td>\n</td>\n<td>b17411658</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2578899">Stamford historical sketches / by Alfred Grant Walton</a>\n</td>\n<td>Walton, Alfred Grant</td>\n<td>b25788991</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1761765">Stamford registration of births, marriages, and deaths : including every name, relationship, and date now found in the Stamford registers, from the first record down to the year 1825 / by Rev. E.B. Huntington</a>\n</td>\n<td>Huntington, E. B. (Elijah Baldwin), 1816-1877</td>\n<td>b17617650</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2163505">Stamford Revolutionary War damage claims</a>\n</td>\n<td>Marcus, Ronald</td>\n\n<td>b21635055</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2578881">Stamford soldiers memorial / by Rev. E. B. Huntington</a>\n</td>\n<td>Huntington, E. B. (Elijah Baldwin), 1816-1877</td>\n<td>b25788814</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2639255">Stamford, Connecticut 1872 city directory / [edited by] Thomas Jay Kemp</a>\n</td>\n<td>Ridley, Joseph</td>\n<td>b26392550</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076885">Stamford, Fairfield County, Conn. : records of the Congregational Church baptisms 1747 per 1766</a>\n</td>\n\n<td>Eardeley, William Applebie, 1870-1935</td>\n<td>b30768858</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093230">Statistics of the Connecticut election sermons, 1674 to 1830 : from the manuscripts of the Hon. Ralph D. Smyth, of Guilford, Conn. / edited by Bernard C. Steiner</a>\n</td>\n<td>Smyth, Ralph Dunning, 1804-1874</td>\n<td>b30932300</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1251345">Stonington chronology, 1649-1949 : being a year-by-year record of the American way of life in a Connecticut town</a>\n</td>\n<td>Haynes, Williams, 1886-1960</td>\n<td>b12513453</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774376">Stratfield in 1800 / by Philo Shelton</a>\n\n</td>\n<td>Shelton, Philo, 1754-1825</td>\n<td>b1774376x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1484448">Sundry vital records of, and pertaining to the present town of East Granby, Connecticut, 1737-1886 / published by Albert Carlos Bates</a>\n</td>\n<td>East Granby (Conn.)</td>\n<td>b14844485</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093736">The 125th anniversary of the Congregational Church of Hanover, Conn. : the historical address by the pastor and a report of the exercises, May 13, 1891</a>\n</td>\n<td>Congregational Church of Hanover (Hanover, Conn.)</td>\n<td>b3093736x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1086336">The 150th anniversary of the organization of the First Church of Christ in Pomfret, Conn., October 26, 1865 : sermons, historical papers, addresses, with appendix</a>\n</td>\n<td>\n</td>\n<td>b10863369</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2277414">The alarm : a narrative of the British invasion of Connecticut, 1777 / by Emma W. Law Demeritt drawings and fotos by W. F. Weed</a>\n</td>\n<td>Demeritt, Emma W. Law</td>\n\n<td>b22774142</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077209">The articles of faith and covenant of the Clinton Congregational Church, Clinton, Conn. With a list of the members</a>\n</td>\n<td>Congregational Church (Clinton, Conn.)</td>\n<td>b30772096</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083752">The Asylum Hill Congregational Church Hartford, Connecticut manual: corrected to June 15, 1915/ compiled by Charles G. Case, church clerk .</a>\n</td>\n<td>\n</td>\n<td>b30837522</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076175">The battle of Groton Heights : a story of the storming of Fort Griswold, and the burning of New London, on the sixth of September, 1781 / By Rev. N. H. Burnham. Containing also the narrative of Rufus Avery, (from the original manuscript) and statement of Avery Downer, M.D. Together with biographical sketches of Col. William Ledyard and Mother Bailey, including a poem by Leonard Woolsey Bacon, delivered on the centennial anniversary of the battle of Groton heights, September 6, 1881</a>\n</td>\n\n<td>Burnham, Norman Hammond, b. 1848</td>\n<td>b3076175x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2201400">The beginnings of the Episcopal Church in New Haven : a discourse delivered in Trinity Church, New Haven, December 30, 1894 / by Edwin Harwood</a>\n</td>\n<td>Harwood, Edwin, 1822-1902</td>\n<td>b22014007</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1775016">The bench and bar of Litchfield County, Connecticut, 1709-1909 : biographical sketches of members, history and catalogue of the Litchfield Law School, historical notes / by Dwight C. Kilbourn</a>\n</td>\n<td>Kilbourn, Dwight C. (Dwight Canfield), 1837-1914</td>\n<td>b17750167</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1139336">The Bi-centennial celebration of the First Congregational Church and Society of Bridgeport, Connecticut : June 12th and 13th, 1895</a>\n\n</td>\n<td>\n</td>\n<td>b11393361</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1076649">The bi-centennial celebration of the settlement of Litchfield, Connecticut, August 1-4, 1920 / compiled for the Litchfield Historical Society by Alain C. White</a>\n</td>\n<td>White, Alain Campbell, 1880-1951</td>\n<td>b10766492</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1259131">The Blue laws of New Haven colony, usually called Blue laws of Connecticut Quaker laws of Plymouth and Massachusetts Blue laws of New York, Maryland, Virginia, and South Carolina. First record of Connecticut interesting extracts from Connecticut records cases of Salem witchcraft charges and banishment of Rev. Roger Williams, &amp;c. and other interesting and instructive antiquities. Compiled by an Antiquarian</a>\n</td>\n<td>Hinman, R. R. (Royal Ralph), 1785-1868</td>\n<td>b12591312</td>\n<td>CT Room</td>\n</tr>\n<tr>\n\n<td>\n<a href="http://www.consuls.org/record=b1126504">The British invasion of New Haven, Connecticut : together with some account of their landing and burning the towns of Fairfield and Norwalk, July, 1779 / by Charles Hervey Townshend</a>\n</td>\n<td>Townshend, Charles Hervey, 1833-1904</td>\n<td>b11265048</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571948">The burning of Simsbury : a bi-centennial address, in commemoration of that event, delivered in the Congregational Church in Simsbury, Conn. on Sabbath evening, March 26, 1876 / by Lucius I. Barber</a>\n</td>\n<td>Barber, Lucius I. (Lucius Israel), 1806-1889</td>\n\n<td>b25719488</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1784070">The Celebration of the one hundred and fiftieth anniversary of the primitive organization of the Congregational Church and Society : in Franklin, Connecticut, October 14th, 1868</a>\n</td>\n<td>\n</td>\n<td>b17840703</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2177839">The celebration of the two hundred and fiftieth anniversary of the settlement of the town of Norwich, Connecticut : and of the incorporation of the city, the one hundred and twenty-fifth, July 4, 5, 6, 1909 / by William C. Gilman</a>\n</td>\n<td>Gilman, William C. (William Charles), 1833-1922</td>\n<td>b21778395</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3094043">The charter oak and descendants Hartford, Conn. by Dr. Gurdon W. Russell clippings from the Connecticut Courant Oct. 31, 1907</a>\n</td>\n\n<td>Russell, Gurdon Wadsworth, 1815-1909</td>\n<td>b30940436</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1746550">The charter of Connecticut a study, by Albert Carlos Bates</a>\n</td>\n<td>Bates, Albert Carlos, b. 1865</td>\n<td>b17465503</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093229">The Christian league of Connecticut</a>\n</td>\n<td>Gladden, Washington, 1836-1918</td>\n<td>b30932294</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1411558">The clergy of Litchfield County / by Arthur Goodenough</a>\n\n</td>\n<td>Goodenough, Arthur</td>\n<td>b1411558x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1281657">The colonial history of Hartford : gathered from the original records / by William DeLoss Love</a>\n</td>\n<td>Love, William DeLoss, 1851-1918</td>\n<td>b12816577</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079279">The confession of faith and covenant of the Congregational Church in Plainville : together with the rules and a catalogue of members July, 1861</a>\n</td>\n<td>Congregational Church (Plainville, Conn.)</td>\n<td>b30792794</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3077245">The Confession of Faith and covenant of the Congregational Church in Southington : to which is added a catalogue of members</a>\n</td>\n<td>Congregational Church (Southington, Conn.)</td>\n<td>b3077245x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077171">The confession of faith and covenant of the First Church of Christ in Lisbon, Conn, 1849</a>\n</td>\n<td>First Church of Christ (Lisbon, Conn.)</td>\n\n<td>b30771717</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092254">The Confession of faith and covenant of the Second Congregational Church in Putnam, Conn. : with a catalogue of the members, &amp;c</a>\n</td>\n<td>Second Congregational Church (Putnam, Conn.)</td>\n<td>b30922549</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2424563">The confession of faith and covenant of the South Congregational Church in New Britain : together with the rules, and a catalogue of members</a>\n</td>\n<td>South Congregational Church (New Britain, Conn.)</td>\n<td>b2424563x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2684803">The confession of faith and covenant of the South Congregational Church in New Britain, together with the rules, a catalogue of members, and a historical notice. Oct. 1st, 1868</a>\n\n</td>\n<td>South Congregational Church (New Britain, Conn.)</td>\n<td>b2684803x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084148">The confession of faith covenant and rules of order of the North Congregational Church of New Hartford, Conn. : with a historical sketch of the parish</a>\n</td>\n<td>New Hartford (Conn.). North Congregational Church</td>\n<td>b30841483</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2935051">The confession of faith, covenant and rules / of the Congregational Church in Cheshire, Connecticut together with a catalogue of the officers and members, to December, 1858</a>\n</td>\n<td>First Congregational Church (Cheshire, Conn.)</td>\n<td>b29350517</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3093723">The confession of faith, covenant and standing rules, of the Congregational Church, in North Branford, Conn</a>\n</td>\n<td>North Branford (Conn.). Congregational Church</td>\n<td>b30937231</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2879073">The confession of faith, covenant, and standing rules / of the Third Congregational Church in New Haven, together with a catalogue of the officers and members</a>\n</td>\n<td>Third Congregational Church (New Haven, Conn.)</td>\n\n<td>b2879073x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2444648">The confession of faith, covenant, ecclesiastical principles and rules, forms of admission, etc., historical memoranda, chronological catalogue, and alphabetical index to September, 1857 / Second Congregational Church of Berlin</a>\n</td>\n<td>Second Congregational Church of Berlin (Berlin, Conn.)</td>\n<td>b24446488</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076042">The Congregational churches of Litchfield County a paper read at Litchfield, Connecticut, September 29, 1902 at the 150th anniversary of the Litchfield County Consociation and Associations</a>\n</td>\n<td>Goodenough, Arthur, 1838-</td>\n<td>b30760422</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1732483">The Connecticut Civil War Centennial : a manual for its observance in the towns and cities of the state of Connecticut</a>\n</td>\n\n<td>\n</td>\n<td>b1732483x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1248514">The Connecticut River and the valley of the Connecticut, three hundred and fifty miles from mountain to sea historical and descriptive, by Edwin M. Bacon</a>\n</td>\n<td>Bacon, Edwin M. (Edwin Monroe), 1844-1916</td>\n<td>b12485147</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2906594">The Connecticut school journal</a>\n</td>\n<td>\n</td>\n<td>b2906594x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1249793">The Connecticut wits, and other essays, by Henry A. Beers .</a>\n\n</td>\n<td>Beers, Henry A. (Henry Augustin), 1847-1926</td>\n<td>b12497939</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2717906">The constitution of the Associated Churches in the Southern District of the County of Litchfield, Connecticut : adopted by the Consociation at their sessions at Litchfield, October 21st, A.D. 1795</a>\n</td>\n<td>Associated Churches in the Southern District of the County of Litchfield, Connecticut</td>\n<td>b27179060</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073826">The constitution of the Associated Churches, in the southern district of the county of Litchfield, in the state of Connecticut. Adopted by the consociation, at their sessions at Litchfield, on the 21st day of October, A.D. 1795</a>\n</td>\n<td>Litchfield South Consociation</td>\n<td>b3073826x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1770585">The county regiment a sketch of the Second regiment of Connecticut volunteer heavy artillery, originally the Nineteenth volunteer infantry, in the civil war, by Dudley Landon Vaill</a>\n</td>\n<td>Vaill, Dudley Landon</td>\n<td>b1770585x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1302289">The development of religious liberty in Connecticut, by M. Louise Greene</a>\n</td>\n<td>Greene, M. Louise (Maria Louise)</td>\n\n<td>b13022891</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1089117">The diocese of Connecticut: the Jarvis Centenary, Wednesday 27, October 1897 and the consecration of the Bishop Coadjutor Elect Feast of St. Simon and St. Jude, Thursday 28, October 1897, Trinity Church, New Haven</a>\n</td>\n<td>\n</td>\n<td>b10891171</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092843">The divine care commemorated : a sermon in review of the first forty years of the Second Congregational Church in New London, Conn. : preached in their house of worship, Sunday, May 2, 1875 / by O.E. Daggett</a>\n</td>\n<td>Daggett, O. E. (Oliver Ellsworth), 1810-1880</td>\n<td>b30928436</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1274909">The early history of the Congregational Church and Society, of North Branford : delivered in the Congregational Church, Jan. 6, 1850 / by George I. Wood</a>\n</td>\n\n<td>Wood, George I. (George Ingersoll), d. 1899</td>\n<td>b12749096</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1096920">The early history of the First church of Christ : New London, Conn. / by Rev. S. Leroy Blake.</a>\n</td>\n<td>Blake, S. Leroy (Silas Leroy), 1834-1902</td>\n<td>b10969202</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584872">The early industries of Farmington : an historical address delivered at the annual meeting of the Village library company of Farmington, Conn., September 14, 1898 / by Julius Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848720</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1748255">The early iron industry of Connecticut, by Herbert C. Keith and Charles Rufus Harte</a>\n\n</td>\n<td>Keith, Herbert Cary</td>\n<td>b17482550</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1793183">The East-Haven register: in three parts. Part I. Containing a history of the town of East-Haven, from its first settlement in 1644, to the year 1800 ... Part II. Containing an account of the names, marriages, and births, of the families which first settled, or which have resided in East-Haven, from its settlement in 1644, to the year 1800. Part III. Containing an account of the deaths in the families named in the second part, from the year 1647 to the end of the year 1823. Comp. by Stephen Dodd .</a>\n</td>\n<td>Dodd, Stephen, 1777-1856</td>\n<td>b17931836</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085131">The Episcopal church in Haddam, by Nelson R. Burr</a>\n</td>\n<td>Burr, Nelson R. (Nelson Rollin), 1904-1994</td>\n<td>b30851312</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1133948">The evolution of an old New England Church : being the history of the Old stone church in East Haven, Connecticut / by Harry Kelso Eversull</a>\n</td>\n<td>Eversull, Harry Kelso, 1893-1953</td>\n<td>b11339482</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2291846">The First Church of Christ (Congregational), Old Saybrook, Conn. : the celebration of the two hundred and fiftieth anniversary, Wednesday, July 1, 1896 : historical review and addresses</a>\n</td>\n<td>\n</td>\n\n<td>b22918462</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3047289">The First Congregational Church : The confession of faith, covenant, rules, forms of admission, etc. with an historical sketch and list of the members, 1867</a>\n</td>\n<td>First\nChurch of Christ (Milford, Conn.)</td>\n<td>b30472891</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2960238">The First Congregational Church of Danbury, Conn. : historical sketch. A sermon preached in the First Congregational Church of Danbury, Conn., Sabbath, July 9, 1876 / by Joel J. Hough ... Published by request of the congregation</a>\n</td>\n<td>Hough, Joel Jackson, 1835-1897</td>\n<td>b29602385</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2545350">The First Congregational church, East Hartford, Connecticut, 1702-1902 / William Bodle Tuthill, pastor</a>\n</td>\n\n<td>First Congregational Church (East Hartford, Conn.)</td>\n<td>b25453506</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3045878">The First Congregational Church, Meriden, Conn., 1729-1897 : historical sketch, officers and members, April, 1897</a>\n</td>\n<td>First Congregational Church (Meriden, Conn.)</td>\n<td>b3045878x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2590903">The First Methodist Episcopal church in New Haven, Conn. An historical sketch read Sunday, June 23, 1889, in the First Methodist church, at the Centennial celebration of the introduction of Methodism into New Haven, by Sylvester Smith</a>\n</td>\n<td>Smith, Sylvester</td>\n<td>b25909034</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704585">The First Presbyterian Church of Hartford : historical address / by J. Aspinwall Hodge, on the twentieth anniversary of his pastorate</a>\n\n</td>\n<td>Hodge, J. Aspinwall (John Aspinwall), 1831-1901</td>\n<td>b27045857</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092623">The goodly heritage of Connecticut : a discourse in the First Church in New Haven, on Thanksgiving Day, Nov. 19, 1840 / by Leonard Bacon</a>\n</td>\n<td>Bacon, Leonard, 1802-1881</td>\n<td>b30926233</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1130856">The governors of Connecticut : biographies of the chief executives of the commonwealth that gave to the world the first written constitution known to history / by Frederick Calvin Norton illustrated with reproductions from oil paintings at the State Capitol and facsimile signatures from official documents</a>\n</td>\n<td>Norton, Frederick Calvin</td>\n<td>b11308564</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2589659">The grateful remembrance : an anniversary discourse, delivered in St. Thomas Church, New Haven, Easter Sunday, 1858 / by E.E. Beardsley</a>\n</td>\n<td>Beardsley, E. Edwards (Eben Edwards), 1808-1891</td>\n<td>b25896593</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2291654">The Grove Street Cemetery : a paper read before the New Haven Colony Historical Society, October 27, 1947 / by Henry H. Townsend</a>\n</td>\n<td>Townshend, Henry Hotchkiss, 1874-1953</td>\n\n<td>b22916544</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3087852">The handful of corn and the fruit : a sermon preached at the consecration of Christ Church, Stratford, July 29th, 1858 / by E.E. Beardsley</a>\n</td>\n<td>Beardsley, E. Edwards (Eben Edwards), 1808-1891</td>\n<td>b30878524</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093631">The historical address and other accounts of the exercises commemorating the 200th anniversary of the organization of the First Congregational Church New Milford Connecticut October nineteenth 1916</a>\n</td>\n<td>First Congregational Church (New Milford, Conn.)</td>\n<td>b30936317</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084149">The historical address at the twentieth anniversary of the Plantsville Church, to which is prefixed the story of how the Church came to be, reprinted from "Sketches of Southington"</a>\n</td>\n\n<td>Eastman, William R</td>\n<td>b30841495</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2588533">The historical discourse delivered at the two hundred and fiftieth anniversary of the First Church in New Haven, April 22d, 1888 / by Newman Smyth</a>\n</td>\n<td>Smyth, Newman, 1843-1925</td>\n<td>b25885339</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1119356">The history of Colebrook / by Irving E. Manchester, and other papers</a>\n</td>\n<td>Manchester, Irving Edward, b. 1870</td>\n<td>b11193566</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1129204">The history of Connecticut, from the first settlement of the colony to the adoption of the present constitution, by G. H. Hollister</a>\n\n</td>\n<td>Hollister, G. H. (Gideon Hiram), 1817-1881</td>\n<td>b11292040</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2246292">The history of Enfield, Connecticut ... / compiled from all the public records of the town known to exist covering from the beginning to 1850 ... with the graveyard inscriptions and those Hartford, Northampton and Springfield records which refer to the people of Enfield edited and published by Francis Olcott Allen .</a>\n</td>\n<td>\n</td>\n<td>b22462922</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2547523">The history of Fairfield, Fairfield County, Connecticut : from the settlement of the town in 1639 to 1818 / by Elizabeth Hubbell Schenck</a>\n</td>\n<td>Schenck, Elizabeth Hubbell, b. 1832</td>\n<td>b2547523x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2289894">The history of Guilford, Connecticut : from its first settlement in 1639 / From the manuscripts of Hon. Ralph D. Smith</a>\n</td>\n<td>Smith, Ralph D. (Ralph Dunning), 1804-1874</td>\n<td>b22898943</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1260619">The history of Harwinton, Connecticut / by R. Manning Chipman</a>\n</td>\n<td>Chipman, R. Manning (Richard Manning), 1806-1893</td>\n\n<td>b12606194</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2933152">The history of Olivet Congregational Church of Bridgeport, Connecticut, 1870-1945 / by Helen Murray Brown</a>\n</td>\n<td>Brown, Helen Murray</td>\n<td>b29331523</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2576864">The history of Redding, Connecticut, from its first settlement to the present time : with notes on the Adams, Banks, Barlow, Bartlett, Bartram, Bates, Beach, Benedict, Betts, Burr, Burritt, Burton, Chatfield, Couch, Darling, Fairchild, Foster, Gold, Gorham, Gray, Griffin, Hall, Hawley, Heron, Hill, Hull, Jackson, Lee, Lyon, Lord, Mallory, Meade, Meeker, Merchant, Morehouse, Perry, Platt, Read, Rogers, Rumsey, Sanford, Smith, Stow, and Strong families / by Charles Burr Todd</a>\n</td>\n<td>Todd, Charles Burr, 1849-</td>\n<td>b25768645</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1120977">The history of Ridgefield, Conn. : from its first settlement to the present time / by Daniel W. Teller</a>\n</td>\n\n<td>Teller, Daniel W. (Daniel Webster)</td>\n<td>b1120977x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2276625">The history of the Episcopal Church in Connecticut, from the settlement of the colony to the death of Bishop Seabury, by E. Edwards Beardsley .</a>\n</td>\n<td>Beardsley, E. Edwards (Eben Edwards), 1808-1891</td>\n<td>b2276625x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083574">The history of the First Church of Bridgeport : from 1695 to 1853, with sketches of its ministers / by Charles Ray Palmer</a>\n</td>\n<td>Palmer, Charles Ray, 1834-1914</td>\n<td>b30835744</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1157268">The history of the old town of Derby, Connecticut, 1642-1880 : With biographies and genealogies / By Samuel Orcutt and Ambrose Beardsley, M.D</a>\n\n</td>\n<td>Orcutt, Samuel, 1824-1893</td>\n<td>b11572681</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691938">The history of the town of Litchfield, Connecticut, 1720-1920 / comp. for the Litchfield Historical Society by Alain C. White</a>\n</td>\n<td>White, Alain Campbell, 1880-1951</td>\n<td>b16919385</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1108013">The homes of our ancestors in Stonington, Conn. / by Grace Denison Wheeler</a>\n</td>\n<td>Wheeler, Grace Denison, 1858-1906</td>\n<td>b11080139</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2291662">The hundredth anniversary of the city of New Haven : with the oration by Thomas Rutherford Bacon, July 4, 1884 / also a paper of New Haven in l784, by Franklin Bowditch Dexter</a>\n</td>\n<td>New Haven (Conn.)</td>\n<td>b22916623</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1759680">The Indians of the Housatonic and Naugatuck Valleys / by Samuel Orcutt</a>\n</td>\n<td>Orcutt, Samuel, 1824-1893</td>\n\n<td>b17596804</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085139">The James Blackstone Memorial Library, Branford, Connecticut High School Graduation Essay by J. Robert Donnelly</a>\n</td>\n<td>Donnelly, J. Robert</td>\n<td>b30851397</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1796683">The journal of William Stebbins, Stratford to Washington in 1810. With an introduction by Leonard W. Labaree and notes by Pierce W. Gaines</a>\n</td>\n<td>Stebbins, William, 1786-1873</td>\n<td>b17966838</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2211407">The later history of the First Church of Christ, New London, Conn. / by Rev. S. Leroy Blake</a>\n</td>\n\n<td>Blake, S. Leroy (Silas Leroy), 1834-1902</td>\n<td>b22114075</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3091856">The leading business men of Middletown, Portland, Durham and Middlefield</a>\n</td>\n<td>\n</td>\n<td>b3091856x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584874">The library of a Farmington village blacksmith, A.D. 1712 : an address delivered at the annual meeting of the Village Library Company of Farmington, Conn., September 12, 1900 / by Julius Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848744</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1691939">The Litchfield book of days : a collation of the historical, biographical, and literary reminiscences of the town of Litchfield, Connecticut / edited by George C. Boswell .</a>\n\n</td>\n<td>\n</td>\n<td>b16919397</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1701750">The Litchfield County University Club. A brief historical sketch with list of members, 1896-1903, by Howard Williston Carter .</a>\n</td>\n<td>Carter, Howard Williston, b. 1855</td>\n<td>b17017506</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1370566">The lost landscape some memories of a family and a town in Connecticut, 1659-1906, by Winifred Welles illustrated by Phyllis Cote</a>\n</td>\n<td>Welles, Winifred, 1893-1939</td>\n<td>b13705660</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2422445">The mandate of God for Israel s advancement : a sermon delivered in Trinity Church, Milton, and St. Michael, Litchfield, Nov. 5, 1845 : being one hundred years since the formation of the Episcopal Church in the town of Litchfield, Conn. / by Isaac Jones</a>\n</td>\n<td>Jones, Isaac, 1775-1850</td>\n<td>b24224455</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1146706">The memorial history of Hartford County, Connecticut, 1633-1884 ed. by J. Hammond Trumbull ... Projected by Clarence F. Jewett</a>\n</td>\n<td>Trumbull, J. Hammond (James Hammond), 1821-1897, ed</td>\n\n<td>b1146706x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2878395">The memorial stone : the second anniversary sermon in the South Congregational Church on Sabbath, June the 7th, 1864 / by Rev. J. Halsted Carroll</a>\n</td>\n<td>Carroll, J. Halsted (Joseph Halsted), 1833-1887</td>\n<td>b28783955</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2575783">The Methodist Episcopal Churches of Norwich, Conn. / by Edgar F. Clark</a>\n</td>\n<td>Clark, Edgar F. (Edgar Frederick), 1835-1914</td>\n<td>b25757830</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1698888">The military and civil history of Connecticut during the war of 1861-65 comprising a detailed account of the various regiments and batteries, through march, encampment, bivouac, and battle also instances of distinguished personal gallantry, and biographical sketches of many heroic soldiers together with a record of the patriotic action of citizens at home, and of the liberal support furnished by the state in its executive and legislative departments / by W. A. Croffut and John M. Morris .</a>\n</td>\n\n<td>Croffut, W. A. (William Augustus), 1835-1915</td>\n<td>b16988887</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2275747">The Ministers of Connecticut in the Revolution the report of the committee appointed by the General Association of Connecticut [Condensed] by Wm. Chauncey Fowler</a>\n</td>\n<td>General Association of Connecticut. Committee on the Ministers of Connecticut in the Revolution</td>\n<td>b22757478</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2198650">The New Canaan Historical Society annual</a>\n</td>\n<td>\n</td>\n<td>b21986502</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1234890">The New Haven colony / by Isabel MacBeath Calder</a>\n\n</td>\n<td>Calder, Isabel M. (Isabel MacBeath)</td>\n<td>b12348909</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2591093">The New Haven Orphan Asylum semi-centennial : Monday evening, Feb. 26th, 1883</a>\n</td>\n<td>\n</td>\n<td>b25910930</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1011212">The New Haven State House with some account of the Green : and various matters of historical and local interest, gathered from many sources</a>\n</td>\n<td>Peck, Henry</td>\n<td>b10112121</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3081513">The New Haven Trap Rock Company: a story that began 200 million years ago</a>\n</td>\n<td>Reigeluth, Ray J. (Ray John)</td>\n<td>b30815137</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2291830">The Norfolk village green / by Frederic S. Dennis, M.D. illustrated from photographs</a>\n</td>\n<td>Dennis, Frederic Shepard, 1850-1934</td>\n\n<td>b22918309</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1482756">The Norwich jubilee : A report of the celebration at Norwich, Connecticut, on the two hundredth anniversary of the settlement of the town, September 7th and 8th, 1859. With an appendix, containing historical documents of local interest / Comp., printed and pub. by John W. Stedman, under the patronage of the committee of arrangements</a>\n</td>\n<td>Stedman, John W. (John Woodhull), 1820-1896</td>\n<td>b14827566</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1481914">The Norwich memorial : the annals of Norwich, New London County, Connecticut, in the great rebellion of 1861-65 / by Malcolm McG. Dana</a>\n</td>\n<td>Dana, Malcolm McG. (Malcolm McGregor), 1838-1897</td>\n<td>b14819144</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079256">The Norwich Savings Society : a brief history of the growth in one hundred years of a mutual savings bank : from eighteen hundred twenty four to nineteen hundred twenty four</a>\n</td>\n\n<td>Tirrell, Henry Archelaus, 1879-</td>\n<td>b30792563</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1120216">The old chimney stacks of East Haddam, Middlesex County, Connecticut / by Hosford B. Niles</a>\n</td>\n<td>Niles, Hosford B. (Hosford Buel)</td>\n<td>b11202166</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092839">The old Hempstead house. The home of eight generations</a>\n</td>\n<td>Branch, Mary Lydia Bolles, 1840-1922</td>\n<td>b30928394</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1173971">The old Mount Carmel parish : origins &amp; outgrowths / by George Sherwood Dickerman</a>\n\n</td>\n<td>Dickerman, George Sherwood, 1843-1937</td>\n<td>b1173971x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2276531">The one hundred and fiftieth anniversary of the Congregational Church in Salisbury, Conn., Friday, November 23, 1894</a>\n</td>\n<td>Goddard, John C. (John Calvin)</td>\n<td>b22765311</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2281060">The one hundred and fiftieth anniversary of the congregational church of East Hampton, Conn</a>\n</td>\n<td>Congregational Church (East Hampton)</td>\n<td>b22810602</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2973137">The one hundred and fiftieth anniversary of the founding of St. James s Parish, Birmingham (in the town of Derby) Connecticut, and the unveiling of a memorial tablet to the Rev. Richard Mansfield, D.D. Rector of the Parish for seventy-two consecutive years, 1748-1820</a>\n</td>\n<td>St. James s Church (Birmingham, Conn.)</td>\n<td>b29731379</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073124">The one hundred and fiftieth anniversary of the organization of the First Church of Christ, in Redding, Conn., Wednesday, September 5th, 1883</a>\n</td>\n<td>First Church of Christ (Redding, Conn.)</td>\n\n<td>b30731240</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3046926">The one hundred and fiftieth anniversary of the organization of the South Congregational Church, Middletown, Conn., January 7th, 1747 - January 7th, 1897</a>\n</td>\n<td>South Congregational Church (Middletown, Conn.)</td>\n<td>b30469260</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3044568">The one hundred and fiftieth anniversary of the organization of the Third Church of Christ of Hadlyme Society (East Haddam, Conn.) Wednesday, June 26th, 1895</a>\n</td>\n<td>Hadlyme Congregational Church (Hadlyme, Conn.)</td>\n<td>b30445681</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2571768">The one hundredth anniversary of the organization of the First Church of Christ in Manchester, Conn., 1779, 1879 : historical addresses / by S.W. Robbins and R.R. Dimock</a>\n</td>\n\n<td>Robbins, S. W. (Silas Wright), 1827-1907</td>\n<td>b25717686</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092155">The one hundreth anniversary of the Wapping Congregational Meeting House : erected 1801 and occupied 1802 in South Windsor, Connecticut</a>\n</td>\n<td>Wapping Congregational Church (Wapping, Conn.)</td>\n<td>b30921557</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2568201">The origin and history of the First Congregational Church, Milford, Conn. : a discourse preached in Milford on Thanksgiving Day, November 25, 1852 / by Jonathan Brace, Pastor of the Church</a>\n</td>\n<td>Brace, J. (Jonathan), 1810-1877</td>\n<td>b25682015</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2718060">The past and the present, in the secular and religious history of the Congregational Church and Society of Branford : a semi-centennial discourse, delivered July 7th, 1858 / by the Rev. Timothy P. Gillett, A.M., pastor of the church</a>\n\n</td>\n<td>Gillett, Timothy P. (Timothy Phelps), 1780-1866</td>\n<td>b27180608</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073825">The poets of Connecticut : with biographical sketches / edited by Charles W. Everest</a>\n</td>\n<td>\n</td>\n<td>b30738258</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092250">The Portland Burying Ground Association and its cemetery</a>\n</td>\n<td>Portland Burying Ground Association (Portland, Conn.)</td>\n<td>b30922501</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3073126">The prime ancient society of Fairfield, Conn. : an historical paper : with contributions from present and former members of the church</a>\n</td>\n<td>Child, Frank Samuel, 1854-1922</td>\n<td>b30731264</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092624">The Protestant Episcopal Church in New Haven and for New England : a sermon preached at the semi-centennial celebration of the consecration of Trinity Church, New Haven, Wednesday, February 16th, 1866 / by Edwin Harwood</a>\n</td>\n<td>Harwood, Edwin, 1822-1902</td>\n\n<td>b30926245</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1102640">The quarto-millennial anniversary of the Congregational Church of Stratford, Connecticut : the historical address by the pastor, and a full report of all the exercises, September 5th, 1889</a>\n</td>\n<td>Congregational Church (Stratford, Conn.)</td>\n<td>b11026406</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2201397">The records of convocation, A.D. 1790-A.D. 1848 / edited and annotated for the Diocesan Commission on Archives by Joseph Hooper</a>\n</td>\n<td>Episcopal Church. Diocese of Connecticut</td>\n<td>b22013970</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2274200">The records of the General Association of ye Colony of Connecticut : begun June 20th, 1738, ending June 19th, 1799</a>\n</td>\n\n<td>General Association of Connecticut</td>\n<td>b22742001</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1698651">The regicides in Connecticut / [Lemuel Aiken Welles]</a>\n</td>\n<td>Welles, Lemuel A. (Lemuel Aiken), 1870-1953</td>\n<td>b16986519</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093228">The religion of our forefathers : a sermon preached in honor of the three hundredth anniversary of the settlement of Connecticut, October 6th, 1935 / by Warren S. Archibald</a>\n</td>\n<td>Archibald, Warren Seymour, 1880-1954</td>\n<td>b30932282</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1226367">The republic of New Haven : a history of municipal evolution / by Charles H. Levermore</a>\n\n</td>\n<td>Levermore, Charles H. (Charles Herbert), 1856-1927</td>\n<td>b12263679</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2549757">The revolutionary martyrs of ancient Pachaug / an historical paper prepared by Daniel L. Phillips ... and read by him at the unveiling of a monument to the memory of the revolutionary martyrs of ancient Pachaug, Memorial day, 1903</a>\n</td>\n<td>Phillips, Daniel L. (Daniel Lyon), b. 1852</td>\n<td>b25497571</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073121">The Ridgefield Tavern a romance of Sarah Bishop, hermitess, during the American Revolution, by Maurice Enright ... with illustrations by Katherine Enright</a>\n</td>\n<td>Enright, Maurice</td>\n<td>b30731215</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2407945">The rise and fall of the New Haven colony / Charles M. Andrews</a>\n</td>\n<td>Andrews, Charles McLean, 1863-1943</td>\n<td>b24079455</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1788927">The Rogerenes some hitherto unpublished annals belonging to the colonial history of Connecticut / pt. I. A vindication by John R. Bolles, pt.II. History of the Rogerenes, by Anna B. Williams, appendix of Rogerene writings.</a>\n</td>\n<td>Bolles, John R. (John Rogers), 1810-1895</td>\n\n<td>b17889273</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1116900">The romance of Norwalk</a>\n</td>\n<td>Danenberg, Elsie N. (Elsie Nicholas), 1900-</td>\n<td>b1116900x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2544485">The Simsbury Copper Mine : a report on the mines of the Connecticut Copper Company, in Granby, Hartford County, Connecticut / by E. Francfort</a>\n</td>\n<td>Francfort, E</td>\n<td>b25444852</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1655617">The Southport Congregational Church, Southport, Connecticut, March 7, 1843-November 30, 1915 : an historical sketch, together with the confession, the covenant, the by-laws and lists of the pastors, deacons, members, and baptized children</a>\n</td>\n\n<td>Southport Congregational Church (Southport, Conn.)</td>\n<td>b16556173</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2935731">The spring of the waters : anniversary discourse delivered in St. Peter s Church, Cheshire, Sunday evening, Dec. 17, 1876 / by S.J. Horton</a>\n</td>\n<td>Horton, Sanford Jackson, 1817-1896</td>\n<td>b29357317</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2704719">The Stanley Fund of the Second or South Ecclesiastical Society of Hartford, Connecticut / by James E. Rhodes, 2nd</a>\n</td>\n<td>Rhodes, J. E. (James Edward), b. 1877</td>\n<td>b27047192</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1774837">The stone records of Groton, by Frances Manwaring Caulkins ed. by Emily S. Gilman</a>\n\n</td>\n<td>Caulkins, Frances Manwaring, 1795-1869</td>\n<td>b17748379</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2278268">The Stonington battle centennial : a record of the celebration of August eighth, ninth and tenth, nineteen hundred and fourteen</a>\n</td>\n<td>\n</td>\n<td>b22782680</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1737382">The story of a Connecticut life, by Charles Q. Eldredge</a>\n</td>\n<td>Eldredge, Charles Q</td>\n<td>b17373827</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1102903">The story of New Britain, Connecticut / written by Lillian Hart Tryon, from historical sketches by Mortimer Warren</a>\n</td>\n<td>Tryon, Lillian Hart, b. 1870</td>\n<td>b11029031</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2572628">The story of the memorial in honor of the founders of the town of Milford : erected by their descendants and the citizens of Milford : dedicated August 28th, 1889, the town s 250th anniversary</a>\n</td>\n<td>Pond, Nathan G. (Nathan Gillett), b. 1832</td>\n\n<td>b25726286</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3093675">The Story of the Putnam Cottage formerly the Israel Knapp Tavern in Greenwich Connecticut on the road between Boston and New York</a>\n</td>\n<td>Talcott, Norman</td>\n<td>b30936755</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584879">The swarming of the hive : an historical address delivered at the annual meeting of the Village Library Company of Farmington, Conn., September 9, 1903 / by Julius Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848793</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1446571">The three founders : Dr. Charles Kirtland Stillman, Carl C. Cutler [and] Edward Eugene Bradley / With a foreword by Philip R. Mallory</a>\n</td>\n\n<td>Dickerman, Marion, 1890-1983</td>\n<td>b14465711</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2497366">The Tories of Chippeny Hill, Connecticut : a brief account of the Loyalists of Bristol, Plymouth and Harwinton, who founded St. Matthew s church in East Plymouth in 1791 / by E. Le Roy Pond</a>\n</td>\n<td>Pond, E. LeRoy (Edgar LeRoy), b. 1883</td>\n<td>b2497366x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1735037">The trials of a church and pastor : in attempting to maintain Gospel discipline, under consociational interference / by Levi Nelson</a>\n</td>\n<td>Nelson, Levi, 1779-1855</td>\n<td>b17350372</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1155459">The true-blue laws of Connecticut and New Haven and the false blue-laws invented by the Rev. Samuel Peters, to which are added specimens of the laws and judicial proceedings of other colonies and some blue-laws of England in the reign of James I. Edited by J. Hammond Trumbull</a>\n\n</td>\n<td>Trumbull, J. Hammond (James Hammond), 1821-1897</td>\n<td>b11554599</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2584876">The Tunxis Indians : an historical address delivered at the annual meeting of the Village Library Company of Farmington, Conn., September 11, 1901 / by Julius Gay</a>\n</td>\n<td>Gay, Julius, 1834-1918</td>\n<td>b25848768</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2718291">The two hundred and fiftieth anniversary of the coming to New London of the First Church of Christ : from Gloucester, Mass., 1651-1901</a>\n</td>\n<td>First Church of Christ (New London, Conn.)</td>\n<td>b27182915</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1025483">The two hundredth anniversary of the First Congregational Church of Haddam, Connecticut, October 14th and 17th, 1900 : Church organized, 1696, Pastor installed, 1700</a>\n</td>\n<td>First Congregational Church (Haddam, Conn.)</td>\n<td>b10254833</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2578042">The two hundredth anniversary of the founding of the First Church of Christ : in Simsbury, Connecticut, Wednesday, November, 10, 1897</a>\n</td>\n<td>First Church and Ecclesiastical Society of Simsbury (Simsbury, Conn.)</td>\n\n<td>b25780426</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2722451">The two hundredth anniversary of the settlement of the town of New Milford, Conn., June 17th, 1907 / address delivered by Daniel Davenport</a>\n</td>\n<td>Davenport, Daniel, 1773-1860</td>\n<td>b2722451x</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2580516">The Wequetequock Burying Ground Association, Stonington, Conn. : with an account of the services at the dedication of the monument erected in memory of William Chesebrough, Thomas Minor, Walter Palmer, Thomas Stanton, the first four settlers of the town of Stonington : August 31, 1899</a>\n</td>\n<td>\n</td>\n<td>b25805162</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1770572">The witchcraft delusion in colonial Connecticut, 1647-1697, by John M. Taylor</a>\n</td>\n\n<td>Taylor, John M. (John Metcalf), 1845-1918</td>\n<td>b17705721</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1342193">The Yankees of Connecticut / Illus. by Ralph Lee</a>\n</td>\n<td>Lee, W. Storrs (William Storrs), 1906-</td>\n<td>b13421931</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2607134">The year book of Christ Church Parish, Hartford, Conn</a>\n</td>\n<td>Christ Church (Hartford, Conn.)</td>\n<td>b26071344</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1201979">Thirteen historical discourses, on the completion of two hundred years : from the beginning of the First Church in New Haven, with an appendix / by Leonard Bacon</a>\n\n</td>\n<td>Bacon, Leonard, 1802-1881</td>\n<td>b12019793</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1321384">This bold corner</a>\n</td>\n<td>Grotz, George</td>\n<td>b13213842</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1303271">Three centuries of New Haven, 1638-1938 / by Rollin G. Osterweis</a>\n</td>\n<td>Osterweis, Rollin G. (Rollin Gustav), 1907-</td>\n<td>b13032719</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b2291631">Three civic orations for New Haven / by Leonard Bacon</a>\n</td>\n<td>Bacon, Leonard, 1802-1881</td>\n<td>b22916313</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2587658">Three historical papers : read before the New Haven Colony Historical Society / by Simeon E. Baldwin</a>\n</td>\n<td>Baldwin, Simeon Eben, 1840-1927</td>\n\n<td>b25876582</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1796643">Time out of mind</a>\n</td>\n<td>Wilde, Frazar Bullard</td>\n<td>b17966437</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2715324">Tombstone inscriptions in the old burying ground at Harwinton, Conn. : with a historical sketch / by Frank D. Andrews</a>\n</td>\n<td>Andrews, Frank\nD</td>\n<td>b27153241</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092983">Touring New London and Environs</a>\n</td>\n\n<td>Smith, R.T.</td>\n<td>b30929830</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2287370">Town of Darien, founded 1641, incorporated 1820 / written by Henry Jay Case and Simon W. Cooper as a contribution to the Connecticut tercentenary</a>\n</td>\n<td>Case, Henry Jay, b. 1875</td>\n<td>b22873703</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2542993">Town records of Derby, Connecticut, 1665-1710 : copied and compared with the original / by Nancy O. Phillips</a>\n</td>\n<td>Derby (Conn.)</td>\n<td>b25429930</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083819">Triennial catalogue of the Hartford Public High School</a>\n\n</td>\n<td>Hartford Public High School (Hartford, Conn.)</td>\n<td>b30838198</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083812">Trinity College : an open letter from a trustee to a friend and fellow-alumnus / [signed, Benj. H. Paddock]</a>\n</td>\n<td>Paddock, Benjamin H. (Benjamin Henry), 1828-1891</td>\n<td>b30838125</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1768505">Twentieth anniversary : a commemorative discourse, delivered in the North Church of Hartford, May 22, 1853 / by Horace Bushnell</a>\n</td>\n<td>Bushnell, Horace, 1802-1876</td>\n<td>b17685059</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1068107">Two hundred and fiftieth anniversary of the settlement of the Town of Stratford, October 3d, 1889 / compiled by direction of the General Committee of Arrangements</a>\n</td>\n<td>Stratford (Conn.). General Committee of Arrangements for the 250th Anniversary Celebration</td>\n<td>b10681073</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2950095">Two hundredth anniversary of the Clinton Congregational Church, held in Clinton, Conn., November 13th, 1867</a>\n</td>\n<td>\n</td>\n\n<td>b29500953</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1058653">Two hundredth anniversary, the First Congregational Church of Bristol, Connecticut, 1747-1947</a>\n</td>\n<td>\n</td>\n<td>b10586532</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2553007">Two-hundred-fiftieth anniversary : a brief history of New London, Conn</a>\n</td>\n<td>\n</td>\n<td>b25530070</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1758624">Vital records of Lyme, Connecticut, to the end of the year 1850 / literally transcribed under the direction of Verne M. Hall and Elizebeth B. Plimpton</a>\n</td>\n\n<td>Lyme (Conn.)</td>\n<td>b17586240</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1781442">Vital records of New Haven, 1649-1850</a>\n</td>\n<td>\n</td>\n<td>b1781442x</td>\n<td>CT Room</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1783997">Vital records of Norwich, 1659-1848</a>\n</td>\n<td>Norwich (Conn.)</td>\n<td>b1783997x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1781399">Vital records of Saybrook, 1647-1834</a>\n\n</td>\n<td>Deep River (Conn.)</td>\n<td>b17813992</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1734701">Vital statistics of Seymour, Conn. / compiled by W. C. Sharpe</a>\n</td>\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b17347014</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1131574">Wadsworth or, The charter oak, by W. H. Gocher</a>\n</td>\n<td>Gocher, W. H. (William Henry)</td>\n<td>b1131574x</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b1723102">Whitehall and its restoration / [compiled by Stonington Historical Society]</a>\n</td>\n<td>\n</td>\n<td>b17231024</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073125">Wyoming, or, Connecticut s East India Co. Two lectures deliveredbefore the Fairfield County Historical Society, Bridgeport, Conn., March 10, 1893--April 21, 1893, by Henry T. Blake</a>\n</td>\n<td>Blake, Henry T. (Henry Taylor), 1828-1922</td>\n\n<td>b30731252</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1001693">Yankee township / Carl F. Price</a>\n</td>\n<td>Price, Carl F. (Carl Fowler)</td>\n<td>b10016934</td>\n<td>CT Room</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073128">Ye antient buriall place of New London, Conn. / [compiled by Edward Prentis]</a>\n</td>\n<td>Prentis, Edward</td>\n<td>b30731288</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b1175737">Ye names &amp; ages of all ye old folks in every hamlet, city and town in ye state of Connecticut : now living, with ye sketches of twenty living centenarians / compiled by Frederick H. Nash</a>\n\n</td>\n<td>Nash, Frederick H</td>\n<td>b11757371</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2563870">Year book of the First Church in Hartford</a>\n</td>\n<td>First Church of Christ (Hartford, Conn.)</td>\n<td>b25638701</td>\n\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3092614">Year book of the First Church of Christ in New London. reports of the various departments with directories of the church and congregation for 1904</a>\n</td>\n<td>First Church of Christ (New London, Conn.)</td>\n<td>b30926142</td>\n<td>CT Room</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3072533">Year Book, 1896. First Congregational Church, Bethel, Conn</a>\n</td>\n<td>First Congregational Church (Bethel, Conn.)</td>\n<td>b30725331</td>\n<td>CT Room</td>\n</tr>\n</table>\n\n\n</html>
In Focus - Jim Dyer\n\nObjects from Jim Dyer's Papers and photographs of and by Dyer will be on display in the Haas Library Feb 3 -23rd.\n\nFree and open to the public
<html>\n<div id="content">\n<img src="http://archives.library.wcsu.edu/relatedObjects/sideImg.gif" align="right"/>\n</div>\n</html>\n*[[History Research - a tutorial|History Research Tutorial]]\n*[[EAD Production Guide]]\n*[[2007 WCSU Org Chart|http://archives.library.wcsu.edu/relatedObjects/RG08/WCSUOrgChart.pdf]]\n*[[ 1977, Guide to Archival Materials in the Ruth A. Haas Library, WCSU|http://archives.library.wcsu.edu/relatedObjects/RG08/1977ArchivesInventory.pdf]]\n*[[Recent monographs written by WCSU faculty|Faculty Monographs]]\n*[[Connecticut State Library: State Archives|http://www.cslib.org/archives/]]\n*[[Central Connecticut State University Archives and Special Collections|http://library.ccsu.edu/help/spcoll/]]\n*[[Eastern Connecticut State University Archives|http://www.easternct.edu/smithlibrary/depts/archives/]]\n*[[Southern Connecticut State University Buley Library|http://library.scsu.ctstateu.edu/]]\n*[[Danbury Public Library|http://www.danburylibrary.org/]]\n*[[U.S. Census Bureau: Census of Population and Housing data|http://www.census.gov/prod/www/abs/decennial/index.htm]]\n*[[Federal Depository Libraries|http://www.gpoaccess.gov/libraries.html]]\n*[[Link to Danbury Digital Image Search @ UConn|http://images.lib.uconn.edu/cdm4/results.php?CISOOP1=any&CISOFIELD1=CISOSEARCHALL&CISOROOT=all&CISOBOX1=danbury]]\n*[[Link to UConn Image Search Home|http://images.lib.uconn.edu/]]\n*[[Link to CT Genealogy FAQs|http://www.cslib.org/faq.htm]]\n*[[Link to Genealogy resources at CSL|http://www.cslib.org/genealogy.htm]]\n*[[vitalrec.com, CT|http://www.vitalrec.com/ct.html]]\n*[[rootsweb / Social Security Death Index|http://ssdi.rootsweb.com/]]
<html><head><script type="text/javascript">\n\n var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-30618823-1']);\n _gaq.push(['_trackPageview']);\n\n (function() {\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n })();\n\n</script></head>\n</html>\n<tabs Introduction>\n<tab Archive's Collections>\n''The Archives'' is the final repository for the historical records of Western Connecticut State University and is a significant repository for collections related to local history. The Archives includes WCSU administrative records, faculty papers, university publications, theses, visual materials, and other media created by the University. It also includes non-WCSU affiliated personal papers, local government and organizational records, visual materials, maps, journals and other media that document the history of this region. The archival holdings amount to approximately 750 linear feet. \n[>img[http://archives.library.wcsu.edu/relatedObjects/beanies.jpg]]\nThe Archives contains materials collected from the University's founding in 1903 as the Danbury Normal School to its present status as a member of the Connecticut State University System. \n\n[[Archival Collections List]]\n\nTo search the descriptions of our collections at the WCSU Archives use the [[CAO (Connecticut Archives Online)|http://library.wcsu.edu/cao/search]] or you may also find our collections in [[CONSULS|http://www.consuls.org]]. \n[<img[http://archives.library.wcsu.edu/relatedObjects/storage.jpg]]\n\n\n\n\n\n\n\n\n\n\n\n\n</tab>\n<tab Spec Collections>\n\n[>img[http://archives.library.wcsu.edu/relatedObjects/reading.jpg]]''The Special Collections Library'''s holdings include: \n* monographs, and audio-visual materials that pertain to the history of the Danbury, Connecticut and the region\n*out-of-print or rare spoken word, opera and other classical music phonograph recordings\n*a portion of the original monograph holdings of the Danbury Normal School's library\n*monographs authored/created by WCSU faculty, students and alumni\n*monographs that supplement subjects in our archival collections\n*rare/antique books and other objects donated to the Haas Library or Special Collections that are deemed to be 1) of significant artifactual value and 2) to be unique and essential to support the research needs of the University and the mission of the Archive; and library holdings of significant value to warrant special treatment. \n\nThere are approximately 3200 cataloged titles currently held in the Special Collections Library that range in publication date from 1626 to the present. There are three main groups of book materials: Connecticut Room, Rare Books and Facsimiles.\n\n!!! Lists of our book and audio holdings\n\n[<img[http://archives.library.wcsu.edu/relatedObjects/specColl.jpg]]\n\n* [[CT Room materials|http://archives.library.wcsu.edu/lists/listCTRoom.html]]\n* [[rare book holdings|http://archives.library.wcsu.edu/lists/listRB.html]]\n* [[facsimile holdings|http://archives.library.wcsu.edu/lists/listFac.html]]\n* [[spoken word materials|http://archives.library.wcsu.edu/lists/listAV.html]]\n* [[WCSU faculty monographs|http://archives.library.wcsu.edu/lists/listFaculty.html]]\n* [[complete list of holdings|http://archives.library.wcsu.edu/lists/listAll.html]]\n\n\n\n</tab>\n<tab Forms>\n!!! Forms and Policies\n[>img[http://archives.library.wcsu.edu/relatedObjects/stetsonHat.jpg]]\n* [[Collections Policy|http://archives.library.wcsu.edu/forms/collectionsPolicy08.pdf]]\n* [[Records Transfer Form|http://archives.library.wcsu.edu/forms/transferAgreement.html]]\n* [[Deed of Gift]]\n\n\n\n\n\n</tab>\n<tab How to>\n!!! A tutorial\n<html>\n<h3>Overview</h3>\n<p>The Archives includes WCSU administrative records, faculty papers, university publications, visual materials, and other media created by the University. It also includes non-WCSU affiliated local history materials which include: photographs, maps, journals and other media. The archival holdings amount to approximately 750 linear feet.</p>\n<img src="http://archives.library.wcsu.edu/relatedObjects/case.jpg" style ="float: right;" />\n<p>Items that are kept in the Archives are divided into "collections" which usually indicates the person or organization who created or compiled the items. For example, a collection called the John Smith Papers would likely be personal papers that were written or created by a John Smith and kept together in an archival collection. Archivists create for these "collections" what are called finding aids which are designed to aid the researcher in finding items that they may be seeking. The finding aid usually contains a description of the creator and a description of the contents of the collection along with an inventory of what is in the collection.</p>\n<p>The inventory in a finding aid will usually list the contents of a file folder; for example: Correspondence | 1945-1946, box: 2 Folder: 36. Below is what a typical finding aid looks like.</p>\n<p><img alt="" src="http://archives.library.wcsu.edu/relatedObjects/fa.jpg"></p>\n<p>...and a close-up of an inventory inside a finding aid:</p>\n<p><img src="http://archives.library.wcsu.edu/relatedObjects/inventory.jpg"></p>\n<blockquote>\n<hr width="100%" size="2"></blockquote>\n<h3><strong>Finding information</strong></h3>\n<blockquote>\n<p><strong>1) Search application</strong></p>\n<p>The simplest way of finding items that are in archival collections is to use the search application provided by the archive called: <a href="http://library.wcsu.edu/cao">CAO (CT Archives Online)</a>.</p>\n<p><img src="http://archives.library.wcsu.edu/relatedObjects/cao.jpg" alt=""></p>\n<p>Using this search engine, you may search keywords, subjects, titles, dates and notes for terms and/or phrases. You may narrow your search to WCSU only or search across the CSUs and CT State Library. Results are returned that will indicate the collections that match your search along with links to the finding aid which contains that match.</p>\n<ul>\n<li><font color="#FF0000">ADVANTAGES: Most likely to find terms for your search.&Acirc; Simple.</font></li>\n<li><font color="#FF0000">DISADVANTAGES: The search is only in finding aids and doesn't include books and other non-archivial sources.</font></li>\n</ul>\n<p><strong>2) CONSULS</strong></p>\n<p>Another way one may find archival materials is by searching <a href="http://www.consuls.org/">CONSULS</a>, our consortial "book" catalog. Below is the advanced search where "World War, 1914-1918" is the keyword and "ARCHIVAL MATL" is selected as Material Type.</p>\n<p><img alt="" src="http://archives.library.wcsu.edu/relatedObjects/consulsSearch.jpg" width="400px"></p>\n<p>Some results of this search are shown below (click the "Website" link to open the finding aid):</p>\n<p><img src="http://archives.library.wcsu.edu/relatedObjects/consulsResults.jpg" width="400px"></p>\n<ul>\n<li><font color="#FF0000">ADVANTAGES: One may search across book, video, journal, and other holdings in the library.</font></li>\n<li><font color="#FF0000">DISADVANTAGES: The search will not include the inventories and many of the descriptive notes for an archival collection</font>.</li>\n</ul>\n<p><strong>3) Browse</strong></p>\n<p>One may also simply browse the collection list on the Archives' home page. Collections titles are assigned a general subject and one may link to the finding aid from the list.</p>\n<ul>\n<li><font color="#FF0000">ADVANTAGES: One may serendipitously come across materials that they may not have found using methods 1 and 2.<br></font></li>\n<li><font color="#FF0000">DISADVANTAGES: Time consuming.</font></li>\n</ul>\n<p><strong>4) Ask the archivists</strong></p>\n<p>If you think that the WCSU archives may have the information you seek, email (stevensb@wcsu.edu) or call (203-837-8992) and ask the archivists for help.</p>\n<hr width="100%" size="2"></blockquote>\n<h3><strong>Retrieving information</strong></h3>\n<p>After searching the archives, note the collection name and the box folder or item information from that collection's inventory. For example: George B. Hawley Collection, box 1, folder 2; box 3, item 2.</p>\n<blockquote>\n<p><strong>1) Visit the Archives.</strong></p>\n<p>Make an appointment with the archivists either by email (stevensb@wcsu.edu) or phone (203-837-8992) or IM on the Archives home page.&Acirc; Simply indicate the nature of inquiry (scholarly research, genealogy, etc.) and what materials you would like to view. Archival materials are generally one-of-a-kind materials and therefore have rules regulating their handling and access.</p>\n<h5>Guidelines for viewing materials:</h5>\n<blockquote>\n<ul type="circle">\n<li>Please do not alter the order of the records or folders in the collection being viewed.</li>\n<li>Marking or erasing of library and archives material and property is prohibited.</li>\n<li>Notes must be made in PENCIL.</li>\n<li>Please cite any materials used in publication.</li>\n<li>Duplication and reproduction of materials is permitted if in accordance with donor agreements and copyright restrictions. Please see reading room attendant for assistance and information regarding fee schedule.</li>\n<li>No food and drink are allowed in the reading room.</li>\n<li>Cell phone use is prohibited.</li>\n<li>Laptop use is permitted upon consultation with the archivist.</li>\n<li>Portable scanners and photography of materials is only permitted upon consultation with the archivist.</li>\n</ul>\n</blockquote>\n<h5>The patron agrees to the following:</h5>\n<blockquote>\n<ul type="circle">\n<li>The patron agrees to provide a valid photo ID if requested by the archivist prior to viewing materials.</li>\n<li>The patron agrees to publish no portion of the records without the written permission of the archivist and/or donor(s) and assumes sole responsibility for any infringement of the literary rights, copyrights, or other rights that may pertain to the records.</li>\n<li>The patron agrees to sign the daily log at the start of each visit upon completion of the registration form.</li>\n</ul>\n</blockquote>\n<p><strong>2) Request information remotely</strong></p>\n<p>A patron may email (stevensb@wcsu.edu) or phone (203-837-8992) the Archives to request copies of materials. A patron may simply indicate the nature of their inquiry (scholarly research, genealogy, etc.) and what materials are of interest. The archivist will notify the patron of the reproduction cost, and, upon receipt of the payment, will send the material electronically or by USPS to the patron.<strong>Checks should be made payable to: Haas Library/Special Collections</strong> and sent to:</p>\n<blockquote>Haas Library<br>\nArchives and Special CollectionsWestern Connecticut State University181 White St.Danbury, CT 06810</blockquote>\n<p>Use of reproduced materials is restricted and, unless otherwise specified, are under the copyright of the WCSU Archives. Written permission must be obtained from the Archives to publish any part or image of duplicated materials received from the Archives. Where copyright is not held by the WCSU Archives, permission must by obtained and determined by the patron.</p>\n<p><u><font size="1"><strong>Duplication of materials is per the discretion of the archivist.</strong></font></u></p>\n<hr width="100%" size="2"></blockquote>\n<h3><strong>Citing information</strong></h3>\n<blockquote>\n<p>Citations should take the following form:</p>\n<p>Identification of item (title, description etc.), date (if known); Title of the collection; collection number; container (box number, folder number, item number, etc.); Western Connecticut State University Archives.&Acirc;</p>\n<p>For example:</p>\n<p>U.S. Army, 307th Infantry Regiment - Photograph, 1918; Georg B. Hawley Papers; MS 011; Folder OS1; Western Connecticut State University Archives.</p>\n</blockquote>\n</html>\n</tab>\n<tab Hours>\nThe Archives and Special Collections Library is open to researchers by appointment. Regular hours are:\n''8AM-2:30PM Mon, Tue, Thur and Fri and from 8AM-4PM Wed.'' \nOther times may be arranged with the archivist, but call or email first to make sure that someone can help you.\n</tab>\n</tabs>
[[John Perkins donates titles from his Grandfather's book collection to the WCSU Archives]]\nJohn Perkins, Grandson of the Danbury Normal School's founding president John R. Perkins. Mr. Perkins the younger is pictured here at the Gunn Library and Museum in Washington, CT with a picture of his Grandfather in 1906 inset. \n[img[http://archives.library.wcsu.edu/relatedObjects/perkins.jpg]]
WCSU Archives and Special Collections
/***\n|''Name:''|ForEachTiddlerPlugin|\n|''Version:''|1.0.8 (2007-04-12)|\n|''Source:''|http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin|\n|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|\n|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|\n|''Copyright:''|&copy; 2005-2007 [[abego Software|http://www.abego-software.de]]|\n|''TiddlyWiki:''|1.2.38+, 2.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n!Description\n\nCreate customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.\n\n''Syntax:'' \n|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|\n|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|\n|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|\n|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|\n|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|\n|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]] is used.|\n|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|\n|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|\n\nSee details see [[ForEachTiddlerMacro]] and [[ForEachTiddlerExamples]].\n\n!Revision history\n* v1.0.8 (2007-04-12)\n** Adapted to latest TiddlyWiki 2.2 Beta importTiddlyWiki API (introduced with changeset 2004). TiddlyWiki 2.2 Beta builds prior to changeset 2004 are no longer supported (but TiddlyWiki 2.1 and earlier, of cause)\n* v1.0.7 (2007-03-28)\n** Also support "pre" formatted TiddlyWikis (introduced with TW 2.2) (when using "in" clause to work on external tiddlers)\n* v1.0.6 (2006-09-16)\n** Context provides "viewerTiddler", i.e. the tiddler used to view the macro. Most times this is equal to the "inTiddler", but when using the "tiddler" macro both may be different.\n** Support "begin", "end" and "none" expressions in "write" action\n* v1.0.5 (2006-02-05)\n** Pass tiddler containing the macro with wikify, context object also holds reference to tiddler containing the macro ("inTiddler"). Thanks to SimonBaird.\n** Support Firefox 1.5.0.1\n** Internal\n*** Make "JSLint" conform\n*** "Only install once"\n* v1.0.4 (2006-01-06)\n** Support TiddlyWiki 2.0\n* v1.0.3 (2005-12-22)\n** Features: \n*** Write output to a file supports multi-byte environments (Thanks to Bram Chen) \n*** Provide API to access the forEachTiddler functionality directly through JavaScript (see getTiddlers and performMacro)\n** Enhancements:\n*** Improved error messages on InternetExplorer.\n* v1.0.2 (2005-12-10)\n** Features: \n*** context object also holds reference to store (TiddlyWiki)\n** Fixed Bugs: \n*** ForEachTiddler 1.0.1 has broken support on win32 Opera 8.51 (Thanks to BrunoSabin for reporting)\n* v1.0.1 (2005-12-08)\n** Features: \n*** Access tiddlers stored in separated TiddlyWikis through the "in" option. I.e. you are no longer limited to only work on the "current TiddlyWiki".\n*** Write output to an external file using the "toFile" option of the "write" action. With this option you may write your customized tiddler exports.\n*** Use the "script" section to define "helper" JavaScript functions etc. to be used in the various JavaScript expressions (whereClause, sortClause, action arguments,...).\n*** Access and store context information for the current forEachTiddler invocation (through the build-in "context" object) .\n*** Improved script evaluation (for where/sort clause and write scripts).\n* v1.0.0 (2005-11-20)\n** initial version\n\n!Code\n***/\n//{{{\n\n \n//============================================================================\n//============================================================================\n// ForEachTiddlerPlugin\n//============================================================================\n//============================================================================\n\n// Only install once\nif (!version.extensions.ForEachTiddlerPlugin) {\n\nif (!window.abego) window.abego = {};\n\nversion.extensions.ForEachTiddlerPlugin = {\n major: 1, minor: 0, revision: 8, \n date: new Date(2007,3,12), \n source: "http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin",\n licence: "[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",\n copyright: "Copyright (c) abego Software GmbH, 2005-2007 (www.abego-software.de)"\n};\n\n// For backward compatibility with TW 1.2.x\n//\nif (!TiddlyWiki.prototype.forEachTiddler) {\n TiddlyWiki.prototype.forEachTiddler = function(callback) {\n for(var t in this.tiddlers) {\n callback.call(this,t,this.tiddlers[t]);\n }\n };\n}\n\n//============================================================================\n// forEachTiddler Macro\n//============================================================================\n\nversion.extensions.forEachTiddler = {\n major: 1, minor: 0, revision: 8, date: new Date(2007,3,12), provider: "http://tiddlywiki.abego-software.de"};\n\n// ---------------------------------------------------------------------------\n// Configurations and constants \n// ---------------------------------------------------------------------------\n\nconfig.macros.forEachTiddler = {\n // Standard Properties\n label: "forEachTiddler",\n prompt: "Perform actions on a (sorted) selection of tiddlers",\n\n // actions\n actions: {\n addToList: {},\n write: {}\n }\n};\n\n// ---------------------------------------------------------------------------\n// The forEachTiddler Macro Handler \n// ---------------------------------------------------------------------------\n\nconfig.macros.forEachTiddler.getContainingTiddler = function(e) {\n while(e && !hasClass(e,"tiddler"))\n e = e.parentNode;\n var title = e ? e.getAttribute("tiddler") : null; \n return title ? store.getTiddler(title) : null;\n};\n\nconfig.macros.forEachTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {\n // config.macros.forEachTiddler.traceMacroCall(place,macroName,params,wikifier,paramString,tiddler);\n\n if (!tiddler) tiddler = config.macros.forEachTiddler.getContainingTiddler(place);\n // --- Parsing ------------------------------------------\n\n var i = 0; // index running over the params\n // Parse the "in" clause\n var tiddlyWikiPath = undefined;\n if ((i < params.length) && params[i] == "in") {\n i++;\n if (i >= params.length) {\n this.handleError(place, "TiddlyWiki path expected behind 'in'.");\n return;\n }\n tiddlyWikiPath = this.paramEncode((i < params.length) ? params[i] : "");\n i++;\n }\n\n // Parse the where clause\n var whereClause ="true";\n if ((i < params.length) && params[i] == "where") {\n i++;\n whereClause = this.paramEncode((i < params.length) ? params[i] : "");\n i++;\n }\n\n // Parse the sort stuff\n var sortClause = null;\n var sortAscending = true; \n if ((i < params.length) && params[i] == "sortBy") {\n i++;\n if (i >= params.length) {\n this.handleError(place, "sortClause missing behind 'sortBy'.");\n return;\n }\n sortClause = this.paramEncode(params[i]);\n i++;\n\n if ((i < params.length) && (params[i] == "ascending" || params[i] == "descending")) {\n sortAscending = params[i] == "ascending";\n i++;\n }\n }\n\n // Parse the script\n var scriptText = null;\n if ((i < params.length) && params[i] == "script") {\n i++;\n scriptText = this.paramEncode((i < params.length) ? params[i] : "");\n i++;\n }\n\n // Parse the action. \n // When we are already at the end use the default action\n var actionName = "addToList";\n if (i < params.length) {\n if (!config.macros.forEachTiddler.actions[params[i]]) {\n this.handleError(place, "Unknown action '"+params[i]+"'.");\n return;\n } else {\n actionName = params[i]; \n i++;\n }\n } \n \n // Get the action parameter\n // (the parsing is done inside the individual action implementation.)\n var actionParameter = params.slice(i);\n\n\n // --- Processing ------------------------------------------\n try {\n this.performMacro({\n place: place, \n inTiddler: tiddler,\n whereClause: whereClause, \n sortClause: sortClause, \n sortAscending: sortAscending, \n actionName: actionName, \n actionParameter: actionParameter, \n scriptText: scriptText, \n tiddlyWikiPath: tiddlyWikiPath});\n\n } catch (e) {\n this.handleError(place, e);\n }\n};\n\n// Returns an object with properties "tiddlers" and "context".\n// tiddlers holds the (sorted) tiddlers selected by the parameter,\n// context the context of the execution of the macro.\n//\n// The action is not yet performed.\n//\n// @parameter see performMacro\n//\nconfig.macros.forEachTiddler.getTiddlersAndContext = function(parameter) {\n\n var context = config.macros.forEachTiddler.createContext(parameter.place, parameter.whereClause, parameter.sortClause, parameter.sortAscending, parameter.actionName, parameter.actionParameter, parameter.scriptText, parameter.tiddlyWikiPath, parameter.inTiddler);\n\n var tiddlyWiki = parameter.tiddlyWikiPath ? this.loadTiddlyWiki(parameter.tiddlyWikiPath) : store;\n context["tiddlyWiki"] = tiddlyWiki;\n \n // Get the tiddlers, as defined by the whereClause\n var tiddlers = this.findTiddlers(parameter.whereClause, context, tiddlyWiki);\n context["tiddlers"] = tiddlers;\n\n // Sort the tiddlers, when sorting is required.\n if (parameter.sortClause) {\n this.sortTiddlers(tiddlers, parameter.sortClause, parameter.sortAscending, context);\n }\n\n return {tiddlers: tiddlers, context: context};\n};\n\n// Returns the (sorted) tiddlers selected by the parameter.\n//\n// The action is not yet performed.\n//\n// @parameter see performMacro\n//\nconfig.macros.forEachTiddler.getTiddlers = function(parameter) {\n return this.getTiddlersAndContext(parameter).tiddlers;\n};\n\n// Performs the macros with the given parameter.\n//\n// @param parameter holds the parameter of the macro as separate properties.\n// The following properties are supported:\n//\n// place\n// whereClause\n// sortClause\n// sortAscending\n// actionName\n// actionParameter\n// scriptText\n// tiddlyWikiPath\n//\n// All properties are optional. \n// For most actions the place property must be defined.\n//\nconfig.macros.forEachTiddler.performMacro = function(parameter) {\n var tiddlersAndContext = this.getTiddlersAndContext(parameter);\n\n // Perform the action\n var actionName = parameter.actionName ? parameter.actionName : "addToList";\n var action = config.macros.forEachTiddler.actions[actionName];\n if (!action) {\n this.handleError(parameter.place, "Unknown action '"+actionName+"'.");\n return;\n }\n\n var actionHandler = action.handler;\n actionHandler(parameter.place, tiddlersAndContext.tiddlers, parameter.actionParameter, tiddlersAndContext.context);\n};\n\n// ---------------------------------------------------------------------------\n// The actions \n// ---------------------------------------------------------------------------\n\n// Internal.\n//\n// --- The addToList Action -----------------------------------------------\n//\nconfig.macros.forEachTiddler.actions.addToList.handler = function(place, tiddlers, parameter, context) {\n // Parse the parameter\n var p = 0;\n\n // Check for extra parameters\n if (parameter.length > p) {\n config.macros.forEachTiddler.createExtraParameterErrorElement(place, "addToList", parameter, p);\n return;\n }\n\n // Perform the action.\n var list = document.createElement("ul");\n place.appendChild(list);\n for (var i = 0; i < tiddlers.length; i++) {\n var tiddler = tiddlers[i];\n var listItem = document.createElement("li");\n list.appendChild(listItem);\n createTiddlyLink(listItem, tiddler.title, true);\n }\n};\n\nabego.parseNamedParameter = function(name, parameter, i) {\n var beginExpression = null;\n if ((i < parameter.length) && parameter[i] == name) {\n i++;\n if (i >= parameter.length) {\n throw "Missing text behind '%0'".format([name]);\n }\n \n return config.macros.forEachTiddler.paramEncode(parameter[i]);\n }\n return null;\n}\n\n// Internal.\n//\n// --- The write Action ---------------------------------------------------\n//\nconfig.macros.forEachTiddler.actions.write.handler = function(place, tiddlers, parameter, context) {\n // Parse the parameter\n var p = 0;\n if (p >= parameter.length) {\n this.handleError(place, "Missing expression behind 'write'.");\n return;\n }\n\n var textExpression = config.macros.forEachTiddler.paramEncode(parameter[p]);\n p++;\n\n // Parse the "begin" option\n var beginExpression = abego.parseNamedParameter("begin", parameter, p);\n if (beginExpression !== null) \n p += 2;\n var endExpression = abego.parseNamedParameter("end", parameter, p);\n if (endExpression !== null) \n p += 2;\n var noneExpression = abego.parseNamedParameter("none", parameter, p);\n if (noneExpression !== null) \n p += 2;\n\n // Parse the "toFile" option\n var filename = null;\n var lineSeparator = undefined;\n if ((p < parameter.length) && parameter[p] == "toFile") {\n p++;\n if (p >= parameter.length) {\n this.handleError(place, "Filename expected behind 'toFile' of 'write' action.");\n return;\n }\n \n filename = config.macros.forEachTiddler.getLocalPath(config.macros.forEachTiddler.paramEncode(parameter[p]));\n p++;\n if ((p < parameter.length) && parameter[p] == "withLineSeparator") {\n p++;\n if (p >= parameter.length) {\n this.handleError(place, "Line separator text expected behind 'withLineSeparator' of 'write' action.");\n return;\n }\n lineSeparator = config.macros.forEachTiddler.paramEncode(parameter[p]);\n p++;\n }\n }\n \n // Check for extra parameters\n if (parameter.length > p) {\n config.macros.forEachTiddler.createExtraParameterErrorElement(place, "write", parameter, p);\n return;\n }\n\n // Perform the action.\n var func = config.macros.forEachTiddler.getEvalTiddlerFunction(textExpression, context);\n var count = tiddlers.length;\n var text = "";\n if (count > 0 && beginExpression)\n text += config.macros.forEachTiddler.getEvalTiddlerFunction(beginExpression, context)(undefined, context, count, undefined);\n \n for (var i = 0; i < count; i++) {\n var tiddler = tiddlers[i];\n text += func(tiddler, context, count, i);\n }\n \n if (count > 0 && endExpression)\n text += config.macros.forEachTiddler.getEvalTiddlerFunction(endExpression, context)(undefined, context, count, undefined);\n\n if (count == 0 && noneExpression) \n text += config.macros.forEachTiddler.getEvalTiddlerFunction(noneExpression, context)(undefined, context, count, undefined);\n \n\n if (filename) {\n if (lineSeparator !== undefined) {\n lineSeparator = lineSeparator.replace(/\s\sn/mg, "\sn").replace(/\s\sr/mg, "\sr");\n text = text.replace(/\sn/mg,lineSeparator);\n }\n saveFile(filename, convertUnicodeToUTF8(text));\n } else {\n var wrapper = createTiddlyElement(place, "span");\n wikify(text, wrapper, null/* highlightRegExp */, context.inTiddler);\n }\n};\n\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// Internal.\n//\nconfig.macros.forEachTiddler.createContext = function(placeParam, whereClauseParam, sortClauseParam, sortAscendingParam, actionNameParam, actionParameterParam, scriptText, tiddlyWikiPathParam, inTiddlerParam) {\n return {\n place : placeParam, \n whereClause : whereClauseParam, \n sortClause : sortClauseParam, \n sortAscending : sortAscendingParam, \n script : scriptText,\n actionName : actionNameParam, \n actionParameter : actionParameterParam,\n tiddlyWikiPath : tiddlyWikiPathParam,\n inTiddler : inTiddlerParam, // the tiddler containing the <<forEachTiddler ...>> macro call.\n viewerTiddler : config.macros.forEachTiddler.getContainingTiddler(placeParam) // the tiddler showing the forEachTiddler result\n };\n};\n\n// Internal.\n//\n// Returns a TiddlyWiki with the tiddlers loaded from the TiddlyWiki of \n// the given path.\n//\nconfig.macros.forEachTiddler.loadTiddlyWiki = function(path, idPrefix) {\n if (!idPrefix) {\n idPrefix = "store";\n }\n var lenPrefix = idPrefix.length;\n \n // Read the content of the given file\n var content = loadFile(this.getLocalPath(path));\n if(content === null) {\n throw "TiddlyWiki '"+path+"' not found.";\n }\n \n var tiddlyWiki = new TiddlyWiki();\n\n // Starting with TW 2.2 there is a helper function to import the tiddlers\n if (tiddlyWiki.importTiddlyWiki) {\n if (!tiddlyWiki.importTiddlyWiki(content))\n throw "File '"+path+"' is not a TiddlyWiki.";\n tiddlyWiki.dirty = false;\n return tiddlyWiki;\n }\n \n // The legacy code, for TW < 2.2\n \n // Locate the storeArea div's\n var posOpeningDiv = content.indexOf(startSaveArea);\n var posClosingDiv = content.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1)) {\n throw "File '"+path+"' is not a TiddlyWiki.";\n }\n var storageText = content.substr(posOpeningDiv + startSaveArea.length, posClosingDiv);\n \n // Create a "div" element that contains the storage text\n var myStorageDiv = document.createElement("div");\n myStorageDiv.innerHTML = storageText;\n myStorageDiv.normalize();\n \n // Create all tiddlers in a new TiddlyWiki\n // (following code is modified copy of TiddlyWiki.prototype.loadFromDiv)\n var store = myStorageDiv.childNodes;\n for(var t = 0; t < store.length; t++) {\n var e = store[t];\n var title = null;\n if(e.getAttribute)\n title = e.getAttribute("tiddler");\n if(!title && e.id && e.id.substr(0,lenPrefix) == idPrefix)\n title = e.id.substr(lenPrefix);\n if(title && title !== "") {\n var tiddler = tiddlyWiki.createTiddler(title);\n tiddler.loadFromDiv(e,title);\n }\n }\n tiddlyWiki.dirty = false;\n\n return tiddlyWiki;\n};\n\n\n \n// Internal.\n//\n// Returns a function that has a function body returning the given javaScriptExpression.\n// The function has the parameters:\n// \n// (tiddler, context, count, index)\n//\nconfig.macros.forEachTiddler.getEvalTiddlerFunction = function (javaScriptExpression, context) {\n var script = context["script"];\n var functionText = "var theFunction = function(tiddler, context, count, index) { return "+javaScriptExpression+"}";\n var fullText = (script ? script+";" : "")+functionText+";theFunction;";\n return eval(fullText);\n};\n\n// Internal.\n//\nconfig.macros.forEachTiddler.findTiddlers = function(whereClause, context, tiddlyWiki) {\n var result = [];\n var func = config.macros.forEachTiddler.getEvalTiddlerFunction(whereClause, context);\n tiddlyWiki.forEachTiddler(function(title,tiddler) {\n if (func(tiddler, context, undefined, undefined)) {\n result.push(tiddler);\n }\n });\n return result;\n};\n\n// Internal.\n//\nconfig.macros.forEachTiddler.createExtraParameterErrorElement = function(place, actionName, parameter, firstUnusedIndex) {\n var message = "Extra parameter behind '"+actionName+"':";\n for (var i = firstUnusedIndex; i < parameter.length; i++) {\n message += " "+parameter[i];\n }\n this.handleError(place, message);\n};\n\n// Internal.\n//\nconfig.macros.forEachTiddler.sortAscending = function(tiddlerA, tiddlerB) {\n var result = \n (tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue) \n ? 0\n : (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)\n ? -1 \n : +1; \n return result;\n};\n\n// Internal.\n//\nconfig.macros.forEachTiddler.sortDescending = function(tiddlerA, tiddlerB) {\n var result = \n (tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue) \n ? 0\n : (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)\n ? +1 \n : -1; \n return result;\n};\n\n// Internal.\n//\nconfig.macros.forEachTiddler.sortTiddlers = function(tiddlers, sortClause, ascending, context) {\n // To avoid evaluating the sortClause whenever two items are compared \n // we pre-calculate the sortValue for every item in the array and store it in a \n // temporary property ("forEachTiddlerSortValue") of the tiddlers.\n var func = config.macros.forEachTiddler.getEvalTiddlerFunction(sortClause, context);\n var count = tiddlers.length;\n var i;\n for (i = 0; i < count; i++) {\n var tiddler = tiddlers[i];\n tiddler.forEachTiddlerSortValue = func(tiddler,context, undefined, undefined);\n }\n\n // Do the sorting\n tiddlers.sort(ascending ? this.sortAscending : this.sortDescending);\n\n // Delete the temporary property that holds the sortValue. \n for (i = 0; i < tiddlers.length; i++) {\n delete tiddlers[i].forEachTiddlerSortValue;\n }\n};\n\n\n// Internal.\n//\nconfig.macros.forEachTiddler.trace = function(message) {\n displayMessage(message);\n};\n\n// Internal.\n//\nconfig.macros.forEachTiddler.traceMacroCall = function(place,macroName,params) {\n var message ="<<"+macroName;\n for (var i = 0; i < params.length; i++) {\n message += " "+params[i];\n }\n message += ">>";\n displayMessage(message);\n};\n\n\n// Internal.\n//\n// Creates an element that holds an error message\n// \nconfig.macros.forEachTiddler.createErrorElement = function(place, exception) {\n var message = (exception.description) ? exception.description : exception.toString();\n return createTiddlyElement(place,"span",null,"forEachTiddlerError","<<forEachTiddler ...>>: "+message);\n};\n\n// Internal.\n//\n// @param place [may be null]\n//\nconfig.macros.forEachTiddler.handleError = function(place, exception) {\n if (place) {\n this.createErrorElement(place, exception);\n } else {\n throw exception;\n }\n};\n\n// Internal.\n//\n// Encodes the given string.\n//\n// Replaces \n// "$))" to ">>"\n// "$)" to ">"\n//\nconfig.macros.forEachTiddler.paramEncode = function(s) {\n var reGTGT = new RegExp("\s\s$\s\s)\s\s)","mg");\n var reGT = new RegExp("\s\s$\s\s)","mg");\n return s.replace(reGTGT, ">>").replace(reGT, ">");\n};\n\n// Internal.\n//\n// Returns the given original path (that is a file path, starting with "file:")\n// as a path to a local file, in the systems native file format.\n//\n// Location information in the originalPath (i.e. the "#" and stuff following)\n// is stripped.\n// \nconfig.macros.forEachTiddler.getLocalPath = function(originalPath) {\n // Remove any location part of the URL\n var hashPos = originalPath.indexOf("#");\n if(hashPos != -1)\n originalPath = originalPath.substr(0,hashPos);\n // Convert to a native file format assuming\n // "file:///x:/path/path/path..." - pc local file --> "x:\spath\spath\spath..."\n // "file://///server/share/path/path/path..." - FireFox pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n // "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."\n // "file://server/share/path/path/path..." - pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n var localPath;\n if(originalPath.charAt(9) == ":") // pc local file\n localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file://///") === 0) // FireFox pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file:///") === 0) // mac/unix local file\n localPath = unescape(originalPath.substr(7));\n else if(originalPath.indexOf("file:/") === 0) // mac/unix local file\n localPath = unescape(originalPath.substr(5));\n else // pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\s\s"); \n return localPath;\n};\n\n// ---------------------------------------------------------------------------\n// Stylesheet Extensions (may be overridden by local StyleSheet)\n// ---------------------------------------------------------------------------\n//\nsetStylesheet(\n ".forEachTiddlerError{color: #ffffff;background-color: #880000;}",\n "forEachTiddler");\n\n//============================================================================\n// End of forEachTiddler Macro\n//============================================================================\n\n\n//============================================================================\n// String.startsWith Function\n//============================================================================\n//\n// Returns true if the string starts with the given prefix, false otherwise.\n//\nversion.extensions["String.startsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nString.prototype.startsWith = function(prefix) {\n var n = prefix.length;\n return (this.length >= n) && (this.slice(0, n) == prefix);\n};\n\n\n\n//============================================================================\n// String.endsWith Function\n//============================================================================\n//\n// Returns true if the string ends with the given suffix, false otherwise.\n//\nversion.extensions["String.endsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nString.prototype.endsWith = function(suffix) {\n var n = suffix.length;\n return (this.length >= n) && (this.right(n) == suffix);\n};\n\n\n//============================================================================\n// String.contains Function\n//============================================================================\n//\n// Returns true when the string contains the given substring, false otherwise.\n//\nversion.extensions["String.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nString.prototype.contains = function(substring) {\n return this.indexOf(substring) >= 0;\n};\n\n//============================================================================\n// Array.indexOf Function\n//============================================================================\n//\n// Returns the index of the first occurance of the given item in the array or \n// -1 when no such item exists.\n//\n// @param item [may be null]\n//\nversion.extensions["Array.indexOf"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nArray.prototype.indexOf = function(item) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] == item) {\n return i;\n }\n }\n return -1;\n};\n\n//============================================================================\n// Array.contains Function\n//============================================================================\n//\n// Returns true when the array contains the given item, otherwise false. \n//\n// @param item [may be null]\n//\nversion.extensions["Array.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nArray.prototype.contains = function(item) {\n return (this.indexOf(item) >= 0);\n};\n\n//============================================================================\n// Array.containsAny Function\n//============================================================================\n//\n// Returns true when the array contains at least one of the elements \n// of the item. Otherwise (or when items contains no elements) false is returned.\n//\nversion.extensions["Array.containsAny"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nArray.prototype.containsAny = function(items) {\n for(var i = 0; i < items.length; i++) {\n if (this.contains(items[i])) {\n return true;\n }\n }\n return false;\n};\n\n\n//============================================================================\n// Array.containsAll Function\n//============================================================================\n//\n// Returns true when the array contains all the items, otherwise false.\n// \n// When items is null false is returned (even if the array contains a null).\n//\n// @param items [may be null] \n//\nversion.extensions["Array.containsAll"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};\n//\nArray.prototype.containsAll = function(items) {\n for(var i = 0; i < items.length; i++) {\n if (!this.contains(items[i])) {\n return false;\n }\n }\n return true;\n};\n\n\n} // of "install only once"\n\n// Used Globals (for JSLint) ==============\n// ... DOM\n/*global document */\n// ... TiddlyWiki Core\n/*global convertUnicodeToUTF8, createTiddlyElement, createTiddlyLink, \n displayMessage, endSaveArea, hasClass, loadFile, saveFile, \n startSaveArea, store, wikify */\n//}}}\n\n\n/***\n!Licence and Copyright\nCopyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of abego Software nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n***/\n
To get started with this blank ZiddlyWiki, you'll need to modify the following tiddlers:\n* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above\n* MainMenu: The menu (usually on the left)\n* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the ZiddlyWiki is opened\n
<<option chkRegExpSearch>> ~RegExp Search\n<<option chkCaseSensitiveSearch>> Case sensitive search\n<<option chkAnimate>> Enable animations\n<<option chkOpenInNewWindow>> Open links in new window\n<<option chkToggleLinks>> Links close open tiddlers\n<<option chkConfirmDelete>> Confirm before deleting\n<<option chkForceMinorUpdate>> Preserve date/time on edit\n<<option chkInsertTabs>> Insert tab characters\n<<option txtMaxEditRows>> Maximum editor rows\n
<<list all>>
/***\n|''Name:''|TiddlyLightBox|\n|''Date:''|Jan 1, 2006|\n|''Version:''|1.0 beta|\n|''Author:''|Saq Imtiaz|\n|''Location:''|http://tw.lewcid.org/#TiddlyLightBoxPlugin|\n|''Documentation:''|http://tw.lewcid.org/#TiddlyLightBoxDocs|\n|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|\n|''Based on:''|DC3.LightBox<br>Light Box Gone Wild <br>Ibox|\n\n!!Code\n***/\n//{{{\nconfig.macros.imagebox ={};\nconfig.macros.imagebox.handler = function (place,macroName,params,wikifier,paramString,tiddler)\n{\n var e = place.lastChild;\n e.onclick = function(){TiddlyLightBox.initBox('image',this,params[1],params[2],params[0]);return false;};\n}\n\nconfig.macros.divbox ={};\nconfig.macros.divbox.handler = function (place,macroName,params,wikifier,paramString,tiddler)\n{\n if (params[0]!=".")\n createTiddlyButton(place,params[0],params[0],function(){TiddlyLightBox.initBox('html',params[1],params[3],params[4],params[2]);return false;});\n else\n {\n var e = place.lastChild;\n e.onclick = function(){TiddlyLightBox.initBox('html',params[1],params[3],params[4],params[2]);return false;};\n }\n}\n\nconfig.macros.tiddlerbox ={}\nconfig.macros.tiddlerbox.handler = function (place,macroName,params,wikifier,paramString,tiddler)\n{\n config.macros.divbox.handler(place,macroName,[params[0],"tiddler:"+params[1],params[2],params[3],params[4]]);\n return false;\n}\n\nstore.addNotification("TiddlyLightBoxStyles",refreshStyles);\n\nif (!window.TiddlyLightBox)\n window.TiddlyLightBox = {};\n var loadingImage = "indicator.gif";\n window.TiddlyLightBox =\n {\n _curBox: null, // [sentinel]\n\n lightBoxHtml : '<div id="lightBoxOverlay" onclick="TiddlyLightBox.hideBox()" style="display:none"></div><div id="lightboxprogress" style="display:none;"><img src=\s''+loadingImage+'\s' alt=\s'loading\s' style="width:128px;height:128px;"></div><div class="lightBox" id="lightBox" style="display:none"><div id="lightBoxContent"></div><div id="lightBoxTitle">This is a title</div><div id="lightBoxClose"><a href:"#" onclick="TiddlyLightBox.hideBox();return false;">Click to close</a></div></div>',\n\n createBoxWrapper : function()\n {\n var wrapper = createTiddlyElement(document.getElementsByTagName("body")[0],"div","tiddlyLightBoxWrapper");\n wrapper.innerHTML = this.lightBoxHtml;\n },\n\n initBox : function(contentType,url,w,h,text)\n {\n if (this._curBox)\n return;\n this.showProgress();\n this.hideSelects("hidden");\n this.showBg();\n this._curBox = true;\n this.sizeTheBox(contentType,w,h);\n if (contentType == 'image')\n this.showImage(url,text);\n else if (contentType == 'html')\n this.showHtml(url,text);\n return false;\n },\n \n sizeTheBox : function(contentType,w,h)\n {\n var box = document.getElementById("lightBoxContent");\n if (w && isNaN(parseInt(w)))\n {\n addClass(box,w);\n }\n else if (w ||h || contentType == 'html')\n {\n box.style.width = w? w+ "px" : "450px";\n box.style.height = h? h+ "px" : "280px";\n if (contentType=='image')\n setStylesheet("#lightBoxContent img{height:100%;width:100%;}","lightBoxImageSizeHack");\n }\n },\n\n showProgress : function()\n {\n var progress = document.getElementById("lightboxprogress");\n progress.style.display='';\n this._center(progress);\n },\n \n hideProgress: function()\n {\n var progress = document.getElementById("lightboxprogress");\n progress.style.display='none';\n },\n\n //this function lifted from Lightbox Gone Wild\n hideSelects: function(visibility)\n {\n var selects = document.getElementsByTagName('select');\n for(i = 0; i < selects.length; i++)\n {\n selects[i].style.visibility = visibility;\n }\n },\n\n showBg: function()\n {\n var overlay = document.getElementById('lightBoxOverlay');\n if (config.browser.isIE)\n {\n overlay.style.height = Math.max(document.documentElement.scrollHeight,document.documentElement.offsetHeight);\n overlay.style.width = document.documentElement.scrollWidth;\n }\n overlay.style.display = 'block';\n },\n\n showImage: function (url,text)\n {\n imgPreloader = new Image();\n imgPreloader.onload = function ()\n {\n var lb = document.getElementById("lightBoxContent");\n lb.innerHTML = "<img src="+url+">";\n lb.onclick = function(){TiddlyLightBox.hideBox();return false;};\n TiddlyLightBox.posBox(text);\n };\n imgPreloader.src = url;\n },\n \n showHtml : function(theID,text)\n {\n var lb = document.getElementById("lightBoxContent");\n if (theID.indexOf("tiddler:")==-1)\n lb.innerHTML = document.getElementById(theID).innerHTML;\n else\n { \n wikify(store.getTiddlerText(theID.replace("tiddler:","")),lb);\n lb.className='tiddler';\n }\n lb.style.overflow = "auto";\n this.posBox(text);\n },\n\n posBox: function(text)\n {\n this.setTitle(text);\n this.hideProgress();\n var lb = document.getElementById("lightBox");\n lb.style.display = "";\n lb.style.visibilty = "hidden";\n lb.style.position = "absolute";\n this._center(lb);\n if(!TiddlyLightBox._curBox) return;\n lb.style.visibility = "visible";\n lb.style.display = "block";\n },\n\n setTitle: function(text)\n {\n document.getElementById("lightBoxTitle").innerHTML= (text==undefined)? '': text;\n },\n\n _center: function(lb)\n {\n var lbSize = new TiddlyLightBox.getElementSize(lb);\n lb.style.left = (Math.round(findWindowWidth()/2) - (lbSize.width /2) + findScrollX())+'px';\n lb.style.top = (Math.round(findWindowHeight()/2) - (lbSize.height /2) + findScrollY())+'px';\n },\n\n //this function lifted from Ibox\n getElementSize : function(elem)\n {\n this.width = elem.offsetWidth || elem.style.pixelWidth;\n this.height = elem.offsetHeight || elem.style.pixelHeight;\n },\n\n hideBox: function()\n {\n if(!this._curBox)\n return;\n document.getElementById("tiddlyLightBoxWrapper").innerHTML= this.lightBoxHtml;\n setStylesheet("","lightBoxImageSizeHack");\n this._curBox = null;\n return false;\n }\n}\n\nTiddlyLightBox.createBoxWrapper();\n\nStory.prototype.findContainingTiddler = function(e)\n{\n while(e && (!hasClass(e,"tiddler") || !e.getAttribute("tiddler")))\n e = e.parentNode;\n return(e);\n}\n\nconfig.shadowTiddlers.TiddlyLightBoxStyles="/*{{{*/\sn#lightBoxOverlay {\sn position:absolute;\sn top: 0;\sn left: 0;\sn width: 100%;\sn height: 100%;\sn z-index: 90; \sn background-color: #000;\sn -moz-opacity: 0.75;\sn opacity: .75;\sn filter: alpha(opacity=75);\sn}\sn#lightBoxOverlay[id]{ \sn position: fixed;\sn}\sn\sn#lightboxprogress { \sn margin:0;padding:0;\sn position: absolute;\sn z-index:95;\sn}\sn\sndiv.lightBox {\sn background: #fff;\sn color: #fff;\sn border: 4px solid #525252;\snpadding:20px 20px 25px 20px; position:absolute; z-index:99;\sn}\sn\sn#lightBoxClose {text-align:right; color:#000; font-size:1.0em; position:absolute; bottom:6px; right:20px;}\sn#lightBoxClose a{color:#666; border-bottom:1px solid #666;cursor:pointer;}\sn#lightBoxClose a:hover {color:#111; border-bottom:1px solid #666; cursor:pointer; background:transparent;}\sn\sn#lightBoxContent {border:1px solid #525252;color:#000; background:#fff;}\sn#lightBox .tiddler {background:#fff;}\sn\sn#lightBoxContent img {border:0;margin:0;padding:0;display:block;cursor:pointer;}\sn\sn#lightBoxTitle {padding:0px; font-weight:bold; position:absolute; left:20px;bottom:6px; font-size:1.1em; color:#000;}\sn\sn/*}}}*/";\n//}}}
/***\n|''Name''|SimpleSearchPlugin|\n|''Description''|displays search results as a simple list of matching tiddlers|\n|''Authors''|FND|\n|''Version''|0.4.0|\n|''Status''|stable|\n|''Source''|http://devpad.tiddlyspot.com/#SimpleSearchPlugin|\n|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/SimpleSearchPlugin.js|\n|''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|\n|''Keywords''|search|\n!Revision History\n!!v0.2.0 (2008-08-18)\n* initial release\n!!v0.3.0 (2008-08-19)\n* added Open All button (renders Classic Search option obsolete)\n* sorting by relevance (title matches before content matches)\n!!v0.4.0 (2008-08-26)\n* added tag matching\n!To Do\n* tag matching optional\n* animations for container creation and removal\n* when clicking on search results, do not scroll to the respective tiddler (optional)\n* use template for search results\n!Code\n***/\n//{{{\nif(!version.extensions.SimpleSearchPlugin) { //# ensure that the plugin is only installed once\nversion.extensions.SimpleSearchPlugin = { installed: true };\n\nif(!plugins) { var plugins = {}; }\nplugins.SimpleSearchPlugin = {\n heading: "Search Results",\n containerId: "searchResults",\n btnCloseLabel: "close",\n btnCloseTooltip: "dismiss search results",\n btnCloseId: "search_close",\n btnOpenLabel: "Open all",\n btnOpenTooltip: "open all search results",\n btnOpenId: "search_open",\n \n displayResults: function(matches, query) {\n story.refreshAllTiddlers(true); // update highlighting within story tiddlers\n var el = document.getElementById(this.containerId);\n query = '"""' + query + '"""'; // prevent WikiLinks\n if(el) {\n removeChildren(el);\n } else { //# fallback: use displayArea as parent\n var container = document.getElementById("displayArea");\n el = document.createElement("div");\n el.setAttribute("id", this.containerId);\n el = container.insertBefore(el, container.firstChild);\n }\n var msg = "!" + this.heading + "\sn";\n if(matches.length > 0) {\n msg += "''" + config.macros.search.successMsg.format([matches.length.toString(), query]) + ":''\sn";\n this.results = [];\n for(var i = 0 ; i < matches.length; i++) {\n this.results.push(matches[i].title);\n msg += "* [[" + matches[i].title + "]]\sn";\n }\n } else {\n msg += "''" + config.macros.search.failureMsg.format([query]) + "''"; // XXX: do not use bold here!?\n }\n createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, plugins.SimpleSearchPlugin.closeResults, "button", this.btnCloseId);\n wikify(msg, el);\n if(matches.length > 0) { // XXX: redundant!?\n createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, plugins.SimpleSearchPlugin.openAll, "button", this.btnOpenId);\n }\n },\n\n closeResults: function() {\n var el = document.getElementById(plugins.SimpleSearchPlugin.containerId);\n removeNode(el);\n plugins.SimpleSearchPlugin.results = null;\n highlightHack = null;\n },\n\n openAll: function(ev) {\n story.displayTiddlers(null, plugins.SimpleSearchPlugin.results);\n return false;\n }\n};\n\nconfig.shadowTiddlers.StyleSheetSimpleSearch = "/*{{{*/\sn" +\n "#" + plugins.SimpleSearchPlugin.containerId + " {\sn" +\n "\stoverflow: auto;\sn" +\n "\stpadding: 5px 1em 10px;\sn" +\n "\stbackground-color: [[ColorPalette::TertiaryPale]];\sn" +\n "}\sn\sn" +\n "#" + plugins.SimpleSearchPlugin.containerId + " h1 {\sn" +\n "\stmargin-top: 0;\sn" +\n "\stborder: none;\sn" +\n "}\sn\sn" +\n "#" + plugins.SimpleSearchPlugin.containerId + " ul {\sn" +\n "\stmargin: 0.5em;\sn" +\n "\stpadding-left: 1.5em;\sn" +\n "}\sn\sn" +\n "#" + plugins.SimpleSearchPlugin.containerId + " .button {\sn" +\n "\stdisplay: block;\sn" +\n "\stborder-color: [[ColorPalette::TertiaryDark]];\sn" +\n "\stpadding: 5px;\sn" +\n "\stbackground-color: [[ColorPalette::TertiaryLight]];\sn" +\n "}\sn\sn" +\n "#" + plugins.SimpleSearchPlugin.containerId + " .button:hover {\sn" +\n "\stborder-color: [[ColorPalette::SecondaryMid]];\sn" +\n "\stbackground-color: [[ColorPalette::SecondaryLight]];\sn" +\n "}\sn\sn" +\n "#" + plugins.SimpleSearchPlugin.btnCloseId + " {\sn" +\n "\stfloat: right;\sn" +\n "\stmargin: -5px -1em 5px 5px;\sn" +\n "}\sn\sn" +\n "#" + plugins.SimpleSearchPlugin.btnOpenId + " {\sn" +\n "\stfloat: left;\sn" +\n "\stmargin-top: 5px;\sn" +\n "}\sn" +\n "/*}}}*/";\nstore.addNotification("StyleSheetSimpleSearch", refreshStyles);\n\n// override Story.search()\nStory.prototype.search = function(text, useCaseSensitive, useRegExp) {\n highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(), useCaseSensitive ? "mg" : "img");\n var matches = store.search(highlightHack, null, "excludeSearch");\n var q = useRegExp ? "/" : "'";\n plugins.SimpleSearchPlugin.displayResults(matches, q + text + q);\n};\n\n// override TiddlyWiki.search() to sort by relevance\nTiddlyWiki.prototype.search = function(searchRegExp, sortField, excludeTag, match) {\n var candidates = this.reverseLookup("tags", excludeTag, !!match);\n var primary = [];\n var secondary = [];\n var tertiary = [];\n for(var t = 0; t < candidates.length; t++) {\n if(candidates[t].title.search(searchRegExp) != -1) {\n primary.push(candidates[t]);\n } else if(candidates[t].tags.join(" ").search(searchRegExp) != -1) {\n secondary.push(candidates[t]);\n } else if(candidates[t].text.search(searchRegExp) != -1) {\n tertiary.push(candidates[t]);\n }\n }\n var results = primary.concat(secondary).concat(tertiary);\n if(sortField) {\n results.sort(function(a, b) {\n return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);\n });\n }\n return results;\n};\n\n} //# end of "install only once"\n//}}}
/*\n TiddlyWiki Comments Plugin - Online demo at http://tiddlyguv.org/CommentsPlugin.html\n\n TODO:\n - Support Cascade comment delete when the top-level tiddler is deleted\n - Support more than one < <comments> > per tiddler. This will probably entail creating an invisible root tiddler to\n hold all the comments for a macro together. The user will need to provide an ID for this tiddler.\n - Don't use global "macro" var (use "macro" param a la jquery)\n\n*/\n\n/***\n|Name|CommentsPlugin|\n|Description|Macro for nested comments, where each comment is a separate tiddler.|\n|Source|http://tiddlyguv.org/CommentsPlugin.html#CommentsPlugin|\n|Documentation|http://tiddlyguv.org/CommentsPlugin.html#CommentsPluginInfo|\n|Version|0.1|\n|Author|Michael Mahemoff, Osmosoft|\n|''License:''|[[BSD open source license]]|\n|~CoreVersion|2.2|\n***/\n\n/*{{{*/\nif(!version.extensions.CommentsPlugin) {\n\n version.extensions.CommentsPlugin = {installed:true};\n\n (function(plugin) {\n\n var cmacro = config.macros.comments = {\n\n\n\ninit: function() {\n var stylesheet = store.getTiddlerText(tiddler.title + "##StyleSheet");\n if (stylesheet) { // check necessary because it happens more than once for some reason\n config.shadowTiddlers["StyleSheetCommentsPlugin"] = stylesheet;\n store.addNotification("StyleSheetCommentsPlugin", refreshStyles);\n }\n if (!version.extensions.CommentsPlugin.retainViewTemplate) cmacro.enhanceViewTemplate();\n},\n\nenhanceViewTemplate: function() {\n var template = config.shadowTiddlers.ViewTemplate;\n if ((/commentBreadcrumb/g).test(template)) return; // already enhanced\n var TITLE_DIV = "<div class='title' macro='view title'></div>";\n var commentsDiv = "<div class='commentBreadcrumb' macro='commentBreadcrumb'></div>";\n config.shadowTiddlers.ViewTemplate = template.replace(TITLE_DIV,commentsDiv+"\sn"+TITLE_DIV);\n},\n\nhandler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var macroParams = paramString.parseParams();\n var tiddlerParam = getParam(macroParams, "tiddler");\n tiddler = tiddlerParam ? store.getTiddler(tiddlerParam) : tiddler;\n if (!tiddler || !store.getTiddler(tiddler.title)) return;\n cmacro.buildCommentsArea(tiddler, place, macroParams);\n // cmacro.refreshCommentsFromRoot(story.getTiddler(tiddler.title).commentsEl, tiddler, macroParams);\n cmacro.refreshCommentsFromRoot(place.commentsEl, tiddler, macroParams);\n},\n\n\nbuildCommentsArea: function(rootTiddler, place, macroParams) {\n var commentsArea = createTiddlyElement(place, "div", null, "comments");\n var heading = getParam(macroParams, "heading");\n if (heading) createTiddlyElement(commentsArea, "h1", null, null, heading);\n var comments = createTiddlyElement(commentsArea, "div", null, "");\n place.commentsEl = comments;\n\n if (cmacro.editable(macroParams)) {\n var newCommentArea = createTiddlyElement(commentsArea, "div", null, "newCommentArea", "New comment:");\n cmacro.forceLoginIfRequired(params, newCommentArea, function() {\n var newCommentEl = cmacro.makeTextArea(newCommentArea, macroParams);\n // var addComment = createTiddlyElement(newCommentArea, "button", null, "addComment button", "Add Comment");\n var addComment = createTiddlyButton(newCommentArea, "Add Comment", null, function() {\n var comment = cmacro.createComment(newCommentEl.value, rootTiddler, macroParams); \n newCommentEl.value = "";\n cmacro.refreshCommentsFromRoot(comments, rootTiddler, macroParams);\n }, "addComment button");\n });\n }\n\n},\n\n\nmakeTextArea: function(container, macroParams) {\n var textArea = createTiddlyElement(container, "textarea");\n textArea.rows = getParam(macroParams, "textRows") || 4;\n textArea.cols = getParam(macroParams, "textCols") || 20;\n textArea.value = getParam(macroParams, "text") || "";\n return textArea;\n},\n\nrefreshCommentsFromRoot: function(rootCommentsEl, rootTiddler, macroParams) {\n cmacro.treeifyComments(rootTiddler);\n cmacro.refreshComments(rootCommentsEl, rootTiddler, macroParams);\n},\n\nrefreshComments: function(daddyCommentsEl, tiddler, macroParams) {\n // cmacro.log("refreshComments - root", rootCommentsEl, "daddy", daddyCommentsEl,\n // "tiddler ", tiddler, "macroParams ", macroParams);\n // cmacro.log("refreshComments", arguments);\n\n var commentsEl;\n if (tiddler.fields.daddy) {\n var commentEl = cmacro.buildCommentEl(daddyCommentsEl, tiddler, macroParams);\n daddyCommentsEl.appendChild(commentEl);\n commentsEl = commentEl.commentsEl;\n } else { // root element\n removeChildren(daddyCommentsEl);\n // refreshedEl = story.getTiddler(tiddler.title);\n commentsEl = daddyCommentsEl;\n }\n\n for (var child = tiddler.firstChild; child; child = child.next) {\n cmacro.refreshComments(commentsEl, child, macroParams);\n }\n\n},\n\ntreeifyComments: function(rootTiddler) {\n\n var comments = cmacro.findCommentsFromRoot(rootTiddler);\n\n cmacro.forEach(comments, function(comment) {\n var prev = comment.fields.prev;\n var daddy = comment.fields.daddy;\n if (prev) {\n store.getTiddler(prev).next = comment;\n } else {\n store.getTiddler(daddy).firstChild = comment;\n }\n });\n\n},\n\nlogComments: function(comments) {\n for (var i=0; i<comments.length; i++) {\n var comment = comments[i];\n }\n},\n\nfindCommentsFromRoot: function(rootTiddler) {\n var comments = [];\n store.forEachTiddler(function(title,tiddler) {\n if (tiddler.fields.root==rootTiddler.title) comments.push(tiddler);\n });\n return comments;\n},\n\nfindChildren: function(daddyTiddler) {\n var comments = [];\n store.forEachTiddler(function(title,tiddler) {\n if (tiddler.fields.daddy==daddyTiddler.title) comments.push(tiddler);\n });\n return comments;\n},\n\nbuildCommentEl: function(daddyCommentsEl, comment, macroParams) {\n\n // COMMENT ELEMENT\n var commentEl = document.createElement("div");\n commentEl.className = "comment";\n\n // HEADING <- METAINFO AND DELETE\n var headingEl = createTiddlyElement(commentEl, "div", null, "heading");\n\n var metaInfoEl = createTiddlyElement(headingEl, "div", null, "commentTitle", comment.modifier + '@' + comment.modified.formatString(getParam(macroParams,"dateFormat") || "DDD, MMM DDth, YYYY hh12:0mm:0ss am"));\n metaInfoEl.onclick = function() { \n // story.closeAllTiddlers();\n story.displayTiddler("top", comment.title, null, true);\n // document.location.hash = "#" + comment.title;\n };\n\n var deleteEl = createTiddlyElement(headingEl, "div", null, "deleteComment", "X");\n deleteEl.onclick = function() {\n if (true || confirm("Delete this comment and all of its replies?")) {\n cmacro.deleteTiddlerAndDescendents(comment);\n commentEl.parentNode.removeChild(commentEl);\n }\n };\n\n // TEXT\n commentEl.text = createTiddlyElement(commentEl, "div", null, "commentText");\n wikify(comment.text, commentEl.text);\n\n // REPLY LINK\n if (cmacro.editable(macroParams)) {\n var replyLinkZone = createTiddlyElement(commentEl, "div", null, "replyLinkZone");\n var replyLink = createTiddlyElement(replyLinkZone, "span", null, "replyLink", "reply to this comment");\n replyLink.onclick = function() { cmacro.openReplyLink(comment, commentEl, replyLink, macroParams); };\n }\n\n // var clearance = createTiddlyElement(commentEl, "clearance", null, "clearance");\n // clearance.innerHTML = "&nbsp;";\n\n // COMMENTS AREA\n commentEl.commentsEl = createTiddlyElement(commentEl, "div", null, "comments");\n\n // RETURN\n return commentEl;\n\n},\n\nopenReplyLink: function(commentTiddler, commentEl, replyLink, macroParams) {\n if (commentEl.replyEl) {\n commentEl.replyEl.style.display = "block";\n return;\n }\n\n commentEl.replyEl = document.createElement("div");\n commentEl.replyEl.className = "reply";\n\n replyLink.style.display = "none";\n var newReplyHeading = createTiddlyElement(commentEl.replyEl, "div", null, "newReply");\n createTiddlyElement(newReplyHeading, "div", null, "newReplyLabel", "New Reply:");\n var closeNewReply = createTiddlyElement(newReplyHeading, "div", null, "closeNewReply", "close");\n closeNewReply.onclick = function() {\n commentEl.replyEl.style.display = "none";\n replyLink.style.display = "block";\n };\n\n cmacro.forceLoginIfRequired(params, commentEl.replyEl, function() {\n var replyText = cmacro.makeTextArea(commentEl.replyEl, macroParams);\n var submitReply = createTiddlyButton(commentEl.replyEl, "Reply", null, function() {\n var newComment = cmacro.createComment(replyText.value, commentTiddler, macroParams);\n replyText.value = "";\n closeNewReply.onclick();\n cmacro.refreshComments(commentEl.commentsEl, newComment, macroParams);\n });\n });\n\n commentEl.insertBefore(commentEl.replyEl, commentEl.commentsEl);\n},\n\n\ncreateComment: function(text, daddy, macroParams) {\n\n var rootTitle = daddy.fields.root ? daddy.fields.root : daddy.title;\n // second case is the situation where daddy *is* root\n var newComment = cmacro.createCommentTiddler(macroParams, rootTitle);\n var fieldsParam = getParam(macroParams, "fields") || "";\n var fields = fieldsParam.decodeHashMap();\n var inheritedFields = (getParam(macroParams, "inheritedFields") || "").split(",");\n cmacro.forEach(inheritedFields, function(field) {\n if (field!="") fields[field] = daddy.fields[field];\n });\n var tagsParam = getParam(macroParams, "tags") || "comment";\n var now = new Date();\n newComment.set(null, text, config.options.txtUserName, now, tagsParam.split(","), now, fields);\n\n var youngestSibling = cmacro.findYoungestChild(daddy)\n if (youngestSibling) newComment.fields.prev = youngestSibling.title;\n newComment.fields.daddy = daddy.title;\n newComment.fields.root = rootTitle;\n\n cmacro.saveTiddler(newComment.title);\n autoSaveChanges(false);\n return newComment;\n},\n\nfindYoungestChild: function(daddy) {\n\n var siblingCount = 0;\n var elderSiblings = cmacro.mapize(cmacro.selectTiddlers(function(tiddler) {\n isChild = (tiddler.fields.daddy==daddy.title);\n if (isChild) siblingCount++;\n return isChild;\n }));\n if (!siblingCount) return null;\n\n // Find the only sibling that doesn't have a prev pointing at it\n var youngestSiblings = cmacro.clone(elderSiblings) // as a starting point\n cmacro.forEachMap(elderSiblings, function(tiddler) {\n delete youngestSiblings[tiddler.fields.prev];\n });\n\n for (title in youngestSiblings) { return youngestSiblings[title]; }\n\n},\n\n// The recursive delete is run by a separate function (nested inside\n// this one, for encapsulation purposes).\ndeleteTiddlerAndDescendents: function(tiddler) {\n\n function deleteRecursively(tiddler) {\n for (var child = tiddler.firstChild; child; child = child.next) {\n deleteRecursively(child);\n }\n store.removeTiddler(tiddler.title);\n }\n\n cmacro.treeifyComments(store.getTiddler(tiddler.fields.root));\n\n // save some info prior to deleting\n var prev = tiddler.fields.prev;\n var next = tiddler.next;\n\n deleteRecursively(tiddler);\n\n // used saved info\n if (next) {\n next.fields.prev = prev;\n cmacro.saveTiddler(next.title);\n }\n\n autoSaveChanges(false);\n\n},\n\n\nforEach: function(list, visitor) { for (var i=0; i<list.length; i++) visitor(list[i]); },\nforEachMap: function(map, visitor) { for (var key in map) visitor(map[key]); },\nselect: function(list, selector) { \n var selection = [];\n cmacro.forEach(list, function(currentItem) {\n if (selector(currentItem)) { selection.push(currentItem); }\n });\n return selection;\n},\nselectTiddlers: function(selector) { \n var tiddlers = [];\n store.forEachTiddler(function(title, tiddler) {\n var wanted = selector(tiddler);\n if (wanted) tiddlers.push(tiddler);\n });\n return tiddlers;\n},\nmap: function(list, mapper) { \n var mapped = [];\n cmacro.forEach(list, function(currentItem) { mapped.push(mapper(currentItem)); });\n return mapped;\n},\nremove: function(list, unwantedItem) {\n return cmacro.select(list,\n function(currentItem) { return currentItem!=unwantedItem; });\n},\nmapize: function(tiddlerList) {\n var map = {};\n cmacro.forEach(tiddlerList, function(tiddler) { map[tiddler.title] = tiddler; });\n return map;\n},\nclone: function(map) { return merge({}, map); },\n\n\neditable: function(params) {\n var editable = getParam(params, "editable");\n return (!editable || editable!="false");\n},\n\nneedsLogin: function(params) {\n var loginCheck = getParam(params, "loginCheck");\n return loginCheck && !window[loginCheck]();\n},\n\nforceLoginIfRequired: function(params, loginPromptContainer, authenticatedBlock) {\n if (cmacro.needsLogin(params)) wikify("<<"+getParam(macroParams, "loginPrompt")+">>", loginPromptContainer);\n else authenticatedBlock();\n},\n\n\nmergeReadOnly: function(first, second) {\n var merged = {};\n for (var field in first) { merged[field] = first[field]; }\n for (var field in second) { merged[field] = second[field]; }\n return merged;\n},\n\n// callers may replace this with their own ID generation algorithm\ncreateCommentTiddler: function(macroParams, rootTitle) {\n // var titleFormat = getParam(macroParams, "titleFormat") || "%root%Comment"; \n var prefix = rootTitle+"Comment"; // was "_comment"\n if (!store.createGuidTiddler) return store.createTiddler(prefix+((new Date()).getTime()));\n return store.createGuidTiddler(prefix);\n},\nsaveTiddler: function(tiddler) {\n var tiddler = (typeof(tiddler)=="string") ? store.getTiddler(tiddler) : tiddler; \n store.saveTiddler(tiddler.title, tiddler.title, tiddler.text, tiddler.modifier, tiddler.modified, tiddler.tags, cmacro.mergeReadOnly(config.defaultCustomFields, tiddler.fields), false, tiddler.created)\n},\nlog: function() { if (console && console.firebug) console.log.apply(console, arguments); },\nassert: function() { if (console && console.firebug) console.assert.apply(console, arguments); },\n\n\ncopyFields: function(fromTiddler, toTiddler, field1, field2, fieldN) {\n for (var i=2; i<arguments.length; i++) {\n fieldKey = arguments[i];\n if (fromTiddler.fields[fieldKey]) toTiddler.fields[fieldKey] = fromTiddler.fields[fieldKey];\n }\n}\n}\n\nconfig.macros.commentsCount = {\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var count = 0;\n if (tiddler && store.getTiddler(tiddler.title)) {\n var rootTiddler = paramString.length ? paramString : tiddler.title;\n count = config.macros.comments.findCommentsFromRoot(store.getTiddler(rootTiddler)).length;\n }\n createTiddlyText(place, count);\n }\n},\n\nconfig.macros.commentBreadcrumb = {\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n if (!tiddler.fields.root) return;\n var rootLink = createTiddlyElement(place, "span", null, null);\n createTiddlyLink(rootLink, tiddler.fields.root, true);\n\n var rootIsParent = tiddler.fields.daddy==tiddler.fields.root;\n var rootIsGrandparent = (store.getTiddler(tiddler.fields.daddy)).fields.daddy==tiddler.fields.root;\n\n if (!rootIsParent) {\n if (!rootIsGrandparent) createTiddlyElement(place, "span", null, null, " > ... ");\n createTiddlyElement(place, "span", null, null, " > ");\n var daddyLink = createTiddlyElement(place, "span", null, null);\n createTiddlyLink(daddyLink, tiddler.fields.daddy, true);\n }\n\n createTiddlyElement(place, "span", null, null, " > ");\n\n // place.appendChild(createTiddlyLink(tiddler.fields.root));\n }\n}\n\nconfig.macros.tiddlyWebComments = {};\nconfig.macros.tiddlyWebComments.handler =\n function(place,macroName,params,wikifier,paramString,tiddler) {\n paramString = "fields:'server.workspace:bags/comments' inheritedFields:'server.host,server.type'";\n config.macros.comments.handler(place,macroName,params,wikifier, paramString,tiddler);\n };\n\nfunction log() { if (console && console.firebug) console.log.apply(console, arguments); }\n\n})(version.extensions.CommentsPlugin);\n\n\n/***\n!StyleSheet\n\n.comments h1 { margin-bottom: 0; padding-bottom: 0; }\n.comments { padding: 0; }\n.comment .comments { margin-left: 1em; }\n\n.comment { padding: 0; margin: 1em 0 0; }\n.comment .comment { margin 0; }\n.comment .toolbar .button { border: 0; color: #9a4; }\n.comment .heading { background: [[ColorPalette::PrimaryPale]]; color: [[ColorPalette::PrimaryDark]]; border-bottom: 1px solid [[ColorPalette::PrimaryLight]]; border-right: 1px solid [[ColorPalette::PrimaryLight]]; padding: 0.5em; height: 1.3em; }\n.commentTitle { float: left; }\n.commentTitle:hover { text-decoration: underline; cursor: pointer; }\n.commentText { clear: both; padding: 1em 1em; }\n.deleteComment { float: right; cursor: pointer; text-decoration:underline; color:[[ColorPalette::SecondaryDark]]; padding-right: 0.3em; }\n.comment .reply { margin-left: 1em; }\n.comment .replyLink { color:[[ColorPalette::SecondaryDark]]; font-style: italic; \n cursor: pointer; text-decoration: underline; margin: 0 1em; }\n.comment .created { }\n.comment .newReply { color:[[ColorPalette::SecondaryDark]]; margin-top: 1em; }\n.newReplyLabel { float: left; }\n.closeNewReply { cursor: pointer; float: right; text-decoration: underline; }\n.comments textarea { width: 100%; padding: 0.3em; margin-bottom: 0.6em; }\n.newCommentArea { margin-top: 0.5em; }\n\n.clearance { clear: both; }\n\n\n!(end of StyleSheet)\n\n***/\n\n config.macros.comments.init();\n\n} // end of 'install only once'\n/*}}}*/\n\n// function log() { if (console && console.firebug) console.log.apply(console, arguments); }\n
<html>\n<h3>CT History titles unique to WCSU in the CONSULS system donated by the Brooklyn Historical Society</h3>\n<table border="1">\n<tr>\n<th>TITLE</th>\n<th>AUTHOR</th>\n\n<th>RECORD #(BIBLIO)</th>\n<th>CALL #(ITEM)</th>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078169">"Remember the days of old" : a discourse delivered in the First Congregaational Church, Norwich / by H.P. Arms ... December 3, 1876, on the fourtieth anniversary of his settlement .</a>\n</td>\n<td>Arms, Hiram P. (Hiram Phelps), 1799-1882</td>\n<td>b30781693</td>\n<td>F104.N93 Axx 1876</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079260">1782--1882 ; Centennial celebrations in two parts / edited by A.B. Davenport</a>\n</td>\n<td>Davenport, A. B. (Amzi Benedict), b. 1817</td>\n<td>b30792605</td>\n<td>F104.S8 Sxx 1882</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077255">250th anniversary of the Congregational Church, December 22, 1885. : Historical address, / by Rev. Samuel Scoville ; poem / by Rev. John G. Davenport</a>\n</td>\n\n<td>Scoville, Samuel, 1834-1902</td>\n<td>b30772552</td>\n<td>F104.S8 Sxx 1885</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077172">A brief historical sketch of the Church of Christ, in Chaplin, Ct., : including the confession of faith and covenants, adopted by said church: : also, the names of all persons admitted as members, since its organization. / Published by order of the Church</a>\n</td>\n<td>Church of Christ (Chaplin, Conn.)</td>\n<td>b30771729</td>\n<td>F104.C35 Cxx 1840</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072539">A century sermon : delivered before the Church and Society, at Bethel, Ct., Nov. 30, 1860 / by L.P. Hickok .</a>\n</td>\n<td>Hickok, Laurens P. (Laurens Perseus), 1798-1888</td>\n<td>b30725392</td>\n<td>F104 .B46 Hxx 1861</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072042">A century sermon, delivered at Danbury January 1, A.D. 1801. : Being the first day of the nineteenth century, since the Christian era. In which is exhibited a brief view of the most remarkable events of the eighteenth century: with a sketch of the history of the town of Danbury, from the first settlement, to the present time / by Thomas Robbins .</a>\n\n</td>\n<td>Robbins, Thomas, 1777-1856</td>\n<td>b30720424</td>\n<td>F104.D2 R63 1828</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073120">A deserted village. By Henry Sherman Boutell</a>\n</td>\n<td>Boutell, Henry Sherman, 1856-1926</td>\n<td>b30731203</td>\n\n<td>PZ3.B668 D</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073132">A Genealogist s history of Redding, Conn. / Lester Card</a>\n</td>\n<td>Card, Lester</td>\n<td>b3073132x</td>\n<td>F 104.R3 .Lxx 1937</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3079273">A historical sketch of Universalism in Norwich, Conn. : a sermon delivered before the Universalist Society in that place, on the 5th of May, 1844 / by R.O. Williams</a>\n</td>\n<td>Williams, Rufus Orland, 1805-1889</td>\n<td>b30792733</td>\n<td>F104.N93 Wxx 1844</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083818">A letter from the Rev. Thomas Hooker of Hartford : in answer to the complaints of Gov. Winthrop of Massachusetts, against Connecticut</a>\n</td>\n<td>Hooker, Thomas, 1586-1647</td>\n\n<td>b30838186</td>\n<td>F97 .H66 1859</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077174">A New Year s sermon : delivered at Chaplin, Conn., Saturday, January 3rd, 1864 / by Francis Williams</a>\n</td>\n<td>Williams, Francis</td>\n<td>b30771742</td>\n<td>F104.C35 Wxx 1864</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083610">A sermon delivered March 29, 1839 / by Thomas F. Davies ; And published by request of the Congregational Society in Green s Farms</a>\n</td>\n<td>Davies, Thomas F. (Thomas Frederick), 1793-1865</td>\n<td>b30836104</td>\n<td>F97 .Dxx 1839</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083748">A sermon preached at Sherman, Conn. Sunday, Apr. 1, 1894</a>\n</td>\n\n<td>McKnight, Harry Chapman, b. 1859</td>\n<td>b30837480</td>\n<td>F104.S53 Mxx 1894</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077175">A souvenir of Old Home Week August 30th to Sept. 7th, 1903, Bridgeport, Connecticut. Issued by the Souvenir Committee Department of publicity</a>\n</td>\n<td>Sperry, Robert M. and Babcock, George H</td>\n<td>b30771754</td>\n<td> F104.B757 Sxx 1903</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083755">A year s history of the Asylum Hill Congregational Church of Hartford, Connecticut / by Lewis F. Reid. Read at the annual meeting of the church February 3, 1898</a>\n</td>\n<td>Reid, Lewis Fuller, 1853-1898</td>\n<td>b30837558</td>\n<td>F104.H362 Rxx 1898</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083767">Abstract of church records of the town of Stamford, County of Fairfield, and State of Connecticut, from the earliest records extant to 1850 by Spencer P. Mead</a>\n\n</td>\n<td>Mead, Spencer Percival, 1863-</td>\n<td>b30837674</td>\n<td>F104.S8 Mxx 1923</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076043">Abstract of probate records at Fairfield, county of Fairfield, and state of Connecticut, 1648-1750, by Spencer P. Mead .</a>\n</td>\n<td>Mead, Spencer Percival, 1863-, comp</td>\n<td>b30760434</td>\n\n<td>F102.F2 Mxx 1929</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077176">Abstract of probate records at Fairfield, county of Fairfield, and state of Connecticut, 1704-1757, by Spencer P. Mead .</a>\n</td>\n<td>Mead, Spencer Percival, 1863-, comp</td>\n<td>b30771766</td>\n<td>F102.F2 Mxx 1934</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3076897">Abstract of probate records for the district of Stamford, county of Fairfield, and state of Connecticut, 1803-1848 / by Spencer P. Mead</a>\n</td>\n<td>Mead, Spencer Percival, 1863-</td>\n<td>b30768974</td>\n<td>F104.S8 S78 1924</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084210">Acts and laws of the State of Connecticut in America (1784)*'Acts and Laws of the State of Connecticut in America. [State seal]'</a>\n</td>\n<td>Connecticut</td>\n\n<td>b30842104</td>\n<td>KFC3630 1784 .A24 1784</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2705251">An Account of Tryon s raid on Danbury in April, 1777, also the battle of Ridgefield and the career of Gen. David Wooster / compiled by James R. Case</a>\n</td>\n<td>Case, James Royal</td>\n<td>b27052515</td>\n<td>F104 .D2 C37 1927</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083592">An address delivered to the people of Goshen, Connecticut, at their first centennial celebration, September 28, 1838 by Rev. Grant Powers .</a>\n</td>\n<td>Powers, Grant, 1784-1841</td>\n<td>b30835926</td>\n<td>F104.G6 P8 1839</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078165">An historical address given on the occasion of the centennial anniversary of the First Congregational Church, Norwich, Conn., at Norwich Town Green, Sunday, June 16th, 1901 / by Charles Addison Northrop</a>\n</td>\n\n<td>Northrop, Charles Addison, 1850-1931</td>\n<td>b30781656</td>\n<td>F104.N93 Nxx 1901</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2399762">Ancient town records : New Haven town records 1649-1769 Franklin Bowditch Dexter</a>\n</td>\n<td>Dexter, Franklin Bowditch, 1842-1920</td>\n<td>b2399762x</td>\n<td>F104.N6</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078173">Articles of faith (with scripture proofs,) and church covenant, adopted by the Fifth Congregational Society in Norwich, June 1, 1842</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b30781735</td>\n<td>F104.N93 Bxx 1843</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079277">Bicentennial sermon : preached before the First Congregational Church, August 24, 1904 by the Pastor Rev. Henry Tucker Arnold, together with the proceedings at the anniversary. / by Rev. Henry T. Arnold</a>\n\n</td>\n<td>Arnold, Henry T</td>\n<td>b30792770</td>\n<td>F104.P53 A76</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084883">Book of words : the pageant of Darien : the pageant of a residential community / William Chauncy Langdon</a>\n</td>\n<td>Langdon, William Chauncy, 1871-1947</td>\n<td>b30848830</td>\n\n<td>F104.D27 L2</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084150">Catalogue of Broadway Congregational Church Norwich, Conn., 1871-1872</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b30841501</td>\n<td>F104.N93 Bxx 1872</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3083573">Catalogue of the First Church of Christ, in Colchester, Conn., A.D. 1870</a>\n</td>\n<td>First Church of Christ (Colchester, Conn.)</td>\n<td>b30835732</td>\n<td>F104.C6 Fxx 1870</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076176">Catalogue of the members of the church in the Second Ecclesiastical Society in Cornwall, Conn., from its original formation in 1782 to May 1, 1858, together with a sketch of the history of the church, the covenant and standing rules</a>\n</td>\n<td>Cornwall (Conn.). Second Church of Christ</td>\n\n<td>b30761761</td>\n<td>F104.C7 .Sxx 1877</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077208">Celebration in Green s Farms : the historical discourse delivered at the celebration of the one hundred and fiftieth anniversary of the formation of the church in Green s Farms, held Oct. 26, 1865 / by B.J. Relyea ; with an appendix</a>\n</td>\n<td>Relyea, B. J. (Benjamin J.), 1819-1901</td>\n<td>b30772084</td>\n<td>F104.G75 Rxx 1865</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077178">Centennial services of the Stamford Baptist Church : including the historical discourse by Rev. Edward Lathrop ... November 6, 1873 .</a>\n</td>\n<td>Baptist Church (Stamford, Conn.)</td>\n<td>b3077178x</td>\n<td>BX6249.S7 C4 1875</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083578">Church of Christ, Newington, Conn. celebration of the one hundredth anniversary of the church building and the 175th anniversary of the organization of the church, on October 2 and 3, 1897</a>\n</td>\n\n<td>\n</td>\n<td>b30835781</td>\n<td>F104.N75 Cxx 1897</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073295">Commemorative discourse, delivered on the occasion of meeting for the last time in the old house of worship of the Second Congregational Church in Greenwich, Dec. 5, 1858</a>\n</td>\n<td>Linsley, Joel Hervey</td>\n<td>b30732955</td>\n<td>F104.G8 Sxx 1860</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078673">Confession of faith and form of covenant of the First Congregational church in North Woodstock : With an appendix / Published by vote of the church</a>\n</td>\n<td>North Woodstock (Mass.). First Congregational Church</td>\n<td>b30786733</td>\n<td>F104.W9 Fxx 1840</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073299">Consecration of the fourth church edifice, Trinity Parish, Newtown, Conn., and celebration of the one hundred and fiftieth anniversary of its foundation, with memorial sermon / by Rev. D.P. Sandford, D.D</a>\n\n</td>\n<td>\n</td>\n<td>b30732992</td>\n<td>F104.N78 Txx 1882</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072826">Danbury Directory</a>\n</td>\n<td>\n</td>\n<td>b30728265</td>\n\n<td>F104.D2 A17</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083761">Davenport Ridge, Stamford, Connecticut : Historical sketch</a>\n</td>\n<td>Davenport, A. B. (Amzi Benedict), b. 1817</td>\n<td>b30837613</td>\n<td>F104.S8 Dxx 1892</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3081517">Directory of the Broadway Congregational Church and Congregation, Norwich, Conn. : May, 1879</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n<td>b30815174</td>\n<td>F104.N93 Bxx 1879</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077163">Fairfield, Connecticut, Probate records. Abstracted by William A. Eardeley, M.A. during the years 1898, 1899, and 1900 from the original records in the Town Hall in Fairfield, Connecticut</a>\n</td>\n<td>Eardeley, William Applebie, 1870-1935</td>\n\n<td>b30771638</td>\n<td>F104.F2 Exx 1900</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078171">Fairfield, Fairfield Co., Conn. : inscriptions from graveyards with notes and index / Francis F. Spies</a>\n</td>\n<td>Spies, Francis F. (Francis Ferdinand), 1871-1934</td>\n<td>b30781711</td>\n<td>F104.F2 Sxx 1934</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073298">Foundation in the holy mountains : a sermon preached at the opening of Trinity Church, Newtown, Thursday, February 3, 1870 / by E. Edwards Beardsley</a>\n</td>\n<td>Beardsley, E. Edwards (Eben Edwards), 1808-1891</td>\n<td>b30732980</td>\n<td>F104.N78 Bxx 1870</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078828">Gladness for great things done : an historical discourse for the jubilee of the Society for the Propagation of the Gospel : delivered in Trinity Church, Fairfield (Southport Borough) Conn., on the eighth Sunday after Trinity, August 10th, 1851 / by N.E. Cornwall</a>\n</td>\n\n<td>Cornwall, N. E. (Nathanael Ellsworth)</td>\n<td>b30788286</td>\n<td>F104.F2 Cxx 1851</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077219">Handbook of the Congregational Church in East Woodstock, CT</a>\n</td>\n<td>Congregational Church (East Woodstock, Conn.)</td>\n<td>b30772199</td>\n<td>F104.Wxx Cxx 1860</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084183">Historical address at the dedication of the Soldiers monument in Barkhamsted, September 10, 1897 / by Wm. Wallace Lee</a>\n</td>\n<td>Lee, W. W. (William Wallace), 1828-</td>\n<td>b30841835</td>\n<td>F104.B37 L44 1897</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079257">Historical address delivered by Rev. Cornelius W. Morrow, at the one hundredth anniversary of the dedication of the first house of worship erected on the site of the present Second Congregational Church, of Norwich, Conn., 1795-1895. With an introd. by Deacon George D. Coit</a>\n\n</td>\n<td>Second Congregational Church (Norwich, Conn.)</td>\n<td>b30792575</td>\n<td>F104.N93 Sxx 1895?</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083079">Historical address in commemoration of the two hundred and fiftieth anniversary of the founding of Norwalk, September eleventh, 1651. Delivered in the armory in Norwalk, September eleventh, 1901, by Augustus Field Beard .</a>\n</td>\n<td>Beard, Augustus Field, 1833-1934</td>\n<td>b30830795</td>\n\n<td>F104 N9 Bxx 1901</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083606">Historical discourse : A New Years sermon delivered in the Congregational Church, Jewett City, Conn., January 13, 1856 / by Thomas L. Shipman</a>\n</td>\n<td>Shipman, Thomas L. (Thomas Leffingwell), 1798-1886</td>\n<td>b30836062</td>\n<td>F104.G82 Sxx 1856</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3083811">Historical discourse delivered by E. S. Holloway, pastor of Greenville Baptist Church : at the dedication of their Chapel, Wednesday, Dec. 30, 1885</a>\n</td>\n<td>Holloway, E. S. (Edwin S.)</td>\n<td>b30838113</td>\n<td> F104.N93 Hxx 1985</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083080">Historical notice of the Congregational Church in Enfield, Conn. with the confession of faith, the covenant, and a chronological catalogue of the members since 1783</a>\n</td>\n<td>Congregational Church (Enfield, Conn.)</td>\n\n<td>b30830801</td>\n<td>F104.E4 C66 1845</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079259">Historical notice of the Congregational Church in North Coventry, Conn. : with the articles of faith and a catalogue of members</a>\n</td>\n<td>Congregational Church (North Coventry, Conn.)</td>\n<td>b30792599</td>\n<td>F104.C75 Cxx 1837</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073122">Historical sketch and manual of the First Congregational Church in Ridgefield, Conn</a>\n</td>\n<td>Congregational Church, Ridgefield Conn. (First)</td>\n<td>b30731227</td>\n<td>F104.R5 Fxx 1904</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078155">Historical sketch of the First Church in Norwalk : with the articles of faith, covenant and catalogue of members, May 4, 1885</a>\n</td>\n\n<td>First Church (Norwalk, Conn.)</td>\n<td>b30781553</td>\n<td> F104.N9 F57 1885</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077167">Historical sketch of Union lodge no. 5, F. &amp; A.M</a>\n</td>\n<td>Phelps, I. Newton</td>\n\n<td>b30771675</td>\n<td>HS539.S8 U52 1924</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073294">Historical sketches and rules of Fairfield East Association and Consociation with statistical notices of the consociated churches</a>\n</td>\n<td>Fairfield East Association and Consociation (Fairfield, Conn.)</td>\n<td>b30732943</td>\n<td>F104.F2 F5 1859</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084884">History of Darien from 1640 to 1928 / as compiled by the Teachers of the Darien Public Schools</a>\n</td>\n<td>\n</td>\n<td>b30848842</td>\n<td>F104.D27 Txx 1929</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083555">History of Oxford: Part first, church records, births, marriages, deaths, etc., 1747-1883 / by W.C. Sharpe</a>\n</td>\n\n<td>Sharpe, W. C. (William Carvosso), 1839-1924</td>\n<td>b30835550</td>\n<td>F104 O9 Sxx 1885</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077168">History of the ancient maritime interests of New Haven</a>\n</td>\n<td>Trowbradge, Thomas Rutherford</td>\n<td>b30771687</td>\n<td>HF3163.N37 T7</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076177">History of the Second Congregational Church of Cornwall; memorial sermon delivered at North Cornwall, Conn., July 9, 1876, by Rev. Charles N. Fitch. From the history of Cornwall</a>\n</td>\n<td>Fitch, Charles Newton, 1846-1924</td>\n<td>b30761773</td>\n<td> F104.C7 Sxx 1877</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076041">If a house could talk; being a history of a flood of released recollections, the resurrection of old letters and photographs pertaining to Litchfield and the Vaill homestead covering a past dating fronm 1867 to 1876 in which I was vitally interested, an unabridged past dating from 1876 to 1915, an interim of two years, when by some strange decree of fate it was ordained that I should spend the summer months close by the spot on which Julia last tread the earth, and where her soul took flight, a fittig atmosphere in where to gather these stray leaves within the confines of these covers to the memory of Julia and for "auld lang syne," by Cora Smith Gould</a>\n\n</td>\n<td>Gould, Cora Smith, b. 1855</td>\n<td>b30760410</td>\n<td>F104.L7 G6</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083839">Laws, etc. (Session laws : 1756)*'Acts and laws passed by the General Court or Assembly of His Majesty s English Colony of Connecticut in New England in America : held at New Haven, (by adjournment, and special order of ... the Governor ...) on Wednesday the twenty first day of January ... 1756'</a>\n</td>\n<td>Connecticut</td>\n<td>b30838393</td>\n\n<td>KFC3625.2 1756bx</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073827">Manual for the churches of the Litchfield South Consociation, 1855</a>\n</td>\n<td>Litchfield South Consociation</td>\n<td>b30738271</td>\n<td>F102.L6 Lxx 1855</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3078823">Manual for the members of the Congregational Church in North Woodstock, Conn. : "by this shall all men know that ye are my disciples, if ye have love one to another." John 13:35</a>\n</td>\n<td>North Woodstock (Mass.). First Congregational Church</td>\n<td>b30788237</td>\n<td>F104.W9 Fxx 1861</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078172">Manual of the Broadway Congregational Church of Norwich, Conn., containing a brief history of the church, its rules, articles of faith, convenant and catalogue, together with a statement of some of the leading principles of Congregationism. 1865</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n\n<td>b30781723</td>\n<td>F104.N93 Bxx 1865</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072501">Manual of the Congregational church in Bethel, Conn. : containing historical sketch, articles of faith, the covenant and rules of the church, with a catalogue of officers and members from its foundation, November 25, 1760 ; May 16, 1887</a>\n</td>\n<td>Congregational Church (Bethel, Conn.)</td>\n<td>b3072501x</td>\n<td>F104.B46 1887</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077218">Manual of the Congregational Church of Eastford, Conn. organized September 23d, 1778</a>\n</td>\n<td>Congregational Church (Eastford, Conn.)</td>\n<td>b30772187</td>\n<td>F104.E33 Cxx 1903</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083577">Manual of the Congregational Church, in Newington, Conn</a>\n</td>\n\n<td>Congregational Church (Newington, Conn.)</td>\n<td>b3083577x</td>\n<td>F104.N75 Cxx 1898</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083594">Manual of the Congregational Church: Mansfield Centre, Conn., with a historical sketch and roll of members, from its organization to the present time. (1875) revised 1910</a>\n</td>\n<td>\n</td>\n<td>b3083594x</td>\n<td>F104.M2 Cxx 1910</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078156">Manual of the First Church in Norwalk, with a catalogue of surviving members, January 1, 1868</a>\n</td>\n<td>Norwalk (Conn.). First Congregational Church</td>\n<td>b30781565</td>\n<td>F104.N9 F57 1868</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079274">Manual of the First Church of Christ, Pomfret, Connecticut : 1898</a>\n\n</td>\n<td>First Church of Christ (Pomfret, Conn.)</td>\n<td>b30792745</td>\n<td>F104.P8 Fxx 1898</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078676">Manual of the First Congregational Church of Norwich, Conn., instituted in 1660: with historical notes, and a catalogue of its officers and members from December, 1699, to January, 1860</a>\n</td>\n<td>First Congregational Church (Norwich, Conn.)</td>\n<td>b30786769</td>\n\n<td> F104.N93 Fxx 1860</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083828">Manual of the First Congregational Church of Norwich, Conn., instituted in 1660: with historical notes, and a catalogue of its officers and members from January 1, 1868, to January 1, 1892</a>\n</td>\n<td>First Congregational Church (Norwich, Conn.)</td>\n<td>b30838289</td>\n<td> F104.N93 Fxx 1892</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079282">Manual of the First Congregational Church of Old Lyme, Conn. 1896</a>\n</td>\n<td>Shirley, Arthur, 1853-1925</td>\n<td>b30792824</td>\n<td>F104.L95 S55 1896</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083559">Manual of the First Congregational Church, Huntington, Conn</a>\n</td>\n\n<td>First Congregational Church (Huntington, Conn.)</td>\n<td>b30835598</td>\n<td> F104.H9 Fxx 1889</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076040">Manual of the Park St. Congregational Church</a>\n</td>\n<td>Park Street Congregational Church (Bridgeport, Conn.)</td>\n<td>b30760409</td>\n\n<td>F104.B762 P3 1874</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078675">Manual of the Union Baptist Church, Mystic River, Comm. : containing a historical catalogue of the members to April, 1870; am alphabetical index; a history of the church, etc., and the covenant</a>\n</td>\n<td>\n</td>\n<td>b30786757</td>\n<td>F104.M84 Uxx 1870</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3076038">Manual*'Manual for the communicants of the First Congregational Church in Bridgeport, compiled January 1, 1832 .'</a>\n</td>\n<td>First Congregational Church (Bridgeport, Conn.)</td>\n<td>b30760380</td>\n<td>F104.B762 cx 1832</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079268">Manual*'Manual of the Broadway Congregational Church, in Norwich, Conn., containing the history of the church, its rules, articles of faith, form of admission, covenant, and catalogues of officers and members. June, 1873 ..'</a>\n</td>\n<td>Broadway Congregational Church (Norwich, Conn.)</td>\n\n<td>b3079268x</td>\n<td>F104.N93 B8 1873</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079265">Manual*'Manual of the Congregational Church in Plantsville, Conn., 1865-1891'</a>\n</td>\n<td>Plantsville Congregational Church (Plantsville, Conn.)</td>\n<td>b30792654</td>\n<td>F104.M5 Pxx 1891</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073130">Marriages and deaths from miscellaneous newspapers published in Connecticut from 1764-1820 / [copied by Edna Huntington]</a>\n</td>\n<td>\n</td>\n<td>b30731306</td>\n<td>F93 .Hxx 1939</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077173">Memoranda of all the inscriptions in the old burying ground at Colchester, Conn. with some notes from the town records / by Frank E. Randall</a>\n</td>\n\n<td>Randall, Frank E</td>\n<td>b30771730</td>\n<td>F104.C6 R36</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078167">Memorial of the services held in connection with the dedication and opening for public worship of the Park Congregational Church, Norwich, Conn. : containing also a brief summary of the history of the church</a>\n</td>\n<td>Park Congregational Church (Norwich, Conn.)</td>\n<td>b3078167x</td>\n<td>F104.N93 P27 1874</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083552">Memorials of the First Baptist Church, Hartford, Conn., with sketches of its deceased pastors, the Rev s S.S. Nelson, E. Cushman, G.F. Davis, and J.S. Eaton : Discourses delivered after the dedication of the new church edifice may, 1856, with a "Pastoral Decade," etc. / by Robert Turnbull</a>\n</td>\n<td>Turnbull, Robert, 1809-1877</td>\n<td>b30835525</td>\n<td>F104.H362 B322 1857</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3085063">Names and number of brethren of the church and heads of familes in Greenfield at the time when the parish of North Fairfield was set off. Copied by William Applebie Daniel Eardeley</a>\n\n</td>\n<td>Eardeley, William Applebie, 1870-1935</td>\n<td>b30850630</td>\n<td>F104.F2 Exx</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078170">Norwich free academy : an address at the dedication of the Free academy in Norwich, Conn. together with the remarks of gentlemen present by invitation / by John P. Gulliver</a>\n</td>\n<td>Gulliver, John Putnam, 1819-1894</td>\n<td>b3078170x</td>\n\n<td>F104.N93 Gxx 1856</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078832">Norwich, "the rose of New England" : and its environments, civic, industrial and agricultural / compiled by the Norwich Business Men s Association</a>\n</td>\n<td>\n</td>\n<td>b30788328</td>\n<td>F104.N93 Nxx 1914</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3076181">Official programme and historical review, July 3rd and 4th, 1888</a>\n</td>\n<td>Bridgeport (Conn.)</td>\n<td>b30761815</td>\n<td>F104.B74 Bxx 1888</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083764">Official souvenir program of the 275th anniversary of the town of Stamford, Connecticut, Thursday, Friday, Saturday, Sunday June eight, nine, ten, eleven nineteen hundred and sixteen</a>\n</td>\n<td>Stamford (Conn. : Town)</td>\n\n<td>b30837649</td>\n<td>F104.S8 Sxx 1916</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084885">Old Canaan during the revolution / by Lillian Clayton Smith. Grandmother s grandmother / by Louise Helen Coburn</a>\n</td>\n<td>Smith, Lillian Clayton</td>\n<td>b30848854</td>\n<td>F29.C25 S6</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073820">Our first year of army life: an anniversary address, delivered to the First Regiment of Connecticut Volunteer Heavy Artillery, at their camp near Gaines Mills, Va., June, 1862 / by the chaplain of the regiment</a>\n</td>\n<td>Walker, Edward Ashley, 1834-1866</td>\n<td>b30738209</td>\n<td>E499.7 1st W35 1862</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084147">Parish directory of the Park Congregational Church,Officers, and Members of Sunday School. February 1, 1897</a>\n</td>\n\n<td>Park Congregational Church (Norwich, Conn.)</td>\n<td>b30841471</td>\n<td>F104.N93 P27 1897</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083587">Personal accountability : a sermon preached to the First Church and Society in Madison, Conn., the first Sabbath of the year 1857 / by Milton Badger</a>\n</td>\n<td>Badger, Milton, 1800-1873</td>\n<td>b30835872</td>\n<td>F104.M14 Bxx 1857</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073829">Proceedings of the North and South Consociations of Litchfield County, Ct. : in convention at Litchfield, July 7 and 8, 1852, to commemorate the centennial anniversary of their primitive organization</a>\n</td>\n<td>\n</td>\n<td>b30738295</td>\n<td>F102.L6 L5 1852</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077177">Records of Fairfield, Connecticut / presented by Ellen Hardin Walworth Chapter of Daughters of American Revolution of New York City ; copied by Mrs. Harvey Tyson White, Regent</a>\n\n</td>\n<td>\n</td>\n<td>b30771778</td>\n<td>F104.F2 Wxx 1926?</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3078824">Re-dedication. A discourse preached at the re-opening of the Congregational Church, in Sharon, Connecticut, March 2d, 1864. Published by request</a>\n</td>\n<td>McLaughlin, D. D. Tompkins (Daniel Decius Tompkins), 1812-1895</td>\n<td>b30788249</td>\n\n<td>F104.S53 Cxx 1864</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073127">Reports of the Fairfield County Historical Society, Bridgeport, Conn</a>\n</td>\n<td>Fairfield Historical Society (Fairfield, Conn.)</td>\n<td>b30731276</td>\n<td>F104.F2 F23 1895</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3073828">Semi-centennial of the Litchfield Co. Foreign Mission Society, celebrated at Litchfield, October 16, 1861</a>\n</td>\n<td>Foreign Mission Society for the County of Litchfield</td>\n<td>b30738283</td>\n<td>F102.L6 Fxx 1861</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073302">Souvenir of the Centennial exhibition: or, Connecticut s representation at Philadelphia, 1876. Embracing a condensed history of the origin and progress of the great international exhibition ... Also, a list of over forty thousand Connecticut visitors</a>\n</td>\n<td>Curtis, George D</td>\n\n<td>b30733029</td>\n<td>T825.F3 C8 1877</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077249">St. John s Parish, Stamford, Connecticut</a>\n</td>\n<td>St. John s Episcopal Church (Stamford, Conn.)</td>\n<td>b30772497</td>\n<td>F104.S8 Sxx 1898</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076885">Stamford, Fairfield County, Conn. : records of the Congregational Church baptisms 1747 per 1766</a>\n</td>\n<td>Eardeley, William Applebie, 1870-1935</td>\n<td>b30768858</td>\n<td>F104.S8 Cxx 1914</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077209">The articles of faith and covenant of the Clinton Congregational Church, Clinton, Conn. With a list of the members</a>\n</td>\n\n<td>Congregational Church (Clinton, Conn.)</td>\n<td>b30772096</td>\n<td>F104.C55 C66 1875</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083752">The Asylum Hill Congregational Church Hartford, Connecticut manual: corrected to June 15, 1915/ compiled by Charles G. Case, church clerk .</a>\n</td>\n<td>\n</td>\n<td>b30837522</td>\n<td>F104.H362 A83 1915</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076175">The battle of Groton Heights : a story of the storming of Fort Griswold, and the burning of New London, on the sixth of September, 1781 / By Rev. N. H. Burnham. Containing also the narrative of Rufus Avery, (from the original manuscript) and statement of Avery Downer, M.D. Together with biographical sketches of Col. William Ledyard and Mother Bailey, including a poem by Leonard Woolsey Bacon, delivered on the centennial anniversary of the battle of Groton heights, September 6, 1881</a>\n</td>\n<td>Burnham, Norman Hammond, b. 1848</td>\n<td>b3076175x</td>\n<td>E241.G8 B92 1914</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079279">The confession of faith and covenant of the Congregational Church in Plainville : together with the rules and a catalogue of members July, 1861</a>\n\n</td>\n<td>Congregational Church (Plainville,\nConn.)</td>\n<td>b30792794</td>\n<td>F104.P63 C66 1861</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077245">The Confession of Faith and covenant of the Congregational Church in Southington : to which is added a catalogue of members</a>\n</td>\n<td>Congregational Church (Southington, Conn.)</td>\n<td>b3077245x</td>\n\n<td>F104.S73 Cxx 1869</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3077171">The confession of faith and covenant of the First Church of Christ in Lisbon, Conn, 1849</a>\n</td>\n<td>First Church of Christ (Lisbon, Conn.)</td>\n<td>b30771717</td>\n<td>F104.L6 F57 1849</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3084148">The confession of faith covenant and rules of order of the North Congregational Church of New Hartford, Conn. : with a historical sketch of the parish</a>\n</td>\n<td>New Hartford (Conn.). North Congregational Church</td>\n<td>b30841483</td>\n<td>F104.N55 Nxx 1897</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3076042">The Congregational churches of Litchfield County; a paper read at Litchfield, Connecticut, September 29, 1902 at the 150th anniversary of the Litchfield County Consociation and Associations</a>\n</td>\n<td>Goodenough, Arthur, 1838-</td>\n\n<td>b30760422</td>\n<td>F102.L6 L5 1903</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b2906594">The Connecticut school journal</a>\n</td>\n<td>\n</td>\n<td>b2906594x</td>\n<td>L11.C66</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073826">The constitution of the Associated Churches, in the southern district of the county of Litchfield, in the state of Connecticut. Adopted by the consociation, at their sessions at Litchfield, on the 21st day of October, A.D. 1795</a>\n</td>\n<td>Litchfield South Consociation</td>\n<td>b3073826x</td>\n<td>F104.P7 F5 1829</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3084149">The historical address at the twentieth anniversary of the Plantsville Church, to which is prefixed the story of how the Church came to be, reprinted from "Sketches of Southington"</a>\n</td>\n\n<td>Eastman, William R</td>\n<td>b30841495</td>\n<td>F104.M5 Exx 1886</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083574">The history of the First Church of Bridgeport : from 1695 to 1853, with sketches of its ministers / by Charles Ray Palmer</a>\n</td>\n<td>Palmer, Charles Ray, 1834-1914</td>\n<td>b30835744</td>\n<td>F104.B7 Pxx 1876</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3081513">The New Haven Trap Rock Company: a story that began 200 million years ago</a>\n</td>\n<td>Reigeluth, Ray J. (Ray John)</td>\n<td>b30815137</td>\n<td>HD9621.U7 N4</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3079256">The Norwich Savings Society : a brief history of the growth in one hundred years of a mutual savings bank : from eighteen hundred twenty four to nineteen hundred twenty four</a>\n\n</td>\n<td>Tirrell, Henry Archelaus, 1879-</td>\n<td>b30792563</td>\n<td>F104.N93 Txx 1924</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073124">The one hundred and fiftieth anniversary of the organization of the First Church of Christ, in Redding, Conn., Wednesday, September 5th, 1883</a>\n</td>\n<td>First Church of Christ (Redding, Conn.)</td>\n<td>b30731240</td>\n\n<td>F104.R3 Fxx 1884</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073825">The poets of Connecticut : with biographical sketches / edited by Charles W. Everest</a>\n</td>\n<td>\n</td>\n<td>b30738258</td>\n<td>PS548.C8 P64 1864</td>\n</tr>\n<tr>\n<td>\n\n<a href="http://www.consuls.org/record=b3073126">The prime ancient society of Fairfield, Conn. : an historical paper : with contributions from present and former members of the church</a>\n</td>\n<td>Child, Frank Samuel, 1854-1922</td>\n<td>b30731264</td>\n<td>F104.F2 C4x 1890</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073121">The Ridgefield Tavern; a romance of Sarah Bishop, hermitess, during the American Revolution, by Maurice Enright ... with illustrations by Katherine Enright</a>\n</td>\n<td>Enright, Maurice</td>\n\n<td>b30731215</td>\n<td>PS3509.N68 R54x</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083819">Triennial catalogue of the Hartford Public High School</a>\n</td>\n<td>Hartford Public High School (Hartford, Conn.)</td>\n<td>b30838198</td>\n<td>LD7501.H32 1900</td>\n</tr>\n\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3083812">Trinity College : an open letter from a trustee to a friend and fellow-alumnus / [signed, Benj. H. Paddock]</a>\n</td>\n<td>Paddock, Benjamin H. (Benjamin Henry), 1828-1891</td>\n<td>b30838125</td>\n<td>LD5361.T4k P3</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073125">Wyoming, or, Connecticut s East India Co. Two lectures deliveredbefore the Fairfield County Historical Society, Bridgeport, Conn., March 10, 1893--April 21, 1893, by Henry T. Blake</a>\n</td>\n\n<td>Blake, Henry T. (Henry Taylor), 1828-1922</td>\n<td>b30731252</td>\n<td>F159.W9 B53</td>\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3073128">Ye antient buriall place of New London, Conn. / [compiled by Edward Prentis]</a>\n</td>\n<td>Prentis, Edward</td>\n<td>b30731288</td>\n<td>F104.N7 P9 1899</td>\n\n</tr>\n<tr>\n<td>\n<a href="http://www.consuls.org/record=b3072533">Year Book, 1896. First Congregational Church, Bethel, Conn</a>\n</td>\n<td>First Congregational Church (Bethel, Conn.)</td>\n<td>b30725331</td>\n<td>F104 .B46 fxx 1896</td>\n</tr>\n</table>\n</html>\n
<html>\n<div id="content">\n<img src="http://archives.library.wcsu.edu/relatedObjects/sideImg.gif" align="right"/>\n</div>\n</html>\nIn addition to the papers of faculty members and the records of University offices and departments, the WCSU Archives will consider adding materials from students, student groups, WCSU alumni, as well as, personal papers and effects that document the history of western Connecticut/Danbury area as a whole. [[See our Collections Policy|http://archives.library.wcsu.edu/forms/collectionsPolicy08.pdf]].\n\nTypical items welcomed by the University Archives include:\n\n * Records of student organizations (meeting minutes, founding documents, reports, publications, flyers, photographs)\n * Publications (newsletters, programs, flyers, yearbooks)\n * Artifacts (buttons, memorabilia)\n * Materials that describe or document your personal experience at WestConn(scrapbooks, diaries, correspondence with faculty, administrators, fellow students, and family; photographs, audio-visuals)\n\nDonations of these materials are considered gifts to the WCSU Archives. Donors are asked to sign an agreement which formally signifies that the materials become the actual property of the WCSU Archives. The Archives only accepts materials as permanent gifts and cannot take them as loans or on a temporary basis. As part of the Archives' permanent collection, your materials will be organized according to archival principles, stored in secure, climate-controlled conditions, and will be made available to researchers on a non-circulating basis.\nIf you have materials that document time at WCSU or the history of Danbury and the surrounding area, , please contact us !\n\n!Frequently asked questions about donations to the Archives:\n\n!!!What are the benefits of donating papers, records, and other materials to the University Archives?\n\n * your materials are preserved in a secure, climate-controlled environment, and that fragile items will receive consideration for conservation treatment as needed\n * information about your materials will be made available through descriptive inventories and will be accessible to researchers for many years to come\n * access to the materials will be provided consistently and professionally to onsite and offsite researchers by knowledgeable staff\n * your donation will benefit future generations by promoting research, perpetuating WCSU traditions, documenting local history and creating new knowledge.\n\n!!!Exactly what happens to materials after I donate them?\n\n After the WCSU Archives receives a donation, you will be sent a donor agreement to sign, transferring ownership to the archives. Materials will be surveyed for their content, research value, any preservation/conservation issues, and materials will be accessioned, processed and stored accordingly. The accession record documents the receipt and general content of the donation. A finding-aid (also known as a descriptive inventory) then will be drafted that will be the means by which researchers will find materials in the collection.\n\n!!!Will you take everything in my attic or basement?\n\n The WCSU Archives may not be able to accept everything offered, but we welcome the chance to review material; Based on our collections policy, and storage capabilities, we may recommend another repository for your materials.\n\n Additionally, once the Archives takes in the materials you donate, we may discover duplicate or unrelated items that we do not wish to retain. We will discuss with you whether you would like these items returned, transferred to another repository, or discarded.\n\n!!!What do I need to do to or how do I organize materials before I donate to the Archives?\n\n Optimally, materials should organized, inventoried or described in some manner to simplify processing; however, exceptions can and will be made. Please contact us before discarding, boxing, or reorganizing papers, records, and other materials for donation.\n\n After the Archives receives materials, we will organize them according to our standards.\n\n!!!Who can access a collection I donate, and can I restrict access to sensitive material?\n\n The donor may specify access restrictions to a collection; however, we encourage that whenever possible that donors allow researchers access to as many materials as possible and as soon as possible. Access to collections may also be restricted by the Archive based on the condition of material or its format. It may also restrict access until materials are fully processed. Sensitive material should not be removed by the donor, but instead you should consult the Archives about placing reasonable and equitable restrictions on all or part of the collection for an appropriate, limited period of time.\n\n!!!Who owns copyright to my materials?\n\n Assignment of copyright is often complex, and you will want to work with the Archives' staff to clarify issues of copyright ownership. Generally, copyright belongs to the creator of writings and other original material (such as photos and music), but can be transferred legally to others. Moreover, ownership of copyright is separable from ownership of the physical item (the letter or photo). We prefer that donors give not only the physical objects but also any copyright that they might own.\n\n!!!Can I take a tax deduction, and can you appraise my collection?\n\n In certain circumstances, a donor may be able to take a tax deduction for the donation of a materials to an archive. Please discuss this possibility with your tax accountants or attorneys before you donate the materials. The staff of the WCSU Archives and the Haas Library cannot and will not provide tax advice or provide lawful appraisals of a collection for tax purposes. Donors are responsible for any monetary appraisal of the materials and for determining any tax benefits derived from a donation.\n\n!!!How do I donate records, papers, or other materials to the WCSU Archives?\n\n Call (203-837-8992) or email us at the WCSU Archives to talk about what you would like to give us. Once we determine that your donation would be appropriate for our collection, we will arrange with you the best time and way to transfer the items or boxes to the Archives.\n\n We look forward to hearing from you!\n\nFor more information, please contact the WCSU Archives and Special Collections Library:\nWestern Connecticut State University/ Haas Library\n181 White St.\nDanbury, CT 06810\n203-837-8992
About
/***\n|Name|InlineJavascriptPlugin|\n|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|\n|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|\n|Version|1.9.4|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description|Insert Javascript executable code directly into your tiddler content.|\n''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.\n!!!!!Documentation\n>see [[InlineJavascriptPluginInfo]]\n!!!!!Revisions\n<<<\n2009.02.26 [1.9.4] in $(), handle leading '#' on ID for compatibility with JQuery syntax\n|please see [[InlineJavascriptPluginInfo]] for additional revision details|\n2005.11.08 [1.0.0] initial release\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 3, date: new Date(2008,6,11)};\n\nconfig.formatters.push( {\n name: "inlineJavascript",\n match: "\s\s<script",\n lookahead: "\s\s<script(?: src=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?(?: label=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?(?: title=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?(?: key=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?( show)?\s\s>((?:.|\s\sn)*?)\s\s</script\s\s>",\n\n handler: function(w) {\n var lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n var src=lookaheadMatch[1];\n var label=lookaheadMatch[2];\n var tip=lookaheadMatch[3];\n var key=lookaheadMatch[4];\n var show=lookaheadMatch[5];\n var code=lookaheadMatch[6];\n if (src) { // load a script library\n // make script tag, set src, add to body to execute, then remove for cleanup\n var script = document.createElement("script"); script.src = src;\n document.body.appendChild(script); document.body.removeChild(script);\n }\n if (code) { // there is script code\n if (show) // show inline script code in tiddler output\n wikify("{{{\sn"+lookaheadMatch[0]+"\sn}}}\sn",w.output);\n if (label) { // create a link to an 'onclick' script\n // add a link, define click handler, save code in link (pass 'place'), set link attributes\n var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));\n var fixup=code.replace(/document.write\ss*\s(/gi,'place.bufferedHTML+=(');\n link.code="function _out(place){"+fixup+"\sn};_out(this);"\n link.tiddler=w.tiddler;\n link.onclick=function(){\n this.bufferedHTML="";\n try{ var r=eval(this.code);\n if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)\n var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);\n if(this.bufferedHTML.length)\n s.innerHTML=this.bufferedHTML;\n if((typeof(r)==="string")&&r.length) {\n wikify(r,s,null,this.tiddler);\n return false;\n } else return r!==undefined?r:false;\n } catch(e){alert(e.description||e.toString());return false;}\n };\n link.setAttribute("title",tip||"");\n var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';\n URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\sn/g,' ')));\n URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';\n link.setAttribute("href",URIcode);\n link.style.cursor="pointer";\n if (key) link.accessKey=key.substr(0,1); // single character only\n }\n else { // run inline script code\n var fixup=code.replace(/document.write\ss*\s(/gi,'place.innerHTML+=(');\n var c="function _out(place){"+fixup+"\sn};_out(w.output);";\n try { var out=eval(c); }\n catch(e) { out=e.description?e.description:e.toString(); }\n if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);\n }\n }\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n }\n} )\n//}}}\n\n// // Backward-compatibility for TW2.1.x and earlier\n//{{{\nif (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {\n if(limit > 0) text = text.substr(0,limit);\n var wikifier = new Wikifier(text,formatter,null,tiddler);\n return wikifier.wikifyPlain();\n}\n//}}}\n\n// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()\n//{{{\nif (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }\n//}}}
/***\n|Name|BetterTimelineMacro|\n|Created by|SaqImtiaz|\n|Location|http://tw.lewcid.org/#BetterTimelineMacro|\n|Version|0.5 beta|\n|Requires|~TW2.x|\n!!!Description:\nA replacement for the core timeline macro that offers more features:\n*list tiddlers with only specfic tag\n*exclude tiddlers with a particular tag\n*limit entries to any number of days, for example one week\n*specify a start date for the timeline, only tiddlers after that date will be listed.\n\n!!!Installation:\nCopy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.\nEdit the ViewTemplate to add the fullscreen command to the toolbar.\n\n!!!Syntax:\n{{{<<timeline better:true>>}}}\n''the param better:true enables the advanced features, without it you will get the old timeline behaviour.''\n\nadditonal params:\n(use only the ones you want)\n{{{<<timeline better:true onlyTag:Tag1 excludeTag:Tag2 sortBy:modified/created firstDay:YYYYMMDD maxDays:7 maxEntries:30>>}}}\n\n''explanation of syntax:''\nonlyTag: only tiddlers with this tag will be listed. Default is to list all tiddlers.\nexcludeTag: tiddlers with this tag will not be listed.\nsortBy: sort tiddlers by date modified or date created. Possible values are modified or created.\nfirstDay: useful for starting timeline from a specific date. Example: 20060701 for 1st of July, 2006\nmaxDays: limits timeline to include only tiddlers from the specified number of days. If you use a value of 7 for example, only tiddlers from the last 7 days will be listed.\nmaxEntries: limit the total number of entries in the timeline.\n\n\n!!!History:\n*28-07-06: ver 0.5 beta, first release\n\n!!!Code\n***/\n//{{{\n// Return the tiddlers as a sorted array\nTiddlyWiki.prototype.getTiddlers = function(field,excludeTag,includeTag)\n{\n var results = [];\n this.forEachTiddler(function(title,tiddler)\n {\n if(excludeTag == undefined || tiddler.tags.find(excludeTag) == null)\n if(includeTag == undefined || tiddler.tags.find(includeTag)!=null)\n results.push(tiddler);\n });\n if(field)\n results.sort(function (a,b) {if(a[field] == b[field]) return(0); else return (a[field] < b[field]) ? -1 : +1; });\n return results;\n}\n\n\n\n//this function by Udo\nfunction getParam(params, name, defaultValue)\n{\n if (!params)\n return defaultValue;\n var p = params[0][name];\n return p ? p[0] : defaultValue;\n}\n\nwindow.old_timeline_handler= config.macros.timeline.handler;\nconfig.macros.timeline.handler = function(place,macroName,params,wikifier,paramString,tiddler)\n{\n var args = paramString.parseParams("list",null,true);\n var betterMode = getParam(args, "better", "false");\n if (betterMode == 'true')\n {\n var sortBy = getParam(args,"sortBy","modified");\n var excludeTag = getParam(args,"excludeTag",undefined);\n var includeTag = getParam(args,"onlyTag",undefined);\n var tiddlers = store.getTiddlers(sortBy,excludeTag,includeTag);\n var firstDayParam = getParam(args,"firstDay",undefined);\n var firstDay = (firstDayParam!=undefined)? firstDayParam: "00010101";\n var lastDay = "";\n var field= sortBy;\n var maxDaysParam = getParam(args,"maxDays",undefined);\n var maxDays = (maxDaysParam!=undefined)? maxDaysParam*24*60*60*1000: (new Date()).getTime() ;\n var maxEntries = getParam(args,"maxEntries",undefined);\n var last = (maxEntries!=undefined) ? tiddlers.length-Math.min(tiddlers.length,parseInt(maxEntries)) : 0;\n for(var t=tiddlers.length-1; t>=last; t--)\n {\n var tiddler = tiddlers[t];\n var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);\n if ((theDay>=firstDay)&& (tiddler[field].getTime()> (new Date()).getTime() - maxDays))\n {\n if(theDay != lastDay)\n {\n var theDateList = document.createElement("ul");\n place.appendChild(theDateList);\n createTiddlyElement(theDateList,"li",null,"listTitle",tiddler[field].formatString(this.dateFormat));\n lastDay = theDay;\n }\n var theDateListItem = createTiddlyElement(theDateList,"li",null,"listLink",null);\n theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));\n }\n }\n }\n\n else\n {\n window.old_timeline_handler.apply(this,arguments);\n }\n}\n//}}}
/***\nM''Name:''|Plugin: ZiddlyWiki|\n|''Description:''|Client-side component of the ZiddlyWiki server-side for TiddlyWiki|\n|''Version:''|1.0.0|\n|''Date:''|Sep 30, 2006|\n|''Source:''|http://ziddlywiki.com|\n|''Author:''|BobMcElrath|\n|''Email:''|my first name at my last name dot org|\n|''License:''|[[GPL open source license|http://www.gnu.org/licenses/gpl.html]]|\n|''~CoreVersion:''|2.1.0|\n!Description\nThis plugin is useful only in conjunction with the ZiddlyWiki server-side for\nTiddlyWiki. This plugin is automatically added to any TiddlyWiki downloaded\nfrom a ZiddlyWiki server, and should not be added by hand to your TiddlyWiki.\n\nIf you want to use the ZiddlyWiki server, install that first, and you will\nautomatically get this plugin.\n!My Server\nThis ZiddlyWiki lives at: \n{{{\n http://archives.library.wcsu.edu/archives\n}}}\n!API\n{{{\n action=get\n}}}\n!Code\n***/\n//{{{\n// Place to store my junk\nif(typeof zw == "undefined") var zw = {};\nconfig.options.checkUnsavedChanges = false;\nconfig.options.confirmExit = false;\n//zw.ieurl = (navigator.appVersion.indexOf('MSIE') > -1) ? 'ie=1&' : '';\nzw.editingTiddlers = {};\nzw.dirty = false; // flag for when ZW was unable to save something\nzw.serverUrl = "http://archives.library.wcsu.edu/archives";\n\nconfig.messages.loginToEdit = 'You must be logged in to make changes. Viewing source instead.';\nconfig.messages.errorDeleting = 'An error has occurred. Review your Zope error log for details.';\nconfig.messages.errorSaving = 'An error has occurred. Review your Zope error log for details. If you navigate away from this page now, you will lose your changes.';\nconfig.messages.protectedTiddler = 'You are not allowed to edit here. Click OK to view the source.';\nconfig.messages.lockedTiddler = 'This tiddler is currently being edited by %s. Please try again in a few minutes.';\nconfig.messages.lockedTiddlerYou = 'This tiddler is currently locked by you. Would you like to edit anyway?';\nconfig.messages.viewRevisionTooltip = 'View this revision.';\nconfig.messages.exportLinkLabel = 'export to file';\nconfig.messages.exportLinkPrompt = 'Export to a TiddlyWiki file';\nconfig.messages.importLinkLabel = 'import from file';\nconfig.messages.importLinkPrompt = 'Import from a TiddlyWiki file';\nconfig.messages.unsavedChangesWarning = 'Something has gone wrong and ZiddlyWiki was unable to save all changes to the server.\snIf you navigate away from this page, those changes will be lost.\snPress OK to save a backup to a local file.';\n\nconfig.views.wikified.toolbarRevisions = {text: "revisions", tooltip: "View another revision of this tiddler", popupNone: "No revisions"};\n\n// Shadow tiddlers that are protected\nconfig.protectedTiddlers = ['DefaultTiddlers', 'MainMenu'];\n\nconfig.replaceBodyCharacters = [\n [/‘/g, "'"],\n [/’/g, "'"],\n [/“/g, '"'],\n [/”/g, '"'],\n [/…/g, '...'],\n [/–/g, ' -- ']\n];\n\nconfig.macros.login = {\n label: 'login',\n prompt: 'Log into the system',\n sizeTextbox: 15,\n // FIXME onmouseover, etc... do these cause a problem? Add (?!onmouseover|onmouseout...)\n innerHTMLSafe: /^<div( ([a-zA-Z0-9_]+)="[^"]*")+>[^<>]*<\s/div>$/,\n handler: function(place) {\n if(zw.loggedIn) {\n var link = createTiddlyLink(place, zw.username, true);\n if(location.protocol == "file:") {\n link.innerHTML = zw.username + ' (offline)';\n } else {\n link.innerHTML = zw.username + ' (logged in)';\n createTiddlyButton(place, "logout", "Log out of the system", this.doLogout);\n }\n } else {\n // FIXME Only make login form if cookie-based login are enabled.\n var form = document.createElement("form");\n form.action = "?action=get&title=ZiddlyStatus";\n var u = createTiddlyElement(form, "input", "zw_username");\n u.value = "YourName";\n u.onclick = this.clearInput;\n u.size = this.sizeTextbox;\n u.onkeypress = this.enterSubmit;\n u.name = "__ac_name";\n var p = createTiddlyElement(form, "input", "zw_password");\n p.value = "password";\n p.size = this.sizeTextbox;\n p.onclick = this.clearInput;\n p.onkeypress = this.enterSubmit;\n p.name = "__ac_password";\n place.appendChild(form);\n createTiddlyButton(place,this.label,this.prompt,this.doLogin);\n }\n },\n clearInput: function(e) {\n var u = document.getElementById("zw_username");\n var p = document.getElementById("zw_password");\n if((e.target == u || e.target == p) && p.type != "password") { \n u.value = ''; \n p.value=''; \n p.type = "password";\n }\n },\n enterSubmit: function(e) {\n if(e.keyCode == 13 || e.keyCode == 10) config.macros.login.doLogin(e);\n },\n doLogin: function(e) {\n clearMessage();\n displayMessage('Logging in...');\n var u = document.getElementById("zw_username");\n var p = document.getElementById("zw_password");\n zw.loggingIn = true;\n ajax.post(zw.serverUrl.replace("http://","http://"+u.value+":"+p.value+"@")\n ,zw.addTiddler,\n "action=get&title=ZiddlyStatus&__ac_name="+u.value+"&__ac_password="+p.value);\n },\n doLogout: function(e) {\n clearMessage();\n displayMessage('Logging out...');\n zw.loggingIn=false;\n // FIXME this will fail if " " is a valid username\n ajax.post(zw.serverUrl.replace("http://","http:// :@")\n ,zw.addTiddler,\n "action=get&title=ZiddlyStatus&__ac_name=&__ac_password=");\n },\n statusChange: function() {\n var oldreadOnly = readOnly;\n config.options.chkHttpReadOnly = (zw.loggedIn || zw.anonEdit || location.protocol == "file:") ? false:true;\n readOnly = !zw.loggedIn;\n // Check for new tiddlers\n var numtofetch = 0;\n var missingtiddlers = "";\n for(var t in zw.tiddlerList) {\n if(!store.fetchTiddler(t.htmlDecode())) {\n numtofetch++;\n missingtiddlers += "\sn" + t;\n }\n }\n var fetched = 0;\n this.fetchlist = [];\n if(!zw.tiddlerList) {\n clearMessage();\n } else for(var t in zw.tiddlerList) {\n if(!store.fetchTiddler(t.htmlDecode())) {\n var callback = zw.addTiddler;\n this.fetchlist.push(t);\n if(++fetched == numtofetch) \n callback = config.macros.login.addLastTiddler;\n ajax.get('?action=get&title=' + encodeURIComponent(t.htmlDecode())\n + "&" + zw.no_cache(), callback)\n }\n }\n if(oldreadOnly != readOnly || numtofetch == 0) {\n refreshDisplay(["ViewTemplate", "EditTemplate"]);\n story.refreshAllTiddlers();\n refreshAll();\n }\n },\n doneLoginout: function() {\n var evalme = store.fetchTiddler("ZiddlyStatus").text;\n window.eval(evalme);\n readOnly = !zw.loggedIn;\n store.notify(["ZiddlyStatus"], true);\n if(!zw.loggedIn && zw.loggingIn) { // still not logged in.\n clearMessage();\n displayMessage("Authentication failed. Did you type your username and password correctly?");\n }\n if(!zw.loggingIn || (zw.loggedIn && zw.loggingIn)) clearMessage();\n return true;\n },\n addLastTiddler: function(str,status) {\n zw.addTiddler(str,status);\n refreshAll(); // Just redraw everything.\n }\n};\n// This causes our doneLogin method above to be called on startup.\nstore.addNotification("ZiddlyStatus", config.macros.login.statusChange);\n\n// Dynamically load a tiddler\nzw.loadTiddler = function(t) {\n var str = ajax.gets('?action=get&title=' + encodeURIComponent(t.htmlDecode())\n + "&" + zw.no_cache());\n return zw.addTiddler(str, 200);\n}\n\nzw.addTiddler = function(str,status) {\n var tiddler = new Tiddler();\n var d = document.createElement("div");\n if(!str.match(config.macros.login.innerHTMLSafe)) { \n if(!confirm("This tiddler appears to contain HTML and may be dangerous\sn\sn"+str)) \n return tiddler;\n }\n d.innerHTML = str; // FIXME dangerous -- response could contain <script>\n var title = store.getLoader().getTitle(store, d.firstChild);\n if(status == 404) { // not found\n store.zw_removeTiddler(title);\n } else if(status == 200) { // okay\n tiddler = store.getLoader().internalizeTiddler(store, tiddler, title, d.firstChild);\n tiddler.changed();\n store.addTiddler(tiddler);\n if(typeof store.getValue(title, "oldtitle") != "undefined") {\n store.setValue(title, "renamedSubTitle", \n "(renamed from "+store.getValue(title, "oldtitle")+")");\n }\n }\n if(tiddler.title == "ZiddlyStatus")\n config.macros.login.doneLoginout();\n refreshDisplay(title);\n return tiddler;\n}\n\nTiddler.prototype.getSubtitle = function() {\n var theModifier = this.modifier;\n if(!theModifier)\n theModifier = config.messages.subtitleUnknown;\n var theModified = this.modified;\n if(theModified)\n theModified = theModified.toLocaleString();\n else\n theModified = config.messages.subtitleUnknown;\n return(config.messages.tiddlerLinkTooltip.format([this.title,theModifier,\ntheModified]));\n\n}\n\nconfig.macros.ziddlyversion = {\n handler: function(place) {\n createTiddlyElement(place,"span",null,null,version.major + "." \n + version.minor + "." + version.revision \n + (version.beta ? "(b" + version.beta + ")" : "") + "." \n + version.extensions.ZiddlyWiki);\n }\n};\n\nconfig.macros.exportLink = {\n label: config.messages.exportLinkLabel,\n prompt: config.messages.exportLinkPrompt,\n handler: function(place) { \n if(location.protocol == "file:") {\n this.label = config.macros.saveChanges.label;\n this.prompt = config.macros.saveChanges.prompt;\n this.accessKey = config.macros.saveChanges.accessKey;\n config.macros.saveChanges.handler(place);\n } else {\n createTiddlyButton(place,this.label,this.prompt,function(){\n location.href='?action=export';return false;\n });\n }\n }\n};\n\nconfig.macros.importLink = {\n label: config.messages.importLinkLabel,\n prompt: config.messages.importLinkPrompt,\n handler: function(place) {\n if(zw.loggedIn || zw.anonEdit) {\n createTiddlyButton(place,this.label,this.prompt,function(){\n displayTiddler(null, "ImportTiddlers");\n });\n }\n }\n};\n\nTiddlyWiki.prototype.zw_removeTiddler = TiddlyWiki.prototype.removeTiddler;\nTiddlyWiki.prototype.removeTiddler = function(title) {\n displayMessage("Deleting '"+title+"' on server...");\n ajax.post(zw.serverUrl, zw.addTiddler, 'action=delete&title=' + encodeURIComponent(title) + '&' + zw.no_cache());\n return true;\n};\n\nTiddlyWiki.prototype.zw_saveTiddler = TiddlyWiki.prototype.saveTiddler;\nTiddlyWiki.prototype.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags) {\n displayMessage("Saving '"+title+"'...");\n newBody = replaceBodyCharacters(newBody);\n var tiddler = this.zw_saveTiddler(title,newTitle,newBody,modifier,modified,tags);\n var callback = function(r,status){\n var newtiddler = zw.addTiddler(r,status);\n if(!newtiddler) {\n alert("ZiddlyWiki error: The tiddler '"+title+"' that I just tried to save\sn"\n +"doesn't exist after the save! Response ("+status+") was: \sn"+r);\n zw.dirty = true;\n } else if(newtiddler.escapeLineBreaks().htmlEncode() != tiddler.escapeLineBreaks().htmlEncode()) {\n alert("ZiddlyWiki error: Saved tiddler '"+title+"' is not the same as what was just saved."\n +"\sn-------------------before---------------------\sn"+tiddler.escapeLineBreaks().htmlEncode()\n +"\sn-------------------after----------------------\sn"+newtiddler.escapeLineBreaks().htmlEncode()\n );\n zw.dirty = true;\n }\n };\n// FIXME by using async ajax here, a reload timeout may come between the save\n// and the callback's return, which causes the tiddler to be double-rendered.\n ajax.post(zw.serverUrl, callback, 'action=save&oldtitle=' + encodeURIComponent(title) + '&title=' \n + encodeURIComponent(newTitle) + '&body=' + encodeURIComponent(newBody) + '&tags=' \n + encodeURIComponent(tags) + '&modified=' \n + encodeURIComponent((modified||store.fetchTiddler(title).modified).convertToYYYYMMDDHHMM()) \n + '&' + zw.no_cache());\n clearMessage();\n return tiddler;\n};\n\nfunction replaceBodyCharacters(body) {\n var chars = config.replaceBodyCharacters;\n for(var i=0; i<chars.length; i++) {\n body = body.replace(chars[i][0], chars[i][1]);\n }\n return body;\n};\n\nzw.no_cache = function() {return new String((new Date()).getTime())};\n\nconfig.commands.revisions = {\n text: config.views.wikified.toolbarRevisions.text,\n tooltip: config.views.wikified.toolbarRevisions.tooltip,\n popupNone: config.views.wikified.toolbarRevisions.popupNone,\n hideShadow: true,\n handler: function(event,src,title) {\n var popup = Popup.create(src);\n Popup.show(popup,false);\n var callback = function(r,status) {\n if(popup) {\n if(status != 200) {\n createTiddlyText(createTiddlyElement(popup,"li",null,"disabled"),\n config.views.wikified.toolbarRevisions.popupNone);\n } else {\n var revs = r.split('\sn');\n for(var i=0; i<revs.length; i++) {\n var parts = revs[i].split(' ');\n if(parts.length>1) {\n var modified = Date.convertFromYYYYMMDDHHMM(parts[0]);\n var key = parts[1];\n var modifier = parts[2];\n var button = createTiddlyButton(createTiddlyElement(popup,"li"), modified.toLocaleString() +" "+ modifier, \n config.messages.viewRevisionTooltip, \n function(){\n displayTiddlerRevision(this.getAttribute('tiddlerTitle'), \n this.getAttribute('revision'), this); \n return false;\n }, 'tiddlyLinkExisting tiddlyLink');\n button.setAttribute('tiddlerTitle', title);\n button.setAttribute('revision', key);\n var t = store.fetchTiddler(title);\n if(!t) alert("Attempt to find revisions for non-existant tiddler '"+title+"'!");\n if(t && (store.getValue(t, 'revision') == key))\n button.className = 'revisionCurrent';\n if(i == 0)\n this.latestRevision = key;\n }\n }\n }\n }\n };\n ajax.get('?action=get_revisions&title=' + encodeURIComponent(title.htmlDecode()) + '&' + zw.no_cache(), callback);\n event.cancelBubble = true;\n if (event.stopPropagation) event.stopPropagation();\n return true;\n }\n}\n\nfunction displayTiddlerRevision(title, revision, src, updateTimeline) {\n var tiddler = store.fetchTiddler(title);\n// We already have the latest version\n if(tiddler && store.getValue(tiddler, 'revision') == revision) return;\n displayMessage("Loading revision information for '"+title+"'...");\n revision = revision ? '&revision=' + revision : '';\n ajax.get('?action=get&title=' + encodeURIComponent(title.htmlDecode()) + revision \n + '&' + zw.no_cache(), displayTiddlerRevisionCallback)\n};\n\nfunction displayTiddlerRevisionCallback(str,status) {\n store.suspendNotifications(); // To prevent multiple redraws\n var tiddler = zw.addTiddler(str,status);\n store.setValue(tiddler.title, "historicalSubTitle", "");\n if(tiddler.tags.contains('deleted'))\n store.setValue(tiddler.title, "historicalSubTitle", \n store.getValue(tiddler.title, "historicalSubTitle")+" (deleted)");\n if(latestRevision != store.getValue(tiddler.title, "revision"))\n store.setValue(tiddler.title, "historicalSubTitle", \n store.getValue(tiddler.title, "historicalSubTitle")+" (historical revision)");\n store.setValue(tiddler.title, "latestRevision", latestRevision);\n story.refreshTiddler(tiddler.title, DEFAULT_VIEW_TEMPLATE, true);\n store.resumeNotifications();\n clearMessage();\n}\n\nTiddler.prototype.isReadOnly = function() {\n if(store.getValue(this.title, "readonly") == "true") return true;\n if(zw.isAdmin) return false;\n if(zw.loggedIn && this.modifier == zw.username) return false;\n if(location.protocol == "file:") return false;\n return isProtectedTiddler(this.title) || !(zw.anonEdit || zw.loggedIn);\n};\n\n// Add the protected tag to tiddlers in config.protectedTiddlers\nTiddler.prototype.zw_set = Tiddler.prototype.set;\nTiddler.prototype.set = function(title,text,modifier,modified,tags,created) {\n if(!tags) tags = [];\n if(typeof tags == "string") tags = tags.readBracketedList();\n if(!store.tiddlerExists(title) && store.isShadowTiddler(title)) {\n for(var i=0;i<config.protectedTiddlers.length;i++) {\n if(config.protectedTiddlers[i] == title) {\n tags.push('protected');\n break;\n }\n }\n }\n return this.zw_set(title, text, modifier, modified, tags, created);\n}\n\nconfig.commands.editTiddler.zw_handler = config.commands.editTiddler.handler;\nconfig.commands.editTiddler.handler = function(event,src,title) {\n if(readOnly) {\n this.zw_handler(event,src,title);\n } else {\n displayMessage("Loading '"+title+"'...");\n var obj = this;\n var callback = function(r,status) {\n clearMessage();\n if(status == 404) { // doesn't exist (might be a shadow tiddler)\n zw.editingTiddlers[title] = true;\n obj.zw_handler(event,src,title);\n } else if(status == 200) {\n var tiddler = zw.addTiddler(r,status);\n if(tiddler.tags.indexOf('deleted') != -1) // Remove the deleted tag on edit\n tiddler.tags.splice(tiddler.tags.indexOf('deleted'),1);\n zw.editingTiddlers[tiddler.title] = true;\n obj.zw_handler(event,src,tiddler.title);\n } else if(status == 503) { // "Temporarily Unavailable" Conflict\n if(r == zw.username) {\n if(confirm(config.messages.lockedTiddlerYou)) {\n var str = ajax.gets('?action=unlock&title=' + encodeURIComponent(title)\n + "&" + zw.no_cache());\n zw.addTiddler(str, 200);\n return obj.handler(event,src,title);\n }\n } else {\n alert(config.messages.lockedTiddler.replace(/%s/g, r));\n }\n } else if(status == 403) {\n // Lock failed, we must not be logged in, or something changed underneath us.\n zw.loggedIn = false;\n zw.isAdmin = false;\n readOnly = true;\n zw.loadTiddler("ZiddlyStatus");\n //refreshDisplay(["SideBarOptions","ViewTemplate", "EditTemplate"]);\n //story.refreshAllTiddlers();\n alert(config.messages.loginToEdit);\n config.commands.editTiddler.zw_handler(event,src,title);\n } else {\n alert("Server returned a response I don't understand:\sn\sn"+k);\n }\n };\n var rev = "";\n if(store.getValue(title, "latestRevision") != "undefined")\n rev = "revision="+store.getValue(title, "revision");\n ajax.post(zw.serverUrl, callback, 'action=lock&title=' + encodeURIComponent(title) + '&' + rev + '&' + zw.no_cache());\n }\n return false;\n};\n\nconfig.commands.saveTiddler.zw_handler = config.commands.saveTiddler.handler;\nconfig.commands.saveTiddler.handler = function(event,src,title) {\n if(zw.isAdmin \n || (zw.loggedIn || zw.anonEdit) && !isProtectedTiddler(title)\n || (isProtectedTiddler(title) && zw.loggedIn && this.modifier == zw.username)) {\n zw.editingTiddlers[title] = false;\n return this.zw_handler(event,src,title);\n } else {\n config.commands.cancelTiddler.zw_handler(null,null,title);\n }\n return false;\n};\n\nconfig.commands.deleteTiddler.zw_handler = config.commands.deleteTiddler.handler;\nconfig.commands.deleteTiddler.handler = function(event,src,title) {\n if(zw.isAdmin \n || (zw.loggedIn || zw.anonEdit) && !isProtectedTiddler(title)\n || (isProtectedTiddler(title) && zw.loggedIn && this.modifier == zw.username)) {\n zw.editingTiddlers[title] = false;\n return this.zw_handler(event,src,title);\n } else {\n config.commands.cancelTiddler.zw_handler(null,null,title);\n }\n return false;\n};\n\nconfig.commands.cancelTiddler.zw_handler = config.commands.cancelTiddler.handler;\nconfig.commands.cancelTiddler.handler = function(event,src,title) {\n if(!config.options.chkHttpReadOnly) {\n if(zw.editingTiddlers[title]) {\n var str = ajax.gets('?action=unlock&title=' + encodeURIComponent(title) + "&" + zw.no_cache());\n zw.addTiddler(str, 200);\n }\n zw.editingTiddlers[title] = false;\n }\n return this.zw_handler(event,src,title);\n};\n\nfunction isProtectedTiddler(title) {\n var tiddler = store.fetchTiddler(title);\n if(!tiddler) { // Must be a shadow\n for(var i=0;i<config.protectedTiddlers.length;i++) {\n if(config.protectedTiddlers[i] == title) return true;\n }\n }\n if(tiddler && tiddler.tags) {\n for(var i=0;i<tiddler.tags.length;i++) {\n if(tiddler.tags[i] == 'protected') return true;\n }\n }\n return false;\n};\n\nzw.refresh_count = 0;\nzw.refresh_tiddlers = function() {\n zw.refresh_count++;\n if(zw.refresh_count > 30) { // thirty minutes\n clearInterval(zw.refresh_interval_id);\n } else {\n ajax.get(zw.serverUrl + '?action=refresh&latest=' + zw.latestTiddler, zw.refresh_tiddlers_callback);\n }\n};\n\n// If there are unsaved changes, force the user to confirm before exitting\nfunction confirmExit()\n{\n hadConfirmExit = true;\n if(zw.dirty) return config.messages.confirmExit;\n}\n\n// Give the user a chance to save changes before exitting\nfunction checkUnsavedChanges()\n{\n if(zw.dirty && window.hadConfirmExit === false)\n {\n if(confirm(config.messages.unsavedChangesWarning))\n saveChanges();\n }\n}\n\nTiddler.prototype.isReadOnly = function() {\n return readOnly || store.getValue(this.title, "readonly");\n}\n\n// Receives a list of updated tiddler [timestamp, [title, modified, revision], ...]\n// If TW supports higher resolution modification stamps (currently: 1 minute) we can use\n// that as an identifier instead of revision\nzw.refresh_tiddlers_callback = function(tiddlers) {\n if(tiddlers == '') return;\n tiddlers = tiddlers.split('\sn\sn');\n zw.latestTiddler = parseInt(tiddlers[0]);\n for(var i=1; i<tiddlers.length; i++) {\n var l = tiddlers[i].split('\sn'); // [title, modified, revision]\n if(!zw.editingTiddlers[l[0]]) // FIXME if it's being edited and we just found out someone else modified it, we should issue a warning.\n displayTiddlerRevision(l[0], l[2], null, true);\n }\n};\n\nif(location.protocol != "file:")\n zw.refresh_interval_id = setInterval('zw.refresh_tiddlers()', 60000); // refresh every minute\n\n// mini/ajax.js - http://timmorgan.org/mini\n\nfunction $(e){if(typeof e=='string')e=document.getElementById(e);return e};\nfunction collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};\n\nvar ajax={};\najax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};\najax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);\nvar t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};\najax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText,x.status,x.statusText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};\najax.get=function(url,func){ajax.send(url,func,'GET')};\najax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};\najax.post=function(url,func,args){ajax.send(url,func,'POST',args)};\najax.posts=function(url,args){var x=ajax.x();x.open('POST',url,false);x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(args);return x.responseText};\najax.update=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};\najax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};\n\n//if(window.netscape && window.netscape.security && document.location.protocol.indexOf("http") == -1)\n//window.netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n//window.netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");\n//window.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n\n//}}}\n
/***\n|Name|FullScreenPlugin|\n|Created by|SaqImtiaz|\n|Location|http://tw.lewcid.org/#FullScreenPlugin|\n|Version|1.1|\n|Requires|~TW2.x|\n!Description:\nToggle between viewing tiddlers fullscreen and normally. Very handy for when you need more viewing space.\n\n!Demo:\nClick the ↕ button in the toolbar for this tiddler. Click it again to turn off fullscreen.\n\n!Installation:\nCopy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.\nEdit the ViewTemplate to add the fullscreen command to the toolbar.\n\n!History:\n*25-07-06: ver 1.1\n*20-07-06: ver 1.0\n\n!Code\n***/\n//{{{\nvar lewcidFullScreen = false;\n\nconfig.commands.fullscreen =\n{\n text:" ↕ ",\n tooltip:"Fullscreen mode"\n};\n\nconfig.commands.fullscreen.handler = function (event,src,title)\n{\n if (lewcidFullScreen == false)\n {\n lewcidFullScreen = true;\n setStylesheet('#sidebar, .header, #mainMenu{display:none;} #displayArea{margin:0em 0 0 0 !important; width: 100%}',"lewcidFullScreenStyle");\n }\n else\n {\n lewcidFullScreen = false;\n setStylesheet(' ',"lewcidFullScreenStyle");\n }\n}\n\nconfig.macros.fullscreen={};\nconfig.macros.fullscreen.handler = function(place,macroName,params,wikifier,paramString,tiddler)\n{\n var label = params[0]||" ↕ ";\n var tooltip = params[1]||"Fullscreen mode";\n createTiddlyButton(place,label,tooltip,config.commands.fullscreen.handler);\n}\n\nvar lewcid_fullscreen_closeTiddler = Story.prototype.closeTiddler;\nStory.prototype.closeTiddler =function(title,animate,slowly)\n{\n lewcid_fullscreen_closeTiddler.apply(this,arguments);\n if (story.isEmpty() && lewcidFullScreen == true)\n config.commands.fullscreen.handler();\n}\n\n\nSlider.prototype.lewcidStop = Slider.prototype.stop;\nSlider.prototype.stop = function()\n{\n this.lewcidStop();\n if (story.isEmpty() && lewcidFullScreen == true)\n config.commands.fullscreen.handler();\n}\n//}}}
/***\n|''Name:''|abego.IncludePlugin|\n|''Version:''|1.0.1 (2007-04-30)|\n|''Type:''|plugin|\n|''Source:''|http://tiddlywiki.abego-software.de/#IncludePlugin|\n|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|\n|''Documentation:''|[[IncludePlugin Documentation|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]]|\n|''Community:''|([[del.icio.us|http://del.icio.us/post?url=http://tiddlywiki.abego-software.de/index.html%23IncludePlugin]]) ([[Support|http://groups.google.com/group/TiddlyWiki]])|\n|''Copyright:''|&copy; 2007 [[abego Software|http://www.abego-software.de]]|\n|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|\n|''~CoreVersion:''|2.1.3|\n|''Browser:''|Firefox 1.5.0.9 or better; Internet Explorer 6.0|\n***/\n/***\nThis plugin's source code is compressed (and hidden). Use this [[link|http://tiddlywiki.abego-software.de/archive/IncludePlugin/Plugin-Include-src.1.0.0.js]] to get the readable source code.\n***/\n///%\nif(!window.abego){window.abego={};}var invokeLater=function(_1,_2,_3){return abego.invokeLater?abego.invokeLater(_1,_2,_3):setTimeout(_1,_2);};abego.loadFile=function(_4,_5,_6){var _7=function(_8,_9,_a,_b,_c){return _8?_5(_a,_b,_9):_5(undefined,_b,_9,"Error loading %0".format([_b]));};if(_4.search(/^((http(s)?)|(file)):/)!=0){if(_4.search(/^((.\s:\s\s)|(\s\s\s\s)|(\s/))/)==0){_4="file://"+_4;}else{var _d=document.location.toString();var i=_d.lastIndexOf("/");_4=_d.substr(0,i+1)+_4;}_4=_4.replace(/\s\s/mg,"/");}loadRemoteFile(_4,_7,_6);};abego.loadTiddlyWikiStore=function(_f,_10,_11,_12){var _13=function(_14,_15){if(_12){_12(_14,"abego.loadTiddlyWikiStore",_15,_f,_11);}};var _16=function(_17,_18){var _19=_18.indexOf(startSaveArea);var _1a=_18.indexOf("<!--POST-BODY-END--"+">");var _1b=_18.lastIndexOf(endSaveArea,_1a==-1?_18.length:_1a);if((_19==-1)||(_1b==-1)){return config.messages.invalidFileError.format([_f]);}var _1c="<html><body>"+_18.substring(_19,_1b+endSaveArea.length)+"</body></html>";var _1d=document.createElement("iframe");_1d.style.display="none";document.body.appendChild(_1d);var doc=_1d.document;if(_1d.contentDocument){doc=_1d.contentDocument;}else{if(_1d.contentWindow){doc=_1d.contentWindow.document;}}doc.open();doc.writeln(_1c);doc.close();var _1f=doc.getElementById("storeArea");_17.loadFromDiv(_1f,"store");_1d.parentNode.removeChild(_1d);return null;};var _20=function(_21){_13("Error when loading %0".format([_f]),"Failed");_10(undefined,_f,_11,_21);return _21;};var _22=function(_23){_13("Loaded %0".format([_f]),"Done");_10(_23,_f,_11);return null;};var _24=function(_25,_26,_27,_28){if(_25===undefined){_20(_28);return;}_13("Processing %0".format([_f]),"Processing");var _29=config.messages.invalidFileError;config.messages.invalidFileError="The file '%0' does not appear to be a valid TiddlyWiki file";try{var _2a=new TiddlyWiki();var _2b=_16(_2a,_25);if(_2b){_20(_2b);}else{_22(_2a);}}catch(ex){_20(exceptionText(ex));}finally{config.messages.invalidFileError=_29;}};_13("Start loading %0".format([_f]),"Started");abego.loadFile(_f,_24,_11);};(function(){if(abego.TiddlyWikiIncluder){return;}var _2c="waiting";var _2d="loading";var _2e=1000;var _2f=-200;var _30=-100;var _31=-300;var _32;var _33=[];var _34={};var _35=[];var _36;var _37=[];var _38;var _39=function(){if(_32===undefined){_32=config.options.chkUseInclude===undefined||config.options.chkUseInclude;}return _32;};var _3a=function(url){return "No include specified for %0".format([url]);};var _3c=function(){var _3d=_35;_35=[];if(_3d.length){for(var i=0;i<_37.length;i++){_37[i](_3d);}}};var _3f;var _40=function(){if(_36!==undefined){clearInterval(_36);}_3f=0;var _41=function(){abego.TiddlyWikiIncluder.sendProgress("","","Done");};_36=setInterval(function(){_3f++;if(_3f<=10){return;}clearInterval(_36);_36=undefined;abego.TiddlyWikiIncluder.sendProgress("Refreshing...","","");refreshDisplay();invokeLater(_41,0,_2f);},1);};var _42=function(_43){var _44;for(var i=0;i<_33.length;i++){var _46=abego.TiddlyWikiIncluder.getStore(_33[i]);if(_46&&(_44=_43(_46,_33[i]))){return _44;}}};var _47=function(){if(!window.store){return invokeLater(_47,100);}var _48=store.fetchTiddler;store.fetchTiddler=function(_49){var t=_48.apply(this,arguments);if(t){return t;}if(config.shadowTiddlers[_49]!==undefined){return undefined;}if(_49==config.macros.newTiddler.title){return undefined;}return _42(function(_4b,url){var t=_4b.fetchTiddler(_49);if(t){t.includeURL=url;}return t;});};if(_33.length){_40();}};var _4e=function(){if(!window.store){return invokeLater(_4e,100);}var _4f=store.getTiddlerText("IncludeList");if(_4f){wikify(_4f,document.createElement("div"));}};var _50=function(_51){var _52=function(){var _53=store.forEachTiddler;var _54=function(_55){var _56={};var _57;var _58=function(_59,_5a){if(_56[_59]){return;}_56[_59]=1;if(_57){_5a.includeURL=_57;}_55.apply(this,arguments);};_53.call(store,_58);for(var n in config.shadowTiddlers){_56[n]=1;}_56[config.macros.newTiddler.title]=1;_42(function(_5c,url){_57=url;_5c.forEachTiddler(_58);});};store.forEachTiddler=_54;try{return _51.apply(this,arguments);}finally{store.forEachTiddler=_53;}};return _52;};var _5e=function(_5f,_60){return _5f[_60]=_50(_5f[_60]);};abego.TiddlyWikiIncluder={};abego.TiddlyWikiIncluder.setProgressFunction=function(_61){_38=_61;};abego.TiddlyWikiIncluder.getProgressFunction=function(_62){return _38;};abego.TiddlyWikiIncluder.sendProgress=function(_63,_64,_65){if(_38){_38.apply(this,arguments);}};abego.TiddlyWikiIncluder.onError=function(url,_67){displayMessage("Error when including '%0':\sn%1".format([url,_67]));};abego.TiddlyWikiIncluder.hasPendingIncludes=function(){for(var i=0;i<_33.length;i++){var _69=abego.TiddlyWikiIncluder.getState(_33[i]);if(_69==_2c||_69==_2d){return true;}}return false;};abego.TiddlyWikiIncluder.getIncludes=function(){return _33.slice();};abego.TiddlyWikiIncluder.getState=function(url){var s=_34[url];if(!s){return _3a(url);}return typeof s=="string"?s:null;};abego.TiddlyWikiIncluder.getStore=function(url){var s=_34[url];if(!s){return _3a(url);}return s instanceof TiddlyWiki?s:null;};abego.TiddlyWikiIncluder.include=function(url,_6f){if(!_39()||_34[url]){return;}var _70=this;_33.push(url);_34[url]=_2c;var _71=function(_72,_73,_74,_75){if(_72===undefined){_34[url]=_75;_70.onError(url,_75);return;}_34[url]=_72;_35.push(url);invokeLater(_3c);};var _76=function(){_34[url]=_2d;abego.loadTiddlyWikiStore(url,_71,null,_38);};if(_6f){invokeLater(_76,_6f);}else{_76();}};abego.TiddlyWikiIncluder.forReallyEachTiddler=function(_77){var _78=function(){store.forEachTiddler(_77);};_50(_78).call(store);};abego.TiddlyWikiIncluder.getFunctionUsingForReallyEachTiddler=_50;abego.TiddlyWikiIncluder.useForReallyEachTiddler=_5e;abego.TiddlyWikiIncluder.addListener=function(_79){_37.push(_79);};abego.TiddlyWikiIncluder.addListener(_40);if(config.options.chkUseInclude===undefined){config.options.chkUseInclude=true;}config.shadowTiddlers.AdvancedOptions+="\sn<<option chkUseInclude>> Include ~TiddlyWikis (IncludeList | IncludeState | [[help|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]])\sn^^(Reload this ~TiddlyWiki to make changes become effective)^^";config.shadowTiddlers.IncludeState="<<includeState>>";var _7a=function(e,_7c,_7d){if(!anim||!abego.ShowAnimation){e.style.display=_7c?"block":"none";return;}anim.startAnimating(new abego.ShowAnimation(e,_7c,_7d));};abego.TiddlyWikiIncluder.getDefaultProgressFunction=function(){setStylesheet(".includeProgressState{\sn"+"background-color:#FFCC00;\sn"+"position:absolute;\sn"+"right:0.2em;\sn"+"top:0.2em;\sn"+"width:7em;\sn"+"padding-left:0.2em;\sn"+"padding-right:0.2em\sn"+"}\sn","abegoInclude");var _7e=function(){var e=document.createElement("div");e.className="includeProgressState";e.style.display="none";document.body.appendChild(e);return e;};var _80=_7e();var _81=function(_82){removeChildren(_80);createTiddlyText(_80,_82);_7a(_80,true,0);};var _83=function(){invokeLater(function(){_7a(_80,false,_2e);},100,_30);};var _84=function(_85,_86,_87,url,_89){if(_87=="Done"||_87=="Failed"){_83();return;}if(_86=="abego.loadTiddlyWikiStore"){_3f=0;if(_87=="Processing"){_81("Including...");}}else{_81(_85);}};return _84;};abego.TiddlyWikiIncluder.setProgressFunction(abego.TiddlyWikiIncluder.getDefaultProgressFunction());config.macros.include={};config.macros.include.handler=function(_8a,_8b,_8c,_8d,_8e,_8f){_8c=_8e.parseParams("url",null,true,false,true);var _90=parseInt(getParam(_8c,"delay","0"));var _91=_8c[0]["url"];var _92=getFlag(_8c,"hide",false);if(!_92){createTiddlyText(createTiddlyElement(_8a,"code"),_8d.source.substring(_8d.matchStart,_8d.nextMatch));}for(var i=0;_91&&i<_91.length;i++){abego.TiddlyWikiIncluder.include(_91[i],_90);}};config.macros.includeState={};config.macros.includeState.handler=function(_94,_95,_96,_97,_98,_99){var _9a=function(){var s="";var _9c=abego.TiddlyWikiIncluder.getIncludes();if(!_9c.length){return "{{noIncludes{\snNo includes or 'include' is disabled (see AdvancedOptions)\sn}}}\sn";}s+="|!Address|!State|\sn";for(var i=0;i<_9c.length;i++){var inc=_9c[i];s+="|{{{"+inc+"}}}|";var t=abego.TiddlyWikiIncluder.getState(inc);s+=t?"{{{"+t+"}}}":"included";s+="|\sn";}s+="|includeState|k\sn";return s;};var _a0=function(){removeChildren(div);wikify(_9a(),div);if(abego.TiddlyWikiIncluder.hasPendingIncludes()){invokeLater(_a0,500,_31);}};var div=createTiddlyElement(_94,"div");invokeLater(_a0,0,_31);};var _a2=Tiddler.prototype.isReadOnly;Tiddler.prototype.isReadOnly=function(){return _a2.apply(this,arguments)||this.isIncluded();};Tiddler.prototype.isIncluded=function(){return this.includeURL!=undefined;};Tiddler.prototype.getIncludeURL=function(){return this.includeURL;};var _a3={getMissingLinks:1,getOrphans:1,getTags:1,reverseLookup:1,updateTiddlers:1};for(var n in _a3){_5e(TiddlyWiki.prototype,n);}var _a5=function(){if(abego.IntelliTagger){_5e(abego.IntelliTagger,"assistTagging");}};var _a6=function(){if(config.macros.forEachTiddler){_5e(config.macros.forEachTiddler,"findTiddlers");}};_47();invokeLater(_4e,100);invokeLater(_a5,100);invokeLater(_a6,100);})();\n//%/\n
/***\n|Name|SinglePageModePlugin|\n|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|\n|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|\n|Version|2.9.6|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides|Story.prototype.displayTiddler(), Story.prototype.displayTiddlers()|\n|Options|##Configuration|\n|Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|\nThis plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.\n!!!!!Documentation\n>see [[SinglePageModePluginInfo]]\n!!!!!Configuration\n<<<\n<<option chkSinglePageMode>> Display one tiddler at a time\n><<option chkSinglePagePermalink>> Automatically permalink current tiddler\n><<option chkSinglePageKeepFoldedTiddlers>> Don't close tiddlers that are folded\n><<option chkSinglePageKeepEditedTiddlers>> Don't close tiddlers that are being edited\n<<option chkTopOfPageMode>> Open tiddlers at the top of the page\n<<option chkBottomOfPageMode>> Open tiddlers at the bottom of the page\n<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)\n\nNotes:\n* 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}}}.\n* 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'.\n* When using Apple's Safari browser, automatically setting the permalink causes an error and is disabled.\n<<<\n!!!!!Revisions\n<<<\n2008.10.17 [2.9.6] changed chkSinglePageAutoScroll default to false\n| Please see [[SinglePageModePluginInfo]] for previous revision details |\n2005.08.15 [1.0.0] Initial Release. Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.SinglePageModePlugin= {major: 2, minor: 9, revision: 6, date: new Date(2008,10,17)};\n//}}}\n//{{{\nconfig.paramifiers.SPM = { onstart: function(v) {\n config.options.chkSinglePageMode=eval(v);\n if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) {\n config.lastURL = window.location.hash;\n if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);\n }\n} };\n//}}}\n//{{{\nif (config.options.chkSinglePageMode==undefined)\n config.options.chkSinglePageMode=false;\nif (config.options.chkSinglePagePermalink==undefined)\n config.options.chkSinglePagePermalink=true;\nif (config.options.chkSinglePageKeepFoldedTiddlers==undefined)\n config.options.chkSinglePageKeepFoldedTiddlers=false;\nif (config.options.chkSinglePageKeepEditedTiddlers==undefined)\n config.options.chkSinglePageKeepEditedTiddlers=false;\nif (config.options.chkTopOfPageMode==undefined)\n config.options.chkTopOfPageMode=false;\nif (config.options.chkBottomOfPageMode==undefined)\n config.options.chkBottomOfPageMode=false;\nif (config.options.chkSinglePageAutoScroll==undefined)\n config.options.chkSinglePageAutoScroll=false;\n//}}}\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) return; // no change in hash\n var tids=decodeURIComponent(window.location.hash.substr(1)).readBracketedList();\n if (tids.length==1) // permalink (single tiddler in URL)\n story.displayTiddler(null,tids[0]);\n else { // restore permaview or default view\n config.lastURL = window.location.hash;\n if (!tids.length) tids=store.getTiddlerText("DefaultTiddlers").readBracketedList();\n story.closeAllTiddlers();\n story.displayTiddlers(null,tids);\n }\n}\n\n\nif (Story.prototype.SPM_coreDisplayTiddler==undefined)\n Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;\nStory.prototype.displayTiddler = function(srcElement,tiddler,template,animate,slowly)\n{\n var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;\n var tiddlerElem=document.getElementById(story.idPrefix+title); // ==null unless tiddler is already displayed\n var opt=config.options;\n var single=opt.chkSinglePageMode && !startingUp;\n var top=opt.chkTopOfPageMode && !startingUp;\n var bottom=opt.chkBottomOfPageMode && !startingUp;\n if (single) {\n story.forEachTiddler(function(tid,elem) {\n // skip current tiddler and, optionally, tiddlers that are folded.\n if ( tid==title\n || (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")=="true"))\n return;\n // if a tiddler is being edited, ask before closing\n if (elem.getAttribute("dirty")=="true") {\n if (opt.chkSinglePageKeepEditedTiddlers) return;\n // if tiddler to be displayed is already shown, then leave active tiddler editor as is\n // (occurs when switching between view and edit modes)\n if (tiddlerElem) return;\n // otherwise, ask for permission\n var msg="'"+tid+"' is currently being edited.\sn\sn";\n msg+="Press OK to save and close this tiddler\snor press Cancel to leave it opened";\n if (!confirm(msg)) return; else story.saveTiddler(tid);\n }\n story.closeTiddler(tid);\n });\n }\n else if (top)\n arguments[0]=null;\n else if (bottom)\n arguments[0]="bottom";\n if (single && opt.chkSinglePagePermalink && !config.browser.isSafari) {\n window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));\n config.lastURL = window.location.hash;\n document.title = wikifyPlain("SiteTitle") + " - " + title;\n if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);\n }\n if (tiddlerElem && tiddlerElem.getAttribute("dirty")=="true") { // editing... move tiddler without re-rendering\n var isTopTiddler=(tiddlerElem.previousSibling==null);\n if (!isTopTiddler && (single || top))\n tiddlerElem.parentNode.insertBefore(tiddlerElem,tiddlerElem.parentNode.firstChild);\n else if (bottom)\n tiddlerElem.parentNode.insertBefore(tiddlerElem,null);\n else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler\n } else\n this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler\n var tiddlerElem=document.getElementById(story.idPrefix+title);\n if (tiddlerElem&&opt.chkSinglePageAutoScroll) {\n // scroll to top of page or top of tiddler\n var isTopTiddler=(tiddlerElem.previousSibling==null);\n var yPos=isTopTiddler?0:ensureVisible(tiddlerElem);\n // if animating, defer scroll until after animation completes\n var delay=opt.chkAnimate?config.animDuration+10:0;\n setTimeout("window.scrollTo(0,"+yPos+")",delay); \n }\n}\n\nif (Story.prototype.SPM_coreDisplayTiddlers==undefined)\n Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;\nStory.prototype.displayTiddlers = function() {\n // suspend single/top/bottom modes when showing multiple tiddlers\n var opt=config.options;\n var saveSPM=opt.chkSinglePageMode; opt.chkSinglePageMode=false;\n var saveTPM=opt.chkTopOfPageMode; opt.chkTopOfPageMode=false;\n var saveBPM=opt.chkBottomOfPageMode; opt.chkBottomOfPageMode=false;\n this.SPM_coreDisplayTiddlers.apply(this,arguments);\n opt.chkBottomOfPageMode=saveBPM;\n opt.chkTopOfPageMode=saveTPM;\n opt.chkSinglePageMode=saveSPM;\n}\n//}}}
The Archives' staff can make copies of photographs, text and audio materials for patrons who visit the archives in person or via email/phone request. The charge for duplication is determined by the proposed use and the type of material being duplicated.\n[<img[http://archives.library.wcsu.edu/relatedObjects/copy.jpg]]\n\n''Duplicated materials are granted to the patron with a Creative Commons Noncommercial-Share Alike 3.0 United States License unless otherwise specified. Use of duplicated materials should ALWAYS cite the WCSU Archives and Special Collections.\n\n[<img[http://archives.library.wcsu.edu/collections/MS002/creativeCommons]]''\n\nTo request copies, please contact the archivist with:\n\n * specific information on what materials you want duplicated\n * the format in which you want the duplicates\n * if the use is personal or for publication\n\nThe archivist will respond to your request and provide you with the total charges for duplication. All payments must be by check (or cash for on-site patrons) and the preferred mode of delivery is electronic. Some items may not be duplicated for reasons of privacy, copyright, risk to the material or upon the discretion of the archivist.\n\nChecks should be made payable to the Haas Library/Archives and Special Collections and sent to:\n\n Archives and Special Collections\n Haas Library\n Western Connecticut State University\n 181 White Street\n Danbury, CT\n 06810
Located at the Haas Library - lower level\n
<script>\nif (window.XMLHttpRequest) { \n x = new XMLHttpRequest();\n}\nelse { \n x = new ActiveXObject("Microsoft.XMLHTTP"); \n} \nif (x) { \n x.onreadystatechange = function() { \n if (x.readyState == 4) { \n document.write(x.responseText); \n } \n }; \n \n x.open("GET", "http://archives.library.wcsu.edu/cgi-bin/collectionslistNew.cgi");\n x.send(null); \n} \n</script>
config.options.chkTopOfPageMode=true;\nconfig.options.chkSinglePageMode=true;\nconfig.options.chkSinglePagePermalink=true;\nconfig.options.chkOpenInNewWindow=false;\n\n
[<img[http://archives.library.wcsu.edu/features/obocDanbury.jpg]]There will be a panel discussion and exhibit at the Haas Library atrium on October 24th at 11AM in conjunction with the [[One Book, One Community, Danbury|http://www.onebookdanbury.org/]] program.\n\nPanelists will be William Devlin, Chris Kukk and Mitch Wagener and Dave Bonan. The discussion will involve the ecological history of Danbury with discussions of the impact residents have made on the ecology of the area from historic, socio-political and scientific perspectives as well as some greener alternatives for today's Danburians.\n\nOn exhibit in the Haas Library lobby until the end of October will be items from the Archives that illustrate that human impact on this area; including: a 1867 Map of Danbury; a 1958 WestConn thesis on solar energy; articles on the planting of trees to draw mercury out of the soil; among other items that can be found in our collections related to Danbury's ecology.
/***\n|Name|ImportTiddlersPlugin|\n|Source|http://www.TiddlyTools.com/#ImportTiddlersPlugin|\n|Documentation|http://www.TiddlyTools.com/#ImportTiddlersPluginInfo|\n|Version|4.5.0|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides|config.macros.importTiddlers.handler|\n|Description|interactive controls for import/export with filtering.|\nCombine tiddlers from any two TiddlyWiki documents. An interactive control panel lets you pick a source document and import selected tiddlers, with prompting for skip, rename, merge or replace actions when importing tiddlers that match existing titles. Generates a detailed report of import 'history' in ImportedTiddlers.\n!!!!!Documentation\n<<<\nsee [[ImportTiddlersPluginInfo]] for details\n<<<\n!!!!!interactive control panel:\n<<<\n<<importTiddlers inline>>\n{{clear{\n^^(see also: [[ImportTiddlers]] shadow tiddler)^^}}}\n<<<\n!!!!!Revisions\n<<<\n2009.05.04 [4.5.0] import from CSV-formatted files\n|please see [[ImportTiddlersPluginInfo]] for additional revision details|\n2005.07.20 [1.0.0] Initial Release\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.ImportTiddlersPlugin= {major: 4, minor: 5, revision: 0, date: new Date(2009,5,4)};\n\n// IE needs explicit global scoping for functions/vars called from browser events\nwindow.onClickImportButton=onClickImportButton;\nwindow.refreshImportList=refreshImportList;\n\n// default cookie/option values\nif (!config.options.chkImportReport) config.options.chkImportReport=true;\n\n// default shadow definition\nconfig.shadowTiddlers.ImportTiddlers='<<importTiddlers inline>>';\n\n// use shadow tiddler content in backstage panel\nif (config.tasks) config.tasks.importTask.content='<<tiddler ImportTiddlers>>' // TW2.2 or above\n//}}}\n//{{{\n// backward-compatiblity for TW2.0.x and TW1.2.x\nif (config.macros.importTiddlers==undefined) config.macros.importTiddlers={};\nif (typeof merge=='undefined') {\n function merge(dst,src,preserveExisting) {\n for(var i in src) { if(!preserveExisting || dst[i] === undefined) dst[i] = src[i]; }\n return dst;\n }\n}\nif (config.browser.isGecko===undefined)\n config.browser.isGecko=(config.userAgent.indexOf('gecko')!=-1);\n//}}}\n//{{{\nmerge(config.macros.importTiddlers,{\n $: function(id) { return document.getElementById(id); }, // abbreviation\n label: 'import tiddlers',\n prompt: 'Copy tiddlers from another document',\n openMsg: 'Opening %0',\n openErrMsg: 'Could not open %0 - error=%1',\n readMsg: 'Read %0 bytes from %1',\n foundMsg: 'Found %0 tiddlers in %1',\n filterMsg: "Filtered %0 tiddlers matching '%1'",\n summaryMsg: '%0 tiddler%1 in the list',\n summaryFilteredMsg: '%0 of %1 tiddler%2 in the list',\n plural: 's are',\n single: ' is',\n countMsg: '%0 tiddlers selected for import',\n processedMsg: 'Processed %0 tiddlers',\n importedMsg: 'Imported %0 of %1 tiddlers from %2',\n loadText: 'please load a document...',\n closeText: 'close',\n doneText: 'done',\n startText: 'import',\n stopText: 'stop',\n local: true, // default to import from local file\n src: '', // path/filename or URL of document to import (retrieved from SiteUrl)\n proxy: '', // URL for remote proxy script (retrieved from SiteProxy)\n useProxy: false, // use specific proxy script in front of remote URL\n inbound: null, // hash-indexed array of tiddlers from other document\n newTags: '', // text of tags added to imported tiddlers\n addTags: true, // add new tags to imported tiddlers\n listsize: 10, // # of lines to show in imported tiddler list\n importTags: true, // include tags from remote source document when importing a tiddler\n keepTags: true, // retain existing tags when replacing a tiddler\n sync: false, // add 'server' fields to imported tiddlers (for sync function)\n lastFilter: '', // most recent filter (URL hash) applied\n lastAction: null, // most recent collision button performed\n index: 0, // current processing index in import list\n sort: '' // sort order for imported tiddler listbox\n});\n//}}}\n//{{{\n// hijack core macro handler\nif (config.macros.importTiddlers.coreHandler==undefined)\n config.macros.importTiddlers.coreHandler=config.macros.importTiddlers.handler;\n\nconfig.macros.importTiddlers.handler = function(place,macroName,params,wikifier,paramString,tiddler) {\n if (!params[0] || params[0].toLowerCase()=='core') { // default to built in\n if (config.macros.importTiddlers.coreHandler)\n config.macros.importTiddlers.coreHandler.apply(this,arguments);\n else \n createTiddlyButton(place,this.label,this.prompt,onClickImportMenu);\n } else if (params[0]=='link') { // show link to floating panel\n createTiddlyButton(place,params[1]||this.label,params[2]||this.prompt,onClickImportMenu);\n } else if (params[0]=='inline') {// show panel as INLINE tiddler content\n createImportPanel(place);\n this.$('importPanel').style.position='static';\n this.$('importPanel').style.display='block';\n } else if (config.macros.loadTiddlers)\n config.macros.loadTiddlers.handler(place,macroName,params); // any other params: loadtiddlers\n}\n//}}}\n//{{{\n// Handle link click to create/show/hide control panel\nfunction onClickImportMenu(e) { var e=e||window.event;\n var parent=resolveTarget(e).parentNode;\n var panel=document.getElementById('importPanel');\n if (panel==undefined || panel.parentNode!=parent) panel=createImportPanel(parent);\n var isOpen=panel.style.display=='block';\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(panel,!isOpen,false,'none'));\n else\n panel.style.display=isOpen?'none':'block';\n e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);\n}\n//}}}\n//{{{\n// Create control panel: HTML, CSS\nfunction createImportPanel(place) {\n var cmi=config.macros.importTiddlers; // abbrev\n var panel=cmi.$('importPanel');\n if (panel) { panel.parentNode.removeChild(panel); }\n setStylesheet(cmi.css,'importTiddlers');\n panel=createTiddlyElement(place,'span','importPanel',null,null)\n panel.innerHTML=cmi.html;\n refreshImportList();\n var siteURL=store.getTiddlerText('SiteUrl'); if (!siteURL) siteURL='';\n cmi.$('importSourceURL').value=siteURL;\n cmi.src=siteURL;\n var siteProxy=store.getTiddlerText('SiteProxy'); if (!siteProxy) siteProxy='SiteProxy';\n cmi.$('importSiteProxy').value=siteProxy;\n cmi.proxy=siteProxy;\n if (config.browser.isGecko) { // FF3 FIXUP\n cmi.$('fileImportSource').style.display='none';\n cmi.$('importLocalPanelFix').style.display='block';\n }\n cmi.$('chkSync').checked=cmi.sync;\n cmi.$('chkImportTags').checked=cmi.importTags;\n cmi.$('chkKeepTags').checked=cmi.keepTags;\n cmi.$('chkAddTags').checked=cmi.addTags;\n cmi.$('txtNewTags').value=cmi.newTags;\n cmi.$('txtNewTags').style.display=cmi.addTags?'block':'none';\n cmi.$('chkSync').checked=cmi.sync;\n cmi.$('chkImportReport').checked=config.options.chkImportReport;\n return panel;\n}\n//}}}\n//{{{\nconfig.macros.importTiddlers.css = '\s\n#importPanel {\s\n display: none; position:absolute; z-index:11; width:35em; right:105%; top:3em;\s\n background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\s\n border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\s\n padding: 0.5em; margin:0em; -moz-border-radius:1em;-webkit-border-radius:1em;\s\n}\s\n#importPanel a, #importPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\s\n#importPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\s\n#importPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\s\n#importPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\s\n#importPanel select { width:100%;margin:0px;font-size:8pt;line-height:110%;}\s\n#importPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\s\n#importPanel .box { border:1px solid #000; background-color:#eee; padding:3px 5px; margin-bottom:5px; -moz-border-radius:5px;-webkit-border-radius:5px;}\s\n#importPanel .topline { border-top:1px solid #999; padding-top:2px; margin-top:2px; }\s\n#importPanel .rad { width:auto; }\s\n#importPanel .chk { width:auto; margin:1px;border:0; }\s\n#importPanel .btn { width:auto; }\s\n#importPanel .btn1 { width:98%; }\s\n#importPanel .btn2 { width:48%; }\s\n#importPanel .btn3 { width:32%; }\s\n#importPanel .btn4 { width:23%; }\s\n#importPanel .btn5 { width:19%; }\s\n#importPanel .importButton { padding: 0em; margin: 0px; font-size:8pt; }\s\n#importPanel .importListButton { padding:0em 0.25em 0em 0.25em; color: #000000; display:inline }\s\n#backstagePanel #importPanel { left:10%; right:auto; }\s\n';\n//}}}\n//{{{\nconfig.macros.importTiddlers.html = '\s\n<!-- source and report -->\s\n<table><tr><td align=left>\s\n import from\s\n <input type="radio" class="rad" name="importFrom" id="importFromFile" value="file" CHECKED\s\n onclick="onClickImportButton(this,event)" title="show file controls"> local file\s\n <input type="radio" class="rad" name="importFrom" id="importFromWeb" value="http"\s\n onclick="onClickImportButton(this,event)" title="show web controls"> web server\s\n</td><td align=right>\s\n <input type=checkbox class="chk" id="chkImportReport"\s\n onClick="config.options[\s'chkImportReport\s']=this.checked;"> create report\s\n</td></tr></table>\s\n\s\n<div class="box" id="importSourcePanel" style="margin:.5em">\s\n<div id="importLocalPanel" style="display:block;margin-bottom:2px;"><!-- import from local file -->\s\nenter or browse for source path/filename<br>\s\n<input type="file" id="fileImportSource" size=57 style="width:100%"\s\n onKeyUp="config.macros.importTiddlers.src=this.value"\s\n onChange="config.macros.importTiddlers.src=this.value;document.getElementById(\s'importLoad\s').onclick()">\s\n<div id="importLocalPanelFix" style="display:none"><!-- FF3 FIXUP -->\s\n <input type="text" id="fileImportSourceFix" style="width:90%"\s\n title="Enter a path/file to import"\s\n onKeyUp="config.macros.importTiddlers.src=this.value"\s\n onChange="config.macros.importTiddlers.src=this.value;document.getElementById(\s'importLoad\s').onclick()">\s\n <input type="button" id="fileImportSourceFixButton" style="width:7%" value="..."\s\n title="Select a path/file to import"\s\n onClick="var r=config.macros.importTiddlers.askForFilename(this); if (!r||!r.length) return;\s\n document.getElementById(\s'fileImportSourceFix\s').value=r;\s\n config.macros.importTiddlers.src=r;\s\n document.getElementById(\s'importLoad\s').onclick()">\s\n</div><!--end FF3 FIXUP-->\s\n</div><!--end local-->\s\n<div id="importHTTPPanel" style="display:none;margin-bottom:2px;"><!-- import from http server -->\s\n<table><tr><td align=left>\s\n enter a URL or <a href="javascript:;" id="importSelectFeed"\s\n onclick="onClickImportButton(this,event)" title="select a pre-defined \s'systemServer\s' URL">\s\n select a server</a><br>\s\n</td><td align=right>\s\n <input type="checkbox" class="chk" id="importUsePassword"\s\n onClick="config.macros.importTiddlers.usePassword=this.checked;\s\n config.macros.importTiddlers.showPanel(\s'importIDPWPanel\s',this.checked,true);">password\s\n <input type="checkbox" class="chk" id="importUseProxy"\s\n onClick="config.macros.importTiddlers.useProxy=this.checked;\s\n config.macros.importTiddlers.showPanel(\s'importSiteProxy\s',this.checked,true);">proxy\s\n</td></tr></table>\s\n<input type="text" id="importSiteProxy" style="display:none;margin-bottom:1px" onfocus="this.select()" value="SiteProxy"\s\n onKeyUp="config.macros.importTiddlers.proxy=this.value"\s\n onChange="config.macros.importTiddlers.proxy=this.value;">\s\n<input type="text" id="importSourceURL" onfocus="this.select()" value="SiteUrl"\s\n onKeyUp="config.macros.importTiddlers.src=this.value"\s\n onChange="config.macros.importTiddlers.src=this.value;">\s\n<div id="importIDPWPanel" style="text-align:center;margin-top:2px;display:none";>\s\nusername: <input type=text id="txtImportID" style="width:25%" \s\n onChange="config.options.txtRemoteUsername=this.value;">\s\n password: <input type=password id="txtImportPW" style="width:25%" \s\n onChange="config.options.txtRemotePassword=this.value;">\s\n</div><!--end idpw-->\s\n</div><!--end http-->\s\n</div><!--end source-->\s\n\s\n<div class="box" id="importSelectPanel" style="display:none;margin:.5em;">\s\n<table><tr><td align=left>\s\nselect:\s\n<a href="javascript:;" id="importSelectAll"\s\n onclick="onClickImportButton(this);return false;" title="SELECT all tiddlers">\s\n all</a>\s\n&nbsp;<a href="javascript:;" id="importSelectNew"\s\n onclick="onClickImportButton(this);return false;" title="SELECT tiddlers not already in destination document">\s\n added</a>\s\n&nbsp;<a href="javascript:;" id="importSelectChanges"\s\n onclick="onClickImportButton(this);return false;" title="SELECT tiddlers that have been updated in source document">\s\n changes</a>\s\n&nbsp;<a href="javascript:;" id="importSelectDifferences"\s\n onclick="onClickImportButton(this);return false;" title="SELECT tiddlers that have been added or are different from existing tiddlers">\s\n differences</a>\s\n</td><td align=right>\s\n<a href="javascript:;" id="importListSmaller"\s\n onclick="onClickImportButton(this);return false;" title="SHRINK list size">\s\n &nbsp;&#150;&nbsp;</a>\s\n<a href="javascript:;" id="importListLarger"\s\n onclick="onClickImportButton(this);return false;" title="GROW list size">\s\n &nbsp;+&nbsp;</a>\s\n<a href="javascript:;" id="importListMaximize"\s\n onclick="onClickImportButton(this);return false;" title="MAXIMIZE/RESTORE list size">\s\n &nbsp;=&nbsp;</a>\s\n</td></tr></table>\s\n<select id="importList" size=8 multiple\s\n onchange="setTimeout(\s'refreshImportList(\s'+this.selectedIndex+\s')\s',1)">\s\n <!-- NOTE: delay refresh so list is updated AFTER onchange event is handled -->\s\n</select>\s\n<div style="text-align:center">\s\n <a href="javascript:;"\s\n title="click for help using filters..."\s\n onclick="alert(\s'A filter consists of one or more space-separated combinations of:\s\sn\s\sntiddler titles\s\sntag:[[tagvalue]]\s\sntag:[[tag expression]] (requires MatchTagsPlugin)\s\snstory:[[TiddlerName]]\s\snsearch:[[searchtext]]\s\sn\s\snUse a blank filter for all tiddlers.\s')"\s\n >filter</a>\s\n <input type="text" id="importLastFilter" style="margin-bottom:1px; width:65%"\s\n title="Enter a combination of one or more filters. Use a blank filter for all tiddlers."\s\n onfocus="this.select()" value=""\s\n onKeyUp="config.macros.importTiddlers.lastFilter=this.value"\s\n onChange="config.macros.importTiddlers.lastFilter=this.value;">\s\n <input type="button" id="importApplyFilter" style="width:20%" value="apply"\s\n title="filter list of tiddlers to include only those that match certain criteria"\s\n onclick="onClickImportButton(this)">\s\n </div>\s\n</div><!--end select-->\s\n\s\n<div class="box" id="importOptionsPanel" style="text-align:center;margin:.5em;display:none;">\s\n apply tags: <input type=checkbox class="chk" id="chkImportTags" checked\s\n onClick="config.macros.importTiddlers.importTags=this.checked;">from source&nbsp;\s\n <input type=checkbox class="chk" id="chkKeepTags" checked\s\n onClick="config.macros.importTiddlers.keepTags=this.checked;">keep existing&nbsp;\s\n <input type=checkbox class="chk" id="chkAddTags" \s\n onClick="config.macros.importTiddlers.addTags=this.checked;\s\n config.macros.importTiddlers.showPanel(\s'txtNewTags\s',this.checked,false);\s\n if (this.checked) document.getElementById(\s'txtNewTags\s').focus();">add tags<br>\s\n <input type=text id="txtNewTags" style="margin-top:4px;display:none;" size=15\s onfocus="this.select()" \s\n title="enter tags to be added to imported tiddlers" \s\n onKeyUp="config.macros.importTiddlers.newTags=this.value;\s\n document.getElementById(\s'chkAddTags\s').checked=this.value.length>0;" autocomplete=off>\s\n <nobr><input type=checkbox class="chk" id="chkSync" \s\n onClick="config.macros.importTiddlers.sync=this.checked;">\s\n link tiddlers to source document (for sync later)</nobr>\s\n</div><!--end options-->\s\n\s\n<div id="importButtonPanel" style="text-align:center">\s\n <input type=button id="importLoad" class="importButton btn3" value="open"\s\n title="load listbox with tiddlers from source document"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importOptions" class="importButton btn3" value="options..."\s\n title="set options for tags, sync, etc."\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importStart" class="importButton btn3" value="import"\s\n title="start/stop import of selected source tiddlers into current document"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importClose" class="importButton btn3" value="done"\s\n title="clear listbox or hide control panel"\s\n onclick="onClickImportButton(this)">\s\n</div>\s\n\s\n<div class="none" id="importCollisionPanel" style="display:none;margin:.5em 0 .5em .5em;">\s\n <table><tr><td style="width:65%" align="left">\s\n <table><tr><td align=left>\s\n tiddler already exists:\s\n </td><td align=right>\s\n <input type=checkbox class="chk" id="importApplyToAll" \s\n onclick="document.getElementById(\s'importRename\s').disabled=this.checked;"\s\n checked>apply to all\s\n </td></tr></table>\s\n <input type=text id="importNewTitle" size=15 autocomplete=off">\s\n </td><td style="width:34%" align="center">\s\n <input type=button id="importMerge"\s\n class="importButton" style="width:47%" value="merge"\s\n title="append the incoming tiddler to the existing tiddler"\s\n onclick="onClickImportButton(this)"><!--\s\n --><input type=button id="importSkip"\s\n class="importButton" style="width:47%" value="skip"\s\n title="do not import this tiddler"\s\n onclick="onClickImportButton(this)"><!--\s\n --><br><input type=button id="importRename"\s\n class="importButton" style="width:47%" value="rename"\s\n title="rename the incoming tiddler"\s\n onclick="onClickImportButton(this)"><!--\s\n --><input type=button id="importReplace"\s\n class="importButton" style="width:47%" value="replace"\s\n title="discard the existing tiddler"\s\n onclick="onClickImportButton(this)">\s\n </td></tr></table>\s\n</div><!--end collision-->\s\n';\n//}}}\n//{{{\n// process control interactions\nfunction onClickImportButton(which,event) {\n var cmi=config.macros.importTiddlers; // abbreviation\n var list=cmi.$('importList'); if (!list) return;\n var thePanel=cmi.$('importPanel');\n var theCollisionPanel=cmi.$('importCollisionPanel');\n var theNewTitle=cmi.$('importNewTitle');\n var count=0;\n switch (which.id)\n {\n case 'importFromFile': // show local panel\n case 'importFromWeb': // show HTTP panel\n cmi.local=(which.id=='importFromFile');\n cmi.showPanel('importLocalPanel',cmi.local);\n cmi.showPanel('importHTTPPanel',!cmi.local);\n break;\n case 'importOptions': // show/hide options panel\n cmi.showPanel('importOptionsPanel',cmi.$('importOptionsPanel').style.display=='none');\n break;\n case 'fileImportSource':\n case 'importLoad': // load import source into hidden frame\n importReport(); // if an import was in progress, generate a report\n cmi.inbound=null; // clear the imported tiddler buffer\n refreshImportList(); // reset/resize the listbox\n if (cmi.src=='') break;\n // Load document, read it's DOM and fill the list\n cmi.loadRemoteFile(cmi.src,cmi.filterTiddlerList);\n break;\n case 'importSelectFeed': // select a pre-defined systemServer feed URL\n var p=Popup.create(which); if (!p) return;\n var tids=store.getTaggedTiddlers('systemServer');\n if (!tids.length)\n createTiddlyText(createTiddlyElement(p,'li'),'no pre-defined server feeds');\n for (var t=0; t<tids.length; t++) {\n var u=store.getTiddlerSlice(tids[t].title,'URL');\n var d=store.getTiddlerSlice(tids[t].title,'Description');\n if (!d||!d.length) d=store.getTiddlerSlice(tids[t].title,'description');\n if (!d||!d.length) d=u;\n createTiddlyButton(createTiddlyElement(p,'li'),tids[t].title,d,\n function(){\n var u=this.getAttribute('url');\n document.getElementById('importSourceURL').value=u;\n config.macros.importTiddlers.src=u;\n document.getElementById('importLoad').onclick();\n },\n null,null,null,{url:u});\n }\n Popup.show(p,false);\n event.cancelBubble = true;\n if (event.stopPropagation) event.stopPropagation();\n return(false);\n // create popup with feed list\n // onselect, insert feed URL into input field.\n break;\n case 'importSelectAll': // select all tiddler list items (i.e., not headings)\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < list.options.length; t++) {\n if (list.options[t].value=='') continue;\n list.options[t].selected=true;\n count++;\n }\n clearMessage(); displayMessage(cmi.countMsg.format([count]));\n cmi.$('importStart').disabled=!count;\n break;\n case 'importSelectNew': // select tiddlers not in current document\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < list.options.length; t++) {\n list.options[t].selected=false;\n if (list.options[t].value=='') continue;\n list.options[t].selected=!store.tiddlerExists(list.options[t].value);\n count+=list.options[t].selected?1:0;\n }\n clearMessage(); displayMessage(cmi.countMsg.format([count]));\n cmi.$('importStart').disabled=!count;\n break;\n case 'importSelectChanges': // select tiddlers that are updated from existing tiddlers\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < list.options.length; t++) {\n list.options[t].selected=false;\n if (list.options[t].value==''||!store.tiddlerExists(list.options[t].value)) continue;\n for (var i=0; i<cmi.inbound.length; i++) // find matching inbound tiddler\n { var inbound=cmi.inbound[i]; if (inbound.title==list.options[t].value) break; }\n list.options[t].selected=(inbound.modified-store.getTiddler(list.options[t].value).modified>0); // updated tiddler\n count+=list.options[t].selected?1:0;\n }\n clearMessage(); displayMessage(cmi.countMsg.format([count]));\n cmi.$('importStart').disabled=!count;\n break;\n case 'importSelectDifferences': // select tiddlers that are new or different from existing tiddlers\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < list.options.length; t++) {\n list.options[t].selected=false;\n if (list.options[t].value=='') continue;\n if (!store.tiddlerExists(list.options[t].value)) { list.options[t].selected=true; count++; continue; }\n for (var i=0; i<cmi.inbound.length; i++) // find matching inbound tiddler\n { var inbound=cmi.inbound[i]; if (inbound.title==list.options[t].value) break; }\n list.options[t].selected=(inbound.modified-store.getTiddler(list.options[t].value).modified!=0); // changed tiddler\n count+=list.options[t].selected?1:0;\n }\n clearMessage(); displayMessage(cmi.countMsg.format([count]));\n cmi.$('importStart').disabled=!count;\n break;\n case 'importApplyFilter': // filter list to include only matching tiddlers\n importReport(); // if an import was in progress, generate a report\n clearMessage();\n if (!cmi.all) // no tiddlers loaded = '0 selected'\n { displayMessage(cmi.countMsg.format([0])); return false; }\n var hash=cmi.$('importLastFilter').value;\n cmi.inbound=cmi.filterByHash('#'+hash,cmi.all);\n refreshImportList(); // reset/resize the listbox\n break;\n case 'importStart': // initiate the import processing\n importReport(); // if an import was in progress, generate a report\n cmi.$('importApplyToAll').checked=false;\n cmi.$('importStart').value=cmi.stopText;\n if (cmi.index>0) cmi.index=-1; // stop processing\n else cmi.index=importTiddlers(0); // or begin processing\n importStopped();\n break;\n case 'importClose': // unload imported tiddlers or hide the import control panel\n // if imported tiddlers not loaded, close the import control panel\n if (!cmi.inbound) { thePanel.style.display='none'; break; }\n importReport(); // if an import was in progress, generate a report\n cmi.inbound=null; // clear the imported tiddler buffer\n refreshImportList(); // reset/resize the listbox\n break;\n case 'importSkip': // don't import the tiddler\n cmi.lastAction=which;\n var theItem = list.options[cmi.index];\n for (var j=0;j<cmi.inbound.length;j++)\n if (cmi.inbound[j].title==theItem.value) break;\n var theImported = cmi.inbound[j];\n theImported.status='skipped after asking'; // mark item as skipped\n theCollisionPanel.style.display='none';\n cmi.index=importTiddlers(cmi.index+1); // resume with NEXT item\n importStopped();\n break;\n case 'importRename': // change name of imported tiddler\n cmi.lastAction=which;\n var theItem = list.options[cmi.index];\n for (var j=0;j<cmi.inbound.length;j++)\n if (cmi.inbound[j].title==theItem.value) break;\n var theImported = cmi.inbound[j];\n theImported.status = 'renamed from '+theImported.title; // mark item as renamed\n theImported.set(theNewTitle.value,null,null,null,null); // change the tiddler title\n theItem.value = theNewTitle.value; // change the listbox item text\n theItem.text = theNewTitle.value; // change the listbox item text\n theCollisionPanel.style.display='none';\n cmi.index=importTiddlers(cmi.index); // resume with THIS item\n importStopped();\n break;\n case 'importMerge': // join existing and imported tiddler content\n cmi.lastAction=which;\n var theItem = list.options[cmi.index];\n for (var j=0;j<cmi.inbound.length;j++)\n if (cmi.inbound[j].title==theItem.value) break;\n var theImported = cmi.inbound[j];\n var theExisting = store.getTiddler(theItem.value);\n var theText = theExisting.text+'\sn----\sn^^merged from: ';\n theText +='[['+cmi.src+'#'+theItem.value+'|'+cmi.src+'#'+theItem.value+']]^^\sn';\n theText +='^^'+theImported.modified.toLocaleString()+' by '+theImported.modifier+'^^\sn'+theImported.text;\n var theDate = new Date();\n var theTags = theExisting.getTags()+' '+theImported.getTags();\n theImported.set(null,theText,null,theDate,theTags);\n theImported.status = 'merged with '+theExisting.title; // mark item as merged\n theImported.status += ' - '+theExisting.modified.formatString('MM/DD/YYYY 0hh:0mm:0ss');\n theImported.status += ' by '+theExisting.modifier;\n theCollisionPanel.style.display='none';\n cmi.index=importTiddlers(cmi.index); // resume with this item\n importStopped();\n break;\n case 'importReplace': // substitute imported tiddler for existing tiddler\n cmi.lastAction=which;\n var theItem = list.options[cmi.index];\n for (var j=0;j<cmi.inbound.length;j++)\n if (cmi.inbound[j].title==theItem.value) break;\n var theImported = cmi.inbound[j];\n var theExisting = store.getTiddler(theItem.value);\n theImported.status = 'replaces '+theExisting.title; // mark item for replace\n theImported.status += ' - '+theExisting.modified.formatString('MM/DD/YYYY 0hh:0mm:0ss');\n theImported.status += ' by '+theExisting.modifier;\n theCollisionPanel.style.display='none';\n cmi.index=importTiddlers(cmi.index); // resume with THIS item\n importStopped();\n break;\n case 'importListSmaller': // decrease current listbox size, minimum=5\n if (list.options.length==1) break;\n list.size-=(list.size>5)?1:0;\n cmi.listsize=list.size;\n break;\n case 'importListLarger': // increase current listbox size, maximum=number of items in list\n if (list.options.length==1) break;\n list.size+=(list.size<list.options.length)?1:0;\n cmi.listsize=list.size;\n break;\n case 'importListMaximize': // toggle listbox size between current and maximum\n if (list.options.length==1) break;\n list.size=(list.size==list.options.length)?cmi.listsize:list.options.length;\n break;\n }\n}\n//}}}\n//{{{\nconfig.macros.importTiddlers.showPanel=function(place,show,skipAnim) {\n if (typeof place=='string') var place=document.getElementById(place);\n if (!place||!place.style) return;\n if(!skipAnim && anim && config.options.chkAnimate) anim.startAnimating(new Slider(place,show,false,'none'));\n else place.style.display=show?'block':'none';\n}\n//}}}\n//{{{\nfunction refreshImportList(selectedIndex) {\n var cmi=config.macros.importTiddlers; // abbrev\n var list=cmi.$('importList'); if (!list) return;\n // if nothing to show, reset list content and size\n if (!cmi.inbound) {\n while (list.length > 0) { list.options[0] = null; }\n list.options[0]=new Option(cmi.loadText,'',false,false);\n list.size=cmi.listsize;\n cmi.$('importLoad').disabled=false;\n cmi.$('importLoad').style.display='inline';\n cmi.$('importStart').disabled=true;\n cmi.$('importOptions').disabled=true;\n cmi.$('importOptions').style.display='none';\n cmi.$('fileImportSource').disabled=false;\n cmi.$('importFromFile').disabled=false;\n cmi.$('importFromWeb').disabled=false;\n cmi.$('importStart').value=cmi.startText;\n cmi.$('importClose').value=cmi.doneText;\n cmi.$('importSelectPanel').style.display='none';\n cmi.$('importOptionsPanel').style.display='none';\n return;\n }\n // there are inbound tiddlers loaded...\n cmi.$('importLoad').disabled=true;\n cmi.$('importLoad').style.display='none';\n cmi.$('importOptions').style.display='inline';\n cmi.$('importOptions').disabled=false;\n cmi.$('fileImportSource').disabled=true;\n cmi.$('importFromFile').disabled=true;\n cmi.$('importFromWeb').disabled=true;\n cmi.$('importClose').value=cmi.closeText;\n if (cmi.$('importSelectPanel').style.display=='none')\n cmi.showPanel('importSelectPanel',true);\n\n // get the sort order\n if (!selectedIndex) selectedIndex=0;\n if (selectedIndex==0) cmi.sort='title'; // heading\n if (selectedIndex==1) cmi.sort='title';\n if (selectedIndex==2) cmi.sort='modified';\n if (selectedIndex==3) cmi.sort='tags';\n if (selectedIndex>3) {\n // display selected tiddler count\n for (var t=0,count=0; t < list.options.length; t++) {\n if (!list.options[t].selected) continue;\n if (list.options[t].value!='')\n count+=1;\n else { // if heading is selected, deselect it, and then select and count all in section\n list.options[t].selected=false;\n for ( t++; t<list.options.length && list.options[t].value!=''; t++) {\n list.options[t].selected=true;\n count++;\n }\n }\n }\n clearMessage(); displayMessage(cmi.countMsg.format([count]));\n }\n cmi.$('importStart').disabled=!count;\n if (selectedIndex>3) return; // no refresh needed\n\n // get the alphasorted list of tiddlers\n var tiddlers=cmi.inbound;\n tiddlers.sort(function (a,b) {if(a['title'] == b['title']) return(0); else return (a['title'] < b['title']) ? -1 : +1; });\n // clear current list contents\n while (list.length > 0) { list.options[0] = null; }\n // add heading and control items to list\n var i=0;\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n if (cmi.all.length==tiddlers.length)\n var summary=cmi.summaryMsg.format([tiddlers.length,(tiddlers.length!=1)?cmi.plural:cmi.single]);\n else\n var summary=cmi.summaryFilteredMsg.format([tiddlers.length,cmi.all.length,(cmi.all.length!=1)?cmi.plural:cmi.single]);\n list.options[i++]=new Option(summary,'',false,false);\n list.options[i++]=new Option(((cmi.sort=='title' )?'>':indent)+' [by title]','',false,false);\n list.options[i++]=new Option(((cmi.sort=='modified')?'>':indent)+' [by date]','',false,false);\n list.options[i++]=new Option(((cmi.sort=='tags')?'>':indent)+' [by tags]','',false,false);\n // output the tiddler list\n switch(cmi.sort) {\n case 'title':\n for(var t = 0; t < tiddlers.length; t++)\n list.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);\n break;\n case 'modified':\n // sort descending for newest date first\n tiddlers.sort(function (a,b) {if(a['modified'] == b['modified']) return(0); else return (a['modified'] > b['modified']) ? -1 : +1; });\n var lastSection = '';\n for(var t = 0; t < tiddlers.length; t++) {\n var tiddler = tiddlers[t];\n var theSection = tiddler.modified.toLocaleDateString();\n if (theSection != lastSection) {\n list.options[i++] = new Option(theSection,'',false,false);\n lastSection = theSection;\n }\n list.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);\n }\n break;\n case 'tags':\n var theTitles = {}; // all tiddler titles, hash indexed by tag value\n var theTags = new Array();\n for(var t=0; t<tiddlers.length; t++) {\n var title=tiddlers[t].title;\n var tags=tiddlers[t].tags;\n if (!tags || !tags.length) {\n if (theTitles['untagged']==undefined) { theTags.push('untagged'); theTitles['untagged']=new Array(); }\n theTitles['untagged'].push(title);\n }\n else for(var s=0; s<tags.length; s++) {\n if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }\n theTitles[tags[s]].push(title);\n }\n }\n theTags.sort();\n for(var tagindex=0; tagindex<theTags.length; tagindex++) {\n var theTag=theTags[tagindex];\n list.options[i++]=new Option(theTag,'',false,false);\n for(var t=0; t<theTitles[theTag].length; t++)\n list.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);\n }\n break;\n }\n list.selectedIndex=selectedIndex; // select current control item\n if (list.size<cmi.listsize) list.size=cmi.listsize;\n if (list.size>list.options.length) list.size=list.options.length;\n}\n//}}}\n//{{{\n// re-entrant processing for handling import with interactive collision prompting\nfunction importTiddlers(startIndex) {\n var cmi=config.macros.importTiddlers; // abbrev\n if (!cmi.inbound) return -1;\n var list=cmi.$('importList'); if (!list) return;\n var t;\n // if starting new import, reset import status flags\n if (startIndex==0)\n for (var t=0;t<cmi.inbound.length;t++)\n cmi.inbound[t].status='';\n for (var i=startIndex; i<list.options.length; i++) {\n // if list item is not selected or is a heading (i.e., has no value), skip it\n if ((!list.options[i].selected) || ((t=list.options[i].value)==''))\n continue;\n for (var j=0;j<cmi.inbound.length;j++)\n if (cmi.inbound[j].title==t) break;\n var inbound = cmi.inbound[j];\n var theExisting = store.getTiddler(inbound.title);\n // avoid redundant import for tiddlers that are listed multiple times (when 'by tags')\n if (inbound.status=='added')\n continue;\n // don't import the 'ImportedTiddlers' history from the other document...\n if (inbound.title=='ImportedTiddlers')\n continue;\n // if tiddler exists and import not marked for replace or merge, stop importing\n if (theExisting && (inbound.status.substr(0,7)!='replace') && (inbound.status.substr(0,5)!='merge'))\n return i;\n // assemble tags (remote + existing + added)\n var newTags = '';\n if (cmi.importTags)\n newTags+=inbound.getTags() // import remote tags\n if (cmi.keepTags && theExisting)\n newTags+=' '+theExisting.getTags(); // keep existing tags\n if (cmi.addTags && cmi.newTags.trim().length)\n newTags+=' '+cmi.newTags; // add new tags\n inbound.set(null,null,null,null,newTags.trim());\n // set the status to 'added' (if not already set by the 'ask the user' UI)\n inbound.status=(inbound.status=='')?'added':inbound.status;\n // set sync fields\n if (cmi.sync) {\n if (!inbound.fields) inbound.fields={}; // for TW2.1.x backward-compatibility\n inbound.fields['server.page.revision']=inbound.modified.convertToYYYYMMDDHHMM();\n inbound.fields['server.type']='file';\n inbound.fields['server.host']=(cmi.local?'file://':'')+cmi.src;\n }\n // do the import!\n store.suspendNotifications();\n store.saveTiddler(inbound.title, inbound.title, inbound.text, inbound.modifier, inbound.modified, inbound.tags, inbound.fields, true, inbound.created);\n store.fetchTiddler(inbound.title).created = inbound.created; // force creation date to imported value (needed for TW2.1.x and earlier)\n store.resumeNotifications();\n }\n return(-1); // signals that we really finished the entire list\n}\nfunction importStopped() {\n var cmi=config.macros.importTiddlers; // abbrev\n var list=cmi.$('importList'); if (!list) return;\n var theNewTitle=cmi.$('importNewTitle');\n if (cmi.index==-1){ \n cmi.$('importStart').value=cmi.startText;\n importReport(); // import finished... generate the report\n } else {\n // import collision...\n // show the collision panel and set the title edit field\n cmi.$('importStart').value=cmi.stopText;\n cmi.showPanel('importCollisionPanel',true);\n theNewTitle.value=list.options[cmi.index].value;\n if (cmi.$('importApplyToAll').checked && cmi.lastAction && cmi.lastAction.id!='importRename')\n onClickImportButton(cmi.lastAction);\n }\n}\n//}}}\n//{{{\nfunction importReport() {\n var cmi=config.macros.importTiddlers; // abbrev\n if (!cmi.inbound) return;\n // if import was not completed, the collision panel will still be open... close it now.\n var panel=cmi.$('importCollisionPanel'); if (panel) panel.style.display='none';\n // get the alphasorted list of tiddlers\n var tiddlers = cmi.inbound;\n // gather the statistics\n var count=0; var total=0;\n for (var t=0; t<tiddlers.length; t++) {\n if (!tiddlers[t].status || !tiddlers[t].status.trim().length) continue;\n if (tiddlers[t].status.substr(0,7)!='skipped') count++;\n total++;\n }\n // generate a report\n if (total) displayMessage(cmi.processedMsg.format([total]));\n if (count && config.options.chkImportReport) {\n // get/create the report tiddler\n var theReport = store.getTiddler('ImportedTiddlers');\n if (!theReport) { theReport=new Tiddler(); theReport.title='ImportedTiddlers'; theReport.text=''; }\n // format the report content\n var now = new Date();\n var newText = 'On '+now.toLocaleString()+', '+config.options.txtUserName\n newText +=' imported '+count+' tiddler'+(count==1?'':'s')+' from\sn[['+cmi.src+'|'+cmi.src+']]:\sn';\n if (cmi.addTags && cmi.newTags.trim().length)\n newText += 'imported tiddlers were tagged with: "'+cmi.newTags+'"\sn';\n newText += '<<<\sn';\n for (var t=0; t<tiddlers.length; t++) if (tiddlers[t].status)\n newText += '#[['+tiddlers[t].title+']] - '+tiddlers[t].status+'\sn';\n newText += '<<<\sn';\n // update the ImportedTiddlers content and show the tiddler\n theReport.text = newText+((theReport.text!='')?'\sn----\sn':'')+theReport.text;\n theReport.modifier = config.options.txtUserName;\n theReport.modified = new Date();\n store.saveTiddler(theReport.title, theReport.title, theReport.text, theReport.modifier, theReport.modified, theReport.tags, theReport.fields);\n story.displayTiddler(null,theReport.title,1,null,null,false);\n story.refreshTiddler(theReport.title,1,true);\n }\n // reset status flags\n for (var t=0; t<cmi.inbound.length; t++) cmi.inbound[t].status='';\n // mark document as dirty and let display update as needed\n if (count) { store.setDirty(true); store.notifyAll(); }\n // always show final message when tiddlers were actually loaded\n if (count) displayMessage(cmi.importedMsg.format([count,tiddlers.length,cmi.src.replace(/%20/g,' ')]));\n}\n//}}}\n//{{{\n// // File and XMLHttpRequest I/O\nconfig.macros.importTiddlers.askForFilename=function(here) {\n var msg=here.title; // use tooltip as dialog box message\n var path=getLocalPath(document.location.href);\n var slashpos=path.lastIndexOf('/'); if (slashpos==-1) slashpos=path.lastIndexOf('\s\s'); \n if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash\n var file='';\n var result='';\n if(window.Components) { // moz\n try {\n netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');\n\n var nsIFilePicker = window.Components.interfaces.nsIFilePicker;\n var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);\n picker.init(window, msg, nsIFilePicker.modeOpen);\n var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);\n thispath.initWithPath(path);\n picker.displayDirectory=thispath;\n picker.defaultExtension='html';\n picker.defaultString=file;\n picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);\n if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;\n }\n catch(e) { alert('error during local file access: '+e.toString()) }\n }\n else { // IE\n try { // XPSP2 IE only\n var s = new ActiveXObject('UserAccounts.CommonDialog');\n s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';\n s.FilterIndex=3; // default to HTML files;\n s.InitialDir=path;\n s.FileName=file;\n if (s.showOpen()) var result=s.FileName;\n }\n catch(e) { // fallback\n var result=prompt(msg,path+file);\n }\n }\n return result;\n}\n\nconfig.macros.importTiddlers.loadRemoteFile = function(src,callback) {\n if (src==undefined || !src.length) return null; // filename is required\n var original=src; // URL as specified\n var hashpos=src.indexOf('#'); if (hashpos!=-1) src=src.substr(0,hashpos); // URL with #... suffix removed (needed for IE)\n clearMessage();\n displayMessage(this.openMsg.format([src.replace(/%20/g,' ')]));\n if (src.substr(0,5)!='http:' && src.substr(0,5)!='file:') { // if not a URL, read from local filesystem\n var txt=loadFile(src);\n if (!txt) { // file didn't load, might be relative path.. try fixup\n var pathPrefix=document.location.href; // get current document path and trim off filename\n var slashpos=pathPrefix.lastIndexOf('/'); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf('\s\s'); \n if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);\n src=pathPrefix+src;\n if (pathPrefix.substr(0,5)!='http:') src=getLocalPath(src);\n var txt=loadFile(src);\n }\n if (!txt) { // file still didn't load, report error\n displayMessage(config.macros.importTiddlers.openErrMsg.format([src.replace(/%20/g,' '),'(filesystem error)']));\n } else {\n displayMessage(config.macros.importTiddlers.readMsg.format([txt.length,src.replace(/%20/g,' ')]));\n if (callback) callback(true,original,convertUTF8ToUnicode(txt),src,null);\n }\n } else {\n var name=config.options.txtRemoteUsername; var pass=config.options.txtRemotePassword;\n var xhr=doHttp('GET',src,null,null,name,pass,callback,original,null)\n if (!xhr) displayMessage(config.macros.importTiddlers.openErrMsg.format([src,'(XMLHTTPRequest error)']));\n }\n}\n\nconfig.macros.importTiddlers.readTiddlersFromHTML=function(html)\n{\n var remoteStore=new TiddlyWiki();\n remoteStore.importTiddlyWiki(html);\n return remoteStore.getTiddlers('title'); \n}\n\nconfig.macros.importTiddlers.readTiddlersFromCSV=function(CSV) {\n var remoteStore=new TiddlyWiki();\n var lines=CSV.split('\sn'); var names=lines[0].split(','); CSV=lines.join('\sn')\n // ENCODE commas and newlines within quoted values\n var comma='!~comma~!'; var commaRE=new RegExp(comma,'g');\n var newline='!~newline~!'; var newlineRE=new RegExp(newline,'g');\n CSV=CSV.replace(/\sx22((?:[^\sx22]|\sx22\sx22)*?)\sx22/g,\n function(x){ return x.substr(1,x.length-2).replace(/\s,/g,comma).replace(/\sn/g,newline); });\n // PARSE lines\n var lines=CSV.split('\sn');\n for (var i=1; i<lines.length; i++) { if (!lines[i].length) continue;\n var values=lines[i].split(',');\n // DECODE commas, newlines and doubled-quotes within quoted values\n for (var v=0; v<values.length; v++)\n values[v]=values[v].replace(commaRE,',').replace(newlineRE,'\sn').replace(/\sx22\sx22/g,'\sx22');\n // EXTRACT tiddler values\n var title=''; var text=''; var tags=[]; var fields={};\n var created=null; var when=new Date(); var who=config.options.txtUserName;\n for (var v=0; v<values.length; v++) { var val=values[v];\n if (names[v]) switch(names[v].toLowerCase()) {\n case 'title': title=val.replace(/\s[\s]\s|/g,'_'); break;\n case 'created': created=new Date(val); break;\n case 'modified':when=new Date(val); break;\n case 'modifier':who=val; break;\n case 'text': text=val; break;\n case 'tags': tags=val.readBracketedList(); break;\n default: fields[names[v].toLowerCase()]=val; break;\n }\n }\n // CREATE tiddler in temporary store\n if (title.length) remoteStore.saveTiddler(title,title,text,who,when,tags,fields,true,created||when);\n }\n return remoteStore.getTiddlers('title'); \n}\n\nconfig.macros.importTiddlers.filterTiddlerList=function(success,params,txt,src,xhr) {\n var cmi=config.macros.importTiddlers; // abbreviation\n var src=src.replace(/%20/g,' ');\n if (!success) { displayMessage(cmi.openErrMsg.format([src,xhr.status])); return; }\n cmi.all=cmi.readTiddlersFromHTML(txt);\n if (!cmi.all||!cmi.all.length) cmi.all=cmi.readTiddlersFromCSV(txt)\n var count=cmi.all?cmi.all.length:0;\n var querypos=src.lastIndexOf('?'); if (querypos!=-1) src=src.substr(0,querypos);\n displayMessage(cmi.foundMsg.format([count,src]));\n cmi.inbound=cmi.filterByHash(params,cmi.all); // use full URL including hash (if any)\n cmi.$('importLastFilter').value=cmi.lastFilter;\n window.refreshImportList(0);\n}\n\nconfig.macros.importTiddlers.filterByHash=function(src,tiddlers)\n{\n var hashpos=src.lastIndexOf('#'); if (hashpos==-1) return tiddlers;\n var hash=src.substr(hashpos+1); if (!hash.length) return tiddlers;\n var tids=[];\n var params=hash.parseParams('anon',null,true,false,false);\n for (var p=1; p<params.length; p++) {\n switch (params[p].name) {\n case 'anon':\n case 'open':\n tids.pushUnique(params[p].value);\n break;\n case 'tag':\n if (store.getMatchingTiddlers) { // for boolean expressions - see MatchTagsPlugin\n var r=store.getMatchingTiddlers(params[p].value,null,tiddlers);\n for (var t=0; t<r.length; t++) tids.pushUnique(r[t].title);\n } else for (var t=0; t<tiddlers.length; t++)\n if (tiddlers[t].isTagged(params[p].value))\n tids.pushUnique(tiddlers[t].title);\n break;\n case 'story':\n for (var t=0; t<tiddlers.length; t++)\n if (tiddlers[t].title==params[p].value) {\n tiddlers[t].changed();\n for (var s=0; s<tiddlers[t].links.length; s++)\n tids.pushUnique(tiddlers[t].links[s]);\n break;\n }\n break;\n case 'search':\n for (var t=0; t<tiddlers.length; t++)\n if (tiddlers[t].text.indexOf(params[p].value)!=-1)\n tids.pushUnique(tiddlers[t].title);\n break;\n }\n }\n var matches=[];\n for (var t=0; t<tiddlers.length; t++)\n if (tids.contains(tiddlers[t].title))\n matches.push(tiddlers[t]);\n displayMessage(config.macros.importTiddlers.filterMsg.format([matches.length,hash]));\n config.macros.importTiddlers.lastFilter=hash;\n return matches;\n}\n//}}}
/***\n|Name|TagCloudPlugin|\n|Source|http://www.TiddlyTools.com/#TagCloudPlugin|\n|Version|1.6.0|\n|Author|Eric Shulman|\n|Original Author|Clint Checketts|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description|present a 'cloud' of tags (or links) using proportional font display|\n!Usage\n<<<\n{{{\n<<cloud type action:... limit:... tag tag tag ...>>\n<<cloud type action:... limit:... +TiddlerName>>\n<<cloud type action:... limit:... =tagvalue>>\n}}}\nwhere:\n* //type// is a keyword, one of:\n** ''tags'' (default) - displays a cloud of tags, based on frequency of use\n** ''links'' - displays a cloud of tiddlers, based on number of links //from// each tiddler\n** ''references'' - displays a cloud of tiddlers, based on number of links //to// each tiddler\n* ''action:popup'' (default) - clicking a cloud item shows a popup with links to related tiddlers<br>//or//<br> ''action:goto'' - clicking a cloud item immediately opens the tiddler corresponding to that item\n* ''limit:N'' (optional) - restricts the cloud display to only show the N most popular tags/links\n* ''tag tag tag...'' (or ''title title title'' if ''links''/''references'' is used)<br>shows all tags/links in the document //except// for those listed as macro parameters\n* ''+TiddlerName''<br>shows tags/links read from a space-separated, bracketed list stored in a separate tiddler.\n* ''=tagvalue'' (//only if type=''tags''//)<br>shows only tags that are themselves tagged with the indicated tag value (i.e., ~TagglyTagging usage)\n//note: for backward-compatibility, you can also use the macro {{{<<tagCloud ...>>}}} in place of {{{<<cloud ...>>}}}//\n<<<\n!Examples\n<<<\n//all tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//\n{{{<<cloud systemConfig excludeMissing script>>}}}\n{{groupbox{<<cloud systemConfig excludeMissing script>>}}}\n//top 10 tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//\n{{{<<cloud limit:10 systemConfig excludeMissing script>>}}}\n{{groupbox{<<cloud limit:10 systemConfig excludeMissing script>>}}}\n//tags listed in// [[FavoriteTags]]\n{{{<<cloud +FavoriteTags>>}}}\n{{groupbox{<<cloud +FavoriteTags>>}}}\n//links to tiddlers tagged with 'package'//\n{{{<<cloud action:goto =package>>}}}\n{{groupbox{<<cloud action:goto =package>>}}}\n//top 20 most referenced tiddlers//\n{{{<<cloud references limit:20>>}}}\n{{groupbox{<<cloud references limit:20>>}}}\n//top 20 tiddlers that contain the most links//\n{{{<<cloud links limit:20>>}}}\n{{groupbox{<<cloud links limit:20>>}}}\n<<<\n!Revisions\n<<<\n2009.02.26 [1.6.0] added {{{action:...}}} parameter to apply popup vs. goto action when clicking cloud items\n2009.02.05 [1.5.0] added ability to show links or back-links (references) instead of tags and renamed macro to {{{<<cloud>>}}} to reflect more generalized usage.\n2008.12.16 [1.4.2] corrected group calculation to prevent 'group=0' error\n2008.12.16 [1.4.1] revised tag filtering so excluded tags don't affect calculations\n2008.12.15 [1.4.0] added {{{limit:...}}} parameter to restrict the number of tags displayed to the top N most popular\n2008.11.15 [1.3.0] added {{{+TiddlerName}}} parameter to include only tags that are listed in the indicated tiddler\n2008.09.05 [1.2.0] added '=tagname' parameter to include only tags that are themselves tagged with the specified value (i.e., ~TagglyTagging usage)\n2008.07.03 [1.1.0] added 'segments' property to macro object. Extensive code cleanup\n<<<\n!Code\n***/\n//{{{\nversion.extensions.TagCloudPlugin= {major: 1, minor: 6 , revision: 0, date: new Date(2009,2,26)};\n//Originally created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman\n//Currently maintained and enhanced by Eric Shulman\n//}}}\n//{{{\nconfig.macros.cloud = {\n tagstip: "%1 tiddlers tagged with '%0'",\n refslabel: " (%0 references)",\n refstip: "%1 tiddlers have links to '%0'",\n linkslabel: " (%0 links)",\n linkstip: "'%0' has links to %1 other tiddlers",\n groups: 9,\n init: function() {\n config.macros.tagCloud=config.macros.cloud; // for backward-compatibility\n config.shadowTiddlers.TagCloud='<<cloud>>';\n config.shadowTiddlers.StyleSheetTagCloud=\n '/*{{{*/\sn'\n +'.tagCloud span {line-height: 3.5em; margin:3px;}\sn'\n +'.tagCloud1{font-size: 80%;}\sn'\n +'.tagCloud2{font-size: 100%;}\sn'\n +'.tagCloud3{font-size: 120%;}\sn'\n +'.tagCloud4{font-size: 140%;}\sn'\n +'.tagCloud5{font-size: 160%;}\sn'\n +'.tagCloud6{font-size: 180%;}\sn'\n +'.tagCloud7{font-size: 200%;}\sn'\n +'.tagCloud8{font-size: 220%;}\sn'\n +'.tagCloud9{font-size: 240%;}\sn'\n +'/*}}}*/\sn';\n setStylesheet(store.getTiddlerText('StyleSheetTagCloud'),'tagCloudsStyles');\n },\n getLinks: function(tiddler) { // get list of links to existing tiddlers and shadows\n if (!tiddler.linksUpdated) tiddler.changed();\n var list=[]; for (var i=0; i<tiddler.links.length; i++) {\n var title=tiddler.links[i];\n if (store.isShadowTiddler(title)||store.tiddlerExists(title))\n list.push(title);\n }\n return list;\n },\n handler: function(place,macroName,params) {\n // unpack params\n var inc=[]; var ex=[]; var limit=0; var action='popup';\n var links=(params[0]&&params[0].toLowerCase()=='links'); if (links) params.shift();\n var refs=(params[0]&&params[0].toLowerCase()=='references'); if (refs) params.shift();\n if (params[0]&&params[0].substr(0,7).toLowerCase()=='action:')\n action=params.shift().substr(7).toLowerCase();\n if (params[0]&&params[0].substr(0,6).toLowerCase()=='limit:')\n limit=parseInt(params.shift().substr(6));\n if (params.length) {\n if (params[0].substr(0,1)=='+') { // get tag list from tiddler\n var inc=store.getTiddlerText(params[0].substr(1),'').readBracketedList();\n } else if (params[0].substr(0,1)=='=') { // get tag list using tagged tags\n var tagged=store.getTaggedTiddlers(params[0].substr(1));\n for (var t=0; t<tagged.length; t++) inc.push(tagged[t].title);\n } else ex=params; // exclude params\n }\n // get all items, include/exclude specific items\n var items=[];\n var list=(links||refs)?store.getTiddlers('title','excludeLists'):store.getTags();\n for (var t=0; t<list.length; t++) {\n var title=(links||refs)?list[t].title:list[t][0];\n if (links) var count=this.getLinks(list[t]).length;\n else if (refs) var count=store.getReferringTiddlers(title).length;\n else var count=list[t][1];\n if ((!inc.length||inc.contains(title))&&(!ex.length||!ex.contains(title)))\n items.push({ title:title, count:count });\n }\n if(!items.length) return;\n // sort by decending count, limit results (optional)\n items=items.sort(function(a,b){return(a.count==b.count)?0:(a.count>b.count?-1:1);});\n while (limit && items.length>limit) items.pop();\n // find min/max and group size\n var most=items[0].count;\n var least=items[items.length-1].count;\n var groupSize=(most-least+1)/this.groups;\n // sort by title and draw the cloud of items\n items=items.sort(function(a,b){return(a.title==b.title)?0:(a.title>b.title?1:-1);});\n var cloudWrapper = createTiddlyElement(place,'div',null,'tagCloud',null);\n for (var t=0; t<items.length; t++) {\n cloudWrapper.appendChild(document.createTextNode(' '));\n var group=Math.ceil((items[t].count-least)/groupSize)||1;\n var className='tagCloudtag tagCloud'+group;\n var tip=refs?this.refstip:links?this.linkstip:this.tagstip;\n tip=tip.format([items[t].title,items[t].count]);\n if (action=='goto') { // TAG/LINK/REFERENCES GOTO\n var btn=createTiddlyLink(cloudWrapper,items[t].title,true,className);\n btn.title=tip;\n btn.style.fontWeight='normal';\n } else if (!links&&!refs) { // TAG POPUP\n var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,onClickTag,className);\n btn.setAttribute('tag',items[t].title);\n } else { // LINK/REFERENCES POPUP\n var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,\n function(ev) { var e=ev||window.event; var cmt=config.macros.cloud;\n var popup = Popup.create(this);\n var title = this.getAttribute('tiddler');\n var count = this.getAttribute('count');\n var refs = this.getAttribute('refs')=='T';\n var links = this.getAttribute('links')=='T';\n var label = (refs?cmt.refslabel:cmt.linkslabel).format([count]);\n createTiddlyLink(popup,title,true);\n createTiddlyText(popup,label);\n createTiddlyElement(popup,'hr');\n if (refs) {\n popup.setAttribute('tiddler',title);\n config.commands.references.handlePopup(popup,title);\n }\n if (links) {\n var tiddler = store.fetchTiddler(title);\n var links=config.macros.cloud.getLinks(tiddler);\n for(var i=0;i<links.length;i++)\n createTiddlyLink(createTiddlyElement(popup,'li'),\n links[i],true);\n }\n Popup.show();\n e.cancelBubble=true; if(e.stopPropagation) e.stopPropagation();\n return false;\n }, className);\n btn.setAttribute('tiddler',items[t].title);\n btn.setAttribute('count',items[t].count);\n btn.setAttribute('refs',refs?'T':'F');\n btn.setAttribute('links',links?'T':'F');\n btn.title=tip;\n }\n }\n }\n};\n//}}}
/***\n|Name|DatePlugin|\n|Source|http://www.TiddlyTools.com/#DatePlugin|\n|Version|2.3.1|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description|formatted dates plus popup menu with 'journal' link, changes and (optional) reminders|\n\nThere are quite a few calendar generators, reminders, to-do lists, 'dated tiddlers' journals, blog-makers and GTD-like schedule managers that have been built around TW. While they all have different purposes, and vary in format, interaction, and style, in one way or another each of these plugins displays and/or uses date-based information to make finding, accessing and managing relevant tiddlers easier. This plugin provides a general approach to embedding dates and date-based links/menus within tiddler content.\n\nThis plugin display formatted dates, for the specified year, month, day using number values or mathematical expressions such as (Y+1) or (D+30). Optionally, you can create a link from the formatted output to a 'dated tiddler' for quick blogging or create a popup menu that includes the dated tiddler link plus links to changes made on that date as well as links to any pending reminders for the coming 31 days (if the RemindersPlugin is installed). This plugin also provides a public API for easily incorporating formatted date output (with or without the links/popups) into other plugins, such as calendar generators, etc.\n!!!!!Usage\n<<<\nWhen installed, this plugin defines a macro: {{{<<date [mode] [date] [format] [linkformat]>>}}}. All of the macro parameters are optional and, in it's simplest form, {{{<<date>>}}}, it is equivalent to the ~TiddlyWiki core macro, {{{<<today>>}}}.\n\nHowever, where {{{<<today>>}}} simply inserts the current date/time in a predefined format (or custom format, using {{{<<today [format]>>}}}), the {{{<<date>>}}} macro's parameters take it much further than that:\n* [mode] is either ''display'', ''link'' or ''popup''. If omitted, it defaults to ''display''. This param let's you select between simply displaying a formatted date, or creating a link to a specific 'date titled' tiddler or a popup menu containing a dated tiddler link, plus links to changes and reminders.\n* [date] lets you enter ANY date (not just today) as ''year, month, and day values or simple mathematical expressions'' using pre-defined variables, Y, M, and D for the current year, month and day, repectively. You can display the modification date of the current tiddler by using the keyword: ''tiddler'' in place of the year, month and day parameters. Use ''tiddler://name-of-tiddler//'' to display the modification date of a specific tiddler. You can also use keywords ''today'' or ''filedate'' to refer to these //dynamically changing// date/time values. \n* [format] and [linkformat] uses standard ~TiddlyWiki date formatting syntax. The default is "YYYY.0MM.0DD"\n>^^''DDD'' - day of week in full (eg, "Monday"), ''DD'' - day of month, ''0DD'' - adds leading zero^^\n>^^''MMM'' - month in full (eg, "July"), ''MM'' - month number, ''0MM'' - adds leading zero^^\n>^^''YYYY'' - full year, ''YY'' - two digit year, ''hh'' - hours, ''mm'' - minutes, ''ss'' - seconds^^\n>^^//note: use of hh, mm or ss format codes is only supported with ''tiddler'', ''today'' or ''filedate'' values//^^\n* [linkformat] - specify an alternative date format so that the title of a 'dated tiddler' link can have a format that differs from the date's displayed format\n\nIn addition to the macro syntax, DatePlugin also provides a public javascript API so that other plugins that work with dates (such as calendar generators, etc.) can quickly incorporate date formatted links or popups into their output:\n\n''{{{showDate(place, date, mode, format, linkformat, autostyle, weekend)}}}'' \n\nNote that in addition to the parameters provided by the macro interface, the javascript API also supports two optional true/false parameters:\n* [autostyle] - when true, the font/background styles of formatted dates are automatically adjusted to show the date's status: 'today' is boxed, 'changes' are bold, 'reminders' are underlined, while weekends and holidays (as well as changes and reminders) can each have a different background color to make them more visibly distinct from each other.\n* [weekend] - true indicates a weekend, false indicates a weekday. When this parameter is omitted, the plugin uses internal defaults to automatically determine when a given date falls on a weekend.\n<<<\n!!!!!Examples\n<<<\nThe current date: <<date>>\nThe current time: <<date today "0hh:0mm:0ss">>\nToday's blog: <<date link today "DDD, MMM DDth, YYYY">>\nRecent blogs/changes/reminders: <<date popup Y M D-1 "yesterday">> <<date popup today "today">> <<date popup Y M D+1 "tomorrow">>\nThe first day of next month will be a <<date Y M+1 1 "DDD">>\nThis tiddler (DatePlugin) was last updated on: <<date tiddler "DDD, MMM DDth, YYYY">>\nThe SiteUrl was last updated on: <<date tiddler:SiteUrl "DDD, MMM DDth, YYYY">>\nThis document was last saved on <<date filedate "DDD, MMM DDth, YYYY at 0hh:0mm:0ss">>\n<<date 2006 07 24 "MMM DDth, YYYY">> will be a <<date 2006 07 24 "DDD">>\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''DatePlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2007.06.20 [2.3.1]'' in onClickDatePopup(), use Popup.show() instead of deprecated ScrollToTiddlerPopup(). Fixes fatal error that prevents popups from being properly displayed\n''2007.05.31 [2.3.0]'' list "created" tiddlers in date popup. Also, force re-cache of created/modified indices when displaying current date and store.isDirty(), so that popup is kept in sync with tiddler changes.\n''2006.05.09 [2.2.1]'' added "todaybg" handling to set background color of current date. Also, honor excludeLists tag when getting lists of tiddlers. Based on suggestions by Mark Hulme.\n''2006.05.05 [2.2.0]'' added "linkedbg" handling to set background color when a 'dated tiddler' exists. Based on a suggestion by Mark Hulme.\n''2006.03.08 [2.1.2]'' add 'override leadtime' flag param in call to findTiddlersWithReminders(), and add "Enter a title" default text to new reminder handler. Thanks to Jeremy Sheeley for these additional tweaks.\n''2006.03.06 [2.1.0]'' hasReminders() nows uses window.reminderCacheForCalendar[] when present. If calendar cache is not present, indexReminders() now uses findTiddlersWithReminders() with a 90-day look ahead to check for reminders. Also, switched default background colors for autostyled dates: reminders are now greenish ("c0ffee") and holidays are now reddish ("ffaace").\n''2006.02.14 [2.0.5]'' when readOnly is set (by TW core), omit "new reminders..." popup menu item and, if a "dated tiddler" does not already exist, display the date as simple text instead of a link.\n''2006.02.05 [2.0.4]'' added var to variables that were unintentionally global. Avoids FireFox 1.5.0.1 crash bug when referencing global variables\n''2006.01.18 [2.0.3]'' In 1.2.x the tiddler editor's text area control was given an element ID=("tiddlerBody"+title), so that it was easy to locate this field and programmatically modify its content. With the addition of configuration templates in 2.x, the textarea no longer has an ID assigned. To find this control we now look through all the child nodes of the tiddler editor to locate a "textarea" control where attribute("edit") equals "text", and then append the new reminder to the contents of that control.\n''2006.01.11 [2.0.2]'' correct 'weekend' override detection logic in showDate()\n''2006.01.10 [2.0.1]'' allow custom-defined weekend days (default defined in config.macros.date.weekend[] array)\nadded flag param to showDate() API to override internal weekend[] array\n''2005.12.27 [2.0.0]'' Update for TW2.0\nAdded parameter handling for 'linkformat'\n''2005.12.21 [1.2.2]'' FF's date.getYear() function returns 105 (for the current year, 2005). When calculating a date value from Y M and D expressions, the plugin adds 1900 to the returned year value get the current year number. But IE's date.getYear() already returns 2005. As a result, plugin calculated date values on IE were incorrect (e.g., 3905 instead of 2005). Adding +1900 is now conditional so the values will be correct on both browsers.\n''2005.11.07 [1.2.1]'' added support for "tiddler" dynamic date parameter\n''2005.11.06 [1.2.0]'' added support for "tiddler:title" dynamic date parameter\n''2005.11.03 [1.1.2]'' when a reminder doesn't have a specified title parameter, use the title of the tiddler that contains the reminder as "fallback" text in the popup menu. Based on a suggestion from BenjaminKudria.\n''2005.11.03 [1.1.1]'' Temporarily bypass hasReminders() logic to avoid excessive overhead from generating the indexReminders() cache. While reminders can still appear in the popup menu, they just won't be indicated by auto-styling the date number that is displayed. This single change saves approx. 60% overhead (5 second delay reduced to under 2 seconds).\n''2005.11.01 [1.1.0]'' corrected logic in hasModifieds() and hasReminders() so caching of indexed modifieds and reminders is done just once, as intended. This should hopefully speed up calendar generators and other plugins that render multiple dates...\n''2005.10.31 [1.0.1]'' documentation and code cleanup\n''2005.10.31 [1.0.0]'' initial public release\n''2005.10.30 [0.9.0]'' pre-release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.date = {major: 2, minor: 3, revision: 1, date: new Date(2007,6,20)};\n//}}}\n\n//{{{\nconfig.macros.date = {\n format: "YYYY.0MM.0DD", // default date display format\n linkformat: "YYYY.0MM.0DD", // 'dated tiddler' link format\n linkedbg: "#babb1e", // "babble"\n todaybg: "#ffab1e", // "fable"\n weekendbg: "#c0c0c0", // "cocoa"\n holidaybg: "#ffaace", // "face"\n createdbg: "#bbeeff", // "beef"\n modifiedsbg: "#bbeeff", // "beef"\n remindersbg: "#c0ffee", // "coffee"\n holidays: [ "01/01", "07/04", "07/24", "11/24" ], // NewYearsDay, IndependenceDay(US), Eric's Birthday (hooray!), Thanksgiving(US)\n weekend: [ 1,0,0,0,0,0,1 ] // [ day index values: sun=0, mon=1, tue=2, wed=3, thu=4, fri=5, sat=6 ]\n};\n//}}}\n\n//{{{\nconfig.macros.date.handler = function(place,macroName,params)\n{\n // do we want to see a link, a popup, or just a formatted date?\n var mode="display";\n if (params[0]=="display") { mode=params[0]; params.shift(); }\n if (params[0]=="popup") { mode=params[0]; params.shift(); }\n if (params[0]=="link") { mode=params[0]; params.shift(); }\n // get the date\n var now = new Date();\n var date = now;\n if (!params[0] || params[0]=="today")\n { params.shift(); }\n else if (params[0]=="filedate")\n { date=new Date(document.lastModified); params.shift(); }\n else if (params[0]=="tiddler")\n { date=store.getTiddler(story.findContainingTiddler(place).id.substr(7)).modified; params.shift(); }\n else if (params[0].substr(0,8)=="tiddler:")\n { var t; if ((t=store.getTiddler(params[0].substr(8)))) date=t.modified; params.shift(); }\n else {\n var y = eval(params.shift().replace(/Y/ig,(now.getYear()<1900)?now.getYear()+1900:now.getYear()));\n var m = eval(params.shift().replace(/M/ig,now.getMonth()+1));\n var d = eval(params.shift().replace(/D/ig,now.getDate()+0));\n date = new Date(y,m-1,d);\n }\n // date format with optional custom override\n var format=this.format; if (params[0]) format=params.shift();\n var linkformat=this.linkformat; if (params[0]) linkformat=params.shift();\n showDate(place,date,mode,format,linkformat);\n}\n//}}}\n\n//{{{\nwindow.showDate=showDate;\nfunction showDate(place,date,mode,format,linkformat,autostyle,weekend)\n{\n if (!mode) mode="display";\n if (!format) format=config.macros.date.format;\n if (!linkformat) linkformat=config.macros.date.linkformat;\n if (!autostyle) autostyle=false;\n\n // format the date output\n var title = date.formatString(format);\n var linkto = date.formatString(linkformat);\n\n // just show the formatted output\n if (mode=="display") { place.appendChild(document.createTextNode(title)); return; }\n\n // link to a 'dated tiddler'\n var link = createTiddlyLink(place, linkto, false);\n link.appendChild(document.createTextNode(title));\n link.title = linkto;\n link.date = date;\n link.format = format;\n link.linkformat = linkformat;\n\n // if using a popup menu, replace click handler for dated tiddler link\n // with handler for popup and make link text non-italic (i.e., an 'existing link' look)\n if (mode=="popup") {\n link.onclick = onClickDatePopup;\n link.style.fontStyle="normal";\n }\n\n // format the popup link to show what kind of info it contains (for use with calendar generators)\n if (!autostyle) return;\n if (hasModifieds(date)||hasCreateds(date))\n { link.style.fontStyle="normal"; link.style.fontWeight="bold"; }\n if (hasReminders(date))\n { link.style.textDecoration="underline"; }\n if(isToday(date))\n { link.style.border="1px solid black"; }\n\n if( (weekend!=undefined?weekend:isWeekend(date)) && (config.macros.date.weekendbg!="") )\n { place.style.background = config.macros.date.weekendbg; }\n if(isHoliday(date)&&(config.macros.date.holidaybg!=""))\n { place.style.background = config.macros.date.holidaybg; }\n if (hasCreateds(date)&&(config.macros.date.createdbg!=""))\n { place.style.background = config.macros.date.createdbg; }\n if (hasModifieds(date)&&(config.macros.date.modifiedsbg!=""))\n { place.style.background = config.macros.date.modifiedsbg; }\n if (store.tiddlerExists(linkto)&&(config.macros.date.linkedbg!=""))\n { place.style.background = config.macros.date.linkedbg; }\n if (hasReminders(date)&&(config.macros.date.remindersbg!=""))\n { place.style.background = config.macros.date.remindersbg; }\n if(isToday(date)&&(config.macros.date.todaybg!=""))\n { place.style.background = config.macros.date.todaybg; }\n}\n//}}}\n\n//{{{\nfunction isToday(date) // returns true if date is today\n { var now=new Date(); return ((now-date>=0) && (now-date<86400000)); }\n\nfunction isWeekend(date) // returns true if date is a weekend\n { return (config.macros.date.weekend[date.getDay()]); }\n\nfunction isHoliday(date) // returns true if date is a holiday\n{\n var longHoliday = date.formatString("0MM/0DD/YYYY");\n var shortHoliday = date.formatString("0MM/0DD");\n for(var i = 0; i < config.macros.date.holidays.length; i++) {\n var holiday=config.macros.date.holidays[i];\n if (holiday==longHoliday||holiday==shortHoliday) return true;\n }\n return false;\n}\n//}}}\n\n//{{{\n// Event handler for clicking on a day popup\nfunction onClickDatePopup(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var popup = Popup.create(this);\n if(popup) {\n // always show dated tiddler link (or just date, if readOnly) at the top...\n if (!readOnly || store.tiddlerExists(this.date.formatString(this.linkformat)))\n createTiddlyLink(popup,this.date.formatString(this.linkformat),true);\n else\n createTiddlyText(popup,this.date.formatString(this.linkformat));\n addCreatedsToPopup(popup,this.date,this.format);\n addModifiedsToPopup(popup,this.date,this.format);\n addRemindersToPopup(popup,this.date,this.linkformat);\n }\n Popup.show(popup,false);\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n//}}}\n\n//{{{\nfunction indexCreateds() // build list of tiddlers, hash indexed by creation date\n{\n var createds= { };\n var tiddlers = store.getTiddlers("title","excludeLists");\n for (var t = 0; t < tiddlers.length; t++) {\n var date = tiddlers[t].created.formatString("YYYY0MM0DD")\n if (!createds[date])\n createds[date]=new Array();\n createds[date].push(tiddlers[t].title);\n }\n return createds;\n}\nfunction hasCreateds(date) // returns true if date has created tiddlers\n{\n if (!config.macros.date.createds) config.macros.date.createds=indexCreateds();\n return (config.macros.date.createds[date.formatString("YYYY0MM0DD")]!=undefined);\n}\n\nfunction addCreatedsToPopup(popup,when,format)\n{\n var force=(store.isDirty() && when.formatString("YYYY0MM0DD")==new Date().formatString("YYYY0MM0DD"));\n if (force || !config.macros.date.createds) config.macros.date.createds=indexCreateds();\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n var createds = config.macros.date.createds[when.formatString("YYYY0MM0DD")];\n if (createds) {\n createds.sort();\n var e=createTiddlyElement(popup,"div",null,null,"created:");\n for(var t=0; t<createds.length; t++) {\n var link=createTiddlyLink(popup,createds[t],false);\n link.appendChild(document.createTextNode(indent+createds[t]));\n createTiddlyElement(popup,"br",null,null,null);\n }\n }\n}\n//}}}\n\n//{{{\nfunction indexModifieds() // build list of tiddlers, hash indexed by modification date\n{\n var modifieds= { };\n var tiddlers = store.getTiddlers("title","excludeLists");\n for (var t = 0; t < tiddlers.length; t++) {\n var date = tiddlers[t].modified.formatString("YYYY0MM0DD")\n if (!modifieds[date])\n modifieds[date]=new Array();\n modifieds[date].push(tiddlers[t].title);\n }\n return modifieds;\n}\nfunction hasModifieds(date) // returns true if date has modified tiddlers\n{\n if (!config.macros.date.modifieds) config.macros.date.modifieds = indexModifieds();\n return (config.macros.date.modifieds[date.formatString("YYYY0MM0DD")]!=undefined);\n}\n\nfunction addModifiedsToPopup(popup,when,format)\n{\n var force=(store.isDirty() && when.formatString("YYYY0MM0DD")==new Date().formatString("YYYY0MM0DD"));\n if (force || !config.macros.date.modifieds) config.macros.date.modifieds=indexModifieds();\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n var mods = config.macros.date.modifieds[when.formatString("YYYY0MM0DD")];\n if (mods) {\n mods.sort();\n var e=createTiddlyElement(popup,"div",null,null,"changed:");\n for(var t=0; t<mods.length; t++) {\n var link=createTiddlyLink(popup,mods[t],false);\n link.appendChild(document.createTextNode(indent+mods[t]));\n createTiddlyElement(popup,"br",null,null,null);\n }\n }\n}\n//}}}\n\n//{{{\nfunction indexReminders(date,leadtime) // build list of tiddlers with reminders, hash indexed by reminder date\n{\n var reminders = { };\n if(window.findTiddlersWithReminders!=undefined) { // reminder plugin is installed\n // DEBUG var starttime=new Date();\n var t = findTiddlersWithReminders(date, [0,leadtime], null, null, 1);\n for(var i=0; i<t.length; i++) reminders[t[i].matchedDate]=true;\n // DEBUG var out="Found "+t.length+" reminders in "+((new Date())-starttime+1)+"ms\sn";\n // DEBUG out+="startdate: "+date.toLocaleDateString()+"\sn"+"leadtime: "+leadtime+" days\sn\sn";\n // DEBUG for(var i=0; i<t.length; i++) { out+=t[i].matchedDate.toLocaleDateString()+" "+t[i].params.title+"\sn"; }\n // DEBUG alert(out);\n }\n return reminders;\n}\n\nfunction hasReminders(date) // returns true if date has reminders\n{\n if (window.reminderCacheForCalendar)\n return window.reminderCacheForCalendar[date]; // use calendar cache\n if (!config.macros.date.reminders)\n config.macros.date.reminders = indexReminders(date,90); // create a 90-day leadtime reminder cache\n return (config.macros.date.reminders[date]);\n}\n\nfunction addRemindersToPopup(popup,when,format)\n{\n if(window.findTiddlersWithReminders==undefined) return; // reminder plugin not installed\n\n var indent = String.fromCharCode(160)+String.fromCharCode(160);\n var reminders=findTiddlersWithReminders(when, [0,31],null,null,1);\n var e=createTiddlyElement(popup,"div",null,null,"reminders:"+(!reminders.length?" none":""));\n for(var t=0; t<reminders.length; t++) {\n link = createTiddlyLink(popup,reminders[t].tiddler,false);\n var diff=reminders[t].diff;\n diff=(diff<1)?"Today":((diff==1)?"Tomorrow":diff+" days");\n var txt=(reminders[t].params["title"])?reminders[t].params["title"]:reminders[t].tiddler;\n link.appendChild(document.createTextNode(indent+diff+" - "+txt));\n createTiddlyElement(popup,"br",null,null,null);\n }\n if (readOnly) return; // omit "new reminder..." link\n var link = createTiddlyLink(popup,indent+"new reminder...",true); createTiddlyElement(popup,"br");\n var title = when.formatString(format);\n link.title="add a reminder to '"+title+"'";\n link.onclick = function() {\n // show tiddler editor\n story.displayTiddler(null, title, 2, null, null, false, false);\n // find body 'textarea'\n var c =document.getElementById("tiddler" + title).getElementsByTagName("*");\n for (var i=0; i<c.length; i++) if ((c[i].tagName.toLowerCase()=="textarea") && (c[i].getAttribute("edit")=="text")) break;\n // append reminder macro to tiddler content\n if (i<c.length) {\n if (store.tiddlerExists(title)) c[i].value+="\sn"; else c[i].value="";\n c[i].value += "<<reminder";\n c[i].value += " day:"+when.getDate();\n c[i].value += " month:"+(when.getMonth()+1);\n c[i].value += " year:"+when.getFullYear();\n c[i].value += ' title:"Enter a title" >>';\n }\n };\n}\n//}}}\n
Formats: [[XML|?format=xml]] | [[YAML|?format=yaml]]\n
//{{{\nconfig.formatters.unshift( {\n name: "inlinesliders",\n match: "\s\s+\s\s+\s\s+\s\s+|\s\s<slider",\n lookaheadRegExp: /(?:\s+\s+\s+\s+|<slider) (.*?)(?:>?)\sn((?:.|\sn)*?)\sn(?:====|<\s/slider>)/mg,\n handler: function(w)\n {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart )\n {\n var btn = createTiddlyButton(w.output,lookaheadMatch[1] + " "+"\su00BB",lookaheadMatch[1],this.onClickSlider,"button sliderButton");\n var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");\n panel.style.display = "none";\n wikify(lookaheadMatch[2],panel);\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n },\n onClickSlider : function(e)\n {\n if(!e) var e = window.event;\n var n = this.nextSibling;\n n.style.display = (n.style.display=="none") ? "block" : "none";\n return false;\n }\n})\n//}}}
/***\n|Name|ExportTiddlersPlugin|\n|Source|http://www.TiddlyTools.com/#ExportTiddlersPlugin|\n|Version|2.4.1|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description|select and extract tiddlers from your ~TiddlyWiki documents and save them to a local file|\n\nWhen many people edit copies of the same TiddlyWiki document, the ability to easily copy and share these changes so they can then be redistributed to the entire group is very important. This ability is also very useful when moving your own tiddlers from document to document (e.g., when upgrading to the latest version of TiddlyWiki, or 'pre-loading' your favorite stylesheets into a new 'empty' TiddlyWiki document.)\n\nExportTiddlersPlugin let you ''select and extract tiddlers from your ~TiddlyWiki documents and save them to a local file'' or a remote server (requires installation of compatible server-side scripting, still under development...). An interactive control panel lets you specify a destination, and then select which tiddlers to export. A convenient 'selection filter' helps you pick desired tiddlers by specifying a combination of modification dates, tags, or tiddler text to be matched or excluded. ''Tiddler data can be output as ~TiddlyWiki "storeArea ~DIVs" that can be imported into another ~TiddlyWiki or as ~RSS-compatible XML that can be published for RSS syndication.''\n\n!!!!!Inline interface (live)\n<<<\n<<exportTiddlers inline>>\n<<<\n!!!!!Usage\n<<<\nOptional "special tiddlers" used by this plugin:\n* SiteUrl^^\nURL for official server-published version of document being viewed (used in XML export)\ndefault: //none//^^\n* SiteHost^^\nhost name/address for remote server (e.g., "www.server.com" or "192.168.1.27")\ndefault: //none//^^\n* SitePost^^\nremote path/filename for submitting changes (e.g., "/cgi-bin/submit.cgi")\ndefault: //none//^^\n* SiteParams^^\narguments (if any) for server-side receiving script\ndefault: //none//^^\n* SiteNotify^^\naddresses (if any) for sending automatic server-side email notices\ndefault: //none//^^\n* SiteID^^\nusername or other authorization identifier for login-controlled access to remote server\ndefault: current TiddlyWiki username (e.g., "YourName")^^\n* SiteDate^^\nstored date/time stamp for most recent published version of document\ndefault: current document.modified value (i.e., the 'file date')^^\n<<<\n!!!!!Example\n<<<\n<<exportTiddlers>>\n<<<\n!!!!!Installation\n<<<\nImport (or copy/paste) the following tiddlers into your document:\n''ExportTiddlersPlugin'' (tagged with <<tag systemConfig>>)\n\ncreate/edit ''SideBarOptions'': (sidebar menu items) \n^^Add {{{<<exportTiddlers>>}}} macro^^\n<<<\n!!!!!Revision History\n<<<\n''2007.07.16 [2.4.1]'' in exportTWHeader(), reset HTML source 'markup' so installed markup is NOT copied to new file.\n''2007.06.30 [2.4.0]'' added "select related tiddlers" feature. Recursively scans the tiddler links[] info to find all tiddlers referenced by any of the currently selected tiddler, and then selects them all (including the original tiddlers). ''//Theoretically//'', selecting all related tiddlers should ensure that the exported file contains all tiddlers needed to properly render all of the originally selected tiddlers.\n''2007.04.19 [2.3.0]'' in exportData(), pass SiteURL value as param to saveToRss(). Fixes 'undefined' appearing in tiddler link in XML output. Also, in refreshExportList(), added 'sort by tags'. Also, added 'group select'... selecting a heading (date,author,tag) auto-selects all tiddlers in that group.\n''2007.03.02 [2.2.6]'' in onClickExportButton(), when selecting open tiddlers for TW2.2, look for "storyDisplay" instead of "tiddlerDisplay" but keep fallback to "tiddlerDisplay" for TW2.1 or earlier\n''2007.03.01 [2.2.5]'' removed hijack of store.saveChanges() (was catching save on http:, but there are other solutions that do a much better job of handling save to server.\n|please see [[ExportTiddlersPluginHistory]] for additional revision details|\n''2005.10.09 [0.0.0]'' development started\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n// // version\n//{{{\nversion.extensions.exportTiddlers = {major: 2, minor: 4, revision: 1, date: new Date(2007,7,16)};\n//}}}\n\n// // macro handler\n//{{{\nconfig.macros.exportTiddlers = {\n label: "export tiddlers",\n prompt: "Copy selected tiddlers to an export document",\n newdefault: "export.html",\n datetimefmt: "0MM/0DD/YYYY 0hh:0mm:0ss" // for "filter date/time" edit fields\n};\n\nconfig.macros.exportTiddlers.handler = function(place,macroName,params) {\n if (params[0]!="inline")\n { createTiddlyButton(place,this.label,this.prompt,onClickExportMenu); return; }\n var panel=createExportPanel(place);\n panel.style.position="static";\n panel.style.display="block";\n}\n\nfunction createExportPanel(place) {\n var panel=document.getElementById("exportPanel");\n if (panel) { panel.parentNode.removeChild(panel); }\n setStylesheet(config.macros.exportTiddlers.css,"exportTiddlers");\n panel=createTiddlyElement(place,"span","exportPanel",null,null)\n panel.innerHTML=config.macros.exportTiddlers.html;\n exportShowPanel(document.location.protocol);\n exportInitFilter();\n refreshExportList(0);\n return panel;\n}\n\nfunction onClickExportMenu(e)\n{\n if (!e) var e = window.event;\n var parent=resolveTarget(e).parentNode;\n var panel = document.getElementById("exportPanel");\n if (panel==undefined || panel.parentNode!=parent)\n panel=createExportPanel(parent);\n var isOpen = panel.style.display=="block";\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n panel.style.display = isOpen ? "none" : "block" ;\n if (panel.style.display!="none") refreshExportList(0); // update list when panel is made visible\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n//}}}\n\n// // IE needs explicit scoping for functions called by browser events\n//{{{\nwindow.onClickExportMenu=onClickExportMenu;\nwindow.onClickExportButton=onClickExportButton;\nwindow.exportShowPanel=exportShowPanel;\nwindow.exportShowFilterFields=exportShowFilterFields;\nwindow.refreshExportList=refreshExportList;\n//}}}\n\n// // CSS for floating export control panel\n//{{{\nconfig.macros.exportTiddlers.css = '\s\n#exportPanel {\s\n display: none; position:absolute; z-index:12; width:35em; right:105%; top:6em;\s\n background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\s\n border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\s\n padding: 0.5em; margin:0em; -moz-border-radius:1em;\s\n}\s\n#exportPanel a, #exportPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\s\n#exportPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\s\n#exportPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\s\n#exportPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\s\n#exportPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}\s\n#exportPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%; }\s\n#exportPanel textarea { width:98%;padding:0px;margin:0px;overflow:auto;font-size:8pt; }\s\n#exportPanel .box { border:1px solid black; padding:3px; margin-bottom:5px; background:#f8f8f8; -moz-border-radius:5px; }\s\n#exportPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }\s\n#exportPanel .rad { width:auto;border:0 }\s\n#exportPanel .chk { width:auto;border:0 }\s\n#exportPanel .btn { width:auto; }\s\n#exportPanel .btn1 { width:98%; }\s\n#exportPanel .btn2 { width:48%; }\s\n#exportPanel .btn3 { width:32%; }\s\n#exportPanel .btn4 { width:24%; }\s\n#exportPanel .btn5 { width:19%; }\s\n';\n//}}}\n\n// // HTML for export control panel interface\n//{{{\nconfig.macros.exportTiddlers.html = '\s\n<!-- output target and format -->\s\n<table cellpadding="0" cellspacing="0"><tr><td width=50%>\s\n export to\s\n <select size=1 id="exportTo" onchange="exportShowPanel(this.value);">\s\n <option value="file:" SELECTED>this computer</option>\s\n <option value="http:">web server (http)</option>\s\n <option value="https:">secure web server (https)</option>\s\n <option value="ftp:">file server (ftp)</option>\s\n </select>\s\n</td><td width=50%>\s\n output format\s\n <select id="exportFormat" size=1>\s\n <option value="DIV">TiddlyWiki export file</option>\s\n <option value="TW">TiddlyWiki document</option>\s\n <option value="XML">RSS feed (XML)</option>\s\n </select>\s\n</td></tr></table>\s\n\s\n<!-- export to local file -->\s\n<div id="exportLocalPanel" style="margin-top:5px;">\s\nlocal path/filename<br>\s\n<input type="text" id="exportFilename" size=40 style="width:93%"><input \s\n type="button" id="exportBrowse" value="..." title="select or enter a local folder/file..." style="width:5%" \s\n onclick="this.previousSibling.value=window.promptForExportFilename(this);">\s\n<!--<input type="file" id="exportFilename" size=57 style="width:100%"><br>-->\s\n</div><!--panel-->\s\n\s\n<!-- export to http server -->\s\n<div id="exportHTTPPanel" style="display:none;margin-top:5px;">\s\n<table><tr><td align=left>\s\n server location, script, and parameters<br>\s\n</td><td align=right>\s\n <input type="checkbox" class="chk" id="exportNotify"\s\n onClick="document.getElementById(\s'exportSetNotifyPanel\s').style.display=this.checked?\s'block\s':\s'none\s'"> notify\s\n</td></tr></table>\s\n<input type="text" id="exportHTTPServerURL" onfocus="this.select()"><br>\s\n<div id="exportSetNotifyPanel" style="display:none">\s\n send email notices to<br>\s\n <input type="text" id="exportNotifyTo" onfocus="this.select()"><br>\s\n</div>\s\n</div><!--panel-->\s\n\s\n<!-- export to ftp server -->\s\n<div id="exportFTPPanel" style="display:none;margin-top:5px;">\s\n<table cellpadding="0" cellspacing="0" width="32%"><tr valign="top"><td>\s\n host server<br>\s\n <input type="text" id="exportFTPHost" onfocus="this.select()"><br>\s\n</td><td width="32%">\s\n username<br>\s\n <input type="text" id="exportFTPID" onfocus="this.select()"><br>\s\n</td><td width="32%">\s\n password<br>\s\n <input type="password" id="exportFTPPW" onfocus="this.select()"><br>\s\n</td></tr></table>\s\nFTP path/filename<br>\s\n<input type="text" id="exportFTPFilename" onfocus="this.select()"><br>\s\n</div><!--panel-->\s\n\s\n<!-- notes -->\s\nnotes<br>\s\n<textarea id="exportNotes" rows=3 cols=40 style="height:4em;margin-bottom:5px;" onfocus="this.select()"></textarea> \s\n\s\n<!-- list of tiddlers -->\s\n<table><tr align="left"><td>\s\n select:\s\n <a href="JavaScript:;" id="exportSelectAll"\s\n onclick="onClickExportButton(this)" title="select all tiddlers">\s\n &nbsp;all&nbsp;</a>\s\n <a href="JavaScript:;" id="exportSelectChanges"\s\n onclick="onClickExportButton(this)" title="select tiddlers changed since last save">\s\n &nbsp;changes&nbsp;</a> \s\n <a href="JavaScript:;" id="exportSelectOpened"\s\n onclick="onClickExportButton(this)" title="select tiddlers currently being displayed">\s\n &nbsp;opened&nbsp;</a> \s\n <a href="JavaScript:;" id="exportSelectRelated"\s\n onclick="onClickExportButton(this)" title="select all tiddlers related (by link or transclusion) to the currently selected tiddlers">\s\n &nbsp;related&nbsp;</a> \s\n <a href="JavaScript:;" id="exportToggleFilter"\s\n onclick="onClickExportButton(this)" title="show/hide selection filter">\s\n &nbsp;filter&nbsp;</a> \s\n</td><td align="right">\s\n <a href="JavaScript:;" id="exportListSmaller"\s\n onclick="onClickExportButton(this)" title="reduce list size">\s\n &nbsp;&#150;&nbsp;</a>\s\n <a href="JavaScript:;" id="exportListLarger"\s\n onclick="onClickExportButton(this)" title="increase list size">\s\n &nbsp;+&nbsp;</a>\s\n</td></tr></table>\s\n<select id="exportList" multiple size="10" style="margin-bottom:5px;"\s\n onchange="refreshExportList(this.selectedIndex)">\s\n</select><br>\s\n</div><!--box-->\s\n\s\n<!-- selection filter -->\s\n<div id="exportFilterPanel" style="display:none">\s\n<table><tr align="left"><td>\s\n selection filter\s\n</td><td align="right">\s\n <a href="JavaScript:;" id="exportHideFilter"\s\n onclick="onClickExportButton(this)" title="hide selection filter">hide</a>\s\n</td></tr></table>\s\n<div class="box">\s\n<input type="checkbox" class="chk" id="exportFilterStart" value="1"\s\n onclick="exportShowFilterFields(this)"> starting date/time<br>\s\n<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\s\n <select size=1 id="exportFilterStartBy" onchange="exportShowFilterFields(this);">\s\n <option value="0">today</option>\s\n <option value="1">yesterday</option>\s\n <option value="7">a week ago</option>\s\n <option value="30">a month ago</option>\s\n <option value="site">SiteDate</option>\s\n <option value="file">file date</option>\s\n <option value="other">other (mm/dd/yyyy hh:mm)</option>\s\n </select>\s\n</td><td width="50%">\s\n <input type="text" id="exportStartDate" onfocus="this.select()"\s\n onchange="document.getElementById(\s'exportFilterStartBy\s').value=\s'other\s';">\s\n</td></tr></table>\s\n<input type="checkbox" class="chk" id="exportFilterEnd" value="1"\s\n onclick="exportShowFilterFields(this)"> ending date/time<br>\s\n<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\s\n <select size=1 id="exportFilterEndBy" onchange="exportShowFilterFields(this);">\s\n <option value="0">today</option>\s\n <option value="1">yesterday</option>\s\n <option value="7">a week ago</option>\s\n <option value="30">a month ago</option>\s\n <option value="site">SiteDate</option>\s\n <option value="file">file date</option>\s\n <option value="other">other (mm/dd/yyyy hh:mm)</option>\s\n </select>\s\n</td><td width="50%">\s\n <input type="text" id="exportEndDate" onfocus="this.select()"\s\n onchange="document.getElementById(\s'exportFilterEndBy\s').value=\s'other\s';">\s\n</td></tr></table>\s\n<input type="checkbox" class="chk" id=exportFilterTags value="1"\s\n onclick="exportShowFilterFields(this)"> match tags<br>\s\n<input type="text" id="exportTags" onfocus="this.select()">\s\n<input type="checkbox" class="chk" id=exportFilterText value="1"\s\n onclick="exportShowFilterFields(this)"> match titles/tiddler text<br>\s\n<input type="text" id="exportText" onfocus="this.select()">\s\n</div> <!--box-->\s\n</div> <!--panel-->\s\n\s\n<!-- action buttons -->\s\n<div style="text-align:center">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportFilter" value="apply filter">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportStart" value="export tiddlers">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportClose" value="close">\s\n</div><!--center-->\s\n';\n//}}}\n\n// // initialize interface\n// // exportShowPanel(which)\n//{{{\nfunction exportShowPanel(which) {\n var index=0; var panel='exportLocalPanel';\n switch (which) {\n case 'file:':\n case undefined:\n index=0; panel='exportLocalPanel'; break;\n case 'http:':\n index=1; panel='exportHTTPPanel'; break;\n case 'https:':\n index=2; panel='exportHTTPPanel'; break;\n case 'ftp:':\n index=3; panel='exportFTPPanel'; break;\n default:\n alert("Sorry, export to "+which+" is not yet available");\n break;\n }\n exportInitPanel(which);\n document.getElementById('exportTo').selectedIndex=index;\n document.getElementById('exportLocalPanel').style.display='none';\n document.getElementById('exportHTTPPanel').style.display='none';\n document.getElementById('exportFTPPanel').style.display='none';\n document.getElementById(panel).style.display='block';\n}\n//}}}\n\n// // exportInitPanel(which)\n//{{{\nfunction exportInitPanel(which) {\n switch (which) {\n case "file:": // LOCAL EXPORT PANEL: file/path:\n // ** no init - security issues in IE **\n break;\n case "http:": // WEB EXPORT PANEL\n case "https:": // SECURE WEB EXPORT PANEL\n // url\n if (store.tiddlerExists("unawiki_download")) {\n var theURL=store.getTiddlerText("unawiki_download");\n theURL=theURL.replace(/\s[\s[download\s|/,'').replace(/\s]\s]/,'');\n var title=(store.tiddlerExists("unawiki_host"))?"unawiki_host":"SiteHost";\n var theHost=store.getTiddlerText(title);\n if (!theHost || !theHost.length) theHost=document.location.host;\n if (!theHost || !theHost.length) theHost=title;\n }\n // server script/params\n var title=(store.tiddlerExists("unawiki_host"))?"unawiki_host":"SiteHost";\n var theHost=store.getTiddlerText(title);\n if (!theHost || !theHost.length) theHost=document.location.host;\n if (!theHost || !theHost.length) theHost=title;\n // get POST\n var title=(store.tiddlerExists("unawiki_post"))?"unawiki_post":"SitePost";\n var thePost=store.getTiddlerText(title);\n if (!thePost || !thePost.length) thePost="/"+title;\n // get PARAMS\n var title=(store.tiddlerExists("unawiki_params"))?"unawiki_params":"SiteParams";\n var theParams=store.getTiddlerText(title);\n if (!theParams|| !theParams.length) theParams=title;\n var serverURL = which+"//"+theHost+thePost+"?"+theParams;\n document.getElementById("exportHTTPServerURL").value=serverURL;\n // get NOTIFY\n var theAddresses=store.getTiddlerText("SiteNotify");\n if (!theAddresses|| !theAddresses.length) theAddresses="SiteNotify";\n document.getElementById("exportNotifyTo").value=theAddresses;\n break;\n case "ftp:": // FTP EXPORT PANEL\n // host\n var siteHost=store.getTiddlerText("SiteHost");\n if (!siteHost || !siteHost.length) siteHost=document.location.host;\n if (!siteHost || !siteHost.length) siteHost="SiteHost";\n document.getElementById("exportFTPHost").value=siteHost;\n // username\n var siteID=store.getTiddlerText("SiteID");\n if (!siteID || !siteID.length) siteID=config.options.txtUserName;\n document.getElementById("exportFTPID").value=siteID;\n // password\n document.getElementById("exportFTPPW").value="";\n // file/path\n document.getElementById("exportFTPFilename").value="";\n break;\n }\n}\n//}}}\n\n// // exportInitFilter()\n//{{{\nfunction exportInitFilter() {\n // start date\n document.getElementById("exportFilterStart").checked=false;\n document.getElementById("exportStartDate").value="";\n // end date\n document.getElementById("exportFilterEnd").checked=false;\n document.getElementById("exportEndDate").value="";\n // tags\n document.getElementById("exportFilterTags").checked=false;\n document.getElementById("exportTags").value="";\n // text\n document.getElementById("exportFilterText").checked=false;\n document.getElementById("exportText").value="";\n // show/hide filter input fields\n exportShowFilterFields();\n}\n//}}}\n\n// // exportShowFilterFields(which)\n//{{{\nfunction exportShowFilterFields(which) {\n var show;\n\n show=document.getElementById('exportFilterStart').checked;\n document.getElementById('exportFilterStartBy').style.display=show?"block":"none";\n document.getElementById('exportStartDate').style.display=show?"block":"none";\n var val=document.getElementById('exportFilterStartBy').value;\n document.getElementById('exportStartDate').value\n =getFilterDate(val,'exportStartDate').formatString(config.macros.exportTiddlers.datetimefmt);\n if (which && (which.id=='exportFilterStartBy') && (val=='other'))\n document.getElementById('exportStartDate').focus();\n\n show=document.getElementById('exportFilterEnd').checked;\n document.getElementById('exportFilterEndBy').style.display=show?"block":"none";\n document.getElementById('exportEndDate').style.display=show?"block":"none";\n var val=document.getElementById('exportFilterEndBy').value;\n document.getElementById('exportEndDate').value\n =getFilterDate(val,'exportEndDate').formatString(config.macros.exportTiddlers.datetimefmt);\n if (which && (which.id=='exportFilterEndBy') && (val=='other'))\n document.getElementById('exportEndDate').focus();\n\n show=document.getElementById('exportFilterTags').checked;\n document.getElementById('exportTags').style.display=show?"block":"none";\n\n show=document.getElementById('exportFilterText').checked;\n document.getElementById('exportText').style.display=show?"block":"none";\n}\n//}}}\n\n// // onClickExportButton(which): control interactions\n//{{{\nfunction onClickExportButton(which)\n{\n // DEBUG alert(which.id);\n var theList=document.getElementById('exportList'); if (!theList) return;\n var count = 0;\n var total = store.getTiddlers('title').length;\n switch (which.id)\n {\n case 'exportFilter':\n count=filterExportList();\n var panel=document.getElementById('exportFilterPanel');\n if (count==-1) { panel.style.display='block'; break; }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage("filtered "+formatExportMessage(count,total));\n if (count==0) { alert("No tiddlers were selected"); panel.style.display='block'; }\n break;\n case 'exportStart':\n exportTiddlers();\n break;\n case 'exportHideFilter':\n case 'exportToggleFilter':\n var panel=document.getElementById('exportFilterPanel')\n panel.style.display=(panel.style.display=='block')?'none':'block';\n break;\n case 'exportSelectChanges':\n var lastmod=new Date(document.lastModified);\n for (var t = 0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n var tiddler=store.getTiddler(theList.options[t].value); if (!tiddler) continue;\n theList.options[t].selected=(tiddler.modified>lastmod);\n count += (tiddler.modified>lastmod)?1:0;\n }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(formatExportMessage(count,total));\n if (count==0) alert("There are no unsaved changes");\n break;\n case 'exportSelectAll':\n for (var t = 0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n theList.options[t].selected=true;\n count += 1;\n }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(formatExportMessage(count,count));\n break;\n case 'exportSelectOpened':\n for (var t = 0; t < theList.options.length; t++) theList.options[t].selected=false;\n var tiddlerDisplay = document.getElementById("tiddlerDisplay"); // for TW2.1-\n if (!tiddlerDisplay) tiddlerDisplay = document.getElementById("storyDisplay"); // for TW2.2+\n for (var t=0;t<tiddlerDisplay.childNodes.length;t++) {\n var tiddler=tiddlerDisplay.childNodes[t].id.substr(7);\n for (var i = 0; i < theList.options.length; i++) {\n if (theList.options[i].value!=tiddler) continue;\n theList.options[i].selected=true; count++; break;\n }\n }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(formatExportMessage(count,total));\n if (count==0) alert("There are no tiddlers currently opened");\n break;\n case 'exportSelectRelated':\n // recursively build list of related tiddlers\n function getRelatedTiddlers(tid,tids) {\n var t=store.getTiddler(tid); if (!t || tids.contains(tid)) return tids;\n tids.push(t.title);\n if (!t.linksUpdated) t.changed();\n for (var i=0; i<t.links.length; i++)\n if (t.links[i]!=tid) tids=getRelatedTiddlers(t.links[i],tids);\n return tids;\n }\n // for all currently selected tiddlers, gather up the related tiddlers (including self) and select them as well\n var tids=[];\n for (var i=0; i<theList.options.length; i++)\n if (theList.options[i].selected) tids=getRelatedTiddlers(theList.options[i].value,tids);\n // select related tiddlers (includes original selected tiddlers)\n for (var i=0; i<theList.options.length; i++)\n theList.options[i].selected=tids.contains(theList.options[i].value);\n clearMessage(); displayMessage(formatExportMessage(tids.length,total));\n break;\n case 'exportListSmaller': // decrease current listbox size\n var min=5;\n theList.size-=(theList.size>min)?1:0;\n break;\n case 'exportListLarger': // increase current listbox size\n var max=(theList.options.length>25)?theList.options.length:25;\n theList.size+=(theList.size<max)?1:0;\n break;\n case 'exportClose':\n document.getElementById('exportPanel').style.display='none';\n break;\n }\n}\n//}}}\n\n// // list display\n//{{{\nfunction formatExportMessage(count,total)\n{\n var txt=total+' tiddler'+((total!=1)?'s':'')+" - ";\n txt += (count==0)?"none":(count==total)?"all":count;\n txt += " selected for export";\n return txt;\n}\n\nfunction refreshExportList(selectedIndex)\n{\n var theList = document.getElementById("exportList");\n var sort;\n if (!theList) return;\n // get the sort order\n if (!selectedIndex) selectedIndex=0;\n if (selectedIndex==0) sort='modified';\n if (selectedIndex==1) sort='title';\n if (selectedIndex==2) sort='modified';\n if (selectedIndex==3) sort='modifier';\n if (selectedIndex==4) sort='tags';\n\n // unselect headings and count number of tiddlers actually selected\n for (var t=0,count=0; t < theList.options.length; t++) {\n if (!theList.options[t].selected) continue;\n if (theList.options[t].value!="")\n count++;\n else { // if heading is selected, deselect it, and then select and count all in section\n theList.options[t].selected=false;\n for ( t++; t<theList.options.length && theList.options[t].value!=""; t++) {\n theList.options[t].selected=true;\n count++;\n }\n }\n }\n\n // disable "export" button if no tiddlers selected\n document.getElementById("exportStart").disabled=(count==0);\n // show selection count\n var tiddlers = store.getTiddlers('title');\n if (theList.options.length) { clearMessage(); displayMessage(formatExportMessage(count,tiddlers.length)); }\n\n // if a [command] item, reload list... otherwise, no further refresh needed\n if (selectedIndex>4) return;\n\n // clear current list contents\n while (theList.length > 0) { theList.options[0] = null; }\n // add heading and control items to list\n var i=0;\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n theList.options[i++]=\n new Option(tiddlers.length+" tiddlers in document", "",false,false);\n theList.options[i++]=\n new Option(((sort=="title" )?">":indent)+' [by title]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="modified")?">":indent)+' [by date]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="modifier")?">":indent)+' [by author]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="tags" )?">":indent)+' [by tags]', "",false,false);\n // output the tiddler list\n switch(sort)\n {\n case "title":\n for(var t = 0; t < tiddlers.length; t++)\n theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);\n break;\n case "modifier":\n case "modified":\n var tiddlers = store.getTiddlers(sort);\n // sort descending for newest date first\n tiddlers.sort(function (a,b) {if(a[sort] == b[sort]) return(0); else return (a[sort] > b[sort]) ? -1 : +1; });\n var lastSection = "";\n for(var t = 0; t < tiddlers.length; t++)\n {\n var tiddler = tiddlers[t];\n var theSection = "";\n if (sort=="modified") theSection=tiddler.modified.toLocaleDateString();\n if (sort=="modifier") theSection=tiddler.modifier;\n if (theSection != lastSection)\n {\n theList.options[i++] = new Option(theSection,"",false,false);\n lastSection = theSection;\n }\n theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);\n }\n break;\n case "tags":\n var theTitles = {}; // all tiddler titles, hash indexed by tag value\n var theTags = new Array();\n for(var t=0; t<tiddlers.length; t++) {\n var title=tiddlers[t].title;\n var tags=tiddlers[t].tags;\n if (!tags || !tags.length) {\n if (theTitles["untagged"]==undefined) { theTags.push("untagged"); theTitles["untagged"]=new Array(); }\n theTitles["untagged"].push(title);\n }\n else for(var s=0; s<tags.length; s++) {\n if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }\n theTitles[tags[s]].push(title);\n }\n }\n theTags.sort();\n for(var tagindex=0; tagindex<theTags.length; tagindex++) {\n var theTag=theTags[tagindex];\n theList.options[i++]=new Option(theTag,"",false,false);\n for(var t=0; t<theTitles[theTag].length; t++)\n theList.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);\n }\n break;\n }\n theList.selectedIndex=selectedIndex; // select current control item\n}\n//}}}\n\n// // list filtering\n//{{{\nfunction getFilterDate(val,id)\n{\n var result=0;\n switch (val) {\n case 'site':\n var timestamp=store.getTiddlerText("SiteDate");\n if (!timestamp) timestamp=document.lastModified;\n result=new Date(timestamp);\n break;\n case 'file':\n result=new Date(document.lastModified);\n break;\n case 'other':\n result=new Date(document.getElementById(id).value);\n break;\n default: // today=0, yesterday=1, one week=7, two weeks=14, a month=31\n var now=new Date(); var tz=now.getTimezoneOffset()*60000; now-=tz;\n var oneday=86400000;\n if (id=='exportStartDate')\n result=new Date((Math.floor(now/oneday)-val)*oneday+tz);\n else\n result=new Date((Math.floor(now/oneday)-val+1)*oneday+tz-1);\n break;\n }\n // DEBUG alert('getFilterDate('+val+','+id+')=='+result+"\snnow="+now);\n return result;\n}\n\nfunction filterExportList()\n{\n var theList = document.getElementById("exportList"); if (!theList) return -1;\n\n var filterStart=document.getElementById("exportFilterStart").checked;\n var val=document.getElementById("exportFilterStartBy").value;\n var startDate=getFilterDate(val,'exportStartDate');\n\n var filterEnd=document.getElementById("exportFilterEnd").checked;\n var val=document.getElementById("exportFilterEndBy").value;\n var endDate=getFilterDate(val,'exportEndDate');\n\n var filterTags=document.getElementById("exportFilterTags").checked;\n var tags=document.getElementById("exportTags").value;\n\n var filterText=document.getElementById("exportFilterText").checked;\n var text=document.getElementById("exportText").value;\n\n if (!(filterStart||filterEnd||filterTags||filterText)) {\n alert("Please set the selection filter");\n document.getElementById('exportFilterPanel').style.display="block";\n return -1;\n }\n if (filterStart&&filterEnd&&(startDate>endDate)) {\n var msg="starting date/time:\sn"\n msg+=startDate.toLocaleString()+"\sn";\n msg+="is later than ending date/time:\sn"\n msg+=endDate.toLocaleString()\n alert(msg);\n return -1;\n }\n\n // scan list and select tiddlers that match all applicable criteria\n var total=0;\n var count=0;\n for (var i=0; i<theList.options.length; i++) {\n // get item, skip non-tiddler list items (section headings)\n var opt=theList.options[i]; if (opt.value=="") continue;\n // get tiddler, skip missing tiddlers (this should NOT happen)\n var tiddler=store.getTiddler(opt.value); if (!tiddler) continue; \n var sel=true;\n if ( (filterStart && tiddler.modified<startDate)\n || (filterEnd && tiddler.modified>endDate)\n || (filterTags && !matchTags(tiddler,tags))\n || (filterText && (tiddler.text.indexOf(text)==-1) && (tiddler.title.indexOf(text)==-1)))\n sel=false;\n opt.selected=sel;\n count+=sel?1:0;\n total++;\n }\n return count;\n}\n//}}}\n\n//{{{\nfunction matchTags(tiddler,cond)\n{\n if (!cond||!cond.trim().length) return false;\n\n // build a regex of all tags as a big-old regex that \n // OR's the tags together (tag1|tag2|tag3...) in length order\n var tgs = store.getTags();\n if ( tgs.length == 0 ) return results ;\n var tags = tgs.sort( function(a,b){return (a[0].length<b[0].length)-(a[0].length>b[0].length);});\n var exp = "(" + tags.join("|") + ")" ;\n exp = exp.replace( /(,[\sd]+)/g, "" ) ;\n var regex = new RegExp( exp, "ig" );\n\n // build a string such that an expression that looks like this: tag1 AND tag2 OR NOT tag3\n // turns into : /tag1/.test(...) && /tag2/.test(...) || ! /tag2/.test(...)\n cond = cond.replace( regex, "/$1\s\s|/.test(tiddlerTags)" );\n cond = cond.replace( /\ssand\ss/ig, " && " ) ;\n cond = cond.replace( /\ssor\ss/ig, " || " ) ;\n cond = cond.replace( /\ss?not\ss/ig, " ! " ) ;\n\n // if a boolean uses a tag that doesn't exist - it will get left alone \n // (we only turn existing tags into actual tests).\n // replace anything that wasn't found as a tag, AND, OR, or NOT with the string "false"\n // if the tag doesn't exist then /tag/.test(...) will always return false.\n cond = cond.replace( /(\ss|^)+[^\s/\s|&!][^\ss]*/g, "false" ) ;\n\n // make a string of the tags in the tiddler and eval the 'cond' string against that string \n // if it's TRUE then the tiddler qualifies!\n var tiddlerTags = (tiddler.tags?tiddler.tags.join("|"):"")+"|" ;\n try { if ( eval( cond ) ) return true; }\n catch( e ) { displayMessage("Error in tag filter '" + e + "'" ); }\n return false;\n}\n//}}}\n\n// // output data formatting\n// // exportHeader(format)\n//{{{\nfunction exportHeader(format)\n{\n switch (format) {\n case "TW": return exportTWHeader();\n case "DIV": return exportDIVHeader();\n case "XML": return exportXMLHeader();\n }\n}\n//}}}\n\n// // exportFooter(format)\n//{{{\nfunction exportFooter(format)\n{\n switch (format) {\n case "TW": return exportDIVFooter();\n case "DIV": return exportDIVFooter();\n case "XML": return exportXMLFooter();\n }\n}\n//}}}\n\n// // exportTWHeader()\n//{{{\nfunction exportTWHeader()\n{\n // Get the URL of the document\n var originalPath = document.location.href;\n // Check we were loaded from a file URL\n if(originalPath.substr(0,5) != "file:")\n { alert(config.messages.notFileUrlError); return; }\n // Remove any location part of the URL\n var hashPos = originalPath.indexOf("#"); if(hashPos != -1) originalPath = originalPath.substr(0,hashPos);\n // Convert to a native file format assuming\n // "file:///x:/path/path/path..." - pc local file --> "x:\spath\spath\spath..."\n // "file://///server/share/path/path/path..." - FireFox pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n // "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."\n // "file://server/share/path/path/path..." - pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n var localPath;\n if(originalPath.charAt(9) == ":") // pc local file\n localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file://///") == 0) // FireFox pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file:///") == 0) // mac/unix local file\n localPath = unescape(originalPath.substr(7));\n else if(originalPath.indexOf("file:/") == 0) // mac/unix local file\n localPath = unescape(originalPath.substr(5));\n else // pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\s\s");\n // Load the original file\n var original = loadFile(localPath);\n if(original == null)\n { alert(config.messages.cantSaveError); return; }\n // reset existing HTML source markup\n original=updateMarkupBlock(original,"PRE-HEAD");\n original=updateMarkupBlock(original,"POST-HEAD");\n original=updateMarkupBlock(original,"PRE-BODY");\n original=updateMarkupBlock(original,"POST-BODY");\n // Locate the storeArea div's\n var posOpeningDiv = original.indexOf(startSaveArea);\n var posClosingDiv = original.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1))\n { alert(config.messages.invalidFileError.format([localPath])); return; }\n return original.substr(0,posOpeningDiv+startSaveArea.length)\n}\n//}}}\n\n// // exportDIVHeader()\n//{{{\nfunction exportDIVHeader()\n{\n var out=[];\n var now = new Date();\n var title = convertUnicodeToUTF8(wikifyPlain("SiteTitle").htmlEncode());\n var subtitle = convertUnicodeToUTF8(wikifyPlain("SiteSubtitle").htmlEncode());\n var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());\n var twver = version.major+"."+version.minor+"."+version.revision;\n var pver = version.extensions.exportTiddlers.major+"."\n +version.extensions.exportTiddlers.minor+"."+version.extensions.exportTiddlers.revision;\n out.push("<html><body>");\n out.push("<style type=\s"text/css\s">");\n out.push("#storeArea {display:block;margin:1em;}");\n out.push("#storeArea div");\n out.push("{padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}");\n out.push("#javascriptWarning");\n out.push("{width:100%;text-align:left;background-color:#eeeeee;padding:1em;}");\n out.push("</style>");\n out.push("<div id=\s"javascriptWarning\s">");\n out.push("TiddlyWiki export file<br>");\n out.push("Source"+": <b>"+convertUnicodeToUTF8(document.location.href)+"</b><br>");\n out.push("Title: <b>"+title+"</b><br>");\n out.push("Subtitle: <b>"+subtitle+"</b><br>");\n out.push("Created: <b>"+now.toLocaleString()+"</b> by <b>"+user+"</b><br>");\n out.push("TiddlyWiki "+twver+" / "+"ExportTiddlersPlugin "+pver+"<br>");\n out.push("Notes:<hr><pre>"+document.getElementById("exportNotes").value.replace(regexpNewLine,"<br>")+"</pre>");\n out.push("</div>");\n out.push("<div id=\s"storeArea\s">");\n return out;\n}\n//}}}\n\n// // exportDIVFooter()\n//{{{\nfunction exportDIVFooter()\n{\n var out=[];\n out.push("</div><!--POST-BODY-START-->\sn<!--POST-BODY-END--></body></html>");\n return out;\n}\n//}}}\n\n// // exportXMLHeader()\n//{{{\nfunction exportXMLHeader()\n{\n var out=[];\n var now = new Date();\n var u = store.getTiddlerText("SiteUrl",null);\n var title = convertUnicodeToUTF8(wikifyPlain("SiteTitle").htmlEncode());\n var subtitle = convertUnicodeToUTF8(wikifyPlain("SiteSubtitle").htmlEncode());\n var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());\n var twver = version.major+"."+version.minor+"."+version.revision;\n var pver = version.extensions.exportTiddlers.major+"."\n +version.extensions.exportTiddlers.minor+"."+version.extensions.exportTiddlers.revision;\n out.push("<" + "?xml version=\s"1.0\s"?" + ">");\n out.push("<rss version=\s"2.0\s">");\n out.push("<channel>");\n out.push("<title>" + title + "</title>");\n if(u) out.push("<link>" + convertUnicodeToUTF8(u.htmlEncode()) + "</link>");\n out.push("<description>" + subtitle + "</description>");\n out.push("<language>en-us</language>");\n out.push("<copyright>Copyright " + now.getFullYear() + " " + user + "</copyright>");\n out.push("<pubDate>" + now.toGMTString() + "</pubDate>");\n out.push("<lastBuildDate>" + now.toGMTString() + "</lastBuildDate>");\n out.push("<docs>http://blogs.law.harvard.edu/tech/rss</docs>");\n out.push("<generator>TiddlyWiki "+twver+" plus ExportTiddlersPlugin "+pver+"</generator>");\n return out;\n}\n//}}}\n\n// // exportXMLFooter()\n//{{{\nfunction exportXMLFooter()\n{\n var out=[];\n out.push("</channel></rss>");\n return out;\n}\n//}}}\n\n// // exportData()\n//{{{\nfunction exportData(theList,theFormat)\n{\n // scan export listbox and collect DIVs or XML for selected tiddler content\n var out=[];\n for (var i=0; i<theList.options.length; i++) {\n // get item, skip non-selected items and section headings\n var opt=theList.options[i]; if (!opt.selected||(opt.value=="")) continue;\n // get tiddler, skip missing tiddlers (this should NOT happen)\n var thisTiddler=store.getTiddler(opt.value); if (!thisTiddler) continue; \n if (theFormat=="TW") out.push(convertUnicodeToUTF8(thisTiddler.saveToDiv()));\n if (theFormat=="DIV") out.push(convertUnicodeToUTF8(thisTiddler.title+"\sn"+thisTiddler.saveToDiv()));\n if (theFormat=="XML") out.push(convertUnicodeToUTF8(thisTiddler.saveToRss(store.getTiddlerText("SiteUrl",""))));\n }\n return out;\n}\n//}}}\n\n// // exportTiddlers(): output selected data to local or server\n//{{{\nfunction exportTiddlers()\n{\n var theList = document.getElementById("exportList"); if (!theList) return;\n\n // get the export settings\n var theProtocol = document.getElementById("exportTo").value;\n var theFormat = document.getElementById("exportFormat").value;\n\n // assemble output: header + tiddlers + footer\n var theData=exportData(theList,theFormat);\n var count=theData.length;\n var out=[]; var txt=out.concat(exportHeader(theFormat),theData,exportFooter(theFormat)).join("\sn");\n var msg="";\n switch (theProtocol) {\n case "file:":\n var theTarget = document.getElementById("exportFilename").value.trim();\n if (!theTarget.length) msg = "A local path/filename is required\sn";\n if (!msg && saveFile(theTarget,txt))\n msg=count+" tiddler"+((count!=1)?"s":"")+" exported to local file";\n else if (!msg)\n msg+="An error occurred while saving to "+theTarget;\n break;\n case "http:":\n case "https:":\n var theTarget = document.getElementById("exportHTTPServerURL").value.trim();\n if (!theTarget.length) msg = "A server URL is required\sn";\n if (document.getElementById('exportNotify').checked)\n theTarget+="&notify="+encodeURIComponent(document.getElementById('exportNotifyTo').value);\n if (document.getElementById('exportNotes').value.trim().length)\n theTarget+="&notes="+encodeURIComponent(document.getElementById('exportNotes').value);\n if (!msg && exportPost(theTarget+encodeURIComponent(txt)))\n msg=count+" tiddler"+((count!=1)?"s":"")+" exported to "+theProtocol+" server";\n else if (!msg)\n msg+="An error occurred while saving to "+theTarget;\n break;\n case "ftp:":\n default:\n msg="Sorry, export to "+theLocation+" is not yet available";\n break;\n }\n clearMessage(); displayMessage(msg,theTarget);\n}\n//}}}\n\n// // exportPost(url): cross-domain post uses hidden iframe to submit url and capture responses\n//{{{\nfunction exportPost(url)\n{\n var f=document.getElementById("exportFrame"); if (f) document.body.removeChild(f);\n f=document.createElement("iframe"); f.id="exportFrame";\n f.style.width="0px"; f.style.height="0px"; f.style.border="0px";\n document.body.appendChild(f);\n var d=f.document;\n if (f.contentDocument) d=f.contentDocument; // For NS6\n else if (f.contentWindow) d=f.contentWindow.document; // For IE5.5 and IE6\n d.location.replace(url);\n return true;\n}\n//}}}\n\n// // promptForFilename(msg,path,file) uses platform/browser specific functions to get local filespec\n//{{{\nfunction promptForExportFilename(here)\n{\n var msg=here.title; // use tooltip as dialog box message\n var path=getLocalPath(document.location.href);\n var slashpos=path.lastIndexOf("/"); if (slashpos==-1) slashpos=path.lastIndexOf("\s\s"); \n if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash\n var file=config.macros.exportTiddlers.newdefault;\n var result="";\n if(window.Components) { // moz\n try {\n netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');\n var nsIFilePicker = window.Components.interfaces.nsIFilePicker;\n var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);\n picker.init(window, msg, nsIFilePicker.modeSave);\n var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);\n thispath.initWithPath(path);\n picker.displayDirectory=thispath;\n picker.defaultExtension='html';\n picker.defaultString=file;\n picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);\n if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;\n }\n catch(e) { alert('error during local file access: '+e.toString()) }\n }\n else { // IE\n try { // XP only\n var s = new ActiveXObject('UserAccounts.CommonDialog');\n s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';\n s.FilterIndex=3; // default to HTML files;\n s.InitialDir=path;\n s.FileName=file;\n if (s.showOpen()) var result=s.FileName;\n }\n catch(e) { var result=prompt(msg,path+file); } // fallback for non-XP IE\n }\n return result;\n}\n//}}}
\n<script>\nif (zw.loggedIn) {\nreturn "[[Logout|/archives/login/logout]]<<closeAll>><<newTiddler>><<newJournal>><<slider chkSliderOptionsPanel OptionsPanel 'options' 'Open options panel'>>";\n}\n</script>
/***\n|<html><a name="Top"/></html>''Name:''|PartTiddlerPlugin|\n|''Version:''|1.0.9 (2007-07-14)|\n|''Source:''|http://tiddlywiki.abego-software.de/#PartTiddlerPlugin|\n|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|\n|''Licence:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.3|\n|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|\n!Table of Content<html><a name="TOC"/></html>\n* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Description',null, event)">Description, Syntax</a></html>\n* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Applications',null, event)">Applications</a></html>\n** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('LongTiddler',null, event)">Refering to Paragraphs of a Longer Tiddler</a></html>\n** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Citation',null, event)">Citation Index</a></html>\n** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('TableCells',null, event)">Creating "multi-line" Table Cells</a></html>\n** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Tabs',null, event)">Creating Tabs</a></html>\n** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Sliders',null, event)">Using Sliders</a></html>\n* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Revisions',null, event)">Revision History</a></html>\n* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Code',null, event)">Code</a></html>\n!Description<html><a name="Description"/></html>\nWith the {{{<part aPartName> ... </part>}}} feature you can structure your tiddler text into separate (named) parts. \nEach part can be referenced as a "normal" tiddler, using the "//tiddlerName//''/''//partName//" syntax (e.g. "About/Features"). E.g. you may create links to the parts (e.g. {{{[[Quotes/BAX95]]}}} or {{{[[Hobbies|AboutMe/Hobbies]]}}}), use it in {{{<<tiddler...>>}}} or {{{<<tabs...>>}}} macros etc.\n\n\n''Syntax:'' \n|>|''<part'' //partName// [''hidden''] ''>'' //any tiddler content// ''</part>''|\n|//partName//|The name of the part. You may reference a part tiddler with the combined tiddler name "//nameOfContainerTidder//''/''//partName//. <<br>>If you use a partName containing spaces you need to quote it (e.g. {{{"Major Overview"}}} or {{{[[Shortcut List]]}}}).|\n|''hidden''|When defined the content of the part is not displayed in the container tiddler. But when the part is explicitly referenced (e.g. in a {{{<<tiddler...>>}}} macro or in a link) the part's content is displayed.|\n|<html><i>any&nbsp;tiddler&nbsp;content</i></html>|<html>The content of the part.<br>A part can have any content that a "normal" tiddler may have, e.g. you may use all the formattings and macros defined.</html>|\n|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!Applications<html><a name="Applications"/></html>\n!!Refering to Paragraphs of a Longer Tiddler<html><a name="LongTiddler"/></html>\nAssume you have written a long description in a tiddler and now you want to refer to the content of a certain paragraph in that tiddler (e.g. some definition.) Just wrap the text with a ''part'' block, give it a nice name, create a "pretty link" (like {{{[[Discussion Groups|Introduction/DiscussionGroups]]}}}) and you are done.\n\nNotice this complements the approach to first writing a lot of small tiddlers and combine these tiddlers to one larger tiddler in a second step (e.g. using the {{{<<tiddler...>>}}} macro). Using the ''part'' feature you can first write a "classic" (longer) text that can be read "from top to bottom" and later "reuse" parts of this text for some more "non-linear" reading.\n\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!!Citation Index<html><a name="Citation"/></html>\nCreate a tiddler "Citations" that contains your "citations". \nWrap every citation with a part and a proper name. \n\n''Example''\n{{{\n<part BAX98>Baxter, Ira D. et al: //Clone Detection Using Abstract Syntax Trees.// \nin //Proc. ICSM//, 1998.</part>\n\n<part BEL02>Bellon, Stefan: //Vergleich von Techniken zur Erkennung duplizierten Quellcodes.// \nThesis, Uni Stuttgart, 2002.</part>\n\n<part DUC99>Ducasse, Stéfane et al: //A Language Independent Approach for Detecting Duplicated Code.// \nin //Proc. ICSM//, 1999.</part>\n}}}\n\nYou may now "cite" them just by using a pretty link like {{{[[Citations/BAX98]]}}} or even more pretty, like this {{{[[BAX98|Citations/BAX98]]}}}.\n\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!!Creating "multi-line" Table Cells<html><a name="TableCells"/></html>\nYou may have noticed that it is hard to create table cells with "multi-line" content. E.g. if you want to create a bullet list inside a table cell you cannot just write the bullet list\n{{{\n* Item 1\n* Item 2\n* Item 3\n}}}\ninto a table cell (i.e. between the | ... | bars) because every bullet item must start in a new line but all cells of a table row must be in one line.\n\nUsing the ''part'' feature this problem can be solved. Just create a hidden part that contains the cells content and use a {{{<<tiddler >>}}} macro to include its content in the table's cell.\n\n''Example''\n{{{\n|!Subject|!Items|\n|subject1|<<tiddler ./Cell1>>|\n|subject2|<<tiddler ./Cell2>>|\n\n<part Cell1 hidden>\n* Item 1\n* Item 2\n* Item 3\n</part>\n...\n}}}\n\nNotice that inside the {{{<<tiddler ...>>}}} macro you may refer to the "current tiddler" using the ".".\n\nBTW: The same approach can be used to create bullet lists with items that contain more than one line.\n\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!!Creating Tabs<html><a name="Tabs"/></html>\nThe build-in {{{<<tabs ...>>}}} macro requires that you defined an additional tiddler for every tab it displays. When you want to have "nested" tabs you need to define a tiddler for the "main tab" and one for every tab it contains. I.e. the definition of a set of tabs that is visually displayed at one place is distributed across multiple tiddlers.\n\nWith the ''part'' feature you can put the complete definition in one tiddler, making it easier to keep an overview and maintain the tab sets.\n\n''Example''\nThe standard tabs at the sidebar are defined by the following eight tiddlers:\n* SideBarTabs\n* TabAll\n* TabMore\n* TabMoreMissing\n* TabMoreOrphans\n* TabMoreShadowed\n* TabTags\n* TabTimeline\n\nInstead of these eight tiddlers one could define the following SideBarTabs tiddler that uses the ''part'' feature:\n{{{\n<<tabs txtMainTab \n Timeline Timeline SideBarTabs/Timeline \n All 'All tiddlers' SideBarTabs/All \n Tags 'All tags' SideBarTabs/Tags \n More 'More lists' SideBarTabs/More>>\n<part Timeline hidden><<timeline>></part>\n<part All hidden><<list all>></part>\n<part Tags hidden><<allTags>></part>\n<part More hidden><<tabs txtMoreTab \n Missing 'Missing tiddlers' SideBarTabs/Missing \n Orphans 'Orphaned tiddlers' SideBarTabs/Orphans \n Shadowed 'Shadowed tiddlers' SideBarTabs/Shadowed>></part>\n<part Missing hidden><<list missing>></part>\n<part Orphans hidden><<list orphans>></part>\n<part Shadowed hidden><<list shadowed>></part>\n}}}\n\nNotice that you can easily "overwrite" individual parts in separate tiddlers that have the full name of the part.\n\nE.g. if you don't like the classic timeline tab but only want to see the 100 most recent tiddlers you could create a tiddler "~SideBarTabs/Timeline" with the following content:\n{{{\n<<forEachTiddler \n sortBy 'tiddler.modified' descending \n write '(index < 100) ? "* [["+tiddler.title+"]]\sn":""'>>\n}}}\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!!Using Sliders<html><a name="Sliders"/></html>\nVery similar to the build-in {{{<<tabs ...>>}}} macro (see above) the {{{<<slider ...>>}}} macro requires that you defined an additional tiddler that holds the content "to be slid". You can avoid creating this extra tiddler by using the ''part'' feature\n\n''Example''\nIn a tiddler "About" we may use the slider to show some details that are documented in the tiddler's "Details" part.\n{{{\n...\n<<slider chkAboutDetails About/Details details "Click here to see more details">>\n<part Details hidden>\nTo give you a better overview ...\n</part>\n...\n}}}\n\nNotice that putting the content of the slider into the slider's tiddler also has an extra benefit: When you decide you need to edit the content of the slider you can just doubleclick the content, the tiddler opens for editing and you can directly start editing the content (in the part section). In the "old" approach you would doubleclick the tiddler, see that the slider is using tiddler X, have to look for the tiddler X and can finally open it for editing. So using the ''part'' approach results in a much short workflow.\n\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!Revision history<html><a name="Revisions"/></html>\n* v1.0.9 (2007-07-14)\n** Bugfix: Error when using the SideBarTabs example and switching between "More" and "Shadow". Thanks to cmari for reporting the issue.\n* v1.0.8 (2007-06-16)\n** Speeding up display of tiddlers containing multiple pard definitions. Thanks to Paco Rivière for reporting the issue.\n** Support "./partName" syntax inside <<tabs ...>> macro\n* v1.0.7 (2007-03-07)\n** Bugfix: <<tiddler "./partName">> does not always render correctly after a refresh (e.g. like it happens when using the "Include" plugin). Thanks to Morris Gray for reporting the bug.\n* v1.0.6 (2006-11-07)\n** Bugfix: cannot edit tiddler when UploadPlugin by Bidix is installed. Thanks to José Luis González Castro for reporting the bug.\n* v1.0.5 (2006-03-02)\n** Bugfix: Example with multi-line table cells does not work in IE6. Thanks to Paulo Soares for reporting the bug.\n* v1.0.4 (2006-02-28)\n** Bugfix: Shadow tiddlers cannot be edited (in TW 2.0.6). Thanks to Torsten Vanek for reporting the bug.\n* v1.0.3 (2006-02-26)\n** Adapt code to newly introduced Tiddler.prototype.isReadOnly() function (in TW 2.0.6). Thanks to Paulo Soares for reporting the problem.\n* v1.0.2 (2006-02-05)\n** Also allow other macros than the "tiddler" macro use the "." in the part reference (to refer to "this" tiddler)\n* v1.0.1 (2006-01-27)\n** Added Table of Content for plugin documentation. Thanks to RichCarrillo for suggesting.\n** Bugfix: newReminder plugin does not work when PartTiddler is installed. Thanks to PauloSoares for reporting.\n* v1.0.0 (2006-01-25)\n** initial version\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!Code<html><a name="Code"/></html>\n<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n***/\n//{{{\n//============================================================================\n// PartTiddlerPlugin\n\n// Ensure that the PartTiddler Plugin is only installed once.\n//\nif (!version.extensions.PartTiddlerPlugin) {\n\n\n\nversion.extensions.PartTiddlerPlugin = {\n major: 1, minor: 0, revision: 9,\n date: new Date(2007, 6, 14), \n type: 'plugin',\n source: "http://tiddlywiki.abego-software.de/#PartTiddlerPlugin"\n};\n\nif (!window.abego) window.abego = {};\nif (version.major < 2) alertAndThrow("PartTiddlerPlugin requires TiddlyWiki 2.0 or newer.");\n\n//============================================================================\n// Common Helpers\n\n// Looks for the next newline, starting at the index-th char of text. \n//\n// If there are only whitespaces between index and the newline \n// the index behind the newline is returned, \n// otherwise (or when no newline is found) index is returned.\n//\nvar skipEmptyEndOfLine = function(text, index) {\n var re = /(\sn|[^\ss])/g;\n re.lastIndex = index;\n var result = re.exec(text);\n return (result && text.charAt(result.index) == '\sn') \n ? result.index+1\n : index;\n}\n\n\n//============================================================================\n// Constants\n\nvar partEndOrStartTagRE = /(<\s/part>)|(<part(?:\ss+)((?:[^>])+)>)/mg;\nvar partEndTagREString = "<\s\s/part>";\nvar partEndTagString = "</part>";\n\n//============================================================================\n// Plugin Specific Helpers\n\n// Parse the parameters inside a <part ...> tag and return the result.\n//\n// @return [may be null] {partName: ..., isHidden: ...}\n//\nvar parseStartTagParams = function(paramText) {\n var params = paramText.readMacroParams();\n if (params.length == 0 || params[0].length == 0) return null;\n \n var name = params[0];\n var paramsIndex = 1;\n var hidden = false;\n if (paramsIndex < params.length) {\n hidden = params[paramsIndex] == "hidden";\n paramsIndex++;\n }\n \n return {\n partName: name, \n isHidden: hidden\n };\n}\n\n// Returns the match to the next (end or start) part tag in the text, \n// starting the search at startIndex.\n// \n// When no such tag is found null is returned, otherwise a "Match" is returned:\n// [0]: full match\n// [1]: matched "end" tag (or null when no end tag match)\n// [2]: matched "start" tag (or null when no start tag match)\n// [3]: content of start tag (or null if no start tag match)\n//\nvar findNextPartEndOrStartTagMatch = function(text, startIndex) {\n var re = new RegExp(partEndOrStartTagRE);\n re.lastIndex = startIndex;\n var match = re.exec(text);\n return match;\n}\n\n//============================================================================\n// Formatter\n\n// Process the <part ...> ... </part> starting at (w.source, w.matchStart) for formatting.\n//\n// @return true if a complete part section (including the end tag) could be processed, false otherwise.\n//\nvar handlePartSection = function(w) {\n var tagMatch = findNextPartEndOrStartTagMatch(w.source, w.matchStart);\n if (!tagMatch) return false;\n if (tagMatch.index != w.matchStart || !tagMatch[2]) return false;\n\n // Parse the start tag parameters\n var arguments = parseStartTagParams(tagMatch[3]);\n if (!arguments) return false;\n \n // Continue processing\n var startTagEndIndex = skipEmptyEndOfLine(w.source, tagMatch.index + tagMatch[0].length);\n var endMatch = findNextPartEndOrStartTagMatch(w.source, startTagEndIndex);\n if (endMatch && endMatch[1]) {\n if (!arguments.isHidden) {\n w.nextMatch = startTagEndIndex;\n w.subWikify(w.output,partEndTagREString);\n }\n w.nextMatch = skipEmptyEndOfLine(w.source, endMatch.index + endMatch[0].length);\n \n return true;\n }\n return false;\n}\n\nconfig.formatters.push( {\n name: "part",\n match: "<part\s\ss+[^>]+>",\n \n handler: function(w) {\n if (!handlePartSection(w)) {\n w.outputText(w.output,w.matchStart,w.matchStart+w.matchLength);\n }\n }\n} )\n\n//============================================================================\n// Extend "fetchTiddler" functionality to also recognize "part"s of tiddlers \n// as tiddlers.\n\nvar currentParent = null; // used for the "." parent (e.g. in the "tiddler" macro)\n\n// Return the match to the first <part ...> tag of the text that has the\n// requrest partName.\n//\n// @return [may be null]\n//\nvar findPartStartTagByName = function(text, partName) {\n var i = 0;\n \n while (true) {\n var tagMatch = findNextPartEndOrStartTagMatch(text, i);\n if (!tagMatch) return null;\n\n if (tagMatch[2]) {\n // Is start tag\n \n // Check the name\n var arguments = parseStartTagParams(tagMatch[3]);\n if (arguments && arguments.partName == partName) {\n return tagMatch;\n }\n }\n i = tagMatch.index+tagMatch[0].length;\n }\n}\n\n// Return the part "partName" of the given parentTiddler as a "readOnly" Tiddler \n// object, using fullName as the Tiddler's title. \n//\n// All remaining properties of the new Tiddler (tags etc.) are inherited from \n// the parentTiddler.\n// \n// @return [may be null]\n//\nvar getPart = function(parentTiddler, partName, fullName) {\n var text = parentTiddler.text;\n var startTag = findPartStartTagByName(text, partName);\n if (!startTag) return null;\n \n var endIndexOfStartTag = skipEmptyEndOfLine(text, startTag.index+startTag[0].length);\n var indexOfEndTag = text.indexOf(partEndTagString, endIndexOfStartTag);\n\n if (indexOfEndTag >= 0) {\n var partTiddlerText = text.substring(endIndexOfStartTag,indexOfEndTag);\n var partTiddler = new Tiddler();\n partTiddler.set(\n fullName,\n partTiddlerText,\n parentTiddler.modifier,\n parentTiddler.modified,\n parentTiddler.tags,\n parentTiddler.created);\n partTiddler.abegoIsPartTiddler = true;\n return partTiddler;\n }\n \n return null;\n}\n\n// Hijack the store.fetchTiddler to recognize the "part" addresses.\n//\nvar hijackFetchTiddler = function() {\n var oldFetchTiddler = store.fetchTiddler ;\n store.fetchTiddler = function(title) {\n var result = oldFetchTiddler.apply(this, arguments);\n if (!result && title) {\n var i = title.lastIndexOf('/');\n if (i > 0) {\n var parentName = title.substring(0, i);\n var partName = title.substring(i+1);\n var parent = (parentName == ".") \n ? store.resolveTiddler(currentParent)\n : oldFetchTiddler.apply(this, [parentName]);\n if (parent) {\n return getPart(parent, partName, parent.title+"/"+partName);\n }\n }\n }\n return result; \n };\n};\n\n// for debugging the plugin is not loaded through the systemConfig mechanism but via a script tag. \n// At that point in the "store" is not yet defined. In that case hijackFetchTiddler through the restart function.\n// Otherwise hijack now.\nif (!store) {\n var oldRestartFunc = restart;\n window.restart = function() {\n hijackFetchTiddler();\n oldRestartFunc.apply(this,arguments);\n };\n} else\n hijackFetchTiddler();\n\n\n\n\n// The user must not edit a readOnly/partTiddler\n//\n\nconfig.commands.editTiddler.oldIsReadOnlyFunction = Tiddler.prototype.isReadOnly;\n\nTiddler.prototype.isReadOnly = function() {\n // Tiddler.isReadOnly was introduced with TW 2.0.6.\n // For older version we explicitly check the global readOnly flag\n if (config.commands.editTiddler.oldIsReadOnlyFunction) {\n if (config.commands.editTiddler.oldIsReadOnlyFunction.apply(this, arguments)) return true;\n } else {\n if (readOnly) return true;\n }\n\n return this.abegoIsPartTiddler;\n}\n\nconfig.commands.editTiddler.handler = function(event,src,title)\n{\n var t = store.getTiddler(title);\n // Edit the tiddler if it either is not a tiddler (but a shadowTiddler)\n // or the tiddler is not readOnly\n if(!t || !t.abegoIsPartTiddler)\n {\n clearMessage();\n story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE);\n story.focusTiddler(title,"text");\n return false;\n }\n}\n\n// To allow the "./partName" syntax in macros we need to hijack \n// the invokeMacro to define the "currentParent" while it is running.\n// \nvar oldInvokeMacro = window.invokeMacro;\nfunction myInvokeMacro(place,macro,params,wikifier,tiddler) {\n var oldCurrentParent = currentParent;\n if (tiddler) currentParent = tiddler;\n try {\n oldInvokeMacro.apply(this, arguments);\n } finally {\n currentParent = oldCurrentParent;\n }\n}\nwindow.invokeMacro = myInvokeMacro;\n\n// To correctly support the "./partName" syntax while refreshing we need to hijack \n// the config.refreshers.tiddlers to define the "currentParent" while it is running.\n// \n(function() {\n var oldTiddlerRefresher= config.refreshers.tiddler;\n config.refreshers.tiddler = function(e,changeList) {\n var oldCurrentParent = currentParent;\n try {\n currentParent = e.getAttribute("tiddler");\n return oldTiddlerRefresher.apply(this,arguments);\n } finally {\n currentParent = oldCurrentParent;\n }\n };\n})();\n\n// Support "./partName" syntax inside <<tabs ...>> macro\n(function() {\n var extendRelativeNames = function(e, title) {\n var nodes = e.getElementsByTagName("a");\n for(var i=0; i<nodes.length; i++) {\n var node = nodes[i];\n var s = node.getAttribute("content");\n if (s && s.indexOf("./") == 0)\n node.setAttribute("content",title+s.substr(1));\n }\n };\n var oldHandler = config.macros.tabs.handler;\n config.macros.tabs.handler = function(place,macroName,params,wikifier,paramString,tiddler) {\n var result = oldHandler.apply(this,arguments);\n if (tiddler)\n extendRelativeNames(place, tiddler.title);\n return result;\n };\n})();\n\n// Scroll the anchor anchorName in the viewer of the given tiddler visible.\n// When no tiddler is defined use the tiddler of the target given event is used.\nwindow.scrollAnchorVisible = function(anchorName, tiddler, evt) {\n var tiddlerElem = null;\n if (tiddler) {\n tiddlerElem = document.getElementById(story.idPrefix + tiddler);\n }\n if (!tiddlerElem && evt) {\n var target = resolveTarget(evt);\n tiddlerElem = story.findContainingTiddler(target);\n }\n if (!tiddlerElem) return;\n\n var children = tiddlerElem.getElementsByTagName("a");\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n var name = child.getAttribute("name");\n if (name == anchorName) {\n var y = findPosY(child);\n window.scrollTo(0,y);\n return;\n }\n }\n}\n\n} // of "install only once"\n//}}}\n\n/***\n<html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n\n!Licence and Copyright\nCopyright (c) abego Software ~GmbH, 2006 ([[www.abego-software.de|http://www.abego-software.de]])\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of abego Software nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n\n<html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>\n***/\n
#ZiddlyFormats {\n/*margin:10px 0 0;*/\n}\n\n#backstageButton {\ndisplay:inline;\n}\n\n#banner {\nmargin: 0;\npadding 0;\n}\n\n/*#banner > span {\ndisplay: block;\nheight: 232px;\n}\n*/\n\n#banner span {\ndisplay: block;\nheight: 232px;\n}\n\n\n#contentFooter {\nborder-top:solid thin #000;\nclear:both;\ncolor:#555;\nfont-size:10px;\nmargin-top:30px;\npadding-top:30px;\ntext-align:center;\nwidth:550px;\n}\n\n#contentFooter .right {\nbackground:#FFF;\nfloat:right;\ntext-align:right;\n}\n\n#contentFooter a {\nbackground:#FFF;\ntext-decoration:none;\n}\n\n#contentWrapper {\nmargin:0 auto;\nwidth:850px;\n}\n\n#displayArea {\nmargin:0 17em 2em 0.5em !important;\nwidth:500px;\n}\n\n#header {\nbackground:transparent;\ncolor:#FFF;\nwidth:550px;\n}\n\n#header #icons {\nfloat:right;\nmargin:20px 0;\npadding:0;\n}\n\n#header #icons img {\nborder:0;\npadding-right:2px;\n}\n\n#mainmenu {\ntext-align: left;\n}\n\n\n#messageArea {\nbackground:#fefefe;\nborder:4px solid #736451;\ncolor:#555;\nfont-size:90%;\n}\n\n#messageArea .button {\nborder:1px solid #736451;\ncolor:#666;\n}\n\n#messageArea .button:hover {\nbackground:red;\nborder-color:red;\ncolor:#FFF;\n}\n\n#messageArea a:hover {\nbackground:#f5f5f5;\nborder:none;\n}\n\n#sidebar {\nbackground:#fefefe;\nborder-left:0 solid #000;\ncolor:#000;\nfloat:right;\nvertical-align:text-top;\nline-height:1.4em;\nmargin:2px;\nposition: relative;\nwidth:250px;\ntext-align:left;\n}\n\n#sidebarOptions {\npadding-left:0.5em;\npadding-top:0em;\ntext-align:left;\n}\n\n#sidebarOptions .sliderPanel {\nbackground:#eee;\nborder:1px solid #ccc;\nfont-size:0.9em;\ntext-align:left;\n}\n\n#sidebarOptions .sliderPanel .txtOptionInput {\nborder:1px solid #736451;\nwidth:18em;\ntext-align:left;\n}\n\n#sidebarOptions .sliderPanel a {\nbackground-color:#eee;\nborder-bottom:1px dotted #333;\ncolor:#555;\nfont-weight:400;\ntext-align:left;\n}\n\n#sidebarOptions .sliderPanel a:hover {\nbackground-color:#eee;\nborder:none;\nborder-bottom:1px dotted #111;\ncolor:#111;\n}\n\n#sidebarOptions .sliderPanel input,#sidebarOptions input {\nborder:1px solid #736451;\ntext-align:left;\n}\n\n#sidebarOptions a {\ncolor:#101070;\ntext-decoration:none;\ntext-align:left;\n}\n\n#sidebarOptions a:hover,#sidebarOptions a:active {\nbackground-color:#f5f5f5;\nborder:1px solid #f5f5f5;\ncolor:#C00;\ntext-align:left;\n}\n\n#sidebarTabs {\nfont-family:arial, helvetica;\ntext-align:left;\n}\n\n#sidebarTabs .tabContents .button:hover,#sidebarTabs .tabContents .highlight,#sidebarTabs .tabContents .marked,#sidebarTabs .tabContents a.button:active {\nbackground:#fefefe;\ncolor:#C00;\n}\n\n#sidebarTabs .tabContents .tiddlyLink,#sidebarTabs .tabContents .button {\ncolor:#101070;\n}\n\n#sidebarTabs .tabContents .tiddlyLink:hover,#sidebarTabs .tabContents .button:hover {\nbackground:#fefefe;\nborder:none;\ncolor:#C00;\ntext-decoration:none;\n}\n\n#sidebarTabs .tabContents,.tabContents {\nbackground:#fefefe;\n}\n\n#sidebarTabs .tabSelected {\npadding-bottom:3px;\n}\n\n#sidebarTabs .tabUnselected {\nborder-bottom:none;\npadding-bottom:3px;\n}\n\n#sidebarTabs .tabUnselected:hover {\nborder-bottom:none;\ncolor:#736451;\npadding-bottom:3px;\n}\n\n#topMenu {\nbackground:inherit;\nheight:3ex;\nmargin:5px;\noverflow:hidden;\npadding:5px;\ntext-align:center;\nwidth:550px;\n}\n\n#topMenu a,#topMenu .tiddlyLink,#topMenu .button {\nbackground:#222;\nborder:thin solid #000;\ncolor:#8d8d8d;\nfont-size:110%;\nfont-variant:small-caps;\nfont-weight:400;\nletter-spacing:1px;\nmargin:0 4px;\npadding:0.3em 0.45em;\ntext-decoration:none;\n}\n\n#topMenu a:hover,#topMenu .tiddlyLink:hover,#topMenu .button:hover,#topMenu .button:active,#topMenu .highlight {\nbackground:#736451;\ncolor:#FFF;\ntext-decoration:none;\n}\n\n#topMenu br {\ndisplay:none;\n}\n\n* html .editor textarea,* html .editor input {\nwidth:98%;\n}\n\n* html .viewer pre {\nmargin-left:0;\n}\n\n.clearAll {\nclear:both;\n}\n\n.editor input {\nborder:1px solid #888;\nmargin-top:5px;\n}\n\n.editor textarea {\nborder:1px solid #888;\n}\n\n.externalLink,label {\nfont-weight:700;\n}\n\n.floatLeft {\nborder:thin dotted #000;\ncolor:#5E8412;\nfloat:left;\npadding:5px;\n}\n\n.floatLeft .tiddlyLink {\n-khtml-border-radius:10px;\n-moz-border-radius:10px;\n-webkit-border-radius:10px;\nborder-radius:10px;\ncolor:#5E8412;\n}\n\n.headerShadow {\nmargin-top: 0;\npadding: 0;\n}\n\n.highlight,.marked {\nbackground:transparent;\nborder:none;\ncolor:#111;\ntext-decoration:underline;\n}\n\n\n.listTitle {\ncolor:#888;\n}\n\n.logo {\nborder:0;\nheight:110px;\npadding:2px;\nwidth:145px;\n}\n\n.popup {\nbackground:#8D8D8D;\nborder:1px solid #000;\ncolor:#FFF;\n}\n\n.popup li a,.popup li a:visited {\nborder:none;\ncolor:#FFF;\n}\n\n.popup li a:hover {\nbackground:#F7F7F7;\nborder:none;\ncolor:#fff;\n}\n\n.popup li.disabled {\ncolor:#000;\n}\n\n.roundedCorners {\n-khtml-border-radius:10px;\n-moz-border-radius:10px;\n-webkit-border-radius:10px;\nborder-radius:10px;\n}\n\n.searchBar {\nfloat:right;\nfont-size:1em;\nmargin-top:1.3px;\nmposition:relative;\ndisplay:none;\n}\n\n.searchBar .button,.searchBar .searchButton {\ncolor:#FFF;\ndisplay:none;\n}\n\n.searchBar .button:hover,.searchBar .searchButton:hover {\nborder:1px solid #fefefe;\ncolor:#4F4B45;\ndisplay:none;\n}\n\n.searchBar input {\nbackground-color:#fefefe;\nborder:1px solid #CCC;\ncolor:#736451;\nmargin-right:3px;\ndisplay:none;\n}\n\n.selected .tagging .button,.selected .tagged .button {\ncolor:#aaa;\n}\n\n.selected .tagging .listTitle,.selected .tagged .listTitle {\ncolor:#666;\n}\n\n.selected .tagging,.selected .tagged {\nbackground-color:#f7f7f7;\nborder:1px solid #ccc;\n}\n\n.selected .toolbar a,.shadow .title {\ncolor:#736451;\n}\n\n.siteSubtitle {\nborder-bottom:1px solid #eee;\ncolor:#000;\nfont:1em "Century Gothic", "Trebuchet MS", "Arial Narrow", Arial, sans-serif;\nletter-spacing:0;\nmargin:0 0 10px;\npadding:5px 0 0;\ntext-align:left;\ntext-transform:uppercase;\n}\n\n.siteTitle {\ncolor:#736451;\nfont:normal 2em "Century Gothic", "Trebuchet MS", "Arial Narrow", Arial, sans-serif;\nletter-spacing:1px;\nposition: top;\ntop: 0px;\nleft: 0px;\ntext-transform:uppercase;\ntext-shadow: #6374AB 3px 3px 2px;\n}\n\n.subtitle,.subtitle a {\ncolor:#736451;\nfont-size:1em;\nmargin:0.2em;\n}\n\n.tabSelected {\nbackground:#736451;\ncolor:#fefefe;\n}\n\n.tabSelected,.tabSelected:hover {\nbackground:#fefefe;\nborder:solid 1px #ccc;\ncolor:#555;\n}\n\n.tabUnselected {\nbackground:#eee;\nborder:solid 1px #ccc;\ncolor:#736451;\n}\n\n.tabUnselected:hover {\nborder:1px solid #ccc;\ntext-decoration:none;\n}\n\n.tagClear {\nclear:none;\n}\n\n.tagging .button,.tagged .button {\ncolor:#ccc;\n}\n\n.tagging .button:hover,.tagged .button:hover,.tagging .button:active,.tagged .button:active {\nbackground:transparent;\nborder:none;\ncolor:#333;\ntext-decoration:underline;\n}\n\n.tagging .listTitle,.tagged .listTitle {\ncolor:#bbb;\n}\n\n.tagging,.tagged {\nbackground-color:#F7F7F7;\nborder:1px solid #eee;\n}\n\n.tiddler {\npadding-bottom:10px;\npadding-left:0;\nwidth:100%;\n}\n\n.title {\nborder-bottom:1px solid #000;\ncolor:#101070;\nmargin:10px 0 0;\ntext-shadow: #6374AB 2px 2px 2px;\n}\n\n.toolbar {\nfont-size:85%;\ntext-shadow: #6374AB 2px 2px 2px;\n}\n\n.toolbar .button:hover,.toolbar .highlight,.toolbar .marked,.toolbar a.button:active,.selected .toolbar a:hover {\nbackground:transparent;\nborder:1px solid #fff;\ncolor:#333;\n}\n\n.viewer {\ncolor:#555;\n}\n\n.viewer .button,.editorFooter .button {\nborder:1px solid #CA0000;\ncolor:#555;\n}\n\n.viewer .button:active,.viewer .highlight,.editorFooter .button:active,.editorFooter .highlight {\nbackground:#736451;\nborder-color:#736451;\ncolor:#fff;\n}\n\n.viewer .button:hover,.editorFooter .button:hover {\nbackground:#CA0000;\nborder-color:#CA0000;\ncolor:#fff;\n}\n\n.viewer blockquote {\nborder-left:5px solid #CA0000;\n}\n\n.viewer code {\nbackground:#f5f5f5;\ncolor:#111;\n}\n\n.viewer hr {\nborder-top:dashed 1px #555;\n}\n\n.viewer pre {\nbackground:#f5f5f5;\nborder:1px solid #ccc;\n}\n\n.viewer table,.viewer td {\nborder:1px solid #CA0000;\n}\n\n.viewer th,thead td {\nbackground:#CA0000;\nborder:1px solid #CA0000;\ncolor:#fff;\n}\n\na:hover {\nbackground-color:#D0D0D0;\ncolor:#4B0082;\ntext-decoration:none;\n}\n\na:link {\ncolor:#191970;\noutline:none;\ntext-decoration:none;\n}\n\na:visited {\ncolor:#A52A2A;\noutline:none;\ntext-decoration:none;\n}\n\nbody {\ncolor:#555;\nfont-family:"Trebuchet MS", Arial, Verdana;\nfont-size:.90em;\nline-height:120%;\nmargin:0;\ntext-align:left;\n}\n\nform {\nmargin:auto;\nwidth:80%;\n}\n\nh1 {\nfont:bold 1.8em Arial, Sans-Serif;\nletter-spacing:-1px;\nmargin:0;\npadding:8px 0 4px;\n}\n\nh2 {\nfont:bold 1.6em Arial, Sans-Serif;\nletter-spacing:-1px;\n}\n\nh3 {\nmargin:0;\npadding:4px 0;\n}\n\nhr {\nbackground-color:silver;\nborder-style:none;\ncolor:#D0D0D0;\nheight:1px;\nmargin:10px 0;\n}\n\nimg {\nborder:0;\npadding: 0 1ex 1ex 0;\n}\n\nlegend {\ncolor:#771500;\nfont-size:120%;\nfont-weight:700;\nmargin:top: 5px;\n}\n\n/*p {\nmargin:5px 0;\n}\n*/\ntd.alpha {\ncolor:#771500;\nfont-size:120%;\nfont-weight:700;\nmargin:top: 5px;\nbackground-color: #336699;\n}\n\ntd.num {\ncolor:#330033;\nfont-size:110%;\nfont-weight:700;\n}\n\n\n\nul {\nlist-style:square;\nmargin:0;\npadding:0;\n}\n
<html>\n\n <p><img src="http://archives.library.wcsu.edu/eadProduction_files/hollingerBox.gif"/>This guide provides all the elements needed for creation of EAD-encoded finding aids for the collections of Western Connecticut State University. </p>\n<p>Up until October of 2009, production of our EAD relied on NoteTab as the XML editor and MS Excel for an encoding template, we have since moved to creating EAD with the <a href="http://www.archiviststoolkit.org">Archivists' Toolkit</a>.</p><p>Our existing EAD files were imported into the Archivists' Toolkit after some minor manipulation to dao tags. For larger collections we create EAD in using the <a href="#top">tools described below </a> and then import the EAD into the <i>Toolkit</i>.</p>\n\n<p>We created a new style sheet to deal with <i>Toolkit</i>-exported EAD and loosely based on a display structure <a href="http://www.archivists.org/conference/sanfrancisco2008/docs/session602-EvansM2.ppt">Max Evans</a> proposed at the 2008 SAA Conference in San Francisco. The style sheet uses a "call-template" approach and is called directly from the EAD xml. It uses a .css for most of the formatting and javascript for some toggling developed by Brian Kennison. It also links to the CAO (Connecticut Archives Online) data base from its controlaccess terms. The philosophy behind it is to drop patrons into the finding aid as close to the inventory as possible.</p><p>Documents used in our EAD presentation are linked to in the list directly below:</p><ul>\n<li><a href="http://archives.library.wcsu.edu/findingaids/wcsu.xsl">stylesheet</a></li>\n<li><a href="http://archives.library.wcsu.edu/findingaids/eadNew.css">css 1</a></li>\n<li><a href="http://archives.library.wcsu.edu/findingaids/findingaids.css">css 2</a></li>\n<li><a href="http://archives.library.wcsu.edu/findingaids/findingaids.js">javascript</a></li>\n</ul>\n\n<hr/>\n<h2>Non-Toolkit EAD Creation Tools</h2>\n <p>Finding aids created from these templates are designed to conform to local content standards based on those of delineated by RLG. We are in the process of migrating our templates to OpenOffice documents from Microsoft documents. Please check back for updates.</p><p><i>Brian Stevens, Archivist and Special Collections Librarian</i>\n </p>\n\n <hr />\n <h2><a name="gettingStarted">1. Getting Started</a></h2>\n<a name="gettingStarted"> </a><p><a name="gettingStarted">The links below are files that are needed to configure NoteTab for EAD \n production. These may be downloaded. To download the file, right-click \n on the link, select "Save" and place in the folder specified \n with the link. Install all these elements before moving to the directions.</a></p>\n\n<a name="gettingStarted"> </a>\n<table><tr> \n <td colspan="3"> <h3><font color="#663333" face="Arial, Helvetica, sans-serif">NoteTab \n Resources</font></h3></td>\n </tr>\n <!-- spacer -->\n <tr> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>EADCookbookforNoteTab.exe</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="EadCookbookforNoteTab.exe">EadCookbookforNoteTab.exe</a></font></td>\n\n </tr>\n <tr> \n <td colspan="3"><p><font face="Arial, Helvetica, sans-serif"><i>This \n is a self-extracting exe that will create a directory called eadcb \n under C:. You will need to replace some of the default library files. For more information \n on this tool, see <a href="http://web.library.uiuc.edu/ahx/ead/tech/default.asp">Chris \n Prom's site</a></i></font></p></td>\n </tr>\n <tr> \n <td colspan="3"><font face="Arial, Helvetica, sans-serif"><br/>\n </font></td>\n </tr>\n <!-- spacer -->\n\n <tr valign="top"> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>EAD Cookbook \n for New.clb</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="EAD%20Cookbook%20for%20New.clb">EAD Cookbook for New.clb</a></font></td>\n </tr>\n <tr valign="top"> \n <td colspan="3"><font face="Arial, Helvetica, sans-serif"><i> \n <p>This WCSU version of the clb file configures NoteTab to work with \n EAD XML files. It should be placed in the NoteTab libraries directory \n under Program Files (for example: C:\sProgram Files\sNoteTab Pro\sLibraries). \n It includes a NoteTab clip called "big conversion" which \n takes the product of the Excel template and strips out formatting. It also includes "EAD Schema Validation" - a clip that does just that in concert with xmlStarlet</p>\n </i></font></td>\n </tr>\n\n <tr> \n <td colspan="3"><font face="Arial, Helvetica, sans-serif"><br/>\n </font></td>\n </tr>\n <!-- spacer -->\n <tr valign="top"> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>xmlStarlet (for Windows)</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="xmlstarlet-1.0.1-win32.zip">xmlStarlet</a></font></td>\n </tr>\n\n <tr valign="top"> \n <td colspan="3"><p><font face="Arial, Helvetica, sans-serif"><i>A Java application for validating an EAD document against the new EAD schema (ead.xsd). This should be installed in C:\sProgram Files. If not you will need to edit the "EAD Schema Validation" clip accordingly.</i></font></p></td>\n </tr>\n <tr> \n <td colspan="3"><font face="Arial, Helvetica, sans-serif"><br/>\n </font></td>\n </tr>\n <!-- spacer -->\n \n <tr> \n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><b>Clip \n for removing Excel formatting</b></font></td>\n\n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><a href="bigConversionClip.txt">Big conversion clip</a></font></td>\n </tr>\n <tr> \n <td colspan="2" valign="top"><font face="Arial, Helvetica, sans-serif"><i>This \n is the clip that is used in concert with the Excel EAD template and \n will save a file in eadcb/EADfiles/ with the file name of the eadid \n value.</i></font></td>\n </tr>\n <tr> \n <td colspan="2" valign="top"> </td>\n </tr>\n\n <tr> \n <td colspan="2" valign="top"><font face="Arial, Helvetica, sans-serif"><i>You may download this zip file and replace \n the c:/Program Files/NoteTab Pro/Libraries with this Libraries folder \n which contains both the above clips and the EAD Cookbook Tab. <a href="Libraries.zip">Libraries.zip</a></i></font></td>\n </tr>\n <tr> \n <td colspan="2" valign="top"> </td>\n </tr>\n <tr> \n <td colspan="2" valign="top"><h3><font color="#663333" face="Arial, Helvetica, sans-serif">Excel \n Templates and macro code</font></h3></td>\n\n </tr>\n <tr> \n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><b>MS \n Excel EAD template for schema users</b></font></td>\n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><a href="eadTemplateSchema.xls">eadTemplateSchema.xls</a></font></td>\n </tr>\n <tr> \n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><b>MS \n Excel EAD template for DTD users</b></font></td>\n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><a href="eadTemplateDtd.xls">eadTemplateDtd.xls</a></font></td>\n\n </tr>\n <tr> \n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><strong>VB \n code for Excel macro</strong></font></td>\n <td valign="top"><font face="Arial, Helvetica, sans-serif" size="-1"><a href="macro.txt">macro.txt</a></font></td>\n </tr>\n <tr> \n <td colspan="3"> <p><font face="Arial, Helvetica, sans-serif"><em>Directions \n on use of this template is included in the file. The file is set \n as "read only." You don't need the macro to use the template \n but it's an easy way to retrieve everything you need from the template. \n To set-up the macro: </em></font></p>\n <p> \n </p><ul>\n\n <li><font face="Arial, Helvetica, sans-serif"><em>open macro.txt \n and copy all the contents onto your clipboard</em></font></li>\n <li><font face="Arial, Helvetica, sans-serif"><em>open eadTemplate.xls \n in Excel, and click Tools/Macro/Record New Macro.</em></font></li>\n <li><font face="Arial, Helvetica, sans-serif"><em>create a macro \n called "bigConversion"</em></font></li>\n <li><font face="Arial, Helvetica, sans-serif"><em>in the "store \n in" box, select "personal macro workbook</em></font></li>\n <li><font face="Arial, Helvetica, sans-serif"><em>you will see a \n tiny prompt like the one below, click the square stop button.</em></font></li>\n </ul>\n\n <p></p>\n <p align="center"><font face="Arial, Helvetica, sans-serif"><img src="eadProduction_files/record.jpg" height="165" width="192"/></font></p>\n <p> \n </p><ul>\n <li><font face="Arial, Helvetica, sans-serif"><em>click Tools/Macro/Macros \n and you will see a prompt like the one below</em></font></li>\n </ul>\n <p></p>\n <p><font face="Arial, Helvetica, sans-serif"><img src="eadProduction_files/macro.jpg" height="307" width="385"/></font></p>\n <p> \n </p><ul>\n\n <li><font face="Arial, Helvetica, sans-serif"><em>click "Step \n Into." This will open VB editor. Delete all the content of \n that macro in the Module1 (Code) and paste in what you copied \n onto your clipboard from macro.txt</em></font></li>\n </ul>\n <p></p>\n <p><font face="Arial, Helvetica, sans-serif"><strong><img src="eadProduction_files/vb.jpg" height="362" width="452"/></strong></font></p>\n <ul>\n <li><font face="Arial, Helvetica, sans-serif"><em>click the save \n icon and close the VB editor.</em></font></li>\n </ul></td>\n </tr>\n\n <tr valign="top"> \n <td colspan="3"><font face="Arial, Helvetica, sans-serif"> </font></td>\n </tr>\n \n <tr> \n <td colspan="3"><font face="Arial, Helvetica, sans-serif"><br/>\n </font></td>\n </tr>\n <tr> \n <td colspan="3"> <h3><font color="#663333" face="Arial, Helvetica, sans-serif">XSD, Character Entity Reference Files, and style sheet </font></h3></td>\n\n <!-- spacer -->\n <!-- spacer -->\n </tr><tr valign="top"> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>EAD Schema \n file</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="ead.xsd">ead.xsd</a></font></td>\n </tr>\n<tr valign="top"> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>XLINK Schema \n file</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="xlink.xsd">xlink.xsd</a></font></td>\n\n </tr>\n <tr valign="top"> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>Entity Files</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="ent.zip">Zipped entity files</a></font></td>\n </tr> \n <tr valign="top"> \n <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>Generic \n xslt style sheet</b></font></td>\n <td><font face="Arial, Helvetica, sans-serif" size="-1"><a href="yOURsTYLEsHEEThERE.xsl">yOURsTYLEsHEEThERE.xsl</a></font></td>\n\n </tr>\n <tr valign="top"> \n <td colspan="3"><p><font face="Arial, Helvetica, sans-serif"><strong>These files should all go into the EADFiles folder in which you will be creating your finding aids.</strong><i>The WCSU Archives stylesheet \n based on one of James Ford Bell's style sheet and was embellished with code written by Leslie Myrick and Brian Stevens. This file should be placed in c:/eadcb/EADFiles.</i></font></p>\n </td>\n</tr> \n <tr> \n <td colspan="3"><hr/>\n <font face="Arial, Helvetica, sans-serif" size="-2"><a href="#top">back \n to top</a></font></td>\n </tr>\n\n <tr> \n <td colspan="3"><a name="directions"> \n </a><h2><a name="directions">2. Directions</a></h2>\n </td>\n </tr>\n <tr> \n <td colspan="3" height="81"><p> \n </p><ul>\n <li><font face="Arial, Helvetica, sans-serif">Fill out the Excel \n EAD template carefully using established best practices for content*</font></li>\n <li><font face="Arial, Helvetica, sans-serif">Paste into a blank \n NoteTab document (make sure that you have the EAD Cookbook For \n New clip book open in NoteTab (clip books are represented by tabs \n at the bottom of the page)</font></li>\n\n <li><font face="Arial, Helvetica, sans-serif">Double click the bigConversion \n clip</font></li>\n <li><font face="Arial, Helvetica, sans-serif">Validate the EAD</font></li>\n\n <li><font face="Arial, Helvetica, sans-serif">Make sure you have a stylesheet with same name you assigned in the Excel template. By default the name of the stylesheet is yOURsTYLEsHEEThERE.xsl which is a generic style sheet provided here to download.</font></li> \n <li><font face="Arial, Helvetica, sans-serif">View the xml document in your \n browser</font></li>\n \n </ul>\n <p><font face="Arial, Helvetica, sans-serif">* For content help see: \n </font></p>\n\n <ul>\n <li><font face="Arial, Helvetica, sans-serif"><a href="http://www.rlg.org/en/page.php?Page_ID=450">EAD \n Best Practice Guidelines</a></font></li>\n <li><font face="Arial, Helvetica, sans-serif"><a href="dateGuide.doc">Date guidelines</a> </font></li>\n <li><font face="Arial, Helvetica, sans-serif">DA:CS</font></li>\n <li><font face="Arial, Helvetica, sans-serif"><a href="http://www.loc.gov/ead/tglib/">EAD \n Tag Library</a> </font></li>\n </ul>\n\n <p> </p></td>\n </tr>\n <tr> \n <td colspan="3"><hr/> <a href="#top"><font size="-2">back \n to top</font></a><br/>\n </td>\n </tr>\n <tr> \n <td colspan="3"><h2><a name="examples">3. Examples</a></h2>\n\n<font face="Arial, Helvetica, sans-serif"><a name="examples"> </a></font></td>\n </tr>\n <tr> \n <td colspan="3" height="81"><ul>\n <li><font face="Arial, Helvetica, sans-serif"><a href="filled.xls">Excel \n template entirely filled out</a>.</font></li>\n <li><font face="Arial, Helvetica, sans-serif"><a href="paste.txt">Contents \n of Excel template pasted into NoteTab before the "bigConversion"</a></font></li>\n <li><font face="Arial, Helvetica, sans-serif"><a href="http://archives.library.wcsu.edu/findingaids/studentNewspapers.xml">A \n finished finding aid encoded using the template</a></font></li>\n\n \n </ul>\n </td>\n </tr>\n <tr> \n <td colspan="3"><hr/><a href="#top"><font size="-2">back \n to top</font></a>\n </td>\n </tr>\n </table>\n</html>
/***\n|Name|DcTableOfContentsPlugin|\n|Author|[[Doug Compton|http://www.zagware.com/tw/plugins.html#DcTableOfContentsPlugin]]|\n|Contributors|[[Lewcid|http://lewcid.org]], [[FND|http://devpad.tiddlyspot.com]], [[ELS|http://www.tiddlytools.com]]|\n|Source|[[FND's DevPad|http://devpad.tiddlyspot.com#DcTableOfContentsPlugin]]|\n|Version|0.4.1|\n|~CoreVersion|2.2|\n<<showtoc>>\n!Description\nThis macro will insert a table of contents reflecting the headings that are used in a tiddler and will be automatically updated when you make changes. Each item in the table of contents can be clicked on to jump to that heading. It can be used either inside of select tiddlers or inside a system wide template.\n\nA parameter can be used to show the table of contents of a seperate tiddler, &lt;<showtoc tiddlerTitle>&gt;\n\nIt will also place a link beside each header which will jump the screen to the top of the current tiddler. This will only be displayed if the current tiddler is using the &lt;<showtoc>&gt; macro.\n\nThe appearance of the table of contents and the link to jump to the top can be modified using CSS. An example of this is given below.\n\n!Usage\n!!Only in select tiddlers\nThe table of contents above is an example of how to use this macro in a tiddler. Just insert &lt;<showtoc>&gt; in a tiddler on a line by itself.\n\nIt can also display the table of contents of another tiddler by using the macro with a parameter, &lt;<showtoc tiddlerTitle>&gt;\n!!On every tiddler\nIt can also be used in a template to have it show on every tiddler. An example ViewTemplate is shown below.\n\n//{{{\n<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'>Created <span macro='view created date DD-MM-YY'></span>, updated <span macro='view modified date DD-MM-YY'></span></div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class="toc" macro='showtoc'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n//}}}\n\n!Examples\nIf you had a tiddler with the following headings:\n{{{\n!Heading1a\n!!Heading2a\n!!Heading2b\n!!!Heading3\n!Heading1b\n}}}\nthis table of contents would be automatically generated:\n* Heading1a\n** Heading2a\n** Heading2b\n*** Heading3\n* Heading1b\n!Changing how it looks\nTo modifiy the appearance, you can use CSS similiar to the below.\n//{{{\n.dcTOC ul {\n color: red;\n list-style-type: lower-roman;\n}\n.dcTOC a {\n color: green;\n border: none;\n}\n\n.dcTOC a:hover {\n background: white;\n border: solid 1px;\n}\n.dcTOCTop {\n font-size: 2em;\n color: green;\n}\n//}}}\n\n!Revision History\n!!v0.1.0 (2006-04-07)\n* initial release\n!!v0.2.0 (2006-04-10)\n* added the [top] link on headings to jump to the top of the current tiddler\n* appearance can now be customized using CSS\n* all event handlers now return false\n!!v0.3.0 (2006-04-12)\n* added the ability to show the table of contents of a seperate tiddler\n* fixed an error when a heading had a ~WikiLink in it\n!!v0.3.5 (2007-10-16)\n* updated formatter object for compatibility with TiddlyWiki v2.2 (by Lewcid)\n!!v0.4.0 (2007-11-14)\n* added toggle button for collapsing/expanding table of contents element\n* refactored documentation\n!To Do\n* code sanitizing/rewrite\n* documentation refactoring\n* use shadow tiddler for styles\n!Code\n***/\n//{{{\n\nversion.extensions.DcTableOfContentsPlugin= {\n major: 0, minor: 4, revision: 0,\n type: "macro",\n source: "http://devpad.tiddlyspot.com#DcTableOfContentsPlugin"\n};\n\n// Replace heading formatter with our own\nfor (var n=0; n<config.formatters.length; n++) {\n var format = config.formatters[n];\n if (format.name == 'heading') {\n format.handler = function(w) {\n // following two lines is the default handler\n var e = createTiddlyElement(w.output, "h" + w.matchLength);\n w.subWikifyTerm(e, this.termRegExp); //updated for TW 2.2+\n\n // Only show [top] if current tiddler is using showtoc\n if (w.tiddler && w.tiddler.isTOCInTiddler == 1) {\n // Create a container for the default CSS values\n var c = createTiddlyElement(e, "div");\n c.setAttribute("style", "font-size: 0.5em; color: blue;");\n // Create the link to jump to the top\n createTiddlyButton(c, " [top]", "Go to top of tiddler", window.scrollToTop, "dcTOCTop", null, null);\n }\n }\n break;\n }\n}\n\nconfig.macros.showtoc = {\n handler: function(place, macroName, params, wikifier, paramString, tiddler) {\n var text = "";\n var title = "";\n var myTiddler = null;\n\n // Did they pass in a tiddler?\n if (params.length) {\n title = params[0];\n myTiddler = store.getTiddler(title);\n } else {\n myTiddler = tiddler;\n }\n\n if (myTiddler == null) {\n wikify("ERROR: Could not find " + title, place);\n return;\n }\n\n var lines = myTiddler .text.split("\sn");\n myTiddler.isTOCInTiddler = 1;\n\n // Create a parent container so the TOC can be customized using CSS\n var r = createTiddlyElement(place, "div", null, "dcTOC");\n // create toggle button\n createTiddlyButton(r, "toggle", "show/collapse table of contents",\n function() { config.macros.showtoc.toggleElement(this.nextSibling); },\n "toggleButton")\n // Create a container so the TOC can be customized using CSS\n var c = createTiddlyElement(r, "div");\n\n if (lines != null) {\n for (var x=0; x<lines.length; x++) {\n var line = lines[x];\n if (line.substr(0,1) == "!") {\n // Find first non ! char\n for (var i=0; i<line.length; i++) {\n if (line.substr(i, 1) != "!") {\n break;\n }\n }\n var desc = line.substring(i);\n // Remove WikiLinks\n desc = desc.replace(/\s[\s[/g, "");\n desc = desc.replace(/\s]\s]/g, "");\n\n text += line.substr(0, i).replace(/[!]/g, '*');\n text += '<html><a href="javascript:;" onClick="window.scrollToHeading(\s'' + title + '\s', \s'' + desc+ '\s', event)">' + desc+ '</a></html>\sn';\n }\n }\n }\n wikify(text, c);\n }\n}\n\nconfig.macros.showtoc.toggleElement = function(e) {\n if(e) {\n if(e.style.display != "none") {\n e.style.display = "none";\n } else {\n e.style.display = "";\n }\n }\n};\n\nwindow.scrollToTop = function(evt) {\n if (! evt)\n var evt = window.event;\n\n var target = resolveTarget(evt);\n var tiddler = story.findContainingTiddler(target);\n\n if (! tiddler)\n return false;\n\n window.scrollTo(0, ensureVisible(tiddler));\n\n return false;\n};\n\nwindow.scrollToHeading = function(title, anchorName, evt) {\n var tiddler = null;\n\n if (! evt)\n var evt = window.event;\n\n if (title) {\n story.displayTiddler(store.getTiddler(title), title, null, false);\n tiddler = document.getElementById(story.idPrefix + title);\n } else {\n var target = resolveTarget(evt);\n tiddler = story.findContainingTiddler(target);\n }\n\n if (tiddler == null)\n return false;\n \n var children1 = tiddler.getElementsByTagName("h1");\n var children2 = tiddler.getElementsByTagName("h2");\n var children3 = tiddler.getElementsByTagName("h3");\n var children4 = tiddler.getElementsByTagName("h4");\n var children5 = tiddler.getElementsByTagName("h5");\n\n var children = new Array();\n children = children.concat(children1, children2, children3, children4, children5);\n\n for (var i = 0; i < children.length; i++) {\n for (var j = 0; j < children[i].length; j++) {\n var heading = children[i][j].innerHTML;\n\n // Remove all HTML tags\n while (heading.indexOf("<") >= 0) {\n heading = heading.substring(0, heading.indexOf("<")) + heading.substring(heading.indexOf(">") + 1);\n }\n\n // Cut off the code added in showtoc for TOP\n heading = heading.substr(0, heading.length-6);\n\n if (heading == anchorName) {\n var y = findPosY(children[i][j]);\n window.scrollTo(0,y);\n return false;\n }\n }\n }\n return false\n};\n//}}}
// // Excludes any tiddlers from timeline that have been tagged with ''excludeTimeline''\n/*{{{*/\nconfig.macros.timeline.handler = function(place,macroName,params)\n{\n var field = params[0] ? params[0] : "modified";\n var tiddlers = store.reverseLookup("tags","excludeTimeline",false,field);\n var lastDay = "";\n var last = params[1] ? tiddlers.length-Math.min(tiddlers.length,parseInt(params[1])) : 0;\n for(var t=tiddlers.length-1; t>=last; t--)\n {\n var tiddler = tiddlers[t];\n var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);\n if(theDay != lastDay)\n {\n var theDateList = document.createElement("ul");\n place.appendChild(theDateList);\n createTiddlyElement(theDateList,"li",null,"listTitle",tiddler[field].formatString(this.dateFormat));\n lastDay = theDay;\n }\n var theDateListItem = createTiddlyElement(theDateList,"li",null,"listLink");\n theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));\n }\n}\n/*}}}*/\n
/***\n|Name|TiddlerPasswordPlugin|\n|Source|http://www.TiddlyTools.com/#TiddlerPasswordPlugin|\n|Version|1.1.0|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description||\n\nThis plugin blocks viewing of specific tiddler content by prompting for a NON-SECURE, UNENCRYPTED password before the tiddler is displayed. If the correct password is not entered, the tiddler is automatically closed. The process does not prevent tiddler content from being viewed directly from the TiddlyWiki source file's storeArea, nor does it encrypt the tiddler content in any way. Because it is relatively simple to bypass and/or disable the password prompting process, this macro should be thought of as a "latch" rather than a "lock" on a given tiddler.\n!!!!!Usage\n<<<\n{{{<<getTiddlerPassword>>}}} \n{{{<<getTiddlerPassword password>>}}}\n{{{<<getTiddlerPassword password "prompt message">>}}}\n{{{<<getTiddlerPassword - "prompt message">>}}}\n\nPlace the {{{<<getTiddlerPassword>>}}} macro at the beginning of your tiddler content. The macro prompts for a password until either A) the correct password is entered or B) the user presses the cancel button from the prompt box, in which case the tiddler is automatically closed so it cannot be viewed. If a valid password is input, it will be remembered only until the user closes the tiddler. Each time the tiddler is opened, the password must be re-entered.\n\nThe optional ''password'' parameter provides a "user-level" password for the tiddler in which the macro occurs. If no user password is provided, then only the admin-level password (see below) will be accepted. \n\nBy default, the prompt message reads: "Please enter a password to view '%0'" (where the %0 is automatically replaced by the name of the tiddler in which the macro occurs) To change this text, enter an additional macro parameter, following the user password.\n>Note: because the prompt text is likely to contain spaces, you should always enclose it in quotes (or use {{{[[...]]}}} if it contains quotes). In addition, to enter an alternative prompt without providing a user-level password, use "-" as a //placeholder// for the password parameter.\n\nNotes:\n* You can also set a hard-coded admin password (see below) to define a "universal passkey" that will grant access to all tiddlers protected by this script, regardless of the individual password used on each protected tiddler.\n* If you embed one or more password-protected tiddlers within another tiddler (by using the {{{<<tiddler TiddlerName>>}}} macro) the user will be prompted to provide the appropriate password for the EACH protected tiddler contained in the tiddler being rendered.\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''TiddlerPasswordPlugin'' (tagged with <<tag systemConfig>>)\n\n''As soon as you have installed this plugin, you should change the default admin password in [[TiddlerPasswordConfig]].'' Note: the configuration tiddler is password-protected to prevent the admin password from being viewed (and/or modified) unless the current password is provided. By default, the admin password is set to "admin".\n<<<\n!!!!!Revision History\n<<<\n''2007.02.22 [1.1.1]'' updated documentation for using custom prompt text\n''2007.01.01 [1.1.0]'' added optional param for using custom prompt text \n''2006.12.03 [1.0.1]'' handler() uses passed-in 'tiddler.title' (if any), so that title of included protected tiddlers can be correctly displayed (instead of showng title of containing tiddler)\n''2006.12.02 [1.0.0]'' initial release - converted from GetTiddlerPassword inline script\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.getTiddlerPassword= {major: 1, minor: 1, revision: 1, date: new Date(2007,2,22)};\n\nconfig.macros.getTiddlerPassword = {\n msg: "Please enter a password to view '%0'",\n defaultText: "enter password here",\n retryMsg: "'%0' is not the correct password for '%1'. Please try again:",\n cancelMsg: "Sorry, you cannot view '%0' without entering a valid password.",\n thanksMsg: "Thank you, your password has been accepted.",\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var here=story.findContainingTiddler(place); if (!here) return;\n var title=tiddler?tiddler.title:here.getAttribute("tiddler");\n var who=here.getAttribute("logID");\n var userPass=params[0]?params[0]:""; if (userPass=='-') userPass="";\n var msg=params[1]?params[1]:this.msg;\n if (who==userPass||who==this.adminPass) return; // already 'logged in'?\n var who=prompt(msg.format([title]),this.defaultText); // ask for ID\n while (who && who!=userPass && who!=this.adminPass) // not correct ID?\n who=prompt(this.retryMsg.format([who,title]),this.defaultText); // ask again\n if (who==userPass||who==this.adminPass) // correct ID? mark tiddler logged in...\n { here.setAttribute("logID",who); alert(this.thanksMsg); }\n else // incorrect ID (e.g., entry cancelled by user)...\n { story.closeTiddler(here.getAttribute("tiddler")); alert(this.cancelMsg.format([title])); }\n }\n}\n// default admin password (may be overridden in TiddlerPasswordConfig)\nif (config.macros.getTiddlerPassword.adminPass==undefined)\n config.macros.getTiddlerPassword.adminPass="admin";\n//}}}
!New Web site launched for A & SC!\n\nThis new Web site was launched using ZiddlyWiki.
/***\n|''Name:''|DataTiddlerPlugin|\n|''Version:''|1.0.6 (2006-08-26)|\n|''Source:''|http://tiddlywiki.abego-software.de/#DataTiddlerPlugin|\n|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|\n|''Licence:''|[[BSD open source license]]|\n|''TiddlyWiki:''|1.2.38+, 2.0|\n|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|\n!Description\nEnhance your tiddlers with structured data (such as strings, booleans, numbers, or even arrays and compound objects) that can be easily accessed and modified through named fields (in JavaScript code).\n\nSuch tiddler data can be used in various applications. E.g. you may create tables that collect data from various tiddlers. \n\n''//Example: "Table with all December Expenses"//''\n{{{\n<<forEachTiddler\n where\n 'tiddler.tags.contains("expense") && tiddler.data("month") == "Dec"'\n write\n '"|[["+tiddler.title+"]]|"+tiddler.data("descr")+"| "+tiddler.data("amount")+"|\sn"'\n>>\n}}}\n//(This assumes that expenses are stored in tiddlers tagged with "expense".)//\n<<forEachTiddler\n where\n 'tiddler.tags.contains("expense") && tiddler.data("month") == "Dec"'\n write\n '"|[["+tiddler.title+"]]|"+tiddler.data("descr")+"| "+tiddler.data("amount")+"|\sn"'\n>>\nFor other examples see DataTiddlerExamples.\n\n\n\n\n''Access and Modify Tiddler Data''\n\nYou can "attach" data to every tiddler by assigning a JavaScript value (such as a string, boolean, number, or even arrays and compound objects) to named fields. \n\nThese values can be accessed and modified through the following Tiddler methods:\n|!Method|!Example|!Description|\n|{{{data(field)}}}|{{{t.data("age")}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined {{{undefined}}} is returned.|\n|{{{data(field,defaultValue)}}}|{{{t.data("isVIP",false)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined the defaultValue is returned.|\n|{{{data()}}}|{{{t.data()}}}|Returns the data object of the tiddler, with a property for every field. The properties of the returned data object may only be read and not be modified. To modify the data use DataTiddler.setData(...) or the corresponding Tiddler method.|\n|{{{setData(field,value)}}}|{{{t.setData("age",42)}}}|Sets the value of the given data field of the tiddler to the value. When the value is {{{undefined}}} the field is removed.|\n|{{{setData(field,value,defaultValue)}}}|{{{t.setData("isVIP",flag,false)}}}|Sets the value of the given data field of the tiddler to the value. When the value is equal to the defaultValue no value is set (and the field is removed).|\n\nAlternatively you may use the following functions to access and modify the data. In this case the tiddler argument is either a tiddler or the name of a tiddler.\n|!Method|!Description|\n|{{{DataTiddler.getData(tiddler,field)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined {{{undefined}}} is returned.|\n|{{{DataTiddler.getData(tiddler,field,defaultValue)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined the defaultValue is returned.|\n|{{{DataTiddler.getDataObject(tiddler)}}}|Returns the data object of the tiddler, with a property for every field. The properties of the returned data object may only be read and not be modified. To modify the data use DataTiddler.setData(...) or the corresponding Tiddler method.|\n|{{{DataTiddler.setData(tiddler,field,value)}}}|Sets the value of the given data field of the tiddler to the value. When the value is {{{undefined}}} the field is removed.|\n|{{{DataTiddler.setData(tiddler,field,value,defaultValue)}}}|Sets the value of the given data field of the tiddler to the value. When the value is equal to the defaultValue no value is set (and the field is removed).|\n//(For details on the various functions see the detailed comments in the source code.)//\n\n\n''Data Representation in a Tiddler''\n\nThe data of a tiddler is stored as plain text in the tiddler's content/text, inside a "data" section that is framed by a {{{<data>...</data>}}} block. Inside the data section the information is stored in the [[JSON format|http://www.crockford.com/JSON/index.html]]. \n\n//''Data Section Example:''//\n{{{\n<data>{"isVIP":true,"user":"John Brown","age":34}</data>\n}}}\n\nThe data section is not displayed when viewing the tiddler (see also "The showData Macro").\n\nBeside the data section a tiddler may have all kind of other content.\n\nTypically you will not access the data section text directly but use the methods given above. Nevertheless you may retrieve the text of the data section's content through the {{{DataTiddler.getDataText(tiddler)}}} function.\n\n\n''Saving Changes''\n\nThe "setData" methods respect the "ForceMinorUpdate" and "AutoSave" configuration values. I.e. when "ForceMinorUpdate" is true changing a value using setData will not affect the "modifier" and "modified" attributes. With "AutoSave" set to true every setData will directly save the changes after a setData.\n\n\n''Notifications''\n\nNo notifications are sent when a tiddler's data value is changed through the "setData" methods. \n\n''Escape Data Section''\nIn case that you want to use the text {{{<data>}}} or {{{</data>}}} in a tiddler text you must prefix the text with a tilde ('~'). Otherwise it may be wrongly considered as the data section. The tiddler text {{{~<data>}}} is displayed as {{{<data>}}}.\n\n\n''The showData Macro''\n\nBy default the data of a tiddler (that is stored in the {{{<data>...</data>}}} section of the tiddler) is not displayed. If you want to display this data you may used the {{{<<showData ...>>}}} macro:\n\n''Syntax:'' \n|>|{{{<<}}}''showData '' [''JSON''] [//tiddlerName//] {{{>>}}}|\n|''JSON''|By default the data is rendered as a table with a "Name" and "Value" column. When defining ''JSON'' the data is rendered in JSON format|\n|//tiddlerName//|Defines the tiddler holding the data to be displayed. When no tiddler is given the tiddler containing the showData macro is used. When the tiddler name contains spaces you must quote the name (or use the {{{[[...]]}}} syntax.)|\n|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|\n\n\n!Revision history\n* v1.0.6 (2006-08-26) \n** Removed misleading comment\n* v1.0.5 (2006-02-27) (Internal Release Only)\n** Internal\n*** Make "JSLint" conform\n* v1.0.4 (2006-02-05)\n** Bugfix: showData fails in TiddlyWiki 2.0\n* v1.0.3 (2006-01-06)\n** Support TiddlyWiki 2.0\n* v1.0.2 (2005-12-22)\n** Enhancements:\n*** Handle texts "<data>" or "</data>" more robust when used in a tiddler text or as a field value.\n*** Improved (JSON) error messages.\n** Bugs fixed: \n*** References are not updated when using the DataTiddler.\n*** Changes to compound objects are not always saved.\n*** "~</data>" is not rendered correctly (expected "</data>")\n* v1.0.1 (2005-12-13)\n** Features: \n*** The showData macro supports an optional "tiddlername" argument to specify the tiddler containing the data to be displayed\n** Bugs fixed: \n*** A script immediately following a data section is deleted when the data is changed. (Thanks to GeoffS for reporting.)\n* v1.0.0 (2005-12-12)\n** initial version\n\n!Code\n***/\n//{{{\n//============================================================================\n//============================================================================\n// DataTiddlerPlugin\n//============================================================================\n//============================================================================\n\n// Ensure that the DataTiddler Plugin is only installed once.\n//\nif (!version.extensions.DataTiddlerPlugin) {\n\n\n\nversion.extensions.DataTiddlerPlugin = {\n major: 1, minor: 0, revision: 6,\n date: new Date(2006, 7, 26), \n type: 'plugin',\n source: "http://tiddlywiki.abego-software.de/#DataTiddlerPlugin"\n};\n\n// For backward compatibility with v1.2.x\n//\nif (!window.story) window.story=window; \nif (!TiddlyWiki.prototype.getTiddler) {\n TiddlyWiki.prototype.getTiddler = function(title) { \n var t = this.tiddlers[title]; \n return (t !== undefined && t instanceof Tiddler) ? t : null; \n };\n}\n\n//============================================================================\n// DataTiddler Class\n//============================================================================\n\n// ---------------------------------------------------------------------------\n// Configurations and constants \n// ---------------------------------------------------------------------------\n\nfunction DataTiddler() {\n}\n\nDataTiddler = {\n // Function to stringify a JavaScript value, producing the text for the data section content.\n // (Must match the implementation of DataTiddler.parse.)\n //\n stringify : null,\n \n\n // Function to parse the text for the data section content, producing a JavaScript value.\n // (Must match the implementation of DataTiddler.stringify.)\n //\n parse : null\n};\n\n// Ensure access for IE\nwindow.DataTiddler = DataTiddler;\n\n// ---------------------------------------------------------------------------\n// Data Accessor and Mutator\n// ---------------------------------------------------------------------------\n\n\n// Returns the value of the given data field of the tiddler.\n// When no such field is defined or its value is undefined\n// the defaultValue is returned.\n// \n// @param tiddler either a tiddler name or a tiddler\n//\nDataTiddler.getData = function(tiddler, field, defaultValue) {\n var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;\n if (!(t instanceof Tiddler)) {\n throw "Tiddler expected. Got "+tiddler;\n }\n\n return DataTiddler.getTiddlerDataValue(t, field, defaultValue);\n};\n\n\n// Sets the value of the given data field of the tiddler to\n// the value. When the value is equal to the defaultValue\n// no value is set (and the field is removed)\n//\n// Changing data of a tiddler will not trigger notifications.\n// \n// @param tiddler either a tiddler name or a tiddler\n//\nDataTiddler.setData = function(tiddler, field, value, defaultValue) {\n var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;\n if (!(t instanceof Tiddler)) {\n throw "Tiddler expected. Got "+tiddler+ "("+t+")";\n }\n\n DataTiddler.setTiddlerDataValue(t, field, value, defaultValue);\n};\n\n\n// Returns the data object of the tiddler, with a property for every field.\n//\n// The properties of the returned data object may only be read and\n// not be modified. To modify the data use DataTiddler.setData(...) \n// or the corresponding Tiddler method.\n//\n// If no data section is defined a new (empty) object is returned.\n//\n// @param tiddler either a tiddler name or a Tiddler\n//\nDataTiddler.getDataObject = function(tiddler) {\n var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;\n if (!(t instanceof Tiddler)) {\n throw "Tiddler expected. Got "+tiddler;\n }\n\n return DataTiddler.getTiddlerDataObject(t);\n};\n\n// Returns the text of the content of the data section of the tiddler.\n//\n// When no data section is defined for the tiddler null is returned \n//\n// @param tiddler either a tiddler name or a Tiddler\n// @return [may be null]\n//\nDataTiddler.getDataText = function(tiddler) {\n var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;\n if (!(t instanceof Tiddler)) {\n throw "Tiddler expected. Got "+tiddler;\n }\n\n return DataTiddler.readDataSectionText(t);\n};\n\n\n// ---------------------------------------------------------------------------\n// Internal helper methods (must not be used by code from outside this plugin)\n// ---------------------------------------------------------------------------\n\n// Internal.\n//\n// The original JSONError is not very user friendly, \n// especially it does not define a toString() method\n// Therefore we extend it here.\n//\nDataTiddler.extendJSONError = function(ex) {\n if (ex.name == 'JSONError') {\n ex.toString = function() {\n return ex.name + ": "+ex.message+" ("+ex.text+")";\n };\n }\n return ex;\n};\n\n// Internal.\n//\n// @param t a Tiddler\n//\nDataTiddler.getTiddlerDataObject = function(t) {\n if (t.dataObject === undefined) {\n var data = DataTiddler.readData(t);\n t.dataObject = (data) ? data : {};\n }\n \n return t.dataObject;\n};\n\n\n// Internal.\n//\n// @param tiddler a Tiddler\n//\nDataTiddler.getTiddlerDataValue = function(tiddler, field, defaultValue) {\n var value = DataTiddler.getTiddlerDataObject(tiddler)[field];\n return (value === undefined) ? defaultValue : value;\n};\n\n\n// Internal.\n//\n// @param tiddler a Tiddler\n//\nDataTiddler.setTiddlerDataValue = function(tiddler, field, value, defaultValue) {\n var data = DataTiddler.getTiddlerDataObject(tiddler);\n var oldValue = data[field];\n \n if (value == defaultValue) {\n if (oldValue !== undefined) {\n delete data[field];\n DataTiddler.save(tiddler);\n }\n return;\n }\n data[field] = value;\n DataTiddler.save(tiddler);\n};\n\n// Internal.\n//\n// Reads the data section from the tiddler's content and returns its text\n// (as a String).\n//\n// Returns null when no data is defined.\n//\n// @param tiddler a Tiddler\n// @return [may be null]\n//\nDataTiddler.readDataSectionText = function(tiddler) {\n var matches = DataTiddler.getDataTiddlerMatches(tiddler);\n if (matches === null || !matches[2]) {\n return null;\n }\n return matches[2];\n};\n\n// Internal.\n//\n// Reads the data section from the tiddler's content and returns it\n// (as an internalized object).\n//\n// Returns null when no data is defined.\n//\n// @param tiddler a Tiddler\n// @return [may be null]\n//\nDataTiddler.readData = function(tiddler) {\n var text = DataTiddler.readDataSectionText(tiddler);\n try {\n return text ? DataTiddler.parse(text) : null;\n } catch(ex) {\n throw DataTiddler.extendJSONError(ex);\n }\n};\n\n// Internal.\n// \n// Returns the serialized text of the data of the given tiddler, as it\n// should be stored in the data section.\n//\n// @param tiddler a Tiddler\n//\nDataTiddler.getDataTextOfTiddler = function(tiddler) {\n var data = DataTiddler.getTiddlerDataObject(tiddler);\n return DataTiddler.stringify(data);\n};\n\n\n// Internal.\n// \nDataTiddler.indexOfNonEscapedText = function(s, subString, startIndex) {\n var index = s.indexOf(subString, startIndex);\n while ((index > 0) && (s[index-1] == '~')) { \n index = s.indexOf(subString, index+1);\n }\n return index;\n};\n\n// Internal.\n//\nDataTiddler.getDataSectionInfo = function(text) {\n // Special care must be taken to handle "<data>" and "</data>" texts inside\n // a data section. \n // Also take care not to use an escaped <data> (i.e. "~<data>") as the start \n // of a data section. (Same for </data>)\n\n // NOTE: we are explicitly searching for a data section that contains a JSON\n // string, i.e. framed with braces. This way we are little bit more robust in\n // case the tiddler contains unescaped texts "<data>" or "</data>". This must\n // be changed when using a different stringifier.\n\n var startTagText = "<data>{";\n var endTagText = "}</data>";\n\n var startPos = 0;\n\n // Find the first not escaped "<data>".\n var startDataTagIndex = DataTiddler.indexOfNonEscapedText(text, startTagText, 0);\n if (startDataTagIndex < 0) {\n return null;\n }\n\n // Find the *last* not escaped "</data>".\n var endDataTagIndex = text.indexOf(endTagText, startDataTagIndex);\n if (endDataTagIndex < 0) {\n return null;\n }\n var nextEndDataTagIndex;\n while ((nextEndDataTagIndex = text.indexOf(endTagText, endDataTagIndex+1)) >= 0) {\n endDataTagIndex = nextEndDataTagIndex;\n }\n\n return {\n prefixEnd: startDataTagIndex, \n dataStart: startDataTagIndex+(startTagText.length)-1, \n dataEnd: endDataTagIndex, \n suffixStart: endDataTagIndex+(endTagText.length)\n };\n};\n\n// Internal.\n// \n// Returns the "matches" of a content of a DataTiddler on the\n// "data" regular expression. Return null when no data is defined\n// in the tiddler content.\n//\n// Group 1: text before data section (prefix)\n// Group 2: content of data section\n// Group 3: text behind data section (suffix)\n//\n// @param tiddler a Tiddler\n// @return [may be null] null when the tiddler contains no data section, otherwise see above.\n//\nDataTiddler.getDataTiddlerMatches = function(tiddler) {\n var text = tiddler.text;\n var info = DataTiddler.getDataSectionInfo(text);\n if (!info) {\n return null;\n }\n\n var prefix = text.substr(0,info.prefixEnd);\n var data = text.substr(info.dataStart, info.dataEnd-info.dataStart+1);\n var suffix = text.substr(info.suffixStart);\n \n return [text, prefix, data, suffix];\n};\n\n\n// Internal.\n//\n// Saves the data in a <data> block of the given tiddler (as a minor change). \n//\n// The "chkAutoSave" and "chkForceMinorUpdate" options are respected. \n// I.e. the TiddlyWiki *file* is only saved when AutoSave is on.\n//\n// Notifications are not send. \n//\n// This method should only be called when the data really has changed. \n//\n// @param tiddler\n// the tiddler to be saved.\n//\nDataTiddler.save = function(tiddler) {\n\n var matches = DataTiddler.getDataTiddlerMatches(tiddler);\n\n var prefix;\n var suffix;\n if (matches === null) {\n prefix = tiddler.text;\n suffix = "";\n } else {\n prefix = matches[1];\n suffix = matches[3];\n }\n\n var dataText = DataTiddler.getDataTextOfTiddler(tiddler);\n var newText = \n (dataText !== null) \n ? prefix + "<data>" + dataText + "</data>" + suffix\n : prefix + suffix;\n if (newText != tiddler.text) {\n // make the change in the tiddlers text\n \n // ... see DataTiddler.MyTiddlerChangedFunction\n tiddler.isDataTiddlerChange = true;\n \n // ... do the action change\n tiddler.set(\n tiddler.title,\n newText,\n config.options.txtUserName, \n config.options.chkForceMinorUpdate? undefined : new Date(),\n tiddler.tags);\n\n // ... see DataTiddler.MyTiddlerChangedFunction\n delete tiddler.isDataTiddlerChange;\n\n // Mark the store as dirty.\n store.dirty = true;\n \n // AutoSave if option is selected\n if(config.options.chkAutoSave) {\n saveChanges();\n }\n }\n};\n\n// Internal.\n//\nDataTiddler.MyTiddlerChangedFunction = function() {\n // Remove the data object from the tiddler when the tiddler is changed\n // by code other than DataTiddler code. \n //\n // This is necessary since the data object is just a "cached version" \n // of the data defined in the data section of the tiddler and the \n // "external" change may have changed the content of the data section.\n // Thus we are not sure if the data object reflects the data section \n // contents. \n // \n // By deleting the data object we ensure that the data object is \n // reconstructed the next time it is needed, with the data defined by\n // the data section in the tiddler's text.\n \n // To indicate that a change is a "DataTiddler change" a temporary\n // property "isDataTiddlerChange" is added to the tiddler.\n if (this.dataObject && !this.isDataTiddlerChange) {\n delete this.dataObject;\n }\n \n // call the original code.\n DataTiddler.originalTiddlerChangedFunction.apply(this, arguments);\n};\n\n\n//============================================================================\n// Formatters\n//============================================================================\n\n// This formatter ensures that "~<data>" is rendered as "<data>". This is used to \n// escape the "<data>" of a data section, just in case someone really wants to use\n// "<data>" as a text in a tiddler and not start a data section.\n//\n// Same for </data>.\n//\nconfig.formatters.push( {\n name: "data-escape",\n match: "~<\s\s/?data>",\n\n handler: function(w) {\n w.outputText(w.output,w.matchStart + 1,w.nextMatch);\n }\n} );\n\n\n// This formatter ensures that <data>...</data> sections are not rendered.\n//\nconfig.formatters.push( {\n name: "data",\n match: "<data>",\n\n handler: function(w) {\n var info = DataTiddler.getDataSectionInfo(w.source);\n if (info && info.prefixEnd == w.matchStart) {\n w.nextMatch = info.suffixStart;\n } else {\n w.outputText(w.output,w.matchStart,w.nextMatch);\n }\n }\n} );\n\n\n//============================================================================\n// Tiddler Class Extension\n//============================================================================\n\n// "Hijack" the changed method ---------------------------------------------------\n\nDataTiddler.originalTiddlerChangedFunction = Tiddler.prototype.changed;\nTiddler.prototype.changed = DataTiddler.MyTiddlerChangedFunction;\n\n// Define accessor methods -------------------------------------------------------\n\n// Returns the value of the given data field of the tiddler. When no such field \n// is defined or its value is undefined the defaultValue is returned.\n//\n// When field is undefined (or null) the data object is returned. (See \n// DataTiddler.getDataObject.)\n//\n// @param field [may be null, undefined]\n// @param defaultValue [may be null, undefined]\n// @return [may be null, undefined]\n//\nTiddler.prototype.data = function(field, defaultValue) {\n return (field) \n ? DataTiddler.getTiddlerDataValue(this, field, defaultValue)\n : DataTiddler.getTiddlerDataObject(this);\n};\n\n// Sets the value of the given data field of the tiddler to the value. When the \n// value is equal to the defaultValue no value is set (and the field is removed).\n//\n// @param value [may be null, undefined]\n// @param defaultValue [may be null, undefined]\n//\nTiddler.prototype.setData = function(field, value, defaultValue) {\n DataTiddler.setTiddlerDataValue(this, field, value, defaultValue);\n};\n\n\n//============================================================================\n// showData Macro\n//============================================================================\n\nconfig.macros.showData = {\n // Standard Properties\n label: "showData",\n prompt: "Display the values stored in the data section of the tiddler"\n};\n\nconfig.macros.showData.handler = function(place,macroName,params) {\n // --- Parsing ------------------------------------------\n\n var i = 0; // index running over the params\n // Parse the optional "JSON"\n var showInJSONFormat = false;\n if ((i < params.length) && params[i] == "JSON") {\n i++;\n showInJSONFormat = true;\n }\n \n var tiddlerName = story.findContainingTiddler(place).id.substr(7);\n if (i < params.length) {\n tiddlerName = params[i];\n i++;\n }\n\n // --- Processing ------------------------------------------\n try {\n if (showInJSONFormat) {\n this.renderDataInJSONFormat(place, tiddlerName);\n } else {\n this.renderDataAsTable(place, tiddlerName);\n }\n } catch (e) {\n this.createErrorElement(place, e);\n }\n};\n\nconfig.macros.showData.renderDataInJSONFormat = function(place,tiddlerName) {\n var text = DataTiddler.getDataText(tiddlerName);\n if (text) {\n createTiddlyElement(place,"pre",null,null,text);\n }\n};\n\nconfig.macros.showData.renderDataAsTable = function(place,tiddlerName) {\n var text = "|!Name|!Value|\sn";\n var data = DataTiddler.getDataObject(tiddlerName);\n if (data) {\n for (var i in data) {\n var value = data[i];\n text += "|"+i+"|"+DataTiddler.stringify(value)+"|\sn";\n }\n }\n \n wikify(text, place);\n};\n\n\n// Internal.\n//\n// Creates an element that holds an error message\n// \nconfig.macros.showData.createErrorElement = function(place, exception) {\n var message = (exception.description) ? exception.description : exception.toString();\n return createTiddlyElement(place,"span",null,"showDataError","<<showData ...>>: "+message);\n};\n\n// ---------------------------------------------------------------------------\n// Stylesheet Extensions (may be overridden by local StyleSheet)\n// ---------------------------------------------------------------------------\n//\nsetStylesheet(\n ".showDataError{color: #ffffff;background-color: #880000;}",\n "showData");\n\n\n} // of "install only once"\n// Used Globals (for JSLint) ==============\n\n// ... TiddlyWiki Core\n/*global createTiddlyElement, saveChanges, store, story, wikify */\n// ... DataTiddler\n/*global DataTiddler */\n// ... JSON\n/*global JSON */\n \n\n/***\n!JSON Code, used to serialize the data\n***/\n/*\nCopyright (c) 2005 JSON.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe Software shall be used for Good, not Evil.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n/*\n The global object JSON contains two methods.\n\n JSON.stringify(value) takes a JavaScript value and produces a JSON text.\n The value must not be cyclical.\n\n JSON.parse(text) takes a JSON text and produces a JavaScript value. It will\n throw a 'JSONError' exception if there is an error.\n*/\nvar JSON = {\n copyright: '(c)2005 JSON.org',\n license: 'http://www.crockford.com/JSON/license.html',\n/*\n Stringify a JavaScript value, producing a JSON text.\n*/\n stringify: function (v) {\n var a = [];\n\n/*\n Emit a string.\n*/\n function e(s) {\n a[a.length] = s;\n }\n\n/*\n Convert a value.\n*/\n function g(x) {\n var c, i, l, v;\n\n switch (typeof x) {\n case 'object':\n if (x) {\n if (x instanceof Array) {\n e('[');\n l = a.length;\n for (i = 0; i < x.length; i += 1) {\n v = x[i];\n if (typeof v != 'undefined' &&\n typeof v != 'function') {\n if (l < a.length) {\n e(',');\n }\n g(v);\n }\n }\n e(']');\n return;\n } else if (typeof x.toString != 'undefined') {\n e('{');\n l = a.length;\n for (i in x) {\n v = x[i];\n if (x.hasOwnProperty(i) &&\n typeof v != 'undefined' &&\n typeof v != 'function') {\n if (l < a.length) {\n e(',');\n }\n g(i);\n e(':');\n g(v);\n }\n }\n return e('}');\n }\n }\n e('null');\n return;\n case 'number':\n e(isFinite(x) ? +x : 'null');\n return;\n case 'string':\n l = x.length;\n e('"');\n for (i = 0; i < l; i += 1) {\n c = x.charAt(i);\n if (c >= ' ') {\n if (c == '\s\s' || c == '"') {\n e('\s\s');\n }\n e(c);\n } else {\n switch (c) {\n case '\sb':\n e('\s\sb');\n break;\n case '\sf':\n e('\s\sf');\n break;\n case '\sn':\n e('\s\sn');\n break;\n case '\sr':\n e('\s\sr');\n break;\n case '\st':\n e('\s\st');\n break;\n default:\n c = c.charCodeAt();\n e('\s\su00' + Math.floor(c / 16).toString(16) +\n (c % 16).toString(16));\n }\n }\n }\n e('"');\n return;\n case 'boolean':\n e(String(x));\n return;\n default:\n e('null');\n return;\n }\n }\n g(v);\n return a.join('');\n },\n/*\n Parse a JSON text, producing a JavaScript value.\n*/\n parse: function (text) {\n var p = /^\ss*(([,:{}\s[\s]])|"(\s\s.|[^\sx00-\sx1f"\s\s])*"|-?\sd+(\s.\sd*)?([eE][+-]?\sd+)?|true|false|null)\ss*/,\n token,\n operator;\n\n function error(m, t) {\n throw {\n name: 'JSONError',\n message: m,\n text: t || operator || token\n };\n }\n\n function next(b) {\n if (b && b != operator) {\n error("Expected '" + b + "'");\n }\n if (text) {\n var t = p.exec(text);\n if (t) {\n if (t[2]) {\n token = null;\n operator = t[2];\n } else {\n operator = null;\n try {\n token = eval(t[1]);\n } catch (e) {\n error("Bad token", t[1]);\n }\n }\n text = text.substring(t[0].length);\n } else {\n error("Unrecognized token", text);\n }\n } else {\n token = operator = undefined;\n }\n }\n\n\n function val() {\n var k, o;\n switch (operator) {\n case '{':\n next('{');\n o = {};\n if (operator != '}') {\n for (;;) {\n if (operator || typeof token != 'string') {\n error("Missing key");\n }\n k = token;\n next();\n next(':');\n o[k] = val();\n if (operator != ',') {\n break;\n }\n next(',');\n }\n }\n next('}');\n return o;\n case '[':\n next('[');\n o = [];\n if (operator != ']') {\n for (;;) {\n o.push(val());\n if (operator != ',') {\n break;\n }\n next(',');\n }\n }\n next(']');\n return o;\n default:\n if (operator !== null) {\n error("Missing value");\n }\n k = token;\n next();\n return k;\n }\n }\n next();\n return val();\n }\n};\n\n/***\n!Setup the data serialization\n***/\n\nDataTiddler.format = "JSON";\nDataTiddler.stringify = JSON.stringify;\nDataTiddler.parse = JSON.parse;\n\n//}}}\n
/***\n|''Name:''|DropDownMenuPlugin|\n|''Description:''|Create dropdown menus from unordered lists|\n|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|\n|''Source:''|http://tw.lewcid.org/#DropDownMenuPlugin|\n|''Code Repository:''|http://tw.lewcid.org/svn/plugins|\n|''Version:''|2.1|\n|''Date:''|11/04/2007|\n|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|\n|''~CoreVersion:''|2.2.5|\n\n!!Usage:\n* create a two-level unordered list using wiki syntax, and place {{{<<dropMenu>>}}} on the line after it.\n* to create a vertical menu use {{{<<dropMenu vertical>>}}} instead.\n* to assign custom classes to the list, just pass them as parameters to the macro {{{<<dropMenu className1 className2 className3>>}}}\n\n!!Features:\n*Supports just a single level of drop-downs, as anything more usually provides a poor experience for the user.\n* Very light weight, about 1.5kb of JavaScript and 4kb of CSS.\n* Comes with two built in css 'themes', the default horizontal and vertical. \n\n!!Customizing:\n* to customize the appearance of the menu's, you can either add a custom class as described above or, you can edit the CSS via the StyleSheetDropDownMenu shadow tiddler.\n\n!!Examples:\n* [[DropDownMenuDemo]]\n\n***/\n// /%\n//!BEGIN-PLUGIN-CODE\nconfig.macros.dropMenu={\n\n dropdownchar: "\su25bc",\n\n handler : function(place,macroName,params,wikifier,paramString,tiddler){\n list = findRelated(place.lastChild,"UL","tagName","previousSibling");\n if (!list)\n return;\n addClass(list,"suckerfish");\n if (params.length){\n addClass(list,paramString);\n }\n this.fixLinks(list);\n },\n \n fixLinks : function(el){\n var els = el.getElementsByTagName("li");\n for(var i = 0; i < els.length; i++) {\n if(els[i].getElementsByTagName("ul").length>0){\n var link = findRelated(els[i].firstChild,"A","tagName","nextSibling");\n if(!link){\n var ih = els[i].firstChild.data;\n els[i].removeChild(els[i].firstChild);\n var d = createTiddlyElement(null,"a",null,null,ih+this.dropdownchar,{href:"javascript:;"});\n els[i].insertBefore(d,els[i].firstChild);\n }\n else{\n link.firstChild.data = link.firstChild.data + this.dropdownchar;\n removeClass(link,"tiddlyLinkNonExisting");\n }\n }\n els[i].onmouseover = function() {\n addClass(this, "sfhover");\n };\n els[i].onmouseout = function() {\n removeClass(this, "sfhover");\n };\n }\n } \n};\n\nconfig.shadowTiddlers["StyleSheetDropDownMenuPlugin"] = \n "/*{{{*/\sn"+\n "/***** LAYOUT STYLES - DO NOT EDIT! *****/\sn"+\n "ul.suckerfish, ul.suckerfish ul {\sn"+\n " margin: 0;\sn"+\n " padding: 0;\sn"+\n " list-style: none;\sn"+\n " line-height:1.4em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li {\sn"+\n " display: inline-block; \sn"+\n " display: block;\sn"+\n " float: left; \sn"+\n "}\sn\sn"+\n "ul.suckerfish li ul {\sn"+\n " position: absolute;\sn"+\n " left: -999em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li:hover ul, ul.suckerfish li.sfhover ul {\sn"+\n " left: auto;\sn"+\n "}\sn\sn"+\n "ul.suckerfish ul li {\sn"+\n " float: none;\sn"+\n " border-right: 0;\sn"+\n " border-left:0;\sn"+\n "}\sn\sn"+\n "ul.suckerfish a, ul.suckerfish a:hover {\sn"+\n " display: block;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li a.tiddlyLink, ul.suckerfish li a, #mainMenu ul.suckerfish li a {font-weight:bold;}\sn"+\n "/**** END LAYOUT STYLES *****/\sn"+\n "\sn\sn"+\n "/**** COLORS AND APPEARANCE - DEFAULT *****/\sn"+\n "ul.suckerfish li a {\sn"+\n " padding: 0.5em 1.5em;\sn"+\n " color: #FFF;\sn"+\n " background: #0066aa;\sn"+\n " border-bottom: 0;\sn"+\n " font-weight:bold;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li:hover a, ul.suckerfish li.sfhover a{\sn"+\n " background: #00558F;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li:hover ul a, ul.suckerfish li.sfhover ul a{\sn"+\n " color: #000;\sn"+\n " background: #eff3fa;\sn"+\n " border-top:1px solid #FFF;\sn"+\n "}\sn\sn"+\n "ul.suckerfish ul li a:hover {\sn"+\n " background: #e0e8f5;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li a{\sn"+\n " width:9em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish ul li a, ul.suckerfish ul li a:hover{\sn"+\n " display:inline-block;\sn"+\n " width:9em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish li {\sn"+\n " border-left: 1px solid #00558F;\sn"+\n "}\sn"+\n "/***** END COLORS AND APPEARANCE - DEFAULT *****/\sn"+\n "\sn\sn"+\n "/***** LAYOUT AND APPEARANCE: VERTICAL *****/\sn"+\n "ul.suckerfish.vertical li{\sn"+\n " width:10em;\sn"+\n " border-left: 0px solid #00558f;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical ul li, ul.suckerfish.vertical li a, ul.suckerfish.vertical li:hover a, ul.suckerfish.vertical li.sfhover a {\sn"+\n " border-left: 0.8em solid #00558f;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical li a, ul.suckerfish.vertical li:hover a, ul.suckerfish.vertical li.sfhover a, ul.suckerfish.vertical li.sfhover a:hover{\sn"+\n " width:8em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical {\sn"+\n " width:10em; text-align:left;\sn"+\n " float:left;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical li a {\sn"+\n " padding: 0.5em 1em 0.5em 1em;\sn"+\n " border-top:1px solid #fff;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical, ul.suckerfish.vertical ul {\sn"+\n " line-height:1.4em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical li:hover ul, ul.suckerfish.vertical li.sfhover ul { \sn"+\n " margin: -2.4em 0 0 10.9em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical li:hover ul li a, ul.suckerfish.vertical li.sfhover ul li a {\sn"+\n " border: 0px solid #FFF;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical li:hover a, ul.suckerfish.vertical li.sfhover a{\sn"+\n " padding-right:1.1em;\sn"+\n "}\sn\sn"+\n "ul.suckerfish.vertical li:hover ul li, ul.suckerfish.vertical li.sfhover ul li {\sn"+\n " border-bottom:1px solid #fff;\sn"+\n "}\sn\sn"+\n "/***** END LAYOUT AND APPEARANCE: VERTICAL *****/\sn"+\n "/*}}}*/";\nstore.addNotification("StyleSheetDropDownMenuPlugin",refreshStyles);\n//!END-PLUGIN-CODE\n// %/
<<tagCloud protected systemConfig excludeSearch excludeLists excludeTimeline>>\n\n{{floatLeft{[[Contents By Creation Date]] }}} {{floatLeft{[[Contents By Title]]}}}
|Brian Stevens|Archivist and Special Collections Librarian|203-837-8992|\n|Mary Rieke |Assistant Archivist and Special Collections Library Assistant|203-837-9111|\n|Kevin Carneglia |Student Archival Assistant|203-837-8992|\n|Fred Salcido |Graduate Archival Assistant|203-837-8992|\n\n\n!!Alums\n|Jamie E.O. Cantoni | Student Archival Assistant|2008-2009|\n|Melissa Dunn | Student Archival Assistant|2009-2010|\n|Gessika Al Hayek |Student Archival Assistant|2010-2011|\n|Sean Pelletier |Graduate Archival Assistant|2008-2011|