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");
}
//}}}
^^^ Lampa od nepotrebinh cd-a
Evo jednog korisnog rjeลกenja za sve one koji kod kuฤe imaju hrpetine starih i nepotrebnih cd-a i neznaju ลกto ฤe sa njima. Na ovoj lampi ฤe vam zavidjeti svaki g33k, ako ne i neki dizajner. No bacimo se sad na posao!
Potreban materijal:
.pre
1. Hrpetina cd-a
2. 1 drvena ploฤa od koje ฤete naฤiniti postolje
3. 1 12 voltno napajanje za lampe sa prekidaฤem
4. Matice i podloลกke za ลกarafe
5. 1 katoda iz monitora
.pre
http://img59.imageshack.us/img59/1474/0000001gz5.th.jpg
http://img442.imageshack.us/img442/803/0000007bj8.th.jpg
Izvedba:
Prvo napravite postolje i gornji dio lampe od drvene ploฤe. Izreลพite ju na jednake komade, veliฤinu izaberite po volji. Donji dio odnosno postolje napravite od dva komada, tako da bude deblje nego gornji dio, zbog toga ลกto ฤe u taj dio iฤi drลพaฤi za cd-e, i zbog stabilnosti tih drลพaฤa. Nakon toga na postolju izbuลกite 4 rupe, a na gornjoj plohi izbuลกite rupu u koju ฤe iฤi transformator od katode. Nakon izbuลกenih rupa potrebno je drvo obojati, boju birajte po ลพelji, moลพete ga samo i prelakirati. Nakon ลกto s dijelovi pripremljeni, vrijeme je da se sklope u jednu cjelinu. Postavite 4 tanke ลกipke u one 4 rupe koje ste izbuลกili na postolju, te ลกipke ฤe vam biti drลพaฤi za cd-e, zatim elektroniku postavite u srednji veฤu rupu u koju ฤete osim elektronike staviti i katodu. Na katodu meฤite cd-e tako da vam katoda prolazi kroz sredinu cd-a odnosno kroz onu rupu na sredini cd-a. Da zaboravio sam reฤi da bi bilo poลพeljno ako bi one 4 ลกipke mogli narezati navoje na gornji dio, onaj gdje ฤe iฤi gornja ploฤa, tako da moลพete naลกarafiti matice. Kad ste to napravili vaลกa lampa je praktiฤki gotova!
http://img59.imageshack.us/img59/8789/1003506vr8.th.jpg
http://img59.imageshack.us/img59/3381/1003510ra4.th.jpg
http://img69.imageshack.us/img69/6657/1003505lw7.th.jpg
Uลพivajte u vaลกoj novoj g33k lampi!
Pozdrav!
-- [BuD], 20/09/06, preuzeo sa http://www.teamhackaday.com/forum/viewtopic.php?t=1551
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLampaOdCd> {date: 2007-04-03 22:28:59 +0200}
aa
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BudNudi> {date: 2007-01-27 14:49:57 +0100}
^^^ Lampa od nepotrebnih cd-a
Evo jednog korisnog rjeลกenja za sve one koji kod kuฤe imaju hrpetine starih i nepotrebnih cd-a i neznaju ลกto ฤe sa njima. Na ovoj lampi ฤe vam zavidjeti svaki g33k, ako ne i neki dizajner. No bacimo se sad na posao!
Potreban materijal:
.pre
1. Hrpetina cd-a
2. 1 drvena ploฤa od koje ฤete naฤiniti postolje
3. 1 12 voltno napajanje za lampe sa prekidaฤem
4. Matice i podloลกke za ลกarafe
5. 1 katoda iz monitora
.pre
http://img59.imageshack.us/img59/1474/0000001gz5.th.jpg
http://img442.imageshack.us/img442/803/0000007bj8.th.jpg
Izvedba:
Prvo napravite postolje i gornji dio lampe od drvene ploฤe. Izreลพite ju na jednake komade, veliฤinu izaberite po volji. Donji dio odnosno postolje napravite od dva komada, tako da bude deblje nego gornji dio, zbog toga ลกto ฤe u taj dio iฤi drลพaฤi za cd-e, i zbog stabilnosti tih drลพaฤa. Nakon toga na postolju izbuลกite 4 rupe, a na gornjoj plohi izbuลกite rupu u koju ฤe iฤi transformator od katode. Nakon izbuลกenih rupa potrebno je drvo obojati, boju birajte po ลพelji, moลพete ga samo i prelakirati. Nakon ลกto s dijelovi pripremljeni, vrijeme je da se sklope u jednu cjelinu. Postavite 4 tanke ลกipke u one 4 rupe koje ste izbuลกili na postolju, te ลกipke ฤe vam biti drลพaฤi za cd-e, zatim elektroniku postavite u srednji veฤu rupu u koju ฤete osim elektronike staviti i katodu. Na katodu meฤite cd-e tako da vam katoda prolazi kroz sredinu cd-a odnosno kroz onu rupu na sredini cd-a. Da zaboravio sam reฤi da bi bilo poลพeljno ako bi one 4 ลกipke mogli narezati navoje na gornji dio, onaj gdje ฤe iฤi gornja ploฤa, tako da moลพete naลกarafiti matice. Kad ste to napravili vaลกa lampa je praktiฤki gotova!
http://img59.imageshack.us/img59/8789/1003506vr8.th.jpg
http://img59.imageshack.us/img59/3381/1003510ra4.th.jpg
http://img69.imageshack.us/img69/6657/1003505lw7.th.jpg
Uลพivajte u vaลกoj novoj g33k lampi!
Pozdrav!
-- [BuD], 20/09/06, preuzeo sa http://www.teamhackaday.com/forum/viewtopic.php?t=1551
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLampaOdCda> {date: 2006-09-19 22:15:25 +0200}
HASH(0x89df0c8)
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiB9ฤenjeTipkovnice> {date: 2006-08-23 09:14:37 +0200}
^^^ Klima kuฤne izrade
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/02_fan_front.jpg
Poลกto je doลกlo vrijeme vruฤina i sparina vrlo je teลกko nekaj radit za kompom ili bilo ลกto drugo ako nemate klima ureฤaj. Tako se je netko dosjetio i napravio klima ureฤaj domaฤe izrade, pa ako imate vremena, volje i materijala bacite se na posao.
^ Potreban materijal
.pre
1. ventilator
2. bakrene cjevcica (malo duลพa)
3. polistirena kutija
4. led
5. pumpa za akvarij
.pre
^ Izvedba
Bakrene cjevฤice ili cjev u komadu postavite sa prednje i zadnje strane ventilatora (ลกto viลกe cjevi imate ventilator ฤe puhati hladniji zrak), to ฤe vam vjerojatno biti n
ajkompliciraniji dio posla.
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/01_overall.jpg
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/02_fan_front.jpg
Drugi dio posla je taj da vam treba neka posuda ili kutija koja ima jako dobru izolaciju, jer ฤete u njoj drลพati led i ledenu vodu koja ฤe piฤit po cjevima. Da bi voda mo
gla teฤi po cjevima potrebna vam je pumpa za akvarij, odnosno ona pumpa koju meฤete u akvarije gdje drลพite svoje ribice. Na kutiji je potrebno napraviti rupicu u koju ฤet
e metnuti cjevฤicu koju nadalje spajate sa bakrenim cjevฤicama na ventilatorom.
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/02_fan_front.jpg
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/06_pump.jpg
Na kraju provjerite jel vam voda na kojem djelu curi, ako curi pokrpajte, to bi bilo najbolje sa silikonom, jel znate da su voda i struja najbolji prijatelji ;)
I to bi bilo to, nije komplicirano, a mislim da bi vas moglo barem malo ohladiti u ovim vruฤinama. Pa sretno vam sa izvedbom!!
-- [BuD], 13/07/06, preuzeo sa http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac.html
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiKlimaKuฤneIzrade> {date: 2006-07-13 13:12:17 +0200}
^^^ Coreutils na Ubuntu sa Gentoo patch-om
Ako neznate sto je "Coreutils"<http://www.gnu.org/software/coreutils/>, to je skup osnovnih komandi koje koristite u vaลกem omiljenom shell-u. To su komande tipa cp, ls, mv... E sad zaลกto taj update coreutilsa na "Ubuntu"<http://ubuntulinux.org/>? E pa zato ลกto taj coreutils ne sadrzi jednu opciju u komandi cp koja je jako korisna i interesantna.
{image: copy.jpg}
Kako to napraviti:
1. Skinete coreutils verziju 5.3.0 [ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.3.0.tar.bz2 ovdje]
2. otpakirate je na bilo koje mjesto(najbolje u vaลก home direktorij) sa komandom *tar xvjf coreutils-5.3.0.tar.bz2*
3. skinete gentoo patch za coreutils "ovdje"<http://www.inet.hr/~tmarcink/pub/linux/001_all_coreutils-gen-progress-bar.patch>
4. skopirate ga u direktorij gdje ste otpakirali coreutils (koji se zove coreutils-5.3.0)
5. dok se nalazite u direktoriju od coreutilsa patchate coreutils sa *patch -p1 < 001_all_coreutils-gen-progress-bar.patch*
6. to ne traje dugo, i ako je sve dobro proslo moralo bi vam negdje pisati *Hunk suceeded*
7. dok se jos nalazite u direktoriju coreutilsa ulogirate se kao root sa *sudo su*
8. zatim krenete kompajlirati coreutils sa *./configure --prefix/opt/coreutils && make && make install*
9. kad je gotovo, editirate vas .bashrc ili koji vec shell koristite sa *vim .bashrc* stisnete *i* i na kraju fajla dodate *alias cp='/opt/coreutils/bin/cp -vg' *, stisnete tipku ESC, i onda napiลกete *:wq*
10. napiลกete *source .bashrc* i uลพivate u novoj komandi *cp*
--- [BuD], 13/11/05
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeUbuntuCoreutilsGentooPatch> {date: 2006-07-03 09:16:23 +0200}
^^^ G33k Manลพete
http://geektechnique.org/images/cufflinks-13.thumb.jpg
Eto opet malo poslastica za geekove, istina ovo je neลกto malo drugaฤije, ali mislio sam da je zanimljivo, pa eto da podjelim sa svima. Sigurno znate kako je na svadbama, ekipa u odjelima i suknjicama, sve nekako jednoliฤno, ako ลพelite biti drugaฤiji od nijh kao i svaki geek, eto jedan mali i brzi savjet.
^ Problem se nalazi ovdje
http://geektechnique.org/images/cufflinks-1.thumb.jpg
Kao ลกto vidite koลกulja je raskalaลกena i nema manลพeta.
Da biste rijeลกili vaลก problem potreban vam je sljedeฤi materijal:
http://geektechnique.org/images/cufflinks-2.thumb.jpg
.pre
1. Krimp kljeลกta
2. Komad UTP kabla
3. Konektori
.pre
^ Izvedba
Ogulite dio kabla, uzmete dvije ลพiฤice te im odredite duลพinu dovoljnu do proฤe kroz obje rupe, nemojte da bude prekratko ili predugo jel je onda ruลพno za vidjet. Dajte si malo truda! Duลพinu omฤe odredite od oka.
http://geektechnique.org/images/cufflinks-3.thumb.jpg
Kada ste odredili duลพinu omฤe, odreลพite kabal sukladno tome. Omฤe moลพete napraviti od istog kabla, no bit ฤe zanimljivije da imate razliฤite boje. :)
http://geektechnique.org/images/cufflinks-4.thumb.jpg
Od odrezanih ลพiฤica napravite omฤe, pokuลกajte da budu jednake duลพine, koje ubacite u konektore.
http://geektechnique.org/images/cufflinks-6.thumb.jpg
Kad mislite da ste odredili dobru duลพinu, uzmite krimp kljeลกta i stisnite te omฤe i konektore, kao da krimpate UTP kabal.
http://geektechnique.org/images/cufflinks-7.thumb.jpg
Da biste zavrลกili cijelu stvar potreban vam je joลก jedan malo veฤi komad ลพice koji ฤe sluลพiti za uฤvrลกฤivanje manลพete na koลกulju. Odreลพite malo veฤi komad ลพice, boja je po vaลกem izboru.
http://geektechnique.org/images/cufflinks-15.thumb.jpg
ลฝicu presavinite na pola.
http://geektechnique.org/images/cufflinks-16.thumb.jpg
Kada ste ju presavinuli, umetnite ju u drugi dio manลพete, koji se nalazi u koลกulji, te ga presavinite joลก jednom prateฤi strelice na slici.
http://geektechnique.org/images/cufflinks-17.thumb.jpg
To bi trebalo izgledati ovako.
http://geektechnique.org/images/cufflinks-18.thumb.jpg
I to je to, spremni ste za svadbu, neฤu reฤi za barenje komada jel g33kovi ne bare ลพene. :)
http://geektechnique.org/images/cufflinks-12.thumb.jpg
Evo joลก jednom kako bi te manลพete trebale izgledati.
http://geektechnique.org/images/cufflinks-19.thumb.jpg
Uลพivajte u g33k modi!!
-- [BuD], 29/06/06, preuzeo sa http://geektechnique.org/projectlab/651/geek-chique-how-to-make-cuff-links
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiG33kManลพete> {date: 2006-06-29 21:52:13 +0200}
^^^ Popravak daljinca
Doma sigurno imate barem jedan daljinski upravljaฤ koji ne radi kako treba. Najฤeลกฤi problemi su da ne radi jedna tipka, da daljinski uopฤe ne radi, da je mjesto za bateriju korodiralo, ili da su tipke vrlo ljepljive od 'ko zna od ฤega sve. Najteลพi dio posla oko popravka daljinskog upravljaฤa je njegovo rastavljanje. Prilikom rastavljanje morate biti oprezni da ne potrgate plasiku. Nju je zapravo dosta teลกko rastaviti, ali morate si dati malo truda i strpljenja. No dosta uvoda bacimo se na pravi posao.
http://static.instructables.com/pub/3b/5a6d98/f3390948e61b5fedebe9e72b.medium.jpg
^^ Korak 1
Nabavite nove baterije tako da ste sigurni da su baterije u redu, jel ฤe nam za ovaj dio bit potrebne valjane baterije. Druga stvar koja nam je potrebna je video kamera. Video kamera nam je potrebna iz tog razloga ลกto ฤemo sa njom provjeriti valjanost infra-crvene lampice na daljinskom upravljaฤu. Metnite nove baterije u daljinac, upalite kameru, i usmjerite daljinac prema kameri, tako da kad pogledate u kameru vidite infra-crvenu lampicu. Stiลกฤite tipke i trebali biste vidjeti da se lampica pali, gasi (crveno svjetlo). Isprobavajte tako tipku po tipku, i tako ฤete otkriti koja ne radi kako treba, i vidjet ฤete jel vam daljinac uopce radi, ili je totalno mrtav.
http://static.instructables.com/pub/e5/4aec77/222d08ce3c1941d8dbb86fab.medium.jpg
^^ Korak 2
Otvorite daljinski upravljaฤ. Par savjeta za otvaranje, prvo odลกerafite sve ลกerafiฤe koji se mogu nalaziti ispod naljepnice ili ispod gumene zaลกtite. Ako nema ลกerafiฤa, onda paลพljivo otvorite kuฤiลกte sa neฤime ลกto ga neฤe oลกtetiti.
http://static.instructables.com/pub/c1/1a59b4/b4c1aa2be775b921776bc449.medium.jpg
^^ Korak 3
Ne bi bilo loลกe da uslikate svaki korak koji radite, tako da kasnije prilikom slaganja daljinca ne razbijate glavu kamo je iลกao koji dio.
http://static.instructables.com/pub/ad/746665/7e6a665a92580103800f516b.medium.jpg
^^ Korak 4
Rastavite sve dijelove. Kod rastavljanja pripazite na gumbiฤe, jel postoje daljinski upravljaฤi koji imaju tipke u jednom komadu (gumenom), no postoje i upravljaฤi koji imaju tipke u mnogo komada, pa bi bilo pametno da provjerite koje vi imate, ukoliko imate gumbiฤe u mnogo komada uslikajte ih fotoaparatom, tako da kod sastavljanja ne bi bilo problema. Da ne pogubite gumbiฤe odloลพite ih u neku malu posudicu, u kojoj ih moลพete i oprati od praljavลกtine i praลกine. Kad rastavite daljinac trebali bi dobiti neลกto ovako:
http://static.instructables.com/pub/bf/77c1bc/a6b806ff50d9e22838f01b4f.medium.jpg
^^ Korak 5
Daljinski upravljaฤi najฤeลกฤe padaju na pod, zavrลกe pod guzicom i takve stvari, a one uzrokuju da doฤe do brisanja spojeva na konaktima za bateriju ili na ploฤici od daljinskog upravljaฤa. Temeljito pregledajte ploฤicu pod dobrim svjetlom i poveฤalom od takvih prekida. Ispravite ih sa lemilicom ako postoje. Provjerite postoje li i oลกteฤenja od vode na ploฤici, njih najlakลกe moลพete oฤistiti sa metilnim alkoholom i ฤetkicom za zube. Isto ฤiลกฤenje moลพete moลพete napraviti tako da ploฤicu operete u toploj sapunastoj vodi, nakon toga dobro isperite i osuลกite fenom za kosu. Iste postupke moลพete primjeniti i za mobitele i ostale sliฤne naprave.
http://static.instructables.com/pub/a6/fab75b/f8f5126c89c4e294e981e834.medium.jpg
^^ Korak 6
Nakon ลกto ste obavili elektroniฤki dio, bacite se na ฤiลกฤenje. Sve plastiฤne djelove ubacite u posudu sa vodom i nekim deterฤentom koji dobro uklanja masnoฤu i prljavลกtinu oฤistite sve prljave dijelove, i tipke naravno. Pri ฤiลกฤenju moลพete se posluลพiti malom ฤetkicom.
http://static.instructables.com/pub/8b/ddb512/b10135db81b6bfb8b92678a9.medium.jpg
^^ Korak 7
Kada ste gotovi sa ฤiลกฤenjem, dijelove dobro isperite toplom vodom tako da na njima ne ostane sapunice. Kod ispiranja moลพe vam posluลพiti cjedilo, tako da ne bi izgubili koji sitniji dio (gumbiฤ). Kada ste isprali sve dijelove, dobro ih osuลกite krpom ili papirnatim ruฤnikom, te provjerite jel vam je moลพda ostalo joลก prljavลกtine, koju skinete sa ruฤnikom ili krpom, jel lako se zna desiti da tipke nakon pranja od prljavลกtine ostanu ljeplive.
http://static.instructables.com/pub/9a/61e527/2584e1390897ddc3976f923a.medium.jpg
^^ Korak 8
Skoro ste gotovi sa ฤiลกฤenjem, no prije nego daljinski upravljaฤ sastavite nazad, provjerite ima li kakvih oลกteฤenja na njemu, koja moลพete popraviti sa super ljepilom. Ako na daljincu postoje male ogrebotine i udubljenja, njih takoฤer moลพete popraviti tako da plastiku ugrijete sa fenom za kosu, te onda ispravite. Prilikom vraฤanja tipki, pazite da tipke pogreลกno ne rasporedite! (ukoliko imate tipke u djelovima).
http://static.instructables.com/pub/3b/5a6d98/f3390948e61b5fedebe9e72b.medium.jpg
^^ Korak 9
Kada je sve na svome mjestu, ubacite baterije u daljinac te ga ponovno paลพljivo provjerite video kamerom, svaku tipku! Ako sve radi napravili ste vraลกki dobar posao! Uลพivajte u gledanju televizora, a pogotovo utakmica sad za vrijeme svjetskog prvenstva!!
http://static.instructables.com/pub/e5/4aec77/222d08ce3c1941d8dbb86fab.medium.jpg
Pozdrav!!!
-- [BuD], 11/06/06, preuzeo sa http://www.instructables.com/ex/i/FBCDA58E462E1029AC23001143E7E506/?ALLSTEPS
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPopravakDaljinca> {date: 2006-06-12 09:14:08 +0200}
^^^ TicTac Lampica
Ovo mi je jedna baลก cool i vrlo korisna stvarฤica, mala je ali Vam moลพe mnogo pomoฤi. Kao ลกto i uvijek naglasim, a naglasit ฤu i sada, pod temom [SvakodnevneDovitljivosti] naฤi ฤete samo sitnice koje su praktiฤne, jeftine i viลกe manje jednostavne za izvedbu, e pa tako je i ova lampica takoฤer jeftina i jednostavna za izvedbu. No da ne duลพim bacimo se na ono bitno!
*Potrebni alat i oprema:*
.pre
1. TicTac kutijica (prazna)
2. tri AAA baterije
3. jedna led lampica
4. mali prekidaฤ
5. jedan otpornik od 27 oma
.pre
http://www2.grynx.com/wp/projects/TicTac%20flashlight/tb/prylarlampa.jpg
*Par rijeฤi o lampici:*
U kutijicu metnite sve tri baterije, savrลกeno stanu, nakon toga na poklpcu kutijice izbuลกite rupicu za led lampicu i prekidaฤ.Otpornik, lampica i prekidaฤ se spajaju po sljedeฤoj shemi, ja o tome nemam pojma, ali popriliฤno sam siguran da ฤe ljudi koji se imalo kuลพe u elektroniku to skuลพiti bez problema.
Shema je sljedeฤa:
http://www2.grynx.com/wp/projects/TicTac%20flashlight/schematic.jpg
*BATT 1-3* su tri baterije AAA od 1.5V,*RESISTOR* je otpornik od 27 oma, *SWITCH* je mali prekidaฤ, a *LED1* je led lampica. ล to se tiฤe boje led lampice, odaberite po izboru. Kada spajate led lampicu, spojite ju tako da vam se kraฤa noลพica nalazi na bateriji, jel u protivnom lampica neฤe radit. Potrebne stvarฤice za ovu lampicu moลพete nabaviti u "Chipoteci"<http://www.chipoteka.hr>. Kad to sve pospajate, lampica bi morala proraditi, ako ne radi provjerite joลก jednom korak po korak da niste negdje pogrijeลกili, i to je to! Navodno lampica traje jako jako dugo, i jako dobro osvjetljava. Siguran sam da ฤe vam dobro pomoฤi u nekim situacijama. Pokuลกat ฤemo to napraviti na razmjeni vjeลกtina, pa vidjeti jel to uistinu radi i kako radi! :)
http://www2.grynx.com/wp/projects/TicTac%20flashlight/ready.jpg
http://www2.grynx.com/wp/projects/TicTac%20flashlight/tb/demolampa.jpg
Pozdrav!
-- [BuD], preuzeo sa http://www.grynx.com/projects/tictac-flashlight/
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiTicTacLampica> {date: 2006-05-22 20:55:15 +0200}
^^^ Prijenosni usb punjaฤ
http://static.instructables.com/pub/d6/5f6577/5664c5a986c54f350de0c54b.medium.jpg
Kao ลกto i samo ime kaลพe, radi se o prenosnom usb punjaฤu kojim moลพete puniti vaลกe iPode, mp3 playere itd...
Punjaฤ radi na bateriju, odnosno na njega prikvaฤite 9V bateriju i i kroz mali kruลพiฤ otpornika itd... tih 9V pretvori se u 5V, taman za usb. Zvuฤi vrlo jednostavno! Pa ajmo vidjet! :)
http://static.instructables.com/pub/73/7967c2/5e351341770084dcbca22611.medium.jpg
Potreban pribor:
.pre
1. LM/MC 7805 +5VDC regulator voltaลพe
2. Type-A ลพenski usb port
3. 100 UF (Electrolytic) kondenzator
4. 0.1 UF kondenzator
5. 150/160 ohm otpornik
6. 9V baterijska spojnica
7. 2V 20mA ledica (boja po volji)
8. neispisana ploฤica
9. ON/OFF prekidaฤ (po volji)
.pre
http://static.instructables.com/pub/e6/ba3b64/25680e18e4f05833095c6bc6.medium.jpg
http://static.instructables.com/pub/82/058d7d/067fb1cbd6eefbb680ff6348.medium.png
Na ploฤicu nacrtajte baลก ovako kako je na slici, i koristite tester neprekidnosti da budete sigurni da djelovi odvojeni crnim na slici ne (conduct). Izbuลกite rupe gdje ฤete metati komponente za izvedbu i pazite na poloลพaj polariteta za 100 uF kondenzator. To je sve ลกto je bitno za taj dio, po meni nije niลกta straลกno. :)
http://static.instructables.com/pub/0a/c454e6/646ef0b6026925a32e4c54a9.medium.jpg
Ovo je slika USB porta, pazite na poloลพaj ลพica da neลกto ne pobrkate. Ovdje je objaลกnjeno koja je ลพica za ลกto, radi bolje koordinacije, da nebi poslije bilo nismo znali! :))
I to bi viลกe manje bilo to, stavite bateriju na spojnicu i provjerite dali usb punjaฤ radi.
-- [BuD] , preuzeo sa http://www.instructables.com/ex/i/9A2B899A157310299AD7001143E7E506/?ALLSTEPS
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPrijenosniUsbPunjaฤ> {date: 2006-05-15 23:29:33 +0200}
^^^ Floppy Notes
Sigurno se sjeฤate starih ogromnih 5.25" disketa koje ste koristili na svojim komodorcima i pc-ima, koje su pale u zaborav, a m
oลพda i u smeฤu. Za one koji su ih saฤuvali evo jedne odliฤne ideje! Napravite notes od ti disketa.
http://www.acornstudios.ca/img/products/gifts/lg/floppy-disk-book2.jpg
To moลพete napraviti vrlo jednotavno, izreลพite papire na veliฤinu diskete i strpajte ih izmeฤu dvije diskete, i eto vam predivno
g notesa za kojeg bi geekovi ubili!! Pa ako imate viลกak disketa i netrebaju vam bacite se na posao!
-- [BuD], 26/04/06, preuzeo sa http://www.acornstudios.ca/products/gifts/floppy-notebook/Index.htm
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiFloppyNotes> {date: 2006-04-26 18:07:27 +0200}
^^^ Popravljanje starih i izgrebanih cd-a
Sigurno doma imate hrpetine cd-a koji vam stoje sa strane jel su beskorisni, toฤnije izgrebani su i vaลก cd/dvd rom ih nemoลพe vi
ลกe nikako oฤitati. Pogledate malo oko sebe i vidite CD negdje sastrane, u kutu nekom i kaลพete "Joj zakon!, koliko ovo nisam pogledao, tu ima odliฤnih stvari", ubacite ga u cd/dvd rom i on ga nikako neลพeli oฤitat jel je cd izgreban, nego samo ฤujete ono iritantno brujanje cd/dvd roma.
http://static.instructables.com/pub/a4/4a5f77/f635636ecf44066b2922f6fa.medium.jpg
http://static.instructables.com/pub/c4/23a8ca/2148e76cdb8f7280f204278e.medium.jpg
Malo surfajuฤi netom naletio sam na jedan odliฤan HOWTO, "Kako popraviti izgreban cd", Pogledao sam ga i vidio da bi od toga moglo neลกto biti. Pogledajte pa moลพda i vama pomogne, nemate ลกto za izgubiti!
*Potreban alat*:
.pre
1. Papirnati ruฤnici (po moguฤnosti ลกto mekลกi)
2. Krpa za poliranje (tkanina)
3. Izgrebani CD
4. Pasta za polirnje
.pre
http://static.instructables.com/pub/64/ef0d48/b358211bcf3ac89a45e07811.medium.jpg
Kako polirati CD:
Uzmite pastu za poliranje i nanesite na izgrebanu povrลกinu medija i sa papirantim ruฤnikom trljajte po izgrebanoj povrลกini. Trljanje trebate vrลกiti ravnim potezima, od centra medija prema rubu, znaฤi povlaฤite okomito na zapis na mediju. Moลพete polirati i sa kruลพnim potezima, ali eto ovaj naฤin je bolji. Polirajte to tako jedno 15 minuta. Nakon nekog vremena trebali bi osjetiti abrazivnost polir paste na mediju, to ฤe se stvoriti tako ลกto ฤete dodavati pastu na medij svaki put kad se ona posuลกi ili otpadne sa medija. Ta polir pasta miฤe jedan sloj plastike sa medija tako da time miฤete ogrebotine koje se nalaze na toj povrลกini. Nakon 15 min poliranja isperite medij pod vodom i osuลกite ga krpicom, ako su ogrebotine i dalje dosta duboke, proces ponovite joลก koji put. Kada ste gotovi cd obriลกite krpicom (tkaninom).
http://static.instructables.com/pub/34/c80bca/8aabcd3dc8c8be046579a661.medium.jpg
Ispolirani CD ubacite u cdrom i isprobajte ga jel radi, ako ne radi ponovno ponovite proces poliranja. Ova tehnika nije isproba
na na DVD medijima, stoga nisam siguran da ฤe radit na DVD-u, ali pokuลกajte nemate ลกto za izgubit.
http://static.instructables.com/pub/62/7436a6/cf49d371e69e7a91f66b7a8e.medium.jpg
http://static.instructables.com/pub/4a/3db96a/74edf80f40f3e4b96189e4fe.medium.jpg
I to bi bilo to! Nadam se da ฤe nekome pomoฤi!
-- [BuD], 28/03/06, preuzeo sa http://www.instructables.com/ex/i/2EC632F40B1E1029BC4A001143E7E506/?ALLSTEPS
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiฤiลกฤenjeCdMedija> {date: 2006-03-27 23:15:15 +0200}
^^^ Kako popraviti zapele pixele na lcd monitoru
Sigurno ste bili razoฤarani kad ste kupili novi lcd monitor ili laptop, upalili ga i nasred ekrana naลกli malu toฤkicu koja jako jako moลพe ลพivcirati. Nakon toga ste otiลกli u duฤan di ste kupili lcd monitor ili laptop i poฤeli se derati na prodavaฤa da kaj vam je to on prodao, na ลกto vam on kaลพe da taj i taj proizvoฤaฤ dopuลกta toliko i toliko mrtvih pixela, i vi ljuti kao ris odete doma i buljite u tu debilnu toฤkicu koja vas luฤaฤki bode u oฤi.
Kao i svaki dan malo sam ฤitao newse i naletio sam na moguฤe rjeลกenje vaลกih problema, a to je par recepata koji vam mogu pomoฤi kako da lako popravite zapele pixele, pa krenimo.
----
1. Ugasite monitor
2. uzmite komad tkanine, tako da ne ogrebete ekran
3. pritisnite toฤno na mjesto gdje se nalazi zapeli pixel, toฤno na to mjesto jer u protivnom moลพete napraviti joลก jedan zapeli pixel!! Tako da oprezno!
4. dok pritiลกฤete upalite kompjutor i monitor
5. prestanite pritiskati i toฤkica bi trebala nestati
----
.pre
Zaลกto i kako taj zapeli pixel?
.pre
Zapeli pixel nastaje zato ลกto se tekuฤi kristal nije dobro rasprostreo po svim pixelima, a tekuฤi kristal je u kombinaciji sa pozadinskom svjetloลกฤu vaลกeg monitora, pa tako moลพete vidjeti sliku na monitoru, a taj pixel se tako vidi zato ลกto se svjetlost krivo odbija od njega.
.pre
Koja je razlika izmeฤu mrtvog i zapelog pixela?
.pre
Razlika izmeฤu mrtvog i zapelog pixela je ta ลกto je mrtvi pixel crne boje, a zapeli pixel nije crn veฤ poprimi neku od boja!
Postoje joลก neke metode:
1. Lagano masirajte mjesto gdje se nalazi zapeli pixel
2. pustite video koji mjenja 30 boja po sekundi
Nadam se da ฤe vam ove metode pomoฤi u popravljanju monitora!
-- [BuD], 10/03/06, preuzeo sa http://wiki.ehow.com/Fix-a-Stuck-Pixel-on-an-LCD-Monitor
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPopravljanjeMrtvogPixela> {date: 2006-03-10 11:40:55 +0100}
^^^ ฤiลกฤenje tipkovnice
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2772.jpg
Kompjuterske tipkovnice se vrlo lako mogu zamazati a ispod tipki se moลพe nakupiti mnogo praลกine, kose a i ostalih prljavลกtina. Mnogi ljudi koriste razno razne naฤine da ih oฤiste, kao ลกto je naprimjer propuhivanje tipkovnice zrakom, pa zatim okretanje i tresenje tipkovnice itd. Svi su ti naฤini dobri, ali praลกine i ostale zmazanoฤe joลก uvijek ima, a ona se nalazi ispod tipki. Do tih se dijelova moลพe doฤi samo tako da maknemo tipke i oฤistimo tu povrลกinu. E ovaj howto je pravo rijeลกenje za vas.
Potreban alat za ovaj posao:
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2766.jpg
.pre
1. maramice
2. ลกarafciger
3. usisavaฤ
4. ฤaฤkalice
5. ฤaลกa vode
6. i ona stvar za ฤistit praลกinu :)
.pre
Postupak ฤiลกฤenja:
Kao prvo prije nego ลกto poฤnete potrebno je ugasiti raฤunalo i iskljuฤiti tipkovnicu iz raฤunala. Uslikate tipkovnicu digitalnim fotoaparatom tako da bi znali raspored tipki, a ako imate jako dobro fotografsko pamฤenje onda se moลพete odmah bacit na posao. Naฤite neku veฤu povrลกinu na kojoj ฤete raditi.
Nakon ลกto ste to napravili uzmite usisavaฤ sa nastavkom za usisavanje manjih predjela i usiลกite tipkovnicu.
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2769.jpg
Kada ste zavrลกili sa usisavanjem uzmete "ono za ฤistit praลกinu" i preฤete preko tipki.
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2772.jpg
Zavrลกetkom toga bacamo se na ozbiljniji dio ovog cijelog posla. Uzmite ลกarafciger i povadite tipe van, *NEMOJTE TO RADITI PRIJE NEGO STE USLIKALI TIPKOVNICU*.
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2774.jpg
Kod vaฤenja tipki budite oprezni da ne potrgate koju, i nemojte vaditi velike tipke kao ลกto su *SPACE*, *TAB*, *ENTER*, *SHIFT* zbog toga ลกto je njih kasnije teลกko za vratiti nazad, stoga njih radije ostavite. Postupak vaฤenja je takav da ubacite ลกarafciger ispod tipke i okrenete ga.
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2781.jpg
Nakon ลกto ste povadili tipke vidjet ฤete koliko je zapravo vaลกa tipkovnica bila zamazana! Mogli bi se jako zaฤuditi!
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2789.jpg
Opet uzmete usisavaฤ i sad usiลกete povrลกinu gdje su bile tipke, primjetit ฤete da postoje djelovi koje usisavaฤ nemoลพe oฤistiti, za to uzmite ฤaฤkalicu i poฤistite te dijelove, to ฤe najverojatnije biti neki rubovi. Moลพete se koristiti i ลกtapiฤima za uลกi i vodom.
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2791.jpg
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2793.jpg
Ako pri ฤiลกฤenju koristite vodu pazite da kad sve poฤistite dobro osuลกite povrลกinu jel bi moglo doฤi do toga da vam ta voda pokvari tipkovnicu!!!Stoga dobro pazite!!
Kada zavrลกite sa ฤiลกฤenjem povrลกine ispod tipki, ona bi trebala izgledati ovako:
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2794.jpg
Pribliลพavamo se kraju i za kraj su nam ostale joลก samo tipke. Tipke stavite u neku posudu sa vodom i operite ih jednu po jednu, tako ฤete ih najbolje oฤistiti od masnoฤe i prljavลกtine. Kada ste oprali tipke, dobro ih osuลกite jel kao ลกto sam prije rekao na tipkovnici nesmije biti nimalo vide jer bi ju to moglo pokvariti!!
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2798.jpg
Sada dolazi na red vaลกa fotografija tipkovnice pomoฤu koje ฤete se orjentirati gdje ide koja tipka. Tipke vraฤate tako da ju stavite na odgovarajuฤe mjeto i pritisnete ju prstom. Time ste zavrลกili ฤiลกฤenje vaลกe tipkovnice i ona bi trebala zablistati punim sjajem, kao da je doลกla iz duฤana.Ako ลพelite na kraju kada pomeฤete sve tipke moลพete tipkovnicu prebrisati krpom i nekim sredstvom tako da kompletna bude blistava!
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2801.jpg
To bi bilo to!!
-- [BuD], 26/02/06, preuzeo sa http://www.thetechzone.com/?m=show&id=431&page=1
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiฤiลกฤenjeTipkovnice> {date: 2006-02-26 21:54:39 +0100}
^^^ Kompajliranje vanilla kernela na ubuntu
Zaลกto uopฤe ovaj howto?
E pa zato ลกto se kompajliranje vanilla kernela na ubuntu linuxu neลกto razlikuje nego na ostalim distribucijama, nije standardno.
*NAPOMENA*
Prije nego ลกto krenete sa procesom kompajliranja potrebno je instalirati neke pakete da bi cijela stvar ลกljakala. Te pakete je potrebno instalirati samo jedanput.
.pre
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gcc
sudo apt-get install gcc-3.4
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev
sudo apt-get install libqt3-mt-dev
sudo apt-get install kernel-package
.pre
Kad ste to obavili onda skinete zadnju verziju kernela sa
http://www.kernel.org
i skinete patch za njega sa
http://ck.kolivas.org/patches/2.6/
naravno ako ลพelite. Ako koristite desktop raฤunalo ili laptop onda skinite *ck* patch, no ako koristite server raฤunalo onda skinete *cks* patch.
Kada je download kernela gotov, kernel skopirajte u */usr/src* direktorij i tamo ga otpakirajte. Pripazite ako se u direktoriju nalazi soft link imenom linux, zbriลกite ga naredbom
.pre
sudo rm linux
.pre
Nakon ลกto ste to napravili potrebno je kernel otpakirati sa naredbom
.pre
sudo tar xvjf ime_kernela.tar.bz2
.pre
, te kreirati soft link naredbom
.pre
ln -s /usr/src/ime_kernela linux
.pre
Time smo kernel otpakirali i napravili soft link na source od kernela, zatim ga je potrebno skompajlirati, to ฤete uฤiniti tako da odete u */usr/src/linux* direktorij i upiลกete
.pre
sudo make menuconfig
.pre
, tom naredbom se otvara suฤelje u kojem konfigurirate vaลก kernel. Kada ste gotovi sa konfiguriranjem kernela potrebno je postavke spremiti tako da dok izlazite iz tog suฤelja potvrdite pitanje o spremanju kernela. Time ste spremili postavke vaลกeg novog kernela i moลพete krenuti dalje, sljedeฤi korak je da morate biti u */usr/src/linux* direktoriju, to napravite tako da upiลกete
.pre
cd /usr/src/linux
.pre
, sljedeฤa stvar je
.pre
sudo make-kpkg clean
.pre
i
.pre
sudo make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
.pre
s time da pod *custom* moลพete upisati neลกto po vaลกem izboru, moลพete i vaลกe ime. To ฤe potrajati neko vrijeme, ovisno o brzini vaลกeg procesora. Nakon zavrลกetka tog procesa, potrebno je vratiti se u */usr/src* direktorij i tu ฤete naฤi dva *.deb* paketa koja su zapravo vaลก novi kernel.
.pre
kernel-image-2.6.12-custom_10.00.Custom_i386.deb
kernel-headers-2.6.12-custom_10.00.Custom_i386.deb
.pre
Njih je potrebno instalirati sa komandom
.pre
sudo dpkg -i kernel-image-2.6.12-custom_10.00.Custom_i386.deb
sudo dpkg -i kernel-headers-2.6.12-custom_10.00.Custom_i386.deb
.pre
Time ste zavrลกili kompajliranje i instalaciju vaลกeg novog kernela. Ponovno pokrenite vaลกe raฤunalo, s time da kad vam se pokrene grub birajte novi kernel. I to je to!!!
--[BuD], 09/02/06
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeKompajliranjeKernelaNaUbuntu> {date: 2006-02-13 21:17:51 +0100}
[BuDPitanjeRootFsKernelPodrska]
[BuDPitanjeInstaliranjeLinuxaNaIpaq]
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BudTrazi> {date: 2006-02-12 19:46:49 +0100}
^^^ Podloga za miลกa za samo par kuna i par minuta
http://www.paulstamatiou.com/wp-images/articles/waxpaper_mousepad/mousepad.jpg
Ovo je jedna vrlo jednostavna za izvedbu, i jeftina podloga koju moลพete napraviti za svega 2 minute. Podloga se radi od voลกtanog papira, tako da je vrlo glatka, da se po njoj moลพe brzo micati miลกem.
*Potrebni materijal*
.pre
1. voลกtani papir
2. selotejp
3. ลกkare
.pre
*Kako napraviti podlogu*
Uzmete komad voลกtanog papira, uzimate mjeru koja vama odgovara, odnosno velicini plohe na koju ฤete ga zaljepiti. Prvo donju stranu papira obljepite selotejpom, nakon toga ju zaljepite na poglogu, odnosno vaลก kompjutorski stol, e nakon toga joลก obljepite rubove tako da je papir jeko dobro zaljepljen za vaลก stol da ne bi doลกlo do pomicanja i guลพvanja papira. Naravno ta podloga nije vjeฤna, morati ฤete ju mjenjati kad se stara istroลกi. Prijenego ลกto miลกa stavite na podlogu, provjerite donju stranu da nije zamazana ili moลพda ima neลกto na sebi ลกto bi moglo podrapati papir, u svakom sluฤaju dobro oฤistite donju stranu miลกa (tamo gdje se nalazi infra crveno svjetlo). I to je to!!!
http://www.paulstamatiou.com/wp-images/articles/waxpaper_mousepad/mousepad2.jpg
-- [BuD], 12/01/06, preuzeo sa http://www.paulstamatiou.com/2006/01/05/the-best-gaming-mouse-pad-youll-ever-make/
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiJeftinaPodlogaZaMiลก> {date: 2006-01-11 23:25:47 +0100}
^^^ Odmagnetiziranje monitora
Ako vam se sluฤajno desi da vam se pored monitora zatekne neki magnet, ili vam netko namjerno proฤe magnetom pored ekrana, prvo mu razvalite ลกamarฤinu!! :))
ล alim se!
http://www.woil.ws/fixmonitor/howtomessup.jpg
http://www.woil.ws/fixmonitor/mefimessed.jpg
Nakon ovoga sigurno pomislite da vaลกem monitoru nema spasa, no nije sve gotovo, postoji i za to rijeลกenje! A ha!
Rijeลกenje je vrlo jednostavno i svatko to moลพe napraviti!
Potreban alat:
.pre
1. Buลกilica
2. Magnet veliฤine onog koji vam je prozujao po ekranu
.pre
Cijeli postupak je vrlo jadnostavan.
Naลกerafite magnet na buลกilicu (magnet moลพe biti i iz hard diska).
http://www.woil.ws/fixmonitor/drill.jpg
Usmjerite buลกilicu prema monitoru, kao laserski piลกtolj, i upalite je na najjaฤe!!!
http://www.woil.ws/fixmonitor/fixing.jpg
Nakon nekog vremena mrlje sa ekrana bi trebale nestati.
http://www.woil.ws/fixmonitor/goodasnew.jpg
Cijeli postupak naravno radite sa upaljenim monitorom!!
I to bi bilo to!!
-- [BuD], 05/01/06, preuzeo sa http://www.madville.com/link.php?id=123683&t=23
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiOdmagnetiziranjeMonitora> {date: 2006-01-04 23:17:24 +0100}
^^^ Plastiฤni stalak za bajs
http://www.instructables.com/static/pub/08/3c9b2d/a0955dee579a4475ea112176.medium.jpg
Ako nemate kamo sa biciklom, ili ga jako volite da biste ga uparkirali na sredinu dnevne sobe, a bajs sam po sebi nemre stajat bez nekog stalka, ovo je pravo rijeลกenje za vas, koje je vrlo ekonomiฤno i ne zauzima mnogo mjesta.
*Potrebna oprema za izvedbu*
.pre
1. Plastiฤne cijevi
2. pila
.pre
*Izvedba*
Izreลพete cijevi na razne dimenzije(ovisno o veliฤini kotaฤa vaลกeg bicikla)
http://www.instructables.com/static/pub/2d/f57e90/2f42180a7162927a81319235.medium.jpg
Spojite to zajedno kao na slici
http://www.instructables.com/static/pub/a2/c47a6d/b9559709d576a2863f590177.medium.jpg
I to je to, stalak je gotov!!
http://www.instructables.com/static/pub/08/3c9b2d/a0955dee579a4475ea112176.medium.jpg
-- [BuD], 14/12/05, preuzeo sa http://www.instructables.com/ex/i/050F8824BA4D10289B50001143E7E506/?ALLSTEPS
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPlastiฤniStalakZaBajs> {date: 2005-12-14 18:18:32 +0100}
^^^ Mplayer i xscreensaver problem
Zasigurno ste se veฤ upoznali sa ovim problemom, ja se jesam na Ubuntu-u, i to mi je jako iลกlo na ลพivce. Problem je u tome da mi se je palio screensaver tokom gledanja filma, pa sam morao svakih 10 min pomaknuti miลกa ili stisnut neku tipku. Pa eto rijeลกio sam problem, pa onda da rjeลกenje podjelim sa vama.
ล to je potrebno uฤiniti:
.pre
1. sudo vim /etc/mplayer/mplayer.conf
2. na kraj fajla dodate stop-xscreensaver=1
3. potvrdite sa :wq
4. i to je to!!!
.pre
-- [BuD], 08/12/05
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeMplayerIScreensaver> {date: 2005-12-08 20:19:03 +0100}
^^^ Linux sekretarica
Zvuฤi jako interesantno! Lako je izvedivo i stvarฤice potrebne za izvedbu nisu jako skupe! Stoga navalite!
Stvari koje su potrebne za realizaciju vaลกe linux sekretarice su:
.pre
1. Kompjuter sa instaliranim linuxom
2. slobodan PCI slot
3. modem (softmodem) Intel 537
.pre
http://linuxgazette.net/120/misc/smith/modem537.jpg
Sada prije svega da malo objasnim kako ta sekretarica funkcionira:
Ta telefonska sekretarica je minimalna kao telefonska aplikacija. Ona izdvaja i prikazuje korisnikovu identifikaciju za dolazne pozive. Ako telefon zazvoni viลกe od 4 puta, sekretarica se javlja i puลกta nasnimljenu poruku. Nasnimljena poruka traลพi pozivatelja da stisne tipku *1* da ostavi poruku. Prilikom pritiska tipke pozivatelj eliminira poruke od takozvanih *bulk pozivatelja* iliti onih ljudi koji te nazovu pa spuste sluลกalicu kad se netko javi! Glasovna poruka ja zapisana kao *mu-law* enkodirani podatak u datoteku sa vremenom i datumom enkodiranom u ime datoteke.
*Instalacija drivera i lajbrerija*
Sekretarica zahtjeva *zaptel divere* i *Zapata library* koje moลพete naฤi "ovdje"<http://www.asterisk.org/>.
Potrebna su dva drivera *wcfxo* i *zaptel*, oba se nalaze u zaptel paketu. Paket moลพete skinuti "ovdje"<http://ftp.digium.com/pub/zaptel/zaptel-1.0.9.2.tar.gz>.
Otpakirajte fajl, uฤite tamo gdje ste ga otpakirali i kao *root* utipkajte *make linux26* i *make install*.
Ako koristite *udev* pratite instalaciju u *README.udev*. Sljedeฤe linije moratu ubacit u vaลก */etc/udev/rules.d/50-udev.rules* datoteku:
.pre
KERNEL="zapctl", NAME="zap/ctl"
KERNEL="zaptimer", NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo", NAME="zap/pseudo"
KERNEL="zap[0-9]*", NAME="zap/%n"
.pre
Morate joลก dodati ovlasti u udev datoteku, */etc/udev/permissions.d/00-udev.permissions*
.pre
zap/*:bobsmith:bobsmith:660
.pre
Naravno umjesto bobsmith cete upisati vaลก username!!!
Zadnja stvar u zaptel konfiguraciji je da mu moramo reฤi da imamo jedno suฤelje u telefon "central office". To ฤete napraviti tako da editirate */etc/zaptel.conf* i dodate na kraj ovo:
.pre
fxsks=1
.pre
E sad moramo obratit pozornost u datoteci *zaptel.conf*, moramo otkomentirati liniju gdje se nalazi naลก *country code* za Hrvatsku!!
Kad ste to rijeลกili morate instalirati *zapata library* kojeg moลพete skinuti "ovdje"<http://ftp.digium.com/pub/zaptel/old/zapata-0.9.1.tar.gz>. Kad ste ga skinuli, otpakirajte ga i uฤite u direktorij u koji ste ga otpakirali. Ulogirajte se kao root, te utipkajte, kao root naravno*make && make install*
Ako je to proลกlo bez problema, kreฤete dalje na instalaciju i odabir modema. Modem je kao ลกto smo prije rekli Intel 537-compatible.
Modem morate postaviti u PCI slot na vaลกoj ploฤi, koji se ne dijeli niti sa jednim ureฤajem na ploฤi. Da saznate kakva je situacija na vaลกoj ploฤi proฤitaje upute koje ste sa njom dobili. Po mom miลกljenju na to se danas bas i ne mora mnogo obraฤati paลพnja, jel novije ploฤe nemaju sa time problema, to bi se moลพda moglo desiti sa starijim ploฤama.
Sljedeci problem koji se moลพe javiti jest da *wcfxo* driver ne prepozna modem, e a to ฤete rijeลกiti tako da malo prepravite *wcfxo_pci_tbl* tabelu koja se nalazi na dnu *wcfxo.c* datoteke koja se nalazi u build direktoriju. Da biste saznali koji modem imate u konzoli napiลกite *lspci -nv* da biste dobili sve potrebne podatke koje morate upisati, a to su *vendor ID, product ID, subsystem ID*
koji bi zgledali ovako:
.pre
e159:0001 8085
e159:0001 8086
e159:0001 8087
.pre
Kada je instalacija software-a i hardware-a protekla bez greลกaka, provjerite sustav sa par komandi, instalirajte module i provjerite syslog.
.pre
#modprobe zaptel
#modprobe wcfxo
#tail /var/log/messages
Sep 18 23:30:41 kernel: Zapata Telephony Interface Registered on major 196
Sep 18 23:30:51 kernel: PCI: Found IRQ 5 for device 0000:00:0b.0
Sep 18 23:30:51 kernel: PCI: Sharing IRQ 5 with 0000:00:07.5
Sep 18 23:30:51 kernel: wcfxo: DAA mode is 'FCC'
Sep 18 23:30:51 kernel: Found a Wildcard FXO: Generic Clone
Sep 18 23:30:51 kernel: Registered tone zone 0 (United States / North America)
.pre
*lsmod* bi trebao izgledati ovako:
.pre
# lsmod
Module Size Used by
wcfxo 10848 0
zaptel 185572 3 wcfxo
crc-ccitt 1664 1 zaptel
.pre
Provjerite da li wcfxo driver generira 1000 interupts po sekundi, i da se ne djeli niti sa jednim ureฤajem:
.pre
cat /proc/interrupts; sleep 10; cat /proc/interrupts
.pre
}
rezultat bi vam trebala biti jedna linija
.pre
5: 3003856 XT-PIC wcfxo
.pre
ako nije modem morate premjestiti u drugi PCI utor, tad bi izgledalo ovako:
.pre
9: 0 XT-PIC uhci_hcd, uhci_hcd, wcfxo
.pre
Zaptel vam omoguฤava da provjerite vaลกu konfiguraciju drivera, iskoristite ju za provjeru da imate samo jedan interface! Ako nije tako, provjerite *fxsks=1* liniju u konfiguracijskoj datoteci.
.pre
# ztcfg -v
Zaptel Configuration
======================
1 channels configured.
.pre
*Instalacija i koriลกtenje sekretarice*
Kod za telefonsku sekretaricu napisan je u *C* programskom jeziku i moลพete ga skinuti "ovdje"<http://linuxgazette.net/120/misc/smith/answering_machine.c>. Program morate kompajlirati sa komandom:
.pre
gcc -lzap -o answering_machine answering_machine.c
.pre
program pokrenite sa:
.pre
./answering_machine
.pre
program oฤekuje da pronaฤe 8 KHz mu-law-encoded pozdravnu poruku pod imenom *leave_a_msg.ul* u radnom direktoriju.
Pozdravnu poruku moลพete snimiti bilo kojim programom za snimanje, te nakon toga ju konvertirati u mu-law format sa programom "Sox"<http://sox.sourceforge.net/>.
Komanda za kovertiranje je:
.pre
sox leave_a_msg.wav leave_a_msg.ul
.pre
I to bi bilo to!! Imate jeftinu linux telefonsku sekretaricu!
-- [BuD] 27/11/05, preuzeo sa http://linuxgazette.net/120/smith.html
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLinuxSekretarica> {date: 2005-11-27 16:30:05 +0100}
.pre
1. echo y | apt-get upgrade --print-uris |grep -e http -e ftp |cut -d\' -f2 > fajl.txt
2. wget -i <fajl.txt>
.pre
Updejtana verzija skriptice:
.pre
#!/bin/bash
yes | sudo apt-get install --print-uris "$1" 2>/dev/null | cut -f2 -d"'" | grep '.deb$' > "$1.txt"
exit 0;
# end of file
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DebianStuff/DebianPaketiTrick> {date: 2005-11-21 21:28:39 +0100}
^^^ Grep color highlight
Ovo je jedan vrlo interesantan feature za grep, oboja vam rijeฤi koje ste traลพili sa grepom. Kako to izgleda:
{image: grep.jpg}
Kako to izvesti:
1. Odete u svoj *home* direktorij
2. editirate *.bashrc* fajl sa *vim .bashrc*
3. stisnete tipku *i* i odete na kraj fajla, i unesete *alias grep='grep --color=always' *
4. stisnete tipku *ESC* i upiลกete *:wq*
5. u shellu napiลกete *source .bashrc* i to je to!
Druลกkane, malo sam te preduhitrio, ha!!! :)
-- [BuD], 13/11/05
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeGrepColorHighlight> {date: 2005-11-13 19:24:44 +0100}
^^^ Promjena rezolucije u xorg.conf-u
Mnogi su se ลพalili, a meฤu njima i moj kompa [KlaudioStefancic], da im je rezolucija na linuxu prevelika ili premala, i neznaju kako to promjeniti. E pa to ฤete napraviti tako da editirate xorg.conf fajl!
Kuvarica za izvedbu:
1. Odete u /etc/X11/ direktorij i tu pogledate jel vam postoji xorg.conf fajl (ako nema tog fajla onda mora biti XF86config-4)
2. Editirate fajl sa vim xorg.conf
3. U tom fajlu vas zanima samo ovaj dio
.pre
Section "Screen"
Identifier "Default Screen"
Device "NVIDIA Corporation NV11 [GeForce2 MX/MX 400]"
Monitor "L1530S"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
.pre
4. U liniji _Modes_ nalazs se rezolucije koje su podrลพane, e sada vi dodajte ili pobriลกite rezoluciju koja vam je viลกak ili manjak.
Linije _Device_ i _Monitor_ mogu se razlikovati od mojih, no to vas u ovom sluฤaju ne zanima.
5. Kad ste promjenili stisnite tipku ESC, te onda upiลกite :wq
6. Restartajte x-e, tako da se odlogirate iz desktop okruลพenja, te onda stisnete CTRL+ALT+F2, te nakon toga se ponovno ulogirate kao root u konzolu i napiลกete /etc/init.d/gdm stop, ako koristite gdm, a ako koristite kdm onda /etc/init.d/kdm stop, e onda nakon toga upisete /etc/init.d/gdm start isto je i za kdm i/ili xdm, samo gdm zamjenite sa kdm i/ili xdm.
X-e moลพete restartati i pritiskom na kombinaciju CTRL+ALT+BACKSPACE koje bi cijeli _restart_ trebale napraviti automatskim.
7. I to bi bilo to!
-
----
Nadovezao bi se na ovo, postoji jedan programฤiฤ sa grafiฤkim interfejsom koji se zove "xvidtune"<http://www.xfree86.org/current/xvidtune.1.html>, kojim takoฤer moลพete rijeลกiti problem rezolucije u linuxu.
.pre
# xvidtune -show
"1024x768" 65.00 1024 1040 1176 1344 768 770 776 806
.pre
pokazat ฤe trenutnu rezoluciju...
trenutnu rezoluciju moลพete promijeniti "u letu" na slijedeฤu i/ili prethodnu rezoluciju iz linije _Modes_ sa:
.pre
# xvidtune -next
# xvidtune -prev
.pre
#
Pozdrav!
-- [BuD], 09/11/05
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjePromjenaRezolucijeUXorgConfu> {date: 2005-11-11 09:56:56 +0100}
^^^ Lijep izgled Bash-a
Ako vam je dosadio standardni izgled bash konzole, moลพete ga malo urediti.
Ja ฤu vam malo pomoฤi, ako vam se ne sviฤa promjeniti vi u svoje pa metnite na sajt !
Moj dio:
.pre
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\[\033[01;34m\]\h\[\033[00m\]\[\033[01;32m\][\@]:\[\033[01;34m\]\w\[\033[00m\]\$ '
.pre
Upute za ubacivanje linije u fajl:
1. Odete u /home/user/ direktorij (user je naravno vas nick, odnosno vi)
2. upiลกete vim .bashrc
3. skopirate moju liniju bilo gdje gdje ima mjesta ufajlu, najpoลพeljnije bi bilo na kraju fajla
4. stisnete ESC tipku i onda upiลกete *:wq*
5. zatim u konzoli napiลกete *source .bashrc*
6. i eto vam novog izgleda!!
Kako to na kraju izgleda
{image: term_color.jpg}
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjEBasHBojicE> {date: 2005-11-11 06:31:26 +0100}
^^^ Sluลกajte zvukove iz starih pokvarenih hardova
Zaลกto plaฤati ogromne novce za neke nabrijane zvuฤnike, kad moลพete nabavit stare i neispravne hard diskove i od njih sami napraviti vaลกe cool zvuฤnike!
http://www.afrotechmods.com/cheap/hdspeakers/thHdSpeakers.jpg
Kako napraviti te zvuฤnike:
Prvo nabavite jedan ili dva neispravna hard diska. Otvorite ih, pogledajte blizu glave harda, tu bi morale biti 2 male ลพiฤice koje vode u ulaznu zavojnicu koja kontrolira kretanje glava. Toฤna lokacija toga ฤe biti razliฤita od hard diska do hard diska. Spojite produลพetke ลพica na te dvije male ลพiฤice, ili potraลพite pogodno mjesto gdje ฤete ih spojiti. Uzmete zvuk (u elektroniฤkom obliku) sa izlazne utiฤnice zvuฤne kartice. Nabavite 30 watt-no pojaฤalo kao "ovo"<http://www.partsexpress.com/pe/showdetl.cfm?&User_ID=4675917&St=2098&St2=-42775942&St3=67782159&DS_ID=3&Product_ID=9568&DID=7> i spojite ih zajedno. Sabijeni pojaฤani zvuk provucite kroz zavojnice koje kontroliraju micanje glave hard diska i dobit ฤete traลพeni zvuk. Pojaฤani signali mogu doฤi iz bilo kojeg pojaฤala - auto radio, kuฤna linija, ili onog kojeg sami napravite. Najbolji zvuk se dobije kada je signal jaฤine od 3V do 8V RMS iz pojaฤala, pa pojaฤajte zvuk shodno tome. Ako ลพelite dobiti zvuk iz samih ploฤa potraลพite ลพice ili tragove i drugo, koji vode do motora koji rotira ploฤe. Spojite zvuk na njih. Spojite sve instrumente u paralelu sa izlazom pojaฤala. I to bi bilo to!! uลพivajte u home made zvuku!!
Moลพete pogledati i par filmiฤa kako to izvesti
"film1 6.1MB"<http://www.gryspeerdt.ch/files/hd1.avi>
"film2 6.2MB"<http://www.gryspeerdt.ch/files/hd2.avi>
"film3 8.2MB"<http://www.gryspeerdt.ch/files/hd3.avi>
ลฝelite li i malo slika kako se to izvodi:
http://www.gryspeerdt.ch/img/projects_hd20.jpg
http://www.gryspeerdt.ch/img/projects_hd21.jpg
http://www.gryspeerdt.ch/img/projects_hd27.jpg
http://www.gryspeerdt.ch/img/projects_hd22.jpg
http://www.gryspeerdt.ch/img/projects_hd24.jpg
http://www.gryspeerdt.ch/img/projects_hd25.jpg
http://www.gryspeerdt.ch/img/projects_hd26.jpg
http://www.gryspeerdt.ch/img/projects_hd23.jpg
I na kraju malo fimiฤa kako to izgleda kad muzika dere kroz hardove :)
http://www.afrotechmods.com/cheap/hdspeakers/cheesy.avi
http://www.afrotechmods.com/cheap/hdspeakers/matrix.avi
http://www.afrotechmods.com/cheap/hdspeakers/starwars.avi
http://www.afrotechmods.com/cheap/hdspeakers/trance1.avi
Viลกe moลพete vidjeti na http://www.afrotechmods.com/cheap/hdspeakers/hdspeakers.htm
-- [BuD], 08/11/05, preuzeo sa http://www.gryspeerdt.ch/index.php?nNavi=1 i http://www.afrotechmods.com/cheap/hdspeakers/hdspeakers.htm
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiHddSpeakerS> {date: 2005-11-08 00:53:07 +0100}
^^^ Instalacija Xubuntu-a
.pre
1. Ubacite Ubuntu install cd
2. Na upitu boot: napiลกete server i onda stisnete tipku enter
3. Slijedite instalaciju
4. Kad je gotovo editirajte /etc/apt/sources.list fajl
editiranje:
vim /etc/apt/sources.list
5. tu maknete # sa universe repozitorija
6. sejvajte fajl (stisnite ESC i onda napiลกete :wq)
7. Upiลกete u konzoli sudo apt-get update
8. kad je gotovo napiลกete najvaลพniju stvar sudo apt-get install xubuntu-desktop
9. i to je to!!
10. Ako ne ลกtima rezolucija na monitoru pokrenite dpkg-reconfigure xserver-xorg
11. Ako ลพelite lijepi grafiฤki login screen upiลกite apt-get install gdm
12. I ako ลพelite biti up to date sa sistemom upiลกete
apt-get install update-manager
13. E sad ste stvarno gotovi!!
.pre
-- [BuD], 02/11/05
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeXubuntuInstall> {date: 2005-11-02 18:03:12 +0100}
^^^ Kako instalirati ubuntu bez ikakvog grafiฤkog suฤelja (clean install)
.pre
1. Uzmite bilo koji ubuntu install cd (Hoary, Breezy...)
2. Prilikom upita za boot: umjesto da stisnete enter tipku napiลกite server i onda kliknite enter tipku
3. Slijedite instalaciju
4. Kad je gotovo imate clean install ubuntu, bez iฤega osim konzole naravno!
.pre
-- [BuD], 02/11/05
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeUbuntUCleanInstall> {date: 2005-11-02 16:10:18 +0100}
^^^ Laptop cooler za ฤuku i pol
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/inuse3.jpg
.pre
Potreban pribor:
- kartonska kutija
- duck tape
- neki cooler
- kombinirke
.pre
Cooler kakav vam je potreban
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/fan.jpg
1. Korak
Rezanje kartona
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/cutcboard.jpg
- pripazite da ste ostavili mjesta sa svake strane tako da kasnije moลพete korigirati ako ฤe biti potrebno, znate kako se kaลพe "od viลกka glava ne boli"
2. Korak
Ubacivanje cooler-a
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/fittingfan.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/placingfan.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/outlineoffanoutlet.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/cuttingouthole.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/backfan.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/sideoffan.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/tapedup.jpg
- mislim da sliฤice govore same za sebe, kako to sve izvesti
3. Korak
Ugradnja male podupore
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/supports.jpg
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/supportandfan.jpg
- izreลพete male komadiฤe kartona te ih ubacite ispred i iza coolera, da malo pojaฤate to kartonsko kuฤiลกte
4. Korak
Mala blokada za nesklizanje laptopa sa kuฤiลกta
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/antislide.jpg
5. Korak
Izrezivanje otvora za protok zraka
http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/topholes.jpg
I to je to!!
Vaลก laptop je olaฤen!
-- [BuD], 10/10/05, Preuzeo sa http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/hacks.html
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLaptopCooler> {date: 2005-10-10 20:54:12 +0200}
^^^ Kontrolirajte XMMS sa laserom
Ovo mi je jedna od totalno ludih stvari!!!
Radi se o kontroliranju XMMS-a sa laserom, programom koji se zove laserspotcam, stvar je vrlo lagana za izvesti i vrlo je korisna!
Kuharica kako izvesti cijelu stvar!
- *Potrebne stvari*
.pre
1. Laser
2. webkamera
3. kompjuter naravno (napomena: cijela stvar za sada radi samo na linuxu :-))
4. instalirani "xmms"<http://xmms.org/>
5. papir
6. fluorescentni marker
7. fluorescentna lampa
.pre
- *Izvedba*
- na 4 papira fluorescentnim markerom nacrtajte znakove za stop, start, next, previous, te volume bar
http://www.raphnet.net/programmation/laserspotcam/laserspotcam_wall_th.jpg
- kako to izgleda pod fluorescentnim svjetlom
http://www.raphnet.net/programmation/laserspotcam/laserspotcam_blacklight_th.jpg
http://www.raphnet.net/programmation/laserspotcam/blacklight_play_th.jpg
- *Instalacija programa*
-`NAPOMENA`
- morate imati u kernelu ubaฤenu podrลกku za video4linux, jel on koristi API za video capture i sdl za prikazivanje
- nastavljamo dalje... downloadate sa interneta "laserspotcam"<http://www.raphnet.net/programmation/laserspotcam/laserspotcam-0.3.tar.gz> te ga instalirate tako da taj paket prvo otpakirate sa tar -zxvf laserspotcam-0.3.tar.gz
- odete u direktorij u koji ste otpakirali laserspotcam te u konzoli upiลกete make *make*
- cijela procedura se mora izvoditi u konzoli, i morate imati instaliran sdl library
- kad je make gotov *bez greลกke* pokrente program sa *./laserspotcam*
-laserspotcam po defaultu koristi */dev/video0*, a ako vama to neodgovara vi moลพete opcijom *-d* njemu reฤi da koristi drugi ureฤaj
*./laserspotcam -d /dev/video1*
-nakon toga program bi se trebao otvoriti prozor gdje bi trebali vidjeti ono u ลกto je kamera uperena
- *Definiranje koordianta*
- nakon ลกto ste nacrtali likove na listove papira i papire zalijepili na zid jedan do drugog, usmjerite kameru prema papirima, tako da su svi papiri vidljivi na ekranu
- zapiลกite kordinate svi kvadratnih mjesta tako da kliknete na kvadrat (papir) u njegov gornji lijevi kut, drลพite kliknuto i vuฤete prema suprotnom kutu (donji desni)
- svaki put kada kliknete negdje u prozor pokeลพu se koordinate na kojima se nalazi miลก
- *Kreiranje config datoteke*
- kreiranje je lagano, jer je svaki hotspot je definiran u jednoj liniji. Svaka linija se sastoji od 6 zarezom odvojenih vrijednosti. Prva vrijednost definira vrstu hotspota
- vrste:
*0: Normal hotspot. Komanda pokrenuta prilikom aktiviranja hotspota.*
*1: Hotspot sa lijeva na desno. Pozicija pokazivaฤa je konvertitana u udaljenost od 0-100. Lijevo je 0, a desno 100 (korisno za pojaฤavanje i stiลกavanje zvuka)*
*2: Hotspot odozgo prema dolje. Pozicija pokazivaฤa je konvertitana u udaljenost od 0-100. Dolje je 0, a gore 100 (korisno za pojaฤavanje i stiลกavanje zvuka)*
- druga vrijednost, ako je namjeลกtena na 0 hotspot ฤe bit ponovno okidiv, to znaฤi da ฤemo kad kliknemo laser morati ugasiti pa upaliti da bismo ponovno kliknuli. Ako je vrijednost 1 onda ฤemo imati intervale klikanja od jedne sekunde.
- sljedeฤe 4 vrijednosti su gornji lijevi X, gornji lijevi Y, te donji desni X, i donji desni Y
- zadnja vrijednost je komanda koja ฤe biti pokrenuta kad kliknemo na odreฤeni hotspot
- primjer:
.pre
0,0,174,111,242,164,xmms --play-pause
1,0,29,169,318,196,setmixer vol
0,1,0,0,50,50,echo -en "\\007"
.pre
- *Testiranje*
- kada ste napravili config datoteku ucitajte je sa programom, da provjerite dali to uopฤe radi
*./laserspotcam -vVr xmms.hs*
- xmms.hs je vaลกa config datoteka
- *Pokretanje u pozadini*
- pokrenite program u pozadini i uลพivajte
*./laserspotcam xmms.hs -b*
http://www.raphnet.net/programmation/laserspotcam/activated_hotspot.jpg
-- [BuD], 28/09/05, preuzeo sa http://www.raphnet.net/programmation/laserspotcam/laserspotcam_en.php
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLaserSpotCam> {date: 2005-09-28 17:54:44 +0200}
||[DocumentS]|| ||[NewS]|| ||[GentooStuff]|| ||[DebianStuff]||
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt> {date: 2005-09-15 18:37:35 +0200}
^^^ Miลก sa usb-om
ล to sve ljenost neฤe napravit od ljudi!!
Netko je bio toliko ljen da nije mogao pruลพit ruku do svog kuฤiลกta, veฤ je napravio utor za usb u miลกu!!!
Na kraju krajeva cijela stvar i nije toliko komplicirana za napravit.
http://www.i-hacked.com/images/stories/usbinmouse/finished.JPG
Kuharica za preobrazbu vaลกeg miลกa:
1. Potrebne stvari za realiziranje cijele stvari:
.pre
- USB miลก
- USB hub sa 2 utora
- ลพica za lemljnje (zinc)
- lemilica
- kombinirke
- ravni ลกerafciger
- Philips ลกerafciger
- privremeni obiljeลพivaฤi
- 1 ลพenski USB konektor
- 4 ลพice (duลพine otprilike 5cm, CAT5 kabal)
- skalpel
- izolir traka
.pre
2.
*Prvi korak*
- otvori USB hub (sa 2 utora)
*Drugi korak*
- kada gledamo ลพenski usb konektor sa prednje strane, utor na desnoj strani je uzemljenje, oznaฤi uzemljenje!
.pre
TOP
_________
| |
| ====== | Right
| R W G B |
_________
Bottom
.pre
- ลพice crvena, bijela, zelena i crna ฤe kasnije biti zalemljene ovim redom
- vrlo oprezno odlemite usb konektor sa ploฤice (ne zaboraviti oznaciti koja ลพica ide gdje!)
- kad je gotovo, ugurati ploฤicu u miลกa, ploฤica bi trebala biti veliฤine dovoljne da stane u kuฤiลกte od miลกa, i zatvoriti miลกa.
- Ako je stalo bez problema preskoฤiti na *ฤetvrti korak* a ako ima problema idemo dalje na *treฤi korak*
*Treฤi korak*
- malo skratiti usb ploฤicu, ali samo u sluฤaju ako ne stane u kuฤiลกte od miลกa
- skraฤivanje jako jako paลพljivo obaviti, jel se time moลพe u potpunosti uniลกtiti ploฤica
*ฤetvrti korak*
- otvoriti kuฤiลกte od miลกa
*Peti korak*
- u otvorenom miลกu, pogledati na ploฤici kuda ide usb kabal i prerezati ga duลพine oko 5cm od ploฤice
*ล esti korak*
- oguliti ลพiฤice duลพine 3-4mm, napraviti to na obje ลพiฤice
*Sedmi korak*
- zalemiti ลพiฤice od usb kabla na usb hub na mjesto gdje je hub ukopฤan u kompjutor (tu dolazi na red jel je obiljezen redosljed ลพiฤica!!)
http://www.i-hacked.com/images/stories/usbinmouse/BGWR.JPG
*Osmi korak*
- zalemiti ลพiฤice koje idu sa ploฤice od miลกa na jedan od dva slobodna porta na usb hub-u
*tu bi bilo poลพeljno provjeriti da li cijel stvar radi, a to se vidi tako da kad se miลก spoji sa kompjutorom, dojavljuje USB hub, ako ne dojavljuje niลกta provjeriri spojeve i konekcije.*
*Deveti korak*
- zalemiti 4 ลพiฤice na ลพenski usb konektor, pripaziti da se ne naprave spojevi izmeฤu lemljenja idnosno izmeฤu ลพiฤica
.pre
TOP
_________
| |
| ====== | Right
| R W G B |
| | | |
| | | |
| | | |
.pre
*Deseti korak*
- zalemiti drugi kraj ลพiฤica sa odgovarajuฤim mjestom na usb hub ploฤici, kad je gotovo obljepiti hub ploฤicu sa izolir trakom
- trebalo bi ovako nekako izgledati:
http://www.i-hacked.com/images/stories/usbinmouse/usbhub.JPG
*Jedanaesti korak*
- koristeฤi skalpel, vrlo oprezno napravite rupu na kuฤiลกtu od miลกa za usb port, naravno poloลพaj odredite po ลพelji, ovisno o lijevaku ili deลกnjaku i o mjestu unutar miลกa
*Dvanaesti korak*
- sa nekim dobrim ljepilom zalijepite ลพenski usb konektor na kuฤiลกte, ลกto bi trebalo ovako izgledati:
http://www.i-hacked.com/images/stories/usbinmouse/glue.JPG
*Trinaesti korak*
- sklopiti miลกa i uลกtekati ga u kompjutor
*Testiranje*
- prvo bi trebao biti prepoznat hub a nakon toga miลก
http://www.i-hacked.com/images/stories/usbinmouse/plugged.JPG
- ako neลกto ne radi joลก koji put provjerite cijelu stvar i postupak
-- [BuD], 01/09/05, preuzeo sa http://www.i-hacked.com/content/view/185/42/
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiUsbMis> {date: 2005-08-31 22:44:47 +0200}
*[PetKorakaDoFbsplasha]*
*[SkripticaZaSredjivanjeLinkova]*
*[SkripticaZaXchatIXmms]*
*[MakeConf]*
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff> {date: 2005-07-31 17:28:58 +0200}
{file: sors.sh}
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/SkripticaZaSredjivanjeLinkovaV2> {date: 2005-07-31 17:28:28 +0200}
http://crap.mousetoy.com/images/pezpage.gif
Ha!!! Ovo je totalni zakon!! Jednostavno za napravit a jako zanimljivo za vidjet!!
Kako se ljudi svega mogu dosjetit, to je nevjerojatno!
Dosta ฤuฤenja, dakle radi se o pez usb stickovima iliti usb flash memoriji. Ako ste zamorni izgledom vaลกeg usb sticka prokopajte malo starim igraฤkama moลพda pronaฤete neลกto u ลกto bi mogli strpati stari usb stick da on dobije jedan potpuno novi izgled.
Recimo ovakav:
http://crap.mousetoy.com/images/s2.jpg
Ovo je vrlo jednostavno za izvesti, samo trebate otvoriti svoj usb stick uzeti ono sto se nalazi unutra i ubaciti u pez lika, naravno nisu svi likovi isti, pa pronaฤite onog koji ฤe pasati vaลกem sticku. Ako i ne paลกe malo upotrijebite maลกte kako bi to moglo profunkcionirati.
Evo recimo jedan primjer kako je jedan takav stick izveden:
Prije:
http://crap.mousetoy.com/images/lexarsportjumpdrive.jpg
Poslije:
http://crap.mousetoy.com/images/d2.jpg
Kako napraviti jedan takav usb pez:
1. Ako imate mogucnost izaberite usb stick svojom velicinom najblizi otvoru kucista pez bonbona.
2. Ako je potrebno rastavite usb tako da ga izvadite iz originalnog kucista
3. Usb stick namjestite tako da tijelo ude u kuciste, a dio koji ide u komp pokusati uvaliti u 'glavu' pez igracke.
4. Ako ne ide: rezati, ljepiti, rezati, ljepiti...
5. I to bi trebalo biti to!! Uลพivajte!!!
--[BuD], 21/07/05, preuzeo sa http://crap.mousetoy.com/pez.html
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiUsbPez> {date: 2005-07-22 19:58:37 +0200}
^ Putujuฤa beลพiฤna centrala
http://img.timeinc.net/popsci/images/h20/how0805hotspot_170xstory.jpg
Sigurno se nikada niste nadali da ฤete jednog dana na leฤima nositi wireless access point, e pa vidite to je moguฤe!!!
Jedan ฤovjek je bio oฤaran time ลกto danas sve viลกe i viลกe ureฤaja ima ugraฤeno
u sebi wifi ureฤaje, pa je rekao ovako, ฤemu svi ti ureฤaji kad nemaลก access
point. Stoga je odluฤio napraviti putujuฤi hotspot, ha i uspio je!!!
Zanimljiva stvar sa tim putujucim hotspotom koji se nalazi na vasim leฤima,
je da mozete pregledat mail, igrat se online sa vaลกim prijeteljima, napisat blog, u parku, na planini, ma na mjestima na kojim nikad niste ni zamiลกljali da ฤete moฤ pristupit internetu! Totalna ludnica!!!
E sad o ฤemu se tu toฤno radi, to je zapravo jedan obiฤan ruksak u kojem se
nalazi 12 voltna baterija, EV-DO kartica, solarni paneli, adapter za struju,
te adapter za upaljaฤ za cigarete, detaljniji opis moลพete vidjeti
"ovdje"<http://www.popsci.com/popsci/how2/article/0,20967,1076525,00.html>.
http://i.timeinc.net/popsci/images/h20/how0805hotspot_485xbody.jpg
Credit: Illustration by Mckibillo.com
Taj projektic je malo skup, ali cijene komponenti i providera ฤe vjerojatno pojeftinit kroz godinu.
Joลก jedna super stvar je da se taj tip vjerojatno sada nalazi negdje u
planinama, surfa po internetu i dijeli to sa svima u svojoj bliลพoj okolini. Neka i medvjedi dobiju svoju priliku za surfati !! :)
Foto galeriju tog ruksaka moลพete vidjeti
"ovdje"<http://www.popsci.com/popsci/photogallery/0,21036,1077559-0,00.html>
Instrukcije:
1) ukljuฤi svoju "EV-DO"<http://www.junxion.com/product/#carriers> karticu i podesi "Junxion Box"<http://www.junxionbox.com/> na automatsko dodjeljivanje TCP/IP adresa koristeฤi DHCP i iskljuฤi poฤetni erkan autentifikacije
2) strujni kabel napravi tako da odreลพeลก crvenu i crnu ลพicu. ogoli svaku ลพicu i skrimpaj na svaku ลพicu klamicu. ogoli drugu stranu crvene ลพice i zalemi na taj kraj osiguraฤ. sve zamotaj zaลกtitnom trakom. rastavi muลกki DC strujni plug. zalemi crnu ลพicu na negativni pol i crvenu ลพicu na pozitivni. posloลพi strujni ลกteker. instaliraj 20 amperski akumulatorฤiฤ.
3) spoji Junxion Box cigaret strujni adapter na izlazni ลกteker na ruksaku
4) spoji kabel od baterije na "baterijski" spoj na ruksakovom punjaฤu.
5) piฤi!
-- [BuD], 14/07/05, preuzeo sa http://www.popsci.com
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiWifiAccessPointURuksaku> {date: 2005-07-16 11:23:59 +0200}
^^^ Mreลพne ledice uvijek ispred nosa
http://homepage.mac.com/pillowcase1/thumbs/17.jpg
Radi se o ethernet ledicama (lampicama sa mreลพne kartice) koje moลพete
uฤvrstiti na vaลกe kuฤiลกte, tako da znate kada teฤe promet vaลกom mreลพnom
karticom.
Jednom mladiฤu iz Kanade se je jako dopao programฤiฤ koji se zove
"tleds"<http://users.tkk.fi/~jlohikos/tleds_orig.html>, ali ga je muฤila jedna stvar, programฤiฤ je troลกio 0.3% njegovog
procesora i to mu nije bilo po volji. Stoga je on sam osmislio hardversku
lampicu koja uopฤe nebi troลกila procesor a nalazila bi se na prednjoj strani
kuฤiลกta.
Cijeli taj postupak izrade je vrlo jeftin i nije jako kompliciran!
Sve ลกto vam je potrebno i postupak izrade moลพete vidjeti na sliฤicama.
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/front_panel_before.jpg-thumb_140_105.jpg
Ovdje su led lampice na kuฤiลกtu, lampica za napajanje, za HDD, te neka treฤa...
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/card_before.jpg-thumb_140_105.jpg
Pronaฤi lampicu na mreลพnoj kartici, ona koja blinka, na koju ฤeลก spojit novu lampicu
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/turbo_led_plug.jpg-thumb_140_105.jpg
Sad pronaฤi neku lampicu na kuฤiลกtu koja ti nije potrebna ili joลก bolje Turbo lampicu!
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/wire_on_led_leads.jpg-thumb_140_105.jpg
Zalemi dvije ลพiฤice za mreลพnu kraticu, toฤnije na mjesto gdje se nalazi lampica koja blinka!
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/pins_and_wire.jpg-thumb_140_105.jpg
Drugi kraj ลพica spojiลก sa dva pina
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/the_plug_on_the_other_end.jpg-thumb_140_105.jpg
Tako bi to trebalo izgledat
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/wire_on_card.jpg-thumb_140_105.jpg
Kartica spojena sa ลพicama
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/hooked_up_in_the_box.jpg-thumb_140_105.jpg
Spojiลก karticu sa lampicom na kuฤiลกtu
http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/front_panel_after.jpg-thumb_140_105.jpg
I na kraju imaลก ethernet ledicu na kuฤiลกtu!!
--[BuD], 15/07/05, preuzeo sa http://pillowcase1.blogspot.com/2005/07/ethernet-led.html
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiMrezneLediceUvijekIspredNosa> {date: 2005-07-15 10:41:56 +0200}
^ Putujuฤa beลพiฤna centrala
http://img.timeinc.net/popsci/images/h20/how0805hotspot_170xstory.jpg
Sigurno se nikada niste nadali da ฤete jednog dana na leฤima nositi wireless access point, e pa vidite to je moguฤe!!!
Jedan ฤovjek je bio oฤaran time ลกto danas sve viลกe i viลกe ureฤaja ima ugraฤeno
u sebi wifi ureฤaje, pa je rekao ovako, ฤemu svi ti ureฤaji kad nemaลก access
point. Stoga je odluฤio napraviti putujuฤi hotspot, ha i uspio je!!!
Zanimljiva stvar sa tim putujucim hotspotom koji se nalazi na vasim leฤima,
je da mozete pregledat mail, igrat se online sa vaลกim prijeteljima, napisat blog, u parku, na planini, ma na mjestima na kojim nikad niste ni zamiลกljali da ฤete moฤ pristupit internetu! Totalna ludnica!!!
E sad o ฤemu se tu toฤno radi, to je zapravo jedan obiฤan ruksak u kojem se
nalazi 12 voltna baterija, EV-DO kartica, solarni paneli, adapter za struju,
te adapter za upaljaฤ za cigarete, detaljniji opis moลพete vidjeti
"ovdje"<http://www.popsci.com/popsci/how2/article/0,20967,1076525,00.html>.
http://i.timeinc.net/popsci/images/h20/how0805hotspot_485xbody.jpg
Credit: Illustration by Mckibillo.com
Taj projektic je malo skup, ali cijene komponenti i providera ฤe vjerojatno pojeftinit kroz godinu.
Joลก jedna super stvar je da se taj tip vjerojatno sada nalazi negdje u
planinama, surfa po internetu i dijeli to sa svima u svojoj bliลพoj okolini. Neka i medvjedi dobiju svoju priliku za surfati !! :)
Foto galeriju tog ruksaka moลพete vidjeti
"ovdje"<http://www.popsci.com/popsci/photogallery/0,21036,1077559-0,00.html>
-- [BuD], 14/07/05, preuzeo sa http://www.popsci.com
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovotljivostiWifiTorba> {date: 2005-07-14 21:57:48 +0200}
.pre
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
</match>
</fontconfig>
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/FontsConf> {date: 2005-06-01 10:06:34 +0200}
*[GetMailrc]*
*[MuttRc]*
*[ZshRc]*
*[FireWall]*
*[XdeFaults]*
*[MplayerConfig]*
*[FontsConf]*
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS> {date: 2005-06-01 10:05:26 +0200}
^^^ 02/03/05
Izaลกao kernel 2.6.11!!!
Viลกe o tome moลพete vidjeti na *http://kernel.org/*
-
----
^^^ 06/03/05
Starwarsi su raฤeni na linuxu!! :)
Viลกe moลพete vidjeti na *http://www.linuxjournal.com/node/6011/print/*
-
----
^^^ 09/05/05
*Security propusti na Mozilla Firefoxu!!!*
Greลกke za sada mozete ispraviti tako da disejblate java scripte i instalaciju softwarea sa nekog od websiteova.
To ฤete uฤiniti ovako:
*Edit --> Preferences --> Web Features --> Allow web sites to install software*
*Edit --> Preferences --> Web Features --> Enable java script*
Sa te dvije opcije maknete kvaฤicu!
-
----
^^^ 13/05/05
Izasla nova verzija Mozilla Firefox-a!!!
U novoj verziji naravno dolaze ispravke security propusta.
-
----
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/NewS> {date: 2005-05-12 22:21:09 +0200}
*[SourcesList]*
*[DebianPaketiTrick]*
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DebianStuff> {date: 2005-05-09 18:30:03 +0200}
.pre
deb http://security.debian.org/ testing/updates main contrib
deb ftp://ftp.irb.hr/debian/ testing main contrib non-free
deb ftp://ftp.nerim.net/debian-marillat/ testing main
deb http://ftp.hr.debian.org/debian-non-US/ sarge/non-US main contrib non-free
deb http://www.bootsplash.de/files/debian/ unstable main
deb http://www.spinnaker.de/debian/ ./
deb http://mirror.noreply.org/pub/tor/ stable main
deb http://www.linex.org/sources/linex/debian/ sarge linex
deb http://www.planet-moll.de/debian/ woody main
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DebianStuff/SourcesList> {date: 2005-05-09 18:26:35 +0200}
.pre
autosync=0
cdrom-device=/dev/cdrom
channels=4
dvd-device=/dev/cdrom
#osdlevel=3
#sub-bg-color=250
sub-fuzziness=1
subalign=2
subfont-autoscale=1
brightness=15
#fbmode="1024x768-72"
fstype=fullscreen
monitoraspect=16:9
screenw=1024
screenh=768
aspect=16:9
stereo=0
autosync=30
nojoystick=yes
nolirc=yes
noautosub=yes
ffactor=0.75
sub=yes
#subcp=latin1
subfont-encoding=iso8859-2
#subfont-blur=2
#subfont-osd-scale=6
#subfont-text-scale=5
#unicode=yes
#dr=yes
font=/home/bud/.mplayer/font/font.desc
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/MplayerConfig> {date: 2005-05-09 18:23:46 +0200}
.pre
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-src/portage/cnf/make.conf.x86,v 1.5.2.4 2005/02/15 23:27:44 jstubbs Exp $
# Contains local system settings for Portage system
# Please review 'man make.conf' for more information.
# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <--
#
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-portage/ufed'
#
# Example:
USE="X gtk gnome alsa dvd kde cdr imap jack aalib -moznoxft truetype png jpeg apm arts avi cups encode foomaticdb gif gpm gtk2 mad mpeg qt"
# Host Setting
# ============
#
# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
# Change this line as appropriate (i686, i586, i486 or i386).
# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
# All K6's are i586.
CHOST="i686-pc-linux-gnu"
# Host and optimization settings
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
# pentium3, and pentium4.
#
# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
#
# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
#
# CRITICAL WARNINGS: ****************************************************** #
# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
# ************************************************************************* #
#
# Decent examples:
#
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
CFLAGS="-march=pentium4 -O3 -pipe -fdelete-null-pointer-checks -fomit-frame-pointer -fprefetch-loop-arrays -ffast-math -falign-functions -falign-labels -falign-loops -falign-jumps"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}"
# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
#
# Please note that this is not for development, alpha, beta, nor cvs release
# packages. "Broken" packages will not be added to testing and should not be
# requested to be added. Alternative routes are available to developers
# for experimental packages, and it is at their discretion to use them.
#
# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
#ACCEPT_KEYWORDS="~arch"
# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
# temporary storage of data. This can get VERY large depending upon
# the application being installed.
#PORTAGE_TMPDIR=/var/tmp
#
# PORTDIR is the location of the portage tree. This is the repository
# for all profile information as well as all ebuilds. This directory
# itself can reach 200M. If you change this, you must update your
# /etc/make.profile symlink accordingly.
PORTDIR=/usr/portage
#
# DISTDIR is where all of the source code tarballs will be placed for
# emerges. The source code is maintained here unless you delete
# it. The entire repository of tarballs for gentoo is 9G. This is
# considerably more than any user will ever download. 2-3G is
# a large DISTDIR.
DISTDIR=${PORTDIR}/distfiles
#
# PKGDIR is the location of binary packages that you can have created
# with '--buildpkg' or '-b' while emerging a package. This can get
# upto several hundred megs, or even a few gigs.
PKGDIR=${PORTDIR}/packages
#PKGDIR="/mnt/cdrom"
#
# PORT_LOGDIR is the location where portage will store all the logs it
# creates from each individual merge. They are stored as NNNN-$PF.log
# in the directory specified. This is disabled until you enable it by
# providing a directory. Permissions will be modified as needed IF the
# directory exists, otherwise logging will be disabled. NNNN is the
# increment at the time the log is created. Logs are thus sequential.
#PORT_LOGDIR=/var/log/portage
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
# concern that they will be deleted by rsync updates. Default is not
# defined.
#PORTDIR_OVERLAY=/usr/local/portage
# Fetching files
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available.
#
# Default fetch command (5 tries, passive ftp for firewall compatibility)
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#
# Using wget, ratelimiting downloads
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#
# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
# The list is a space separated list which is read left to right. If you use
# another mirror we highly recommend leaving the default mirror at the end of
# the list so that portage will fall back to it if the files cannot be found
# on your specified mirror. We _HIGHLY_ recommend that you change this setting
# to a nearby mirror by merging and using the 'mirrorselect' tool.
#GENTOO_MIRRORS="ftp://ftp.nymphomatic.org/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
GENTOO_MIRRORS="ftp://ftp.nymphomatic.org/gentoo/"
#
# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
# The list is a single entry specifying the full address of the directory
# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
# packages in the directory specified, and use that data to determine what will
# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
# consult the man pages and 'emerge --help' for more information. For FTP, the
# default connection is passive -- If you require an active connection, affix
# an asterisk (*) to the end of the host:port string before the path.
#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
# This ftp connection is passive ftp.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
# This ftp connection is active ftp.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"
# Synchronizing Portage
# =====================
#
# Each of these settings affects how Gentoo synchronizes your Portage tree.
# Synchronization is handled by rsync and these settings allow some control
# over how it is done.
#
#
# SYNC is the server used by rsync to retrieve a localized rsync mirror
# rotation. This allows you to select servers that are geographically
# close to you, yet still distribute the load over a number of servers.
# Please do not single out specific rsync mirrors. Doing so places undue
# stress on particular mirrors. Instead you may use one of the following
# continent specific rotations:
#
# Default: "rsync://rsync.gentoo.org/gentoo-portage"
# North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
# South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
# Europe: "rsync://rsync.europe.gentoo.org/gentoo-portage"
# Asia: "rsync://rsync.asia.gentoo.org/gentoo-portage"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
#
# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
#RSYNC_RETRIES="3"
#
# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
# on a connection. Most users will benefit from this setting as it will
# reduce the amount of 'dead air' they experience when they run across
# the occasional, unreachable mirror. Dialup users might want to set this
# value up around the 300 second mark.
#RSYNC_TIMEOUT=180
# Advanced Features
# =================
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
# program is compiled. Presently the only use is for specifying
# the number of parallel makes (-j) to perform. The suggested number
# for parallel makes is CPUs+1.
MAKEOPTS="-j2"
#
# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
# Note: This is an increment. Running emerge in a niced environment will
# reduce it further. Default is unset.
#PORTAGE_NICENESS=3
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
# packages from the system after every successful merge. This is the
# same as running 'emerge -c' after every merge. Set with: "yes" or "no".
# This does not affect the unpacked source. See 'noclean' below.
#AUTOCLEAN="yes"
#
# PORTAGE_TMPFS is a location where portage may create temporary files.
# If specified, portage will use this directory whenever possible
# for all rapid operations such as lockfiles and transient data.
# It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
# set this to anything that does not give a significant performance
# enhancement and proper FS compliance for locks and read/write.
# /dev/shm is a glibc mandated tmpfs, and should be a reasonable
# setting for all linux kernel+glibc based systems.
#PORTAGE_TMPFS="/dev/shm"
#
# FEATURES are settings that affect the functionality of portage. Most of
# these settings are for developer use, but some are available to non-
# developers as well.
#
# 'autoaddcvs' causes portage to automatically try to add files to cvs
# that will have to be added later. Done at generation times
# and only has an effect when 'cvs' is also set.
# 'buildpkg' causes binary packages to be created of all packages that
# are being merged.
# 'ccache' enables ccache support via CC.
# 'collision-protect'
# prevents packages from overwriting files that are owned by
# another package or by no package at all.
# 'cvs' causes portage to enable all cvs features (commits, adds),
# and to apply all USE flags in SRC_URI for digests -- for
# developers only.
# 'digest' causes digests to be generated for all packages being merged.
# 'distcc' enables distcc support via CC.
# 'distlocks' enables distfiles locking using fcntl or hardlinks. This
# is enabled by default. Tools exist to help clean the locks
# after crashes: /usr/lib/portage/bin/clean_locks.
# 'fixpackages' allows portage to fix binary packages that are stored in
# PKGDIR. This can consume a lot of time. 'fixpackages' is
# also a script that can be run at any given time to force
# the same actions.
# 'gpg' enables basic verification of Manifest files using gpg.
# This features is UNDER DEVELOPMENT and reacts to features
# of strict and severe. Heavy use of gpg sigs is coming.
# 'keeptemp' prevents the clean phase from deleting the temp files ($T)
# from a merge.
# 'keepwork' prevents the clean phase from deleting the WORKDIR.
# 'maketest' causes ebuilds to perform testing phases if they are capable
# of it. Some packages support this automaticaly via makefiles.
# 'noauto' causes ebuild to perform only the action requested and
# not any other required actions like clean or unpack -- for
# debugging purposes only.
# 'noclean' prevents portage from removing the source and temporary files
# after a merge -- for debugging purposes only.
# 'nostrip' prevents the stripping of binaries.
# 'notitles' disables xterm titlebar updates (which contain status info).
# 'sandbox' enables sandboxing when running emerge and ebuild.
# 'strict' causes portage to react strongly to conditions that are
# potentially dangerous, like missing/incorrect Manifest files.
# 'userpriv' allows portage to drop root privileges while it is compiling,
# as a security measure. As a side effect this can remove
# sandbox access violations for users.
# 'usersandbox' enables sandboxing while portage is running under userpriv.
FEATURES="sandbox buildpkg"
#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
#
# CCACHE_SIZE sets the space use limitations for ccache. The default size is
# 2G, and will be set if not defined otherwise and ccache is in features.
# Portage will set the default ccache dir if it is not present in the
# user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
# (/var/tmp/ccache), and for regular use the default is /root/.ccache.
# Sizes are specified with 'G' 'M' or 'K'.
# '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
#CCACHE_SIZE="512M"
#
# DISTCC_DIR sets the temporary space used by distcc.
#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
#
# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
# the portage tree. Specific chunks of the tree may be excluded from
# consideration. This may cause dependency failures if you are not careful.
# The file format is one pattern per line, blanks and ';' or '#' lines are
# comments. See 'man rsync' for more details on the exclude-from format.
#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/MakeConf> {date: 2005-05-09 18:12:16 +0200}
.pre
import xchat
from xmms import get_playlist_title, get_playlist_pos
__module_name__ = "nowPlaying"
__module_version__ = "1.0"
__module_description__ = "Displays what song is currently playing in Xmms"
song = get_playlist_title (get_playlist_pos())
try:
xchat.command ("me plays: " + song)
except TypeError:
xchat.prnt ("Xmms is not running")
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/SkripticaZaXchatIXmms> {date: 2005-05-09 18:07:48 +0200}
.pre
#!/bin/sh
cat "$1" | awk '{ print $1 | "sort" }'
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/SkripticaZaSredjivanjeLinkova> {date: 2005-05-09 18:02:42 +0200}
.pre
This document describes how to get fbsplash up-n-running in a fast and
painless way.
1) Install the latest Gentoo kernel sources:
# emerge gentoo-sources
2) Configure, build and install your kernel:
# cd /usr/src/linux
# make menuconfig
# make
# make install modules_install
3) Install splashutils:
# emerge splashutils
4) Create an initramfs image for fbsplash:
# splash_geninitramfs -v -g /boot/fbsplash-emergence-1024x768 -r 1024x768 emergence
5) Configure your bootloader: (instructions for grub)
# cd /boot/grub
Edit menu.lst, find the entry for your kernel, and put 'splash=silent,theme:emergence'
onto the kernel command line. You should get something like this:
title Gentoo Linux (g-d-s 2.6.11)
root (hd0,4)
kernel /boot/gentoo-2.6.11 ro root=/dev/hda1 video=vesafb:1024x768-32@85 splash=silent,theme:emergence
initrd /boot/fbsplash-emergence-1024x768
This is it. Reboot and enjoy fbsplash :)
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/PetKorakaDoFbsplasha> {date: 2005-05-09 17:59:37 +0200}
.pre
#!/bin/sh
#----
---------------------------------------------------------------
----
# beware, comments FOLLOW the rules, not precede them.
#
/sbin/iptables -F
/sbin/iptables -X block
#flush all rules first ...
#
#----
---------------------------------------------------------------
----
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
#A little NAT, we'll need it, too.
#
#/usr/local/bin/iptables -t nat -A PREROUTING -i ! ppp0 -p tcp --dport 80 -j REDIRECT --to 194.152.207.52:4242
#some transparent proxying??
#
/sbin/iptables -t nat -A PREROUTING -i ! ppp0 -p tcp --dport 6667 -j DNAT --to-destination 192.168.1.1:7000
#irc port redirection?
#
/sbin/iptables -N block
#define our rule chain ...
#
#----
---------------------------------------------------------------
----
/sbin/iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
#accept _all_ established connections initiated by our side ...
#
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 113 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 113 -i ppp0 -j ACCEPT
#accept _all_ connections on *ident* port
#
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 6667 -j ACCEPT
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 6667 -j ACCEPT
#accept _all_ connections on *ircd* port
#
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 22 -i ppp0 -j ACCEPT
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 22 -i ppp0 -j ACCEPT
#accept _all_ connections on *ssh* port -- NOT!
#
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 20 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 20 -i ppp0 -j ACCEPT
#accept _all_ connections on *ftp-data* port
#
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 53 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 53 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol udp --dport 53 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol udp --sport 53 -i ppp0 -j ACCEPT
#accept _all_ connections on *DNS* ports
#
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 4000 -i ppp0 -j ACCEPT
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 4000 -i ppp0 -j ACCEPT
##/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 4242 -i ppp0 -j ACCEPT
##/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 4242 -i ppp0 -j ACCEPT
#accept _all_ connections on our strange proxy port
#
/sbin/iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
#accept _all_ connections originating on our local interfaces
#
/sbin/iptables -A block -j DROP
#default policy is drop, of course
#
/sbin/iptables -A INPUT -j block
#all in input chain we forward to our rules...
#
/sbin/iptables -A FORWARD -j block
#and forward chain,too.
#
/sbin/iptables -A FORWARD -m limit -j LOG
#do a little, of course limited, logging.
#
/sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j LOG
#SYNflood protection
#
/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j LOG
#ping of death protection
#
#----
---------------------------------------------------------------
----
#that's all folks, for now.
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/FireWall> {date: 2005-05-09 09:08:24 +0200}
.pre
function precmd {
local TERMWIDTH
(( TERMWIDTH = ${COLUMNS} - 1 ))
###
# Truncate the path if it's too long.
PR_FILLBAR=""
PR_PWDLEN=""
local promptsize=${#${(%):---(%n@%m:%l)---()--}}
local pwdsize=${#${(%):-%~}}
if [[ "$promptsize + $pwdsize" -gt $TERMWIDTH ]]; then
((PR_PWDLEN=$TERMWIDTH - $promptsize))
else
PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $pwdsize)))..${PR_HBAR}.)}"
fi
###
# Get APM info.
# if which ibam > /dev/null; then
# PR_APM_RESULT=`ibam --percentbattery`
# elif which apm > /dev/null; then
# PR_APM_RESULT=`apm`
# fi
}
setopt extended_glob
preexec () {
if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
echo -n "\ek$CMD\e\\"
fi
}
setprompt () {
###
# Need this so the prompt will work.
setopt prompt_subst
###
# See if we can use colors.
autoload colors zsh/terminfo
if [[ "$terminfo[colors]" -ge 8 ]]; then
colors
fi
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
(( count = $count + 1 ))
done
PR_NO_COLOUR="%{$terminfo[sgr0]%}"
###
# See if we can use extended characters to look nicer.
typeset -A altchar
set -A altchar ${(s..)terminfo[acsc]}
PR_SET_CHARSET="%{$terminfo[enacs]%}"
PR_SHIFT_IN="%{$terminfo[smacs]%}"
PR_SHIFT_OUT="%{$terminfo[rmacs]%}"
PR_HBAR=${altchar[q]:--}
PR_ULCORNER=${altchar[l]:--}
PR_LLCORNER=${altchar[m]:--}
PR_LRCORNER=${altchar[j]:--}
PR_URCORNER=${altchar[k]:--}
###
# Decide if we need to set titlebar text.
case $TERM in
xterm*)
PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}'
;;
screen)
PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}'
;;
*)
PR_TITLEBAR=_
;;
esac
###
# Decide whether to set a screen title
if [[ "$TERM" == "screen" ]]; then
PR_STITLE=$'%{\ekzsh\e\\%}'
else
PR_STITLE=_
fi
###
# APM detection
# if which ibam > /dev/null; then
# PR_APM='$PR_RED${${PR_APM_RESULT[(f)1]}[(w)-2]}%%(${${PR_APM_RESULT[(f)3]}[(w)-1]})$PR_LIGHT_BLUE:'
# elif which apm > /dev/null; then
# PR_APM='$PR_RED${PR_APM_RESULT[(w)5,(w)6]/\% /%%}$PR_LIGHT_BLUE:'
# else
# PR_APM=''
# fi
# alias ls='ls -AFqshH --color'
alias lsl='ls -Al --color=auto'
alias ls='ls --color=auto'
alias cd..='cd ..'
alias df='df -h'
alias defdate='date +%r'
alias cls='clear'
###
# Finally, the prompt.
PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\
$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
$PR_GREEN%(!.%SROOT%s.%n)$PR_GREEN@%m:%l\
$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_HBAR${(e)PR_FILLBAR}$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
$PR_MAGENTA%$PR_PWDLEN<...<%~%<<\
$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_URCORNER$PR_SHIFT_OUT\
$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
%(?..$PR_LIGHT_RED%?$PR_BLUE:)\
${(e)PR_APM}$PR_YELLOW%D{%H:%M}\
$PR_LIGHT_BLUE:%(!.$PR_RED.$PR_WHITE)%#$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_NO_COLOUR '
RPROMPT=' $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\
($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR'
PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\
$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR '
}
setprompt
.pre
----
"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/ZshRc> {date: 2005-05-09 09:05:45 +0200}