Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
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.
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class="socialtextLogo"><img src="http://www.eu.socialtext.net/static/2.3.0.0/images/st/logo/socialtext-logo-152x26.gif" width=152 height=26></div>
</div>
<!--}}}-->
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'>>
https://saturn.ffzg.hr/razmjenavjestina/
[[SocialtextScreenStyle]]
[[SocialtextStyleOverrides]]
[[Styles HorizontalMainMenu]]
@@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&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 = '™';
}
},
{
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}