What kind of things can you do? What kind of things would you like me to add?\n\nPutting together this product took me into some areas I didn't really expect and I'm strongly considering developing this further over time. I'm going to be expanding the DigitalEthnography tag on TTN.delicious (http://del.icio.us/TNN/DigitalEthnography), if you come across anything that should be added, please send it to for:TNN via delicious.\n\nIf you would like to expand this discussion on the wiki, don't be shy. A wiki is always a work in progress.
Michael H. Agar. //[[The Professional Stranger|http://www.citeulike.org/article/221525]].// 1980.
config.options.chkHttpReadOnly = false;\n
Rename this tiddler to 'ColorPalette' to enable this color scheme\n\nBackground: #ffc\nForeground: #000\nPrimaryPale: #fc8\nPrimaryLight: #f81\nPrimaryMid: #b40\nPrimaryDark: #410\nSecondaryPale: #ffc\nSecondaryLight: #fe8\nSecondaryMid: #db4\nSecondaryDark: #841\nTertiaryPale: #e88\nTertiaryLight: #c66\nTertiaryMid: #944\nTertiaryDark: #633\n
This tiddler shows some more complex effects that can be obtained with cunning use of CSS. Not all of these will work properly on all browsers because of differences in CSS implementation, but they should fail gracefully.\n\nYou can have special formatting for a specific, named tiddler like this:\n{{{\n#tiddlerHelloThere .title {\nbackground-color: #99aaee;\n}\n}}}\n\nOr for the first displayed tiddler:\n{{{\ndiv.tiddler:first-child .title {\nfont-size: 28pt;\n}\n}}}\n\nOr just for the first line of every tiddler:\n{{{\n.viewer:first-line {\nbackground-color: #999999;\n}\n}}}\n\nOr just for the first letter of every tiddler:\n{{{\n.viewer:first-letter {\nfloat: left;\nfont-size: 28pt;\nfont-weight: bold;\n}\n}}}\n\nOr just for tiddlers tagged with a particular tag (note that this won't work for tags that contain spaces):\n{{{\ndiv[tags~="welcome"].tiddler .viewer {\nbackground-color: #ffccaa;\n}\n\ndiv[tags~="features"].tiddler .viewer {\nbackground-color: #88aaff;\n}\n}}}
For example [[this can happen|http://homepage.mac.com/christinewilks/cwnm/windyflange1.mp3]] (which doesn't have any significance other than it's appropriateness for something that's not embedded)\n
Victorian anthropologists often attempted to describe cultures they had never seen by reading reports and drawing conclusions from the safety of their own armchair. Anthropologists who travel to the field to conduct ethnography, referred to such scholars dismissively as "armchair ethnographers."\n\nIn the early days of VirtualEthnography, many criticised the methodology as, essentially, armchair ethnography. After all, with no field to travel to, one could just sit at a PC and save emails.
Several principles guided us in the authoring of the EHE.\n# Closeness to data\n## Provenance of truth claims\n# Consistent application of a metaphor\n## Consistent navigation\n\nBy staying close to the data what we mean is that whenever we make a claim about the subject that it is always possible to find the data we're grounding that claim in. This means that, often times, the data may be less than fully supportive as there rarely is an unambiguous, unvarnished truth to be had. In the EHE, the voices of the participants through the presentation of data records are immanent. This enables others to check the provenance of what we claim.\n\nWithout the comfortable familiarity of a book to guide a reader we attempted to enforce a metaphor of "visiting" the site through trails, tours, colour coding, zones and so on. Perhaps ironically, we attempted to err on the side of conversatism at all times. There is enough new here that we want the user to be able to become familiar with how the EHE works as quickly as possible. Related to this is the need for consistent navigational devices and cues.\n\nThe complexity comes in the iterative use of the EHE. Through constant use of techniques such as [[Collage]] and [[Montage]] implemented in simple ways we hoped to make the EHE seem less complicated than it actually is. In particular, we were working towards a MultiModal framework for the EHE.\n\n
Handy article by Nicholas Holt reporting on autoethnographic writing exercise. Holt says:\n<<<\nAutoethnography is a genre of writing and research that connects the personal to the cultural, placing the self within a social context (~Reed-Danahay, 1997). These texts are usually written in the first person and feature dialogue, emotion, and self-consciousness as relational and institutional stories affected by history, social structure, and culture (Ellis & Bochner, 2000). ~Reed-Danahay explained that autoethnographers may vary in their emphasis on graphy (i.e., the research process), ethnos (i.e., culture), or auto (i.e., self). Whatever the specific focus, authors use their own experiences in a culture reflexively to look more deeply at self-other interactions. ([[Holt 2003]])\n<<<
|''URL:''|http://tiddlywiki.bidix.info/|\n|''Description:''|Repository for BidiX's TiddlyWiki Extensions|\n|''Author:''|BidiX|
This tag ties together any discussion emerging from BlackBoard
To make quoted bits of text stand out, you can use BlockQuotes within your [[tiddler]]s, like this:\n\nJeremyRuston said:\n<<<\nA TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole.\n<<<\n\nLike BulletPoints and NumberedBulletPoints, you can have multiple levels of BlockQuotes. Just edit this tiddler to see how it's done.\n\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n
Robin Blyn, "[[The ethnographer's story: Mama Day and the specter of relativism|http://www.findarticles.com/p/articles/mi_m0403/is_3_48/ai_102274345]]" //Twentieth Century Literature//, Fall, 2002.
You can find all the rest on ~YouTube. It's a BBC documentary about him.\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/f22VsAlOwbc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/f22VsAlOwbc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\nWikipedia also has something to say. http://en.wikipedia.org/wiki/Malinowski
I'm presently working with [[Sue Thomas|SueThomas]] at DMU on [[Project TNN]] - an [[Arts and Humanities Research Council|http://www.ahrc.ac.uk/]] Funded Project which is investigating Folksonomy and narrative. I have been known to [[blog about it|http://www.hum.dmu.ac.uk/blogs/tnn/]].\n\nPreviously I spent some time at [[Cardiff School of Social Sciences|http://www.cardiff.ac.uk/schoolsanddivisions/academicschools/socsi/index.html]] working on various projects to do with [[Hypermedia Ethnography|HypermediaEthnography]].\n\nPrior to that I was at [[Memorial University of Newfoundland|http://www.mun.ca/folklore/about/]] (MUN) where I have been working on a ~PhD in [[Folklore]] based around [[Virtual Ethnography|VirtualEthnography]].\n\nIn the rest of my life I've been a [[gamer|http://www.ucs.mun.ca/~bmason/b5/index.htm]], ridden [[Red Motorbikes]] and had [[kittens]].
Creating BulletPoints is simple.\n* Just add an asterisk\n* at the beginning of a line.\n** If you want to create sub-bullets\n** start the line with two asterisks\n*** And if you want yet another level\n*** use three asterisks\n* Edit this tiddler to see how it's done\n* You can also do NumberedBulletPoints
This tiddler is a tag for a guest lecture on the subject of [[Digital Ethnography|DigitalEthnography]] by BruceMason for Creative Writing and New Media 2006 at De Montfort University. Every tiddler with the tag "CWNM" is specifically composed for the lecture.
The Mozilla-based [[Camino browser|http://www.caminobrowser.org/]] on Macintosh OS X works well with TiddlyWiki, including the ability to SaveChanges.
I suppose with my Response to Methods assignment - [[Drawball:from Chaos to Community|http://crissxross.net/wilx/2007/01/08/drawball-from-chaos-to-community/]] - at the end of CWNM first semester I took my first tentative steps into DigitalEthnography, although I wasn't consciously doing that at the time. I wonder what difference it would've made if I'd attempted to do it on a TiddlyWiki?\n\nI've been experimenting with TiddlyWiki (amongst other apps) for my CWNM practise-based non-linear journal, which I keep on my local drive. It's great for short notes and jotting down ideas, keeping track of them and making connections.\n\nI think the TiddlyWiki here works really well.\n\nOne thing that's puzzled me (tech-wise rather than content) is the EHE tiddler. When I type EHE, shouldn't it automatically link to that tiddler? For example, when I type EHEatTQ it automatically links to that particular one. When I first came across the initials EHE it was via another tiddler (e.g. EHEatTQ) and I didn't know what EHE stood for, so I had to hunt it down. I should've been able to JustClick to get the answer immediately ;-)\n\nThere is an answer: for a wiki word to work then the word needs a mix of capitals. Thus PART is all caps and is not a WikiWord while PaRT is a WIKIWORD.\n\nA-ha! So if one is thinking about using wikis, either now or in the future, it's best to think about naming things the wiki way. Would eHE work, or eHe? No. I'm assuming Ehe won't work, so how about EhE? Right, so a wiki word must be a mix of upper and lower case ''and'' begin with a capital.\n\nThat appears to be the case. Of course that then means that function is dictating form. I've really vacillated over using constructions such as DigitalEthnography. On one hand it's really quite nice to be able to type a WikiWord and know that the link will be created rather than having to remember to turn every instance of digital ethnography into a link. And of course, should every instance be a link? Elsewhere I talk about montage and the cinematic metaphor of the link. One implication of the metaphor is that links are actually important and meaningful and you don't want everything to be a link. After all, if I want to refer to Coover's Digital Ethnography then I want quite a different link than Boghurdle's critique of digital ethnography.\nBy the way, I keep meaning to check out Drawball.
<div class='header'>\n<div class='titleLine'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div macro='gradient vert #ffffff #cc9900'><a> </a><div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n</div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\n!TiddlyWiki Classic Color Scheme\nDesigned by Jeremy Ruston\nhttp://tiddlystyles.com/#theme:Classic\n\nTo use this color scheme copy the [[ClassicTiddlyWiki]] contents into a tiddler and name it 'StyleSheet' also grab the [[ClassicTemplate]] and copy its contents into a tiddler named 'PageTemplate'.\n\n!Colors Used\n*@@bgcolor(#630):color(#fff): #630@@\n*@@bgcolor(#930): #930@@\n*@@bgcolor(#996633): #963@@\n*@@bgcolor(#c90): #c90@@\n*@@bgcolor(#cf6): #cf6@@\n*@@bgcolor(#cc9): #cc9@@\n*@@bgcolor(#ba9): #ba9@@\n*@@bgcolor(#996): #996@@\n*@@bgcolor(#300):color(#fff): #300@@\n*@@bgcolor(#000000):color(#fff): #000@@\n*@@bgcolor(#666): #666@@\n*@@bgcolor(#888): #888@@\n*@@bgcolor(#aaa): #aaa@@\n*@@bgcolor(#ddd): #ddd@@\n*@@bgcolor(#eee): #eee@@\n*@@bgcolor(#ffffff): #fff@@\n*@@bgcolor(#f00): #f00@@\n*@@bgcolor(#ff3): #ff3@@\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n background: #fff;\n color: #000;\n}\n\na{\n color: #963;\n}\n\na:hover{\n background: #963;\n color: #fff;\n}\n\na img{\n border: 0;\n}\n\nh1,h2,h3,h4,h5 {\n background: #cc9;\n}\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n.header{\n background: #300;\n}\n\n.titleLine {\n color: #fff;\n padding: 5em 0em 1em .5em;\n}\n\n.titleLine a {\n color: #cf6;\n}\n\n.titleLine a:hover {\n background: transparent;\n}\n/*}}}*/\n/***\n!Main Menu /%=================================================%/\n***/\n/*{{{*/\n#mainMenu .button {\n color: #930;\n}\n\n#mainMenu .button:hover {\n color: #cf6;\n background: #930;\n}\n\n#mainMenu li{\n list-style: none;\n}\n/*}}}*/\n/***\n!Sidebar options /%=================================================%/\n~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\n***/\n/*{{{*/\n#sidebar {\n background: #c90;\n right: 0;\n}\n\n#sidebarOptions a{\n color: #930;\n border: 0;\n margin: 0;\n padding: .25em .5em;\n}\n\n#sidebarOptions a:hover {\n color: #cf6;\n background: #930;\n}\n\n#sidebarOptions a:active {\n color: #930;\n background: #cf6;\n}\n\n#sidebarOptions .sliderPanel {\n background: #eea;\n margin: 0;\n}\n\n#sidebarOptions .sliderPanel a {\n color: #930;\n}\n\n#sidebarOptions .sliderPanel a:hover {\n color: #cf6;\n background: #930;\n}\n\n#sidebarOptions .sliderPanel a:active {\n color: #930;\n background: #cf6;\n}\n/*}}}*/\n/***\n!Sidebar tabs /%=================================================%/\n***/\n/*{{{*/\n.tabSelected,.tabContents {\n background: #eea;\n border: 0;\n}\n\n.tabUnselected {\n background: #c90;\n}\n\n#sidebarTabs {\n background: #c90;\n}\n\n#sidebarTabs .tabSelected{\n color: #cf6;\n background: #963;\n}\n\n#sidebarTabs .tabUnselected {\n color: #cf6;\n background: #930;\n}\n\n#sidebarTabs .tabContents{\n background: #963;\n}\n\n#sidebarTabs .txtMoreTab .tabSelected,\n#sidebarTabs .txtMoreTab .tabSelected:hover{\n background: #930;\n color: #cf6;\n}\n\n#sidebarTabs .txtMoreTab .tabUnselected,\n#sidebarTabs .txtMoreTab .tabUnselected:hover{\n background: #300;\n color: #cf6;\n}\n\n#sidebarTabs .txtMoreTab .tabContents {\n background: #930;\n}\n\n#sidebarTabs .tabContents a {\n color: #cf6;\n border: 0;\n}\n\n#sidebarTabs .button.highlight,\n#sidebarTabs .tabContents a:hover {\n background: #cf6;\n color: #300;\n}\n/*}}}*/\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n background: #930;\n color: #fff;\n}\n\n#messageArea a:link, #messageArea a:visited {\n color: #c90;\n}\n\n#messageArea a:hover {\n color: #963;\n background: transparent;\n}\n\n#messageArea a:active {\n color: #fff;\n}\n/*}}}*/\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n background: #eea;\n border: 1px solid #930;\n}\n\n.popup hr {\n color: #963;\n background: #963;\n border-bottom: 1px;\n}\n\n.popup li.disabled {\n color: #ba9;\n}\n\n.popup li a, .popup li a:visited {\n color: #300;\n}\n\n.popup li a:hover {\n background: #930;\n color: #eea;\n}\n/*}}}*/\n/***\n!Tiddler Display /%=================================================%/\n***/\n/*{{{*/\n.tiddler .button {\n color: #930;\n}\n\n.tiddler .button:hover {\n color: #cf6;\n background: #930;\n}\n\n.tiddler .button:active {\n color: #fff;\n background: #c90;\n}\n\n.shadow .title {\n color: #888;\n}\n\n.title {\n color: #422;\n}\n\n.subtitle {\n color: #866;\n}\n\n.toolbar {\n color: #aaa;\n}\n\n.toolbar a,\n.toolbar a:hover{\n border: 0;\n}\n\n.tagging, .tagged {\n border: 1px solid #fff;\n background-color: #ffc;\n}\n\n.selected .tagging, .selected .tagged {\n border: 1px solid #aa6;\n background-color: #ffc;\n}\n\n.tagging .listTitle, .tagged .listTitle {\ncolor: #999999;\n}\n\n.footer {\n color: #ddd;\n}\n\n.selected .footer {\n color: #888;\n}\n\n.sparkline {\n background: #eea;\n border: 0;\n}\n\n.sparktick {\n background: #930;\n}\n\n.errorButton {\n color: #ff0;\n background: #f00;\n}\n\n.zoomer {\n color: #963;\n border: 1px solid #963;\n}\n/*}}}*/\n/***\n''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.viewer .button {\n background: #c90;\n color: #300;\n border-right: 1px solid #300;\n border-bottom: 1px solid #300;\n}\n\n.viewer .button:hover {\n background: #eea;\n color: #c90;\n}\n\n.viewer .imageLink{\n background: transparent;\n}\n\n.viewer blockquote {\n border-left: 3px solid #666;\n}\n\n.viewer table {\n border: 2px solid #303030;\n}\n\n.viewer th, thead td {\n background: #996;\n border: 1px solid #606060;\n color: #fff;\n}\n\n.viewer td, .viewer tr {\n border: 1px solid #606060;\n}\n\n.viewer pre {\n border: 1px solid #963;\n background: #eea;\n}\n\n.viewer code {\n color: #630;\n}\n\n.viewer hr {\n border: 0;\n border-top: dashed 1px #606060;\n color: #666;\n}\n\n.highlight, .marked {\n background: #ff3;\n}\n/*}}}*/\n/***\n''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.editor input {\n border: 1px solid #000;\n}\n\n.editor textarea {\n border: 1px solid #000;\n width: 100%;\n}\n\n.editorFooter {\n color: #aaa;\n}\n\n.editorFooter a {\n color: #930;\n}\n\n.editorFooter a:hover {\n color: #cf6;\n background: #930;\n}\n\n.editorFooter a:active {\n color: #fff;\n background: #c90;\n}\n/*}}}*/
/***\n| Name:|CloseOnCancelPlugin|\n| Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|\n| Version:|6.9.3|\n| Date:|30-Sep-2006|\n| Source:|http://mptw.tiddlyspot.com/#CloseOnCancelPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n***/\n//{{{\nmerge(config.commands.cancelTiddler,{\n\n handler_orig_closeUnsaved: config.commands.cancelTiddler.handler,\n\n handler: function(event,src,title) {\n this.handler_orig_closeUnsaved(event,src,title);\n if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))\n story.closeTiddler(title,true);\n return false;\n }\n\n});\n\n//}}}\n\n
Collage and [[Montage]] were the two main techniques we used. Within the limits of static HTML, we attempted to ensure that each page could be manipulated in order to bring different elements together. Thus each trails page has an inset window so that it is possible to use links to transform the page rather than simply jump from page to page. For example, one of the pages in the Methods Trail (http://www.ioct.dmu.ac.uk/tnn/EHE/trails/methods/def-field-intro.htm) has a series of links in the "main text" column. Some links "jump" to other pages in the trail, some jump straight to the data and others transform the current page. \n\nThis is also a technique that Wesch makes use of in his construction of digital ethnographies. His remediation of the work of Edmund Carpenter (http://www.mediatedcultures.net/phantom/home2.html) uses two frames with 3 menus feeding into each frame. Users can, therefore, put unconnected elements together on the same screen.\n\nSimilarly, Biella, in his web version of his Yanomamo Interactive (http://www.anth.ucsb.edu/projects/axfight/index2.html) has arranged the screen into areas.\n\nThis use of collage also runs parallel to the notion of "spatial hypertext" ([[Shipman & Marshall 1993|Shipman1993]]) - which is to say that we tend to link things together if they are close to each other. Proximity has meaning. In the EHE the data is, at all times, considered to be proximal to the interpretation.
Capuccino2 from http://www.giffmex.org/twfortherestofus.html permalink is\nhttp://www.giffmex.org/twfortherestofus.html#%5B%5BCapuccino2%20color%20scheme%5D%5D\nBackground: #fff\nForeground: #000\nPrimaryPale: #aa8855\nPrimaryLight: #dd9922\nPrimaryMid: #554422\nPrimaryDark: #000\nSecondaryPale: #ffc\nSecondaryLight: #fe8\nSecondaryMid: #db4\nSecondaryDark: #841\nTertiaryPale: #aa8855\nTertiaryLight: #EEC591\nTertiaryMid: #000\nTertiaryDark: #8B7355
[>img[tiddlywiki.org logo|http://trac.tiddlywiki.org/tiddlywiki/chrome/site/tworg_logo_med.jpg][http://www.tiddlywiki.org]]TiddlyWiki today is the result of the efforts of dozens of people around the world generously contributing their time and skill. The core of the TiddlyWiki development community is http://www.tiddlywiki.org. It hosts the master copy of the TiddlyWiki source code, and a system for tracking bugs and enhancement requests. The community welcomes [[contributions|Contribute]].\n\nThere are two GoogleGroups for discussions about TiddlyWiki. They are the best places to ask questions about TiddlyWIki, and to connect with other enthusiasts:\n* A TiddlyWiki group for general discussion, bug reports and announcements at http://groups-beta.google.com/group/TiddlyWiki\n* A TiddlyWikiDev group for discussion about TiddlyWiki development at http://groups-beta.google.com/group/TiddlyWikiDev\n\nFor non-English language speakers,\n* TiddlyWikiFR, in French, at http://groups.google.com/group/TiddlyWikiFR\n* TiddlyWiki 華語支援論壇, in Chinese, at http://groups-beta.google.com/group/TiddlyWiki-zh\n* TiddlyWikiPT, in Brazilian Portuguese, at http://groups.google.com.br/group/tiddlywikipt\n\n<html>\n<a href="http://www.frappr.com/tiddlywiki"><img src="http://www.frappr.com/i/frapper_sticker.gif" border="0" alt="Check out our Frappr!" title="Check out our Frappr!"></a>\n</html>
//{{{\nconfig.options.chkHttpReadOnly = false; // means web visitors can experiment with your site by clicking edit\nconfig.options.chkInsertTabs = true; // tab inserts a tab when editing a tiddler\nconfig.views.wikified.defaultText = ""; // don't need message when a tiddler doesn't exist\nconfig.views.editor.defaultText = ""; // don't need message when creating a new tiddler \n//}}}\n
TiddlyWiki has an enthusiastic and friendly [[Community]] of people around the world helping to grow and improve it. But there's always more to do and we welcome any offers of assistance. There are many ways that you can help:\n* Testing and [[reporting bugs|http://trac.tiddlywiki.org/tiddlywiki/wiki/ReportingBugs]] against the core code. Clear, easily reproducible bug reports are incredibly useful and really help the team improve the quality of TiddlyWiki\n* [[Contributing code|http://trac.tiddlywiki.org/tiddlywiki/wiki/ContributingCode]]\n* [[Making translations|http://trac.tiddlywiki.org/tiddlywiki/wiki/Translations]]\n* Documentation needs planning, writing and editting:\n** The official TiddlyWiki.com reference documentation at http://doc.tiddlywiki.org/\n** User guide information at http://tiddlywikiguides.org/\n
You can wrap any text in an HTML {{{<span>}}} or {{{<div>}}} with a specified CSS class. This allows custom CSS styling in a nice, modular way. By placing a rule in your StyleSheet tiddler like {{{.wrappingClass{color: #666; background: #bbb} }}} you can markup a piece of text in the tiddler using this code:\n\n{{{\n{{wrappingClass{Text that is now accentuated}}}\n}}}\n\n{{wrappingClass{Text that is now accentuated}}}\n\nBy default, the text is placed in a {{{<span>}}}. To use a {{{<div>}}} instead, insert a line break before the text:\n\n{{{\n{{wrappingClass{\nText that is now accentuated}}}\n}}}\n\n{{wrappingClass{\nText that is now accentuated}}}\n
Sometimes it's necessary to include custom HTML markup in the {{{<head>}}} of a TiddlyWiki file - typically for compatibility with ad serving software, external libraries, or for custom meta tags. The CustomMarkup operation defines four shadow tiddlers whose contents are spliced into the saved HTML file. (If you do a view/source you'll see the markers referred to below).\n|!Title |!Location |!Marker |\n|MarkupPreHead |Start of the {{{<head>}}} section |{{{<!--PRE-HEAD-START-->}}} |\n|MarkupPostHead |End of the {{{<head>}}} section |{{{<!--POST-HEAD-START-->}}} |\n|MarkupPreBody |Start of the {{{<body>}}} section |{{{<!--PRE-BODY-START-->}}} |\n|MarkupPostBody |End of the {{{<body>}}} section |{{{<!--POST-BODY-START-->}}} |\nMarkupPreHead is the only one with shadow content: a link to the default location of the RSS feed.
Starting with this revision, you can skin TiddlyWiki with a special StyleSheet tiddler containing your own CSS style sheet declarations. Unlike hacking the HTML directly, the StyleSheet tiddler withstands upgrading to a new version of the TiddlyWiki code (see HowToUpgrade). You can also use the NestedStyleSheets feature to structure your CSS declarations.\n\nThe ExampleStyleSheet shows some of the basic options you can control (see AnotherExampleStyleSheet for more complex examples). SaveChanges and then click refresh in your browser to see StyleSheet changes. Any errors in your CSS syntax will be caught and displayed, but they shouldn't stop TiddlyWiki from working.
Several [[Macros]] including the TodayMacro take a DateFormatString as an optional argument. This string can be a combination of ordinary text, with some special characters that get substituted by parts of the date:\n* {{{DDD}}} - day of week in full (eg, "Monday")\n* {{{ddd}}} - short day of week (eg, "Mon")\n* {{{DD}}} - day of month\n* {{{0DD}}} - adds a leading zero\n* {{{DDth}}} - adds a suffix\n* {{{WW}}} - ISO-8601 week number of year\n* {{{0WW}}} - adds a leading zero\n* {{{MMM}}} - month in full (eg, "July")\n* {{{mmm}}} - short month (eg, "Jul")\n* {{{MM}}} - month number\n* {{{0MM}}} - adds leading zero\n* {{{YYYY}}} - full year\n* {{{YY}}} - two digit year\n* {{{wYYYY}}} - full year with respect to week number\n* {{{wYY}}} two digit year with respect to week number\n* {{{hh}}} - hours\n* {{{0hh}}} - adds a leading zero\n* {{{hh12}}} - hours in 12 hour clock\n* {{{0hh12}}} - hours in 12 hour clock with leading zero\n* {{{mm}}} - minutes\n* {{{0mm}}} - minutes with leading zero\n* {{{ss}}} - seconds\n* {{{0ss}}} - seconds with leading zero\n* {{{am}}} or {{{pm}}} - lower case AM/PM indicator\n* {{{AM}}} or {{{PM}}} - upper case AM/PM indicator\n
[[Introduction]] [[Tag Cloud]]
* Cardiff School of Social Sciences Hypermedia Ethnography. http://www.cardiff.ac.uk/socsi/hyper/index.html\n* An old presentation. http://www.cardiff.ac.uk/socsi/hyper/ht99/EHE.html\n* An academic article that goes into more detail about CAQDAS than you really need to know - 'Hypermedia and Ethnography: Reflections on the Construction of a Research Approach' //Sociological Research Online//, vol. 3, no. 3, <http://www.socresonline.org.uk/socresonline/3/3/3.html>\n* A portion of the EHE about discovering science at Techniquest. http://www.ioct.dmu.ac.uk/tnn/ht99/EHE.html\n* Project TNN. http://www.ioct.dmu.ac.uk/tnn/\n* Project TNN blog: http://www.hum.dmu.ac.uk/blogs/tnn/\n* My MUN homepage - contains some info about my PhD. http://www.ucs.mun.ca/~bmason/\n----\nMichael Wesch's remediation of the work of Edmund Carpenter http://www.mediatedcultures.net/phantom/home2.html\nPeter Biella's discussion of his hypermedia CD - http://www.anth.ucsb.edu/projects/axfight/updates/biellaintroduction.html
<div class='header' macro='gradient vert #390108 #900'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu'>\n<div refresh='content' tiddler='MainMenu'></div>\n</div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\nhttp://tiddlystyles.com/#theme:DevFire\n***/\n\n/*{{{*/\nbody {\nbackground: #000;\n}\n/*}}}*/\n/***\n!Link styles /% ============================================================= %/\n***/\n/*{{{*/\na,\na.button,\n#mainMenu a.button,\n#sidebarOptions .sliderPanel a{\n color: #ffbf00;\n border: 0;\n background: transparent;\n}\n\na:hover,\na.button:hover,\n#mainMenu a.button:hover,\n#sidebarOptions .sliderPanel a:hover\n#sidebarOptions .sliderPanel a:active{\n color: #ff7f00;\n border: 0;\n border-bottom: #ff7f00 1px dashed;\n background: transparent;\n text-decoration: none;\n}\n\n#displayArea .button.highlight{\n color: #ffbf00;\n background: #4c4c4c;\n}\n/*}}}*/\n/***\n!Header styles /% ============================================================= %/\n***/\n/*{{{*/\n.header{\n border-bottom: 2px solid #ffbf00;\n color: #fff;\n}\n\n.headerForeground a {\n color: #fff;\n}\n\n.header a:hover {\n border-bottom: 1px dashed #fff;\n}\n/*}}}*/\n/***\n!Main menu styles /% ============================================================= %/\n***/\n/*{{{*/\n#mainMenu {color: #fff;}\n#mainMenu h1{\n font-size: 1.1em;\n}\n#mainMenu li,#mainMenu ul{\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/*}}}*/\n/***\n!Sidebar styles /% ============================================================= %/\n***/\n/*{{{*/\n#sidebar {\n right: 0;\n color: #fff;\n border: 2px solid #ffbf00;\n border-width: 0 0 2px 2px;\n}\n#sidebarOptions {\n background-color: #4c4c4c;\n padding: 0;\n}\n\n#sidebarOptions a{\n margin: 0;\n color: #ffbf00;\n border: 0;\n}\n#sidebarOptions a:hover {\n color: #4c4c4c;\n background-color: #ffbf00;\n\n}\n\n#sidebarOptions a:active {\n color: #ffbf00;\n background-color: transparent;\n}\n\n#sidebarOptions .sliderPanel {\n background-color: #333;\n margin: 0;\n}\n\n#sidebarTabs {background-color: #4c4c4c;}\n#sidebarTabs .tabSelected {\n padding: 3px 3px;\n cursor: default;\n color: #ffbf00;\n background-color: #666;\n}\n#sidebarTabs .tabUnselected {\n color: #ffbf00;\n background-color: #5f5f5f;\n padding: 0 4px;\n}\n\n#sidebarTabs .tabUnselected:hover,\n#sidebarTabs .tabContents {\n background-color: #666;\n}\n\n.listTitle{color: #FFF;}\n#sidebarTabs .tabContents a{\n color: #ffbf00;\n}\n\n#sidebarTabs .tabContents a:hover{\n color: #ff7f00;\n background: transparent;\n}\n\n#sidebarTabs .txtMoreTab .tabSelected,\n#sidebarTabs .txtMoreTab .tab:hover,\n#sidebarTabs .txtMoreTab .tabContents{\n color: #ffbf00;\n background: #4c4c4c;\n}\n\n#sidebarTabs .txtMoreTab .tabUnselected {\n color: #ffbf00;\n background: #5f5f5f;\n}\n\n.tab.tabSelected, .tab.tabSelected:hover{color: #ffbf00; border: 0; background-color: #4c4c4c;cursor:default;}\n.tab.tabUnselected {background-color: #666;}\n.tab.tabUnselected:hover{color:#ffbf00; border: 0;background-color: #4c4c4c;}\n.tabContents {\n background-color: #4c4c4c;\n border: 0;\n}\n.tabContents .tabContents{background: #666;}\n.tabContents .tabSelected{background: #666;}\n.tabContents .tabUnselected{background: #5f5f5f;}\n.tabContents .tab:hover{background: #666;}\n/*}}}*/\n/***\n!Message area styles /% ============================================================= %/\n***/\n/*{{{*/\n#messageArea {background-color: #666; color: #fff; border: 2px solid #ffbf00;}\n#messageArea a:link, #messageArea a:visited {color: #ffbf00; text-decoration:none;}\n#messageArea a:hover {color: #ff7f00;}\n#messageArea a:active {color: #ff7f00;}\n#messageArea .messageToolbar a{\n border: 1px solid #ffbf00;\n background: #4c4c4c;\n}\n/*}}}*/\n/***\n!Popup styles /% ============================================================= %/\n***/\n/*{{{*/\n.popup {color: #fff; background-color: #4c4c4c; border: 1px solid #ffbf00;}\n.popup li.disabled{color: #fff;}\n.popup a {color: #ffbf00; }\n.popup a:hover { background: transparent; color: #ff7f00; border: 0;}\n.popup hr {color: #ffbf00; background: #ffbf00;}\n/*}}}*/\n/***\n!Tiddler Display styles /% ============================================================= %/\n***/\n/*{{{*/\n.title{color: #fff;}\nh1, h2, h3, h4, h5 {\n color: #fff;\n background-color: transparent;\n border-bottom: 1px solid #333;\n}\n\n.subtitle{\n color: #666;\n}\n\n.viewer {color: #fff; }\n\n.viewer table{background: #666; color: #fff;}\n\n.viewer th {background-color: #996; color: #fff;}\n\n.viewer pre, .viewer code {color: #ddd; background-color: #4c4c4c; border: 1px solid #ffbf00;}\n\n.viewer hr {color: #666;}\n\n.tiddler .button {color: #4c4c4c;}\n.tiddler .button:hover { color: #ffbf00; background-color: #4c4c4c;}\n.tiddler .button:active {color: #ffbf00; background-color: #4c4c4c;}\n\n.toolbar {\n color: #4c4c4c;\n}\n\n.toolbar a.button,\n.toolbar a.button:hover,\n.toolbar a.button:active,\n.editorFooter a{\n border: 0;\n}\n\n.footer {\n color: #ddd;\n}\n\n.selected .footer {\n color: #888;\n}\n\n.highlight, .marked {\n color: #000;\n background-color: #ffe72f;\n}\n.editorFooter {\n color: #aaa;\n}\n\n.tab{\n-moz-border-radius-topleft: 3px;\n-moz-border-radius-topright: 3px;\n}\n\n.tagging,\n.tagged{\n background: #4c4c4c;\n border: 1px solid #4c4c4c; \n}\n\n.selected .tagging,\n.selected .tagged{\n background-color: #333;\n border: 1px solid #ffbf00;\n}\n\n.tagging .listTitle,\n.tagged .listTitle{\n color: #fff;\n}\n\n.tagging .button,\n.tagged .button{\n color: #ffbf00;\n border: 0;\n padding: 0;\n}\n\n.tagging .button:hover,\n.tagged .button:hover{\nbackground: transparent;\n}\n\n.selected .isTag .tagging.simple,\n.selected .tagged.simple,\n.isTag .tagging.simple,\n.tagged.simple {\n float: none;\n display: inline;\n border: 0;\n background: transparent;\n color: #fff;\n margin: 0;\n}\n\n.cascade {\n background: #4c4c4c;\n color: #ddd;\n border: 1px solid #ffbf00;\n}\n/*}}}*/
I am using digital ethnography as a general term referring to:\n* the ethnography of digital (aka) virtual environments (VirtualEthnography)\n* the use of digital equipment in ethnography (HypermediaEthnography)\n* the representation of ethnography in digital form (HypermediaEthnography)
Under its OpenSourceLicense, TiddlyWiki is available for anyone to use for free, and it always will be.\n\nThe core TiddlyWiki code has been in active development for more than two years. If you find it useful, you can support it by contributing to the discussion groups, reporting bugs, or making a [[cash contribution via PayPal|https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=jeremy%40osmosoft%2ecom&item_name=TiddlyWiki%20Donations&no_shipping=0&no_note=1&tax=0&currency_code=GBP&lc=GB&charset=UTF%2d8]]. If you use TiddlyWiki regularly, you can share in the ownership of TiddlyWiki by making the suggested donation of half a days wages. If enough people become [[Stakeholders]], the formal ownership of the core TiddlyWiki code will be transferred to the community.\n\nIf you work for a commercial organisation that's using TiddlyWiki internally or distributing it as part of your own product, you might also consider making a corporate donation or working with [[Osmosoft|http://www.osmosoft.com/]] via a consultancy engagement.\n\nFinally, everyone helps the project by spreading the word, and encouraging more people to try out TiddlyWiki.
Because TiddlyWiki is a single HTML file, you've actually already downloaded the entire software just by viewing this site. If you want to be able to SaveChanges, you can save your own blank TiddlyWiki to your local drive by right clicking on [[this link to empty.html|empty.html]] and selecting 'Save link as...' or 'Save target as...'. You can choose where to save the file, and what to call it (but make sure that it's saved in HTML format and with an HTML extension).\n\n@@There can be confusing and subtle differences between different browsers. Some points to watch:@@\n* Do ''not'' use the File/Save command in your browser to save TiddlyWiki, because of SaveUnpredictabilities.\n* Make sure that you're saving in HTML (or "page source" format), not one of the new-fangled archive formats\nIf you're already using TiddlyWiki, see HowToUpgrade. If you want to save a complete copy of this site, including all the instructions and other text, you can use this [[this link|index.html]].
An Ethnographic Hypermedia Environment is the name we gave to a set of digital resources for an ethnographer. We used the EHE as a place in which to store data, explore it and then create a hypermedia ethnography. This holistic approach has the advantage of allowing us to create an ethnographic representation that is rooted in the data.\n\nThe first EHE we attempted was constructed using an old version of Authorware. It was, to say the least, a mixed result. At the time, 1999, the technology only let us use a very small amount of low quality video and the software did not allow any sort of complex linking. Due to confidentiality issues I cannot provide access to any of it but an old web site that discusses some of the issues arising from the project can be found [[here|http://www.cardiff.ac.uk/socsi/hyper/ht99/EHE.html].\n\nThe second EHE we attempted was authored for DVD in XHTML and then revised for a password-protected website. A portion of that EHE can be [[found here|EHEatTQ]].
Renee asked: What is your "object" of study, meaning in the case of [[EHE]], what is the ethnographical object? \n\nThe work I did with [[EHE]]s was primarily metholdological - which is to say that the major part of the work was investigating what it required to produce a [[EHE]]. The study of the science centre was a small case study that enabled us to work with a focus rather than just thinking about it.\n\nIn that case, the study was largely thematic as were interested in how people their communicated scientific knowledge and how visitors "read" it. We used an ethnographic approach to explore this so that we could ground our ideas in detailed observations of the place, staff and visitors. \n\nRenee also noted "In other words, while studying digital culture, you are also a part of it. Perhaps, this gives you a point of unity, as opposed to "objectivity" with your subject. Would you agree with this?" To which I say: dead on. Use of digital technology was both distancing because we were often stuck behind a camera and integrative because the technology became a communication medium between us. One staff member in particular was fascinated by the tech (he was a boys' toys kind of person) and was often disappointed when we turned up with nothing but eyes.
As part of a hypermedia ethnography at a science discovery centre, we produced an EHE. Over a period of about 6 months, we generated around 35 hours of video, 15 hours of audio, some 1500 digital photos, scanned the best part of 100 documents and took innumerable fieldnotes detailing how science as a concept was produced at the site and consumed by visitors. This complex multimedia dataset was analysed for emergent themes and those findings presented as part of the EHE.\n\nThere are issues of confidentiality as the final report is still in progress but I have excerpted a small portion of it [[here|http://www.ioct.dmu.ac.uk/tnn/EHE/index.html]]. I have included a fair amount of the "[[Trails]]" and most of the Audio Data. \n\nA suggested reading of the EHE is [[here|ReadEHE]] while some comments about the authoring are [[here|AuthorEHE]]\n\n
Try holding down the alt- or shift-key while clicking on a link to a tiddler, on the 'options' button or on the CloseButton for a tiddler. Kind of a respectful homage to Mac OS X, which does something similar for many of its system animations. (On browsers like InternetExplorer that use the shift key to open a new window, it's best to use the alt-key).
[[MptwEditTemplate]]\n
{{{\n[img[title|filename]]\n[img[filename]]\n[img[title|filename][link]]\n[img[filename][link]]\n}}}\nImages can be included by their filename or full URL. It's good practice to include a title to be shown as a tooltip, and when the image isn't available. An image can also link to another tiddler or or a URL\n[img[Romanesque broccoli|fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]\n{{{\n[img[Fractal vegetable|fractalveg.jpg]]\n[img[This is shown as a tooltip|http://example.com/image.jpg]]\n[img[http://example.com/image.jpg]]\n[img[http://example.com/image.jpg][ExampleDotCom]]\n}}}\nThe tooltip is optional.\n\n[<img[Forest|forest.jpg][http://www.flickr.com/photos/jermy/8749660/]][>img[Field|field.jpg][http://www.flickr.com/photos/jermy/8749285/]]You can also float images to the left or right: the forest is left aligned with {{{[<img[}}}, and the field is right aligned with {{{[>img[}}}.\n@@clear(left):clear(right):display(block):You can use CSS to clear the floats@@\n{{{\n[<img[A woody bit of Hampstead Heath|forest.jpg]]\n[>img[A field near Milton Keynes|field.jpg]]\n}}}
There's now an option under InterfaceOptions to allow TiddlyWiki's animation effects to be turned off.
[>img[Fragment of an ethnographic moment|http://www.ioct.dmu.ac.uk/tnn/ht99/images/mug.JPG]]Every ethnography has its “moments.” As a process they occur when you as an ethnographer have the sudden blinding insight into the subject of study. As a product they are the moments when you try to convince the reader that what you are describing is real. The ethnographic moment is both rite-de-passage for the ethnographer and literary device for the ethnography. ([[More|http://www.ioct.dmu.ac.uk/tnn/ht99/moments.html]]). \n\nDuring a project revisiting an ethnography of a mining heritage centre, my coworker and I got caught in a middle of a huge contretemps between management and staff which was sparked by the circulation of a memo. This brought a whole series of simmering tensions to the surface. Not just tensions between staff and management but tensions that the guides had between their new identity as low paid guides versus the previous identity as highly-paid miners.\n\nFor another take on this, check out Audry Prost's [[comparison of the ethnographic moment to religious epiphany|http://www.anthropologymatters.com/journal/2003-2/prost2003_caught.htm]]. ([[Prost 2003]]).<html><br clear="all" /></html>
Ethnography is an ambiguous term, representing both process and product ([[Agar 1980|Agar1980]]). \n\nAs a [[process|EthnographyProcess]], ethnography is a methodology used for social research that requires the fieldworker (aka the ethnographer) to become immersed within the society of a group of people to be studied.\n\nAs a [[product|EthnographyProduct]], an ethnography is, traditionally, a book that reports on the findings.\n\nIn both cases, ethnography has something of a [[troubling history|EthnographyHistory]] and a troubled [[present|EthnographyPresent]].\n\nAs usual, [[Wikipedia has something to say about the matter|http://en.wikipedia.org/wiki/Ethnography]].
In his book ''The Ethnographic Imagination'', Paul Atkinson illustrates the rhetorical nature of ethnographic texts. For the author of an ethnography, the crucial task is to claim that the text has authority and that the ethnographer's words can be trusted. One classic device for doing this is the EthnographicMoment when something occurs in the field that massively affects your relationship to it. The standard moment is when you have a realisation that overturns the assumptions that you brought into the field with you. It's a good moment because you can only have it if you are really there and proves that you are not involved in ArmchairEthnography. As a rhetorical device it is horribly overused in ethnographic writing. \n\nEthnography may not be fiction but it uses authorial techniques that fiction authors would recognise and at times can be distinctly fictive. For example, in his account of a Balinese cockfight, Clifford Geertz starts the article in media res as he joins a throng escaping from a police raid.\n<<<\nNowhere is the relationship between cross-cultural exchange and interdisciplinary method more contentious, perhaps, than in contemporary ethnography's anxious alliance with prose fiction. For at stake in both is the production and interpretation of narrative. Insofar as ethnographic experiments in storytelling are asked to correct the protocols of an outdated universalism and its untenable claims to scientific objectivity, they court a radical relativism that evokes profound discomfort even in anthropology's most post-structurally minded self-critiques. ([[Blyn 2002]])\n<<<\n
Ethnographies of the digital age: the impact that digital technology has on developing and/or traditional societies are certainly necessary and have been frequently undertaken. One big area of interest for a while was centred around the Zapatista use of the Internet: http://www.eco.utexas.edu/~hmcleave/zapsincyber.html They are a Mexicans from the Chiapas area who staged an uprising. Anthropologists discovered - though they overplayed the role I suspect - that the net was being used as a prime conduit for information. Much of the study of the impact of the digital age on developing areas tends to be very critical of the technology. Ziauddin Sardar's collection, C//yberfutures//, is pretty emblematic. Also have a look at this research project: http://www.naya.org.ar/congreso/ponencia1-23.htm.\n\nMy main interest has been with the study of virtual communities and I haven't really engaged with the field of IT use/virtual communities in the developing world. Being a folklorist, I guess I've occasionally run-across the old cliche that "folklorists are just anthropologists who stay at home".\n
As the main tool of anthropology, ethnography became implicated in its embrace of cultural evolution theory during the late Victorian era in Britain. The theory held that cultures evolved from a primtive state to a civilised one and that, therefore, Western European society (specifically British) was at the peak of evolution. Ethnographers travelled to far away places to document less-evolved societies. Ethnography became something that was done ''to'' paticipants rather than with. \n\nAlthough a some anthropologists such as Franz Boas and his student Ruth Benedict attempted to refute this theory through detailed ethnographic work, ironically ethnography became viewed as a tool which was best used to study groups of people to whom the ethnographer was an outsider.\n\n[[Wikipedia has a good discussion of all this|http://en.wikipedia.org/wiki/Cultural_evolution]].
The rise of feminist theory and postmodernism led to what has been termed the "crisis of representation" in the social sciences; something that ethnography has found particularly problematic.\n\nFeminist theory has critiqued the implicit power-imbalance in ethnography. The ethnographer has routinely been socially advantaged and studied socially disadvantaged groups. \n\nPost-modernist theory has questioned the ability to represent a single truth within a narrative. How can an ethnographer claim to represent an "objective" truth a printed text.\n\nAlthough the criticisms are often overstated, most etnographers have come to realise that any ethnographic representation has certain rhetorical conventions. As [[thick description]] ethnographic representation has become seen as a way of telling a story; the better the story the more likely a reader is to believe it. Ethnography has come to be seen as the most fictive enterprise in social science - for better or worse.
As a methodology, ethnography has tended to rely on ParticipantObservation as its main tool. To work as a participant observer, the ethnographer attempts to participate as fully as possible in a group's activities while observing the scene and noting. Traditionally, ethnographers have kept fieldnotes, research journals and documented their activities that way. \n\n\nBy participating, the ethnographer, it is argued, gains an embodied exerience of what it means to be a "native" in a way that transcends simple observation, the asking of questions or attempts to study behaviour in a laboratory. An ethnographer, routinely, spends an extended period of time living with the group. Sometimes, though, the ethnographer becomes so much part of a group that there is a risk of [[going native|GoingNative]].
The ethnographic book has been a staple of the discipline ever since [[Bronislaw Manilowski|http://en.wikipedia.org/wiki/Bronislaw_Malinowski]] conducted his groundbreaking study of the Trobiand Islands. Routinely, the ethnographer travels to a far flung place, stays there for a year or so, takes notes, brings them home, analyses them and then presents the ideas in a book.\n\nThis leads to the process and product of ethnography becoming horribly fractured. It also leads to intense frustration as all the rich, complex, messy insights of ethnography become boiled down to a dry text. \n\nConversely, ethnographic writing has often been considered to be the [[most descriptive|Ethnography and Fiction]] of all social science writing. Clifford Geertz claimed that the aim of ethnographic writing was the production of a "[[thick description]]" of the setting.\n
This ties together various quotes and examples.
/***\n|''Name:''|ExamplePlugin|\n|''Description:''|To demonstrate how to write TiddlyWiki plugins|\n|''Version:''|2.0.3|\n|''Date:''|Sep 22, 2006|\n|''Source:''|http://www.tiddlywiki.com/#ExamplePlugin|\n|''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''~CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n***/\n\n//{{{\n\n// Uncomment the following line to see how the PluginManager deals with errors in plugins\n// deliberateError();\n\n// Log a message\npluginInfo.log.push("This is a test message from " + tiddler.title);\n\n//}}}\n
#displayArea {background-color: #ffccff; }\n#mainMenu {border: 1px solid #ffff88; }\n#commandPanel {background-color: #008800; }
config.animFast = 0.12; // Speed for animations (lower == slower)\nconfig.animSlow = 0.01; // Speed for EasterEgg animations\nconfig.views.wikified.toolbarEdit.text = "Edit away, it won't get saved";
* This is a very large pdf of one of my thesis chapters. It sets framework for my VirtualEthnography of a football fans' email list, gives some basic stats and provides a description of what it felt like to be a member. ([[Read it|http://www.ioct.dmu.ac.uk/tnn/thesis/Chapter4.pdf]])\n* An example [[fieldnote|http://www.ioct.dmu.ac.uk/tnn/EHE/ssp/HYPER/NOTES/IDXAPRFI/MD9APRBM/94FIELDN.HTM]] taken while conducting a DigitalEthnography.\n* A [[set of photographs|http://www.ioct.dmu.ac.uk/tnn/EHE/ssp/hyper/photos/gallery/Documentary_Photos_of_the_Cardiff_team_doing_fieldwork/index.html]] showing a team-ethnography.
Like most wikis, TiddlyWiki supports a range of simplified character formatting:\n| !To get | !Type this |h\n| ''Bold'' | {{{''Bold''}}} |\n| --Strikethrough-- | {{{--Strikethrough--}}} |\n| __Underline__ | {{{__Underline__}}} (that's two underline characters) |\n| //Italic// | {{{//Italic//}}} |\n| Superscript: 2^^3^^=8 | {{{2^^3^^=8}}} |\n| Subscript: a~~ij~~ = -a~~ji~~ | {{{a~~ij~~ = -a~~ji~~}}} |\n| @@highlight@@ | {{{@@highlight@@}}} |\n<<<\nThe highlight can also accept CSS syntax to directly style the text:\n@@color:green;green coloured@@\n@@background-color:#ff0000;color:#ffffff;red coloured@@\n@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@\n<<<\n\n//For backwards compatibility, the following highlight syntax is also accepted://\n{{{\n@@bgcolor(#ff0000):color(#ffffff):red coloured@@\n}}}\n@@bgcolor(#ff0000):color(#ffffff):red coloured@@
I was looking around for discussions about ethnography, Bruce, and found a few references to 'feminist ethnography', particularly from Judith Stacey. Do you see that as a relevant question? \n\nI'm thinking that as even now so many net users are men, although it's changing, it might be worth looking at gender diffs in the ethnography.
FireFox lets you SaveChanges in TiddlyWiki, but you will see up to three dialogs asking your permission for the local file operations. You must allow all three operations for it to work properly. Note that you can select the //Remember this decision// option to avoid seeing the dialogs in future.\n<<<\nYou can run into problems if you accidentally click 'Deny' on the dialog, and select //Remember this decision//.\n\nTo reverse the effects, first locate the file {{{prefs.js}}} in your FireFox profile directory. Under Windows you'll find it at something like {{{C:\sDocuments and Settings\sJeremy\sApplication Data\sMozilla\sFirefox\sProfiles\so3dhupu6.default\sprefs.js}}}, where {{{Jeremy}}} is the name of your windows profile and {{{o3dhupu6}}} will be a similar string of gobbledegook. On the Mac it'll be at {{{~/Library/Application Support/Firefox/Profiles/o3dhupu6.default/prefs.js}}} and on most versions of Linux, at {{{~/.mozilla/firefox/o3dhupu6.default/prefs.js}}}.\n\nOpen the file in a text editor and find the line {{{user_pref("capability.principal.codebase.p0.denied", "UniversalXPConnect");}}} and simply replace the word {{{denied}}} with {{{granted}}}.\n//(Thanks to JonScully for figuring out this fix)//\n<<<\n\nFireFox users should be aware that GreaseMonkey can break TiddlyWiki. There's also a rather unpredictable FireFoxKeyboardIssue.
Under FireFox, TiddlyWiki can get into a state where it ignores the arrow keys on the keyboard but accepts ordinary alphanumeric input. The triggers for this behaviour are unclear, but it doesn't just affect TiddlyWiki. The solution appears to be to locate the file {{{compreg.dat}}} in your FireFox profile folder and rename it to {{{compreg.dat.old}}}.
Released in September 2004, the [[first version|firstversion.html]] was pretty basic, weighing in at 52KB.
Here's one way to get a Flickr badge in TiddlyWiki:\n\n<html>\n<a href="http://www.flickr.com" style="text-align:center;">www.<strong style="color:#3993ff">flick<span style="color:#ff1c92">r</span></strong>.com</a><br>\n<iframe style="background-color:#ffffff; border-color:#ffffff; border:none;" width="113" height="151" frameborder="0" scrolling="no" src="http://www.flickr.com/apps/badge/badge_iframe.gne?zg_bg_color=ffffff&zg_person_id=35468148136%40N01" title="Flickr Badge"></iframe>\n</html>\n\nHere's the HTML code to insert in a tiddler:\n{{{\n<html>\n<a href="http://www.flickr.com" style="text-align:center;">www.<strong style="color:#3993ff">flick<span style="color:#ff1c92">r</span></strong>.com</a><br>\n<iframe style="background-color:#ffffff; border-color:#ffffff; border:none;" width="113" height="151" frameborder="0" scrolling="no" src="http://www.flickr.com/apps/badge/badge_iframe.gne?zg_bg_color=ffffff&zg_person_id=35468148136%40N01" title="Flickr Badge"></iframe>\n</html>\n}}}\n\nYou'll need to know your Flickr person ID, which should replace the value "35468148136%40N01" in the HTML. There's a useful [[Flickr idGettr|http://eightface.com/code/idgettr/]] to help with this.
<div id='header'>\n<div id='titleline'>\n<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='sidebar'>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebarOptions' macro="slider chkSliderSidebarOptions SideBarOptions 'search & options »' 'Search and other tools'"></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
[[GoodFlickr]]\n/***\n!Sidebars /%====================================================================================%/\n***/\n/*{{{*/\n#mainMenu{\n position: static;\n text-align: left;\n width: 17em;\n}\n\n#mainMenu h1,#mainMenu h2,#mainMenu h3{\n color: #ff0084;\n font-weight: bold;\n padding: 2px 0px;\n font-size: 1.1em;\n letter-spacing: .1em;\n border-bottom: dotted 1px #ccc;\n background-color: transparent;\n}\n\n#sidebar{\n width: 20em;\n}\n\n#sidebar ul,\n#sidebar li{\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n#sidebar .tabContents{\n width: 18em;\n}\n\n#sidebar .sliderPanel{\n border: 2px dashed #ccc;\n background: transparent;\n margin: 0;\n}\n\n#sidebar .sliderPanel a{\n display:block;\n}\n\n#sidebar .sliderPanel .sliderPanel a{\n display:inline;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* TIDDLER DISPLAY/EDIT SPACE ========================================================== */\n\n#contentWrapper .tiddler {\n margin: 0 0 10px 0;\n padding: 0 15px !important;\n border: dotted 1px #fff;\n color: #666;\n}\n\n.tiddler .title {\n background-color: #e9e9e9;\n}\n\n.selected {\n border: dotted 1px #ccc;\n margin: -1px;\n}\n\n.selected .viewer {\n color: #000 !important; \n}\n\n.selected .viewer * {\n color: #000;\n}\n\n.selected .viewer h2, .selected .viewer h4, .selected .viewer h6, .selected .viewer h3, .selected .viewer h5 {\n color: #0063dc;\n}\n\n.selected .viewer pre,.selected .viewer li{\n color: #000 !important;\n}\n\n.selected .title {\n color: #ff0084;\n background-color: #e9e9e9;\n}\n\n#contentWrapper .selected .viewer a {\n color: #0063dc;\n background-color: transparent;\n}\n\n#contentWrapper .selected .viewer a:hover {\n color: #ff0084;\n \n}\n\n#messageArea {\n font-size: 13px;\n font-weight: bold;\n padding: 5px;\n margin: 10px 20px;\n color: #ff0084;\n border: dotted 1px #ccc;\n text-align: center;\n background: #fff;\n}\n\n#messageArea a {\n color: #0063dc !important;\n}\n\n#messageArea a:hover {\n color: #ff0084 !important;\n}\n\n#displayArea .tiddlyLinkExisting {\n font-weight: bold;\n text-decoration: none;\n}\n\n#displayArea .tiddlyLinkNonExisting {\n font-style: italic;\n text-decoration: none;\n}\n\n#displayArea .externalLink {\n text-decoration: underline;\n}\n\n.title {\n font-size: 1.3em;\n padding: 0 0 0 0;\n font-weight: bold;\n display: block;\n color: #0063dc;\n}\n\n.toolbar {\n font-weight: normal;\n font-size: 11px;\n visibility: hidden;\n text-align: right;\n padding: 0 0 5px 0;\n margin: 0;\n}\n\n.toolbar a.button {\n padding: 1px 5px;\n color: #fff;\n text-decoration: none;\n border: 1px outset #0063dc;\n background: #0063dc;\n margin: 1px;\n}\n\n.toolbar a.button:hover {\n color: #fff;\n background: #ff0084;\n border: 1px outset #ff0084;\n}\n\n.toolbar a.button:active {\n color: #fff;\n background: #ff0084;\n border: 1px inset #ff0084;\n}\n\n.tagLinks {\n padding-top: 5px;\n margin-top: 10px;\n border-top: 1px dotted #ccc;\n color: #aaa;\n}\n\n.tagLinks a {\n color: #aaa;\n}\n\n.selected .tagLinks a {\n color: #0063dc;\n}\n\n.tagLinks a:hover {\n color: #ff0084;\n}\n\n\n#contentWrapper .viewer {\n line-height: 140%;\n color: #666;\n}\n\n#contentWrapper .viewer a{\n font-weight: bold;\n color: #666;\n text-decoration: none;\n background-color: transparent;\n}\n\n#contentWrapper .viewer h1, #contentWrapper .viewer h2, #contentWrapper .viewer h3, #contentWrapper .viewer h4, #contentWrapper .viewer h5, #contentWrapper .viewer h6{\n background-color: transparent;\n border-bottom: 1px dotted #666;\n margin-bottom: .25em;\n}\n\n.viewer blockquote {\n border-left: 3px solid #777;\n margin: 5px;\n padding: 5px;\n}\n\n.viewer ul {\n padding-left: 30px;\n}\n\n.viewer ol {\n padding-left: 30px;\n}\n\nol\n{\n list-style-type: decimal;\n}\n\nol ol\n{\n list-style-type: lower-alpha;\n}\n\nol ol ol\n{\n list-style-type: lower-roman;\n}\n\n.viewer ul, .viewer ol, .viewer p {\n margin: 5px 0 12px 0;\n}\n\n.viewer li {\n margin: 3px 0;\n}\n\n.viewer pre{\n font-family: monspace;\n}\n\n#contentWrapper .viewer *{\n color: #666;\n}\n\n\n.viewer h2 {\n font-size: 1.2em;\n}\n\n.viewer h3 {\n font-size: 1.1em;\n font-style: italic;\n}\n\n.viewer h4 {\n font-size: 1em;\n}\n\n.viewer h5 {\n font-size: .9em;\n font-style: italic;\n}\n\n.viewer h6 {\n font-size: .8em;\n}\n\n.viewer table {\n border-collapse: collapse;\n border: 2px solid #303030;\n font-size: 11px;\n margin: 10px 0;\n}\n\n.viewer th {\n background: #eee;\n border: 1px solid #aaa;\n padding: 3px;\n}\n\n.viewer td {\n border: 1px solid #aaa;\n padding: 3px;\n}\n\n.viewer caption {\n padding: 3px;\n}\n\n.viewer hr {\n border: none;\n border-top: dotted 1px #777;\n height: 1px;\n color: #fff;\n margin: 7px 0;\n}\n\n.body {\n margin: 5px 0 0px 0;\n padding: 5px 0;\n}\n\n.highlight {\n color: #000;\n background: #ffe72f;\n}\n\n.editor {\n font-size: 8pt;\n color: #402c74;\n font-weight: normal;\n padding: 10px 0;\n}\n\n.editor input, .editor textarea {\n display: block;\n font: 13px/130% "Andale Mono", "Monaco", "Lucida Console", "Courier New", monospace;\n margin: 0;\n border: 1px inset #333;\n padding: 2px 0;\n}\n\n.footer a.button,.editorFooter a.button{\n color: #e6e6e6;\n}\n\n.selected .footer a.button,\n.selected .editorFooter a.button{\n color: #0063dc;\n}\n\n.selected .footer a.button:hover,\n.selected .editorFooter a.button:hover{\n color: #ff0084;\n background-color: transparent;\n}\n\ninput:focus, textarea:focus {\n background: #ffe;\n border: 1px solid #000 !important;\n}\n/*}}}*/\n\n\n
Not just basket weaving. The study of folklore includes the study of the folk and their creative traditions. The folk can be understood many ways but makes most sense when you think of it referring to, basically, us. Folklore can be thought of as "bottom up" culture. Sometimes referred to as "vernacular" or "autochthonus" - such cultural forms can be found anywhere, anytime. Folk culture is as likely to emerge online as it is offline.
[[The term was coined by Thomas Vanderwal|http://www.hum.dmu.ac.uk/blogs/tnn/2007/02/folksonomy_definition.html]]. It refers to the form of emergent knowledge that occurs when a large number of people tag the same set of items. As they do so, he contends, shared assumptions and common terminology start to coalesce. Folksonomy may be a useful search device but may be an even more useful cultural domain. It is possible that tagging tends to occur in a PowerLaw type distribution; thus the "head" and "tail" of a community - as revealed through folksonomic analysis - may tell interesting things about the community.
StyleSheetLayout\nStyleSheetColors\nSideBarTabs\n\n[[internal link(not existing)]]\n[[internal link(exists)|StyleSheet]]\n[[external link|http://www.tiddlywiki.com]]\n[[a pretty link that doesn't exist|blahBlueBlah]]\n\n<<newTiddler>>\n\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n''Bold''\n==Strike==\n__Underline__\n//Italic//\n2^^3^^=8\na~~ij~~ = -a~~ji~~\n@@highlight@@\n@@color(green):green colored@@\n@@bgcolor(#ff0000):color(#ffffff):red colored@@\n\n[img[Selectutorial|http://css.maxdesign.com.au/selectutorial/images/header.gif][http://css.maxdesign.com.au/selectutorial/]]\n\n{{{\n Preformated text\n}}}\n\nI think this is {{{rendered as code}}}.\n\nTo make quoted bits of text stand out, you can use BlockQuotes within your [[tiddler]]s, like this:\n\nJeremyRuston said:\n<<<\nA TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole.\n<<<\n\nLike BulletPoints and NumberedBulletPoints, you can have three different levels of BlockQuotes. Just [[edit]] this tiddler to see how it's done.\n\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n\nCreating BulletPoints is simple.\n* Just add an asterisk\n* at the beginning of a line.\n** If you want to create sub-bullets\n** start the line with two asterisks\n*** And if you want yet another level\n*** use three asterisks\n* Edit this tiddler to see how it's done\n* You can also do NumberedBulletPoints\n\nIt's easy to create NumberedBulletPoints.\n# Use a single '#' at the start of each line\n# and the tiddler will automatically\n# start numbering your list.\n## If you want a sub-list\n## within any bullets\n## add two '#'s at the start of the lines.\n# When you go back to a single '#'\n# the main numbered list will start up\n# where it left off.\n\nIt's just as simple to do normal BulletPoints.\n\nEdit this tiddler to see how to insert images.\n[img[Fractal vegetable|fractalveg.jpg]]\n(This curious vegetable is called 'Romanesque broccoli' and is one of [[my photos|http://www.flickr.com/photos/jermy/]])\n\nYou can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves\n\n*sample:\n|!th1111111111|!th2222222222|\n|>| colspan |\n| rowspan |left|\n|~| right|\n|bgcolor(#a0ffa0):colored| center |\n|caption|c\n\n*sample (changed caption and table headers):\n|caption|c\n|th1111111111|th2222222222|h\n|>| colspan |\n| rowspan |left|\n|~| right|\n|bgcolor(#a0ffa0):colored| center |\n\n|Standard Periodic Table (ref. Wikipedia)|c\n|| !1 | !2 |!| !3 | !4 | !5 | !6 | !7 | !8 | !9 | !10 | !11 | !12 | !13 | !14 | !15 | !16 | !17 | !18 |\n|!1|bgcolor(#a0ffa0): @@color(red):H@@ |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>||bgcolor(#c0ffff): @@color(red):He@@ |\n|!2|bgcolor(#ff6666): Li |bgcolor(#ffdead): Be |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccc99): B |bgcolor(#a0ffa0): C |bgcolor(#a0ffa0): @@color(red):N@@ |bgcolor(#a0ffa0): @@color(red):O@@ |bgcolor(#ffff99): @@color(red):F@@ |bgcolor(#c0ffff): @@color(red):Ne@@ |\n|!3|bgcolor(#ff6666): Na |bgcolor(#ffdead): Mg |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccccc): Al |bgcolor(#cccc99): Si |bgcolor(#a0ffa0): P |bgcolor(#a0ffa0): S |bgcolor(#ffff99): @@color(red):Cl@@ |bgcolor(#c0ffff): @@color(red):Ar@@ |\n|!4|bgcolor(#ff6666): K |bgcolor(#ffdead): Ca ||bgcolor(#ffc0c0): Sc |bgcolor(#ffc0c0): Ti |bgcolor(#ffc0c0): V |bgcolor(#ffc0c0): Cr |bgcolor(#ffc0c0): Mn |bgcolor(#ffc0c0): Fe |bgcolor(#ffc0c0): Co |bgcolor(#ffc0c0): Ni |bgcolor(#ffc0c0): Cu |bgcolor(#ffc0c0): Zn |bgcolor(#cccccc): Ga |bgcolor(#cccc99): Ge |bgcolor(#cccc99): As |bgcolor(#a0ffa0): Se |bgcolor(#ffff99): @@color(green):Br@@ |bgcolor(#c0ffff): @@color(red):Kr@@ |\n|!5|bgcolor(#ff6666): Rb |bgcolor(#ffdead): Sr ||bgcolor(#ffc0c0): Y |bgcolor(#ffc0c0): Zr |bgcolor(#ffc0c0): Nb |bgcolor(#ffc0c0): Mo |bgcolor(#ffc0c0): Tc |bgcolor(#ffc0c0): Ru |bgcolor(#ffc0c0): Rh |bgcolor(#ffc0c0): Pd |bgcolor(#ffc0c0): Ag |bgcolor(#ffc0c0): Cd |bgcolor(#cccccc): In |bgcolor(#cccccc): Sn |bgcolor(#cccc99): Sb |bgcolor(#cccc99): Te |bgcolor(#ffff99): I |bgcolor(#c0ffff): @@color(red):Xe@@ |\n|!6|bgcolor(#ff6666): Cs |bgcolor(#ffdead): Ba |bgcolor(#ffbfff):^^*1^^|bgcolor(#ffc0c0): Lu |bgcolor(#ffc0c0): Hf |bgcolor(#ffc0c0): Ta |bgcolor(#ffc0c0): W |bgcolor(#ffc0c0): Re |bgcolor(#ffc0c0): Os |bgcolor(#ffc0c0): Ir |bgcolor(#ffc0c0): Pt |bgcolor(#ffc0c0): Au |bgcolor(#ffc0c0): @@color(green):Hg@@ |bgcolor(#cccccc): Tl |bgcolor(#cccccc): Pb |bgcolor(#cccccc): Bi |bgcolor(#cccc99): Po |bgcolor(#ffff99): At |bgcolor(#c0ffff): @@color(red):Rn@@ |\n|!7|bgcolor(#ff6666): Fr |bgcolor(#ffdead): Ra |bgcolor(#ff99cc):^^*2^^|bgcolor(#ffc0c0): Lr |bgcolor(#ffc0c0): Rf |bgcolor(#ffc0c0): Db |bgcolor(#ffc0c0): Sq |bgcolor(#ffc0c0): Bh |bgcolor(#ffc0c0): Hs |bgcolor(#ffc0c0): Mt |bgcolor(#ffc0c0): Ds |bgcolor(#ffc0c0): Rg |bgcolor(#ffc0c0): @@color(green):Uub@@ |bgcolor(#cccccc): Uut |bgcolor(#cccccc): Uuq |bgcolor(#cccccc): Uup |bgcolor(#cccccc): Uuh |bgcolor(#fcfecc): @@color(#cccccc):Uus@@ |bgcolor(#ecfefc): @@color(#cccccc):Uuo@@ |\n\n| !Lanthanides^^*1^^|bgcolor(#ffbfff): La |bgcolor(#ffbfff): Ce |bgcolor(#ffbfff): Pr |bgcolor(#ffbfff): Nd |bgcolor(#ffbfff): Pm |bgcolor(#ffbfff): Sm |bgcolor(#ffbfff): Eu |bgcolor(#ffbfff): Gd |bgcolor(#ffbfff): Tb |bgcolor(#ffbfff): Dy |bgcolor(#ffbfff): Ho |bgcolor(#ffbfff): Er |bgcolor(#ffbfff): Tm |bgcolor(#ffbfff): Yb |\n| !Actinides^^*2^^|bgcolor(#ff99cc): Ac |bgcolor(#ff99cc): Th |bgcolor(#ff99cc): Pa |bgcolor(#ff99cc): U |bgcolor(#ff99cc): Np |bgcolor(#ff99cc): Pu |bgcolor(#ff99cc): Am |bgcolor(#ff99cc): Cm |bgcolor(#ff99cc): Bk |bgcolor(#ff99cc): Cf |bgcolor(#ff99cc): Es |bgcolor(#ff99cc): Fm |bgcolor(#ff99cc): Md |bgcolor(#ff99cc): No |\n\n*Chemical Series of the Periodic Table\n**@@bgcolor(#ff6666): Alkali metals@@\n**@@bgcolor(#ffdead): Alkaline earth metals@@\n**@@bgcolor(#ffbfff): Lanthanides@@\n**@@bgcolor(#ff99cc): Actinides@@\n**@@bgcolor(#ffc0c0): Transition metals@@\n**@@bgcolor(#cccccc): Poor metals@@\n**@@bgcolor(#cccc99): Metalloids@@\n**@@bgcolor(#a0ffa0): Nonmetals@@\n**@@bgcolor(#ffff99): Halogens@@\n**@@bgcolor(#c0ffff): Noble gases@@\n\n*State at standard temperature and pressure\n**those in @@color(red):red@@ are gases\n**those in @@color(green):green@@ are liquids\n**those in black are solids\n\n<<tiddler SideBarTabs>>
<div id='header'>\n<div id='titleLine'>\n<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>\n<span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='sidebar'>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div><div id="licensePanel">\n<a rel="license" href="http://shared.snapgrid.com/gtd_tiddlywiki.html#RevisionHistory" target="_new">GTDTW Version <span macro="version"></span></a>\n<a rel="license" href="http://www.tiddlywiki.com" target="_new">\nTiddlyWiki is published by Jeremy Ruston at Osmosoft under a BSD open source license</a>\n<a rel="license" href="http://snapgrid.com" target="_new">GTD TiddlyWiki is a modification by Nathan Bowers at Snapgrid under the same license terms.</a>\n<a rel="license" href="http://davidco.com" target="_new">"Getting Things Done" is &#169; David Allen at Davidco. Davidco has no affiliation with TiddlyWiki or GTD TiddlyWiki.</a></div></div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>
/***\n!GTD Style\nhttp://tiddlystyles.com/#theme:GTD\n\n!Generic rules /%==================================================================== %/\n***/\n/*{{{*/\nbody {\n background: #464646 url('http://shared.snapgrid.com/images/tiddlywiki/bodygradient.png') repeat-x top fixed;\n color: #000;\n font: .82em/1.25em "Bitstream Vera Sans", Verdana, Helvetica, Arial, sans-serif;\n/*"Lucida Sans Unicode", "Lucida Grande","Trebuchet MS", */\n}\n/*}}}*/\n/***\n!Header rules /%====================================================================== %/\n***/\n/*{{{*/\n#contentWrapper\n{\n margin: 0 auto;\nwidth: 59em;\nposition: relative;\n}\n\n#header\n{\n color: #fff;\n padding: 1.5em 1em .6em 0;\n}\n\n#siteTitle {\n\n font-size: 2.3em;\n margin: 0;\n}\n\n#siteSubtitle {\n font-size: 1em;\n padding-left: .8em;;\n}\n\n#titleLine{\n background: transparent;\n padding: 0;\n}\n\n#titleLine a {\n color: #cf6;\n}\n\n#titleLine a:hover {\n background: transparent;\n}\n/*}}}*/\n/***\n!Sidebar rules /%====================================================================== %/\n***/\n/*{{{*/\n#sidebar{\n left: 0;\nwidth: 18em;\n margin: .9em .9em 0 0;\n color: #000;\n background: transparent;\n}\n/*}}}*/\n/***\n!Main menu rules /%=================================================================== %/\n***/\n/*{{{*/\n#mainMenu{\n position: static;\n width: auto;\n\n background: #600;\n border-right: 3px solid #500;\npadding: 0;\n text-align: left;\n font-size: 1em;\n}\n\n#mainMenu h1{\n padding: 5px;\n margin: 0;\n font-size: 1em;\n font-weight: bold;\n background: transparent;\n color: #fff;\n}\n\n#mainMenu ul{\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n#mainMenu h1 a,\n#mainMenu li a,\n#mainMenu li a.button{\n display: block;\n padding: 0 5px 0 10px;\nborder: 0;\n border-bottom: 1px solid #500;\n border-top: 1px solid #900;\nmargin: 0;\n}\n\n#mainMenu a,\n#mainMenu a.button{\n height: 22px;\nheight: 1.83em;\n line-height: 22px;\n color: #fff;\n background: #700;\nmargin-left: 1em;\n}\n\n#mainMenu a:hover,\n#mainMenu a.button:hover {\n background: #b00;\n color: #fff;\n}\n/*}}}*/\n/***\n!Sidebar options rules /%============================================================ %/\n***/\n/*{{{*/\n#sidebarOptions {\n background: #eeb;\n border-right: 3px solid #bb8;\n color: #B4C675;\n padding: .5em 0;\n}\n\n#sidebarOptions a {\n color: #700;\n margin: .2em .8em;\n padding: 0;\n border: 0;\n}\n\n#sidebarOptions a:hover, #sidebarOptions a:active {\n color: #fff;\n background: #700;\n border: 0;\n}\n\n#sidebarOptions input{\n margin: 2px 10px;\n border: 1px inset #333;\npadding: 0;\n}\n\n#sidebarOptions .sliderPanel {\n background: #fff;\n color: #000;\n padding: 5px 10px;\n font-size: .9em;\n}\n\n#sidebarOptions .sliderPanel a{\n font-weight: normal;\n margin: 0;\n}\n\n#sidebarOptions .sliderPanel a:link,#sidebarOptions .sliderPanel a:visited {\n color: #700;\n}\n\n#sidebarOptions .sliderPanel a:hover,#sidebarOptions .sliderPanel a:active {\n color: #fff;\n background: #700;\n}\n/*}}}*/\n/***\n!Sidebar tabs rules /%===================================================================== %/\n***/\n/*{{{*/\n#sidebarTabs {\n background: transparent;\n border-right: 3px solid #740;\n border-bottom: 3px solid #520;\n border: 0;\n padding: 0;\n}\n\n#contentWrapper #sidebarTabs a,\n#contentWrapper #displayArea .tabContents a{\n color: #fff;\n}\n\n#contentWrapper #sidebarTabs a:hover,\n#contentWrapper #displayArea .tabContents a:hover {\n background: #000;\n color: #fff;\n}\n\n#contentWrapper #sidebarTabs a:active,\n#contentWrapper #displayArea .tabContents a:active{\n color: #000;\n}\n\n\n\n#contentWrapper .tabSelected {\n background: #960;\n}\n\n#contentWrapper .tabUnselected{\n background: #660;\n}\n\n#contentWrapper #sidebar .tabset{\n background: #eeb;\n border-right: 3px solid #bb8;\n padding: 0 0 0 .75em;\n}\n\n#contentWrapper .tabContents{\nfont-size: .95em;\nbackground: #960;\nborder:0;\n border-right: 3px solid #740;\n border-bottom: 3px solid #520;\n padding: .75em;\n}\n\n#contentWrapper .tabContents{\n width: auto;\n}\n\n#contentWrapper #sidebarTabs .tabContents .tabset,\n#contentWrapper .tabContents .tabset{\n border: 0;\n padding: 0;\n background: transparent;\n}\n\n#contentWrapper .tabContents .tabSelected,\n#contentWrapper .tabContents .tabContents {\n background: #700;\n border: 0;\n}\n\n#contentWrapper .tabContents .tabUnselected {\n background: #440;\n}\n\n#contentWrapper .tabset a {\n color: #fff;\n padding: .2em .7em;\n margin: 0 .17em 0 0;\n height: 2em;\nposition: static;\n}\n\n#contentWrapper .tabset a:hover {\n background: #000;\n color: #fff;\n}\n\n#contentWrapper .tabset a:active {\n color: #000;\n}\n\n#contentWrapper .tabContents ul{\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n#contentWrapper .tabContents .tabContents ul{\n color: #eeb;\n}\n\n.tabContents ul a,\n.tabContents ul .button{\n color: #fff;\n display: block;\n padding: .1em 0 .1em .7em;\n background: transparent;\n border: 0;\n}\n\n.tabContents ul a:hover {\n color: #fff;\n background: #000;\n}\n/*}}}*/\n/***\n!License panel rules /%==================================================================== %/\n***/\n/*{{{*/\n#licensePanel {\n padding: 0px 1em;\n font-size: .9em;\n}\n\n#licensePanel a {\n color: #960;\n display: block;\n margin-top: .9em;\n}\n\n#licensePanel a:hover {\n color: #fff;\n background: transparent;\n}\n/*}}}*/\n/***\n!Popup rules /%================================================================= %/\n***/\n/*{{{*/\n.popup {\n font-size: .8em;\n padding: 0em;\n background: #333;\n border: 1px solid #000;\n}\n\n.popup hr {\n margin: 1px 0 0 0;\n visibility: hidden;\n}\n\n.popup li.disabled {\n color: #666;\n}\n\n.popup li a,\n.popup li a:visited{\n color: #000;\n border: .1em outset #cf6;\n background: #cf6;\n}\n\n.popup li a:hover {\nborder: .1em outset #cf6;\n background: #ef9;\n color: #000;\n}\n/*}}}*/\n/***\n!Message area rules /%================================================================= %/\n***/\n/*{{{*/\n#messageArea{\n font-size: .9em;\n padding: .4em;\n background: #FFE72F;\n border-right: .25em solid #da1;\n border-bottom: .25em solid #a80;\n\nposition: fixed;\n top: 10px;\n right: 10px;\n color: #000;\n}\n\n#contentWrapper #messageArea a{\n color: #00e;\n text-decoration: none;\n}\n\n#contentWrapper #messageArea a:hover{\n color: #00e;\n text-decoration: underline;\n background: transparent;\n}\n\n#contentWrapper #messageArea .messageToolbar a.button{\n border: 1px solid #da1;\n}\n\n#contentWrapper #messageArea .messageToolbar a.button:hover{\n color: #00e;\n text-decoration: none;\n border: 1px solid #000;\n background: #fff;\n}\n\n\n\n/*}}}*/\n/***\n!Tiddler display rules /%================================================================== %/\n***/\n/*{{{*/\n#displayArea {\n width: 39.75em;\n margin: 0 0 0 17em;\n}\n\n.tiddler {\n margin: 0 0 .9em 0;\n padding: 0 1em;\n border-right: .25em solid #aaa;\n border-bottom: .25em solid #555;\n background: #fff;\n}\n\n.title {\n font-size: 1.5em;\n font-weight: bold;\n color: #900;\n}\n\n.toolbar {\n font-size: .8em;\n padding: .5em 0;\n}\n\n.toolbar .button{\n padding: .1em .3em;\n color: #000;\n\n border: .1em outset #cf6;\n background: #cf6;\nmargin: .1em;\n}\n\n.toolbar .button:hover {\n background: #ef9;\n color: #000;\n}\n\n.toolbar .button:active {\n background: #ff0;\n}\n\n/*}}}*/\n/***\n!Viewer rules /% ------------------------------------------------------------------------------------------ %/\n***/\n/*{{{*/\n.viewer {\n line-height: 1.4em;\n font-size: 1em;\n}\n\n.viewer a:link, .viewer a:visited {\n color: #15b;\n}\n\n.viewer a:hover {\n color: #fff;\n background: #000;\n}\n\n.viewer .button{\n background: transparent;\n border-top: 1px solid #eee;\n border-left: 1px solid #eee;\n border-bottom: 1px solid #000;\n border-right: 1px solid #000;\n}\n\n.viewer .button:hover{\n background: #eee;\n color: #000;\n}\n\n.viewer .button:active{\n background: #ccc;\n border-bottom: 1px solid #eee;\n border-right: 1px solid #eee;\n border-top: 1px solid #111;\n border-left: 1px solid #111;\n}\n\n\n.viewer blockquote {\n border-left: 3px solid #777;\n margin: .3em;\n padding: .3em;\n}\n\n.viewer pre{\n background: #fefefe;\n border: 1px solid #f1f1f1;\n}\n\n.viewer pre, .viewer code{\n color: #000;\n}\n\n.viewer ul {\n padding-left: 30px;\n}\n\n.viewer ol {\n padding-left: 30px;\n}\nul{\nlist-style-type: asquare;\n}\nol{ \n list-style-type: decimal;\n}\n\nol ol{ \n list-style-type: lower-alpha;\n}\n\nol ol ol{ \n list-style-type: lower-roman;\n}\n\n.viewer ul, .viewer ol, .viewer p {\n margin: .0;\n}\n\n.viewer li {\n margin: .2em 0;\n}\n\nh1,h2,h3,h4,h5,h6 {\n color: #000;\n font-weight: bold;\n background: #eee;\n padding: 2px 10px;\n margin: 5px 0;\n}\n\n.viewer h1 {font-size: 1.3em;}\n.viewer h2 {font-size: 1.2em;}\n.viewer h3 {font-size: 1.1em;}\n.viewer h4 {font-size: 1em;}\n.viewer h5 { font-size: .9em;}\n.viewer h6 { font-size: .8em;}\n\n.viewer table {\n border: 2px solid #303030;\n font-size: 11px;\n margin: 10px 0;\n}\n\n.viewer th, .viewer thead td{\n color: #000;\n background: #eee;\n border: 1px solid #aaa;\n padding: 0 3px;\n}\n\n.viewer td {\n border: 1px solid #aaa;\n padding: 0 3px;\n}\n\n.viewer caption {\n padding: 3px;\n}\n\n.viewer hr {\n border: none;\n border-top: dotted 1px #777;\n height: 1px;\n color: #777;\n margin: 7px 0;\n}\n\n.viewer\n{\n margin: .5em 0 0 0;\n padding: .5em 0;\n border-top: 1px solid #ccc;\n}\n\n.highlight {\n color: #000;\n background: #ffe72f;\n}\n/*}}}*/\n/***\n!Editor rules /% ----------------------------------------------------------------------------------------- %/\n***/\n/*{{{*/\n.editor {\n font-size: .8em;\n color: #402C74;\n padding: .3em 0;\n}\n\n.editor input, .editor textarea {\n font: 1.1em/130% "Andale Mono", "Monaco", "Lucida Console", "Courier New", monospace;\n margin: 0;\n border: 1px inset #333;\n padding: 2px 0;\n}\n\n.editor textarea {\n height: 42em;\n width: 100%;\n}\n\ninput:focus, textarea:focus\n{\n background: #ffe;\n border: 1px solid #000;\n}\n.footer\n{\n padding: .5em 0;\n margin: .5em 0;\n border-top: 1px solid #ddd;\n color: #555;\n text-align: center; \n}\n/*}}}*/\n/***\n!IE Display hacks /% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%/\n***/\n/*{{{*/\nbody{\n _text-align: center;\n}\n\n#contentWrapper\n{\n/* _width: 770px; CSS UNDERSCORE HACK FOR PROPER WIN/IE DISPLAY */\n _text-align: left; /* CSS UNDERSCORE HACK FOR PROPER WIN/IE DISPLAY */ \n}\n\n#messageArea{\n _position: absolute;\n}\n/*}}}*/
NathanBower's GTDTiddlyWiki is an adaptation of an earlier revision of TiddlyWiki. It's geared towards DavidAllen's GettingThingsDone methodology for personal productivity. It's available [[here|http://shared.snapgrid.com/gtd_tiddlywiki.html]] and Nathan is also hosting a forum for discussions about it [[on his site|http://shared.snapgrid.com/gtd-forum/]].\n\nIf you want to have the GTD look-and-feel but still be able to use the latest TiddlyWiki features, check out the GTD Style at [[TiddlerWiki|http://checketts.objectis.net/wiki/]]
Clifford Geertz. //[[The Interpretation of Cultures|http://www.citeulike.org/article/197319]]//. 1973.
A new feature for the ThirdVersion of TiddlyWiki is the ability to generate an RssFeed of its content. You can flick it on with a new addition to the InterfaceOptions. If enabled, it automatically saves an RSS 2.0 format file with the last few changed tiddlers in it. It's given the same filename as the TiddlyWiki file but with the ".xml" extension. Like all TiddlyWiki features, it's experimental, and will probably be a bit temperamental in your feedreader until the bugs are ironed out.\n\nNote that you must set the tiddler SiteUrl to be the URL where your TiddlyWiki will be published. (Don't put leading spaces or line breaks before or after the URL).
You'll also need to enter your username for signing your edits: <<option txtUserName>>
|''URL:''|http://gimcrackd.com/etc/src/|\n|''Description:''|Gimcrack'd: Code and Other Oddments|\n|''Author:''|ChrisKlimas|
Often presented as a risk; what if one loses ones scientific detachment and starts to think that people one is working with might have a better way of life than one's own. Sometimes ethnographers go to the field and never come back.\n\nOn the other hand, ethnography is not about detachment, it's about engagement.\n\nActivist ethnography and AutoEthnography assume that the ethnographer acts as a native or is already a native before hand.\n\nAlready GoneNative?
<<<\nWhen I was studying ethnography at UCLA, the instructors spent a lot of time drumming into us the necessity of being a detached observer. "Going native" was considered the ultimate slur against a fellow anthropologist. And yet, some of the best information that we have about some societies comes from travelers who have "gone native" in a big way. Case in point, the French artist Paul Gauguin, and his luminous description of a season in Tahiti in 1891. http://www.sacred-texts.com/pac/noa/index.htm\n<<<\n\nThe anthropologist gone native is a popular trope in sci-fi and fantasy writing. The Star Trek movie "Insurrection" has Data go native. Ursula Le Guin is the daughter of a famous anthropologist while Camille ~Bacon-Smith is an ethnographer of sci-fi fandom and a published sci-fi author. (Links left for you to chase)\n\nEthnographers of religious belief are prone to becoming advocates of the religion. [[Bronislaw Malinowski|BronislawMalinowski]] is often portrayed as having gone native but that's an overstatement. Still, you can watch a documentary about it.\n\nEdith Turner, wife of Victor Turner, revisited his fieldwork and discovered that\n<<<\nThen I knew the Africans were right. There is spirit stuff. There is spirit affliction; it is not a matter of metaphor and symbol, or even psychology. And I began to see how anthropologists have perpetuated an endless series of put-downs about the many spirit events in which they participated—"participated" in a kindly pretense. They might have obtained valuable material, but they have been operating with the wrong paradigm, that of the positivists' denial. ([[Turner 1997]])\n<<<\nA great little rant can be found at http://www.timothyjpmason.com/WebPages/Publications/Magician.html
/***\nhttp://tiddlystyles.com/#theme:Flickr\n!General Rules\n***/\n\n/*{{{*/\n* {\n margin: 0px;\n}\n\n#displayArea {\n margin: 1em 17em 0em 2em;\n}\n\na,\n.button{\n color: #0063dc;\n text-decoration: none;\n background: transparent;\n border: 0;\n}\n\na:hover, a:active, a.button:hover {\n color: #ff0084;\n background: transparent;\n}\n/*}}}*/\n/***\n!Header /%====================================================================================%/\n***/\n/*{{{*/\n#header {\n color: #ff0084;\n padding: 0px;\n}\n\n#titleline{\n background-color: transparent;\n padding:0;\n border-bottom: 2px dotted #ccc;\n}\n\n#siteTitle {\n font-size: 2.5em;\n color: #0063dc;\n}\n\n#siteSubtitle {\n color: #ff0084;\n}\n\n#titleLine a{\n color: #0063dc;\n}\n\n#titleLine a:hover{\n color: #ff0084;\n}\n/*}}}*/\n/***\n!Popup /%====================================================================================%/\n***/\n/*{{{*/\n#popup{\n background-color: #fff;\n}\n\n#popup hr{\n color: #e6e6e6;\n}\n\n#popup a{\n color: #ff0084;\n background-color: #fff;\n}\n\n#popup a:hover{\n color: #0063dc;\n background-color: #fff;\n}\n/*}}}*/
<<gradient horiz #bbbbbb #eeeeee #ffffff>>The new GradientMacro allows simple horizontal and vertical coloured gradients. They are constructed from coloured HTML elements, and don't require any images to work.>>\nThe GradientMacro is an ExtendedMacro that processes the text after it up until the next '>>' sequence. It looks like this:\n{{{\n<<gradient vert #ffffff #ffdddd #ff8888>>gradient fill>>\n}}}\nThe first parameter can be ''vert'' or ''horiz'' to indicate the direction of the gradient. The following parameters are two or more colours (CSS RGB(r,g,b) format is also acceptable). The GradientMacro constructs a smooth linear gradient between each of the colours in turn.\n\n| <<gradient vert #ffffff #ffdddd #ff8888>>No images were harmed in the making of this gradient fill>> | <<gradient vert #ffffff #ddffdd #88ff88>>No images were harmed in the making of this gradient fill>> | <<gradient vert #ffffff #ddddff #8888ff>>No images were harmed in the making of this gradient fill>> |\n\nInline CSS definitions can be added to gradient fills like this:\n\n<<gradient vert #000000 #660000 #aa2222>>color:#ffffff;font-size:12pt;Darkness>>\n{{{\n<<gradient vert #000000 #660000 #aa2222>>color:#ffffff;font-size:12pt;Darkness>>\n}}}\n
Several popular GreaseMonkey scripts can cause some or all features of TiddlyWiki to stop working - the default Linkify script seems to be particularly troublesome. There doesn't seem to be a //solid// way to disable GreaseMonkey from within TiddlyWiki (which is technically entirely understandable but does lead to a fairly grim user experience).
TiddlyWiki makes a great GuerillaWiki in situations where it's not practical to use a traditional wiki.\n\nFor instance, in a corporate setting, persuading an over-worked IT department to install you a Wiki server for you isn't always going to be possible overnight. And your PC is locked down so you can't install a conventional Wiki yourself. But, equally, you can't go and use one of the public hosted Wiki services because your Information Security department would not allow all that corporate data to flow into an outside server.\n\nTiddlyWiki slices through those barriers by being usable on virtually all PCs.
This is one of a series of guest lectures for the inaugral year of Creative Writing and New Media at DMU. I won't bother making links because let's face it, you ought to know them by now.\n\nFollow the tag CWNM in order to ensure that you read all of the appropriate tiddlers for the lecture. We'll talk about it on blackboard.\n\nYou are welcome to write all over this yourselves, maybe add a tiddler for yourself and tag it with TheMob.\n\nTiddlyWiki is great fun to play with. I'm tempted to tag certain things with WhiteRabbit (what do you mean it doesn't exist yet?).
Welcome to TiddlyWiki, a free MicroContent WikiWikiWeb created by JeremyRuston and a busy [[Community]] of independent developers. It's written in HTML, CSS and JavaScript to run on any modern browser without needing any ServerSide logic. It allows anyone to create personal SelfContained hypertext documents that can be posted to a WebServer, sent by email or kept on a USB thumb drive to make a WikiOnAStick. Because it doesn't need to be installed and configured it makes a great GuerillaWiki. This is revision <<version>> of TiddlyWiki (see [[recent changes|http://trac.tiddlywiki.org/tiddlywiki/wiki/History]]), and is published under an OpenSourceLicense.
/***\n|Name|HelloWorldMacro|\n|Created by|SimonBaird|\n|Location|http://simonbaird.com/mptw/#HelloWorldMacro|\n|Version|1.1|\n|Requires|~TW2.x|\n!Description\nIt's a Hello World TiddlyWiki macros.\n\n!History\n* 11-Jan-06, version 1.1, updated for ~TW2.0\n\n!Examples\n|!Source|!Output|h\n|{{{<<helloWorld dude>>}}}|<<helloWorld dude>>|\n|{{{<<helloWorld 'to everyone'>>}}}|<<helloWorld 'to everyone'>>|\n(You can use (single or double) quotes or double square brackets for params with spaces)\n\n!Notes\nThis is intended to help you get started with customising your TW. To make the macro work you have to give this tiddler a tag of systemConfig then save and reload. To learn more about customising Tiddlywiki? Look at other people's plugins or... click View, Source in your browser and start reading. :)\n\n!Code\n***/\n//{{{\nconfig.macros.helloWorld = {};\nconfig.macros.helloWorld.handler = function (place,macroName,params,wikifier,paramString,tiddler) {\n var who = params.length > 0 ? params[0] : "world";\n wikify("Hello //" + who + "// from the '" + macroName + "' macro in tiddler [[" + tiddler.title + "]].", place);\n}\n\n//}}}\n
/***\n| Name:|HideWhenPlugin|\n| Description:|Allows conditional inclusion/exclusion in templates|\n| Version:|6.1.2|\n| Date:|20-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\nFor use in ViewTemplate and EditTemplate. Eg\n{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}\n{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}\n***/\n//{{{\n\nwindow.removeElementWhen = function(test,place) {\n if (test) {\n removeChildren(place);\n place.parentNode.removeChild(place);\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 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});\n\n//}}}\n\n
Christine Hine, //[[Virtual Ethnography|http://www.citeulike.org/article/171785]]//, 2000.
!Tags\nThere's a grey box to the right of the page with 4 tabs:''Timeline All Tags More''\n* ''Tags'' shows you all the tags in the wiki. I have put the tag [[CWNM]] on every tiddler that pertains to the guest lecture. That way you can easily navigate the guest lecture should you so wish. \n* ''Timeline'' is less useful as all it does is tell you when I created the tiddlers. Useful if you want to examine my creative process I suppose.\n* ''More'' is rather technical and ''All'' does what it says on the tin.\n!Contributions\nIf you want to contribute anything, please do provide a tiddler named after you and tag it with TheMob.\n!Formatting\nIf you want to know how to do something, look at the [[formatting]] tag as that will provide you with more information. Alternately, edit a tiddler that does what you want and see what it looks like.
Nicholas Holt, "[[Representation, Legitimation, and Autoethnography: An Autoethnographic Writing Story"|http://www.ualberta.ca/~iiqm/backissues/2_1/pdf/holt.pdf]]", //International Journal of Qualitative Methods// 2 (1) WINTER 2003.\n
You can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves
The core TiddlyWiki code is regularly updated with bug fixes and new features. If you're using an earlier revision of TiddlyWiki, here's the simple way to upgrade to the latest version:\n* Open your TiddlyWiki file in FireFox (say it's called "mystuff.html")\n* SaveChanges (with SaveBackups switched on) to make sure that you've got a backup of it\n* Without closing that page, right-click on [[this link|http://www.tiddlywiki.com/empty.html]], select 'Save target' or 'Save link' and save it as "mystuff.html", replacing your existing file\n* Now go back to the previously opened copy of "mystuff.html" in your browser and SaveChanges again. It will inherit the newly saved code\n* Refresh the page in the browser to verify that the upgrade has worked\nThe most likely cause of the upgrade process not working properly is that one of the [[Plugins]] you're using is not compatible with a change in the new release. If so, you can use the [[ImportTiddlersPlugin|http://www.tiddlytools.com/#ImportTiddlersPlugin]] from TiddlyTools to selectively import your content and [[Plugins]] into a new empty TiddlyWiki.
Entities in HTML documents allow characters to be entered that can't easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;). There's a complete reference [[here|http://www.htmlhelp.com/reference/html40/entities/]]; some of the more common and useful ones are shown below. Also see [[Paul's Notepad|http://thepettersons.org/PaulsNotepad.html#GreekHtmlEntities%20HtmlEntitiesList%20LatinHtmlEntities%20MathHtmlEntities]] for a more complete list.\n\n|>|>|>|>|>|>| !HTML Entities |\n| &amp;nbsp; | &nbsp; | no-break space | &nbsp;&nbsp; | &amp;apos; | &apos; | single quote, apostrophe |\n| &amp;ndash; | &ndash; | en dash |~| &amp;quot; | &quot; | quotation mark |\n| &amp;mdash; | &mdash; | em dash |~| &amp;prime; | &prime; | prime; minutes; feet |\n| &amp;hellip; | &hellip; | horizontal ellipsis |~| &amp;Prime; | &Prime; | double prime; seconds; inches |\n| &amp;copy; | &copy; | Copyright symbol |~| &amp;lsquo; | &lsquo; | left single quote |\n| &amp;reg; | &reg; | Registered symbol |~| &amp;rsquo; | &rsquo; | right single quote |\n| &amp;trade; | &trade; | Trademark symbol |~| &amp;ldquo; | &ldquo; | left double quote |\n| &amp;dagger; | &dagger; | dagger |~| &amp;rdquo; | &rdquo; | right double quote |\n| &amp;Dagger; | &Dagger; | double dagger |~| &amp;laquo; | &laquo; | left angle quote |\n| &amp;para; | &para; | paragraph sign |~| &amp;raquo; | &raquo; | right angle quote |\n| &amp;sect; | &sect; | section sign |~| &amp;times; | &times; | multiplication symbol |\n| &amp;uarr; | &uarr; | up arrow |~| &amp;darr; | &darr; | down arrow |\n| &amp;larr; | &larr; | left arrow |~| &amp;rarr; | &rarr; | right arrow |\n| &amp;lArr; | &lArr; | double left arrow |~| &amp;rArr; | &rArr; | double right arrow |\n| &amp;harr; | &harr; | left right arrow |~| &amp;hArr; | &hArr; | double left right arrow |\n\nThe table below shows how accented characters can be built up by subsituting a base character into the various accent entities in place of the underscore ('_'):\n\n|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |\n| grave accent | &amp;_grave; | &Agrave; | &agrave; | &Egrave; | &egrave; | &Igrave; | &igrave; | &Ograve; | &ograve; | &Ugrave; | &ugrave; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| acute accent | &amp;_acute; | &Aacute; | &aacute; | &Eacute; | &eacute; | &Iacute; | &iacute; | &Oacute; | &oacute; | &Uacute; | &uacute; | &nbsp; | &nbsp; | &Yacute; | &yacute; | &nbsp; | &nbsp; |\n| circumflex accent | &amp;_circ; | &Acirc; | &acirc; | &Ecirc; | &ecirc; | &Icirc; | &icirc; | &Ocirc; | &ocirc; | &Ucirc; | &ucirc; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| umlaut mark | &amp;_uml; | &Auml; | &auml; | &Euml; | &euml; | &Iuml; | &iuml; | &Ouml; | &ouml; | &Uuml; | &uuml; | &nbsp; | &nbsp; | &Yuml; | &yuml; | &nbsp; | &nbsp; |\n| tilde | &amp;_tilde; | &Atilde; | &atilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Otilde; | &otilde; | &nbsp; | &nbsp; | &Ntilde; | &ntilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| ring | &amp;_ring; | &Aring; | &aring; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| slash | &amp;_slash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Oslash; | &oslash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| cedilla | &amp;_cedil; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Ccedil; | &ccedil; |
Hypermedia ethnography is an emerging research methodology which incorporates hyperlinked multimedia into all phases of the ethnographic process: from fieldwork, through analysis to representation. As such it draws upon the traditions of 'traditional' ethnography, visual ethnography as well as some elements of virtual ethnography in order to synthesise a methodology which is not merely a sum of the parts.\n\nEthnography is the name given to both the research process and any representational form based on that research. Thus hypermedia ethnography is both a research process and representational form. This implies that a hypermedia ethnography is one in which various media are both research tools and, potentially, object of study. Hypermedia moves beyond multimedia by centralising the relationships between the multiple media (with their associated modal affordances). \n\nThe methodology has been explored through two research projects conducted at Cardiff School of Social Sciences. There is some information online at http://www.cardiff.ac.uk/socsi/hyper/index.html. One project was a study that revisited Bella Dicks' ethnographic study of a mining heritage centre, the other was a new study of science communication at a science discovery centre. Both were explored through the creation of an Ethnographic Hypermedia Environment ([[EHE]]).
When you type more than three characters in the search box at the upper right, any matching tiddlers are automatically displayed with the text highlighted. There's a couple of minor issues: the highlights don't get removed when you clear the search, and occasionally, on some browsers, keystrokes get missed if you type quickly so you may need to click the 'search' button to manually trigger the search.
TiddlyWiki lets you write ordinary HTML by enclosing it in {{{<html>}}} and {{{</html>}}}:\n\n<html>\n<a href="javascript:;" onclick="onClickTiddlerLink(event);" tiddlyLink="TiddlyWiki" style="background-color: yellow;">Link to wikiwords from HTML</a>\n</html>\n\nThe source for the above is:\n\n{{{\n<html>\n<div style="background-color: yellow;">\n<a href="javascript:;" onclick="onClickTiddlerLink(event);" tiddlyLink="Macros">Link to wikiwords from HTML</a>\n</div>\n</html>\n}}}\n\nHTML can enable some exotic new features (like [[embedding GMail and Outlook|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/d363303aff5868d0/056269d8409d121f?lnk=st&q=embedding+gmail&rnum=1#056269d8409d121f]] in a TiddlyWiki). However it doesn't work for some JavaScript code libraries; see CustomMarkup for another way to include custom HTML in your TiddlyWiki.
[[Plugins]] are just tiddlers containing JavaScript code that is tagged with <<tag systemConfig>>. TiddlyWiki executes any [[Plugins]] as it loads; they can add [[Macros]] or otherwise extend and enhance the base code.\n\nThe recommended way to install a plugin into your own copy of TiddlyWiki is to use ImportTiddlers (there are instructions for ManuallyInstallIngPlugins when required).\n
InterfaceOptions are displayed when you click the 'options' button on the right. They are saved in a cookie on your browser, making them sticky between visits:\n<<<\n<<tiddler OptionsPanel>>\n<<<\n* The user name for edits should be set //before// starting to edit things (ouch. another bug)\n* SaveBackups gives the option of whether to generate backup files \n* AutoSave gives the option of automatically saving every time a change is made\n* RegExpSearch allows more complex search expressions\n* CaseSensitiveSearch does as its name implies\n
TiddlyWiki works on InternetExplorer 6.x and above under Windows. It also allows you to SaveChanges, albeit there are some annoying ServicePack2Problems to work around.\n\nKnown problems with TiddlyWiki under InternetExplorer:\n* [[Gradient]] fills sometimes appear in the wrong place until you move the mouse over the tiddler\n* Horizontal gradients don't work correctly\n* Links to tiddlers with multiple consecutive spaces in their titles is broken\n* Runs of spaces within tiddlers get conflated into a single space when you edit a tiddler. This is particularly annoying when using MonospacedText blocks\nPreliminary testing with InternetExplorer 7 Beta 2 suggests that TiddlyWiki will still work with the new version. However, the ActiveX control that TiddlyWiki uses to handle saving is no longer enabled by default. Internet Explorer prompts the user to re-enable it, but the process is fiddly and confusing.
!<<gradient horiz #aa8855 #ffcc00 #ffffff>>Welcome to Digital Ethnography>>[>img[Sample plate|http://www.ioct.dmu.ac.uk/tnn/ht99/images/ethnographicphotoexample.JPG]]\nThis is a TiddlyWiki for [[Bruce's|BruceMason]] GuestLecture to [[CWNM]] 2006. \nAs the week progresses I hope that you look around, explore, contribute and ask questions either here or on Blackboard. \n\nI recall that many of you know how to work a TiddlyWiki so I won't put too much detail here. If you want to add any changes to the wiki you need to do two things: tell it your name and enter the password. Either use the options link to the right or use the shorcuts below.\n|Tell it your name by putting your name in this box.|<<option txtUserName>>|\n|Enter the password (wikid) in this box.|<<option pasUploadPassword>>|\n\nIf you want to save any changes you've made, use the "save to web" link to the right. Make sure you've filled in a name and password first. If you want any more suggestions, check out HintsAndTips.\n\nIf you want, you can demand [[Tell me more]]. There is no pre-planned linear path though; you're on your own.\n
|''URL:''|http://jackparke.googlepages.com/jtw.html|\n|''Description:''|Plugins, Macros and Hacks|\n|''Author:''|JackParker|
I'm Jeremy Ruston, a technologist based in London, UK, working through my company [[Osmosoft|http://www.osmosoft.com]].\n\nI can be reached at {{{jeremy (at) osmosoft (dot) com}}}, and I regularly read and reply to messages on the [[TiddlyWiki Google Groups|Community]]. You can also find me on [[Flickr|http://www.flickr.com/photos/jermy/]] and [[del.icio.us|http://del.icio.us/jeremyruston]].
@@'';-)''@@ The great thing about a TiddlyWiki is that you can just click on a word-combo and get clarification or further info immediately, without going anywhere else. It's particularly suitable for short chunks of text (images too?)\nI think so. There's something quite evocative about a tiddler that is just an image, sound or something. After all, AnythingCanHappen.\nBy the way, what should this tiddler be tagged with?\n\nGood question - a tagless tiddler is like a concealed door or a secret drawer, both of which can have their uses, but not very appropriate for the sharing of knowledge.
Access keys are shortcuts to common functions accessed by typing a letter with either the 'alt' (PC) or 'control' (Mac) key:\n|!PC|!Mac|!Function|\n|Alt-F|Ctrl-F|Search|\n|Alt-J|Ctrl-J|NewJournal|\n|Alt-N|Ctrl-N|NewTiddler|\n|Alt-S|Ctrl-S|SaveChanges|\nThese access keys are provided by the associated internal [[Macros]] for the functions above. The macro needs to be used in an open tiddler (or the MainMenu or SideBar) in order for the access keys to work.\n\nWhile editing a tiddler:\n* ~Control-Enter or ~Control-Return accepts your changes and switches out of editing mode (use ~Shift-Control-Enter or ~Shift-Control-Return to stop the date and time being updated for MinorChanges)\n* Escape abandons your changes and reverts the tiddler to its previous state\n\nIn the search box:\n* Escape clears the search term
<!--{{{-->\n<div class='header'>\n <div class='titleLine'>\n <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n </div>\n</div>\n<div id='sidebar'>\n <div id='sidebarSearch' macro='search'></div>\n <div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n <div id='sidebarOptions' refresh='content' tiddler='KubrickSidebar'></div>\n <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n <div id='messageArea'></div>\n <div id='tiddlerDisplay'></div>\n</div>\n<div id='contentFooter'><p>TiddlyWiki was created by <a href='http://tiddlywiki.com'>Jeremy Ruston</a> and TiddlyKubrick was created by <a href='http://checkettsweb.com'>Clint Checketts</a></p></div>\n<!--}}}-->
!Categories\n<<allTags>>\n!Blog!\n*<<newTiddler>>\n*<<newJournal 'DD MMM YYYY' journal>>\n\n!Meta\n*<<closeAll>>\n*<<permaview>>\n*<<saveChanges>>\n*<<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>
/***\nhttp://tiddlystyles.com/#theme:Kubrick\n\n!General Rules\n***/\n/*{{{*/\na,\n.button{\n color: #06c;\n text-decoration: none;\n background: transparent;\n}\n\na:hover,\n.button:hover{\n background: transparent;\n text-decoration: underline;\n color: #147;\n}\n\nbody {\n font-size: 62.5%; /* Resets 1em to 10px */\n font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;\n background-color: #d5d6d7;\n color: #666;\n background: #e7e7e7;\n margin: 0 auto;\n}\n\n#contentWrapper{\n background: transparent url("kubrickbg.jpg") repeat-y 0px 0px;\n border: 0;\n margin: 0 auto;\n width: 760px;\n}\n\n/*}}}*/\n/***\n!Header Rules\n***/\n/*{{{*/\n.titleLine{\n margin: 80px auto 0em;\n padding: 0;\n width: 745px;\n text-align: center;\n color: #fff;\n}\n\n.siteTitle{\n font-weight: bold;\n}\n\n.siteTitle a, .siteSubtitle a{\n color: #fff;\n}\n\n.siteTitle a:hover, .siteSubtitle a:hover{\n text-decoration: underline;\n}\n\n.siteSubtitle{\n display: block;\n margin: .5em auto 1em;\n}\n\n.header {\n background: url("kubrickheader.jpg") no-repeat bottom center; \n margin: 0;\n padding: 1px;\n height: 198px;\n width: 758px;\n\n}\n/*}}}*/\n/***\n!Footer Styles\n***/\n/*{{{*/\n#contentFooter {\n text-align: center;\n clear: both;\n background: url("kubrickfooter.jpg") no-repeat bottom;\n border: none;\n padding: 2em;\n height: 3em;\n}\n/*}}}*/\n\n\n/***\n!Sidebar styles /% ============================================== %/\n***/\n/*{{{*/\n#sidebar{\n margin: 1em 2em 0 0;\n position: static;\n float: right;\n}\n\n#sidebar a,\n#sidebar a:hover{\n border: 0;\n}\n\n#sidebar h1{\n font-size: 1.4em;\n font-weight: bold;\n margin: 0;\n background: transparent;\n color: #000;\n}\n\n#sidebar ul{\n padding: 0;\n margin: 0 0 0 1em;\n}\n\n#sidebar li{\n list-style: none;\n}\n\n#sidebar li:before{\n color: #000;\n content: "\s00BB \s0020";\n}\n\n#sidebar, #mainMenu, #sideBarOptions{\n width: 200px;\n text-align: left;\n}\n\n#mainMenu{\n position: static;\n}\n/*}}}*/\n/***\n!Sidebar search styles /% ======================================== %/\n***/\n/*{{{*/\n#sidebarSearch{\n margin: 0 0 0 10px;\n width: 145px;\n}\n\n#sidebarSearch input{\n font-size: .9em;\n width: 100px;\n}\n\n#sidebarSearch .button{\n float: right;\n margin-top: 1px;\n}\n/*}}}*/\n/***\n!Sidebar option styles\n***/\n/*{{{*/\n#sidebarOptions{\n margin-left: .75em;\n}\n\n#sidebarOptions h1{\n font-size: 1.3em;\n}\n\n#sidebarOptions a{\n display: inline;\n border: 0;\n}\n\n#sidebarOptions .sliderPanel{\n background-color: transparent;\n font-size: 1em;\n margin: 0;\n}\n\n#sidebarOptions .sliderPanel a:before,\n#sidebarTabs li:before{\n content: "";\n}\n/*}}}*/\n/***\n!Sidebar tab styles\n***/\n/*{{{*/\n\n#sidebarTabs .tab,\n#sidebarTabs .tab:hover{\n border: 1px solid #ccc;\n text-decoration: none;\n}\n\n#sidebarTabs .tabSelected{\n background: #ccc;\n color: #333;\n}\n\n#sidebarTabs .tabUnselected{\n background: #e6e6e6;\n color: #333;\n}\n\n#sidebarTabs .tabContents{\n background: #ccc;\n color: #333;\n border: 1px solid #ccc;\n width: 95%;\n}\n\n#sidebarTabs .tabContents a{\n color: #06c;\n}\n\n#sidebarTabs .tabContents a:hover{\n color: #147;\n\n}\n\n#sidebarTabs a.tabSelected:hover{\n cursor: default;\n}\n\n#sidebarTabs .txtMoreTab .tab{\n border: 1px solid #aaa;\n color: #333;\n}\n\n#sidebarTabs .txtMoreTab .tabSelected{\n background: #aaa;\n color: #333;\n}\n\n#sidebarTabs .txtMoreTab .tabSelected:hover{\n background: #aaa;\n color: #333\n}\n\n#sidebarTabs .txtMoreTab .tabUnselected{\n background: #ccc;\n color: #333;\n}\n\n#contentWrapper #sidebar .txtMoreTab .tabUnselected:hover,#contentWrapper #displayArea .txtMoreTab .tabUnselected:hover{\n color: #333;\n}\n\n#contentWrapper .txtMoreTab .tabContents{\n background: #aaa;\n color: #333;\n border: 1px solid #aaa;\n}\n/*}}}*/\n/***\n!Message area styles /% ========================================== %/\n***/\n/*{{{*/\n#messageArea {\nbackground-color: #eee;\n border: 1px solid #ccc;\n color: #bbb;\n margin: 0 1em;\n font-size: .8em;\n}\n\n#messageArea a:link{\n color: #aaa;\n}\n#messageArea a:hover{\n color: #06c;\n}\n\n#messageArea .messageToolbar .button{\n border: 1px solid #ccc;\n color: #aaa;\n text-decoration: none;\n}\n#messageArea .messageToolbar .button:hover{\n border: 1px solid #777;\n color: #777;\n}\n/*}}}*/\n/***\n!Popup styles /% ================================================ %/\n***/\n/*{{{*/\n#popup{\n padding: 0;\n background: #eee;\n border: 1px solid #ccc;\n color: #333;\n}\n\n#popup a{\n color: #06c;\n font-weight: normal;\n}\n\n#popup a:hover{\n color: #fff;\n background: #aaa;\n text-decoration: none;\n}\n/*}}}*/\n/***\n!Tiddler display styles /% ====================================== %/\n***/\n/*{{{*/\n#displayArea{\n margin: 1em 18em 1em 1em;\n text-align: left;\n font-size: 1.2em;\n}\n\nh1, h2, h3, h4, h5, .title{\n font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;\ncolor: #333;\npadding: 0;\n}\n\n.viewer h1,.viewer h2,.viewer h3,.viewer h4,.viewer h5,.viewer h6{\n background: transparent;\n border-bottom: 1px dotted #ccc;\n}\n\n.title{\n font-size: 1.6em; \n}\n\n.subtitle{\n color: #777;\n font-size: .9em;\n}\n\n.toolbar{\n font-size: .8em;\n}\n\n.toolbar a:link,.toolbar a:visited{\n background: #e6e6e6;\n border: 1px solid #ccc;\n color: #aaa;\n padding: 1px 3px;\n margin: 0 .5em 0 0;\n}\n\n.toolbar a.button:hover{\n background: #ccc;\n border-color: #bbb;\n color: #06c;\n text-decoration: none;\n}\n\n.viewer a.tiddlyLinkNonExisting:link{\n color: #b85b5a;\n font-style: normal;\n}\n\n.viewer a.tiddlyLinkNonExisting:hover{\n text-decoration: underline; \n}\n\n.viewer a.tiddlyLinkExisting:link,#displayArea .viewer a.externalLink{\n font-weight: normal;\n color: #06c;\n}\n\n.viewer a.tiddlyLinkExisting:hover,.viewer a.externalLink:hover{\n color: #147;\n text-decoration: underline; \n}\n\n.viewer .button{\n border: 0;\n}\n\n.editor {\n font-size: 8pt;\n color: #402c74;\n font-weight: normal;\n}\n\n.editor input, .editor textarea {\n display: block;\n font: 11px/110% "Andale Mono", "Monaco", "Lucida Console", "Courier New", monospace;\n margin: 0 0 10px 0;\n border: 1px inset #333;\n padding: 2px 0;\n}\n\n.footer, .footer a.button,.editorFooter, .footer a.button{\n color: #aaa;\n}\n\n.selected .footer,.selected .footer a{\n color: #777;\n}\n\n.selected .footer a.button,.selected .editorFooter a.button{\n color: #06c;\n}\n\n.footer a.button:hover,.editorFooter a.button:hover{\n color: #147;\n background: transparent;\n} \n\n.tagClear{\n clear: none; \n}\n/*}}}*/
/***\n|''Name:''|LegacyStrikeThroughPlugin|\n|''Description:''|Support for legacy (pre 2.1) strike through formatting|\n|''Version:''|1.0.1|\n|''Date:''|Jul 21, 2006|\n|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|\n|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n\n***/\n\n//{{{\n\n// Ensure that the LegacyStrikeThrough Plugin is only installed once.\nif(!version.extensions.LegacyStrikeThroughPlugin)\n {\n version.extensions.LegacyStrikeThroughPlugin = true;\n\nconfig.formatters.push(\n{\n name: "legacyStrikeByChar",\n match: "==",\n termRegExp: /(==)/mg,\n element: "strike",\n handler: config.formatterHelpers.createElementAndWikify\n});\n\n} // end of "install only once"\n//}}}\n
|''URL:''|http://tw.lewcid.org/|\n|''Description:''|a repository of my extensions for TW|\n|''Author:''|SaqImtiaz|
The format for PrettyLinks allows for links that open local or network folders. Depending on your browser and operating system, the folders are opened in Windows Explorer, the OS X Finder, or the browser itself.\n\nEdit this tiddler to see [[this link to a Windows network share|file://///server/share/folder/path/name]], [[this link to a Windows drive-mapped folder|file:///c:/folder/path/name]] and [[this link to a Unix-style folder|file:///folder/path/name]].
Michael Wesch has been a pioneer in digital ethnography. His PhD in Papua New Guinea was hosted on a website (password protected). These days he's exploring ethnography through and of new media.\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/6gmP4nk0EOE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/6gmP4nk0EOE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>
Out of the box, TiddlyWiki offers:\n* Browsable with the vast majority of modern desktop browsers on Windows, Macintosh and Linux\n* Ability to SaveChanges on:\n** FireFox under Windows or OS X\n** InternetExplorer under Windows\n** Opera under all operating systems\n** [[Safari]] and [[Camino]] under OS X\n** Minimo on Nokia 770\n* Rich formatting including MonospacedText, ExtendedFormatting, NonWikiWordLinks, WikiWordEscape, PrettyLinks, SubHeadings, BulletPoints, NumberedBulletPoints, [[Tables]], BlockQuotes, HorizontalRules and the ability to use a CustomCssClass.\n* Various InterfaceOptions, including the ability to GenerateAnRssFeed, SaveBackups and AutoSave\n* KeyboardShortcuts so you can finish editing a tiddler with Control-Enter or abandon it with Escape\n* InlineHTML\n* [img[brixhamharbour.jpg][EmbeddedImages]]...EmbeddedImages:\n* [[Macros]] providing rich interactive features, including [[Sparklines]] and [[Gradients|GradientMacro]]\n* a flexible OpenSourceLicense\n* a liquid CSS layout that can be customised with a CustomStyleSheet\n* Extensive StartupParameters to control the behaviour of TiddlyWiki through specially crafted URLs\n* There are [[translations]] of TiddlyWiki available in many languages, including [[Chinese]], [[French]], [[German]], [[Spanish]], [[Portuguese]]\nThe [[Community]] around TiddlyWiki has extended this basic functionality with a wide range of [[Plugins]] and TiddlyWikiAdaptations.\n
[[Introduction]]\n[[Ethnography]]\nVirtualEthnography\nDigitalEthnography\nDestinationPoints\nHintsAndTips\nAddingToIt\n<<themeSelect style 'Select theme'>>
Clara Mancini //[[Cinematic Hypertext: Investigating a New Paradigm|http://www.iospress.nl/loadtop/load.php?isbn=9781586035136]]// 2005
In some situations it can be useful to use the clipboard insead of InstallingPlugins using ImportTiddlers.\n\n# Open a new browser window and navigate to the TiddlyWiki site containing the macro you want\n# Double click the tiddler, or click the {{{source}}} button (on other sites it will sometimes be a {{{view}}} or {{{edit}}} button)\n# The entire text of the tiddler should be selected; if not select it manually with Control-A or Command-A\n# Copy the entire text of the tiddler to the clipboard\n# Open your TiddlyWiki file in a new browser window\n# Click {{{new tiddler}}} to create a new blank tiddler\n## Paste the contents of the clipboard into it's body\n## Set the title as appropriate\n## Add the tag {{{systemConfig}}}\n# Click {{{done}}} on the tiddler\n# SaveChanges\n# Reload your TiddlyWiki in the browser\nThe plugin should now be available for use.
Annette Markham //[[Life Online|http://www.citeulike.org/article/555106]]//, 1998.
MicroContent being a fashionable word for self-contained fragments of content that are typically smaller than entire pages. Often MicroContent is presented via some kind of aggregation that reduces the perceptual shock and resource cost of context switching (eg Blogs aggregating several entries onto a page or Flickr presenting photos in an album). This TiddlyWiki aggregates MicroContent items that I call 'tiddlers' into pages that are loaded in one gulp and progressively displayed as the user clicks hypertext links to read them.
Sometimes it's useful to stop a minor change to a tiddler from causing it to rise to the top of the timeline. This can be done by pressing the Shift key while clicking the 'done' toolbar button, or with the ~Shift-Control-Enter key. This behaviour can be switched to become the default with one of the AdvancedOptions.
The 'Missing' option on the MoreTab shows you the names of tiddlers that you've referred to but not gone ahead to define. It can be useful during writing sessions to keep track of things you need to come back and fill out.
|''URL:''|http://mptw.tiddlyspot.com/|\n|''Description:''|a tiddlywiki distribution and plugins|\n|''Author:''|SimonBaird|\n
{{{Monospaced text}}} is supported - edit this tiddler to see the syntax.\n\nYou can also have monospaced blocks (useful for source code):\n\n{{{\nvar posTop = findPosY(e);\nvar posBot = posTop + e.offsetHeight;\nvar winTop = findScrollY();\nvar winHeight = findWindowHeight();\nvar winBot = winTop + winHeight;\nif(posTop < winTop)\nreturn(posTop);\nelse if(posBot > winBot)\n{\nif(e.offsetHeight < winHeight)\nreturn(posTop - (winHeight - e.offsetHeight));\nelse\nreturn(posTop);\n}\nelse\nreturn(winTop);\n}}}\n
Montage refers to the ordering of events. In the EHE, the trails work as montages in that they suggest an order and that order has a meaning. The key element that enables montage is the link; the more we worked on the EHE, the fewer links we wanted to include because we wanted the links to become significant. \n\nIt helped us to follow the notion of the link as cinematic; i.e. that a link is analogous to a cut in a movie. The depiction of hypertext as cinematic has been explored at length by Clara Mancini ([[2005|Mancini2005]]).
The functions of 'Timeline' and 'All' tabs have been around since the FirstVersion of TiddlyWiki. The purpose of the 'More' tab is to bring together some other, more specialised lists of tiddlers that can be useful during writing sessions. Currently, it offers lists of OrphanTiddlers and MissingTiddlers.
/***\n| Name:|MptwLayoutPlugin|\n| Description:|A package containing templates and css for the MonkeyPirateTiddlyWiki layout|\n| Version:|6.1.2|\n| Date:|02-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#MptwLayoutPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n!Notes\nPresumes you have TagglyTaggingPlugin installed.\n***/\n//{{{\nconfig.shadowTiddlers.GettingStarted += "\sn\snSee also MonkeyPirateTiddlyWiki.";\n\n//}}}\n\n//{{{\nmerge(config.shadowTiddlers,{\n\nMptwStyleSheet:[\n "/*{{{*/",\n "/* a contrasting background so I can see where one tiddler ends and the other begins */",\n "body {",\n " background: [[ColorPalette::TertiaryLight]];",\n "}",\n "",\n "/* sexy colours and font for the header */",\n ".headerForeground {",\n " color: [[ColorPalette::PrimaryPale]];",\n "}",\n ".headerShadow, .headerShadow a {",\n " color: [[ColorPalette::PrimaryMid]];",\n "}",\n ".headerForeground, .headerShadow {",\n " padding: 1em 1em 0;",\n " font-family: 'Trebuchet MS' sans-serif;",\n " font-weight:bold;",\n "}",\n ".headerForeground .siteSubtitle {",\n " color: [[ColorPalette::PrimaryLight]];",\n "}",\n ".headerShadow .siteSubtitle {",\n " color: [[ColorPalette::PrimaryMid]];",\n "}",\n "",\n "/* make shadow go and down right instead of up and left */",\n ".headerShadow {",\n " left: 1px;",\n " top: 1px;",\n "}",\n "",\n "/* prefer monospace for editing */",\n ".editor textarea {",\n " font-family: 'Consolas' monospace;",\n "}",\n "",\n "/* sexy tiddler titles */",\n ".title {",\n " font-size: 250%;",\n " color: [[ColorPalette::PrimaryLight]];",\n " font-family: 'Trebuchet MS' sans-serif;",\n "}",\n "",\n "/* more subtle tiddler subtitle */",\n ".subtitle {",\n " padding:0px;",\n " margin:0px;",\n " padding-left:0.5em;",\n " font-size: 90%;",\n " color: [[ColorPalette::TertiaryMid]];",\n "}",\n ".subtitle .tiddlyLink {",\n " color: [[ColorPalette::TertiaryMid]];",\n "}",\n "",\n "/* a little bit of extra whitespace */",\n ".viewer {",\n " padding-bottom:3px;",\n "}",\n "",\n "/* don't want any background color for headings */",\n "h1,h2,h3,h4,h5,h6 {",\n " background: [[ColorPalette::Background]];",\n " color: [[ColorPalette::Foreground]];",\n "}",\n "",\n "/* give tiddlers 3d style border and explicit background */",\n ".tiddler {",\n " background: [[ColorPalette::Background]];",\n " border-right: 2px [[ColorPalette::TertiaryMid]] solid;",\n " border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;",\n " margin-bottom: 1em;",\n " padding-bottom: 2em;",\n "}",\n "",\n "/* make options slider look nicer */",\n "#sidebarOptions .sliderPanel {",\n " border:solid 1px [[ColorPalette::PrimaryLight]];",\n "}",\n "",\n "",\n "/* the borders look wrong with the body background */",\n "#sidebar .button {",\n " border-style: none;",\n "}",\n "",\n "/* displays the list of a tiddler's tags horizontally. used in ViewTemplate */",\n ".tagglyTagged li.listTitle {",\n " display:none",\n "}",\n ".tagglyTagged li {",\n " display: inline; font-size:90%;",\n "}",\n ".tagglyTagged ul {",\n " margin:0px; padding:0px;",\n "}",\n "",\n "/* this means you can put line breaks in SidebarOptions for readability */",\n "#sidebarOptions br {",\n " display:none;",\n "}",\n "/* undo the above in OptionsPanel */",\n "#sidebarOptions .sliderPanel br {",\n " display:inline;",\n "}",\n "",\n "/* horizontal main menu stuff */",\n "#displayArea {",\n " margin: 1em 15.7em 0em 1em; /* use the freed up space */",\n "}",\n "#topMenu br {",\n " display: none;",\n "}",\n "#topMenu {",\n " background: [[ColorPalette::PrimaryMid]];",\n " color:[[ColorPalette::PrimaryPale]];",\n "}",\n "#topMenu {",\n " padding:2px;",\n "}",\n "#topMenu .button, #topMenu .tiddlyLink, #topMenu a {",\n " margin-left: 0.5em;",\n " margin-right: 0.5em;",\n " padding-left: 3px;",\n " padding-right: 3px;",\n " color: [[ColorPalette::PrimaryPale]];",\n " font-size: 115%;",\n "}",\n "#topMenu .button:hover, #topMenu .tiddlyLink:hover {",\n " background: [[ColorPalette::PrimaryDark]];",\n "}",\n "",\n "/* make it print a little cleaner */",\n "@media print {",\n " #topMenu {",\n " display: none ! important;",\n " }",\n " /* not sure if we need all the importants */",\n " .tiddler {",\n " border-style: none ! important;",\n " margin:0px ! important;",\n " padding:0px ! important;",\n " padding-bottom:2em ! important;",\n " }",\n " .tagglyTagging .button, .tagglyTagging .hidebutton {",\n " display: none ! important;",\n " }",\n " .headerShadow {",\n " visibility: hidden ! important;",\n " }",\n " .tagglyTagged .quickopentag, .tagged .quickopentag {",\n " border-style: none ! important;",\n " }",\n " .quickopentag a.button, .miniTag {",\n " display: none ! important;",\n " }",\n "}",\n "/*}}}*/",\n ""\n].join("\sn"),\n\nMptwPageTemplate:[\n "<!--{{{-->",\n "<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>",\n " <div class='headerShadow'>",\n " <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;",\n " <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>",\n " </div>",\n " <div class='headerForeground'>",\n " <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;",\n " <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>",\n " </div>",\n "</div>",\n "<!-- horizontal MainMenu -->",\n "<div id='topMenu' refresh='content' tiddler='MainMenu'></div>",\n "<!-- original MainMenu menu -->",\n "<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div> -->",\n "<div id='sidebar'>",\n " <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>",\n " <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>",\n "</div>",\n "<div id='displayArea'>",\n " <div id='messageArea'></div>",\n " <div id='tiddlerDisplay'></div>",\n "</div>",\n "<!--}}}-->",\n ""\n].join("\sn"),\n\nMptwViewTemplate:[\n "<!--{{{-->",\n "",\n "<div class='toolbar'>",\n " <span macro=\s"showWhenTagged systemConfig\s">",\n " <span macro=\s"toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'\s"></span>",\n " </span>",\n " <span style=\s"padding:1em;\s"></span>",\n " <span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler undoChanges permalink references jump newHere newJournalHere'></span>",\n "</div>",\n "",\n "<div class=\s"tagglyTagged\s" macro=\s"tags\s"></div>",\n "",\n "<div class='titleContainer'>",\n " <span class='title' macro='view title'></span>",\n " <span macro=\s"miniTag\s"></span>",\n "</div>",\n "",\n "<div class='subtitle'>",\n " <span macro='view modifier link'></span>,",\n " <span macro='view modified date [[DD-mmm-YY]]'></span>",\n " (<span macro='message views.wikified.createdPrompt'></span>",\n " <span macro='view created date [[DD-mmm-YY]]'></span>)",\n "</div>",\n "",\n "<div macro=\s"showWhenExists ViewPanelTemplate\s">[[ViewPanelTemplate]]</div>",\n "",\n "<div macro=\s"hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')\s">",\n " <div class='viewer' macro='view text wikified'></div>",\n "</div>",\n "<div macro=\s"showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')\s">",\n " <div class='viewer'><pre macro='view text'></pre></div>",\n "</div>",\n "",\n "<div macro=\s"showWhenExists ViewDashboardTemplate\s">[[ViewDashboardTemplate]]</div>",\n "",\n "<div class=\s"tagglyTagging\s" macro=\s"tagglyTagging\s"></div>",\n "",\n "<!--}}}-->",\n ""\n].join("\sn"),\n\nMptwEditTemplate:[\n "<!--{{{-->",\n "<div class=\s"toolbar\s" macro=\s"toolbar +saveTiddler closeOthers -cancelTiddler deleteTiddler\s"></div>",\n "<div class=\s"title\s" macro=\s"view title\s"></div>",\n "<div class=\s"editLabel\s">Title</div><div class=\s"editor\s" macro=\s"edit title\s"></div>",\n "<div class=\s"editLabel\s">Tags</div><div class=\s"editor\s" macro=\s"edit tags\s"></div>",\n "<div class=\s"editorFooter\s"><span macro=\s"message views.editor.tagPrompt\s"></span><span macro=\s"tagChooser\s"></span></div>",\n "<div macro=\s"showWhenExists EditPanelTemplate\s">[[EditPanelTemplate]]</div>",\n "<div class=\s"editor\s" macro=\s"edit text\s"></div>",\n "<!--}}}-->",\n ""\n].join("\sn"),\n\nMonkeyPirateTiddlyWiki:[\n "[[MonkeyPirateTiddlyWiki|http://mptw.tiddlyspot.com]] is a distribution of [[TiddlyWiki|http://www.tiddlywiki.com/]] created by Simon Baird. See [[the web site|http://mptw.tiddlyspot.com/]] for more information.",\n "!!Upgrading ~MonkeyPirateTiddlyWiki",\n "This \s"empty\s" ~MonkeyPirateTiddlyWiki file comes pre-installed with the core ~MonkeyPirateTiddlyWiki plugins. You can upgrade these core plugins to the latest version by doing the following:",\n "* Click ImportTiddlers",\n "* Click \s"Choose...\s" and select \s"~MptwUpgradeURL\s"",\n "* Click \s"fetch\s"",\n "* Click the checkbox in the first column heading to select all tiddlers",\n "* Click \s"More actions...\s" and select \s"Import these tiddlers\s"",\n "* Click \s"OK\s" to confirm you want to overwrite the tiddlers",\n "* Save and reload",\n ""\n].join("\sn")\n\n});\n//}}}\n
For upgrading directly from tiddlyspot. See [[ImportTiddlers]].\nURL: /proxy/mptw.tiddlyspot.com/upgrade.html\n
For upgrading. See [[ImportTiddlers]].\nURL: http://mptw.tiddlyspot.com/upgrade.html\n
Within a CustomStyleSheet, you can include the text of another tiddler by including it in double square brackets. For example, if the tiddler MyFavouriteColour contains {{{#ff763e}}}, and the StyleSheet tiddler contained:\n\n{{{\n#mainMenu {background-color:[[MyFavouriteColour]];}\n}}}\n\nThen, the effect is that each CSS declaration will be set to {{{background-color: #ff763e;}}}.\n\nIn practice, for small bits of text like a colour, it makes sense to use TiddlerSlicing format to reference a chunk of text within a tiddler. See ColorPalette and StyleSheetColors for an example.\n\nOf course, you can use this mechanism to redirect any part of a stylesheet, not just colours. And you can nest references for more complex effects.
A PageTemplate, ViewTemplate or EditTemplate can include the text of another tiddler by including it in double square brackets. For example:\n\n{{{\n<div>\n[[MyHeader]]\n</div>\n}}}\n\nYou can also use TiddlerSlicing format to include a smaller chunk of the text of a tiddler.
/***\n| Name:|NewHerePlugin|\n| Description:|Creates the new here and new journal toolbar commands|\n| Version:|6.1.6|\n| Date:|06-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\nTo use edit your ViewTemplate and add newHere to the toolbar div, eg\n{{{<div class='toolbar' macro='toolbar ... newHere'></div>}}}\nNote: would be good if we could do this instead some day\n{{{<<newTiddler tag:{{tiddler.title}} label:'new here'>>}}}\n***/\n//{{{\nmerge(config.commands,{\n\n newHere: {\n text: 'new here',\n tooltip: 'Create a new tiddler tagged as this tiddler',\n hideReadOnly: true,\n handler: function(e,src,title) {\n if (!readOnly) {\n clearMessage();\n var t=document.getElementById('tiddler'+title);\n story.displayTiddler(t,config.macros.newTiddler.title,DEFAULT_EDIT_TEMPLATE);\n story.setTiddlerTag(config.macros.newTiddler.title, title, 0);\n story.focusTiddler(config.macros.newTiddler.title,"title"); // doesn't work??\n return false;\n }\n }\n },\n\n newJournalHere: {\n //text: 'new journal here', // too long\n text: 'new journal',\n hideReadOnly: true,\n dataFormat: 'DD MMM YYYY', // adjust to your preference\n //dataFormat: 'YYYY-0MM-0DD', \n tooltip: 'Create a new journal tiddler tagged as this tiddler',\n handler: function(e,src,title) {\n if (!readOnly) {\n clearMessage();\n var now = new Date();\n var t=document.getElementById('tiddler'+title);\n var newtitle = now.formatString(this.dataFormat)\n story.displayTiddler(t,newtitle,DEFAULT_EDIT_TEMPLATE);\n story.setTiddlerTag(newtitle, title, 0);\n story.focusTiddler(newtitle,"title");\n return false;\n }\n }\n }\n\n});\n//}}}\n
To make a tiddler that doesn't have a WikiWord as its name, you can enclose the name in [[double square brackets]] - edit this tiddler to see an example. After saving the tiddler you can then click on the link to create the new tiddler. NonWikiWordLinks permits tiddlers to be created with names that are made from character sets that don't have upper and lower case.
It's easy to create NumberedBulletPoints.\n# Use a single '#' at the start of each line\n# and the tiddler will automatically\n# start numbering your list.\n## If you want a sub-list\n## within any bullets\n## add two '#'s at the start of the lines.\n# When you go back to a single '#'\n# the main numbered list will start up\n# where it left off.\n\nIt's just as simple to do normal BulletPoints.
TiddlyWiki is published under a BSD OpenSourceLicense that gives you the freedom to use it pretty much however you want, including for commercial purposes, as long as you keep my copyright notice. (You can see the full license text by doing a 'view source' in your browser). If you do use TiddlyWiki I'd appreciate a link back to http://www.tiddlywiki.com.
TiddlyWiki under Opera can save changes using the TiddlySaver Java applet.\n\nThanks to Andrew Gregory for the original TiddlySaver code, and his subsequent patient support.\n\nThere are some minor issues with Opera:\n* The GradientMacro doesn't work at all
tiddlyspot password:\n<<option pasUploadPassword>>\n\nThese InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n\n----\nAdvancedOptions\nPluginManager\nImportTiddlers
The 'Orphans' option on the MoreTab shows you the names of tiddlers that aren't linked to from any other tiddlers - in other words, tiddlers that there is no way for readers to find other than searching for them.
[[MptwPageTemplate]]\n
The ParameterParser is used in several places in TiddlyWiki:\n* to process the StartupParameters after the '#' in a TiddlyWiki URL\n* to process the DefaultTiddlers list\n* to process the parameters to [[Macros]]\n* to process tag lists when editing a tiddler\nIt supports a list of parameters each of the form "name:value". For example:\n{{{\nname:John location:"Isle of Wight" [[dietary needs]]:none really:'yes, really'\n}}}\nNames and values that need to contain spaces may be quoted with single- or double-quotes or double-square brackets. The parser is generally tolerant of additional spaces.\n\nWhen processing macro parameters, names and values may also be quoted with double-braces which causes them to be evaluated as a JavaScript expression. For example:\n{{{\ntitle:{{window.title}}\n}}}\n\nThe ParameterParser will cope with either the name or the value being omitted, and will substitute a specified default. This is how the StartupParameters work; the default parameter name is specified as 'open'.
Participant observation is deliberately ambiguous. It refers to both observing participant and the observations that a participant might have about the situation in which he she is involved. The latter can be accomplished by asking participants during or after the event but it can also be accomplished by undertaking the event oneself and reflecting on it afterwards. Understanding the physicality of harvesting olives in Greece could be done through watching and taking note but the experience of taking part provides unique insights. Thus a fieldworker undertaking Participant Observation both observes and participates.\n\nParticipant observation has a long tradition in the social sciences generally but has been developed to its fullest extent in ethnography. By entering as fully into the field as possible the ethnographer opens herself up to experience over a sustained period. The insights this gives can be extraordinary and troubling.\n\nIn [[her account|Turner 1992]] of the Ihambu rituals of the Ndembu, Edith Turner found herself seeing the spirits that were being driven out from the patients. \n\nMost of us who have undertaken participation observation have found it physically demanding and emotionally challenging. Even [[virtual ethnography|VirtualEthnography]].
|''URL:''|http://bradleymeck.tiddlyspot.com/|\n|''Description:''|Resources that are Ripe for the Picking|\n|''Author:''|BradleyMeck|
|Standard Periodic Table (ref. Wikipedia)|c\n|| !1 | !2 |!| !3 | !4 | !5 | !6 | !7 | !8 | !9 | !10 | !11 | !12 | !13 | !14 | !15 | !16 | !17 | !18 |\n|!1|bgcolor(#a0ffa0): @@color(red):H@@ |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>||bgcolor(#c0ffff): @@color(red):He@@ |\n|!2|bgcolor(#ff6666): Li |bgcolor(#ffdead): Be |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccc99): B |bgcolor(#a0ffa0): C |bgcolor(#a0ffa0): @@color(red):N@@ |bgcolor(#a0ffa0): @@color(red):O@@ |bgcolor(#ffff99): @@color(red):F@@ |bgcolor(#c0ffff): @@color(red):Ne@@ |\n|!3|bgcolor(#ff6666): Na |bgcolor(#ffdead): Mg |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccccc): Al |bgcolor(#cccc99): Si |bgcolor(#a0ffa0): P |bgcolor(#a0ffa0): S |bgcolor(#ffff99): @@color(red):Cl@@ |bgcolor(#c0ffff): @@color(red):Ar@@ |\n|!4|bgcolor(#ff6666): K |bgcolor(#ffdead): Ca ||bgcolor(#ffc0c0): Sc |bgcolor(#ffc0c0): Ti |bgcolor(#ffc0c0): V |bgcolor(#ffc0c0): Cr |bgcolor(#ffc0c0): Mn |bgcolor(#ffc0c0): Fe |bgcolor(#ffc0c0): Co |bgcolor(#ffc0c0): Ni |bgcolor(#ffc0c0): Cu |bgcolor(#ffc0c0): Zn |bgcolor(#cccccc): Ga |bgcolor(#cccc99): Ge |bgcolor(#cccc99): As |bgcolor(#a0ffa0): Se |bgcolor(#ffff99): @@color(green):Br@@ |bgcolor(#c0ffff): @@color(red):Kr@@ |\n|!5|bgcolor(#ff6666): Rb |bgcolor(#ffdead): Sr ||bgcolor(#ffc0c0): Y |bgcolor(#ffc0c0): Zr |bgcolor(#ffc0c0): Nb |bgcolor(#ffc0c0): Mo |bgcolor(#ffc0c0): Tc |bgcolor(#ffc0c0): Ru |bgcolor(#ffc0c0): Rh |bgcolor(#ffc0c0): Pd |bgcolor(#ffc0c0): Ag |bgcolor(#ffc0c0): Cd |bgcolor(#cccccc): In |bgcolor(#cccccc): Sn |bgcolor(#cccc99): Sb |bgcolor(#cccc99): Te |bgcolor(#ffff99): I |bgcolor(#c0ffff): @@color(red):Xe@@ |\n|!6|bgcolor(#ff6666): Cs |bgcolor(#ffdead): Ba |bgcolor(#ffbfff):^^*1^^|bgcolor(#ffc0c0): Lu |bgcolor(#ffc0c0): Hf |bgcolor(#ffc0c0): Ta |bgcolor(#ffc0c0): W |bgcolor(#ffc0c0): Re |bgcolor(#ffc0c0): Os |bgcolor(#ffc0c0): Ir |bgcolor(#ffc0c0): Pt |bgcolor(#ffc0c0): Au |bgcolor(#ffc0c0): @@color(green):Hg@@ |bgcolor(#cccccc): Tl |bgcolor(#cccccc): Pb |bgcolor(#cccccc): Bi |bgcolor(#cccc99): Po |bgcolor(#ffff99): At |bgcolor(#c0ffff): @@color(red):Rn@@ |\n|!7|bgcolor(#ff6666): Fr |bgcolor(#ffdead): Ra |bgcolor(#ff99cc):^^*2^^|bgcolor(#ffc0c0): Lr |bgcolor(#ffc0c0): Rf |bgcolor(#ffc0c0): Db |bgcolor(#ffc0c0): Sq |bgcolor(#ffc0c0): Bh |bgcolor(#ffc0c0): Hs |bgcolor(#ffc0c0): Mt |bgcolor(#ffc0c0): Ds |bgcolor(#ffc0c0): Rg |bgcolor(#ffc0c0): @@color(green):Uub@@ |bgcolor(#cccccc): Uut |bgcolor(#cccccc): Uuq |bgcolor(#cccccc): Uup |bgcolor(#cccccc): Uuh |bgcolor(#fcfecc): @@color(#cccccc):Uus@@ |bgcolor(#ecfefc): @@color(#cccccc):Uuo@@ |\n\n| !Lanthanides^^*1^^|bgcolor(#ffbfff): La |bgcolor(#ffbfff): Ce |bgcolor(#ffbfff): Pr |bgcolor(#ffbfff): Nd |bgcolor(#ffbfff): Pm |bgcolor(#ffbfff): Sm |bgcolor(#ffbfff): Eu |bgcolor(#ffbfff): Gd |bgcolor(#ffbfff): Tb |bgcolor(#ffbfff): Dy |bgcolor(#ffbfff): Ho |bgcolor(#ffbfff): Er |bgcolor(#ffbfff): Tm |bgcolor(#ffbfff): Yb |\n| !Actinides^^*2^^|bgcolor(#ff99cc): Ac |bgcolor(#ff99cc): Th |bgcolor(#ff99cc): Pa |bgcolor(#ff99cc): U |bgcolor(#ff99cc): Np |bgcolor(#ff99cc): Pu |bgcolor(#ff99cc): Am |bgcolor(#ff99cc): Cm |bgcolor(#ff99cc): Bk |bgcolor(#ff99cc): Cf |bgcolor(#ff99cc): Es |bgcolor(#ff99cc): Fm |bgcolor(#ff99cc): Md |bgcolor(#ff99cc): No |\n\n*Chemical Series of the Periodic Table\n**@@bgcolor(#ff6666): Alkali metals@@\n**@@bgcolor(#ffdead): Alkaline earth metals@@\n**@@bgcolor(#ffbfff): Lanthanides@@\n**@@bgcolor(#ff99cc): Actinides@@\n**@@bgcolor(#ffc0c0): Transition metals@@\n**@@bgcolor(#cccccc): Poor metals@@\n**@@bgcolor(#cccc99): Metalloids@@\n**@@bgcolor(#a0ffa0): Nonmetals@@\n**@@bgcolor(#ffff99): Halogens@@\n**@@bgcolor(#c0ffff): Noble gases@@\n\n*State at standard temperature and pressure\n**those in @@color(red):red@@ are gases\n**those in @@color(green):green@@ are liquids\n**those in black are solids\n
I think this feature from the SecondVersion of TiddlyWiki is quite original. It's a button in the right-hand sidebar that sets the browser address bar to a URL embodying all the currently open tiddlers in the order that they are currently shown. To use it, arrange the open tiddlers that you want, click the permaview button, copy the URL from the browser address bar, and then paste it into an email, web page or whatever.\n\nOn some browsers, PermaView can be unreliable if any of the tiddler titles include characters that have special meanings in URLs (like "+" and "\s") or are outside the basic ANSI character set.
Changes the browser address bar to a permalink to the current tiddler. It is used with the ToolbarMacro like this:\n{{{\n<<toolbar permalink>>\n}}}\n\nOn some browsers, the PermalinkCommand can be unreliable if the tiddler title includes characters that have special meanings in URLs (like "+" and "\s") or are outside the basic ANSI character set.
!The Creation of Folk Cultures on the Internet: A Proposed Methodology of Investigation with Case Studies\n!!Goals\n# To investigate and describe the dynamics of small-group creation and interaction on the Internet and the use of folkloric processes therein.\n# To provide a theoretical model of computer-mediated communication via the Internet as a medium of transmission of folklore.\n# To provide a method of ethnographic investigation which treats the Internet as an ethnographic context and to test this methodology through the use of case studies.\n!!Introduction\nThis work follows in a long tradition of folkloristic studies that have focused on the relationship between technology and folklore. As Walter Ong has shown, the oral-formulaic theory of Millman Parry is essentially an examination of literacy as a communicative technology (Orality and Literacy) and there has since been a boom in the investigation of the relationship between orality and literacy. Other folklorists have looked at expressive behaviour in new communicative media such as the fax and photocopy machine. Although folklorists have not been slow to look at the computer as a research tool and as a subject of folklore we have on the whole made little progress in the area of the diffusion of folklore through computer networks. I believe that this results from several factors, the most notable being a perception among established scholars that the Internet is a radically new medium of communication and that, therefore, current ethnographic methodologies are insufficient. In response, therefore, this thesis represents a systematic attempt to tie together several strands of research and argue that current ethnographic strategies can be modified and used insightfully to come to terms with this new field of inquiry.
My thesis was a study of online football fans. I've been a supporter of Middlesbrough Football club since I was knee-high to a grasshopper. Some of my earliest memories are of being taken to watch "The Boro" by my grandfather. Some may call that a cruel and unusual punishment but it definitely warped me for life.\n\nMy PhD took place in Newfoundland, Canada and when I moved there I joined an email list that provided news and gossip about the Boro. After a while I realise that the list might make a useful case study for a virtual ethnography. \n\nCoducting virtual ethnography challenges many previously held assumptions about ethnography.\n* There is no travelling involved as the "field" doesn't really exist;\n* Identities of participants may be fluid;\n* The "non-virtual" identities of the participants might be difficult to access.\n\nI spent the best part of 15 months as an ethnographer "in" the mailing list. I signed my posts as the "virtual ethnographer", asked questions and interacted as an ethnographer. When the Boro were promoted I joined in the virtual celebrations. When they were demoted, I kicked the desk with the rest of them. I participated as fully as the participants, observed their behaviour and observed my own responses.\n\nThe idea was to see whether this global list of disparate individuals would form a sense of community, create traditions, generate norms and rules and so on. Early writing about such lists presumed that computer-mediated communication would lead to egalitarian behaviour and profound dysfunction due to the lack of social cues. My research found precisely the opposite; the group generated a certain cohesiveness and found ways of generating social cues and creating social patterns.
Sometimes text can inadvertently match TiddlyWiki formatting instructions - particularly program code, or text pasted from elsewhere. In these situations you can either use MonospacedText or you can accomplish the same thing without the monospaced effect like this:\n{{{\nThis is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>\n<nowiki>This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>></nowiki>\n"""This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>"""\n}}}\nWhich displays as:\nThis is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>\n<nowiki>This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>></nowiki>\n"""This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>"""
The [[Community]] is experimenting with using the [[del.icio.us|http://del.icio.us/]] bookmarking service as a PluginDirectory. The idea is to use the tag "TiddlyWikiPlugin" to identify the URL of a TiddlyWiki plugin. The del.icio.us fields should be set as follows:\n\n|!Field |!Example |\n|url |http://authorsite.com/#ThePlugin |\n|title |ThePluginTitle |\n|notes |Brief description/review of plugin |\n|tags |TiddlyWikiPlugin <AuthorName> |\n\nThe beauty of this approach is that it aggregates together multiple comments about a single plugin. For example, this is the del.icio.us [[page about UdoBorkowski's YourSearch plugin|http://del.icio.us/url/8085cbf3bbeda20f39a04a2969616afd]]. You can also browse the tag directly to see recently added plugins: http://del.icio.us/tag/TiddlyWikiPlugin\n\nBidiX has also created a special del.icio.us account that he's using to compile a master list of plugins tagged with TiddlyWikiHackers.
It is recommended that [[Plugins]] start with some standard information in TiddlerSlicing format. For example, see the ExamplePlugin:\n{{{\n|''Name:''|ExamplePlugin|\n|''Description:''|To demonstrate how to write TiddlyWiki plugins|\n|''Version:''|2.0.2|\n|''Date:''|Jul 12, 2006|\n|''Source:''|http://www.tiddlywiki.com/#ExamplePlugin|\n|''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''~CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n}}}\nAt the moment, only ~CoreVersion affects how [[Plugins]] are processed: if the ~CoreVersion is specified for a plugin, TiddlyWiki will only execute the plugin if the core code version matches or exceeds the version specified. For example, if you specify a ~CoreVersion of 2.2, version 2.1.x of TiddlyWiki will refuse to execute the plugin.\n\nNote that [[Plugins]] can use the {{{return}}} statement to bail out early (the return value is ignored). To indicate an error, plugins should just {{{throw}}} an exception. The text of the exception will be displayed in the PluginManager.
To make plugins, stylesheets and templates easier to read, you can use special alternative formatting for monospaced blocks.\n\nIn JavaScript code:\n{{{\n//{{{\nvar id = document.getElementById("mainMenu");\n//}}}\n}}}\nIn HTML templates:\n{{{\n<!--{{{-->\n<div id="MainMenu">\n</div>\n<!--}}}-->\n}}}\nIn CSS stylesheets\n{{{\n/*{{{*/\ndiv {color: #ff0000;}\n/*}}}*/\n}}}\nIt will be displayed as:\n//{{{\nvar id = document.getElementById("mainMenu");\n//}}}\n\n<!--{{{-->\n<div id="MainMenu">\n</div>\n<!--}}}-->\n\n/*{{{*/\ndiv {color: #ff0000;}\n/*}}}*/\n
TiddlyWiki can be extended by InstallingPlugins that implement new [[Macros]], [[Themes]], [[Tweaks]] or other features. The easiest way of InstallingPlugins is to use ImportTiddlers. Like other features that need to modify TiddlyWiki files, it only works when TiddlyWiki is loaded from a {{{file://}}} URL.\n\nSome of the leading plugin sites from independent developers are here tagged as <<tag contentPublisher>> which also makes them available in ImportTiddlers.\n\nChrisKlimas has written [[The Macrocodex|http://gimcrackd.com/etc/src/codex/]], some superb documentation on writing plugins and macros for TiddlyWiki.
My understanding is that Power Law comes from economics ([[Wikipedia|http://en.wikipedia.org/wiki/Power_law]]). Basically, in a power law, 80% of the stuff is controlled by 20% of the population. For example, the argument that 80% of the instances of tags used in a specific site are drawn from just 20% of the available tags. This is also where that phrase "the long tail" comes from; the remaining 80% of hardly used tags are the long tail.\n\nSeems also to be true of posting patterns in email discussion lists; 80% of the posts come from 20% of the participants. Once upon a time people used to talk of posters and lurkers and there was a general understanding that lurkers didn't post. It seems to me that most lurkers do indeed post but generally only once or twice during their membership. This is probably important because it means that the list discussion has a balance between diverse voices and "elite" voices who tend to set the discussion.\n
Any embedded PowerPoint presentatons are tagged with this.
You can now link to [[external sites|http://www.osmosoft.com]] or [[ordinary tiddlers|TiddlyWiki]] with ordinary words, without the messiness of the full URL appearing. Edit this tiddler to see how.\n\nYou can also LinkToFolders.
The project is investigating the use of tagging in sites such as http://del.icio.us for narrative research. It's not directly related to DigitalEthnography as currently envisioned but it offers potential insights for future digital ethnographic research. For example, [[Jess Laccetti claims that|TagCloudAnatomy]], you can see a person's tag cloud as something that offers insights into that person's identity. Similarly, a virtual community's tag cloud might tell you interesting things about that community. As tagging [[becomes more prevalent|http://www.hum.dmu.ac.uk/blogs/tnn/2007/02/tagging_the_beeb.html]], analysis of [[folksonomic|Folksonomy]] information may become an integral tool for virtual ethnography.\n\nThe project webpage is at http://www.ioct.dmu.ac.uk/tnn/
Audry Prost, "[[Caught in an (Ethnographic) Moment: Negotiating Religious Loyalities in and Out of the Field|http://www.anthropologymatters.com/journal/2003-2/prost2003_caught.htm]]", 2003.
/***\n| Name:|QuickOpenTagPlugin|\n| Description:|Changes tag links to make it easier to open tags as tiddlers|\n| Version:|6.1.1|\n| Date:|01-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n***/\n//{{{\nconfig.quickOpenTag = {\n\n dropdownChar: (document.all ? "\su25bc" : "\su25be"), // the little one doesn't work in IE\n\n createTagButton: function(place,tag,excludeTiddler) {\n // little hack so we can to <<tag PrettyTagName|RealTagName>>\n var splitTag = tag.split("|");\n var pretty = tag;\n if (splitTag.length == 2) {\n tag = splitTag[1];\n pretty = splitTag[0];\n }\n \n var sp = createTiddlyElement(place,"span",null,"quickopentag");\n createTiddlyText(createTiddlyLink(sp,tag,false),pretty);\n \n var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,\n config.views.wikified.tag.tooltip.format([tag]),onClickTag);\n theTag.setAttribute("tag",tag);\n if (excludeTiddler)\n theTag.setAttribute("tiddler",excludeTiddler);\n return(theTag);\n },\n\n miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var tagged = store.getTaggedTiddlers(tiddler.title);\n if (tagged.length > 0) {\n var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,\n config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);\n theTag.setAttribute("tag",tiddler.title);\n theTag.className = "miniTag";\n }\n },\n\n allTagsHandler: function(place,macroName,params) {\n var tags = store.getTags();\n var theDateList = createTiddlyElement(place,"ul");\n if(tags.length == 0)\n createTiddlyElement(theDateList,"li",null,"listTitle",this.noTags);\n for (var t=0; t<tags.length; t++) {\n var theListItem = createTiddlyElement(theDateList,"li");\n var theLink = createTiddlyLink(theListItem,tags[t][0],true);\n var theCount = " (" + tags[t][1] + ")";\n theLink.appendChild(document.createTextNode(theCount));\n var theDropDownBtn = createTiddlyButton(theListItem," " +\n config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);\n theDropDownBtn.setAttribute("tag",tags[t][0]);\n }\n },\n\n // todo fix these up a bit\n styles: \n"/*{{{*/\sn"+\n"/* created by QuickOpenTagPlugin */\sn"+\n".tagglyTagged .quickopentag, .tagged .quickopentag \sn"+\n" { margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }\sn"+\n".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }\sn"+\n".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}\sn"+\n"/* extra specificity to make it work right */\sn"+\n"#displayArea .viewer .quickopentag a.button, \sn"+\n"#displayArea .viewer .quickopentag a.tiddyLink, \sn"+\n"#mainMenu .quickopentag a.tiddyLink, \sn"+\n"#mainMenu .quickopentag a.tiddyLink \sn"+\n" { border:0px solid black; }\sn"+\n"#displayArea .viewer .quickopentag a.button, \sn"+\n"#mainMenu .quickopentag a.button \sn"+\n" { margin-left:0px; padding-left:2px; }\sn"+\n"#displayArea .viewer .quickopentag a.tiddlyLink, \sn"+\n"#mainMenu .quickopentag a.tiddlyLink \sn"+\n" { margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }\sn"+\n"a.miniTag {font-size:150%;} \sn"+\n"#mainMenu .quickopentag a.button \sn"+\n" /* looks better in right justified main menus */\sn"+\n" { margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }\sn" + \n"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }\sn" +\n"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }\sn" +\n"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }\sn" +\n"/*}}}*/\sn"+\n "",\n\n init: function() {\n // we fully replace these builtins. can't hijack them easily\n window.createTagButton = this.createTagButton;\n config.macros.allTags.handler = this.allTagsHandler;\n config.macros.miniTag = { handler: this.miniTagHandler };\n config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;\n if (store)\n store.addNotification("QuickOpenTagStyles",refreshStyles);\n else\n config.notifyTiddlers.push({name:"QuickOpenTagStyles", notify: refreshStyles});\n }\n\n}\n\nconfig.quickOpenTag.init();\n\n//}}}\n
"TiddlyWiki offers a glimpse of how things are changing in terms of how people think about software... a new beginning for simple software." -- //Jeremy Wagstaff, [[WSJ.com|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/53c7b7686b9bb5c2/122f1b2146d2ba6d?q=wsj&rnum=1]]//\n\n"The original TiddlyWiki by Jeremy Ruston is, without a doubt, one of the most amazing dynamic web apps I've ever seen (sorry Gmail.)" -- [[Lifehacker.com recommendation|http://www.lifehacker.com/software/productivity/getting-things-done-tiddlywiki-102953.php]]\n\n"It's blowing my mind." -- //Evan Williams, founder of Blogger and Odeo, [[EvHead|http://evhead.com/2005/05/tiddlywiki-reusable-non-linear.asp]]//\n\n"What I love most about Tiddlywiki is that it is quite easy to use but incredibly flexible." -- //Ed Sim of Dawntreader Ventures, [[BeyondVC|http://www.beyondvc.com/2005/10/tiddlywiki.html]]//\n\n"TiddlyWiki is completely blowing my mind... Completely tripped out. Try it and you'll see what I mean." -- //Russell Beattie of Yahoo!, [[Russell Beattie's Notebook|http://www.russellbeattie.com/notebook/1008896.html]]//\n\n"OK, this is the first wiki interface I’ve seen that has real potential. Dunno quite why exactly, but this blows my mind." -- //Jason Kottke, [[Kottke's Remaindered Links|http://www.kottke.org/remainder/04/09/6574.html]]//
Good question Joanna.... Gender definitely comes into play... and I wonder about cultural bias. I've often think that absence is one of the hardest things to measure on the web. How do you account for all those people not even online? How can that absence be quantified or made palpable in the collection of data? (Bruce, these are questions I ask myself... and don't necessarily expect you to have an answer. Just curious about your speculations :-)\n\nRenee
Feminist ethnography has been enormously influential over the last 20 years; it has been one of the main driving forces behind the shake up of ethnography. In addition some of the pioneers of ethnographic research - Ruth Benedict, Margaret Mead were, as you can probably tell, women.\n\nFeminist ethnography is often, for obvious reasons, centred on women's lives but more generally attempts to conduct ethnographies of those whose voices have been overlooked. For example, in early folklore research, it was thought that women didn't generally tell folktales, legends and so on because fieldworks never collected them. It wasn't until feminist work began that the rather obvious point emerged; women in 'traditionaltell stories but tended to tell them indoors at gatherings exclusive to women or with children - places where male fieldworkers generally couldn't go. \n\nOne of the arguments for the use of hypertext/media in ethnographic writing is that with the deconstruction of the single linear narrative, room emerges for a more polygot representation.\n\nMargery Wolf, A Thrice-Told Tale Feminism, Postmodernism, and Ethnographic Responsibility. Stanford University Press, 1992. \n\nRuth Behar and Deborah A. Gordon (eds.), Women Writing Culture. University of California Press, 1995. \n\nDiane L. Wolf (ed.), Feminist Dilemmas in Fieldwork. Westview Press, 1996. \n
To read the EHE it helps to understand why we [[authored it|AuthorEHE]] the way we did.\n\nThe EHE is divided into colour-coded sections, the most commonly used of which are the light blue "data" section and the grey "trails" section. Through colour coding and standard navigational devices it should be obvious "where" you are. In addition, whenever a link points to a page, the linked text lights up in a manner appropriate to the target's section.\n\nIn this excerpt, some of the trails material is included and some of the data. There is not enough room to incorporate video or extensive photographs. \n* To get an idea of the how the trails work, explore some of the "Wow Factor" trail (http://www.ioct.dmu.ac.uk/tnn/EHE/trails/WOW/index.html).\n* To explore the data, try http://www.ioct.dmu.ac.uk/tnn/EHE/ssp/hyper/AUDIO/MD57.htm which is the start of an interview with one of the staff\n* Also have a look at the calendar view http://www.ioct.dmu.ac.uk/tnn/EHE/ssp/calendar.html to see another way of interacting with the data\nOther than that, have an explore and don't mind the non-existent pages. Be aware that this is highly confidential presently.
<html><table style="width:auto;"><tr><td><img src="http://lh4.google.com/image/mason.bruce/RaJnO45-BrI/AAAAAAAAAgY/Uzz7p3pm6Do/s288/Picture%20017.jpg"></a></td></tr></table></html>
|''URL:''|http://solo.dc3.com/tw/|\n|''Description:''|Bob Denny's extensions to TiddlyWiki|\n|''Author:''|BobDenny|
''References''\nMost links in the tiddlers are to citeulike or Google Book Search.
Since the FirstVersion of TiddlyWiki, the ReferencesButton has been implemented as a canned search for the name of the current tiddler. That approach was a bit disruptive because of the way that a search operation wipes the current reading state of the document.\n\nThe new implementation offers a popup menu of the names of all the referring tiddlers. It can be consulted without disturbing any tiddlers that are currently open.
RegExpSearch uses JavaScript's [[RegExp syntax|http://www.programmershelp.co.uk/docs/javascript/regexp.html#1193188]] to allow flexible searches.
/***\n| Name:|RenameTagsPlugin|\n| Description:|Allows you to easily rename or delete tags across multiple tiddlers|\n| Version:|6.1.18|\n| Date:|18-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\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//}}}\n\n
Howard Rheingold, //[[The Virtual Community|http://www.citeulike.org/article/228705]]//, 1993 (2000). The ~CiteULike reference is to the revised edition. The original 1993 version is available online for free at http://www.rheingold.com/vc/book/.
*[[A link]]\n*[[A link]]\n*[[A link]]
<!--{{{-->\n<div class='titleLine'>\n <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n\n <div class="headerOptions">\n <span macro="search"></span>\n <span macro="slider chkSliderOptionsPanel OptionsPanel options 'Change TiddlyWiki advanced options'"></span>\n </div>\n</div>\n\n<div class='header'>\n <div id='rinTopMenu' refresh='content' tiddler='RinTopMenu'></div>\n</div>\n\n<div id='messageArea'></div>\n\n<div id='bodyWrapper'>\n <div id='rinSidebar'>\n <div class='sidebarBlock'>\n <h3>Tools</h3>\n <div refresh='content' tiddler='RinTools'></div>\n </div>\n\n <div class='sidebarBlock'>\n <h3>Links</h3>\n <div refresh='content' tiddler='RinLinks'></div>\n </div>\n \n <div class='sidebarBlock'>\n <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n </div>\n </div>\n\n <div id='displayArea'>\n <div id='tiddlerDisplay'></div>\n </div>\n <div id='contentFooter'><p>TiddlyWiki was created by <a href="http://www.tidlywiki.com" title="TiddlyWiki">Jeremy Ruston</a> and TiddlyRin was created by <a href="http://www.checkettsweb.com" title="Checketts Web">Clint Checketts</a></p></div>\n</div>\n<!--}}}-->
/***\n/%[[StyleSheetLayout]]\n[[StyleSheetColors]]%/\n!Rin (Beta!!!!) for TiddlyWiki 2.0\ninspired by Broken Kode and implemented by Clint Checketts\nhttp://tiddlystyles.com/#theme:Rin\n\n!General Styles /% ============================================================ %/\n***/\n/*{{{*/\na,\na.tiddlyLink,\na.button,\na.externalLink{\n color: #005d93;\n text-decoration: none;\n background: transparent;\n border: 0;\n}\n\na:hover,\na.tiddlyLink:hover,\na.button:hover,\na.externalLink:hover{\n border: 0;\n color: #900;\n text-decoration: underline;\n}\n\nbody {\n background-color: #fff;\n font-family: Verdana, Arial, Helvetica, sans-serif;\n}\n\n#contentWrapper{\n border: 0;\n margin: .5em 1em;\n\n}\n\n/*}}}*/\n/***\n!Header Styles /% ============================================================ %/\n***/\n/*{{{*/\n.header {\n height: 150px;\n background: url('rinback.jpg') repeat-x bottom left;\n position: relative;\n}\n\n.titleLine{\n background: #ccc url('ringradient.jpg') repeat-x top center;\n padding: 0 5px;\n}\n\n.siteTitle, .siteSubtitle{\n display: inline;\n font-size: 11px;\n line-height: 25px;\n font-weight: bold;\n color: #000;\n}\n\n.siteTitle a{\n color: #000;\n}\n\n.siteTitle a:hover, .siteSubtitle a:hover,.header .headerOptions a:hover{\n color: #cdcecf;\n text-decoration: none;\n background: transparent;\n}\n\n.siteSubtitle, #siteSubtitle a{\n font-weight: normal;\n color: #8b9198;\n}\n\n.headerOptions{\n position: absolute;\n z-index: 10;\n top: 4px;\n right: 17px;\n text-align: right;\n font-size: .9em;\n}\n\n.headerOptions a{\n position: relative;\n top: -2px;\n color: #8b9190;\n}\n\n.headerOptions .sliderPanel{\n color: #000;\n background: #fff;\n border-right: 2px solid #999;\n border-bottom: 2px solid #999;\n border-left: 1px solid #ccc;\n font-size: 10px;\n text-align: left;\n line-height: 1.2em;\n padding: .5em 1em;\n margin: -3px -2px 0 0;\n width: 180px; \n}\n\n.headerOptions input{\n margin: 0em 1em 0 .5em;\n font-size: 9px;\n}\n/*}}}*/\n/***\n!Top menu styles /% =========================================================== %/\n***/\n/*{{{*/\n#rinTopMenu{\n position: absolute;\n bottom: 0;\n left: 0;\n width: auto;\n padding: 0;\n margin: 0;\n color: #fff;\n}\n#rinTopMenu br{\n display: none;\n}\n\n#rinTopMenu a{\ncolor: #e6e6e6;\n}\n\n#rinTopMenu ul{\n margin: 0 0 2px 2px;\n padding: 0;\n}\n\n#rinTopMenu li{\n display: inline;\n\n}\n\n#rinTopMenu li a.tiddlyLink,#rinTopMenu li a.button,#rinTopMenu li a.externalLink{\n padding: 2px 10px;\n color: #e6e6e6;\n text-decoration: none;\n}\n\n#rinTopMenu li a.tiddlyLink:hover,#rinTopMenu li a.button:hover,#rinTopMenu li a.externalLink:hover{\n background: #97ced5;\n color: #19729e;\n}\n/*}}}*/\n/***\n!Sidebar styles /% =========================================================== %/\n***/\n/*{{{*/\n#rinSidebar{\n float: left;\n margin: 9px 0 0 15px;\n width: 220px;\n}\n\n#sidebarOptions a.button{\n display: inline;\n}\n\n.sidebarBlock{\n display: block;\n margin: 0 0 .5em 0;\n background: #fff;\n padding-bottom: 5px;\n}\n\n.sidebarBlock h1, .sidebarBlock h2, .sidebarBlock h3, .sidebarBlock .tabset{\n background: #ccc url('ringradient.jpg') repeat-x top left;\n font-size: 11px;\n line-height: 23px;\n font-weight: bold;\n color: #000; \n padding-left: 5px ;\n}\n\n.sidebarBlock .tabset{\n padding: 0;\n}\n\n#rinSidebar .sidebarBlock .tabContents,\n#displayArea .sidebarBlock .tabContents .tabContents, \n#displayArea .viewer .tabUnselected,\n#displayArea .viewer .tabContents .tabSelected{\n background: #fff;\n border: 0;\n width: 205px;\n}\n\n\n#sidebar .sidebarBlock .tabContents .tabContents,\n#displayArea .sidebarBlock .tabContents,\n#displayArea .viewer .tabSelected,\n#displayArea .viewer .tabContents .tabUnselected{\n background: #f5f6f7;\n}\n\n#sidebar .sidebarBlock .tabContents .tab{\n background: #f5f6f8;\n}\n\n\n#sidebar .sidebarBlock .tabContents .tabUnselected{\n background: #f0f0f0;\n}\n\n#sidebar .sidebarBlock .tabContents .tabUnselected:hover{\n text-decoration: underline;\n}\n\n\n#contentWrapper .tab{\n position: relative;\n padding-bottom: 2px;\n font-weight: normal;\n top: 3px;\n background: #f5f6f8;\n color: #000;\n text-decoration: none;\n}\n\n#contentWrapper .tabSelected{\n border: 0;\n top: 1px;\n padding-bottom: 4px !important;\n background: #fff;\n font-weight: bold;\n cursor: default;\n}\n\n#sidebarTabs .tabContents li.listTitle,#sidebarTabs .tabContents li.listTitle:hover{\n padding: 0 0 0 .5em;\n margin: 0;\n background: transparent;\n}\n\n#sidebarTabs .tabContents li.listLink{\n margin-left: 1em; \n}\n\n#sidebarTabs .sidebarBlock li{\n list-style: none;\n margin-left: 1em;\n padding: 1px 0 1px 1.5em;\n background: transparent url('rinbulletOver.gif') no-repeat left center;\n}\n\n#sidebarTabs .sidebarBlock li:hover{\n background: transparent url('rinbullet.gif') no-repeat left center;\n}\n\n#contentWrapper .tabContents a.tiddlyLink,#contentWrapper .tabContents a.button{\n display: block;\n color: #005d93;\n border: 0;\n}\n\n#contentWrapper .tabContents a.tiddlyLink:hover,#contentWrapper .tabContents a.button:hover{\n color: #900;\n background: #f0f0f0;\n text-decoration: none;\n}\n\n#rinSidebar ul,\n#rinSidebar li{\n list-style: none;\n padding: 0;\n margin: 0;\n}\n\n#rinSidebar li a{\n display: block;\n margin: 0 0 0 .5em;\n padding: 0 0 0 1.5em;\n background: transparent url('rinbullet.gif') no-repeat 5px -22px;\n}\n\n#rinSidebar li a:hover,\n#rinSidebar #sidebarTabs li a:hover{\n background: transparent url('rinbullet.gif') no-repeat 5px 0;\n text-decoration: underline;\n}\n\n#rinSidebar #sidebarTabs li{\n margin: 0;\n padding: 0;\n}\n\n/*}}}*/\n/***\n!Message area styles /% =========================================================== %/\n***/\n/*{{{*/\n#messageArea{\n background: #cdced2 url('ringradient.jpg') repeat-x left top;\n color: #000;\n position: absolute;\n top: 135px;\n right: 10px;\n}\n\n#messageArea a:link{\n color: #000;\n}\n\n#messageArea a:hover{\n text-decoration: none;\n}\n/*}}}*/\n/***\n!Display styles /% =========================================================== %/\n***/\n/*{{{*/\n#bodyWrapper{\n border: 1px solid #d5d7db;\n border-width: 15px 1px 3px 1px;\n margin: 10px 0;\n background: #f5f6f7;\n}\n\n\n\n#displayArea{\n margin: 0 0 0 20em;\n}\n\n#contentFooter{\n clear: both;\n background: #d5d7db;\n text-align: center;\n}\n\n#contentFooter p{\n margin: 0;\n}\n\n.tiddler{\n background: #fff;\n margin: 10px 0;\n}\n\n.tiddler .toolbar a.button,.tiddler .footer a.button,.tiddler .editorFooter a.button{\n padding: 2px 5px;\n color: #19729e;\n text-decoration: none;\n}\n\n.tiddler .toolbar a.button:hover,.tiddler .footer a.button:hover,.tiddler .editorFooter a.button:hover{\n background: #97ced5;\n color: #19729e;\n}\n\n.title{\n font-size: 16px;\n}\n\n.tagClear{\n clear: none;\n}\n\n.viewer h1,\n.viewer h2,\n.viewer h3,\n.viewer h4,\n.viewer h5,\n.viewer h6{\n background: transparent;\n}\n\n.viewer h1{\n border-bottom: 1px dotted #97ced5;\n}\n\n.viewer th,\n.viewer thead td{\n background: #2b7ea6\n}\n\n#popup{\n color: #000;\n background: #d5d7db;\n}\n\n#popup hr{\n color: #999;\n border-top: 1px solid #999;\n width: 96%;\n}\n\n#popup a{\n display: block;\n color: #005d93;\n}\n\n#popup a:hover{\n color: #900;\n background: #f0f0f0;\n text-decoration: none;\n }\n/*}}}*/
*<<closeAll>>\n*<<permaview>>\n*<<saveChanges>>
*<<themeSelect style 'Select theme'>>\n*[[Themes|themes]]\n*[[TagCloud]]\n*[[TagglyTagCloud]]\n*[[Blog]]\n*[[NewNote]]\n*<<newTiddler>>\n*<<upload http://checkettsweb.com/styles/store.php themes.htm themesBackup>><<redirect TW TiddlyWiki>>
TiddlyWiki's RSS feed is available [[here|http://www.tiddlywiki.com/index.xml]]. You can generate an RSS feed for your own TiddlyWiki using the GenerateAnRssFeed option.
Safari can SaveChanges using the TiddlySaver Java applet.\n\nThere are still some issues with Safari:\n* The SiteTitle and SiteSubtitle don't get properly set in the browser window title bar\n* PermaLinks with Unicode characters in them (like [[this one|http://avm.free.fr/tidlipo.html#AdaptationFran%C3%A7aise]]) don't work properly\n* There's a strange display bug that can leave behind phantom tiddlers after editing (the workaround is to SaveChanges and then use 'refresh' in Safari to reload the page)\n* InterfaceOptions (like your UserName) are not 'sticky' across sessions, related to the way that cookies are handled by Safari for files loaded from 'file://' URLs.\n* Searching doesn't always get triggered correctly after typing in the search box\n* Vertically collapsed columns in HtmlTables do not work correctly
SafeMode can be selected by putting {{{#start:safe}}} (see StartupParameters) on the end of a TiddlyWiki URL. It stops TiddlyWiki from executing any [[Plugins]] or reading/writing cookies. It can be useful for tracking down problems caused by rogue [[Plugins]].
Several people have reported problems with reusing TiddlyWiki when they have used the File/Save command of their browser to save it. The issue is that some browsers (notably FireFox) don't save the text of the HTML file exactly as it appears on the server, but rather save a snapshot of the current state of the page. In the case of a highly dynamic page like TiddlyWiki, this leads to all sorts of peculiarness...\n\nTiddlyWiki now displays a warning if it thinks that it has been saved wrongly.
Released in December 2004, the [[second version|secondversion.html]] of TiddlyWiki grew 50% over the FirstVersion to 76KB. It added IncrementalSearch, the ReferencesButton, the PermaLinkButton, PermaView, CloseAll, SmoothScrolling, an ImprovedSidebar, an animation for the CloseButton and a tiny EasterEgg in homage to Macintosh OS X. It also introduced a new SiteDesign.
* KamiWiki at http://rakusai.org/kamiwiki/\n* IsaoSonobe's OgreKitWiki which is currently offline
/***\n!This is a modded version get the original version here: http://lewcid.googlepages.com/lewcid.html#SelectThemePlugin\n// // /%\n''This plugin was previously called StyleChooser.''\n\n|Name|SelectThemePlugin|\n|Created by|SimonBaird and SaqImtiaz|\n|Location|http://lewcid.googlepages.com/lewcid.html#SelectThemePlugin|\n|Version|1.2.4|\n|Requires|~TW2.x|\n!Description\n*An alternative style switcher, can be used to switch just stylesheets and/or pagetemplates, or a combination of both (a theme)\n*you can add your own stylesheets and pagetemplates, or use a ThemePack, like BigThemePack.\n\n!Usage\n* You have to have fetch or create some styleSheets and pageTemplates to use this plugin.\n**You can either get a ThemePack like BigThemePack which automatically adds themes to ThemeSelect.\n**or create tiddlers with styleSheets and pageTemplates and tag them styleSheets and pageTemplates respectively.\n* Put {{{<<themeSelect style 'Select theme'>>}}} in your SideBarOptions.\n\n!Creating Theme Packs\n*You can create your own theme pack if you like. Instructions can be found [[here.|CreateThemePack]]\n\n!History\n* 08-Sept-06, v1.2.4, fixed bug with TW2.1\n* 15-May-06, v1.2.3, added paramifier so you can put theme on url, eg http://www.somewhere.com/twfile.html#theme:Berry2, thanks Clint (Simon).\n* 28-Apr-o6, v1.2.2, fixed bug with opening TW after deleting themepacks. (Saq)\n* 26-Apr-06, v1.2.1, more code optimization, dropdowns now updated on the fly. (Saq)\n* 25-Apr-06, v1.2.0, added 3rd party ThemePack support, and made various other improvements.(Simon & Saq)\n* 24-Apr-06, v1.1.0, added: no styles and default styles options,<<br>>support for ThemePack, support for tag variations(Saq)\n* 21-Apr-06, v1.0.0, Reworked dropdowns to include option for pagetemplates (Saq)\n* 21-Apr-06, v0.9.0, Rewrote and added Saq's lovely dropdown select (Simon)\n* 20-Apr-06, v0.0.1, Basic switcher working (Simon)\n\n!Examples\n|!Source|!Output|h\n|{{{<<themeSelect style>>}}} for a dropdown with StyleSheets|<<themeSelect style>>|\n|{{{<<themeSelect pagetemplate>>}}} for a dropdown with PageTemplates|<<themeSelect pagetemplate>>|\n|{{{<<themeSelect style customlabel>>}}} to use a customlabel|<<themeSelect style customlabel>>|\n* When applying a stylesheet or template, it also looks for a template or stylesheet respectively based on naming convention, eg MyFunkyStyleSheet and MyFunkyPageTemplate.\n\n!Notes\n* See also http://www.tiddlytools.com/#SelectStyleSheetPlugin for a more feature-rich style sheet switcher\n\n! Ideas\n* do ViewTemplate also?\n* Pretty up the [x] bit\n\n!Code\n*/\n\n//{{{\n// for compatibility with TW <2.0.9\nif (!Array.prototype.contains)\n Array.prototype.contains = function(item)\n {\n return this.find(item) != null;\n };\n\n// for compatibility with TW <2.0.9\nif (!Array.prototype.containsAny)\n Array.prototype.containsAny = function(items)\n {\n for(var i=0; i<items.length; i++)\n if (this.contains(items[i]))\n return true;\n return false;\n };\n//}}}\n\n//{{{\nversion.extensions.SelectTheme = { major: 1, minor: 2, revision: 4, date: new Date(2006,9,8),\n source: "http://lewcid.googlepages.com/lewcid.html#SelectTheme"\n};\n\nconfig.SelectTheme = {\n things: {\n style: {\n tag: ["StyleSheets","StyleSheet","styleSheet","styleSheets","stylesheet","stylesheets"],\n theDefault: "StyleSheet",\n suffix: "StyleSheet",\n notify: refreshStyles,\n cookie: "txtStyleSheet",\n otherThing: "pagetemplate",\n label: "Choose StyleSheet: ",\n tooltip: "Choose a StyleSheet",\n caseNone: { text:"None", title:"NoStyleSheet"},\n caseDefault: { text:"Default", title:"StyleSheet" }\n\n },\n pagetemplate: {\n tag: ["PageTemplates","PageTemplate","pageTemplates","pageTemplate","pagetemplate","pagetemplates"],\n theDefault: "PageTemplate",\n suffix: "PageTemplate",\n notify: refreshPageTemplate,\n cookie: "txtPageTemplate",\n otherThing: "style",\n label: "Choose PageTemplate: ",\n tooltip: "Choose a PageTemplate",\n caseNone: { text:"None", title:"NoPageTemplate"},\n caseDefault: { text:"Default", title:"PageTemplate" }\n }\n\n },\n\n specialCases: ["caseNone","caseDefault"]\n\n};\n\nTiddlyWiki.prototype.removeNotification = function(title,fn) {\n for (var i=0;i<this.namedNotifications.length;i++)\n if((this.namedNotifications[i].name == title) && (this.namedNotifications[i].notify == fn))\n this.namedNotifications.splice(i,1); // counting on it only being there once\n}\n\nStory.prototype.chooseTemplateForTiddler_old_selectTheme = Story.prototype.chooseTemplateForTiddler;\n\nStory.prototype.chooseTemplateForTiddler = function(title,template) \n{\n if (!template)\n template = DEFAULT_VIEW_TEMPLATE;\n var theme = config.options.txtStyleSheet.replace("StyleSheet","");\n if (template == DEFAULT_VIEW_TEMPLATE)\n {\n if (store.isTiddler(theme+"ViewTemplate"))\n return theme+"ViewTemplate";\n }\n else if (template == DEFAULT_EDIT_TEMPLATE)\n {\n if (store.isTiddler(theme+"EditTemplate"))\n return theme+"EditTemplate";\n }\n return this.chooseTemplateForTiddler_old_selectTheme(title,template);\n}\n\n\n// Refresh all tiddlers in the Story\nStory.prototype.refreshAllTiddlers = function()\n{\n var place = document.getElementById(this.container);\n var e = place.firstChild;\n this.refreshTiddler(e.getAttribute("tiddler"),null,true);\n while((e = e.nextSibling) != null)\n this.refreshTiddler(e.getAttribute("tiddler"),null,true);\n}\n\n\nvar things = config.SelectTheme.things;\nvar specialCases=config.SelectTheme.specialCases;\n\nfor (var zz in things) {\n // make sure we have a value\n if (!config.options[things[zz].cookie])\n config.options[things[zz].cookie] = things[zz].theDefault;\n\n // remove core notify\n store.removeNotification(things[zz].theDefault,things[zz].notify);\n\n // and add our one\n store.addNotification(config.options[things[zz].cookie],things[zz].notify);\n}\n\n//checks to see if a tiddler exists in store or as a shadow.\nTiddlyWiki.prototype.isTiddler= function (title)\n {return store.tiddlerExists(title) || store.isShadowTiddler(title)}\n\n//hijack core function & make sure template exists\nwindow.applyPageTemplate_themeSelect=window.applyPageTemplate;\nwindow.applyPageTemplate=function(title){\n if(!store.isTiddler(title))\n {title = things.pagetemplate.theDefault;}\n applyPageTemplate_themeSelect(title);\n }\n\nTiddlyWiki.prototype.makeActiveTheme = function(what,title,alsoCheckOtherThing) {\n\n var thing = things[what];\n if (!store.isTiddler(title))\n title = thing.theDefault;\n\n var oldTitle = config.options[thing.cookie];\n\n if (what == "style") {\n // remove old style element from DOM\n var oldStyleElement = document.getElementById(oldTitle);\n oldStyleElement.parentNode.removeChild(oldStyleElement);\n }\n\n store.removeNotification(oldTitle,thing.notify);\n store.addNotification(title,thing.notify);\n store.notify(title);\n\n config.options[thing.cookie] = title;\n saveOptionCookie(thing.cookie);\n if (!alsoCheckOtherThing)\n story.refreshAllTiddlers();\n if (alsoCheckOtherThing)\n this.makeActiveTheme(thing.otherThing,\n title.replace(new RegExp(thing.suffix+"$"),"") + things[thing.otherThing].suffix,\n false);\n};\n\n\nconfig.shadowTiddlers.NoStyleSheet = "";\nconfig.shadowTiddlers.NoPageTemplate = config.shadowTiddlers.PageTemplate;\n\n\nfunction switchTheme(e){\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var theLink = theTarget;\n var switchTo= theLink.getAttribute("switchTo");\n var mode = theLink.getAttribute("mode");\n if ((config.options[things[mode].cookie])!=switchTo)\n {store.makeActiveTheme(mode,switchTo,true);};\n return(false);\n}\n\n\nconfig.macros.themeSelect={};\nconfig.macros.themeSelect.dropdownchar =(document.all?"▼":"▾");\nconfig.macros.themeSelect.handler = function(place,macroName,params,wikifier,paramString,tiddler){\n var arrow = config.macros.themeSelect.dropdownchar;\n var mode = params[0];\n var label = (params[1]?params[1]:things[mode].label) + arrow;\n var cookie = (config.options[things[mode].cookie]);\n\n var onclick = function(e)\n { if (!e) var e = window.event;\n var popup = Popup.create(this);\n\n var tagged=[];\n\n store.forEachTiddler(function(title,tiddler) {\n if ((tiddler.tags).containsAny(things[mode].tag)){\n tagged.push(tiddler.title);}\n });\n\n //integrate ThemePacks\n if (config.themes) {\n // see what themes have been loaded...\n for (var i=0;i<config.themes.length;i++) {\n // see if there is one\n var lookForThis = config.themes[i] + things[mode].suffix;\n if (store.isShadowTiddler(lookForThis)) {\n tagged.pushUnique(lookForThis);\n }\n }\n tagged = tagged.sort();\n }\n\n //this function used later to create buttons\n var createThemeButton = function(switchTo){\n var theButton = createTiddlyButton(createTiddlyElement(popup,"li"),text,null,switchTheme,useClass);\n theButton.setAttribute("switchTo",switchTo);\n theButton.setAttribute("mode",mode);};\n\n //create Buttons for None(shadow styles) & Default (StyleSheet)\n // Default button is not created if StyleSheet doesnt exist.\n for(var t=0; t<specialCases.length; t++){\n var special = specialCases[t];\n var text = things[mode][special].text;\n var useClass = "tiddlyLinkExisting"; //redundant, optimize!\n if ((things[mode][special].title==cookie)||(special=="caseNone"&&!store.isTiddler(cookie)))\n {text+= " [x]";\n useClass = "currentlySelected";}\n if (!((special=="caseDefault")&&(!store.getTiddler(things[mode][special].title))))\n createThemeButton(things[mode][special].title); }\n\n //insert horizontal rule\n createTiddlyElement(createTiddlyElement(popup,"li"),"hr");\n\n //create buttons for all other stylesheet tiddlers\n for(var t=0; t<tagged.length; t++)\n { var useClass = "tiddlyLinkExisting";\n var text = (tagged[t]).replace((things[mode].suffix),"");\n if (tagged[t]==(cookie) )\n {text+=" [x]"; useClass="currentlySelected";}\n if ((tagged[t]!= (things[mode].theDefault))&&tagged[t]!= (things[mode].none))\n {createThemeButton(tagged[t]);}}\n Popup.show(popup,false);\n e.cancelBubble = true;\n if (e.stopPropagation)\n e.stopPropagation();\n return(false);\n };\n\n var createdropperButton = function(place){\n var sp = createTiddlyElement(place,"span",null,"ThemeChooserButton");\n var theDropDownBtn = createTiddlyButton(sp,label,things[mode].tooltip,onclick);\n };\n\n createdropperButton(place);\n};\n\n\nsetStylesheet(".popup li a.currentlySelected {background:#ccc;color:black;font-weight:bold;}","currentlySelectedStyle"); // could do better probably...\n\nconfig.macros.layoutChooser=config.macros.themeSelect;\n\n//shadow tiddler to hold instructions for creating ThemePacks\nconfig.shadowTiddlers.ThemePack='See http://simonbaird.com/mptw/#CreateThemePack'; \n\nconfig.macros.applyTheme = {handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n var theme = params[0];\n var label = params[1]?params[1]:'Apply theme "' + theme + '"';\n var tooltip = 'Apply the "'+theme+'" theme to this TiddlyWiki';\n createTiddlyButton(place,label,tooltip,function() {\n store.makeActiveTheme("style",theme+things.style.suffix,true);\n });\n}};\n\n\n// this means you can put #theme:ThemeName in url. suggested by Clint\nconfig.paramifiers.theme = {\n onstart: function(themeName) {\n store.makeActiveTheme("style",themeName+config.SelectTheme.things.style.suffix,true);\n }\n};\n\n//}}}\n/*\n// // %/\n***/\n
One of the neatest features of TiddlyWiki is that it is entirely self-contained in a single HTML file - even including graphics like the GradientMacro and [[Sparklines]]. The file contains the actual hypertext document, and the JavaScript, CascadingStyleSheets and HTML necessary to both view and edit it. This means that it is trivial to host a TiddlyWiki on a website, or to distribute one by email. And anyone with a reasonably recent web browser will be able to read and edit it.
Out of the box, TiddlyWiki doesn't have a ServerSide back end. In many applications that's a great strength because it means that you can work with TiddlyWiki without having to be connected to the Internet or, because it's SelfContained, installing any software.\n\nIn other applications, a ServerSide can be very useful, particularly if you want to edit a TiddlyWiki while it's online, or you need lots of people to be able to edit a TiddlyWiki at the same time. The development [[Community]] has come up with several ServerSide implementations that are suitable for a range of applications. The most popular and up-to-date ones that you can download and install on your own servers are:\n\n* [[ZiddlyWiki|http://www.ziddlywiki.org/]] from BobMcElrath and TimMorgan\n* [[ccTiddly|http://cctiddly.sourceforge.net/]] from CoolCold\n* [[PrinceTiddlyWiki|http://ptw.sourceforge.net/index-en.html]] from BramChen\n* [[RoWiki|http://rodney.gotdns.com/]] from RodneyGomes\n* [[PhpTiddlyWiki|http://www.patrickcurry.com/tiddly/]] from PatrickCurry\n\n[[TiddlySpot|http://tiddlyspot.com]] offers a fantastic, free hosted version of TiddlyWiki with some very cool features (although at present it does not support simultaneous editting by multiple users). It's based on Bidix's remarkable [[UploadPlugin|http://tiddlywiki.bidix.info/#HowToUpload]].\n\nThere are also some TiddlyWikiAdaptations that have taken some of the code and ideas from TiddlyWiki and diverged off to do their own thing.
Internet Explorer Windows XP SP2 seems to have a magical ability to keep track of html files that have been downloaded from the internet and saved on an NTFS drive. By storing additional data in an [[alternate data stream|http://www.jsware.net/jsware/sviewer.html]], it manages to keep them in the 'Internet' zone regardless of attempts to rename or modify the file. But, in order to be able to SaveChanges, TiddlyWiki needs to run in the 'My Computer' zone.\n\nThe solution is to right-click on the TiddlyWiki html file and choose //Properties//. If the file is blocked, you'll see an 'Unblock' button on the resulting property sheet that removes the protection and allows the file to open in the 'My Computer' zone. Then open the file in Internet Explorer - it might put up its information bar asking you whether you want to run it. You need to 'Allow blocked content' to let TiddlyWiki do its stuff.\n\nThis is all a bit frustrating. An easy alternative is to use FireFox, which seems to do the trick on all platforms.
Shipman & Marshall, "Spatial Hypertext: An Alternative to Navigational and Semantic Links", 1993. http://www.cs.brown.edu/memex/ACM_HypertextTestbed/papers/37.html
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<upload http://cwnm.tiddlyspot.com/store.cgi index.html . . cwnm>><html><a href='http://cwnm.tiddlyspot.com/download' class='button'>download</a></html><<slider chkSliderOptionsPanel OptionsPanel 'options»' 'Change TiddlyWiki advanced options'>>
A [[Guest Lecture|GuestLecture]] for [[Creative Writing and New Media|CWNM]] by [[Bruce Mason|BruceMason]]
Digital Ethnography
Sparklines [[were invented|http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&topic_id=1]] by EdwardTufte, author of a number of thoughtful and inspiring books on the presentation of visual information.\n\nSparklines are described by Tufte as "small, intense, wordlike graphics". They are designed to be used inline with ordinary text. For example, this <<sparkline 163 218 231 236 232 266 176 249 289 1041 1835 2285 3098 2101 1755 3283 3353 3335 2898 2224 1404 1354 1825 1839 2142 1942 1784 1145 979 1328 1611>> shows one measure of activity on www.tiddlywiki.com during the month of April 2005.\n\nCreating a sparkline is easy using the new [[Macros]] feature:\n\n{{{\n<<sparkline 163 218 ... 1328 1611>>\n}}}\n\nThe cunning thing about these sparklines is that they are created inline without requiring any graphics or other ServerSide support.
TiddlyWiki defines a small number of SpecialTags that are used to indicate that tiddlers should be treated differently in some way:\n* ''excludeSearch'': excludes a tiddler from search results\n* ''excludeLists'': excludes a tiddler from the lists in the sidebar tabs\n* ''systemConfig'': marks tiddlers that contain JavaScript that should be executed once TiddlyWiki has loaded\n* ''excludeMissing'': excludes a tiddler from the processing that generates the MissingTiddlers list. Use it when you have a tiddler that contains links to missing tiddlers and you don't want those missing links to appear in the MissingTiddlers list
TiddlyWiki uses several special tiddlers to as [[Configuration]] used for the MainMenu, the SiteTitle and the SiteSubtitle and other features. DefaultTiddlers is used to store the titles of the tiddlers that are shown at startup. SaveChanges is automatically displayed if there's a problem with saving. Any of them can be editted with the changes taking effect immediately.
So far, 90 people have made [[Donations]] totalling over £1000. The last 10 donors were:\n\nPascal Collin\nChris Chernesky\nFabrice Proudhon\nSwen Schneider\nH Van der Kraan\nSean Conlan\nDmitri Popov\nGary Steinke\nRobert B Denny (again!)\nTimothy Berger\n
When it loads, TiddlyWiki looks for the names of tiddlers to open as a space-separated list after the # in the URL. If there are no tiddlers in the URL it instead loads the tiddlers named in DefaultTiddlers, one of the SpecialTiddlers.
TiddlyWiki obtains its StartupParameters from the //location// portion of it's URL (the bit after the '#'). At it's simplest, the StartupParameters can list the names of the tiddlers to be opened when the TiddlyWiki is opened:\n{{{\nhttp://www.tiddlywiki.com/#HelloThere JeremyRuston\n}}}\nIn fact, that usage is equivalent to:\n{{{\nhttp://www.tiddlywiki.com/#open:HelloThere open:JeremyRuston\n}}}\nThe complete list of commands is:\n|!Command |!Description |!Example |\n|open:title |Opens the tiddler with the specified title |http://www.tiddlywiki.com/#open:HelloThere |\n|start:safe |Switches to SafeMode |http://www.tiddlywiki.com/#start:safe |\n|search:text |Performs a search for the specified text |http://www.tiddlywiki.com/#search:jeremy |\n|tag:text |Displays tiddlers tagged with the specified tag |http://www.tiddlywiki.com/#tag:news |\n|newTiddler:title |Opens a new tiddler with the specified title in edit mode |http://www.tiddlywiki.com/#newTiddler:"This is a new tiddler" |\n|newJournal:titleFormat |Opens a new tiddler with the specified DateFormatString |http://www.tiddlywiki.com/#newJournal:"YYYY MMM DD" |\n\nSee the details of the underlying ParameterParser for more details.
[[MptwStyleSheet]]\n
You know who she is.
Here is a cloud of the tags used here: <<tagCloud>>
/***\n''Plugin:'' Tag Cloud Macro\n''Author:'' Clint Checketts\n''Source URL:''\n\n!Usage\n<<tagCloud>>\n\n!Code\n***/\n//{{{\nversion.extensions.tagCloud = {major: 1, minor: 0 , revision: 0, date: new Date(2006,2,04)};\n//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman\n\nconfig.macros.tagCloud = {\n noTags: "No tag cloud created because there are no tags.",\n tooltip: "%1 tiddlers tagged with '%0'"\n};\n\nconfig.macros.tagCloud.handler = function(place,macroName,params) {\n \nvar tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);\n\nvar tags = store.getTags();\nfor (var t=0; t<tags.length; t++) {\n for (var p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";\n}\n\n if(tags.length == 0) \n createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);\n //Findout the maximum number of tags\n var mostTags = 0;\n for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n if (tags[t][1] > mostTags) mostTags = tags[t][1];\n }\n //divide the mostTags into 4 segments for the 4 different tagCloud sizes\n var tagSegment = mostTags / 4;\n\n for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);\n tagCloudWrapper.appendChild(document.createTextNode(" "));\n var theTag = createTiddlyButton(tagCloudElement,tags[t][0],this.tooltip.format(tags[t]),onClickTag,"tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1));\n theTag.setAttribute("tag",tags[t][0]);\n }\n\n};\n\nsetStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}","tagCloudsStyles");\n//}}}
An interesting comment by Jess Laccetti on her blog\n<<<\nI wonder if tagging today has evolved into something more than just words. Does tagging have links with the way people tag and how they represent knowledge? ([[Laccetti, "Anatomy of a Tag Cloud"|http://www.jesslaccetti.co.uk/2007/01/anatomy-of-tag-cloud.html]])\n<<<\nLaccetti offers several tag clouds for inspection and notes whhat they imply about the users. This presentation has a [[Tag Cloud]]. It's not that great because a certain number of very technical tags turn up in it (e.g. the exclude from lists tag).
The TaggingMacro produces a list of links to tiddlers that carry the specified tag. If no tag is specified, it looks for tiddlers tagged with the name of the current tiddler. It looks like this:\n{{{\n<<tagging>>\n<<tagging TiddlerTitle>>\n<<tagging sep:[[, ]]>>\n}}}\nIn HTML, the list is formatted like so:\n{{{\n<ul>\n<li class="listTitle">List title label</li>\n<li><a class="tiddlyLink ..." href="javascript:;" onclick="..."\n refresh="link" tiddlyLink="ExampleOne">ExampleOne</a></li>\n</ul>\n}}}\nThe optional {{{sep}}} parameter specifies a string of characters to be inserted as a separator between each {{{<li>}}} element. In conjunction with the CSS {{{ul li {display: none;} }}} this allows the tagging list to be formatted as a nicely formatted inline list.
/***\n''Plugin:'' TagglyTag Cloud Macro\n''Author:'' Clint Checketts\n''Source URL:''\n\n//Note the macro name was changed to stop it from clashing with the original TagCloud plugin//\n\n!Usage\n<<tagglyTagCloud>>\n\n!Code\n***/\n//{{{\nversion.extensions.tagglyTagCloud = {major: 1, minor: 0 , revision: 0, date: new Date(2006,2,4)};\n//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman\n\nconfig.macros.tagglyTagCloud = {\n noTags: "No tag cloud created because there are no tags.",\n tooltip: "%1 tiddlers tagged with '%0'"\n};\n\nconfig.macros.tagglyTagCloud .handler = function(place,macroName,params) {\n \nvar tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);\n\nvar tags = store.getTags();\nfor (var t=0; t<tags.length; t++) {\n for (var p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";\n}\n\n if(tags.length == 0) \n createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);\n //Findout the maximum number of tags\n var mostTags = 0;\n for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n if (tags[t][1] > mostTags) mostTags = tags[t][1];\n }\n //divide the mostTags into 4 segments for the 4 different tagCloud sizes\n var tagSegment = mostTags / 4;\n\n for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);\n tagCloudWrapper.appendChild(document.createTextNode(" "));\n var theTag = createTiddlyLink(tagCloudElement,tags[t][0],true);\n theTag.className += " tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1);\n\n// theTag.setAttribute("tag",tags[t][0]);\n }\n\n};\n\nsetStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}","tagCloudsStyles");\n//}}}
/***\n| Name:|TagglyTaggingPlugin|\n| Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|\n| Version:|6.1.5|\n| Date:|05-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n!Notes\nSee http://mptw.tiddlyspot.com/#TagglyTagging\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 },\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 }\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 },\n valuePrefix: "taggly."\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 if (!store.tiddlerExists(title))\n // create it silently\n store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),null);\n // if value is default then remove it to save space\n return store.setValue(title,\n this.config.valuePrefix+opt,\n 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 // a little usability enhancement. actually it doesn't work right for grouped or sitemap\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) {\n switch(this.getTagglyOpt(title,"listMode")) {\n case "group": return this.createTagglyListGrouped(place,title); break;\n case "normal": return this.createTagglyListNormal(place,title,false); break;\n case "commas": return this.createTagglyListNormal(place,title,true); break;\n case "sitemap":return this.createTagglyListSiteMap(place,title); break;\n }\n },\n\n getTaggingCount: function(title) {\n // thanks to Doug Edmunds\n if (this.config.showTaggingCounts) {\n var tagCount = store.getTaggedTiddlers(title).length;\n if (tagCount > 0)\n return " ("+tagCount+")";\n }\n return "";\n },\n\n // this is for normal and commas mode\n createTagglyListNormal: function(place,title,useCommas) {\n\n var list = store.getTaggedTiddlers(title,this.getTagglyOpt(title,"sortBy"));\n\n if (this.getTagglyOpt(title,"sortOrder") == "desc")\n list = list.reverse();\n\n var output = [];\n for (var i=0;i<list.length;i++) {\n var countString = this.getTaggingCount(list[i].title);\n if (useCommas)\n output.push((i > 0 ? ", " : "") + "[[" + list[i].title + "]]" + countString);\n else\n output.push("*[[" + list[i].title + "]]" + countString + "\sn");\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) {\n var sortBy = this.getTagglyOpt(title,"sortBy");\n var sortOrder = this.getTagglyOpt(title,"sortOrder");\n\n var list = store.getTaggedTiddlers(title,sortBy);\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 (!allTagsHolder[list[i].tags[j]])\n allTagsHolder[list[i].tags[j]] = "";\n\n allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"\n + this.getTaggingCount(list[i].title) + "\sn";\n leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers\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 leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(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 output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(leftOvers[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) {\n\n var list = store.getTaggedTiddlers(title,sortBy);\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 for (var i=0;i<list.length;i++)\n if (list[i].title != title)\n childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder);\n\n if (depth == 0)\n return childOutput;\n else\n return indent + "[["+title+"]]" + this.getTaggingCount(title) + "\sn"+childOutput;\n },\n\n // this if for the site map mode\n createTagglyListSiteMap: function(place,title) {\n var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"));\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 refreshContainer = createTiddlyElement(place,"div");\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 refreshContainer.setAttribute("title",tiddler.title);\n this.refresh(refreshContainer);\n },\n\n refresh: function(place) {\n var title = place.getAttribute("title");\n removeChildren(place);\n if (store.getTaggedTiddlers(title).length > 0) {\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",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,"numCols");\n config.taggly.createTagglyList(place,title);\n }\n }\n }\n }\n },\n\n // todo fix these up a bit\n styles: \n"/*{{{*/\sn"+\n"/* created by TagglyTaggingPlugin */\sn"+\n".tagglyTagging { padding-top:0.5em; }\sn"+\n".tagglyTagging li.listTitle { display:none; }\sn"+\n".tagglyTagging ul {\sn"+\n" margin-top:0px; padding-top:0.5em; padding-left:2em;\sn"+\n" margin-bottom:0px; padding-bottom:0px;\sn"+\n"}\sn"+\n".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }\sn"+\n".tagglyTagging table { margin:0px; padding:0px; }\sn"+\n".tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }\sn"+\n".tagglyTagging .button, .tagglyTagging .hidebutton {\sn"+\n" color:[[ColorPalette::TertiaryLight]]; font-size:90%;\sn"+\n" border:0px; padding-left:0.3em;padding-right:0.3em;\sn"+\n"}\sn"+\n".tagglyTagging .button:hover, .hidebutton:hover {\sn"+\n" background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];\sn"+\n"}\sn"+\n".selected .tagglyTagging .button {\sn"+\n" display:inline;\sn"+\n"}\sn"+\n".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }\sn"+\n".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }\sn"+\n".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }\sn"+\n".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }\sn"+\n".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}\sn"+\n".tagglyTagging ul ul li {margin-left:0.5em; }\sn"+\n".editLabel { font-size:90%; padding-top:0.5em; }\sn"+\n".tagglyTagging .commas { padding-left:1.8em; }\sn"+\n"/*}}}*/\sn"+\n "",\n\n init: function() {\n merge(config.macros,this.macros);\n config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;\n if (store)\n store.addNotification("TagglyTaggingStyles",refreshStyles);\n else\n config.notifyTiddlers.push({name:"TagglyTaggingStyles", notify: refreshStyles});\n }\n};\n\nconfig.taggly.init();\n\n//}}}\n\n
You can categorise a tiddler by assigning it special keywords called [[Tags]].\n\nThis site uses the convention that the names of [[Tags]] start with a lower case letter, and tiddlers with an upper case letter, but this is not actually enforced.\n\nTags can be tiddlers themselves, with their own tags, so you can have hierarchies of tiddlers. This is a surprisingly useful and powerful technique has been dubbed TagglyTagging by the [[Community]].
This is TiddlyWiki explores issues in DigitalEthnography and has been put together by BruceMason as a GuestLecture for DMU's Creative Writing and New Media Course.\n\nDigitalEthnography is being used as a catch-all term for three different but related topics.\n* VirtualEthnography - the study of culture in online environments;\n* HypermediaEthnography - the use of new media in ethnography;\n* something without a name but that could be thought of as the exploration of web2.0 technology for ethnography.\nTo a certain extent all of these things are just [[Ethnography]].\n\nThere is not TableOfContents but the [[CWNM]] tag lists every tiddler (these spaces with stuff in) in the presentation.
This is me testing the wiki's ability to play embedded objects.\n\n<html><object type="application/x-shockwave-flash" data="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=2916&doc=designing-for-personal-infocloud-16054" width="425" height="348"><param name="movie" value="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=2916&doc=designing-for-personal-infocloud-16054" /></object></html>
Make yourself a tiddler, tag it with TheMob and you will, as if by magic, show up here. If that isn't neat, I don't know what is. \nWant to practice. See this here tiddler called PhantomStranger. Go to it, type in something and then add "TheMob" to the tag. Close it and come back here. Now the PhantomStranger has turned up in the list below. Go back, remove the tag and hey presto, he's gone again.
See http://simonbaird.com/mptw/#CreateThemePack
Boo!
This is the ThirdVersion of TiddlyWiki, released in April 2005. The SecondVersion was released in December 2004, and before that the FirstVersion in September 2004.\n\nSee the RevisionHistory for details of minor changes and bug-fixes since the ThirdVersion. See HowToUpgrade an earlier version of TiddlyWiki to the latest revision.
A 'tiddler' is the name given to a unit of MicroContent in TiddlyWiki.\n\nTiddlers are pervasive in TiddlyWiki. The MainMenu is defined by a tiddler, plugins are delivered in tiddlers, there are special StyleSheet tiddlers, and so on.\n\nOther systems have analogous concepts with more prosaic names: like "items", "entries", "entities". Even though "tiddler" is undoubtedly a SillyName it at least has the virtue of being confusingly distinctive rather than confusingly generic.
To hide text within a tiddler so that it is not displayed you can wrap it in {{{/%}}} and {{{%/}}}. It can be a useful trick for hiding drafts or annotating complex markup. Edit this tiddler to see an example.\n/%This text is not displayed\nuntil you try to edit %/
TiddlerSlicing allows you to use special notation to pull out a chunk of specially marked text from within a tiddler. Each slice has a name and a value which can be specified anywhere within a tiddler in any of these formats:\n{{{\n theName: textSlice\n |theName:| textSlice |\n |theName| textSlice |\n}}}\nThe name may contain any of the characters "a-ZA-Z_0-9", and may also be decorated with {{{''}}} or {{{//}}} markers for ''bold'' and //italic// formatting that are ignored. For example:\n{{{\n |''theName:''| textSlice |\n}}}\nSlices can be then be referenced by qualifying the parent tiddler name with the symbols "::" and the name of the slice. For example:\n{{{\nColorPalette::PrimaryLight\n}}}\nTiddlerSlicing doesn't work eveywhere; at this point it is mainly intended to support the ColorPalette and similar usages.\n\nFinally, here's an example of some more complex slice formatting:\n{{{\nversion: 1.2.3.4\nAuthor: Joe Brown\n''Credits:'' ASmith BBrown CCalony\n//~SeeAlso:// The rise and fall of the M-perium\n|!Name|!Value|\n|Name:|TextSlice Tester|\n|URL:|http:\s\ssample.com\sTestSliced |\n|''Type:''| Plugin |\n|//Source//| http:\s\ssample.com\sTestSliced\ssrc\stext.js |\n}}}\nThe slices defined in that example are:\n|version|1.2.3.4|\n|Author|Joe Brown|\n|Credits|ASmith BBrown CCalony|\n|~SeeAlso|The rise and fall of the M-perium|\n|Name|TextSlice Tester|\n|URL|http:\s\ssample.com\sTestSliced|\n|Type|Plugin|\n|Source|http:\s\ssample.com\sTestSliced\ssrc\stext.js|\n
<div class='title' macro='view title'></div>\n<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--{{{-->\n<div id='header'>\n</div>\n<div id='sidebar'>\n<div id='titleLine'></div>\n<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>- <span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n\n<!--}}}-->
/***\nhttp://tiddlystyles.com/#theme:TiddlyPedia\n***/\n\n/*{{{*/\nbody{\n background: #f9f9f9 url(headbg.jpg) no-repeat top left;\n}\n\n#titleLine{\n display: block;\n background: transparent url(wiki.png) no-repeat 18px -7px;\n _background: transparent;\n height: 120px;\n _height: 135px;\n width: 150px;\n color: #000;\n border: 1px;\n padding: 0;\n margin: 0;\n}\n\n* html #titleLine{\n filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='wiki.png',sizingMethod='scale');\n}\n\n#contentWrapper #siteTitle a{\n display: inline;\n font-weight: bold;\n color: #000;\n font-size: 13px;\n}\n\n#siteSubtitle{\n padding: 0;\n}\n\n#siteTitle, #mainMenu{\n position: static;\n}\n\n#contentWrapper #sidebar{\n top: 0;\n left: 0;\n}\n\n#displayArea {\n margin: 0 0 0 15em;\n}\n\n#messageArea{\n position: fixed;\n top: 0;\n right: 0;\n font-size: 10px;\n border: 1px solid #aaa;\n background: #fff;\n z-index: 25;\n}\n\n#messageArea a:link{\n color: #002bb8;\n text-decoration: none;\n}\n\n#messageArea a:hover{\n text-decoration: underline;\n}\n\n.viewer{\n background: #fff;\n border: 1px solid #aaa;\n padding: 1em;\nmargin: 0;\n}\n\n.body{\n padding: 1px;\n}\n\n.title{\n background: #fff;\n border: 1px solid #aaa;\n display: inline;\n margin-left: .5em;\n padding: 2px .5em;\n border-bottom: 0;\n font-weight: bold;\n color: #000;\n font-size: 1.2em;\n}\n\n.toolbar{\n visibility: visible;\n display: inline;\n padding: 0;\n font-family: sans-serif;\n}\n\n.toolbar a.button:link,.toolbar a.button:visited{\n background: #fff;\n border: 1px solid #aaa;\n color:#002bb8;\n font-size: 11px;\n padding-bottom: 0;\n margin-right: .25em;\n}\n\n/* TiddlyPedia was Created by Clinton Checketts based on the Monobook skin of Wikipedia */\n\n#contentWrapper .toolbar .button:hover{\n border-bottom: 1px solid #fff;\n background: #fff;\n color:#002bb8;\n}\n\n.toolbar a.button:hover{\n border-bottom: 1px solid #fff;\n background: #fff;\n color:#000;\n}\n\n#displayArea .viewer a,a.button:link,a.button:visited,\na.tiddlyLink:link,a.tiddlyLink:visited,\n#sidebarOptions .sliderPanel a{\n color:#002bb8;\n background: transparent;\n border: 0;\n}\n\n.viewer a:hover,a.button:hover,a.button:active,\na.tiddlyLink:hover,a.tiddlyLink:active,\n.viewer a.button:hover,\n#sidebarOptions .sliderPanel a:hover{\n color:#002bb8;\n background: transparent;\n text-decoration: underline;\n}\n\n#mainMenu{\n font-family: sans-serif;\n text-align: left;\n font-size: x-small;\n width: 100%;\n margin: 0;\n padding: 0;\n}\n\n#mainMenu h1{\n font-size: 11px;\n font-weight: normal;\n padding: 0;\n margin: 0;\n background: transparent;\n}\n\n#mainMenu ul{\n font-size: 11px;\n border: 1px solid #aaa;\n padding: .25em 0;\n margin: 0;\n list-style-type: square;\n list-style-image: url(bullet.gif);\n background: #fff;\n width: 100%;\n}\n\n#mainMenu li{\n margin: 0 0 0 2em;\n padding: 0;\n}\n\n#contentWrapper #mainMenu a:link,#contentWrapper #mainMenu a:visited{\n color:#002bb8;\n padding: 0;\n margin: 0;\n background: transparent;\n}\n\n#mainMenu .externalLink {\n text-decoration: none;\n}\n\n#mainMenu .externalLink:hover {\n text-decoration: underline;\n}\n\n#sidebar{\n padding: .5em;\n font-family: sans-serif;\n}\n\n#sidebarOptions{\n border: 1px solid #aaa;\n background: #fff;\n margin-top: .5em;\n width: 100%;\n}\n\n#sidebar .sliderPanel{\n margin: 0;\n}\n\n#contentWrapper #sidebarOptions .button,#contentWrapper #sidebarOptions .button:hover{\n color:#002bb8;\n padding: .1em 0 .1em 2em;\n background: transparent url(bullet.gif) 10px -2px no-repeat;\n}\n\n#sidebarOptions input{\n width: 80%;\n margin: 0 .5em;\n}\n\n#sidebarTabs{\n background: #fff;\n margin-top: .5em;\n width: 100%;\n}\n\n#sidebarTabs .tabContents,#sidebarTabs .tabContents .tabContents{\n border: 1px solid #aaa;\n background: #fff;\n}\n\n#sidebarTabs .tabSelected,#sidebarTabs .tabcontents .tabSelected {\n background: #fff;\n border: 1px solid #aaa;\n border-bottom: 0;\n cursor: default;\n padding-bottom: 3px;\n color: #000;\n}\n\n#sidebarTabs .tabUnselected,#sidebarTabs .tabContents .tabUnselected{\n background: #aaa;\n padding-bottom: 0;\n color: #000; \n}\n\n#contentWrapper #sidebarTabs .tiddlyLink,#contentWrapper #sidebarTabs .button,\n#contentWrapper #sidebarTabs a.tiddlyLink:hover,#contentWrapper #sidebarTabs a.button:hover{\n background: transparent;\n color: #002bb8;\n}\n\n.footer{\n margin: -1em 0 1em 0; \n}\n\n.footer .button:hover,.editorFooter .button:hover{\nbackground: transparent;\n color: #002bb8;\n border-bottom: 1px solid #002bb8;\n}\n\n#popup{\n background: #e9e9e9;\n color: #000;\n}\n\n#popup hr{\n border-color: #aaa;\n background-color: #aaa;\n}\n\n#popup a{\n color: #000;\n}\n\n#popup a:hover,#contentWrapper #sidebarTabs #popup a:hover{\n background: #666;\n color: #fff;\n text-decoration: none;\n}\n\n#displayArea .tiddler a.tiddlyLinkNonExisting{\n color: #ba0000;\n}\n\n#displayArea .tiddler a.externalLink{\n text-decoration: none;\n color:#002bb8;\n padding-right: 1em;\n background: transparent url(external.png) 100% 50% no-repeat;\n}\n\n#displayArea .tiddler a.externalLink:hover{\n text-decoration: underline;\n}\n\n.viewer pre{\n background: #e9e9e9;\n border: 1px solid #666;\n}\n\n.viewer h1, .viewer h2, .viewer h3, .viewer h4, .viewer h5, .viewer h6{\n background: transparent;\n border-bottom: .2em solid #aaa;\n}\n\n#sidebar .sliderPanel{\n background: #e9e9e9;\n}\n\n#sidebar .sliderPanel input{width: auto;}\n\n.tagged, .tagging, .listTitle{\n float: none;\n display: inline;\n}\n\n.tagged li, .tagging li,\n.tagged ul, .tagging ul{\n display: inline;\n}\n\n/*}}}*/
<!--{{{-->\n<div class='title' macro='view title'></div>\n<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n<!--}}}-->
The TiddlySaver Java applet allows TiddlyWiki from a {{{file://}}} URL to save changes Safari, Opera and other browsers.\n\nIt is a small file named [["TiddlySaver.jar"|TiddlySaver.jar]] that must be placed in the same directory as your TiddlyWiki file. Before you can use it, you need to give it the necessary privileges by editting your {{{.java.policy}}} file.\n\nFor Windows, the file will be at {{{C:\sDocuments and Settings\syour-user-name\s.java.policy}}}. Add the following lines (substituting the directory of your TiddlyWiki file as appropriate):\n{{{\ngrant codeBase "file:${user.home}/My Documents/tiddlywiki-folder/*" {\n permission java.io.FilePermission "${user.home}${/}My Documents${/}tiddlywiki-folder${/}*", "read,write";\n};\n}}}\nOn Mac OS X, the file is found at {{{/Users/your-user-name/.java.policy}}}:\n{{{\ngrant codeBase "file:${user.home}/Documents/tiddlywiki-folder/*" {\n permission java.io.FilePermission "${user.home}${/}Documents${/}tiddlywiki-folder${/}*", "read,write";\n};\n}}}\nIt can be tricky creating files whose name starts with a period, so you can use this [[pre-built .java.policy file|.java.policy]]. The same file is suitable for Macs too, just edit it and delete the "My " bit, leaving just "Documents". Make sure you save it in the right place for each operating system!\n\nNote that there is currently [[a bug|http://trac.tiddlywiki.org/tiddlywiki/ticket/172]] that prevents TiddlySaver from working if you have specified a backup directory in AdvancedOptions.\n
<div id='header'>\n<div id='titleline'>\n<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\n!TiddlySinister \ndesgined by Clint Checketts (http://www.checkettsweb.com) and inspired from Minz Meyer (http://www.minzweb.de)\nhttp://tiddlystyles.com/#theme:TiddlySinister\n\n!Sections in this Tiddler:\n*Generic rules\n**Links styles\n**Link Exceptions\n*Header\n*Main menu\n*Sidebar\n**Sidebar options\n**Sidebar tabs\n*Message area\n*Popup\n*Tabs\n*Tiddler display\n**Viewer\n**Editor\n*Misc. rules\n\n!Generic Layout Rules /% ============================================================= %/\n***/\n/*{{{*/\nbody{\n position: static;\n background: #000;\n}\n\n#contentWrapper{\n margin: 0 10px;\n background: #321c10;\n border: 1px solid #613725;\n position: relative;\n}\n\nh1, h2, h3, h4, h5, h6{\n background: transparent;\n}\n\n#contentWrapper a.button{\n border: 0;\n}\n/*}}}*/\n/***\n!Link Styles /% ============================================================= %/\n***/\n/*{{{*/\n#sidebarOptions .tiddlyLink{\n padding: .5em 0 .5em 1em;\n display: block;\n font-weight: normal;\n}\n\n#sidebarOptions .sliderPanel .tiddlyLink{\n display:inline;\n padding: 0;\n}\n\n#contentWrapper #mainMenu a, \n#messageArea a, \n#contentWrapper #sidebar a{\n color: #fb9950;\n text-decoration: none;\n}\n\n#messageArea a:link{\nfont-weight: bold;\n}\n\n#contentWrapper #mainMenu a:hover,\n#messageArea a:hover,\n#contentWrapper #sidebar a:hover{\n background: transparent;\n text-decoration: underline;\n}\n\na, a.button{\n color: #fb9950;\n background: transparent;\n border: 0;\n}\n\na:hover,#contentWrapper a:active,\n.tiddler .button:hover,.tiddler .button:active {\n color: #c17135;\n background: transparent;\n text-decoration: underline;\n}\n\n/*}}}*/\n/***\n!Header styles /% ============================================================= %/\n***/\n/*{{{*/\n#titleLine{\n color: #94532d;\n background: #000;\n border-bottom: 1px solid #613725;\n padding: 1em 0;\n}\n\n#titleLine a{\n color: #fb9950;\n}\n\n#siteTitle{\n font-size: 2.3em;\n font-weight: bold;\n}\n/*}}}*/\n/***\n!Main menu styles /% ============================================================= %/\n***/\n/*{{{*/\n#mainMenu{\n float: left;\n font-size: 12px;\n text-align: left;\n background: #321c10;\n color: #c5886b;\n width: 15em;\n padding: .2em .5em .2em 0;\n}\n\n#mainMenu h1{\n font-size: 13px;\n font-weight: normal;\n margin: 0 0 0 2px;\n color: #c5886b;\n}\n\n#mainMenu li, #mainMenu ul{\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n#mainMenu ul, #messageArea{\n display: block;\n border: 1px solid #905437;\n padding: 0 0 0 1em;\n background: #522d1e;\n margin: 0 0 1em 0;\n}\n\n#messageArea{\n color: #c5886b;\n padding: 1em;\n}\n/*}}}*/\n/***\n!Sidebar styles /% ============================================================= %/\n***/\n/*{{{*/\n#sidebar{\n padding: 10px;\n background: #000;\n right: 0;\n}\n\n\n\n#sidebar .sliderPanel{\n background: #000;\n color: #94532d;\n margin: 0;\n}\n\n#sidebar, #sidebarOptions, #sidebarTabs{\n background: transparent;\n}\n\n#sidebarTabs .tabSelected{\n background: #522d1e;\n border: 1px solid #905437;\n border-bottom: 0;\n padding-bottom: 3px;\n cursor: default;\n color: #fb9950;\n font-weight: bold;\n}\n\n#sidebarTabs .tabUnselected,#sidebarTabs .tabcontents .tabSelected{\n background: #2a170d;\n border: 1px solid #542e21;\n border-bottom: 0;\n padding-bottom: 0px;\n color: #fb9950;\n}\n\n#sidebarTabs .tabUnselected:hover{\n color: #c17135\n}\n\n#sidebarTabs .tabcontents .tabSelected{\n padding-bottom: 3px;\n border: 1px solid #905437;\n border-bottom: 0;\n}\n\n#sidebarTabs .tabcontents .tabUnselected{\nbackground: #522d1e;\n border: 1px solid #613725;\n border-bottom: 0;\n padding-bottom: 0;\n}\n\n#sidebarTabs .tabContents{\n background: #522d1e;\n border: 1px solid #905437;\n border-width: 1px 0;\n}\n\n#sidebarTabs .tabContents .tabContents{\nbackground: #2a170d;\n border: 1px solid #905437;\n}\n\n#sidebarTabs .tabContents li.listTitle{\n color: #c5886b;\n}\n/*}}}*/\n/***\n!Popup styles /% ============================================================= %/\n***/\n/*{{{*/\n#popup{\n background: #522d1e;\n border: 1px solid #905437;\n margin-left: -10px;\n}\n\n#popup hr{\n border-top: 1px solid #905437;\n}\n\n#popup a{\n color: #fb9950\n}\n\n#popup a:hover{\n color: #c17135;\n background: transparent;\n text-decoration: underline;\n}\n\n.popup li.disabled{color: #c5886b;}\n\n#popup .currentlySelected,\n#popup .currentlySelected:hover{\n background: #2a170d;\n}\n/*}}}*/\n/***\n!Tiddler display styles /% ============================================================= %/\n***/\n/*{{{*/\n#displayArea{\n margin: 0 15em 0em 15.5em;\n padding: 1em 2em 0 2em;\n background: #33180a;\n border: 1px solid #613725;\n min-height: 400px;\n _position: static;\n}\n\n.tiddler{\n background: #2a170d;\n border: 1px solid #542e21;\n margin: 0 0 2em 0;\n position: relative;\n _position; static;\npadding: 0;\n}\n\n.title{\n color: #fb9950;\n font-size: 14px;\n font-weight: normal;\n line-height: 23px;\n _position: static;\n}\n\n/*}}}*/\n/***\n''Viewer styles'' /% -------------------------------------------------------------------- %/\n***/\n/*{{{*/\n.viewer table {\n border: 1px solid #905437;\n}\n\n.viewer td {\n color: #c5886b;\n background: #522d1e;\n border: 1px solid #905437;\n}\n\n.viewer, .editer, .editorFooter{\n color: #c5886b;\n}\n\n.viewer pre{\n background: #522d1e;\n border: 1px solid #905437;\n}\n\n.toolbar{\n float: none;\n background: #000;\n padding: .5em 0;\n visibility: visible;\n}\n\n#contentWrapper .toolbar a.button{\n visibility: hidden;\n}\n\n#contentWrapper .selected .toolbar a.button{\n visibility: visible;\n}\n\n.selected .isTag .tagging,\n.selected .tagged,\n.isTag .tagging,\n.tagged {\n float: none;\n display: inline;\n border: 0;\n background: transparent;\n color: #fb9950;\n margin: 0;\n}\n\n.tagged li, .tagging li,\n.tagged ul, .tagging ul{\n display: inline;\n}\n\n\n.tiddler .tagging .listTitle,\n.tiddler .tagged .listTitle{\n color: #c5886b;\n}\n\n.tiddler .tagging a.button,\n.tiddler .tagged a.button{\n margin: 0;\n padding: 0;\n}\n\n/*}}}*/\n/***\n''Editor styles''/% -------------------------------------------------- %/\n***/\n/*{{{*/\n.editor textarea,#contentWrapper input{\n max-height: 35em;\n background: #c5886b;\n border: 2px inset #613725;\n}\n\n.editor textarea:focus, input:focus{\n background: #ddb9a8;\n}\n\n#contentWrapper input.chkOptionInput{\n background: transparent;\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'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagging' macro='tagging separator:", "'></div><br />\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagged' macro='tags separator:", "'></div>\n<!--}}}-->
|''URL:''|http://tiddlystyles.com/|
Clint's collection of Themes and Plugins since May of 2005
|''URL:''|http://www.tiddlytools.com/|\n|''Description:''|Small Tools for Big Ideas!|\n|''Author:''|EricShulman|\n
A TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole. I think that TiddlyWiki represents a novel medium for writing, and will promote its own distinctive WritingStyle.
TiddlyWiki has been used as the basis of a couple of experiments in hypertext fiction right from the start GinaTrapani created [[Baby Dog Sitter|http://scribbling.net/tiddlywiki-and-non-linear-fiction]] with the FirstVersion of TiddlyWiki, followed by "[[Die, Vampire! Die!|http://www.davidvanwert.com/wiki/dievampiredie.html]]" from DavidVanWert and AlexSchroeders [[Rose|http://www.emacswiki.org/alex/rose.html]].\n\nPerhaps the most ambitious and sustained experiment is Gimcrack'd (http://gimcrackd.com/), and CharlesStross' [[Singularity!|http://www.accelerando.org/_static/toughguide.html]] is a fun read.
IsaoSonobe's TiddlyWikiPod is a nifty utility for Mac OS X that copies the content of a TiddlyWiki to an iPod where it can be read, and links followed, using the touch wheel. Isao has also added the ability to link to songs from the TiddlyWiki text which enables some interesting applications. At the moment, the instructions apply to the older SecondVersion of TiddlyWiki. It can be found at http://www8.ocn.ne.jp/~sonoisa/TiddlyWikiPod/index.html
SaqImtiaz and KalleAlm have just released a release candidate of [[TiddlySnip|http://tiddlysnip.com/]], a Firefox extension that lets you use your TiddlyWiki as a scrapbook. Simply select text, right click and choose {{{TiddlySnip selection}}}. Next time you open your TiddlyWiki file, your snippets will be there, already tagged and organised.\n\nThe first add-on tool for TiddlyWiki was IsaoSonobe's TiddlyWikiPod that let's you transfer the contents of a TiddlyWiki to an iPod (well, not an iPod shuffle).\n\nMarkusKoch has [[released a script|http://bloggern.de/cms/wiki.php]] that allows Postnuke to publish content in TiddlyWiki format (Postnuke is a popular full-blown open source content management system).\n\nThe 33ad blog features a neat tool by JeremyKelley to create a calendar in TiddlyWiki table format: http://33ad.org/tools/gtdtwcal.php\n\nFor IRC users, ZygmuntKrynicki has started a #tiddlywiki channel on freenode (irc.freenode.net). He's also created an version-controlled archive of the TiddlyWiki source code; find out more at http://www.suxx.pl/wiki/#RepozytoriumTiddlyWiki.
The {{{<<today>>}}} macro inserts the current date and time into a tiddler. It's updated each time the tiddler is redisplayed.\n\nIt can optionally take a DateFormatString to determine the way that the date is displayed:\n\n{{{\n<<today>>\n<<today>>\n}}}\n\nResults in:\n<<today>>\n<<today>>\n
If your press the command key on the Mac or the control key on the PC while clicking on a link to a tiddler, the tiddler will be opened as usual if it isn't already open, but if //is// open, it will be closed. It makes a handy way to review links without having to move the mouse around to re-close tiddlers.\n\nYou can make this behaviour the default under AdvancedOptions (you can override back to the normal behaviour with the same command/control key).
/***\n| Name:|ToggleTagMacro|\n| Description:|Makes a checkbox which toggles a tag in a tiddler|\n| Version:|6.1.2|\n| Date:|20-Oct-2006|\n| Source:|http://tiddlyspot.com/mptw/#ToggleTagMacro|\n| Author:|SimonBaird|\n| License:|[[BSD open source license]]|\n| CoreVersion:|2.1|\n!Usage\n{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}\n* TagName - the tag to be toggled, default value "checked"\n* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler\n* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'\n(If a parameter is '.' then the default will be used)\n\nExamples:\n\n|Code|Description|Example|h\n|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|\n|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|\n|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|\n|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|\n|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|\n(Note if TiddlerName doesn't exist it will be silently created)\n\n!Known issues\n* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing. Should it stick the tag in the edit box?\n\n***/\n//{{{\n\nmerge(config.macros,{\n\n toggleTag: {\n\n doRefreshAll: true,\n createIfRequired: true,\n shortLabel: "[[%0]]",\n longLabel: "[[%0]] [[%1]]",\n\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var tag = (params[0] && params[0] != '.') ? params[0] : "checked";\n var title = (params[1] && params[1] != '.') ? params[1] : tiddler.title;\n var defaultLabel = (title == tiddler.title ? this.shortLabel : this.longLabel);\n var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;\n var theTiddler = title == tiddler.title ? tiddler : store.getTiddler(title);\n var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {\n if (!store.tiddlerExists(title)) {\n if (config.macros.toggleTag.createIfRequired) {\n var content = store.getTiddlerText(title); // just in case it's a shadow\n store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);\n }\n else \n return false;\n }\n //store.suspendNotifications(); \n store.setTiddlerTag(title,this.checked,tag);\n //refreshDisplay(); \n //store.resumeNotifications();\n return true;\n });\n }\n }\n});\n\n//}}}\n\n
A row of ToolbarButtons appears to the right of a tiddler title when the mouse is hovered over it. The buttons are:\n* ''close'' - close the current tiddler\n* ''edit'' - edit the current tiddler\n* ''permalink'' - puts a link direct to the current tiddler into the address bar\n* ''references'' - displays all the tiddlers that link to the current tiddler\n* ''done'' - save changes to a tiddler being editted\n* ''cancel'' - cancel changes to a tiddler being editted\n* ''delete'' - delete the current tiddler
The ToolbarMacro is used in the TiddlerTemplateMechanism to define the toolbar that appears when the mouse is hovered over a tiddler. It looks like this:\n{{{\n<<toolbar closeTiddler -editTiddler +jump>>\n}}}\nThe arguments to the ToolbarMacro is a list of command names, as discussed in the CommandMechanism. The available commands are tagged <<tag commands>>.\n\nYou can precede a command name with a "+" to specify a default command that is automatically chosen when a tiddler is double-clicked, or the ctrl-Enter key combination pressed. Similarly, precede it with "-" to specify a command to be chosen when the Escape key is pressed.
A trail is a term we use to refer to authored interpretation. Nominally we have set up "trails" that others can follow - or not - as the case may be. If someone wants a minimal encounter with the EHE and wants to be able to follow our arguments, then through following a trail that person should be able to do so. If a different person is more interested in exploring the EHE under their own steam, then encountering a trail or following for a while before going "off piste" will help contextualise their reading.\n\nHopefully.\n\nIn practice, writing scholarly trails (even the term writing is problematic) has been incredibly difficult. As all of you who have worked in new media know, once you lose the established metaphors of well-understood media then being able to reliably communicate with an audience becomes a matter of uncertainty. This issue is exacerbated in scholarly hypermedia because the veracity of truth claims becomes hard to establish.\n\nIn the [[EHE]], there are three trails: Physics and Physicality, The Wow Factor and Methods. The first two are faltering attempts at grasping some of the complexity of the site. The last one is an attempt to reflect on the methodology.
Edith Turner, //[[Experiencing Ritual|http://www.google.co.uk/books?vid=ISBN0812213661&id=AVdr7iOJ0UIC&pg=PP1&lpg=PP1&ots=NgcslEO6AG&dq=experiencing+ritual&sig=pZZzBP7aHK8Twb4Sm-inlPEk5UM]], 1992.
Edith Turner, "[[The Reality of Spirits|http://www.shamanism.org/articles/article02.html]]" //Shamanism Magazine// Spring/Summer 1997, Vol. 10, No. 1, 1997
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |\n| 7/2/2007 19:44:27 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/2/2007 19:46:6 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/2/2007 10:40:27 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/2/2007 10:41:1 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/2/2007 16:5:38 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/2/2007 16:9:15 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/2/2007 16:10:30 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/2/2007 16:31:51 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 14:58:20 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 15:13:25 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 15:26:49 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 10/2/2007 16:11:19 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 16:55:54 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 17:6:54 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 17:15:28 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/2/2007 16:44:21 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/2/2007 16:47:56 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 16/2/2007 16:57:6 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 16/2/2007 21:8:48 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 16/2/2007 21:43:59 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/2/2007 10:33:25 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 10:34:19 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/2/2007 10:43:6 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/2/2007 10:44:28 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 11:11:15 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 11:57:58 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 12:48:55 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 13:9:45 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 15:9:53 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 15:59:21 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 16:56:40 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/2/2007 16:59:50 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/2/2007 17:20:53 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/2/2007 17:23:56 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 17/2/2007 17:56:24 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 18/2/2007 16:24:42 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 18/2/2007 16:59:7 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 18/2/2007 17:32:48 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 18/2/2007 17:46:10 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 18/2/2007 17:54:3 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 18/2/2007 20:27:32 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#Introduction]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 18/2/2007 21:37:25 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#Introduction]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 18/2/2007 21:38:38 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#Introduction]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/2/2007 9:55:38 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#Introduction]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/2/2007 9:58:51 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#Introduction]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/2/2007 11:36:28 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/2/2007 14:46:58 | BruceMason | [[cwnm.html|file:///C:/Documents%20and%20Settings/Bruce/My%20Documents/wikis/CWNM%20tiddlywiki/cwnm.html]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/2/2007 9:49:55 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/2/2007 9:56:35 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/2/2007 10:15:15 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/2/2007 10:29:8 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#GoneNative]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/2/2007 20:59:46 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#%5B%5BFeminist%20Ethnography%5D%5D]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 21/2/2007 10:23:43 | BruceMason | [[/|http://cwnm.tiddlyspot.com/#%5B%5BFeminist%20Ethnography%5D%5D]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/2/2007 19:56:36 | Christine | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/2/2007 9:48:52 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/2/2007 10:8:51 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/2/2007 14:49:46 | Christine | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/2/2007 11:18:42 | Christine | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/2/2007 19:29:22 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 4/3/2007 15:45:56 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 4/3/2007 15:50:26 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 4/3/2007 16:2:44 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/5/2007 19:51:56 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/5/2007 16:44:9 | BruceMason | [[/|http://cwnm.tiddlyspot.com/]] | [[store.cgi|http://cwnm.tiddlyspot.com/store.cgi]] | . | index.html | . |
/***\n|''Name:''|UploadPlugin|\n|''Description:''|Save to web a TiddlyWiki|\n|''Version:''|3.4.4|\n|''Date:''|Sep 30, 2006|\n|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|\n|''Documentation:''|http://tiddlywiki.bidix.info/#UploadDoc|\n|''Author:''|BidiX (BidiX (at) bidix (dot) info)|\n|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|\n|''~CoreVersion:''|2.0.0|\n|''Browser:''|Firefox 1.5; InternetExplorer 6.0; Safari|\n|''Include:''|config.lib.file; config.lib.log; config.lib.options; PasswordTweak|\n|''Require:''|[[UploadService|http://tiddlywiki.bidix.info/#UploadService]]|\n***/\n//{{{\nversion.extensions.UploadPlugin = {\n major: 3, minor: 4, revision: 4, \n date: new Date(2006,8,30),\n source: 'http://tiddlywiki.bidix.info/#UploadPlugin',\n documentation: 'http://tiddlywiki.bidix.info/#UploadDoc',\n author: 'BidiX (BidiX (at) bidix (dot) info',\n license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',\n coreVersion: '2.0.0',\n browser: 'Firefox 1.5; InternetExplorer 6.0; Safari'\n};\n//}}}\n\n////+++!![config.lib.file]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.file) config.lib.file= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\nconfig.lib.file.dirname = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(0, lastpos);\n } else {\n return filePath.substring(0, filePath.lastIndexOf("\s\s"));\n }\n};\nconfig.lib.file.basename = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("#")) != -1) \n filePath = filePath.substring(0, lastpos);\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(lastpos + 1);\n } else\n return filePath.substring(filePath.lastIndexOf("\s\s")+1);\n};\nwindow.basename = function() {return "@@deprecated@@";};\n//}}}\n////===\n\n////+++!![config.lib.log]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.log) config.lib.log= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 1}, \n date: new Date(2006,8,19)\n};\nconfig.lib.Log = function(tiddlerTitle, logHeader) {\n if (version.major < 2)\n this.tiddler = store.tiddlers[tiddlerTitle];\n else\n this.tiddler = store.getTiddler(tiddlerTitle);\n if (!this.tiddler) {\n this.tiddler = new Tiddler();\n this.tiddler.title = tiddlerTitle;\n this.tiddler.text = "| !date | !user | !location |" + logHeader;\n this.tiddler.created = new Date();\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[tiddlerTitle] = this.tiddler;\n else\n store.addTiddler(this.tiddler);\n }\n return this;\n};\n\nconfig.lib.Log.prototype.newLine = function (line) {\n var now = new Date();\n var newText = "| ";\n newText += now.getDate()+"/"+(now.getMonth()+1)+"/"+now.getFullYear() + " ";\n newText += now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+" | ";\n newText += config.options.txtUserName + " | ";\n var location = document.location.toString();\n var filename = config.lib.file.basename(location);\n if (!filename) filename = '/';\n newText += "[["+filename+"|"+location + "]] |";\n this.tiddler.text = this.tiddler.text + "\sn" + newText;\n this.addToLine(line);\n};\n\nconfig.lib.Log.prototype.addToLine = function (text) {\n this.tiddler.text = this.tiddler.text + text;\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[this.tiddler.tittle] = this.tiddler;\n else {\n store.addTiddler(this.tiddler);\n story.refreshTiddler(this.tiddler.title);\n store.notify(this.tiddler.title, true);\n }\n if (version.major < 2)\n store.notifyAll(); \n};\n//}}}\n////===\n\n////+++!![config.lib.options]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.options) config.lib.options = {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\n\nconfig.lib.options.init = function (name, defaultValue) {\n if (!config.options[name]) {\n config.options[name] = defaultValue;\n saveOptionCookie(name);\n }\n};\n//}}}\n////===\n\n////+++!![PasswordTweak]\n\n//{{{\nversion.extensions.PasswordTweak = {\n major: 1, minor: 0, revision: 3, date: new Date(2006,8,30),\n type: 'tweak',\n source: 'http://tiddlywiki.bidix.info/#PasswordTweak'\n};\n//}}}\n/***\n!!config.macros.option\n***/\n//{{{\nconfig.macros.option.passwordCheckboxLabel = "Save this password on this computer";\nconfig.macros.option.passwordType = "password"; // password | text\n\nconfig.macros.option.onChangeOption = function(e)\n{\n var opt = this.getAttribute("option");\n var elementType,valueField;\n if(opt) {\n switch(opt.substr(0,3)) {\n case "txt":\n elementType = "input";\n valueField = "value";\n break;\n case "pas":\n elementType = "input";\n valueField = "value";\n break;\n case "chk":\n elementType = "input";\n valueField = "checked";\n break;\n }\n config.options[opt] = this[valueField];\n saveOptionCookie(opt);\n var nodes = document.getElementsByTagName(elementType);\n for(var t=0; t<nodes.length; t++) \n {\n var optNode = nodes[t].getAttribute("option");\n if (opt == optNode) \n nodes[t][valueField] = this[valueField];\n }\n }\n return(true);\n};\n\nconfig.macros.option.handler = function(place,macroName,params)\n{\n var opt = params[0];\n if(config.options[opt] === undefined) {\n return;}\n var c;\n switch(opt.substr(0,3)) {\n case "txt":\n c = document.createElement("input");\n c.onkeyup = this.onChangeOption;\n c.setAttribute ("option",opt);\n c.className = "txtOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\n break;\n case "pas":\n // input password\n c = document.createElement ("input");\n c.setAttribute("type",config.macros.option.passwordType);\n c.onkeyup = this.onChangeOption;\n c.setAttribute("option",opt);\n c.className = "pasOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\n // checkbox link with this password "save this password on this computer"\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option","chk"+opt);\n c.className = "chkOptionInput "+opt;\n place.appendChild(c);\n c.checked = config.options["chk"+opt];\n // text savePasswordCheckboxLabel\n place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));\n break;\n case "chk":\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option",opt);\n c.className = "chkOptionInput "+opt;\n place.appendChild(c);\n c.checked = config.options[opt];\n break;\n }\n};\n//}}}\n/***\n!! Option cookie stuff\n***/\n//{{{\nwindow.loadOptionsCookie_orig_PasswordTweak = window.loadOptionsCookie;\nwindow.loadOptionsCookie = function()\n{\n var cookies = document.cookie.split(";");\n for(var c=0; c<cookies.length; c++) {\n var p = cookies[c].indexOf("=");\n if(p != -1) {\n var name = cookies[c].substr(0,p).trim();\n var value = cookies[c].substr(p+1).trim();\n switch(name.substr(0,3)) {\n case "txt":\n config.options[name] = unescape(value);\n break;\n case "pas":\n config.options[name] = unescape(value);\n break;\n case "chk":\n config.options[name] = value == "true";\n break;\n }\n }\n }\n};\n\nwindow.saveOptionCookie_orig_PasswordTweak = window.saveOptionCookie;\nwindow.saveOptionCookie = function(name)\n{\n var c = name + "=";\n switch(name.substr(0,3)) {\n case "txt":\n c += escape(config.options[name].toString());\n break;\n case "chk":\n c += config.options[name] ? "true" : "false";\n // is there an option link with this chk ?\n if (config.options[name.substr(3)]) {\n saveOptionCookie(name.substr(3));\n }\n break;\n case "pas":\n if (config.options["chk"+name]) {\n c += escape(config.options[name].toString());\n } else {\n c += "";\n }\n break;\n }\n c += "; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/";\n document.cookie = c;\n};\n//}}}\n/***\n!! Initializations\n***/\n//{{{\n// define config.options.pasPassword\nif (!config.options.pasPassword) {\n config.options.pasPassword = 'defaultPassword';\n window.saveOptionCookie('pasPassword');\n}\n// since loadCookies is first called befor password definition\n// we need to reload cookies\nwindow.loadOptionsCookie();\n//}}}\n////===\n\n////+++!![config.macros.upload]\n\n//{{{\nconfig.macros.upload = {\n accessKey: "U",\n formName: "UploadPlugin",\n contentType: "text/html;charset=UTF-8",\n defaultStoreScript: "store.php"\n};\n\n// only this two configs need to be translated\nconfig.macros.upload.messages = {\n aboutToUpload: "About to upload TiddlyWiki to %0",\n backupFileStored: "Previous file backuped in %0",\n crossDomain: "Certainly a cross-domain isue: access to an other site isn't allowed",\n errorDownloading: "Error downloading",\n errorUploadingContent: "Error uploading content",\n fileLocked: "Files is locked: You are not allowed to Upload",\n fileNotFound: "file to upload not found",\n fileNotUploaded: "File %0 NOT uploaded",\n mainFileUploaded: "Main TiddlyWiki file uploaded to %0",\n passwordEmpty: "Unable to upload, your password is empty",\n urlParamMissing: "url param missing",\n rssFileNotUploaded: "RssFile %0 NOT uploaded",\n rssFileUploaded: "Rss File uploaded to %0"\n};\n\nconfig.macros.upload.label = {\n promptOption: "Save and Upload this TiddlyWiki with UploadOptions",\n promptParamMacro: "Save and Upload this TiddlyWiki in %0",\n saveLabel: "save to web", \n saveToDisk: "save to disk",\n uploadLabel: "upload" \n};\n\nconfig.macros.upload.handler = function(place,macroName,params){\n // parameters initialization\n var storeUrl = params[0];\n var toFilename = params[1];\n var backupDir = params[2];\n var uploadDir = params[3];\n var username = params[4];\n var password; // for security reason no password as macro parameter\n var label;\n if (document.location.toString().substr(0,4) == "http")\n label = this.label.saveLabel;\n else\n label = this.label.uploadLabel;\n var prompt;\n if (storeUrl) {\n prompt = this.label.promptParamMacro.toString().format([this.toDirUrl(storeUrl, uploadDir, username)]);\n }\n else {\n prompt = this.label.promptOption;\n }\n createTiddlyButton(place, label, prompt, \n function () {\n config.macros.upload.upload(storeUrl, toFilename, uploadDir, backupDir, username, password); \n return false;}, \n null, null, this.accessKey);\n};\nconfig.macros.upload.UploadLog = function() {\n return new config.lib.Log('UploadLog', " !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |" );\n};\nconfig.macros.upload.UploadLog.prototype = config.lib.Log.prototype;\nconfig.macros.upload.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {\n var line = " [[" + config.lib.file.basename(storeUrl) + "|" + storeUrl + "]] | ";\n line += uploadDir + " | " + toFilename + " | " + backupDir + " |";\n this.newLine(line);\n};\nconfig.macros.upload.UploadLog.prototype.endUpload = function() {\n this.addToLine(" Ok |");\n};\nconfig.macros.upload.basename = config.lib.file.basename;\nconfig.macros.upload.dirname = config.lib.file.dirname;\nconfig.macros.upload.toRootUrl = function (storeUrl, username)\n{\n return root = (this.dirname(storeUrl)?this.dirname(storeUrl):this.dirname(document.location.toString()));\n}\nconfig.macros.upload.toDirUrl = function (storeUrl, uploadDir, username)\n{\n var root = this.toRootUrl(storeUrl, username);\n if (uploadDir && uploadDir != '.')\n root = root + '/' + uploadDir;\n return root;\n}\nconfig.macros.upload.toFileUrl = function (storeUrl, toFilename, uploadDir, username)\n{\n return this.toDirUrl(storeUrl, uploadDir, username) + '/' + toFilename;\n}\nconfig.macros.upload.upload = function(storeUrl, toFilename, uploadDir, backupDir, username, password)\n{\n // parameters initialization\n storeUrl = (storeUrl ? storeUrl : config.options.txtUploadStoreUrl);\n toFilename = (toFilename ? toFilename : config.options.txtUploadFilename);\n backupDir = (backupDir ? backupDir : config.options.txtUploadBackupDir);\n uploadDir = (uploadDir ? uploadDir : config.options.txtUploadDir);\n username = (username ? username : config.options.txtUploadUserName);\n password = config.options.pasUploadPassword; // for security reason no password as macro parameter\n if (!password || password === '') {\n alert(config.macros.upload.messages.passwordEmpty);\n return;\n }\n if (storeUrl === '') {\n storeUrl = config.macros.upload.defaultStoreScript;\n }\n if (config.lib.file.dirname(storeUrl) === '') {\n storeUrl = config.lib.file.dirname(document.location.toString())+'/'+storeUrl;\n }\n if (toFilename === '') {\n toFilename = config.lib.file.basename(document.location.toString());\n }\n\n clearMessage();\n // only for forcing the message to display\n if (version.major < 2)\n store.notifyAll();\n if (!storeUrl) {\n alert(config.macros.upload.messages.urlParamMissing);\n return;\n }\n // Check that file is not locked\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n if (BidiX.GroupAuthoring.lock.isLocked() && !BidiX.GroupAuthoring.lock.isMyLock()) {\n alert(config.macros.upload.messages.fileLocked);\n return;\n }\n }\n \n var log = new this.UploadLog();\n log.startUpload(storeUrl, toFilename, uploadDir, backupDir);\n if (document.location.toString().substr(0,5) == "file:") {\n saveChanges();\n }\n var toDir = config.macros.upload.toDirUrl(storeUrl, toFilename, uploadDir, username);\n displayMessage(config.macros.upload.messages.aboutToUpload.format([toDir]), toDir);\n this.uploadChanges(storeUrl, toFilename, uploadDir, backupDir, username, password);\n if(config.options.chkGenerateAnRssFeed) {\n //var rssContent = convertUnicodeToUTF8(generateRss());\n var rssContent = generateRss();\n var rssPath = toFilename.substr(0,toFilename.lastIndexOf(".")) + ".xml";\n this.uploadContent(rssContent, storeUrl, rssPath, uploadDir, '', username, password, \n function (responseText) {\n if (responseText.substring(0,1) != '0') {\n displayMessage(config.macros.upload.messages.rssFileNotUploaded.format([rssPath]));\n }\n else {\n var toFileUrl = config.macros.upload.toFileUrl(storeUrl, rssPath, uploadDir, username);\n displayMessage(config.macros.upload.messages.rssFileUploaded.format(\n [toFileUrl]), toFileUrl);\n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n });\n }\n return;\n};\n\nconfig.macros.upload.uploadChanges = function(storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var original;\n if (document.location.toString().substr(0,4) == "http") {\n original = this.download(storeUrl, toFilename, uploadDir, backupDir, username, password);\n return;\n }\n else {\n // standard way : Local file\n \n original = loadFile(getLocalPath(document.location.toString()));\n if(window.Components) {\n // it's a mozilla browser\n try {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]\n .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);\n converter.charset = "UTF-8";\n original = converter.ConvertToUnicode(original);\n }\n catch(e) {\n }\n }\n }\n //DEBUG alert(original);\n this.uploadChangesFrom(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password);\n};\n\nconfig.macros.upload.uploadChangesFrom = function(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var startSaveArea = '<div id="' + 'storeArea">'; // Split up into two so that indexOf() of this source doesn't find it\n var endSaveArea = '</d' + 'iv>';\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 {\n alert(config.messages.invalidFileError.format([document.location.toString()]));\n return;\n }\n var revised = original.substr(0,posOpeningDiv + startSaveArea.length) + \n allTiddlersAsHtml() + "\sn\st\st" +\n original.substr(posClosingDiv);\n var newSiteTitle;\n if(version.major < 2){\n newSiteTitle = (getElementText("siteTitle") + " - " + getElementText("siteSubtitle")).htmlEncode();\n } else {\n newSiteTitle = (wikifyPlain ("SiteTitle") + " - " + wikifyPlain ("SiteSubtitle")).htmlEncode();\n }\n\n revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");\n revised = revised.replaceChunk("<!--PRE-HEAD-START--"+">","<!--PRE-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPreHead","") + "\sn");\n revised = revised.replaceChunk("<!--POST-HEAD-START--"+">","<!--POST-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPostHead","") + "\sn");\n revised = revised.replaceChunk("<!--PRE-BODY-START--"+">","<!--PRE-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPreBody","") + "\sn");\n revised = revised.replaceChunk("<!--POST-BODY-START--"+">","<!--POST-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPostBody","") + "\sn");\n\n var response = this.uploadContent(revised, storeUrl, toFilename, uploadDir, backupDir, \n username, password, function (responseText) {\n if (responseText.substring(0,1) != '0') {\n alert(responseText);\n displayMessage(config.macros.upload.messages.fileNotUploaded.format([getLocalPath(document.location.toString())]));\n }\n else {\n if (uploadDir !== '') {\n toFilename = uploadDir + "/" + config.macros.upload.basename(toFilename);\n } else {\n toFilename = config.macros.upload.basename(toFilename);\n }\n var toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n if (responseText.indexOf("destfile:") > 0) {\n var destfile = responseText.substring(responseText.indexOf("destfile:")+9, \n responseText.indexOf("\sn", responseText.indexOf("destfile:")));\n toFileUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + destfile;\n }\n else {\n toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n }\n displayMessage(config.macros.upload.messages.mainFileUploaded.format(\n [toFileUrl]), toFileUrl);\n if (backupDir && responseText.indexOf("backupfile:") > 0) {\n var backupFile = responseText.substring(responseText.indexOf("backupfile:")+11, \n responseText.indexOf("\sn", responseText.indexOf("backupfile:")));\n toBackupUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + backupFile;\n displayMessage(config.macros.upload.messages.backupFileStored.format(\n [toBackupUrl]), toBackupUrl);\n }\n var log = new config.macros.upload.UploadLog();\n log.endUpload();\n store.setDirty(false);\n // erase local lock\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n BidiX.GroupAuthoring.lock.eraseLock();\n // change mtime with new mtime after upload\n var mtime = responseText.substr(responseText.indexOf("mtime:")+6);\n BidiX.GroupAuthoring.lock.mtime = mtime;\n }\n \n \n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n }\n );\n};\n\nconfig.macros.upload.uploadContent = function(content, storeUrl, toFilename, uploadDir, backupDir, \n username, password, callbackFn) {\n var boundary = "---------------------------"+"AaB03x"; \n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n if (window.netscape){\n try {\n if (document.location.toString().substr(0,4) != "http") {\n netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');}\n }\n catch (e) {}\n } \n //DEBUG alert("user["+config.options.txtUploadUserName+"] password[" + config.options.pasUploadPassword + "]");\n // compose headers data\n var sheader = "";\n sheader += "--" + boundary + "\sr\snContent-disposition: form-data; name=\s"";\n sheader += config.macros.upload.formName +"\s"\sr\sn\sr\sn";\n sheader += "backupDir="+backupDir\n +";user=" + username \n +";password=" + password\n +";uploaddir=" + uploadDir;\n // add lock attributes to sheader\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n var l = BidiX.GroupAuthoring.lock.myLock;\n sheader += ";lockuser=" + l.user\n + ";mtime=" + l.mtime\n + ";locktime=" + l.locktime;\n }\n sheader += ";;\sr\sn"; \n sheader += "\sr\sn" + "--" + boundary + "\sr\sn";\n sheader += "Content-disposition: form-data; name=\s"userfile\s"; filename=\s""+toFilename+"\s"\sr\sn";\n sheader += "Content-Type: " + config.macros.upload.contentType + "\sr\sn";\n sheader += "Content-Length: " + content.length + "\sr\sn\sr\sn";\n // compose trailer data\n var strailer = new String();\n strailer = "\sr\sn--" + boundary + "--\sr\sn";\n //strailer = "--" + boundary + "--\sr\sn";\n var data;\n data = sheader + content + strailer;\n //request.open("POST", storeUrl, true, username, password);\n try {\n request.open("POST", storeUrl, true); \n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if (request.status == 200)\n callbackFn(request.responseText);\n else\n alert(config.macros.upload.messages.errorUploadingContent + "\snStatus: "+request.status.statusText);\n }\n };\n request.setRequestHeader("Content-Length",data.length);\n request.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary);\n request.send(data); \n};\n\n\nconfig.macros.upload.download = function(uploadUrl, uploadToFilename, uploadDir, uploadBackupDir, \n username, password) {\n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n try {\n if (uploadUrl.substr(0,4) == "http") {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n else {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n }\n } catch (e) { }\n //request.open("GET", document.location.toString(), true, username, password);\n try {\n request.open("GET", document.location.toString(), true);\n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n \n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if(request.status == 200) {\n config.macros.upload.uploadChangesFrom(request.responseText, uploadUrl, \n uploadToFilename, uploadDir, uploadBackupDir, username, password);\n }\n else\n alert(config.macros.upload.messages.errorDownloading.format(\n [document.location.toString()]) + "\snStatus: "+request.status.statusText);\n }\n };\n request.send(null);\n};\n\n//}}}\n////===\n\n////+++!![Initializations]\n\n//{{{\nconfig.lib.options.init('txtUploadStoreUrl','store.php');\nconfig.lib.options.init('txtUploadFilename','');\nconfig.lib.options.init('txtUploadDir','');\nconfig.lib.options.init('txtUploadBackupDir','');\nconfig.lib.options.init('txtUploadUserName',config.options.txtUserName);\nconfig.lib.options.init('pasUploadPassword','');\nsetStylesheet(\n ".pasOptionInput {width: 11em;}\sn"+\n ".txtOptionInput.txtUploadStoreUrl {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadFilename {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadDir {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadBackupDir {width: 25em;}\sn"+\n "",\n "UploadOptionsStyles");\nconfig.shadowTiddlers.UploadDoc = "[[Full Documentation|http://tiddlywiki.bidix.info/l#UploadDoc ]]\sn"; \nconfig.options.chkAutoSave = false; saveOptionCookie('chkAutoSave');\n\n//}}}\n////===\n\n////+++!![Core Hijacking]\n\n//{{{\nconfig.macros.saveChanges.label_orig_UploadPlugin = config.macros.saveChanges.label;\nconfig.macros.saveChanges.label = config.macros.upload.label.saveToDisk;\n\nconfig.macros.saveChanges.handler_orig_UploadPlugin = config.macros.saveChanges.handler;\n\nconfig.macros.saveChanges.handler = function(place)\n{\n if ((!readOnly) && (document.location.toString().substr(0,4) != "http"))\n createTiddlyButton(place,this.label,this.prompt,this.onClick,null,null,this.accessKey);\n};\n\n//}}}\n////===\n
\n<!--{{{-->\n\n<div class='toolbar'>\n <span macro="showWhenTagged systemConfig">\n <span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>\n </span>\n <span style="padding:1em;"></span>\n <span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler undoChanges permalink references jump newHere newJournalHere'></span>\n</div>\n\n<div class="tagglyTagged" macro="tags"></div>\n\n<div class='titleContainer'>\n <span class='title' macro='view title'></span>\n <span macro="miniTag"></span>\n</div>\n\n<div class='subtitle'>\n <span macro='view modifier link'></span>,\n <span macro='view modified date [[DD-mmm-YY]]'></span>\n (<span macro='message views.wikified.createdPrompt'></span>\n <span macro='view created date [[DD-mmm-YY]]'></span>)\n</div>\n\n<div macro="showWhenExists ViewPanelTemplate">[[ViewPanelTemplate]]</div>\n\n<div macro="hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer' macro='view text wikified'></div>\n</div>\n<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer'><pre macro='view text'></pre></div>\n</div>\n\n<div macro="showWhenExists ViewDashboardTemplate">[[ViewDashboardTemplate]]</div>\n\n<div class="tagglyTagging" macro="tagglyTagging"></div>\n\n<!--}}}-->\n
First coined as a term by Howard Rheingold ([[1993|Rheingold 1993]]) to refer to the notion that groups of people online formed attachments that were akin to communal ties. The study of virtual community became central to online research ([[Markham 1998]], [[Hine 2000]]). Although there has been, to say the least, a lot of debate about the term ([[inevitable wikipedia link|http://en.wikipedia.org/wiki/Virtual_community]]) it has made a useful focus.\n\nEthnography has routinely centred on the study of groups of people therefore the notion of a virtual community is all but irresistable to virtual ethnographers. A virtual community can in theory form around any Internet-based medium: an email list, a bulletin board, a virtual reality environment, an online game, a group of friends on an instant messangers, a group on a social network site such as ~MySpace or ~Friendster.\n\nVirtual communities are, however, often claimed to be less "real" than physical communities because participants can, in theory, leave at any time and may not have particularly strong roots in that vrtual community.
There is quite an argument about virtual ethnography. In her [[book|Hine 2000]], [[Christine Hine|http://www.soc.surrey.ac.uk/staff/chine/index.html]] describes it as "not quite" [[ethnography|Ethnography]]. Can't say I approve of that. I argued, in an [[old, old piece|http://www.ucs.mun.ca/~bmason/phd/afsnews.html]], that virtual ethnography is simply [[ethnography|Ethnography]] in and of virtual life. \n\nIf we treat the Internet as cultural domain then one can conduct ethnographies of groups online as readily as ethnographies of groups offline. That was precisely the aim of [[my thesis|PhDthesis]] which was a study of the emergence of [[virtual community|VirtualCommunity]]. \n\nHello from Cardiff
/***\n''Name:'' Weblog\n''Version:'' 1.2.0\n''Location:'' http://checkettsweb.com/styles/themes.htm#WeblogPlugin\n''Author:'' Clint Checketts\n\n''Description:'' Posts the most recently edited tiddlers when the TiddlyWiki is opened, similar to a blog.\n\n''Syntax:'' Change the daysOrPosts and numOfDaysOrPosts variables in the code section. \nExamples: \n{{{\n var daysOrPosts = "days";\n var numOfDaysOrPosts = "2";\n}}}\nwill display the defaultTiddlers then all the tiddlers from the 2 most recent days, except those tagged as SystemTiddlers.\n{{{\n var daysOrPosts = "posts";\n var numOfDaysOrPosts = "15";\n}}}\nwill display the defaultTiddlers then the 15 most recent posts, except those tagged as SystemTiddlers.\n\n''Directions:'' Copy this tiddler and tag it as systemConfig. Next, change the daysOrPosts and numOfDaysOrPosts variable to your liking in the 'Settings section'\n\n''Know Issues:'' If a defaultTiddlers references a tiddler that has recently been referenced it will appear in the chronological order rather than at the top of the page. Also, if you are inserting the 15 most recent posts and default tiddlers new enough they too will be part of that count. If there is not text in the default tiddler, the weblog plugin isn't run.\n\n''Revision History:''\n v0.1.0 (03 Aug 2005): initial release\n v0.1.2 (03 Aug 2005): fixed 'day' sorting order and permalink breakage\n v0.1.3 (10 Aug 2005): fixed error for when the numOfDaysOrPosts is greater than number of tiddlers.\n v1.1.0 (25 Jan 2005): updated to be compatible with TiddlyWiki 2.0\n v1.2.0 (26 Jan 2005): enabled displaying of tiddlers by date created in addition to date modified\n\n!Settings section: (edit these)\n***/\n//{{{\nvar daysOrPosts = "posts";\nvar numOfDaysOrPosts = "10";\nvar modifiedOrCreate = "modified" \n//}}}\n\n\n\n/***\n!Code section:\n***/\n//{{{\n//modified is the other option\n// // We don't want to show tiddlers tagged as systemTiddlers etc. (this doesn't work yet...)\nvar ignoreTags = ("systemTiddlers","systemConfig","weblogIgnore");\n\nStory.prototype.displayTiddlers_original_TiddlyBlog = Story.prototype.displayTiddlers;\nStory.prototype.displayTiddlers = function(src,titles,state,highlightText,highlightCaseSensitive,animate,slowly) {\n // if using the addressbar to select tiddlers return\n if(window.location.hash) daysOrPosts = "";\n if(daysOrPosts == "posts"){\n //lookup the last few posts\n var tiddlerNames = store.reverseLookup("tags","systemTiddlers",false,modifiedOrCreate);\n //Just display all tiddlers if there aren't enough\n if(tiddlerNames.length-numOfDaysOrPosts<0) numOfDaysOrPosts = tiddlerNames.length; \n for(var t = tiddlerNames.length-numOfDaysOrPosts;t<=tiddlerNames.length-1;t++)\n displayTiddler(src,tiddlerNames[t].title,state,highlightText,highlightCaseSensitive,animate,slowly);\n }\n if (daysOrPosts == "days"){\n var lastDay = "";\n var tiddlerNames = store.reverseLookup("tags","systemTiddlers",false,modifiedOrCreate);\n var t = tiddlerNames.length -1;\n var tFollower = 0;\n for(t;t>=0;t--) if(numOfDaysOrPosts >= 0){\n var theDay = tiddlerNames[t].modified.convertToYYYYMMDDHHMM().substr(0,8);\n if(theDay != lastDay){\n numOfDaysOrPosts = numOfDaysOrPosts -1;\n lastDay = theDay;\n tFollower = t;\n }\n }\n\n for(tFollower = tFollower+1; tFollower < tiddlerNames.length;tFollower++){\n displayTiddler(src,tiddlerNames[tFollower].title,state,highlightText,highlightCaseSensitive,animate,slowly);\n }\n\n }\n\n // call the original displayTiddlers function\n this.displayTiddlers_original_TiddlyBlog(src,titles,state,highlightText,highlightCaseSensitive,animate,slowly);\n\n}\n//}}}
This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://cwnm.tiddlyspot.com/controlpanel]] (your control panel username is //cwnm//).\n<<tiddler tiddlyspotControls>>\n@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions.
<html><object type="application/x-shockwave-flash" data="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=24604&doc=brief-intro-to-hypermedia-ethnography-25898" width="425" height="348"><param name="movie" value="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=24604&doc=brief-intro-to-hypermedia-ethnography-25898" /></object></html>
Putting TiddlyWiki on a USB thumb drive lets you carry around a SelfContained notebook that you can update wherever there's a reasonably modern computer, whether it's a Mac, Linux or a PC. (To be even more independent you can [[install FireFox on the drive|http://www.mozilla.org/support/firefox/tips#oth_usb]] as well).
A Wiki is a popular way of building collaborative websites. It's based on the two ideas of allowing users to easily edit any page and the use of special WikiWord notation to automagically create links between pages. See Wikipedia for [[more details|http://en.wikipedia.org/wiki/Wiki]].\n\nTiddlyWiki is fundamentally different from a conventional Wiki because it is not based on separate, entire pages of content, but rather items of MicroContent referred to as [[Tiddlers|Tiddler]] that live together on the same page.\n\nOut of the box, TiddlyWiki is also different because it doesn't support public editing - or indeed any persistent editing when viewed over the web. However, there are several TiddlyWikiAdaptations and [[Plugins]] that provide these features in a wide range of different configurations.
A WikiWord is a word composed of a bunch of other words slammed together with each of their first letters capitalised. WikiWord notation in a conventional WikiWikiWeb is used to name individual pages while TiddlyWiki uses WikiWord titles for smaller chunks of MicroContent. Referring to a page with a WikiWord automatically creates a link to it. Clicking on a link jumps to that page or, if it doesn't exist, to an editor to create it. It's also easy to have NonWikiWordLinks, and there's a WikiWordEscape for situations where you don't want a WikiWord to be interpreted as a link.
Sometimes it's handy to be able to write WikiWords without them being recognised as links (for people's names, for instance). You can do this by preceding the WikiWord with a tilde ({{{~}}}). For example, ~JamesBond, ~JavaScript and ~TiddlyWiki
I'm hoping that after using TiddlyWiki for a while a new WritingStyle will emerge that is appropriate for this medium. Jakob Neilsen wrote an article about [[writing styles|http://www.useit.com/alertbox/980906.html]] for MicroContent back in 1998 that still seems surprisingly relevant.
<div class='header'>\n<div class='titleLine'>\n<div class='siteTitle' refresh='content' tiddler='SiteTitle'></div>\n<div class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></div>\n</div>\n<div class='headerLine'></div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\n!Zeldman\nhttp://tiddlystyles.com/#theme:Zeldman\n\n!Colors used by this Theme\n*@@background(#f79b60):#f79b60@@\n*@@background(#c51):#c51@@\n*@@background(#d16400):#d16400@@\n*@@background(#be540b):#be540b@@\n*@@background(#b44):#b44@@\n*@@background(#930):#930@@\n*@@background(#922):#922@@\n*@@background(#f5d7b4):#f5d7b4@@\n*@@background(#cf936c):#cf936c@@\n*@@background(#c5886b):#c5886b@@\n*@@background(#b8764c):#b8764c@@\n*@@background(#867663):#867663@@ Used for MSG Area, Tiddler Title, text, and SubTitle\n\n*@@background(#fff):#fff@@\n*@@background(#ccc):#ccc@@\n*@@background(#aaa):#aaa@@\n*@@background(#888):#888@@\n*@@background(#666):#666@@\n*@@background(#333):#333@@\n*@@background(#000):#000@@\n\n!Popup styles /% =========================================================== %/\n***/\n/*{{{*/\n#popup {\n border: 1px solid #aaa;\n padding: 0;\n background: #fff;\n color: #f79b60;\n}\n\n#popup a{\n color: #f79b60;\n font-weight: normal;\n}\n\n#popup a:hover {\n background: #f5d7b4;\n color: #930;\n}\n\n#popup hr {border-top: solid 1px #f5d7b48;}\n#popup li.disabled{color: #cf936c;}\n\n#popup .currentlySelected,\n#popup .currentlySelected:hover{\n background: #f5d7b4;\n}\n/*}}}*/\n/***\n!Generic styles /% ===================================================== %/\n***/\n/*{{{*/\nh1,h2,h3,h4,h5,h6 {\n background-color: transparent;\n margin: .25em 0;\n}\n\nh1 {\nborder-bottom: 2px dotted #ccc;\n}\n\nh2 {\nborder-bottom: 1px dotted #ccc;\n}\n\na{\n color: #f79b60;\n color: #c51;\n}\n\na.button:active,\na:hover{\n color: #f79b60;\n background: transparent;\n}\n\na.button,\na.button:active{\n border: 0;\n}\n/*}}}*/\n/***\n!Header styles /% ================================================================== %/\n***/\n/*{{{*/\n.header{\n position: static;\n}\n\n.titleLine {\n height: 7.5em;\n background: #c51;\n border-bottom: 8px solid #b8764c;\n color: #fff;\n left:0;\n}\n\n.titleLine a,\n.titleLine a:link,\n.titleLine a:hover{\n color: #fff;\n}\n\n.titleLine a:hover{\nborder-bottom: 2px dotted;\n}\n\n.headerLine{\n padding: 0;\n border-top: 5px solid #cf936c;\n border-bottom: 3px solid #f5d7b4;\n}\n\n.siteTitle {\n text-align: right;\n font-size: 4.5em;\n font-weight: bold;\n padding-right: .5em;\n}\n\n.siteSubtitle {\n text-align: right;\n font-size: 1.5em;\n font-family: georgia,times;\n padding-right: 1.5em;\n}\n/*}}}*/\n/***\n!Main menu styles /% ================================================================== %/\n***/\n/*{{{*/\n#mainMenu {\n width: 12em;\n margin-top: .5em;\n left: .5em;\n padding: 0;\n border: 1px solid #f5d7b4;\n color: #666\n}\n\n#mainMenu ul,\n#mainMenu li{\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n#mainMenu li strong a {\n color: #fff;\n background: #d16400;\n}\n\n#mainMenu li strong a:hover,#mainMenu li strong .button:hover{\n color: #f5d7b4;\n background: #930;\n text-decoration: none;\n}\n\n/* The bold has to be a block to contain the links <a>\nbecause inline elements can't contain blocks */\n#mainMenu li strong,\n#mainMenu li span{\n display: block;\n}\n\n#mainMenu li a,\n#mainMenu li a:link{\n display: block; \nwidth: 100%;\n text-decoration: none;\n padding-right: 5px;\n margin-right: 0;\n color: #f79b60;\n border: 0;\n}\n\n#mainMenu li a:hover, #mainMenu li .button:hover{\n background-color: #f5d7b4;\n text-decoration: none;\n}\n\n#mainMenu a:link{\n text-decoration: none;\n color: #f79b60;\n margin-right: 5px;\n}\n\n#mainMenu a:hover,#mainMenu .button:hover{\n text-decoration: underline;\n background: transparent;\n color: #930;\n}\n/*}}}*/\n\n/***\n!Message area styles /% ================================================================== %/\n***/\n/*{{{*/\n#messageArea {\n background-color: #f5d7b4;\n color: #867663;\n padding: 0.5em;\n border: 1px solid #ccc;\n}\n\n#messageArea a:link, #messageArea a:visited {\n color: #c51;\n}\n\n#messageArea a:hover {\n color: #f79b60;\n}\n\n#messageArea a:active {\n color: #fff;\n}\n/*}}}*/\n/***\n!Sidebar styles /% ================================================================== %/\n***/\n/*{{{*/\n#sidebar {\n width: 14.5em;\n border-bottom:1px solid #aaa; \n border-left: 1px solid #aaa;\n}\n\n#sidebarOptions{\n background-color: #fff;\n}\n\n#sidebarOptions a{\n color: #f79b60;\n background: transparent;\n text-decoration: none;\n border: 0;\n}\n\n#sidebarOptions a:hover{\n color: #c51;\n background: #fff;\n text-decoration: underline;\n}\n\n#sidebarOptions .sliderPanel{\n background: #f5d7b4;\n margin: 0;\n}\n\n#sidebarOptions .sliderPanel a{\n color: #922;\n font-weight:normal;\n}\n\n#sidebarOptions .sliderPanel a:hover{\n color: #b44;\n background: transparent;\n}\n\n#sidebarTabs {\n background-color: #fff;\n}\n\n#sidebarTabs a {\n background: transparent;\n}\n\n#sidebarTabs .tabContents a:hover {\n color: #922;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.tab {\n margin: 0px 1px; \n border:1px solid #aaa;\n border-bottom:none;\n color: #922;\n}\n\n.tab:hover {\n border-color: black;\n text-decoration: none;\n}\n\n#sidebarTabs .tabSelected {\n background: #f5d7b4;\n padding: 2px 4px;\n color: #922;\n}\n\n#sidebarTabs .tabUnselected {\n background: #c51;\n padding: 2px 4px 0px 4px;\n color: #fff;\n}\n\n#sidebarTabs .tabContents {\n background-color: #f5d7b4;\n}\n\n#sidebarTabs .tabContents a{\n color: #922;\n}\n\n#sidebarTabs .tabContents a:hover{\n color: #b44;\n}\n\n#sidebarTabs .txtMoreTab .tabSelected,\n#sidebarTabs .txtMoreTab .tabSelected:hover{\n background: #cf936c ;\n color: #000 ;\n text-decoration: none;\n}\n\n#sidebarTabs .txtMoreTab .tabUnselected,\n#sidebarTabs .txtMoreTab .tabUnselected:hover{\n background: #f5d7b4 ;\n color: #000 ;\n text-decoration: none;\n}\n\n#sidebarTabs .txtMoreTab .tabContents {\n color: #fff;\n background: #cf936c;\n border-bottom: solid #aaa 1px;\n}\n/*}}}*/\n/***\n!Tiddler display styles /% ================================================================== %/\n***/\n/*{{{*/\n#displayArea {\n margin: 1em 15em 0em 15em;\n}\n\n.tiddler{\n padding: 0;\n border: 1px solid #ccc;\n padding: 5px;\n}\n\n.title {\n font-size: 1.5em;\n color: #867663;\n font-weight: bold;\n}\n\n.toolbar {\n font-size: .9em;\n}\n\n.toolbar a.button{\n color: #f79b60;\n border: 1px solid #fff;\n}\n\n.tiddler .toolbar a.button:hover,\n.tiddler .toolbar a.button:active {\n color: #930;\n background: #f5d7b4;\n border: 1px solid #f79b60;\n}\n\n.toolbar a.button:active {\n color: #666;\n}\n\n.body {\n border-top:1px solid #ccc;\n padding-top: 0.5em;\n margin-top:0.3em;\n}\n/*}}}*/\n/***\n''Viewer styles'' /% --------------------------------------------------------------------------------------------- %/\n***/\n/*{{{*/\n.tiddler a.button {\n color: #f79b60;\n}\n\n.tiddler a.button:hover {\n color: #be540b;\n background: transparent;\n}\n\n.subtitle,\n.viewer {\n color: #867663;\n}\n\n.viewer .button{\n background: transparent;\n color: #888;\n border: 1px solid transparent;\n}\n\n\n.viewer a:link, .body a:visited{\n color: #be540b;\n}\n\n.viewer a:hover {\n background-color: transparent;\n text-decoration: underline;\n}\n\n.viewer blockquote {\n border-left: 1px solid #ccc;\n}\n\n.viewer table {\n border: 2px solid #333;\n}\n\n\n.viewer td, tr {\n border: 1px solid #666;\n padding: 3px;\n}\n\n.viewer hr {\n border-color: #666;\n color: #666;\n}\n\n.viewer pre {\n border: 1px solid #aaa;\n background: #f5d7b4;\n color: #333;\n}\n\n.viewer code {\n color: #922;\n}\n\n.selected .isTag .tagging,\n.selected .tagged,\n.isTag .tagging,\n.tagged {\n float: none;\n display: inline;\n border: 0;\n background: transparent;\n color: #f79b60;\n margin: 0;\n}\n\n.tagged li, .tagging li,\n.tagged ul, .tagging ul{\n display: inline;\n}\n\n\n.tiddler .tagging .listTitle,\n.tiddler .tagged .listTitle{\n color: #ccc;\n}\n\n.tiddler .tagging a.button,\n.tiddler .tagged a.button{\n margin: 0;\n padding: 0;\n color: #ccc;\n}\n\n.selected .tagging .listTitle,\n.selected .tagged .listTitle,\n.selected .tagging a.button,\n.selected .tagged a.button{\n color: #333;\n}\n/*}}}*/\n/***\n''Editor styles'' /% --------------------------------------------------- %/\n***/\n/*{{{*/\n.editor input,\n.editor textarea {\n border: 1px solid black;\n}\n\n.editor textarea{\n font-size: .8em;\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'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagging' macro='tagging separator:", "'></div><br />\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagged' macro='tags separator:", "'></div>\n<!--}}}-->
This tag provides useful examples for how to do various formatting tasks.
<html><img src="http://lh6.google.com/image/mason.bruce/RaIE7Y5-BkI/AAAAAAAAAdo/XttkkWy7HLY/s288/33460017.JPG"></html>
Clifford Geertz coined the term "thick description" to refer to the necessity of including detailed context when describing human behaviour ([[Geertz 1973]]). His often quoted example concerns the description of a wink; without the context for the wink it could mean almost anything. A thin description might be "the man winked" while a thick description may give a detailed dscription of how and why and when the man winked. \n\nGeertz puts this notion of thick description right at the heart of ethnography:\n<<<\nFrom one point of view, that of the textbook, doing ethnography is establishing rapport, selecting informants, transcribing texts, taking genealogies, mapping fields, keeping a diary and so on. But it is not these things, techniques and received procedures, that define the enterprise. What defines it is the kind of intellectual effort it is: an elaborate venture in, to borrow a notion from Gilbert Ryle, "thick description". (1973: p8)\n<<<\n\nPrinted text, as [[Wesch hints|MachineUs]], however, is not the ideal medium for thick description.
| tiddlyspot password:|<<option pasUploadPassword>>|\n| site management:|<<upload http://cwnm.tiddlyspot.com/store.cgi index.html . . cwnm>>//(requires tiddlyspot password)//<<br>>[[control panel|http://cwnm.tiddlyspot.com/controlpanel]], [[download (go offline)|http://cwnm.tiddlyspot.com/download]]|\n| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|
People around the planet have already translated TiddlyWiki into many other languages, listed here. There are a bunch of community resources to help translators at http://trac.tiddlywiki.org/tiddlywiki/wiki/Translations.