<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

----
Also see AdvancedOptions
<<importTiddlers>>
In Socialtext Unplugged, the selected pages of your Socialtext workspace are displayed as individual "tiddlers" on the page. When the mouse passes over a tiddler a short toolbar menu appears at the top right. Use the commands here to manipulate that particular tiddler: notably closing and editting it. (You can double click on a tiddler as a shortcut to directly enter edit mode).

Over on the right hand side of the window are commands that affect the entire page, in particular "close all" which can be useful to clear the decks when many tiddlers are open at once.

The user is encouraged to ensure that they can SaveChanges before embarking on widespread editing.
Welcome to Socialtext Unplugged. This is a specially designed web page that you can use to view and edit your Socialtext content without having to be online to your Socialtext server.

There are three steps to using Socialtext Unplugged:
* First, learn how to SaveChanges to your local hard drive. This keeps your work safe even if you close your browser or have to reboot your computer
* Secondly, find out how to BrowseAndEdit your content while it is unplugged
* Thirdly, when you can reconnect to your Socialtext server, you can SyncChanges to save your unplugged changes to the server so that other people can see them too

You should also check your system meets the SystemRequirements.
Socialtext Unplugged lets you browse and edit your content while you're offline. When you make a change you need to SaveChanges to save the change to your local hard drive, before later performing a SyncChanges to synchronise the change back to the server.

The procedure for SaveChanges is slightly different for different browsers:
* SavingOnInternetExplorer
* SavingOnFireFox
* SavingOnSafari
* SavingOnOpera
You can save changes with any version of FireFox, and also many other browsers in the FireFox family, such as Camino on the Mac and MiniMo on mobile devices. The procedure is:
# Click the button labelled 'save changes' over in the right hand sidebar
# If prompted with an "Internet Security" dialog as follows, click the checkbox labelled "Remember this decision" and then the "Allow" button
## "A script from "file://" is requesting enhanced capabilities that are UNSAFE and could be used to compromise your machine or data..."
# You should then see a message at the top right of the window saying "Main TiddlyWiki file saved"
If you accidentally //deny// permission instead, you may need to UnravelFireFoxPermissions.
You can save changes with Internet Explorer versions 6 and 7, but not the earlier versions. The procedure is:
# Click the button labelled 'save changes' over in the right hand sidebar
# If prompted as follows, click "Yes":
## "An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction?"
# You should then see a message at the top right of the window saying "Main TiddlyWiki file saved"
Note that there is currently [[a bug|http://trac.tiddlywiki.org/tiddlywiki/ticket/39]] that prevents Internet Explorer from saving correctly if you have specified a backup directory in AdvancedOptions.
To SaveChanges on Opera, see the instructions for using the TiddlySaver Java applet.
To SaveChanges on Safari, see the instructions for using the TiddlySaver Java applet.
<<search>><<closeAll>><<permaview>><<newTiddler 'New Tiddler' fields:'server.host:"https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443" server.workspace:"razmjenavjestina" wikiformat:socialtext'>><<newJournal 'DD MMM YYYY' fields:'server.host:"https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443" server.workspace:"razmjenavjestina" wikiformat:socialtext'>><<saveChanges>><<backstage sync>><<slider chkSliderOptionsPanel OptionsPanel 'options ยป' 'Change TiddlyWiki advanced options'>>
RazmjenaVjestina
Socialtext Unplugged
https://saturn.ffzg.hr/razmjenavjestina/
[[SocialtextScreenStyle]]
[[SocialtextStyleOverrides]]
[[Styles HorizontalMainMenu]]
<<sync>>
@@The user interface for synchronization is not finalized@@
To synchronize your changes back to the Socialtext server:
# click on [[Sync]] in the right-hand sidebar
<<tabs txtMoreTab Orphans 'Orphaned tiddlers' TabMoreOrphans Shadowed 'Shadowed tiddlers' TabMoreShadowed>>
Under FireFox, you can run into problems if you accidentally click 'Deny' on the permission request dialog, and have selected //Remember this decision//.

To reverse the effects, first locate the file {{{prefs.js}}} in your FireFox profile directory. Under Windows you'll find it at something like {{{C:\Documents and Settings\Jeremy\Application Data\Mozilla\Firefox\Profiles\o3dhupu6.default\prefs.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}}}.

Open 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}}}.
//(Thanks to JonScully for figuring out this fix)//
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler references > fields syncing jump'></div>
<div class='workspace' id='st-page-wiki-title' macro='view socialtext.workspace'></div>
<div class='title' id='st-page-titletext' macro='view title'></div>
<div class='subtitle'>
Created on <span macro='view created date [[MMM DD, 0hh:0mm]]'></span>.
Updated by <span macro='view modifier link'></span>
on <span macro='view modified date [[MMM DD, 0hh:0mm]]'></span></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></span></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/***
To use, add {{{[[Styles HorizontalMainMenu]]}}} to your StyleSheet tiddler.
See http://www.w3schools.com/css/css_colors.asp for a color chart.
***/
/*{{{*/
#mainMenu {position:relative;left:auto;width:auto;text-align:left;line-height:normal;padding 0em 1em 0em 1em;font-size:normal;}
#mainMenu br {display:none;}
#mainMenu {background:#336699;}
#mainMenu {padding:2px;}
#mainMenu .button, #mainMenu .tiddlyLink {padding-left:0.5em;padding-right:0.5em;color:white;font-size:115%;}

#displayArea {
	margin-top:0;margin-right:20em;margin-bottom:0;margin-left:1em;
	padding-top:.1em;padding-bottom:.1em;
}
/*}}}*/
|''Type:''|socialtext|
|''URL:''|https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443 |
|''Workspace:''|razmjenavjestina|
|''WorkspaceList:''||
|''Description:''|RazmjenaVjestina|
The TiddlySaver Java applet allows TiddlyWiki from a {{{file://}}} URL to save changes Safari, Opera and other browsers.

It 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.

For Windows, the file will be at {{{C:\Documents and Settings\your-user-name\.java.policy}}}. Add the following lines (substituting the directory of your TiddlyWiki file as appropriate):
{{{
grant codeBase "file:${user.home}/My Documents/tiddlywiki-folder/*" {
  permission java.io.FilePermission "${user.home}${/}My Documents${/}tiddlywiki-folder${/}*", "read,write";
};
}}}
On Mac OS X, the file is found at {{{/Users/your-user-name/.java.policy}}}:
{{{
grant codeBase "file:${user.home}/Documents/tiddlywiki-folder/*" {
  permission java.io.FilePermission "${user.home}${/}Documents${/}tiddlywiki-folder${/}*", "read,write";
};
}}}
It 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!

If you have trouble setting up the permissions correctly, you can try granting broader permissions to the applet like this:

{{{
grant codeBase "file://localhost/home/users/Desktop/
TiddlySaver.jar"
 { permission java.security.AllPermission; };
}}}

Note that there is currently [[a bug|http://trac.tiddlywiki.org/ticket/172]] that prevents TiddlySaver from working if you have specified a backup directory in AdvancedOptions.
/***
|''Name:''|SocialtextLocaleOverrides|
|''Description:''|Text changes for Socialtext|
***/

//{{{
merge(config.views.wikified.tag,{
	labelNoTags: "No Tags",
	labelTags: "Tags"});

merge(config.commands.references,{
	text: "incoming links",
	tooltip: "Show tiddlers that link to this one",
	popupNone: "No incoming links"});
//}}}
/***
|''Name:''|SocialtextTweaksPlugin|
|''Description:''|Allows changes to be synchronised with a Socialtext server|
|''Source:''|http://stunplugged.tiddlywiki.com/#SocialtextTweaksPlugin|
|''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) com)|
|''Version:''|1.0.2|
|''Date:''|Jun 15, 2006|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[BSD open source license]]|
|''~CoreVersion:''|2.2|

Make minor configuration tweaks specific to Socialtext Unplugged
***/

//{{{
// Ensure that the SocialtextTweaksPlugin is only installed once.
if(!version.extensions.SocialtextTweaksPlugin) {
version.extensions.SocialtextTweaksPlugin = {installed:true};
// Check version number of core code
if(version.major < 2 || (version.major == 2 && version.minor < 2))
	{alertAndThrow("SocialtextTweaksPlugin requires TiddlyWiki 2.2 or later.");}

merge(config.defaultCustomFields,{
	wikiformat:'socialtext',
	'server.host':'https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443'
});

config.options.chkSinglePageMode = true;
config.options.chkEnableAnimations = true;

} // end of "install only once"
//}}}
/***
|''Name:''|SocialtextFormatterPlugin|
|''Description:''|Allows Tiddlers to use [[Socialtext|http://www.socialtext.com/]] text formatting|
|''Author:''|Martin Budden (mjbudden (at) gmail (dot) com)|
|''Source:''|http://www.martinswiki.com/#SocialtextFormatterPlugin|
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/formatters/SocialtextFormatterPlugin.js|
|''Version:''|0.9.4|
|''Date:''|Jan 21, 2007|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.1.0|

This is the SocialtextFormatterPlugin, which allows you to insert Socialtext formated text into a TiddlyWiki.

The aim is not to fully emulate Socialtext, but to allow you to work with Socialtext content off-line and then resync the content with your Socialtext wiki later on, with the expectation that only minor edits will be required.

To use Socialtext format in a Tiddler, tag the Tiddler with SocialtextFormat or set the tiddler's {{{wikiformat}}} extended field to {{{socialtext}}}

Please report any defects you find at http://groups.google.co.uk/group/TiddlyWikiDev
***/

//{{{
// Ensure that the SocialtextFormatter Plugin is only installed once.
if(!version.extensions.SocialtextFormatterPlugin) {
version.extensions.SocialtextFormatterPlugin = {installed:true};

if(version.major < 2 || (version.major == 2 && version.minor < 1))
	{alertAndThrow('SocialtextFormatterPlugin requires TiddlyWiki 2.1 or later.');}

SocialtextFormatter = {}; // 'namespace' for local functions

wikify = function(source,output,highlightRegExp,tiddler)
{
	if(source && source != '') {
		var w = new Wikifier(source,getParser(tiddler),highlightRegExp,tiddler);
		var out = output;
		if(tiddler && (tiddler.isTagged(config.parsers.socialtextFormatter.formatTag) || (tiddler.fields.wikiformat==config.parsers.socialtextFormatter.format)) ) {
			var d1 = createTiddlyElement(output,'div','content-display-body','content-section-visible');
			var d2 = createTiddlyElement(d1,'div','wikipage');
			out = createTiddlyElement(d2,'div',null,'wiki');
		}
		var time1,time0 = new Date();
		w.subWikifyUnterm(out);
		if(tiddler && config.options.chkDisplayInstrumentation) {
			time1 = new Date();
			var t = tiddler ? tiddler.title : source.substr(0,10);
			displayMessage("Wikify '"+t+"' in " + (time1-time0) + " ms");
		}
	}
};

stDebug = function(out,str)
{
	createTiddlyText(out,str.replace(/\n/mg,'\\n').replace(/\r/mg,'RR'));
	createTiddlyElement(out,'br');
};

SocialtextFormatter.Tiddler_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
	if((this.fields.wikiformat==config.parsers.socialtextFormatter.format) || this.isTagged(config.parsers.socialtextFormatter.formatTag)) {
		// update the links array, by checking for Socialtext format links
		this.links = [];
		var tiddlerLinkRegExp = /(?:\"(.*?)\" ?)?\[([^\]]*?)\]/mg;
		tiddlerLinkRegExp.lastIndex = 0;
		var match = tiddlerLinkRegExp.exec(this.text);
		while(match) {
			var link = match[2];
			this.links.pushUnique(link);
			match = tiddlerLinkRegExp.exec(this.text);
		}
	}/* else {
		return SocialtextFormatter.Tiddler_changed.apply(this,arguments);
	}*/
	this.linksUpdated = true;
};

SocialtextFormatter.wafl = function(w)
{
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var lm2 = lookaheadMatch[2];
		switch(lookaheadMatch[1]) {
		case 'image':
			var img = createTiddlyElement(w.output,'img');
			img.src = w.tiddler.title + '/' + lm2;
			createTiddlyText(img,lm2);
			break;
		case 'file':
			var s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			var a = createTiddlyElement(s,'a');
			a.href = w.tiddler.title + '/' + lm2;
			createTiddlyText(a,lm2);
			break;
		case 'link':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createTiddlyElement(s,'a');
			var t = w.tiddler ? w.tiddler.title + ':' : '';
			a.setAttribute('href','#' + t + lm2);
			a.title = 'section link';
			createTiddlyText(a,lm2);
			break;
		case 'weblog':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			var text = lm2;
			var link = 'Weblog: ' + lm2;
			createTiddlyText(createTiddlyLink(s,link,false,null,w.isStatic),text);
			break;
		case 'section':
			a = createTiddlyElement(w.output,'a');// drop anchor
			t = w.tiddler ? w.tiddler.title + ':' : '';
			a.setAttribute('name',t + lm2);
			break;
		case 'date':
			createTiddlyText(w.output,lm2);
			break;
		case 'user':
			var oldSource = w.source;
			w.source = lm2;
			w.nextMatch = 0;
			w.subWikifyUnterm(w.output);
			w.source = oldSource;
			break;
// Shortcut expansions - not strictly syntax
		case 'google':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://www.google.com/search?q='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'fedex':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://www.fedex.com/Tracking?tracknumbers='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'map':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://maps.google.com/maps?q='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'wikipedia':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://en.wikipedia.org/wiki/'+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'rt':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://rt.socialtext.net/Ticket/Display.html?id='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'stcal':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'https://calendar.socialtext.net:445/view_t.php?timeb=1&id=3&date='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'svn':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'https://repo.socialtext.net/listing.php?rev='+lm2+'sc=1');
			createTiddlyText(a,lm2);
			break;
		default:
			w.outputText(w.output,w.matchStart,w.nextMatch);
			return;
		}
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	} else {
		w.outputText(w.output,w.matchStart,w.nextMatch);
	}
};

SocialtextFormatter.presence = function(w)
{
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var p = lookaheadMatch[1];
		var text = lookaheadMatch[2];
		var link;
		var src;
		if(p=='aim') {
			link = 'aim:goim?screenname=' + text + '&message=hello';
			src = 'http://big.oscar.aol.com/sleepleft?on_url=http://www.aim.com/remote/gr/MNB_online.gif&amp;off_url=http://www.aim.com/remote/gr/MNB_offline.gif';
		} else if(p=='yahoo'||p=='ymsgr') {
			link = 'ymsgr:sendIM?'+text;
			src = 'http://opi.yahoo.com/online?u=chrislondonbridge&f=.gif';
		} else if(p=='skype'||p=='callto') {
			link = 'callto:'+text;
			src = 'http://goodies.skype.com/graphics/skypeme_btn_small_green.gif';
		} else if(p=='asap') {
			link = 'http://asap2.convoq.com/AsapLinks/Meet.aspx?l='+text;
			src = 'http://asap2.convoq.com/AsapLinks/Presence.aspx?l='+text;
		}
		var s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
		var a = createExternalLink(s,link);
		var img = createTiddlyElement(a,'img');
		createTiddlyText(a,text);
		img.src = src;
		img.border='0';
		img.alt = '(' + lookaheadMatch[1] + ')';
		if(p=='aim') {
			img.width='11'; img.height='13';
		}
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	}
};

config.formatterHelpers.singleCharFormat = function(w)
{
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart && lookaheadMatch[0].substr(lookaheadMatch[0].length-2,1) != ' ') {
		w.subWikifyTerm(createTiddlyElement(w.output,this.element),this.termRegExp);
	} else {
		w.outputText(w.output,w.matchStart,w.nextMatch);
	}
};

config.socialtext = {};
config.socialtext.formatters = [
{
	name: 'socialtextHeading',
	match: '^\\^{1,6} ?',
	termRegExp: /(\n+)/mg,
	handler: function(w)
	{
		var len = w.matchText.trim().length;
		var e = createTiddlyElement(w.output,'h' + len);
		var a = createTiddlyElement(e,'a');// drop anchor
		var t = w.tiddler ? w.tiddler.title + ':' : '';
		len = w.source.substr(w.nextMatch).indexOf('\n');
		a.setAttribute('name',t+w.source.substr(w.nextMatch,len));
		w.subWikifyTerm(e,this.termRegExp);
	}
},

{
	name: 'socialtextTable',
	match: '^\\|(?:(?:.|\n)*)\\|$',
	lookaheadRegExp: /^\|(?:(?:.|\n)*)\|$/mg,
	cellRegExp: /(?:\|(?:[^\|]*)\|)(\n|$)?/mg,
	cellTermRegExp: /((?:\x20*)\|)/mg,
	handler: function(w)
	{
		var table = createTiddlyElement(w.output,'table');
		var rowContainer = createTiddlyElement(table,'tbody');
		var prevColumns = [];
		w.nextMatch = w.matchStart;
		this.lookaheadRegExp.lastIndex = w.nextMatch;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		while(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {
			var r = this.rowHandler(w,createTiddlyElement(rowContainer,'tr'),prevColumns);
			if(!r) {
				w.nextMatch++;
				break;
			}
			this.lookaheadRegExp.lastIndex = w.nextMatch;
			lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		}
	},
	rowHandler: function(w,e,prevColumns)
	{
		this.cellRegExp.lastIndex = w.nextMatch;
		var cellMatch = this.cellRegExp.exec(w.source);
		while(cellMatch && cellMatch.index == w.nextMatch) {
			w.nextMatch++;
			var cell = createTiddlyElement(e,'td');
			w.subWikifyTerm(cell,this.cellTermRegExp);
			if(cellMatch[1]) {
				// End of row
				w.nextMatch = this.cellRegExp.lastIndex;
				return true;
			}
			// Cell
			w.nextMatch--;
			this.cellRegExp.lastIndex = w.nextMatch;
			cellMatch = this.cellRegExp.exec(w.source);
		}
		return false;
	}
},

{
	name: 'socialtextList',
	match: '^[\\*#]+ ',
	lookaheadRegExp: /^([\*#])+ /mg,
	termRegExp: /(\n+)/mg,
	handler: function(w)
	{
		var stack = [w.output];
		var currLevel = 0, currType = null;
		var itemType = 'li';
		w.nextMatch = w.matchStart;
		this.lookaheadRegExp.lastIndex = w.nextMatch;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		while(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {
			var listType = lookaheadMatch[1] == '*' ? 'ul' : 'ol';
			var listLevel = lookaheadMatch[0].length;
			w.nextMatch += listLevel;
			if(listLevel > currLevel) {
				for(var i=currLevel; i<listLevel; i++) {
					stack.push(createTiddlyElement(stack[stack.length-1],listType));
				}
			} else if(listLevel < currLevel) {
				for(i=currLevel; i>listLevel; i--) {
					stack.pop();
				}
			} else if(listLevel == currLevel && listType != currType) {
				stack.pop();
				stack.push(createTiddlyElement(stack[stack.length-1],listType));
			}
			currLevel = listLevel;
			currType = listType;
			var e = createTiddlyElement(stack[stack.length-1],itemType);
			w.subWikifyTerm(e,this.termRegExp);
			this.lookaheadRegExp.lastIndex = w.nextMatch;
			lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		}
	}
},

{
	name: 'socialtextQuoteByLine',
	match: '^>+',
	lookaheadRegExp: /^>+/mg,
	termRegExp: /(\n)/mg,
	element: 'blockquote',
	handler: function(w)
	{
		var stack = [w.output];
		var currLevel = 0;
		var newLevel = w.matchLength;
		var i;
		do {
			if(newLevel > currLevel) {
				for(i=currLevel; i<newLevel; i++) {
					stack.push(createTiddlyElement(stack[stack.length-1],this.element));
				}
			} else if(newLevel < currLevel) {
				for(i=currLevel; i>newLevel; i--) {
					stack.pop();
				}
			}
			currLevel = newLevel;
			w.subWikifyTerm(stack[stack.length-1],this.termRegExp);
			createTiddlyElement(stack[stack.length-1],'br');
			this.lookaheadRegExp.lastIndex = w.nextMatch;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			var matched = lookaheadMatch && lookaheadMatch.index == w.nextMatch;
			if(matched) {
				newLevel = lookaheadMatch[0].length;
				w.nextMatch += newLevel;
			}
		} while(matched);
	}
},

{
	name: 'socialtextRule',
	match: '^----+$\\n+',
	handler: function(w)
	{
		createTiddlyElement(w.output,'hr');
	}
},

{
	name: 'socialtextPreformatted',
	match: '^\\.pre\\s*\\n',
	lookaheadRegExp: /^.pre\s*\n((?:.|\n)*?)\n.pre\s*\n/mg,
	element: 'pre',
	handler: config.formatterHelpers.enclosedTextHelper
},

{
	name: 'socialtextHtml',
	match: '^\\.html',
	lookaheadRegExp: /\.html((?:.|\n)*?)\.html/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			createTiddlyElement(w.output,'span').innerHTML = lookaheadMatch[1];
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'macro',
	match: '<<',
	lookaheadRegExp: /<<([^>\s]+)(?:\s*)((?:[^>]|(?:>(?!>)))*)>>/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart && lookaheadMatch[1]) {
			w.nextMatch = this.lookaheadRegExp.lastIndex;
			invokeMacro(w.output,lookaheadMatch[1],lookaheadMatch[2],w,w.tiddler);
		}
	}
},

{
	name: 'socialtextExplicitLink',
	match: '(?:".*?" ?)?\\[',
	lookaheadRegExp: /(?:\"(.*?)\" ?)?\[([^\]]*?)\]/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var link = lookaheadMatch[2];
			var text = lookaheadMatch[1] ? lookaheadMatch[1] : link;
			createTiddlyText(createTiddlyLink(w.output,link,false,null,w.isStatic,w.tiddler),text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'socialtextExternalLink',
	match: '(?:".*?" ?)?<[a-z]{2,8}:',
	lookaheadRegExp: /(?:\"(.*?)\" ?)?<([a-z]{2,8}:.*?)>/mg,
	imgRegExp: /\.(?:gif|ico|jpg|png)/g,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var link = lookaheadMatch[2];
			var text = lookaheadMatch[1] ? lookaheadMatch[1] : link;
			this.imgRegExp.lastIndex = 0;
			if(this.imgRegExp.exec(link)) {
				var img = createTiddlyElement(w.output,'img');
				if(lookaheadMatch[1]) {
					img.title = text;
				}
				img.alt = text;
				img.src = link;
			} else {
				createTiddlyText(createExternalLink(w.output,link),text);
			}
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'socialtextUrlLink',
	match: config.textPrimitives.urlPattern,
	handler: function(w)
	{
		w.outputText(createExternalLink(w.output,w.matchText),w.matchStart,w.nextMatch);
	}
},

{
	name: 'socialtextBold',
	match: '\\*(?![\\s\\*])',
	lookaheadRegExp: /\*(?!\s)(?:.*?)(?!\s)\*(?=[$\s\|\._\-,])/mg,
	termRegExp: /((?!\s)\*(?=[$\s\|\.\-_,]))/mg,
	element: 'strong',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextItalic',
	match: '_(?![\\s_])',
	lookaheadRegExp: /_(?!\s)(?:.*?)(?!\s)_(?=[$\s\|\.\*\-,])/mg,
	termRegExp: /((?!\s)_(?=[$\s\|\.\*\-,]))/mg,
	element: 'em',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextStrike',
	match: '-(?![\\s\\-])',
	lookaheadRegExp: /-(?!\s)(?:.*?)(?!\s)-(?=[$\s\|\.\*_,])/mg,
	termRegExp: /((?!\s)-(?=[$\s\|\.\*_,]))/mg,
	element: 'del',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextMonoSpaced',
	match: '`(?![\\s`])',
	lookaheadRegExp: /`(?!\s)(?:.*?)(?!\s)`(?=[$\s\.\*\-_,])/mg,
	termRegExp: /((?!\s)`(?=[$\s\.\*\-_,]))/mg,
	element: 'tt',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextParagraph',
	match: '\\n{2,}',
	handler: function(w)
	{
		createTiddlyElement(w.output,'p');
	}
},

{
	name: 'socialtextLineBreak',
	match: '\\n',
	handler: function(w)
	{
		createTiddlyElement(w.output,'br');
	}
},

{
	name: 'socialtextNoWiki',
	match: '\\{\\{',
	lookaheadRegExp: /\{\{((?:.|\n)*?)\}\}/mg,
	element: 'span',
	handler: config.formatterHelpers.enclosedTextHelper
},

{
	name: 'socialtextTrademark',
	match: '\\{tm\\}',
	handler: function(w)
	{
		createTiddlyElement(w.output,'span').innerHTML = '&trade;';
	}
},

{
	name: 'socialtextWafl',
	match: '\\{(?:[a-z]{2,16}): ?.*?\\}',
	lookaheadRegExp: /\{([a-z]{2,16}): ?(.*?)\}/mg,
	handler: SocialtextFormatter.wafl
},

{
	name: 'socialtextPresence',
	match: '(?:aim|yahoo|ymsgr|skype|callto|asap):\\w+',
	lookaheadRegExp: /(aim|yahoo|ymsgr|skype|callto|asap):(\w+)/mg,
	handler: SocialtextFormatter.presence
},

{
	name: 'socialtextMailTo',
	match: '[\\w\.]+@[\\w]+\.[\\w\.]+',
	lookaheadRegExp: /([\w\.]+@[\w]+\.[\w\.]+)/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var text = lookaheadMatch[1];
			createTiddlyText(createExternalLink(w.output,'mailto:'+text),text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'socialtextHtmlEntitiesEncoding',
	match: '&#?[a-zA-Z0-9]{2,8};',
	handler: function(w)
	{
		createTiddlyElement(w.output,'span').innerHTML = w.matchText;
	}
}
];

config.parsers.socialtextFormatter = new Formatter(config.socialtext.formatters);
config.parsers.socialtextFormatter.format = 'socialtext';
config.parsers.socialtextFormatter.formatTag = 'SocialtextFormat';

} // end of 'install only once'
//}}}
/***
|''Name:''|SocialtextAdaptorPlugin|
|''Description:''|Adaptor for moving and converting data to and from Socialtext Wikis|
|''Author:''|Martin Budden (mjbudden (at) gmail (dot) com) and JeremyRuston (jeremy (at) osmosoft (dot) com)|
|''Source:''|http://www.martinswiki.com/#SocialtextAdaptorPlugin|
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/adaptors/SocialtextAdaptorPlugin.js|
|''Version:''|0.5.1|
|''Date:''|Feb 25, 2007|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.2.0|

Socialtext REST documentation is at:
http://www.eu.socialtext.net/st-rest-docs/index.cgi?socialtext_rest_documentation

***/

//{{{
if(!version.extensions.SocialtextAdaptorPlugin) {
version.extensions.SocialtextAdaptorPlugin = {installed:true};

function SocialtextAdaptor()
{
	this.host = null;
	this.workspace = null;
	return this;
}

SocialtextAdaptor.mimeType = 'text/x.socialtext-wiki';
SocialtextAdaptor.serverType = 'socialtext';
SocialtextAdaptor.serverParsingErrorMessage = "Error parsing result from server";
SocialtextAdaptor.errorInFunctionMessage = "Error in function SocialtextAdaptor.%0";

SocialtextAdaptor.prototype.setContext = function(context,userParams,callback)
{
	if(!context) context = {};
	context.userParams = userParams;
	if(callback) context.callback = callback;
	context.adaptor = this;
	if(!context.host)
		context.host = this.host;
	if(!context.workspace && this.workspace)
		context.workspace = this.workspace;
	return context;
};

SocialtextAdaptor.doHttpGET = function(uri,callback,params,headers,data,contentType,username,password)
{
	return doHttp('GET',uri,data,contentType,username,password,callback,params,headers);
};

SocialtextAdaptor.doHttpPOST = function(uri,callback,params,headers,data,contentType,username,password)
{
	return doHttp('POST',uri,data,contentType,username,password,callback,params,headers);
};

SocialtextAdaptor.fullHostName = function(host)
{
	if(!host)
		return '';
	if(!host.match(/:\/\//))
		host = 'http://' + host;
	if(host.substr(host.length-1) != '/')
		host = host + '/';
	return host;
};

SocialtextAdaptor.minHostName = function(host)
{
	return host ? host.replace(/^http:\/\//,'').replace(/\/$/,'') : '';
};

// Convert a page title to the normalized form used in uris
SocialtextAdaptor.normalizedTitle = function(title)
{
	var n = title.toLowerCase();
	n = n.replace(/\s/g,'_').replace(/\//g,'_').replace(/\./g,'_').replace(/:/g,'').replace(/\?/g,'');
	if(n.charAt(0)=='_')
		n = n.substr(1);
	return String(n);
};

// Convert a Socialtext date in YYYY-MM-DD hh:mm format into a JavaScript Date object
SocialtextAdaptor.dateFromEditTime = function(editTime)
{
	var dt = editTime;
	return new Date(Date.UTC(dt.substr(0,4),dt.substr(5,2)-1,dt.substr(8,2),dt.substr(11,2),dt.substr(14,2)));
};

SocialtextAdaptor.prototype.openHost = function(host,context,userParams,callback)
{
	this.host = SocialtextAdaptor.fullHostName(host);
	context = this.setContext(context,userParams,callback);
	if(context.callback) {
		context.status = true;
		window.setTimeout(function() {callback(context,userParams);},0);
	}
	return true;
};

SocialtextAdaptor.prototype.openWorkspace = function(workspace,context,userParams,callback)
{
	this.workspace = workspace;
	context = this.setContext(context,userParams,callback);
	if(context.callback) {
		context.status = true;
		window.setTimeout(function() {callback(context,userParams);},0);
	}
	return true;
};


SocialtextAdaptor.prototype.getWorkspaceList = function(context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);
	var uriTemplate = '%0data/workspaces';
	var uri = uriTemplate.format([context.host]);
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getWorkspaceListCallback,context,{'accept':'application/json'});
	return typeof req == 'string' ? req : true;
};

SocialtextAdaptor.getWorkspaceListCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	context.statusText = SocialtextAdaptor.errorInFunctionMessage.format(['getWorkspaceListCallback']);
	if(status) {
		try {
			eval('var info=' + responseText);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		var list = [];
		for(var i=0; i<info.length; i++) {
			var item = {
				title:info[i].title,
				name:info[i].name,
				modified:SocialtextAdaptor.dateFromEditTime(info[i].modified_time)
				};
			list.push(item);
		}
		context.workspaces = list;
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.getTiddlerList = function(context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);
	var uriTemplate = '%0data/workspaces/%1/pages?order=newest';//!! ? or ;
	var uri = uriTemplate.format([context.host,context.workspace]);
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerListCallback,context,{'accept':'application/json'});
	return typeof req == 'string' ? req : true;
};


SocialtextAdaptor.getTiddlerListCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	context.statusText = SocialtextAdaptor.errorInFunctionMessage.format(['getTiddlerListCallback']);
	if(status) {
		try {
			eval('var info=' + responseText);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		var list = [];
		for(var i=0; i<info.length; i++) {
			var tiddler = new Tiddler(info[i].name);
			tiddler.modified = SocialtextAdaptor.dateFromEditTime(info[i].last_edit_time);
			tiddler.modifier = info[i].last_editor;
			tiddler.tags = info[i].tags;
			tiddler.fields['server.page.id'] = info[i].page_id;
			tiddler.fields['server.page.name'] = info[i].name;
			tiddler.fields['server.page.revision'] = String(info[i].revision_id);
			list.push(tiddler);
		}
		context.tiddlers = list;
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.generateTiddlerInfo = function(tiddler)
{
	var info = {};
	var host = this && this.host ? this.host : SocialtextAdaptor.fullHostName(tiddler.fields['server.host']);
	var workspace = this && this.workspace ? this.workspace : tiddler.fields['server.workspace'];
	uriTemplate = '%0%1/index.cgi?%2';
	info.uri = uriTemplate.format([host,workspace,SocialtextAdaptor.normalizedTitle(tiddler.title)]);
	return info;
};

SocialtextAdaptor.prototype.getTiddler = function(title,context,userParams,callback)
{
	return this.getTiddlerRevision(title,null,context,userParams,callback);
};

SocialtextAdaptor.prototype.getTiddlerRevision = function(title,revision,context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);

	// request the page in json format to get the page attributes
	if(revision) {
		var uriTemplate = '%0data/workspaces/%1/pages/%2/revisions/%3';
		context.revision = revision;
	} else {
		uriTemplate = '%0data/workspaces/%1/pages/%2';
		context.revision = null;
	}
	uri = uriTemplate.format([context.host,context.workspace,SocialtextAdaptor.normalizedTitle(title),revision]);

	context.tiddler = new Tiddler(title);
	context.tiddler.fields.wikiformat = 'socialtext';
	context.tiddler.fields['server.host'] = SocialtextAdaptor.minHostName(context.host);
	context.tiddler.fields['server.workspace'] = context.workspace;
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerCallback,context,{'accept':'application/json'});
	return typeof req == 'string' ? req : true;
};


SocialtextAdaptor.getTiddlerCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	context.statusText = SocialtextAdaptor.errorInFunctionMessage.format(['getTiddlerCallback']);
	if(status) {
		try {
			eval('var info=' + responseText);
			context.tiddler.tags = info.tags;
			context.tiddler.fields['server.page.id'] = info.page_id;
			context.tiddler.fields['server.page.name'] = info.name;
			context.tiddler.fields['server.page.revision'] = String(info.revision_id);
			context.tiddler.modifier = info.last_editor;
			context.tiddler.modified = SocialtextAdaptor.dateFromEditTime(info.last_edit_time);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
		if(context.callback)
			context.callback(context,context.userParams);
		return;
	}
	var uriTemplate = context.revision ? '%0data/workspaces/%1/pages/%2/revisions/%3' : '%0data/workspaces/%1/pages/%2';
	var host = SocialtextAdaptor.fullHostName(context.tiddler.fields['server.host']);
	var workspace = context.workspace ? context.workspace : context.tiddler.fields['server.workspace'];
	uri = uriTemplate.format([host,workspace,SocialtextAdaptor.normalizedTitle(context.tiddler.title),context.revision]);
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerCallback2,context,{'accept':SocialtextAdaptor.mimeType});
};

SocialtextAdaptor.getTiddlerCallback2 = function(status,context,responseText,uri,xhr)
{
	context.tiddler.text = responseText;
	if(status) {
		context.status = true;
	} else {
		context.status = false;
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.getTiddlerRevisionList = function(title,limit,context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);

	var uriTemplate = '%0data/workspaces/%1/pages/%2/revisions?accept=application/json';
	if(!limit)
		limit = 5;
	var uri = uriTemplate.format([context.host,context.workspace,SocialtextAdaptor.normalizedTitle(title),limit]);

	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerRevisionListCallback,context);
	return typeof req == 'string' ? req : true;
};

SocialtextAdaptor.getTiddlerRevisionListCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	if(status) {
		var content = null;
		try {
			eval('var info=' + responseText);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		list = [];
		for(var i=0; i<info.length; i++) {
			var tiddler = new Tiddler(info[i].name);
			tiddler.modified = SocialtextAdaptor.dateFromEditTime(info[i].last_edit_time);
			tiddler.modifier = info[i].last_editor;
			tiddler.tags = info[i].tags;
			tiddler.fields['server.page.id'] = info[i].page_id;
			tiddler.fields['server.page.name'] = info[i].name;
			tiddler.fields['server.page.revision'] = info[i].revision_id;
			list.push(tiddler);
		}
		var sortField = 'server.page.revision';
		list.sort(function(a,b) {return a.fields[sortField] < b.fields[sortField] ? +1 : (a.fields[sortField] == b.fields[sortField] ? 0 : -1);});
		context.revisions = list;
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.putTiddler = function(tiddler,context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);
	context.tiddler = tiddler;
	context.title = tiddler.title;
	var uriTemplate = '%0data/workspaces/%1/pages/%2';
	var host = context.host ? context.host : SocialtextAdaptor.fullHostName(tiddler.fields['server.host']);
	var workspace = context.workspace ? context.workspace : tiddler.fields['server.workspace'];
	var uri = uriTemplate.format([host,workspace,tiddler.title,tiddler.text]);
	//var req = doHttp('POST',uri,tiddler.text,SocialtextAdaptor.mimeType,null,null,SocialtextAdaptor.putTiddlerCallback,context,{"X-Http-Method": "PUT"});
	var req = SocialtextAdaptor.doHttpPOST(uri,SocialtextAdaptor.putTiddlerCallback,context,{"X-Http-Method": "PUT"},tiddler.text,SocialtextAdaptor.mimeType);
	return typeof req == 'string' ? req : true;
};

SocialtextAdaptor.putTiddlerCallback = function(status,context,responseText,uri,xhr)
{
	if(status) {
		context.status = true;
	} else {
		context.status = false;
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.close = function()
{
	return true;
};

config.adaptors[SocialtextAdaptor.serverType] = SocialtextAdaptor;
} //# end of 'install only once'
//}}}
/***
SocialtextStyleOverrides
***/

/*{{{*/
.headerShadow {padding: 2em 0em .5em 1em;}
.headerForeground {padding: 2em 0em .5em 1em;}

#st-page-wiki-title {
	font-size: 80%;
}
.subtitle {
	font-style: italic;
	font-size 80%;
}

/* from #st-tags */
.tagged {
	border-color: #bbeebb;
	background-color: #f4fff4;
}

.tagged .listTitle {
	color: #595;
	font-weight: bold;
}

.tagged .button {
	color: #000;
}

.selected .tagged {
	background-color: ColorPalette::TertiaryLight;
	border: 1px solid ColorPalette::TertiaryMid;
}

/* from #st-incoming-links */
.tagging {
	border-color: #ebb;
	background-color: #fff4f4;
}

.tagging .listTitle {
	color: #b78;
	font-weight: bold;
}

.tagging .button {
	color: #999;
}

.selected .tagging {
	background-color: ColorPalette::TertiaryLight;
	border: 1px solid ColorPalette::TertiaryMid;
}

.tiddler {/* Tiddler body */
	border:1px solid #ccc;
	margin:0.5em;
	background:#fff;
	padding:0.5em;
}

.viewer blockquote {border-left: 0px solid}

.tiddlyLinkNonExisting {
	font-style: italic;
	border-bottom: 1px dashed;
}

.editor input, .editor textarea {
	background: #ffd;
	border-style: solid;
	border-color: #888 #ccc #ccc #888;
	border-width: 2px;
}

.tabContents {white-space: nowrap;}

#displayArea {margin: 1em 20em 0em 14em;}

#sidebar {
	position: absolute;
	right: 3px;
	width: 21em;
	font-size: .9em;
}

#sidebarOptions .button {
	border-color: #eee;
}

#sidebarTabs .tabContents {
	width: 20em;
	overflow: hidden;
}

.viewer tt {
	font-size: 1.2em;
	line-height: 1.4em;
}

ul {list-style-type: square;}
ul ul {list-style-type: circle;}

ol {list-style-type: decimal;}
ol ol {list-style-type: decimal;}
ol ol ol {list-style-type: decimal;}
ol ol ol ol {list-style-type: decimal;}
ol ol ol ol ol {list-style-type: decimal;}
ol ol ol ol ol ol {list-style-type: decimal;}

/*}}}*/
/***
SocialtextScreenStyle
http://www.eu.socialtext.net/static/2.0.0.1/css/st/screen.css
***/

/*{{{*/
body {
	font-family: Arial, sans-serif;
	color: #000;
	background: #eee;
	margin: 0;
}

/* Wiki Navigation */

.st-wiki-nav {
	clear: both;
	margin-left: 10px;
	margin-right: 10px;
}
.st-wiki-nav-content {
	background: url('../../images/st/wiki-nav/solid.gif') repeat-x left bottom;
	margin-left: 24px;
	margin-right: 24px;
	padding-top: 3px;
	min-height: 24px;
}
* html .st-wiki-nav-content {
	padding-bottom: 3px;
	height: 24px;
}

.st-wiki-nav-right {
	background: url('../../images/st/wiki-nav/right-round.gif') no-repeat bottom right;
}

.st-wiki-nav-left {
	background: url('../../images/st/wiki-nav/left-round.gif') no-repeat bottom left;
}

#st-home {
	float: left;
	margin-right: 60px;
	padding-top: 2px;
}

#st-home-link {
	color: white;
	text-decoration: none;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	font-size: 90%;
}

#st-editing-prefix-container {
	border-collapse: collapse;
	width: 100%;
	padding: 0px;
	margin: 0px;
	margin-bottom: -20px;
}

#st-editing-prefix-container tr td {
	margin: 0px;
	padding: 0px;
}

#st-editing-title {
	color: black;
	background-color: white;
	text-decoration: none;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	margin-bottom: 0.4em;
}

#st-wiki-title-invite {
	font-size: 50%;
	font-family: Helvetica, sans-serif;
}

#st-wiki-title-central-page-link {
	font-size: 50%;
	font-family: Helvetica, sans-serif;
}

#st-wiki-title-invite a {
	color: #00f;
}

#st-wiki-logo {
	text-align: center;
	clear: both;
}

#st-wiki-logo-image {
}

.st-wiki-nav-actions {
	float: right;
	color: black;
	font-size: 75%;
	padding-top: 3px;
}

.st-wiki-nav-actions a {
	padding: 2px;
	color: white;
	text-decoration: none;
	font-family: Helvetica, sans-serif;
}

/* Wiki Subnav */

#st-wiki-subnav {
	margin-top: 2px;
	font-size: 70%;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	color: #888;
}

#st-wiki-subnav a {
	padding: 2px;
	color: #008;
	text-decoration: none;
}

#st-wiki-subnav-right {
	float: right;
	margin-right: 6em;
}

#st-wiki-subnav-left {
	float: left;
	margin-left: 6em;
}
* html #st-wiki-subnav-left {
	margin-left: 3em;
}

/* Wiki Navigation Search Bar */

#st-search-form {
	margin: 0;
	padding: 0;
	padding-top: 1px;
}

#st-search-form .button-table {
	float: left;
	font-size: 79%;
	font-weight: bold;
	margin-left: 5px;
	margin-top: 1px;
}

#st-search-form #st-search-term {
	float: left;
	font-size: 60%;
}

/* Content Outline */

#st-content-border, #st-edit-border {
	position: relative;
	clear: both;
	margin-left: 3px;
	margin-right: 2px;
	margin-bottom: 0px;
	margin-top: 0px;
	border-bottom: 1px solid #eee;
}

#st-content-border-left, #st-edit-border-left {
	background: url('../../images/st/page-shadow/left.gif') left top repeat-y;
	position: relative;
}

#st-content-border-right, #st-edit-border-right {
	background: url('../../images/st/page-shadow/right.gif') right top repeat-y;
	position: relative;
}

#st-content-border-top, #st-edit-border-top {
	position: relative;
	background: url('../../images/st/page-shadow/top.gif') left top repeat-x;
}

#st-content-border-bottom, #st-edit-border-bottom {
	background: url('../../images/st/page-shadow/bottom.gif') left bottom repeat-x;
	position: relative;
}

#st-content-border-left-top, #st-edit-border-left-top {
	background: url('../../images/st/page-shadow/left-top.gif') left top no-repeat;
	position: relative;
}
#st-content-border-right-top, #st-edit-border-right-top {
	background: url('../../images/st/page-shadow/right-top.gif') right top no-repeat;
	position: relative;
}

#st-content-border-left-bottom, #st-edit-border-left-bottom {
	background: url('../../images/st/page-shadow/left-bottom.gif') left bottom no-repeat;
	position: relative;
}

#st-content-border-right-bottom, #st-edit-border-right-bottom {
	background: url('../../images/st/page-shadow/right-bottom.gif') right bottom no-repeat;
	padding-top: 5px;
	padding-bottom: 9px;
	position: relative;
}

* html #st-content-border-right-bottom, * html #st-edit-border-right-bottom {
	padding-top: 4px;
	padding-left: 7px;
	padding-right: 8px;
	position: relative;
}

.st-content-width-controller {
	width: 100%;
	position: relative;
	border-collapse: collapse;
}
.st-content-width-controller td {
	vertical-align: top;
}
.st-content {
	position: relative;
	background-color: white;
	margin-top: 0px;
	margin-left: 7px;
	margin-right: 8px;
	margin-bottom: -1px;
	border-left: 1px dotted #80a9f3;
	border-right: 1px dotted #80a9f3;
	border: 1px solid #80a9f3;
	padding: 6px 12px 12px 12px;
}
* html .st-content {
	margin-top: 0px;
	margin-left: 0px;
	margin-right: 0px;
}

/* This textarea is only for Safari. However, if we use display:none; here Safari ignores the .value operation in JS */
#st-raw-wikitext-textarea {
	width:1px;
	height:1px;
	margin:0;
	padding:0;
}

/* Action Buttons */
.button-table, .button-table tr td {
	border-collapse: collapse;
	margin: 0;
	padding: 0;
}
.button-rounded {
	background: url('../../images/st/grey-button/left-top-rounded.png') top left no-repeat;
	margin: 0;
}
.button-rounded-right-top {
	background: url('../../images/st/grey-button/right-top-rounded.png') top right no-repeat;
	margin: 0;
}
.button-rounded-left-bottom {
	background: url('../../images/st/grey-button/left-bottom-rounded.png') bottom left no-repeat;
	margin: 0;
}
.button-rounded-right-bottom {
	background: url('../../images/st/grey-button/right-bottom-rounded.png') bottom right no-repeat;
	margin: 0;
}
.button-straight {
	background: url('../../images/st/grey-button/left-top-straight.png') top left no-repeat;
	margin: 0;
}
.button-straight-right-top {
	background: url('../../images/st/grey-button/right-top-straight.png') top right no-repeat;
	margin: 0;
}
.button-straight-left-bottom {
	background: url('../../images/st/grey-button/left-bottom-straight.png') bottom left no-repeat;
	margin: 0;
}
.button-straight-right-bottom {
	background: url('../../images/st/grey-button/right-bottom-straight.png') bottom right no-repeat;
	margin: 0;
}
.button-content {
	font-size: 90%;
}
.button-content a {
	display: block;
	padding: 2px;
	padding-left: 10px;
	padding-right: 10px;
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	text-decoration: none;
	color: black;
}

.button-content input.submit {
	border: 0px;
	padding: 2px;
	padding-left: 10px;
	padding-right: 10px;
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	text-decoration: none;
	color: black;
	background-color: transparent;
}

/* Personal Homepage */

#st-homepage {
	background: white url('../../images/st/homepage/blue-fade.gif') top left no-repeat;
}

#st-homepage-layout {
	margin-top: 15px;
	clear: both;
	width: 100%;
	border-collapse: collapse;
}

#st-homepage-layout tr td.st-homepage-layout-cell {
	padding: 5px;
	vertical-align: top;
}

#st-homepage-layout-dashboard {
	width: 50%
}

#st-homepage-layout-notes {
	width: 50%;
}

#st-homepage-notes, #st-homepage-dashboard {
	text-align: left;
	width: 95%;
}

#st-user-greeting, #st-wiki-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 150%;
}
#st-wiki-title {
	margin-left: 5px;
}

#st-user-greeting {
	position: relative;
	text-align: right;
	float: right;
}

#st-group-notes-content, #st-personal-notes-content {
}

.st-homepage-section {
	margin-bottom: 15px;
}

#st-homepage-notes .st-homepage-section {
	background-color: white;
	border: 1px solid #aaa;
	padding: 15px;
}

.st-homepage-section-title {
	font-size: 110%;
	font-family: Helvetica, Verdana, sans-serif;
}

#st-homepage-notes .st-homepage-section-title {
	color: #aaa;
	text-decoration: underline;
}

.st-homepage-notes-edit-link {
	background: url('../../images/st/homepage/edit-icon.gif') no-repeat left top;
	display: block;
	text-indent: -2000px;
	height: 13px;
	width: 36px;
	text-decoration: none;
	padding:0;
}
* html .st-homepage-notes-edit-link {
	border:1px solid white;
}

.st-homepage-notes-edit {
	font-family: Verdana, sans-serif;
	font-size: 65%;
	float: right;
}

.st-homepage-notes-content {
	font-size: 85%;
	margin-top: 10px;
	padding-top: 0px;
	padding-bottom: 0px;
	font-family: Verdana, Helvetica, sans-serif;
}

#st-dyk {
	border-color: #cca !important;
	background-color: #ffe !important;
}

#st-dyk-title {
	color: #e4a020 !important;
	text-decoration: none !important;
}


/* Homepage Simple List */

#st-whats-new-title-link {
	background: url('../../images/st/homepage/icon-28-pages.gif') no-repeat left top;
}
#st-watchlist-title-link {
	background: url('../../images/st/homepage/icon-28-star.gif') no-repeat left top;
}
#st-wikis-title-link {
	background: url('../../images/st/homepage/icon-28-group.gif') no-repeat left top;
}
.st-homepage-simplelist-title-link {
	display: block;
	padding-left: 32px;
	min-height: 32px;
}
* html .st-homepage-simplelist-title-link {
	height: 32px;
}

.st-homepage-simplelist-title {
}

.st-homepage-simplelist-table {
	margin-left: 25px;
	border: 1px dashed #ddd;
	border-collapse: collapse;
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 80%;
	width: 95%;
}

.st-homepage-simplelist-table td {
	padding: 2px;
}

.st-homepage-simplelist-table tr.st-homepage-simplelist-row-odd {
	background-color: #f3f7f7;
}

.st-homepage-simplelist-table tr.st-homepage-simplelist-row-even {
	background-color: white;
}

.st-homepage-simplelist-table a {
	color: #4f55dd;
	text-decoration: none;
}

.st-homepage-simplelist-table a:visited {
	color: #551a8b;
}

.st-homepage-simplelist-subleft {
	font-size: 80%;
	margin-left: 1em;
	color: #666;
}

.st-homepage-simplelist-right {
	width: 20%;
}

.st-homepage-simplelist-subright {
	font-size: 80%;
	color: #666;
}

.st-homepage-simplelist {
}

.st-homepage-simplelist-header {
	min-height: 35px;
}

.st-homepage-simplelist-header .button-table {
	float: right;
	margin-right: 15px;
	font-size: 95%;
}

.st-homepage-simplelist-header .button-table .button-content {
	padding: 1px;
}

.st-homepage-whatsnew-author, .st-homepage-whatsnew-date {
	color: #555;
}
.st-homepage-whatsnew-attribution {
	padding-left: 1em;
	font-size: 80%;
	color: #aaa;
}

/* Homepage Wikis List */

#st-wikis-title {
}

/* Data and Templates */

.st-jst-template, .st-json {
	display: none;
}

/* Page Sidebox Common Styles */

#st-page-boxes-toggle {
	position: relative;
	float: right;
	text-align: right;
	font-family: Verdana, Arial, sans-serif;
	font-weight: bold;
	font-size: 80%;
	margin-bottom: 0.7em;
}

#st-page-boxes-toggle-link {
	text-decoration: none;
}

#st-page-boxes-underlay {
	float: right;
	margin-top: -10px;
	margin-right: 10px;
	background: white;
	z-index: 198;
	clear: both;
	margin-left: 15px;
}
* html #st-page-boxes-underlay {
	margin-right: 4px;
}
#st-page-boxes {
	background: inherit;
	position: absolute;
	right: 23px;
	z-index: 199;
	margin-top: 15px;
	margin-left: 20px;
}
#st-page-boxes, #st-page-boxes-underlay {
	width: 225px;
	/* padding-left: 15px; */ /* Gives the white border effect, cwest dislikes it. */
}

.st-page-box {
	border: 1px solid black;
	padding: 5px;
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 80%;
	margin-top: 15px;
}

.st-page-box-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	margin-bottom: 10px;
}

.st-page-box-listing {
	margin: 0;
	padding: 0;
}

.st-page-box-listing-entry {
	display: block;
}

.st-page-boxes-nobacklinks {
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 90%;
	color: #888;
}

.st-page-box-first {
	margin-top: 0px;
}

/* Page Display */

#st-page-content {
	clear: left;
	margin-top: 6px;
	margin-bottom: 0;
	padding-bottom: 0;
}

#st-page-content, #st-page-content td {
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 90%;
}

#st-page-wiki-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 65%;
	font-weight: bold;
	color: #aaa;
	margin-bottom: 0.2em;
	margin-top: 0.1em;
	padding-top: 0;
}

#wiki {
	margin: 0;
	padding: 0;
}

#st-page-title {
}

#st-page-titletext, .st-page-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 150%;
	font-weight: bold;
	color: #888;
	border-bottom: 1px solid #888;
}

#st-newpage-pagename-edit {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: #000;
	border: 1px solid black;
	padding-left: 0.3em;
	background-color: #ffd;
}

#st-page-details {
	font-style: italic;
	font-size: 75%;
	font-family: Georgia, serif;
	margin: 6px 10px 0 10px;
}

#st-page-details-feed-icon {
	vertical-align: middle;
	border: none;
}

#st-page-stats {
	float: right;
	vertical-align: middle;
}

#st-attribution {
	float: left;
	margin-bottom: 10px;
}

#st-page-editing-wysiwyg {
	background: #ffd;
	border-style: solid;
	border-color: #888 #ccc #ccc #888;
	border-width: 2px;
	width: 100%;
}

#st-page-editing-toolbar {
	margin-left: -6px;
	overflow: hidden;
	float: left;
	height: 25px;
}

#wikiwyg_wikitext_textarea {
	margin-top: 4px;
	background: #ffd;
	border-style: solid;
	border-color: #888 #ccc #ccc #888;
	border-width: 2px;
	width: 100%;
	font-family: monospace;
}

#st-page-maincontent {
}

#st-page-editing, #wikiwyg_wikitext_textarea {
}

#st-page-editing-pagebody-decoy, #st-page-editing-wysiwyg {
	display: none;
}

#st-editing-tools-edit {
	display: none;
}

#st-mode-wysiwyg-button
{
	font-size: 70%;
	margin-left: 4em;
}

#st-mode-wikitext-button
{
	font-size: 70%;
}

#st-edit-tips
{
	font-size: 70%;
}

.wikiwyg_button {
	background: #FFFFFF;
	border: 1px solid #FFFFFF;
	cursor: pointer;
	width: 20px;
	height: 20px;
	vertical-align: bottom;
}

.wikiwyg_button:hover {
	border: 1px outset;
}

.wikiwyg_button:active {
	border: 1px inset;
}

#wikiwyg_toolbar {
	display: none;
}

/* Sidebox Pagetools: Revisions, Watchlist */
#st-side-box-pagetools {
	border-collapse: collapse;
}

#st-rewind-norevisions {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 11px;
	color: #777;
	text-decoration: none;
}

#st-side-box-pagetools a {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 11px;
	color: #555;
	text-decoration: none;
}

/* Page View Tags/Incoming Links Sidebox */

#st-tags {
	background: #f4fff4;
	border-color: #bbeebb;
	color: #999;
}

#st-tags-title {
	color: #595;
}

#st-tags-addlink, #st-tags-addbutton {
	font-weight: bold;
}

#st-tags-listing {
	margin-bottom: 5px;
}

#st-tags-addinput, #st-tags-message, #st-tags-suggestion {
	display: none;
}

#st-tags-deletemessage {
	font-size: 90%;
	color: #555;
	display: none;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

#st-tags-suggestion {
	margin-top: 2px;
}

.st-tags-level1 {
	font-size: 90%;
}

.st-tags-level2 {
	font-size: 100%;
}

.st-tags-level3 {
	font-size: 110%;
}

.st-tags-level4 {
	font-size: 120%;
}

.st-tags-level5 {
	font-size: 130%;
}

.st-tags-tagline .st-tags-tagdelete {
	text-decoration: none;
	color: #ccc;
}

.st-tags-tagline a {
	text-decoration: none;
	color: #444;
}

#st-tags-field {
	width: 95%;
}

#st-incoming-links {
	border-color: #ebb;
	background-color: #fff4f4;
}

#st-incoming-links-title {
	color: #b78;
}

#st-attachments {
	border-color: #bbe;
	background-color: #f4f4ff;
}

#st-attachments-uploadbutton, #st-attachments-managebutton {

}
#st-attachments-buttons-uploadbutton {
	margin: 0px;
	padding: 0px;
	padding-left: 2px;
}
#st-attachments-buttons-managebutton {
	margin: 0px;
	padding: 0px;
	padding-right: 2px;
}

#st-attachments-buttons td {
	padding-right: 3px;
	font-size: 99%;
}

#st-attachments-buttons {
	border-collapse: collapse;
	margin: 0px;
	padding: 0px;
	margin-top: 5px;
}

#st-attachments-title {
	color: #77b;
}

.st-attachments-line {
	width:100%;
	overflow:hidden;
}

/* Actions Bar */

#st-actions-bar-spacer {
	clear:both;
	height:0.5em;
	overflow:hidden;
}

#st-actions-bar-spacer-clear {
	clear:both;
	height:1px;
	overflow:hidden;
}


#st-actions-bar, #st-editing-tools-bar {
	margin-left: 30px !important;
	margin-right: 30px !important;
}

/* Footer */
#st-footer {
	margin-top: -8px;
	margin-bottom: 5px;
	clear: both;
}

/* Socialtext Attribution */

#st-socialtext-attribution {
	clear: both;
	text-align: center;
	font-size: 80%;
	font-family: Helvetica, sans-serif;
}

#st-socialtext-attribution-link {
	text-decoration: none;
}

#st-socialtext-attribution-image {
	border: 0;
}


/* Page Actions */

#st-edit-button-border-left-middle, #st-login-to-edit-button-border-left-middle {
	background: url('../../images/st/button-blue/left-middle.gif') left top repeat-y;
}
#st-edit-button-border-right-middle, #st-login-to-edit-button-border-right-middle {
	background: url('../../images/st/button-blue/right-middle.gif') right top repeat-y;
}

#st-edit-button-border-left-top, #st-login-to-edit-button-border-left-top {
	background: url('../../images/st/button-blue/left-top.gif') left top no-repeat;
}
#st-edit-button-border-right-top, #st-login-to-edit-button-border-right-top {
	background: url('../../images/st/button-blue/right-top.gif') right top no-repeat;
}

#st-edit-button-border-left-bottom, #st-login-to-edit-button-border-left-bottom {
	background: url('../../images/st/button-blue/left-bottom.gif') left bottom no-repeat;
}

#st-edit-button-border-right-bottom, #st-login-to-edit-button-border-right-bottom {
	background: url('../../images/st/button-blue/right-bottom.gif') right bottom no-repeat;
}

#st-edit-button-link, #st-login-to-edit-button-link {
}

#st-comment-button-border-left-middle {
	background: url('../../images/st/button-purple/left-middle.gif') left top repeat-y;
}

#st-comment-button-border-right-middle {
	background: url('../../images/st/button-purple/right-middle.gif') right top repeat-y;
}

#st-comment-button-border-left-top {
	background: url('../../images/st/button-purple/left-top.gif') left top no-repeat;
}

#st-comment-button-border-right-top {
	background: url('../../images/st/button-purple/right-top.gif') right top no-repeat;
}

#st-comment-button-border-left-bottom {
	background: url('../../images/st/button-purple/left-bottom.gif') left bottom no-repeat;
}

#st-comment-button-border-right-bottom {
	background: url('../../images/st/button-purple/right-bottom.gif') right bottom no-repeat;
}

#st-comment-button-link {
}

#st-save-button-border-left-middle {
	background: url('../../images/st/button-green/left-middle.gif') left top repeat-y;
}
#st-save-button-border-right-middle {
	background: url('../../images/st/button-green/right-middle.gif') right top repeat-y;
}

#st-save-button-border-left-top {
	background: url('../../images/st/button-green/left-top.gif') left top no-repeat;
}
#st-save-button-border-right-top {
	background: url('../../images/st/button-green/right-top.gif') right top no-repeat;
}

#st-save-button-border-left-bottom {
	background: url('../../images/st/button-green/left-bottom.gif') left bottom no-repeat;
}

#st-save-button-border-right-bottom {
	background: url('../../images/st/button-green/right-bottom.gif') right bottom no-repeat;
}

#st-save-button-link {
}

#st-preview-button-border-left-middle {
	background: url('../../images/st/button-gold/left-middle.gif') left top repeat-y;
}
#st-preview-button-border-right-middle {
	background: url('../../images/st/button-gold/right-middle.gif') right top repeat-y;
}

#st-preview-button-border-left-top {
	background: url('../../images/st/button-gold/left-top.gif') left top no-repeat;
}
#st-preview-button-border-right-top {
	background: url('../../images/st/button-gold/right-top.gif') right top no-repeat;
}

#st-preview-button-border-left-bottom {
	background: url('../../images/st/button-gold/left-bottom.gif') left bottom no-repeat;
}

#st-preview-button-border-right-bottom {
	background: url('../../images/st/button-gold/right-bottom.gif') right bottom no-repeat;
}

#st-preview-button-link {
}

#st-cancel-button-border-left-middle {
	background: url('../../images/st/button-crimson/left-middle.gif') left top repeat-y;
}
#st-cancel-button-border-right-middle {
	background: url('../../images/st/button-crimson/right-middle.gif') right top repeat-y;
}

#st-cancel-button-border-left-top {
	background: url('../../images/st/button-crimson/left-top.gif') left top no-repeat;
}
#st-cancel-button-border-right-top {
	background: url('../../images/st/button-crimson/right-top.gif') right top no-repeat;
}

#st-cancel-button-border-left-bottom {
	background: url('../../images/st/button-crimson/left-bottom.gif') left bottom no-repeat;
}

#st-cancel-button-border-right-bottom {
	background: url('../../images/st/button-crimson/right-bottom.gif') right bottom no-repeat;
}

#st-cancel-button-link {
}

#st-edit-more-button-border-left-middle {
	background: url('../../images/st/button-blue/left-middle.gif') left top repeat-y;
}
#st-edit-more-button-border-right-middle {
	background: url('../../images/st/button-blue/right-middle.gif') right top repeat-y;
}

#st-edit-more-button-border-left-top {
	background: url('../../images/st/button-blue/left-top.gif') left top no-repeat;
}
#st-edit-more-button-border-right-top {
	background: url('../../images/st/button-blue/right-top.gif') right top no-repeat;
}

#st-edit-more-button-border-left-bottom {
	background: url('../../images/st/button-blue/left-bottom.gif') left bottom no-repeat;
}

#st-edit-more-button-border-right-bottom {
	background: url('../../images/st/button-blue/right-bottom.gif') right bottom no-repeat;
}

#st-edit-more-button-link {
}

.st-page-action-button-link {
	min-height: 24px;
	min-width: 100px;
	text-align: center;
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 90%;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	display: block;
	padding-top: 8px;
	padding-bottom: 0px;
	margin-bottom: -3px;
	width: 100%;
	margin-left: -2px;
}
* html .st-page-action-button-link {
	padding-top: 5px;
	padding-bottom: 0px;
	height: 24px;
}

.st-page-action-button {
	float: left;
	margin: 0;
	padding: 0;
	margin-right: 10px;
	min-height: 20px;
	border-collapse: collapse;
	width: 100px;
}

/* Attach File Interface */

#st-attachments-attachinterface {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2000;
	background-image: url('../../images/st/popup/bg.png');
}
#st-attachments-manageinterface {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	display: none;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2000;
	background-image: url('../../images/st/popup/bg.png');
}

* html #st-attachments-attachinterface {
	background-image: none;
}
* html #st-attachments-manageinterface {
	background-image: none;
}
* html .popup-overlay {
	background-image: url('../../images/st/popup/bg.png');
	background-color: #000;
	opacity: .70;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2001;
}

#st-attachments-attach-interface {
	z-index: 2002;
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 1em;
	width: 520px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position: absolute;
	top: 0px;
}

* html #st-attachments-attach-interface {
}

#st-attachments-attach-formtarget {
	width: 0px;
	height: 0px;
	border: 0;
	padding: 0;
	margin: 0;
}

#st-attachments-attach-message {
	font-size: 90%;
	font-family: Verdana, Arial, Helvetica, Sans-Serif;
}

#st-attachments-attach-title {
	font-weight: bold;
	font-size: 120%;
}

#st-attachments-attach-close {
	float: right;
	margin-top: 6px;
}

#st-attachments-attach-uploadbutton {
	float: right;
	margin-right: 6px;
	margin-top: 6px;
	padding-bottom: 0;
}

#st-attachments-attach-fileprompt {
	margin: 0.2em 0 0.4em 0;
	padding-bottom: 0px;
}

#st-attachments-attach-submit {
	font-size: 90%;
	font-weight: bold;
}

#st-attachments-attach-filename {
	font-size: 90%;
}

#st-attachments-attach-uploadmessage {
	font-weight: bold;
	margin-bottom: 1em;
	display: none;
}

#st-attachments-attach-error {
	font-weight: bold;
	color: #f00;
	margin-bottom: 1em;
	display: none;
}

#st-attachments-attach-list {
	display: none;
	color: #666;
	font-size: 90%;
	margin-top: 1em;
	margin-bottom: 1em;
	border-top: 1px solid #4949BA;
	border-bottom: 1px solid #4949BA;
	background-color: #F5F5F5;
	padding: 3px;
}

.st-attachments-attach-listlabel {
	font-size: 90%;
	color: #4949BA;
}

/* Queue File Dialog */

#st-attachmentsqueue-interface {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-image: url('../../images/st/popup/bg.png'); /* Don't forget IE hack for ship! */
	z-index: 2000;
}

* html #st-attachmentsqueue-interface {
	background-image: none;
}

#st-attachmentsqueue-dialog {
	z-index: 2002;
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 1em;
	width: 530px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position: absolute;
	top: 0px;
}

* html #st-attachmentsqueue-dialog {
}

#st-attachmentsqueue-fileprompt {
	margin-bottom: 0.4em;
	margin-top: 0;
	padding-bottom: 0;
}

#st-attachmentsqueue-title {
	font-weight: bold;
	font-size: 120%;
}

#st-attachmentsqueue-close {
	float: right;
	margin-top: 6px;
}

#st-attachmentsqueue-uploadbutton {
	float: right;
	margin-right: 6px;
	margin-top: 6px;
	padding-bottom: 0;
}

#st-attachmentsqueue-submit {
	font-size: 90%;
}

#st-attachmentsqueue-filename {
	font-size: 90%;
}

#st-attachmentsqueue-message {
	font-size: 90%;
	font-family: Verdana, Arial, Helvetica, Sans-Serif;
}

#st-attachmentsqueue-uploadmessage {
	font-weight: bold;
	margin-bottom: 1em;
	display: none;
}

#st-attachmentsqueue-error {
	font-weight: bold;
	color: #f00;
	margin-bottom: 1em;
	display: none;
}

#st-attachmentsqueue-list {
	display: none;
	color: #666;
	font-size: 90%;
	margin-top: 1em;
	margin-bottom: 1em;
	border-top: 1px solid #4949BA;
	border-bottom: 1px solid #4949BA;
	background-color: #F5F5F5;
	padding: 3px;
}

.st-attachmentsqueue-listlabel {
	font-size: 90%;
	color: #4949BA;
}

/* Lists */

tr.st-trbg-even, tr.st-trbg-even td{
	background-color: #f3f7f7;
}

tr.w-st-even-row, tr.w-st-even-row td {
	background-color: #f3f7f7;
}

.query-results-header-title, .query-results-header-last-edit-by {
	text-align: left;
}


.query-results-row-revisions {
	text-align: right;
}

.query-results-content {
	font-size: 85%;
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.query-results-row {
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.query-results-row a {
	text-decoration: underline;
	color: #00f;
}

.query-results-row td {
	font-family: Verdana;
	padding: 0.3em;
	border-left: 1px dashed #ddd;
	border-right: 1px dashed #ddd;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.query-results-header-row {
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.query-results-header-row a {
	text-decoration: underline;
	color: #00f;
}

.query-results-header-row th {
	font-family: Helvetica;
	padding: 0.3em;
	border-left: 1px dashed #ddd;
	border-right: 1px dashed #ddd;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

div.st-actionbutton {
	float: left;
}

div#deleteme-st-actions-bar {
	clear: both;
	margin: 0.8em 20px 0.2em auto;
	padding: 0;
}

/* Manage File Interface */



#st-attachments-manage-interface {
	z-index: 2002;
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 1em;
	width: 520px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position: absolute;
	top: 0px;
}

#st-attachments-manage-filetable {
	height: 150px;
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: auto;
	border: 1px solid #ccc;
}

#st-attachments-manage-filelisting tbody td {
	font-size: 90%;
}
#st-attachments-manage-filelisting {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	margin: 0;
	padding: 0;
}

#st-attachments-manage-fileheader {
	background: #ccc;
	font-weight: bold;
	border-bottom: 1px black solid;
}

#st-attachments-manage-close {
	float: right;
	margin-top: 3px;
	margin-right: -2px;
	font-weight: bold;
}

#st-attachments-manage-delete {
	margin-top: 3px;
	float: left;
	font-weight: bold;
}

.st-attachments-manage-filerow {
	border-bottom: 1px solid #ccc;
}

.row-odd {
	background-color: #eee;
}

.row-even {
	background-color: #fff;
}

.row-on {
	background-color: #009 !important;
	color: white !important;
}

.row-on a {
	color: #fff !important;
}

#st-attachments-manage-deletemessage {
	color: red;
}

/* Page tools icons */

#st-pagetools-print {
	background: url('../../images/st/pagetools/print.gif')
	left center no-repeat;
}

#st-pagetools-email {
	background: url('../../images/st/pagetools/email.gif')
	left center no-repeat;
}

#st-pagetools-tools {
	background: url('../../images/st/pagetools/tools.gif')
	left center no-repeat;
}

/*
 #st-pagetools-watch {
	background: url('../../images/st/pagetools/watch-blue.gif')
	left center no-repeat;
}
*/


/* *********** Settings *********** */

#st-settings-pane {
}
* html #settings-pane { font-size: 85%;}

.settings-start-table {
}
* html .settings-start-table { font-size: 90%;}

#st-settings-select {
	padding: 0px 10px 10px 10px;
	vertical-align: top;
	width: 1px;

	background-color: #eff1ec;
	border: none;
}

#st-settings-section {
	padding: 0px 10px 10px 10px;
	vertical-align: top;
}

.settings-top-header {
	margin-top: 1em;
	font-weight: bold;
	width: 15em;
}

.settings-header {
	margin-top: 1em;
	font-weight: bold;
}

.settings-selections {
	padding: 0px 0px 0px 20px;
	line-height: 1.5em;
}

.settings-selections a:visited, .settings-selections a:active {
	color: #0000ff;
}

.settings-link {
	clear: both;
	display: block;
}

.settings-section-left {
	text-align: right;
}

.settings-label {
	font-weight: bold;
}

.settings-help {
	color: #888;
}

.settings-comment {
}

.users-invite-message {
	padding: 0.5em 0.5em 0.5em 2em;
	background-color: #eee;
	/* This seems necessary to fix an IE bug that sometimes
		causes the text in this div to be invisible */
	z-index: 1000;
}

.workspace-entry-header {
	margin-top: .5em;
	font-weight: bold;
}

.workspace-entry {
	margin-left: 3em;
}

.workspace-entry-p {
	margin-top: .5em;
	margin-bottom: .75em;
}

.workspace-subentry {
	font-style: italic;
	font-weight: bold;
	margin-left: 1.5em;
}

.preferences-td {
	padding:.5em 0 1.5em 0;
}

.preferences-query {
	text-align: left;
}

.preference-radio {
	background-color: #cec;
}
.user-settings-listall-headings td {
	background-color: #eff3ef;
}

#st-settings-save {
	padding-bottom: 0.5em;
}

.standard-button-cancel {
	font-weight: bold;
	background-color: #71004b;

	border-left: 1px solid #aaa;
	border-top: 1px solid #aaa;
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	color: #f4f3b9;
	width: 8em;
}

.standard-button-submit {
	font-weight: bold;
	background-color: #656084;

	border-left: 1px solid #aaa;
	border-top: 1px solid #aaa;
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	color: #f4f3b9;
	width: 8em;
}

#st-settings {
	font-family: Verdana, Arial, Helvetica, Sans-Serif;
	font-size: 90%;
}


/* Listview Tabs */


#st-listview a:visited {
	color: #551a8b;
}
#st-listview-tabs ul {
	display: block;
	list-style: none outside;
	margin: 0 0 0 4em;
	padding: 0;
	font-family: Helvetica, Arial, Sans-serif;
	font-size: 80%;
}

#st-listview-tabs li {
	display: block;
	float: left;
	margin: 0 0.8em 0 0;
	padding: 3px 0.6em 0 0.6em;
	border: 1px solid #d8d8d8;
	border-bottom: 1px solid rgb(128, 169, 243);
	background-color: #f4f4f4;
	position: relative;
	bottom: -2px;
}

#st-listview-tabs li.spacer {
	margin: 0 0.8em 0 2em;
}

#st-listview-tabs a {
	color: #bbb;
	text-decoration: none;
}

#st-listview-tabs li.selected {
	background-color: #fff !important;
	border: 1px solid rgb(128, 169, 243) !important;
	border-bottom: 1px solid #fff !important;
	font-weight: bold !important;
}

#st-listview-tabs li.selected a {
	color: #000 !important;
}

/* Category List Display */

#st-category-display-links {
	margin-bottom: 1em;
	font-size: 90%;
}

#st-tag-listbody {
	font-family: Helvetica, Verdana, sans-serif;
}

/* Attachments List Display */

#st-attachments-list-body table.button-table {
	margin-top: 0.1em;
	font-size: 80%;
}


/* ********** PageTools Menu ************** */

div#st-editing-tools {
	float: left;
}

div#st-pagetools {
	z-index: 300;
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 10px;
	float: right;
	margin: 18px 0 0 0em;
	color: #000;
	vertical-align: bottom;
	position: relative;
}

#st-pagetools a {
	text-decoration: none;
	color: black;
	padding-left: 17px;
}

#st-pagetools span {
	color: inherit;
	padding-left: 17px;
	vertical-align: top;
}

#st-pagetools span.st-watchlist-link {
	color: inherit;
	vertical-align: top;
}

.st-watchlist-link {
	cursor: pointer;
}

div#st-pagetools ul.level2 {
	z-index: 300;
	margin: 0;
	padding: 0;
	background: white;
	border: 1px solid #CCC;
	border-width: 0 1px;
}

div#st-pagetools li {
	position: relative;
	list-style: none;
	margin: 0;
	float: left;
	width: 7em;
	line-height: 11px;
}

div#st-pagetools ul ul li:hover {
	background: #BFE2FF;
}

div#st-pagetools li a {
	display: block;
	text-decoration: none;
}

div#st-pagetools>ul a {
	width: auto;
}

div#st-pagetools ul ul {
	position: absolute;
	width: auto;
	display: none;
}

div#st-pagetools ul ul li {
	line-height: 1.5em;
/*	width: 100%; */
	width: 14em;
}

.first {
	border-top: 1px solid #CCC;
}

.separator {
	border-bottom: 1px solid #CCC;
}

div#st-pagetools ul ul li a {
	border-bottom: 1px solid #CCC;
	padding-left: 15px;
	padding-right: 3px;
	margin-right: 3px;
	border: 0px;
}

div#st-pagetools li.submenu li.submenu:hover {
	z-index: 300;
	background-color: #BFE2FF;
}

div#st-pagetools ul.level1 li.submenu:hover ul.level2 {
	display:block;
}

div#st-pagetools ul.level2 {
	top: 1.0em;
	left: -9.5em;
}

/*

=head2 Revision List Display

Change these styles to update the page revision list.

*/

#st-revision-list-table {
	border-collapse: collapse;
	font-size: 85%;
	color: #000;
}

.st-page-title-decorator {
	color: #C80000;
}

.st-revision-header-emphasis {
	color: #C80000;
}

.st-revision-list-compare-button-row {
}

.st-revision-list-compare-button-cell {
	padding-top: 0.3em;
	text-align: center;
}

.st-revision-list-compare-button {
}

#st-revision-list-header-row {
}

#st-revision-list-header-select {
	padding: 6px 2px 2px 2px;
	text-align: center;
}

#st-revision-list-header-revision {
	padding: 6px 2px 2px 2px;
	text-align: left;
}

#st-revision-list-header-edited-by {
	padding: 6px 2px 2px 2px;
	text-align: center;
}

#st-revision-list-header-date {
	padding: 6px 2px 2px 2px;
	text-align: center;
}

.st-revision-list-row {
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.st-revision-list-row td {
	font-family: Verdana;
	padding: 0.3em;
	border-left: 1px dashed #ddd;
	border-right: 1px dashed #ddd;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.st-revision-list-row-select {
	padding: 3px 0 2px 0;
	text-align: center;
}

.st-revision-list-row-select-old {
}

.st-revision-list-row-select-new {
}

.st-revision-list-row-revision {
}

.st-revision-list-row-revision-link {
}

.st-revision-list-row-edited-by {
}

.st-revision-list-row-date {
}

/* Revision Menu */

#st-pagetools.st-revision-view-bar {
	float: left;
}

ul.st-revision-menu {
	list-style: none;
	margin: 0;
	padding: 0.2em;
	font-size: 80%;
}

ul.st-revision-menu li {
	float: left;
	padding: 0 0.4em 0 0.4em;
	border-right: thin solid #000000;
}

ul.st-revision-menu li.st-last {
	border-right: none;
}

#st-restore-revision-button {
	font-size: 80%;
}

/*

=head2 Revision Compare Display

When comparing two revisions of a page, these styles apply.

*/

#st-revision-compare-table {
	background-color: #f0f0f0;
}

#st-revision-compare-table td {
	background-color: white;
}

.st-revision-compare-old {
	background-color: #fdd;
	text-decoration: line-through;
}
.st-revision-compare-new {
	background-color: #dfd;
	font-weight: bold;
}

/* Weblog View */

#st-weblog {
	padding: 0;
}

#st-content-weblog-display-width-controller {
}
#st-content-weblog-display-width-controller-nav {
	width: 230px;
	margin-left: 15px;
	border-left: 5px solid #ddd;
	margin-top: -1px;
}

#st-weblog-content {
	font-family: Verdana, Helvetica, sans-serif;
	margin-top: -1px;
	margin-bottom: -1px;
	border-top: 1px solid #80a9f3;
	border-bottom: 1px solid #80a9f3;
}

#st-weblog-title {
	font-family: 'Trebuchet MS', Verdana, Helvetica, sans-serif;
	font-family: 'Times New Roman', serif;
	background-color: #80a9f3;
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	padding: 0.2em;
	padding-left: 1em;
}

#st-weblog-wikititle {
	font-family: Helvetica, Verdana, sans-serif;
	font-style: italic;
	font-size: 40%;
	color: #fff;
	margin-bottom: 0.2em;
	margin-top: 0.1em;
	padding-top: 0;
}

#st-weblog-titletext {
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	color: #fff;
}

div.st-weblog-entry {
	margin-top: 0.2em;
	margin-bottom: 4.8em;
	padding: 0 1.5em 0 1.5em;
}

.st-page-title {
	clear: both;
}

div.st-weblog-entrytitle span.text {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 150%;
	font-weight: bold;
	color: #000;
}

.st-weblog-entrycontent {
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 90%;
	border-bottom: 1px solid #888;
}

.st-weblog-byline {
	float: left;
	text-align: left;
	font-style: italic;
	font-size: 70%;
	font-family: Verdana, Helvetica, sans-serif;
}

.st-weblog-post-links {
	float: right;
	text-align: right;
	font-size: 70%;
	font-family: Verdana, Helvetica, sans-serif;
}

#st-weblog-archives, #st-weblog-navigation {
	position: relative;
	float: right;
	width: 230px;
}

#st-weblog-archives {
	margin-top: 15px;
	clear: right;
}

#st-weblog-archives-title, #st-weblog-navigation-title {
	margin-left: 15px;
	font-family: Helvetica, sans-serif;
	font-size: 95%;
	font-weight: bold;
	color: #999;
	border-bottom: 2px solid #f99;
	padding-bottom: 5px;
	padding-top: 5px;
	margin-bottom: 5px;
}

#st-weblog-navigation-content {
	margin-left: 15px;
	font-size: 80%;
}

#st-weblog-archives ul {
	margin: 0;
	padding: 0;
}

#st-weblog-archives ul li {
	/* list-type: none; */
	display: block;
	font-size: 80%;
	font-family: Helvetica, sans-serif;
	padding-left: 15px;
}

#st-weblog-newpost {
	padding: 0.5em 0.7em 0.3em 0.3em;
}

#st-weblog-newpost-button {
}

#st-weblog-actionbar-chooseweblog {
	float: right;
}

#st-weblog-postbyemail {
	font-size: 70%;
	font-family: Verdana, Helvetica, sans-serif;
	color: #def;
	padding-top: 0.4em;
}

#st-weblog-postbyemail-link {
	color: #00c;
}

.st-weblog-chooseprompt {
	font-size: 90%;
	font-family: Verdana, Helvetica, sans-serif;
	padding-right: 0.2em;
	color: #000;
}

.st-spacer {
	padding-right: 0.1em;
	padding-left: 0.1em;
}

.st-weblog-preventries {
	padding-bottom: 20px;
	clear: both;
}
.st-weblog-nextentries {
	clear: both;
}

div.st-weblog-entrynav {
	margin-top: 0.2em;
	margin-bottom: 1.8em;
	padding: 0;
}

span.st-weblog-previousentries, span.st-weblog-nextentries {
	font-size: 90%;
	font-family: Verdana, Helvetica, sans-serif;
	padding-left: 1em;
}

/* ******* Page Stats ******** */

#st-usagereport-navbar {
	font-size: 80%;
	padding: 0;
	margin: 0;
}

#st-usagereport-date {
	font-weight: bold;
	margin-top: 1em;
}

#st-page-usagereport h1 {
	font-size: 1.3em;
	font-weight: bold;
	margin-top: 1.2em;
	margin-bottom: 0.3em;
}

#st-page-usagereport h2 {
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 0.8em;
	margin-bottom: 0.3em;
}

/* New Page */
#st-newpage-save, #st-newpage-duplicate {
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: url('../../images/st/popup/bg.png'); /* Don't forget IE hack for ship! */
	z-index: 2000;
}

#st-newpage-save-interface {
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 0.5em;
	width: 450px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position:absolute;
	top:0px;
	z-index:2003;
}

#st-newpage-duplicate-interface {
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 0.5em;
	width: 530px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position:absolute;
	top:0px;
	z-index:2003;
}

#st-newpage-save-title, #st-newpage-duplicate-title {
	margin: 0;
	padding: 0;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	font-size: 100%;
}

#st-newpage-save-prompt, #st-newpage-duplicate-prompt {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	margin-bottom: 0.4em;
}

#st-newpage-save-buttons, #st-newpage-duplicate-buttons {
	margin-top: 0.8em;
	text-align: right;
}

.st-newpage-duplicate-option {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	margin: 0;
	padding: 0;
}

#st-newpage-duplicate-pagename {
	font-size: 90%;
}

.st-newpage-duplicate-emphasis {
	background-color: #FFFF00;
	font-weight: bold;
}

#st-newpage-save-field-pagename {
	margin-bottom: 0;
	margin-top: 0.2em;
	padding-bottom: 0;
	font-size: 90%;
}

#st-newpage-save-tip {
	margin-bottom: 0;
	margin-top: 1.2em;
	padding-bottom: 0;
	font-size: 75%;
	color: #888;
}

/* Wikitext Styling */

.wiki {
}

.wiki hr {
	margin-top: .4em;
	margin-bottom: .4em;
}

.wiki .short-rule {
	width: 25%;
}

.wiki .medium-rule {
	width: 50%
}

.wiki ul,
.wiki ol,
.wiki blockquote {
	margin-left: 2em;
	padding-left: 0em;
}

.wiki table {
	border-collapse: collapse;
}

.wiki td {
	border: 1px;
	border-style: solid;
	padding: .2em;
	vertical-align: top;
}

.wiki h1,
.wiki h2,
.wiki h3,
.wiki h4,
.wiki h5,
.wiki h6 {
	font-weight: bold;
	font-style: normal;
	margin-top: 0.1em;
	margin-bottom: 8px;
}

.wiki h1 {font-size: 200%;}
.wiki h2 {font-size: 170%;}
.wiki h3 {font-size: 145%;}
.wiki h4 {font-size: 125%;}
.wiki h5 {font-size: 110%;}
.wiki h6 {font-size: 100%;}

.wiki pre {
	background-color: #eee; /* XXX */
	margin-left: 1em;
	margin-right: 1em;
	padding: .2em;
}

.wiki .incipient {
	text-decoration: none;
	border-bottom: 1px dashed;
}

.wiki-include-title {
	background-color: #ccccff;
}

.wiki .wiki {
	position: relative;
	background-color: #ddddff;
	border: 1px solid #ccccff;
	padding: 3px;
}

.wafl_existence_error {
	color: rgb(200,0,0);
	border-bottom: 0.2em dashed rgb(200,0,0);
}

#st-edit-mode-container {
}

#st-edit-mode-view {
}

#st-page-editing-uploadbutton {
	z-index: 1500;
	float: left;
}

/* Comment UI */


body#st-commentui {
	background: #ffffff;
}

#st-commentui-container {
}

#st-commentui-container a:visited,
#st-commentui-container a:active {
	color: #00f;
}

#st-commentui-notetop {
}

#st-commentui-controls {
}

#st-commentui-savelink {
	background-color: #fffebd;
}

#st-commentui-cancellink {
}

#st-commentui-customfield {
}

#st-commentui-customfield .customfield-label {
}

#st-commentui-customfield .customfield-input {
}

#st-commentui-textarea {
	padding: 0;
	border-style: inset;
	border-width: thin;
	background-color: #ffd;
	color: black;
	width: 99%;
	height: 150px;
}

/*

=head2 Send Page by Email

Styles for the 'Send Page by Email' popup, accessed from the 'Email' dropdown
menu on the page bar.

*/

#email-page {
	background: #ffffff;
	font-size: 80%;
}

.email-page-row {
	clear: both;
}

.email-page-row-label {
	font-weight: bold;
	float: left;
	width: 5em;
	margin-left: 1.2em;
	margin-right: 1.2em;
	text-align: right;
}

.email-page-row-content {
	float: left;
	padding-bottom: 1.2em;
}

.email-page-user-select-column {
	float: left;
	padding-right: 1.2em;
	width: 14em;
}

#email-page-user-select-column-center {
	width: 10em;
}

.email-page-user-select-label {
	text-align: center;
}

#email-page-user-select-add-label {
	padding-top: 1em;
}

.email-page-user-select-button-group {
	padding-bottom: 2em;
}

.email-page-input {
	width: 120px;
	clear: both;
	display: block;
}


.email-page-select {
	width: 175px;
	font-size: x-small;
}

#email-page-error-message {
	text-align: center;
}

#email-page-buttons-container {
	clear: both;
}

#email-page-buttons {
	text-align: center;
}

.email-page-input-new {
	width: 175px;
}

/* System Status, Red with icon */

#st-system-status-alert {
	clear: both;
	width: 50%;
	margin-left: 25%;
	margin-top: 10px;
	padding: 5px;
	color: #c00;
	font-weight: bold;
	font-size: 80%;
	background: transparent url('../../images/st/system-message/important-note.gif') no-repeat 5px center;
	padding-left: 60px;
	min-height: 38px;
}
* html #st-system-status-alert {
	height: 38px;
}

/* System Status, Green */

#st-system-status {
	clear: both;
	text-align:center;
	width: 80%;
	margin-left: 10%;
	padding: 8px 0 3px 0;
	color: #0a0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 80%;
}

.socialtextLogo {
	text-align: center;
}
/*}}}*/
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

//--
//-- Sparklines
//--

config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
	var data = [];
	var min = 0;
	var max = 0;
	var v;
	for(var t=0; t<params.length; t++) {
		v = parseInt(params[t]);
		if(v < min)
			min = v;
		if(v > max)
			max = v;
		data.push(v);
	}
	if(data.length < 1)
		return;
	var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
	box.title = data.join(",");
	var w = box.offsetWidth;
	var h = box.offsetHeight;
	box.style.paddingRight = (data.length * 2 - w) + "px";
	box.style.position = "relative";
	for(var d=0; d<data.length; d++) {
		var tick = document.createElement("img");
		tick.border = 0;
		tick.className = "sparktick";
		tick.style.position = "absolute";
		tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
		tick.style.left = d*2 + "px";
		tick.style.width = "2px";
		v = Math.floor(((data[d] - min)/(max-min)) * h);
		tick.style.top = (h-v) + "px";
		tick.style.height = v + "px";
		box.appendChild(tick);
	}
};


}
//}}}
/***
|''Name:''|CryptoFunctionsPlugin|
|''Description:''|Support for cryptographic functions|
***/
//{{{
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};

//--
//-- Crypto functions and associated conversion routines
//--

// Crypto "namespace"
function Crypto() {}

// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
{
	var be = Array();
	var len = Math.floor(str.length/4);
	var i, j;
	for(i=0, j=0; i<len; i++, j+=4) {
		be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
	}
	while (j<str.length) {
		be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
		j++;
	}
	return be;
};

// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
{
	var str = "";
	for(var i=0;i<be.length*32;i+=8)
		str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
	return str;
};

// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
{
	var hex = "0123456789ABCDEF";
	var str = "";
	for(var i=0;i<be.length*4;i++)
		str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
	return str;
};

// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
{
	return Crypto.be32sToHex(Crypto.sha1Str(str));
};

// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
{
	return Crypto.sha1(Crypto.strToBe32s(str),str.length);
};

// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
{
	// Add 32-bit integers, wrapping at 32 bits
	add32 = function(a,b)
	{
		var lsw = (a&0xFFFF)+(b&0xFFFF);
		var msw = (a>>16)+(b>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	};
	// Add five 32-bit integers, wrapping at 32 bits
	add32x5 = function(a,b,c,d,e)
	{
		var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
		var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	};
	// Bitwise rotate left a 32-bit integer by 1 bit
	rol32 = function(n)
	{
		return (n>>>31)|(n<<1);
	};

	var len = blen*8;
	// Append padding so length in bits is 448 mod 512
	x[len>>5] |= 0x80 << (24-len%32);
	// Append length
	x[((len+64>>9)<<4)+15] = len;
	var w = Array(80);

	var k1 = 0x5A827999;
	var k2 = 0x6ED9EBA1;
	var k3 = 0x8F1BBCDC;
	var k4 = 0xCA62C1D6;

	var h0 = 0x67452301;
	var h1 = 0xEFCDAB89;
	var h2 = 0x98BADCFE;
	var h3 = 0x10325476;
	var h4 = 0xC3D2E1F0;

	for(var i=0;i<x.length;i+=16) {
		var j,t;
		var a = h0;
		var b = h1;
		var c = h2;
		var d = h3;
		var e = h4;
		for(j = 0;j<16;j++) {
			w[j] = x[i+j];
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=16;j<20;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=20;j<40;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=40;j<60;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=60;j<80;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}

		h0 = add32(h0,a);
		h1 = add32(h1,b);
		h2 = add32(h2,c);
		h3 = add32(h3,d);
		h4 = add32(h4,e);
	}
	return Array(h0,h1,h2,h3,h4);
};


}
//}}}
/***
|''Name:''|DeprecatedFunctionsPlugin|
|''Description:''|Support for deprecated functions removed from core|
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};

//--
//-- Deprecated code
//--

// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
	w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};

// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
{
	var lookaheadRegExp = new RegExp(this.lookahead,"mg");
	lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var text = lookaheadMatch[1];
		if(config.browser.isIE)
			text = text.replace(/\n/g,"\r");
		createTiddlyElement(w.output,"pre",null,null,text);
		w.nextMatch = lookaheadRegExp.lastIndex;
	}
};

// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
	createTiddlyElement(place,"br");
};

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
	var i = this.indexOf(item);
	return i == -1 ? null : i;
};

// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
	return store.getLoader().internalizeTiddler(store,this,title,divRef);
};

// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
	return store.getSaver().externalizeTiddler(store,this);
};

// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
	return store.allTiddlersAsHtml();
}

// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
	refreshPageTemplate(title);
}

// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
	story.displayTiddlers(srcElement,titles,template,animate);
}

// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
	story.displayTiddler(srcElement,title,template,animate);
}

// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;

// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");

}
//}}}
Pristigao sam na Razmjenu poslije 6. Dakle, pred kraj.

Razgovor o _GPL_-u je bio u tijeku.

Podrobili smo ฤokoladicu, a onda sam upoznao Nataลกu i Ivana (veli da mu je nadimak "Leลก").  Bio je tamo i Dobrica, jedan od Linux-veterana u Kifli (ฤitaj RH).  Standardno su nazoฤili [BuD], [MarcellMars], [AkA].

Zapitao sam [BuD]-a o pokretanju nekog media playera iz command linea.  Sugerirao mi je _mplayer_.  Budem probao.

Danaลกnje druลพenje je zavrลกilo uz pivicu i spikicu o programskim jezicima.  Spomenuลกe se _perl_, _python_, _awk_, _jawa_, _tcl_, _Ruby_ i dr.

See you soon.  Jesus loves you.

[KruNo]

----

Budem se malo nadovezao na Krunu poลกto je on na razmjenu doลกao pred kraj. Ja sam na razmjenu doลกao kao i uvijek u 12:00, otvorio sam svoj laptop i proฤitao mail i pogledao kaj ima novoga u svijetu tehnologije, iliti u geek svijetu. Dok sam ja tako surfao, pomalo uplaลกeno mi je proลกla jedna djevojka koja se zove Nives, nju je zainteresirao linux i sve to ลกto se njega tiฤe, pa me je upitala jel je doลกla na pravo mjesto i jel joj ja mogu pomoฤ‡i. Ja sam joj naravno izaลกao u susret i odmah joj sve ukratko objasnio, i dao sam joj Ubuntu nek si ga instalira, jel je po mom miลกljenju to odliฤna distribucija za zapoฤeti koriลกtenje linuxa, a dobra je i za one malo naprednije. Dok sam ja sa njom priฤao doลกli su Ivo, [MarcellMars] i Dino, novi razmjenjivaฤ kojeg je interesirao "Apache"<http://www.apache.org>. Nakon zavrลกetka upoznavanja Nives sa linuxom, Ivo me je odmah ลกฤapio u svoje ruke da mu pokaลพem kako linux oznaฤava floppy device te kako ga zmountati. To smo brzo rijeลกili i on je brzo ลกmugnuo doma na tennis. U meฤ‘uvremenu je doลกao Aka, Dobrica te joลก jedan novi razmjenjivaฤ [LesH], on je malo napredniji korisnik linuxa, pa i nije baลก imao nekih pitanja nego je viลกe bio sluลกatelj rasprave izmeฤ‘u ekipe. Tako se ta rasprava oduลพila do kraja razmjene, animaลกi se lagano poฤeli mnoลพit, pa smo se morali povuฤ iz mame u neku obliลพnju birtiju. I to je uglavnom u to u par crta.

Pozdrav!!!

-- [BuD]

Macem Kralja Artura, Budolino proglasavam te vitezom i siriteljem gnuFeminizma

:)

[DrGspot]


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet110206> {date: 2006-02-13 00:56:21 +0100}
^^^ Subota 14/01/06


E ova subota je bila vrlo produktivna i radna. ล ibalo se punom parom! Ja sam se opet malo zafrkavao svojom wifi karticom, a [DrGspot] se je i dalje zabavljao Ivanovim pentiumom I. Oko poslije podnevnih sati smo se lagano svi okupili te krenuli u malo ลพeลกฤ‡e stvari. [DrGspot] je uputio dvije simpatiฤne djevojke u svijet linuxa, koje su imale problema sa instalacijom. U spiku ih je lagano ufurao sa par  live distri, te nakon toga je preลกao na samu instalaciju. Ja sam ponovno drugom Ivanu sreฤ‘ivao neke greลกkice na "Xfce-u"<http://www.xfce.org/>, a [AkA] mu je sreฤ‘ivao "Gnome"<http://www.gnome.org/>, koje smo na kraju sa mukom popravili. Na kraju se ispostavilo da su greลกke bile jako glupe kao i uvijek!! Tako se lagano pribliลพilo sedam sati i lagano smo se poฤeli spremat. [AkA], [AcO] i ja zapiฤili smo na ฤaj i krenuli u jednu zanimljivu raspravu. Doลกli smo do zakljuฤka da se uvedu neke reforme u razmjenu vjeลกtina, te pokrenuli lagano u izvedbu naลกe distre linuxa. Viลกe o tome svemu ฤ‡ete saznati na sljedeฤ‡em susretu. Do tada pozdrav!!!

-- [BuD], 15/01/06 




----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet140106> {date: 2006-01-15 22:24:42 +0100}
^^^ Subota 17/12/05


Okupili smo se u velikom broju ponovno, i ponovno je bilo dosta radno. Ja sam sredjivao ponovno jedan laptop, isti kao i moj, a to je HP nx6110. Instalacija "Kubunt"<http://www.kubuntu.org/> distribucije je protekla bez problema, no problemi su nastupili oko hardvera. Naime zafrkavala nas je wifi kartica BCM4303 koja je integrirana na ploฤi. Ja imam taj identiฤan laptop i tu identiฤnu karticu i meni ona radi bez greลกke. Na kraju je nismo uspijeli sredit da radi, pa smo to ostavili za koji drugi put. Dok smo se mi igrali Hp-om drugi dio ekipe, na ฤelu sa  [DrGspot]-om, s je bavio instalacijom hrpe linuxa na jednu staru 486-icu, naime [DrGspot] je poznat po stavljanju hrpe linuxa na strojeve. [MarcellMars] i [AkA] su se kao i obiฤno bavili nekim apstraktnim stvarima, sve u svemu bilo je vrlo zabavno i edukativno. Poslije smo nastavili naลก susret u obliลพnjoj birtiji ito je bilo viลกe manje to!

-- [BuD], 22/12/05




----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet171205> {date: 2005-12-22 12:38:33 +0100}
^^^ Subota 10/12/05


Ova subota je bila pobjedniฤka!! Napokon smo sredili Frankov laptop, mepisa smo malo preuredili u Debian unstable! Hi hi! Ovja put nas je bilo zaฤudo mallo viลกe nego inaฤe pa je bilo popriliฤno zanimljivo, moglo se je ฤuti svega, od ลพivota pฤela i strลกljana do konfiguriranja mreลพe, kako bi rekli svatko je dobio poneลกto. Kad su se ljudi veฤ‡ pomalo razrijedili ostatak ekipe, Bud, [AkA], [AcO], Bero, [MarcellMars], krenuli smo nastaviti naลกe druลพenje u obliลพnji kafiฤ‡ gdje smo bili do kasnih jutarnjih sati. Raspravljalo se o mnogoฤ‡emu, piฤilo se sa teme na temu, ni momenta nije bilo dosadno, tko zna moลพda se to ponovi i sljedeฤ‡e subote.

Pozdrav!!

-- [BuD], 14/12/05 


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet101205> {date: 2005-12-14 18:00:14 +0100}
^^^ Subota 03/12/05


Ove subote se je mnogo radilo, uglavnom se je priฤa vrtila oko Frankovog laptopa. Franko ima HP nx6125 laptop sa sempron procesorom. Na njega natjerat linux je stvarno komplicirano, koji god linux natjerali uvijek jedan te isti problem!! Problem je u tome da mu procesor radi na 800 mhz, naime on posjeduje procesor od 1800 mhz, i na kraju ga nismo uspjeli upogonit u punoj snazi. Niลกta preostaje nam sljedeฤ‡a subota! ล to se tiฤe ekipe okupili smo se u lijepom broju, a izmeฤ‘u ostalog bilo je za svakoga poneลกto. Ako je netko imao isti problem na linuxu, mislim na Frankov laptop, nek javi kako je rjeลกio problem, jel nas to veฤ‡ izluฤ‘uje!!! Pozdrav do sljedeฤ‡e subote!!

-- [BuD], 07/12/05 


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet031205> {date: 2005-12-07 17:20:06 +0100}
^^^ Subota 26/11/05


Ova subota je proลกla gusto, okupili smo se u velikom broju, ลกto je basลก bilo dobro jel nas je baลก tada posjetio Ivan Capan. on je inaฤe tip koji piลกe novosti i stvarฤice iz linux svijeta u Pc-Chipu. Kada smo se svi okupili pofotkali smo se za Pc-Chip pa smo krenuli druลพit. Imali smo mnogo slatkiลกa i grickalica koji su ostali od skupลกtine u mami, a skupลกtina se odrลพala zato jel se je birao novi predsjednik, no pustimo sad to, nas zanima sto se je deลกavalo na razmjeni. Lagano smo se podjelili u grupice, jel je svakoga zanimalo poneลกto. Bilo je tu svega, od instalacije linuxa, spikica oko Amige, prucavanja "Ion-a"<http://modeemi.fi/~tuomov/ion/>, do podeลกavanja "Acpi-a"<http://www.acpi.info/> odnosno Hibernate-a, tako da mislim da je bilo za svakoga poneลกto. Vrijeme nam je tako brzo isteklo, zaboravili smo na vrijeme, pa su nas animaลกi doลกli potjerat, tako da smo morali zavrลกiti naลก susret. No vidimo se ponovno iduฤ‡e subote!

-- [BuD], 27/11/05


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet261105> {date: 2005-11-27 15:46:55 +0100}
^^^ Subota 19/11/05


Nakon kaj sam rijesio svoj ispit iz mehanike lagano sam se oko 12-ice uputio prema mami. ฤŒim sam doลกao, veฤ‡ me je ฤekao posao. Naime doลกao je jedan novi razmjenjivaฤ vjeลกtina imenom Franko. Imao je problema sa "Debian-om"<http://www.debian.org>, toฤnije X-ima u Debianu, nisu mu se htjeli podiฤ‡i. Dok sam malo njegov laptop primio u ruke, uvidjeo sam da je nekako jednostavnije, i njemu bolje rjeลกenje instalacija "Ubuntu-a"<http://www.ubuntu.com>. Objasnio sam mu malo kako je Ubuntu jedan vrlo jednostavan i vrlo user frendli linux, odliฤan za poฤetnike, a i one malo naprednije. On se je sa time sloลพio, pa smo krenuli na posao. Instalacija je super krenula, ali zavrลกavala je grozno, u tom trenu me je Ubuntu malo razoฤarao. Njegov laptop se je uลพasno usporio, i na njemu je bilo nemoguฤ‡e raditi. Naime na kraju je bio kriv Ubuntu kernel. ล to se toฤno desilo, kernel je nastimao preocesor tako da on radi na minimimu minimuma, odnosno na nekih 800 mhz, dok je u laptopu zapravo 1800 mhz AMD Sempron. Pa smo se odluฤili na promjenu distre, i na kraju se je najbolje pokazao "Mepis"<http://www.mepis.org/>. U meฤ‘uvremenu je doลกao Aka, te nam malo pripomogao u borbi sa laptopom, te mi pomogao oko poลกtimavanja hibernacije na mom laptopu. Hibernacija je vrlo dobra stvar, ลกto se zapravo deลกava kad vi poลกaljete vaลก kompjuter u hibernaciju, on vaลก trenutni rad, s time podrazumjevam otvorene aplikacije, servise, itd..., sprema u swap memoriju i gasi vaลก kompjuter. Kada ga vi ponovno upalite on pogleda u swap i to ลกto se nalazilo u swapu ponovno uspostavlja u pogon, i vi noramalno nastavljate gdje ste stali sa radom. Kad smo se fino ufurali u te stvari doลกao je ostatak ekipe, ลฝeljko, Robi, Aco,pa smo se fino dalje nastavili druลพiti itd... To je uglavnom to!

Pozdrav!!

-- [BuD], 20/11/05


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet191105> {date: 2005-11-20 00:02:31 +0100}

^ Razmjena 4. 11. 2005.


Pristigavsi u Mamu koju minutu poslije cetiri, prilicno sam se iznenadio: mnostvo novih lica, hrpa grickalica na stolu, flase sa sokovima - tociona, cool spike, predstavljanje, shaking hands. Jednom rjecju - navala! Sigurno se nekaj besplatno dijeli...

Ovo je najtezi dio mojeg izvjestaja - pokusaj da navedem sve koji su nazocili glede Razmjene: [BuD], [DrGspot], [MarcellMars], [ZeljkoWriter], [ReZk], [KlaudioStefancic], Alan (Aka) (ako sam dobro zapamtio), Ivan, Ivo, Aco, mladic s dugom kosom kojem se ne mogu sjetiti imena i drugi vrijedni Razmjenjivaci, te Posjetitelji i Posjetiteljice Mame.

Te se predveceri se surfalo kroz zrakoprazni prostor, bilo je rijeci o registry-ju Windoza, dial up-u na Ubuntuu, formatiranju flash memorije, etc.

Sredisnja se rasprava odrzala u dvorani s projektorom (nakon dugog vremena projicirali smo prompt u boji na platno ;-)). Nas Marccello je predstavio koncept Razmjene, pojedine Razmjenjivace i predlozio modalitete sljedecih susreta. Potom smo mi ostali imali priliku doprinijeti u raspravi.

Sredisnji trenutak veceri je, po meni, trenutak prikazivanja filma s odrzavanja Razmjene na Operaciji: grad. Jedva cekam da dobim film i da pokusam cenzurirati onu prostu rijec, koju Marcell nekoliko puta spominje, prije nego film pokazem mami i u crkvi ;-).

Dragi moji, _mnogo bih vam imao pisati, ali ne htjedoh na papiru i crnilom, nego se nadam doci k vama i usmeno govoriti da radost nasa bude potpuna_, pise apostol Ivan u svojoj 2. poslanici. S tim rijecima bih zavrsio svoje (pri)vidjenje Razmjene 4. 11. '5., a vi dodajte poneki redak i svoj potpis.

[KruNo]




----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet051105> {date: 2005-11-06 21:27:30 +0100}
^^^ subota 29/10/05


Pozdrav!

Uf ove subote je bilo jako burno, bilo nas je jako mnogo tako da i ja sam neznam kaj se je sve dogaฤ‘alo. No recimo to je bilo ovako, ja sam malo zakasnio, no kad sam dosao do ulaza u mamu vidio sam totalnu guลพvu, i nisam mogao vjerovat da se je okupio tako veliki broj ljudi!! Nije proลกlo ni 2 minute, a veฤ‡ je oko mene bilo ljudi sa pitanjima, toฤnije [MarcellMars] me je odmah oduzeo na neko vrijeme da pomognem jednoj mladoj djevojci oko snalaลพenja u "Ubuntu-u"<http://ubuntulinux.org> , te kako neลกto instalirat itd... Bilo je malih problema no recimo da smo sve uspijeli napraviti! Ubrzo nakon ลกto sam njoj pomogao Ivo me je zaokupio pitanjima, no nisu bila vezana uz linux. [DrGspot] se je skompao sa dvojicom novih razmjenjivaฤa te su se ugodno druลพili, i sreฤ‘ivali njihov ibm mali laptop, na kojem je bio instaliran "FreeBSD"<http://www.freebsd.org/>. Imali su nekih problema sa wireless karticom, no bsd nije moje podruฤje tako da sam im bio bespomoฤ‡an. S vremeno ekipa je lagano nestajala, pa je atmosfera lagano splasnula. Na kraju ostali smo ja i jos trojica razmjenjivaฤa, koji su izvrsni programeri, te su me oni upuฤivali u svijet programiranja, preteลพito je to bio "Python"<http://www.python.org>. 

--[BuD], 31/10/05


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet291005> {date: 2005-10-31 11:52:08 +0100}
^^^ Subota 22.10.2005


U dogovoreno vrijeme ekipa se lagano okupila, ali ovaj put bez mene, ja sam malo kasnio ovaj put. Kad sam dosao zaฤudo tamo je bio [MarcellMars] i KlaudiO priฤali su o file sistemima, koji kako funkcionira i koji je najbolji za ลกto... [MarcellMars] je to Klaudiu jako dobro i temeljito objasnio. Ubrzo nakon toga pridruลพio nam se Ivo koji je dofurao svoj mali digitalac veliฤine zipo upaljaฤa, te ga je interesiralo kako iskopirat slike sa njega na komp koristeฤ‡i linux. To sam vrlo brzo i elegantno rijeลกio programom "gPhoto2"<http://www.gphoto.org/>, te mu objasnio kako se njime koristi. "gPhoto2"<http://www.gphoto.org/> je program za kopiranje slika sa dogotalnih fotoaparata na hard disk, koristi se u konzoli, i vrlo je jednostavan i praktiฤan za upotrebu. ล to smo mi napravili:

.pre
1. Uลกtekate fotiฤ‡ u usb utor u kompu

2. pokrenete konzolu 

3. kreirate direktorij u koji ฤ‡ete spremiti slike sa "mkdir slike"

4. odete u taj direktorij sa "cd slike"

5. i jednostavno pokrenete gPhoto2 sa "gphoto2 -P"

6. i slike se poฤinju kopirati na vaลก hard
.pre


Ivo je bio oduลกevljen tim malim ali vrlo uฤinkovitim programฤiฤ‡em! Ostao je joลก neko te osluลกkivao i pratio razgovor te tu i tamo dobacio koju, te nakon nekog vremena zapiฤio u kino. Ivo je otiลกao ali doลกao je jedan gospodin kojem ja neznam ime i time se ispriฤavam, naime on je programer, pa je ostatak vremena na razmjeni  vjeลกtina provedeno u razgovoru o programiranju i programskim jezicim preteลพito o "Python"<http://python.org/> -u. I to bi bilo to!

-- [BuD]


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet221005> {date: 2005-10-27 10:26:40 +0200}

^ Susret na dan 15. listopada 2005.


Danas je na Razmjeni vjeลกtina bilo vrlo zanimljivo. [AnTe] i [BuD] su veฤ‡ bili na mjestu dogaฤ‘anja kada sam ulazio, zajapuren od voลพnje biciklom od Sesveta do Mame. S vremenom su "kapnuli" IvO, [DrGspot], Saลกa i Sindrom Luka.

[AnTe], [BuD] i ja ([KruNo]) smo imali ลพivu i zanimljivu raspravu o Linux "distrama". [BuD] i ja veฤ‡ neko vrijeme koristimo _Ubuntu_ i zadovoljni smo njome. Meni se osobno na Ubuntuu dopada _automount_ CD-a i flash memorije; mislim da je to od velike pomoฤ‡i novim, pa i starim, korisnicima Linuxa.

[BuD] i ja smo se potom naglavaฤke bacili u _scripting_. Evo naลกeg proizvoda:

||
 #!/bin/sh

 #ls -lh | awk '{ print $5, $8 }' 

 ls -lh | awk '{ printf("%-6s  %-50s\n", $5, $8) }' 
||

Proradilo je.

Na sastanku je bilo rijeฤi i o _WiFi_-u uz primjenu Linuxa. [DrGspot] je dao rijeฤ o nastavku primjene _Amiga_ tehnologije.

God blees you.

[KruNo]






----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet151005> {date: 2005-10-18 22:05:45 +0200}
^^^ Susret 08/10/05


Pozdrav!!

Ova subota je proลกla nekako mirno, ili se to moลพda meni samo uฤinilo... No nije niti tak bitno, nego eto da ja ukratko opiลกem ลกto smo mi radili u subotu. Kao i uvijek prihajal sam u mamu negdje oko 12, te sam se u laganini ulogoriou u fotelju  i otvoril svoj laptop i pogledal kaj ima novoga. Prvi koji mi se je pridruลพio bio je IvO, nije htio niลกta okoliลกat te je odmah krenuo na stvar! Zanimalo ga je kako na linuxu najlakลกe sprลพit iso image, kako napravit iso image, te kako zaprลพit bilo koji drugi cd. Ja to sad neฤ‡u pisat :-), ha 'ko vam je kriv kaj niste doลกli! :-)
IvO je to sve fino zapisao korak po korak, pa ako vas bude zanimalo obratite se njemu. E da zanimalo ga je i kako prebacit slike sa fotiฤa na komp, ali zaboravil je dofurat fotiฤ tak da nismo to uspijeli napravit. To smo ostavili za sljedeฤ‡u subotu. Dok smo mi priฤali i raspravljali o nekim stvarima prihajal je [DrGspot] te nam se pridruลพio u razgovoru. [DrGspot]-u je kasnije doลกel neki kompiฤ‡ kojeg je on lagano uveo u svijet linuxa, te njegove ฤari. Dok su oni raspravljali o linuxu ja , drug [ReZk] i [MarcellMars] smo raspravljali o touch screenovima, te ลกto se sve sa njima moลพe. Kroz druลพijanac je vrijeme polako prolazilo i tako se  polako bliลพio i  kraj naลกeg druลพenja. 

Pozdrav!!!

-- [BuD], 10/10/05



----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet081005> {date: 2005-10-10 20:30:59 +0200}
Razmjena, 1. listopada 2005.

Pojavio sam se ispred Mame oko 3 sata popodne, privezao bicikl i uลกao u polumraฤnu Mamu. Odmah sam ugledao [BuD]-a glave zagnjurene u laptop.

[BuD] je na laptopu vrtio novi _Ubuntu 5.10_. Zadovoljan je, svi ureฤ‘aji mu rade. Odmah sam ga zamolio da mi zapeฤe novi Ubuntu na CD, dok smo klopali ฤoksu.

Uskoro je uletio [DrGspot]; dao nam je kratak izvjeลกtaj o _nedavnoj Linux-konferenciji u Portoroลพu_ i pokazao pisane materijale. Posebno sam se zanimao za primjene _Real Time Linuxa_.

Nakon toga smo [BuD] i ja pogledali na stranici Razmjene moj _ฤlanฤiฤ‡ o Tcl-u_ i odmah isprobali primjer iz ฤlanka. Zamislite, stvari su proradile iz prvog pokuลกaja. Na Ubuntuu.

Vidimo se uskoro. Jesus loves you.

[KruNo]



----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet011005> {date: 2005-10-02 20:56:18 +0200}
^^^ Subota 24/09/05


Kao ลกto to uvijek biva, mi na ovim stranicama pokuลกavamo ukratko opisati zadnji susret na razmjeni vjeลกtina, pa da krenem, u mami smo se ovaj put naลกli malo kasnije nego inaฤe a i ovaj put nas je bilo u malo manjem broju nego inaฤe. [DrGspot] je dopiฤio prvi te je dofurao jedan stari mac za razmjenu vjeลกtina na kojeg ฤ‡e biti instaliran linux, ali ppc verzija, pa smo radili plan koju distru spiฤit na njega. U meฤ‘uvremennu doลกli su IvO, [MarcellMars] i ลฝeljkO.

Kad se ekipa lagano okupila, tada je Ivo dobio jedan zadatak, da instalira novu verziju "Ubuntu-a"<http://www.ubuntulinux.org/> na naลก stroj. Instalacija je protekla glatko, jel ovaj novi "Ubuntu"<http://www.ubuntulinux.org/> je skroz dobar, instaliraลก ga i sve ti odmah radi!! Ja mu dajem ฤistu peticu! Kad je instalacija zavrลกila malo smo se poigrali konfiguriranjem stroja, i tako je mogli  bi reฤ‡i i zavrลกio naลก susret. Ponovno smo nauฤili pokoju novu stvarฤicu, a i ฤuli   ลกtoลกta novoga.

Pozdrav!!!

-- [BuD], 26/09/05 



----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet240905> {date: 2005-09-26 10:10:39 +0200}
^^^ Razmjena Vjeลกtina at Operacija:grad


Razmjena vjeลกtina je ovaj put krenula u novom ruhu i na drugom mjestu, toฤnije u starom Badelu! Ukratko ฤ‡u objasnit kako je proลกao dan i ลกto se sve toฤno dogaฤ‘alo. 
U pola 10 sam se naลกao sa [MarcellMars]-om te smo onda krenuli po stare kompove kod Radoslava Dejanoviฤ‡a koji ih veฤ‡ duลพe vrijeme marljivo skuplja za muzej starih kompova. Rade nam je dao jedan mali dio svog asortimana koji smo htjeli pokazati ljudima otukud su kompjutori krenuli, te kompove koje smo mi sklapali! On nam je fino rekao pokoju rijeฤ za svaki od njih, te kad smo ih sve skupili krenuli putem prema mami, gdje smo pokupili joลก neke geek stvari! Napokon oko 12 smo bili u Badelu i poฤeli smo raspakiravat kompove i slagati ih, eh da zaboravio sam naglasiti najvaลพniju stvar, 80% tih kompova koje nam je posudio buraz Rade su zapravo uporabljivi! Oni rade!!! Tako da su ljudi slobodno mogli isprobati kako je to bilo nekad. Da gdje sam ono stao, a da slagali smo kompove i ljudi su se veฤ‡ poฤeli pomalo skupljati oko nas i razgledavati te nas ispitivati. ฤŒini mi se da ih je najviลกe fascinirao naลก stroj Orao te hard disk od 5mb koji je bio teลพine oko 60 kg i kojeg moraju dvojica nosit. E da kako je nekad bilo a danas imamo usb stickove od gigabajta, ah joj... Nego da, pomalo se je poฤela i skupljati ekipa razmjenjivaฤa KlaudiO, [KruNo], IvO, [DrGspot], te su oni malo krenuli priฤu oko linuxa, ma kako bi jedna razmjena mogla proฤ bez linuxa, to bi mi stvarno bilo ฤudno :-)
Tako dok smo mi ฤavrljali u pozadini nas je pratila ugodna muzika dj-a te jedna zanimljiva skupina glazbenika eksperimentalne muzike iz Splita koji su svirali na hrpi instrumenata od kujih nebi ni sumnjali ลกto sve mogu! Uglavnom oni su zavrลกili naลกe okupljanje koje je trajalo do nekih 17 sati.

Evo malo fotografija pa pogledajte ลกto ste propustili:

http://static.flickr.com/30/42437119_e37b09de00_m.jpg

http://static.flickr.com/27/42437118_4813abd4b5_m.jpg

http://static.flickr.com/29/42437117_246ef1ac94_m.jpg

http://static.flickr.com/33/42437116_acdca9fa8d_m.jpg

http://static.flickr.com/27/42437115_be4cd2d6ec_m.jpg

http://static.flickr.com/27/42437113_a4d6e9aac7_m.jpg

-- [BuD], 11/09/05


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet100905> {date: 2005-09-17 19:27:47 +0200}

^ Chwenk 050903


Danas je Razmjena vjeลกtina bila na raznim mjestima u gradu. Zato kaj se Mama ฤistila. I zato kaj _Linux nije samo tehnologija; to je i kultura_. Zato se o njemu ลกapฤ‡e i drobi po ฤ‡oลกkovima i vuglecima grada Zabrega.

Redom bum opisal danaลกnja druลพenja. Oko podne sam skoฤil na svoj bajk. Dok sam se fural kroz Zrinjevac, okrznul sam, krajiฤkom oka, [BuD]-a aka Tomicu i Acu, na klupici kraj Zrinjevca. Saznal sam da se Mama ฤisti (morti od naslaga slobodne kulture ;-) i duhanskog pepela). Zajapuren od fast drajva, pozval sam Razmjenjivaฤe na prvu kavicu.

[BuD] i Aco su na kavici saznali da sam nedavno raskomadal disk na svojem poslovnom lepitopu na tri parฤeta. Na treฤ‡em sam nabacil _Ubuntu, lepu i jednostavnu Linux distru_. Dela, zamislite ;-), iz prvog pokuลกaja. Malo sam se razoฤaral, kad sam skuลพil da mi ne vrti MP3-ce. No, moj sysadmin s posla, Capica, koji piลกe u PC Chipu (kak se ja druลพim s poznatim facama 8-)), mi je objasnil da je _MP3 vlasniฤki format i da se u Linux svijetu koristi Vorbisov OGG_.

Neลกto kasnije, nakon ลกto smo otiลกli do Mame, sreli smo [AnTe]-a pred vratima. S [AnTe]-om sam pil drugu kavicu u Alcatrazu i dok sam mu veliฤal _jednostavnost Ubuntua_, kad nam je uletil [DrGspot] aka Roby. Pred Mamu su pristigli ลฝeljko, [MarcellMars] i Ivo. Core Razmjene je bio na okupu. Tu su bili takoฤ‘er Marta, Mario i Andy, a guy from Australia.

Marcell nam je nabacil spiku o okupljanju Razmjenjivaฤa u staroj Badelovoj tvornici sljedeฤ‡e subote. Poslije toga sam si popil treฤ‡u kavicu s Razmjenjivaฤima pred bivลกim kinom Balkan, sadaลกnjom Europom. Zakaj se naลกa Horvatska gura v Europu? Nek snobovska Europa dojde k nama.

See you soon.  And don't forget: _Jesus loves you_.


Vaลก [KruNo]


:-)












----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet030905> {date: 2005-09-04 21:21:09 +0200}
^^^ Susret 25.06.2005


Okupili smo se u uobicajeno vrijeme, ali nismo bili na uobicajenom mjestu, tocnije  
bili smo u mi2lab-u. Nismo obavili ono sto je bilo po planu, ali smo se zato pozabavili drugim jednako zgodnim stvarima. Isprobali smo neke nove live distribucije kao sto je "Litrix"<http://channels.lockergnome.com/linux/archives/20041013_litrix_linux_20.phtml> te malo freebsd live distribucija "Freesbie"<http://freebsdaddicts.org/forum/viewtopic.php?pid=2180>.
Druga stvar koja ce se realizirati u vrlo bliskoj buducnosti, i o kojoj smo se dogovarali jest lokalizacija software-a za slijepe osobe. Program se zove *Jaws* ali vise o tome drugi put.



----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet250605> {date: 2005-06-28 13:36:46 +0200}
^^^ Susret 18.06.05


Ovaj put smo se malo pozabavili mrezom, tocnije komunikacijom izmedju dva linuxa. Alati koje smo koristili su "ssh"<http://www.openssh.com/> i "scp"<http://support.real-time.com/linux/web/scp.html>. Dakle ukratko o cem se radi, *ssh* je tip programcica kojim se spajamo na udaljeno racunalo ili server, te radimo na njemu, real time!! Nadam se da ste me skuzili!:) *Scp* je tip programcica koji radi na istom principu kao i *ssh* samo sto *scp* sluzi za kopiranje podataka sa i na racunalo ili server. Alati su vrlo jednostavni za upotrebu, a vrlo ucinkoviti i dobri. Njima se koristi iskljucivo iz komandne linije! Vise o njima i njihovoj upotrebi mozete pogledati na njihovim home stranicama!






----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet180605> {date: 2005-06-21 13:11:57 +0200}
^^^ Susret 11.05.05


Ovaj put smo se okupili na drugom mjestu ali u isto vrijeme. Ovaj put smo bili pozvani u susjednu nam zemlju, tocnije u glavni grad Beograd, bilo je vrlo zanimljivo i poucno, naucili smo i neke vjestine!!! Odaziv ljudi na razmjenu vjestina je bio vrlo dobar, svako je bio na svojoj strani, objasnjavajuci svako po jednu od zanimljvivh tema na linuxu, ljudi su nas pazljivo slusali i upijali informacije. Jedina stvar koja je bila losa je bilo odvratno vrijeme, ali ne stalno, tako da smo nakon razmjene vjestina otisli malo u razgledavanje grad sa dvoje odlicnoh vodica, Dusicom i Nebojsom, njima najljepsa hvala, ali neka ostali ne misle da smo zaboravili na njih, njima takodjer veliko hvala na gostoljubivosti  i na svemu ostalome!! Razgledavanje grada je bilo odlicno, vidjeli smo mnogo a i naucili. To bi bilo ukratko kako je prosao nas posjet, odnosno razmjena vjestina u  Beogradu. 

--[BuD], 12/05/05

----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet110505> {date: 2005-06-12 21:01:20 +0200}
^^^ Susret 04.05.05


Okupili smo se oko 12 sati, [MarcellMars], [AnTe], IvO, AndY, [DrGspot],KlaudiO, i [BuD], te smo krenuli laganim raspravama i konfiguriranjem bluetooth-a na linuxu. Nije bilo nekih veฤ‡ih problema, bluetooth je proradio!!!
Nakon uspjesnog posla [MarcellMars] se je primio kernela, tocnije APM i ACPI stvari.Nakon sto smo sve vise manje rijesili uputili smo se u obliznju birtiju na tekmu!

Mali hintovi za bluetooth na linuxu:

Moduli u kernelu na koje morate obratit pozornost, da se loadaju prilikom bootanja, to su: *hci_uart, hci_usb, l2cap*
Kad smo se uvjerili da su moduli loadani pokrenuli smo bluetooth naredbom */etc/init.d/bluetooth start*
i stvar je profunkcionirala!!! Za browsanje po mobitelu ili drugim bluetooth uredjajima dovoljan vam je i konqueror, jednostavno u search bar upisete *bluetooth:///* i stvar bi trebala raditi, ako ste prije toga instalirali sve potrebne bluetooth programcice. Programcici potrbni da bi bluetooth radio zovu se Bluez. Malo vise o konfiguraciji i uspostavljanju bluetootha mozete vidjeti(nama su posluzili) na: *http://gentoo-wiki.com/HOWTO_mobile_phone,_Bluetooth_and_GNOME* i 
*http://mhonarc.axis.se/bluetooth-dev/msg01912.html*

Do slijedeceg susreta!!!

-- [BuD], 06/05/05

----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet040505> {date: 2005-06-06 08:18:19 +0200}
HASH(0x8989b38)

----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet300405> {date: 2005-05-01 18:42:39 +0200}



^ Susret 5. 2. 2005.


Razmjenjivaฤi vjeลกtina su se poฤeli okupljati poslije 12 sati: [AnTe], [BuD] i [KruNo].  Spikice uz ฤokoladu.

Svojevrsni kvorum je nastao s dolaskom Robija.  Iz predvorja smo preลกli u dvoranu, poredali stolice i odmah zapoฤeli s jednim zanimljivim primjerom - podeลกavanje sustavskog vremena na Linux-u primjenom programa *ntpdate*.
*ntpdate* oฤitava podatke s berlinskog posluลพitelja i postavlja sustavsko vrijeme u skladu s njima.

Slijedi rijeฤ o naredbi *hdparm*; sluลพi za oฤitavanje i podeลกavanje parametara diska.  Potom, *ipconfig* za mreลพne postavke.

Odvaลพio sam se razotkriti u svojem djelomiฤnom (ne)znanju i zapitati o mount-anju flash-memorije.  [BuD] mi je to fino rastumaฤio, a ja sam pribiljeลพio u svoj dlanovnik (kaj je to?) sljedeฤ‡u naredbu: *mount /dev/sda /mnt/sda1*.

Potom sam dobio rijeฤ i pokrenuo prezentaciju o *vi* editoru u Open Office-u.  Prezentaciju sam napravio s Power Point-om; Open Office ju je pokazivao bez poteลกkoฤ‡a.

ฤŒudan je taj vi: umjesto da nam dopusti da odmah piลกemo (kao ลกto je to u ostalim editorima), on zahtijeva da ukljuฤimo insert mode.  Drugi modus operandi (naฤin rada na latinskom - opet se pravim pametan :-)) sluลพi za zadavanje naredbi.

vi nam omoguฤ‡uje da jednom naredbom (J) spojimo dva retka; u obiฤnom editoru moramo pritisnuti tri tipke da bismo obavili istu radnju.

Na kraju je postavljeno pitanje o konfiguriranju ADSL-modema s USB-prikljuฤkom.  Ja sam veฤ‡ bio na odlasku.  Nemam ADSL.  Surfam na 19 KBps (ลพivim na kraju ulice).

Do sljedeฤ‡eg susreta.

"_Razumno srce stjeฤe znanje, i uho mudrih traลพi znanje._" (stih iz Biblije)

Vaลก [KruNo]






----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet050205> {date: 2005-02-06 20:56:44 +0100}


^ Susret 5. 2. 2005.


Razmjenjivaฤi vjeลกtina su se poฤeli okupljati poslije 12 sati: [AnTe], [BuD] i [KruNo].  Spikice uz ฤokoladu.

Svojevrsni kvorum je nastao s dolaskom Robija.  Iz predvorja smo preลกli u dvoranu, poredali stolice i odmah zapoฤeli s jednim zanimljivim primjerom - podeลกavanje sustavskog vremena na Linux-u primjenom programa *ntpdate*.
*ntpdate* oฤitava podatke s berlinskog posluลพitelja i postavlja sustavsko vrijeme u skladu s njima.

Slijedi rijeฤ o naredbi *hdparm*; sluลพi za oฤitavanje i podeลกavanje parametara diska.  Potom, *ipconfig* za mreลพne postavke.

Odvaลพio sam se razotkriti u svojem djelomiฤnom (ne)znanju i zapitati o mount-anju flash-memorije.  [BuD] mi je to fino rastumaฤio, a ja sam pribiljeลพio u svoj dlanovnik (kaj je to?) sljedeฤ‡u naredbu: *mount /dev/sda /mnt/sda1*.

Potom sam dobio rijeฤ i pokrenuo prezentaciju o *vi* editoru u Open Office-u.  Prezentaciju sam napravio s Power Point-om; Open Office ju je pokazivao bez poteลกkoฤ‡a.

ฤŒudan je taj vi: umjesto da nam dopusti da odmah piลกemo (kao ลกto je to u ostalim editorima), on zahtijeva da ukljuฤimo insert mode.  Drugi modus operandi (naฤin rada na latinskom - opet se pravim pametan :-)) sluลพi za zadavanje naredbi.

vi nam omoguฤ‡uje da jednom naredbom (J) spojimo dva retka; u obiฤnom editoru moramo pritisnuti tri tipke da bismo obavili istu radnju.

Na kraju je postavljeno pitanje o konfiguriranju ADSL-modema s USB-prikljuฤkom.  Ja sam veฤ‡ bio na odlasku.  Nemam ADSL.  Surfam na 19 KBps (ลพivim na kraju ulice).

Do sljedeฤ‡eg susreta.

"_Razumno srce stjeฤe znanje, i uho mudrih traลพi znanje._" (stih iz Biblije)

Vaลก [KruNo]





----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet050204> {date: 2005-02-06 20:52:28 +0100}

^ Susret 20/11/04


{toc}


^^ Tko
* [MarcellMars]
* [KruNo]


^^ ล to



^^ Plan#1: 12:00 - 13:30


_"Koriลกtenje TamTama kao male baze podataka"_ - [MarcellMars]

StankoJuzbasic zainteresiran je za prezentaciju TamTama kao alata za kolaborativni razvoj rjeฤnika glazbenih pojmova. To je super prilika da uลพivo prezentiram neke od prijedloga konvencija za razvoj upravo ovog web sajta. Ako svi skupa budemo inspirirani poฤet ฤ‡emo s podsjeฤ‡anjem da ime fajla na disku nije samo *fajl.foo* nego da njegovo _pravo_ ime uvijek sadrลพi i put do njega samog (npr. */home/users/moron/fajl.foo*, da je na unixu *sve fajl*, da se tekst moลพe formatirati klikanjem po ikonicama Worda, stavljanjem meฤ‘ HTML tagove, koriลกtenjem wikiwiki (TamTam)  sintakse, pa da se formatiranjem moลพe prikazati struktura podataka (XML) i da bi na kraju ako svi skupa budemo inspirirani priฤali o semantiฤkom webu. hell yeah....

i za kraj poslastica: [KruNo] ฤ‡e odrลพati predavanje _"Osnove awka s nekoliko trikova"_:


^^ Plan#2: 13:30 - 15:00


_"Osnove awka s nekoliko trikova"_ - [KruNo]

Awk je programski jezik vrlo moฤ‡an u procesiranju teksta. Upravo ลกvicarski noลพiฤ‡ za ekstrahiranje podataka iz tekstualnih datoteka (npr. poredaj po abecedi sve moguฤ‡e iz treฤ‡e kolumne bekapiranog tesktualnog fajla tj. adresara iz mobitela)...


_"awk - programski jezik za pretraลพivanje i obradu teksta"_ (a pattern scanning and processing programming language)

Uvjeren sam da ฤ‡e Vam se awk dopasti (_"simple and stupid is beautiful"_) i biti koristan u sluฤajevima kada radite s tekstualnim datotekama bez obzira na njihov sadrลพaj (tekst, podaci ili izvorni kod).

awk moลพete koristiti uz ostale blagodati *nix-a, Windoze-a, DOS-a, OS X-a poput sort-a (preslagivanje podataka), mail-a (slanje mail-a iz awk-a u *nix-u) i drugo.

Predlaลพem 30-minutnu prezentaciju awk-a (dovoljno za 20-ak slajdova) i ฤitavi sat za pitanja i odgovore (_"hands on vi, prompt and awk"_).

_"God bless you, folks!"_

[KruNo]



^^ Plan#0 za sve subote


Svake subote slobodno pitajte ljude koji su najavili svoj dolazak sve ลกto moลพete naฤ‡i na njihovim ..Nudi stranicama. Mod kojem teลพimo je potvrda primitka oฤekivane informacije na postavljeno pitanje. 

Nije to tako teลกko: Pitaลก i ljudi odgovaraju, pa ponovno pitaลก jer nije dovoljno pojaลกnjeno, tako ukrug dok nije jasno. Na kraju svi zadovoljni.

Nije to tako lako: Rijetko smo se sami angaลพirali oko traลพenja odgovora u ลกkoli, a ono ลกto bi dobili ne bi dodatno propitivali. Na kraju je malo zadovoljnih, male plaฤ‡e za uฤitelje i velika tlaka za uฤenike.

Eto. Ovo je generalan plan za sve subote.






----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet201104> {date: 2004-11-26 15:42:15 +0100}



^ Susret 13/11/04


{toc}


^^ Tko
* [MarcellMars]


^^ ล to


Usudio sam se predloziti jednu zanimljivu temu za razgovor: 
Linux Live CD s podrskom za aktualne tehnologije.

Nedavno sam se nasao pred jednim racunalom na kojem je Windoze 
bio broken, a bas u tom trenutku, prema Murphy-ju, trebalo je 
ispisati neki dokument.  Pozelio sam imati Linux na malom CD-u...

Mislim da se s Linux-om moze otvoriti jedno novo poglavlje u 
povijesti racunalastva: vrijeme u kojem ce se OS moci ponijeti sa 
sobom na CD-u, smart card-u ili flash-memoriji.

Takodjer me zanima koje je akorde Marcell odsvirao na Jednostavno Linux 
konferenciji.  :-)

[KruNo]


^^ Plan#0 za sve subote


Svake subote slobodno pitajte ljude koji su najavili svoj dolazak sve ลกto moลพete naฤ‡i na njihovim ..Nudi stranicama. Mod kojem teลพimo je potvrda primitka oฤekivane informacije na postavljeno pitanje. 

Nije to tako teลกko: Pitaลก i ljudi odgovaraju, pa ponovno pitaลก jer nije dovoljno pojaลกnjeno, tako ukrug dok nije jasno. Na kraju svi zadovoljni.

Nije to tako lako: Rijetko smo se sami angaลพirali oko traลพenja odgovora u ลกkoli, a ono ลกto bi dobili ne bi dodatno propitivali. Na kraju je malo zadovoljnih, male plaฤ‡e za uฤitelje i velika tlaka za uฤenike.

Eto. Ovo je generalan plan za sve subote.









----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet131104> {date: 2004-11-18 20:14:05 +0100}

^ Susret 30/10/04


{toc}


^^ Tko
* [BuD]


^^ ล to


^^^ Plan#1 za subotu 30.10.04.


Otvoreno.
Pripremite pitanja, i izresetajte me dok sam vam na raspolaganju! :) 
 -- [BuD] -- 27/10/04


----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet301004> {date: 2004-11-01 08:44:09 +0100}
{toc}


^^ Tko
* [MarcellMars]
* [BuD] 
* [HrvojeZeba]


^^ ล to



^^^ Plan#1 za subotu 23.10.04.


Session _Osnove BASH ljuske_ u ลกto spada:
* argumenti ilitiga parametri programa (zbog ฤega i kako)
* shell varijable
* malo regexp-a (regular expressions)
* ugnjeลพฤ‘ene nardbe
* redirekcija

Ukratko. Sve ลกto ฤ‡e vam bitno pribliลพiti Unix/Linux i pokazati da to i nije toliko straลกno :)

-- [HrvojeZeba], 21/10/04


^^^ Plan#2 za subotu 23.10.04.


pa nije paralelan program al opet stizu knjige a mozda i casopisi, razne distre, prazni CDi za przenje, i finalni dogovor kako izvesti Gentoo install na zasad classicAmigu i dogovor kako uvuci AppleMAC community u GentooPPC demo

volio bih zapravo snimit sve distre i zaprzit svima sve svoje

mozda stigne SubCommand x86 podmornicki simulator :-)

dGs


^^^ Plan#3 za subotu 23.10.04.


Veฤ‡ najavljivani session: _"Napredno surfanje u Mozilla Firefox pregledniku"_ 

Podnaslov: _"Kako surfati bez reklama, anonimno i usput snimajuฤ‡i sve ลกto pregledavaลก?"_

Session sadrลพi:
* koriลกtenje tabova (shortcuts: Ctrl+t, Ctrl+1...9, Ctrl+(SHIFT)+TAB, Ctrl+w, instaliranje i koriลกtenje plugina za napredno koriลกtenje tabova)
* bookmark (TIPS: TinyURL, "Open in Tabs", http://www.furl.net, http://www.spurl.net, del.icio.us...)
* pronaฤ‘i linkove na stranici tipkajuฤ‡i
* pronaฤ‘i tekst na stranici tipkajuฤ‡i
* instaliranje i koriลกtenje niza zanimjljivih i korisnih "Firefox ekstenzija"<http://texturizer.net/firefox/extensions/> (npr. Adblock, Bandwith Tester, BugMeNot, Copy Plain Text, del.icio.us, Dict, Nuke Anything, Open Long Urls, QuickNote, SearchThis!, text/plain...)
* postavke "wwwoffle"<http://www.gedanken.demon.co.uk/wwwoffle/> proxy servera za snimanje svega prosurfanog, "privoxya"<http://www.privoxy.org/> za surfanje bez reklama i "tor"<http://www.freehaven.net/tor/> za visok stupanja anonimnosti pri surfanju
* pridruลพivanje funkcija pojedinim tipkama (npr. j - skrol prema dolje, k - skrol prema gore, g - vrh stranice, G - dno stranice)
* about:config
-- [MarcellMars], 20/10/04
















----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet231004> {date: 2004-10-25 13:46:13 +0200}
^ Prosห‡li susret: 16/10/04


{toc}


^^ Tko
* [AnTe]
* [HrvojeZeba]
* [GargaMell]
* [FoG] (Uglavnom pio sok, jeo kekse i upijao znanje :) )



^^ Sห‡to


^^^ Plan#1 za subotu 16.10.04.

Ostali duzห‡ni od 09.10.04:
* nastavak instalacije Gentoo-a na Antin stroj
* korisห‡tenje vecยด skompajliranih binarnih paketa sa drugog stroja s DVD-a i/ili preko nfs-a (45 minuta)
* kopiranje KNOPPIX /etc/X11/xorg.conf ili /etc/X11/XF86Config-4 na nasห‡u HD instalaciju jer je nekako her Knopper to basห‡ fino poslozห‡io, pa uglavnom radi ko vurica. (dakako uz malo pojasห‡njenje tipa kdje, sห‡to kako :)


^^^ Plan#2 za subotu 16.10.04.


Ima li dobrovoljaca za paralelan program? 

Ajde, ajde, nije to tako tesห‡ko. Pomocยดi cยดe ekipa.

Pobrisห‡esห‡ zadnja tri reda (ukljucห‡ujucยดi ovaj), napisห‡esห‡ sห‡to nudisห‡ (ljudi cยดe to cjeniti) i prebacili smo normu ;)

nije paralelelan program vec samo to da stizห‡e OS/2 Warp za Antu od drGspot kao i razne ostale distre za razmjenu

e da i malo cemo podesit balans bijelog za neon na DV foticu -- pre ljubicaste su slike

e da i sto bi stavili pod Linux osnove / Uvod u linux:

-osnove u bash-u ili
-osnove u KDE-u ili GNOME-u ?
***Ako se pita mene, ja sam za osnove u bash-u.(Iako sam si nabavio beginners guide i adv. guide to bash, al nema veze :))  [FoG]***

e da i stizu sporni materijali od crvenog sesira kao i:

Linux Complete Sybex

 Running Linux O Reilly

 Linux Assembly Language Programming Prentice
 Hall

 Assembly Language Programming for DOS & Linux
 Willey

 Stariji Linux Formati i Linux Journali

 Amiga Formati i CU Amiga Magazinei i cd-i

 a u biti moze i u [DrGspotKnjigeCasopisi]


^^^ BASH


Ako bude interesa, mogu ponesห‡to recยดi o bash sห‡koljki nakon sห‡to odradimo dogovoreno. Ima li zainteresiranih osim [FoG]?

-- [HrvojeZeba], 12/10/04


^^ Draft zapisnika


(zapisnik je vodio Ozren aka [FoG], usห‡minkao [HrvojeZeba])

Zbog zauzetog prostora u MAMA-i, ovaj put smo bili u Media labu. Ako se ne varam, bilo nas je oko 10-ak. Polako, ali sigurno, nas ima sve visห‡e :)
**************************************************
* Ostalo nam je od prosle subote kompilacija kernela i modula.
* Nakon toga, konfigurirali smo GRUB. Bilo je potesห‡kocยดa, ali Hrvoje je (jedva :P) uspio srediti stvar.
* U kernelu nije bio podrzan reiserfs, pa smo to ispravili, tj. dodali.
* Nakon podesห‡avanja kernela, dodali smo(emerge) gotove datoteke na novi Gentoo sistem.
* Uglavnom, zapisivao je sve naredbe, pa prona?ite objasnjenje na stranici: [ObjasnjenjeKoristenihNaredbiPriGentooInstalaciji]
* Nakon uspjesห‡nog logiranja u gentoo, dodali smo u boot proces dva
service-a(syslogd i vixie-cron). Dodali smo ih pomocยดu rc-update programa.
* Nakon toga smo dodali X service (automatsko podizanje graficห‡kog sucห‡elja) i
podesili ga.
* Slijedi podesavanje  X-a, i odre?ivanje da li cemo koristiti KDE, Gnome ili nesto trecยดe (/etc/rc.conf).
* Manje-visห‡e gotovo :)

-- [HrvojeZeba], 17/10/04








----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet161004> {date: 2004-10-18 14:15:46 +0200}
HASH(0x89db01c)

----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet161004/GargaMell> {date: 2004-10-18 10:50:13 +0200}

-- Sadrลพaj --

{toc}


^^ Susret: 16/10/04



^^^ Napomene
* redosljed je malo drukciji od onog sto smo radili zato sto sam neke stvari zaboravio napraviti pa smo se vracali na njih :)
* za veฤ‡inu naredbi postoje tzv manual pages a pregledavaju se sa:

.pre
man ime_programa
.pre
 
   kroz njih se navigira pomoฤ‡u kursorskih tipki a pretraลพivanje je moguฤ‡e pritiskom na tipku '/' (osjetljivo je na veliฤinu slova)


^^^ Proลกli put


Proลกli put smo napravili brdo stvari pa ฤ‡u samo ukratko ponoviti ono ลกto nam treba da nastavimo.


^^^ Mountanje



.pre
mount /dev/hda9 /mnt/gentoo
.pre
* ovim se odvija pridruลพivanje neke particije nekom direktoriju unutar file-sistema
* mount naredba ima slijedeฤ‡i oblik:

.pre
mount [-t fs] particija direktoriji
.pre

   gdje pojedini parametri imaju slijedeฤ‡a znaฤenja:

     `'fs`' je ime file-sistema, u veฤ‡ini sluฤajeva se fs automatski prepozna pa ga nije potrebno navoditi ali u odreฤ‘enim situacijama je :)

     `'particija`' je particija koju ลพelimo mountat (u naลกem sluฤaju /dev/hda9)


     `'direktoriji`' je direktoriji gdje to ลพelimo mountat
     

.pre
mount -t proc none /mnt/gentoo/proc
.pre
* mountanje proc file-sistema u gentoo okolinu
* promjetite `'none`' na mjestu gdje treba iฤ‡i oznaka particije jer se to primjer za upotrebu `'-t fs`' (traba nam gdje god kernel nema na osnovu ฤega zakljuฤiti o kojem se fs-u radi)


.pre
chroot /mnt/gentoo /bin/bash
.pre
* chroot-anje u gentoo okolinu aka mijenjanje root file sistema iz '/' u '/mnt/gentoo'
* vaลพno: ovim mijenjamo root samo za programe koji ฤ‡e se izvrลกiti unutar bash programa koji chroot pokrene


.pre
env-update
source /etc/profile
.pre
* stvari koje nam kod gentoo-a i chroot-anja trebaju uฤ‡i u automatizam :)

Ovim smo se vratili u poziciju gdje smo stali proลกle subote.

.
.
.


^^^ The sequal



.pre
cd /usr/src/linux
.pre
* poลกto nismo zavrลกili kompajliranje kernela, vrijeme je da to zavrลกimo :)


.pre
make menuconfig
make dep
make bzImage
make modules
make modules_install
cp -f arch/i386/boot/bzImage /boot
.pre
* `'make menuconfig`' nam sluลพi za odabir parametara u kernelu
* `'make dep`' proraฤunava dependency-e za module
* `'make bzImage`' kompajlira kernel
* `'make modules`' kompajlira module
* `'make modules_install`' instalira module
* `'cp -f arch/i386/boot/bzImage /boot`' kopira kernel na prikladno mijesto

Slijedeฤ‡e stvari se odnose na ureฤ‘ivanje conf datoteka:
* /boot/grub/grub.conf - ubacivanje opcije za Gentoo
* /etc/fstab - defuiniranje opicija za mountanje prilikom bootanja
* /etc/rc.conf - razne sistemske stvarฤice
* /etc/hostname - ime maลกine
* /etc/make.conf - opcije za gentoo portage sistem


^^^ /boot/grub/grub.conf


Ovo smo obradili proลกli put pa neฤ‡u ulaziti u detalje. Ovo smo ubacili unitra:

.pre
title Gentoo GNU/Linux
root (hd0,8)
kernel /boot/bzImage root=/dev/hda9
.pre



^^^ /etc/fstab


Sintaksa ove datoteke je slijedeฤ‡a:

`'particija`'   `'direktoriji`'   `'fs`'   `'opcije`'  `'dump`'    `'pass`'
* `'particija`', `'direktoriji`', `'fs`' su isti kao i kod mount naredbe
* `'opcije`' odreฤ‘uju ponaลกanje samog mounta i fs-a, a neke od njih su:
* `'defaults`' za defaultne postavke (implicira auto opciju)
* `'auto`' odreฤ‘uje da li ฤ‡e se fs mountat pri bootanju
* `'noauto`' suprotno od... :)
* `'ro`' particija ฤ‡e se mountat u readonly modu (nije moguฤ‡e pisanje)
* `'rw`' moguฤ‡e i ฤitanje i pisanje
* `'user`' upuฤ‡uje na to da ฤ‡e i obiฤni korisnik (not root) moฤ‡i mountati/odmountati tu particiju (zgodno za cdrom, floppy i usb)
* `'dump`' ovo je vezano za dump fs-a pa vam vjerovatno nije bitno (ili uvijek stavite nulu
* `'pass`' ovdje stavite 1 za root fs a 0 za ostale

Naลก fstab je izgledao ovako (mislim :) ):


.pre
/dev/hda9 / reiserfs defaults 1 0
.pre


ล to znaฤi da imamo samo jednu particiju /dev/hda9 mountanu na / (root particiju) tipa reiserfs sa defaultim postavkama


^^^ /etc/rc.conf


Ovdje smo zamjenili par stvari:


.pre
CLOCK="local"
.pre
* stavili smo unutraลกnji sat da pokazuje lokalno vrijeme umijesto UTC-a


.pre
DISPLAYMANAGER="kdm"
.pre
* odredili da xdm servis inicijalno diลพe kde (naravno kad bude instaliran :) )


.pre
XSESSION="kde-3.2.1"
.pre
* i kde-3.2.1 poลกto na linux-u moลพete imati 100 (ฤitaj: pun k...) kde-a, gnome-a itd


^^^ /etc/make.conf


Ovaj je bio ลพilav :( al' smo ga zeznuli :))


.pre
CFLAGS="-O3 -pipe -fomit-framepointers
.pre
* opcije za c kompajler (vidi: man gcc)


.pre
CXXFLAGS="${CFLAGS}
.pre
* opcije za c++ kompajler (vidi: man gcc)


.pre
CHOST="i686-pc-linux-gnu"
.pre
* raฤunalo na kojem radimo (ovo je postavka za veฤ‡inu raฤunala)


.pre
#ACCEPT_KEYWORDS="~x86"
.pre
* maknemo znak '#' ako hoฤ‡emo instalirati ne stabilne pakete


.pre
USE="X kde alsa"
.pre
* ovdje kaลพemo za ลกto hoฤ‡emo podrลกku (lista vam se nalazi u /usr/portage/profiles/use.desc)


.pre
PKGDIR="/usr/portage/packages"
.pre
* ovo nam je za sada zanimljivo jer ฤ‡emo kasnije dizati binarne pakete sa cd-a a oznaฤava gdje se oni nalaze (za sada to neฤ‡emo dirati)


^^^ Prebacivanje source-va


iz fedore smo mountali cdrom sa source-vima unutar gentoo okoline (/mnt/gentoo/mnt/cdrom ลกto iz gentoo okoline vidimo kao /mnt/cdrom :) ):

.pre
mount /dev/cdrom /mnt/gentoo/mnt/cdrom
.pre


i onda ih iz chroot-a prebacili sa:


.pre
cp /mnt/cdrom/distfiles/* /usr/portage/distfiles
.pre



^^^ Prvo emerge-anje


Sad moramo (sudeฤ‡i po Gentoo handbook-u) kompajlirati sysklogd i vixie-cron:


.pre
emerge vixie-cron
emerge sysklogd
.pre
* sysklogd je servis za filtriranje poruka u datoteke u /var/log
* vixie-cron je servis za periodiฤno izvrลกavanje programa

Ti servisi se moraju pokrenuti pri bootanju maลกine:

.pre
rc-update add vixie-cron boot
rc-update add sysklogd boot
.pre




^^^ Servisi


rc-update program dodaje/briลกe servise iz boot procesa a ima slijedeฤ‡i oblik:


.pre
rc-update akcija servis level
.pre
* `'akcija`' je radnja koju program treba obaviti a ona moลพe biti add ili del
* `'servis`' je ime servisa s kojim neลกto hoฤ‡ete napraviti
* `'level`' je runlevel nad kojim hoฤ‡ete raditi a moguฤ‡i su boot, nonetwork ili default

za popis instaliranih servisa, levela i njihovih stanja ukucajte:

.pre
rc-status --all
.pre
* servisi vam se nalaze u /etc/init.d direktoriju s pripadnim imenom pa ih moลพete i ruฤno startati, restartati, zaustaviti itd. :


.pre
/etc/init.d/servis akcija
.pre
* `'servis`' je ime servisa (pr. sysklogd)
* `'akcija`' je radnja koju hoฤ‡ete obaviti a moguฤ‡e je:
* `'start`' za startanje
* `'stop`' za zaustavljanje
* `'restart`' hm... i wonder :)
* `'zap`' u sluฤaju da neลกto poฤ‘e po zlu (resetiranje servisa)



^^^ Dodatne stvari


Poลกto smo kao root fs uzeli resierfs moramo kompajlirati alate za njega jer ne dolaze ukljuฤeni u osnovni sistem.


.pre
emerge reiserfstools
.pre




^^^ Zavrลกna faza


sada dolazimo do instalacije binarnih paketa pa u /etc/make.conf moramo staviti:


.pre
PKGDIR=/mnt/cdrom
.pre


da ih vuฤe sa cd-a (to kasnije moramo promjeniti natrag jer ฤ‡e nam se dogaฤ‘ati ฤudne stvari - ovo je iz iskustva :) )

nakon toga iz fedore moramo demountati cd:


.pre
umount /mnt/gentoo/mnt/cdrom
.pre


zamjeniti ga s onim koji sadrลพi binarne pakete i ponovno mountati:


.pre
mount /dev/cdrom /mnt/gentoo/mnt/cdrom
.pre


a sad iz gentoo okoline (aka chroot):


.pre
emerge -k kde
.pre


ovdije nam -k kaลพe ฤ‡e emerge proces prvo pogledati u PKGDIR da li postoji binarni paket i ako postoji cool, a ako ne postoji kompajliraj novi :)


^^^ Puลก pauza


Oni koji puลกe mogu jednu zapaliti.


^^^ Gotovo


veฤ‡??? je ovaj stroj brz :)

Sada slijedi konfiguracija X-a pomoฤ‡u program xf86config koji nas detaljno ispita o svemu i svaฤemu vezanom za grafiฤki sustav. Utaลพimo njegovu znatiลพelju i dodamo xdm servis (sluลพi za dizanje X-a) da se diลพe pri boot-u:


.pre
rc-update add xdm default
.pre


Postavimo root password:


.pre
passwd
.pre


restartamo, bootamo u Gentoo i sretni i zadovoljni skoฤimo pod autobus :))

Ok! To je to! Ekipa, za ovo ste mi svi duลพni po jednu OPAKU kavu!

btw, ako ima nejasnoฤ‡a, pitanja i sl. piลกite.

-- [HrvojeZeba], 17/10/04












----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet161004/ObjasnjenjeKoristenihNaredbiPriGentooInstalaciji> {date: 2004-10-17 22:32:16 +0200}
^ Proลกli susret: 09.10.04.

{toc}


^^ Tko
* [MarcellMarsNudi] / [MarcellMarsTrazi]
* [AnTe]
* [HrvojeZeba]
* [DrGspot]


^^ ล to


^^^ Plan#1 za subotu 09.10.04.

Javio se Ante da ฤ‡e dofurati kantu da instaliramo Gentoo. To znaฤi da je plan:
* osnove boot procesa + konfiguracija GRUB-a za dual boot (45 minuta)
* instaliranje Gentoo-a sa stagea3 (45 minuta)
* koriลกtenje offline portage snapshota (znaฤi bez _emerge rsynca_) s CD-a i/ili s udaljenog stroja preko nfs-a (15 minuta)
* koriลกtenje veฤ‡ skompajliranih binarnih paketa sa drugog stroja s DVD-a i/ili preko nfs-a (45 minuta)
* kopiranje KNOPPIX /etc/X11/xorg.conf ili /etc/X11/XF86Config-4 na naลกu HD instalaciju jer je nekako her Knopper to baลก fino posloลพio, pa uglavnom radi ko vurica.

Kraฤ‡e i jasnije, za pobjedu nad strahom oko neznanja ลกto je pobogu GRUB, emerge, rsync, snapshot i sl., instalirat ฤ‡emo distribuciju Gentoo na jedan stroj i to sve skupa korak po korak objaลกnjavati.

Ako ste zainteresirani samo za objaลกnjenje boot procesa i konfiguraciju GRUB-a onda planirajte 45 minuta za to, pa slobodno odete u drugi dio prostora u mami gdje ฤ‡e netko pitati, a netko odgovarati. Razmjena vjeลกtina. Ez simpl ez det ;)

Ima li dobrovoljaca za dokumentirati cijeli proces?


^^^ Plan#2 za subotu 09.10.04.


Ima li dobrovoljaca za paralelan program? 

Ajde, ajde, nije to tako teลกko. Pomoฤ‡i ฤ‡e ekipa.

Pobriลกeลก zadnja tri reda (ukljuฤujuฤ‡i ovaj), napiลกeลก ลกto nudiลก (ljudi ฤ‡e to cjeniti) i prebacili smo normu ;)


^^ Zapisnik


^^^ BOOT-LOADER


Proces boot-a:
* maticna ploca ima BIOS - omogucuje izbor prioritetnog boot-device-a
* boot-loader - nastavlja proces boot-a, pohranjuje se najcesce na
  disk
* master boot record - prvih 512 byte-ova svakog diska, u njemu je
  inicijalni program koji ukazuje na OS
* partition table - informacije o razmjestaju sadrzaja diska
* boot loader upisuje osnove informacije u master boot record (MBR)
* Windows automatski prepisuje MBR
* dobro je najprije postaviti Win, pa onda Linux  
* dva kljucna boot loader-a: GRUB i LILO
* LILO je stabilan
* GRUB je noviji, nije ga potrebno ponovo pokretati nakon
  promjene konfig. podataka
* proces boot-a:  BIOS, boot loader, pointing na kernel, ucitavanje
  kernel-a
* kernel inicijalizira hardware
* programi se obracaju kernel-u da bi raspolagali resursima
* kernel otvara virtualne terminale
* X-win se otvara na 5. i 7. virtualnom terminalu
* kernel upravlja file system-om
* Linux-distribucije koriste isti kernel
* moguce je koristiti bilo koji kernel



^^^^ GRUB
* GRUB ima command line koja omogucuje rad poput onog u shell-u,
  takodjer omogucuje postavljanje slika (splashimage)
* moze pokrenuti iz Linux-instalacije
* vazno je zapamtiti na kojoj particiji su konfig. datoteke
* cfdisk - prikaz podataka o particijama diska
* GRUB daje informaciju o polozaju kernel-a
* mount /dev/hda1; ls /boot - prikaz kernel-a na 1. particiji
* GRUB ima auto completition (pritisak na tipku TAB)


.pre
grub>
  root (hd0,0) - odredjivanje root particije (na kojoj su kernel-i)
  setup (hd0) - instalacija GRUB-a u MBR
.pre
* ls /boot/grub - imenik GRUB-a
* menu.lst ili grub.conf (softlink na menu.lst) - konfiguracijska datoteka:
  

.pre
timeout - vrijeme cekanja prije ucitavanja default kernel-a
  root (hd0,0) - disk na kojem je kernel (GRUB-notacija)
  kernel... - putanja kernel-a na disku (shell-notacija)
.pre
* za dual boot (na racunalo s Windows-om) je potrebno upisati
  postavke:

.pre
title Windows
  rootnoverify (hd0,0)
  makeactive
  chainloader +1
.pre
* GRUB prije ucitavanja kernel-a omogucuje promjenu postavki


^^^ Gentoo od stagea 3
* Na alociranu particiju odrediti filesystem (ext2, ext3 ili reiserfs)
* Postoji vise tzv. stage-eva (stage 1, 2 i 3)
* Stage 1 je instalacija od samog pocetka "gradja temelja i ostalog"
* Stage 2 je instalacija na vec postavljeno "nadogradnja na temelje"
* Stage 3 je instalacija vec gotovih postavki,tj. paketa  "gradja zidova"
* U nasem slucaju koristit cemo Stage 3 kako bi olaksali i ubrzali instalaciju
* Mount-irati  novi folder na particiju (/mnt/gentoo u nasem slucaju)
* Odpakirati pakete(programe) u /mnt/gentoo 
* Odpakiravanje traje i traje....i traje...i traje :)....opa, evo napokon kraj :P
* Sada postoji struktura systema, tj. root filesystem
* Mount-irati proc iz /proc u /mnt/gentoo/proc (mount -t proc /proc /mnt/gentoo/proc)
* Promijeniti root filesystem u /mnt/gentoo (chroot /mnt/gentoo /bin/bash)
* Kopirati programe sa snapshot-a na CD-u na hard(portage)
* Kopirati source-eve kernela  na hard disk
* Konfiguracija i kompajliranje kernela:
* {image: kompajliranje_mali.gif}






















----

"original"<http://www.razmjenavjestina.org/ProsliSusretiTkoSto/SusRet091004> {date: 2004-10-17 22:26:10 +0200}