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:"koha-cug" wikiformat:socialtext'>><<newJournal 'DD MMM YYYY' fields:'server.host:"https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443" server.workspace:"koha-cug" wikiformat:socialtext'>><<saveChanges>><<backstage sync>><<slider chkSliderOptionsPanel OptionsPanel 'options ยป' 'Change TiddlyWiki advanced options'>>
https://saturn.ffzg.hr/koha-cug/
[[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:''|koha-cug|
|''WorkspaceList:''||
|''Description:''|Koha Croatian user group|
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");
}
//}}}
* Razne teme vezane uz prilagodbu web suฤelja
{toc: }
^^ Prilagodba OPAC-a
* "KohaCon 2009: Customizing Your OPAC"<http://www.myacpl.org/koha/?p=160>
* "Adding a custom header to Koha 3โs OPAC"<http://www.myacpl.org/koha/?p=30>
^^ Prevoฤenje i instalacija .po datoteka
Instalacija .po datoteke prikazana je na:
"Prijevodi - FFZG"<http://saturn.ffzg.hr/koha/index.cgi?prijevodi>
Prilagoฤavanje prikaza na web suฤelju poฤinje s ureฤivanjem engleske verzije predloลกka. Npr. ureฤivanje prikaza detalja odreฤenog zapisa:
.pre
# vim $KOHA_SRC/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
.pre
Tada aลพurirate .po datoteku:
.pre
# cd $KOHA_SRC/misc-translator
# ./tmpl_process3.pl update -r -i ../../koha-tmpl/opac-tmpl/prog/en/ -s po/hr-HR-i-opac-t-prog-v--3000000.po
.pre
.. i instalirate samo hr template:
.pre
# ./tmpl_process3.pl install -r -i /home/koha/src/koha-git-dev/koha-tmpl/opac-tmpl/prog/en/ -o /usr/share/koha/opac/htdocs/opac-tmpl/prog/hr-HR/ -s po/hr-HR-i-opac-t-prog-v--3000000.po
.pre
Engleski dio iz $KOHA_SRC/koha-tmpl/opac-tmpl/prog/en/* se moลพe samo iskopirati.
_(alen): Ispravite me ako neลกto krivo radim ;)_
Naziv: Korisnici Koha knjiลพniฤnog softvera
Engleski naziv: Croatian Koha user group
^^ Podruฤje djelovanja
* okupljanje osoba i institucija zainteresiranih za koriลกtenje prilagodbu i razvoj knjiลพniฤnog sustava Koha
* organiziranje savjetovanja o instalaciji i koriลกtenju Kohe
* odrลพavanje wiki stranica s uputama
* pruลพanje usluge koriลกtenja Kohe na posluลพitelju udruge (_Software as a service_ model)
^^ Potrebni resursi
Pruลพanje usluge koriลกtenja Kohe na centranom posluลพitelju zatjeva hardverske resurse (Debian Linux operacijski sustav, MySQL baza podatka, Zebra pretraลพivaฤ). Iako trenutno ne posoji interes za takvu uslugu, poznato je da mnoge manje knjiลพnice nemaju moguฤnost samostalne instalacije i odrลพavanja Kohe, pa bi takva usluga mogla biti zanimljiva u buduฤnosti.
Koha podrลพava viลกe razliฤitih kniลพnica na jednoj instalaciji i zahtjeva relativno male resurse (oko 1Gb RAM-a i oko 200 Gb mjesta na disku), i radi dobro kao virtualni stroj ili container.
----
Prvi sastanak potencijalnih ฤlanica i ฤlanova ove grupe odrลพan je 3.12.2009. u 12:00 sati u raฤunalnoj uฤionici Knjiznice FF-a.
----
{include: [2010-01-27]}
{file: test-yaz-zebra.sh}
^ Server
sluลพi za razmjenu zapisa
^^^ Konfiguracija
Dodati novi public server prema uputama na http://wiki.koha-community.org/wiki/Troubleshooting_Koha_as_a_Z39.50_server
^^^ Dokumentacija
* http://wiki.koha-community.org/wiki/Search_Info
Najkorisnije:
* http://www.indexdata.com/zebra/doc/zebrasrv.html (pri dnu stranice)
Ostalo:
* http://koha.org/documentation/manual/3.0/administration/additional-parameters/z39.50-servers
* http://lists.indexdata.dk/pipermail/zebralist/2009-March/002142.html
* http://bugs.rot13.org/rt/Ticket/Display.html?id=377
^ FFZG
^^ yaz-client
.pre
dpavlin@koha-dev:~$ yaz-client
Z> open localhost:9999/biblios
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID : 81
Name : Zebra Information Server/GFS/YAZ
Version: 3.0.52 e687cb7eb87c841f0d1a374174d51d30371f2d97
Options: search present delSet triggerResourceCtrl scan sort extendedServices namedResultSets
Elapsed: 1.605266
Z> find human
Z> show 1
Z> quit
See you later, alligator.
.pre
Use Koha's CCL queries:
.pre
dpavlin@koha-dev:~$ yaz-client -c /etc/koha/zebradb/ccl.properties localhost:9999/biblios
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID : 81
Name : Zebra Information Server/GFS/YAZ
Version: 4.1.7 c43e561fdfe12989a6040163dae0e28ba0a02453
Options: search present delSet triggerResourceCtrl scan sort extendedServices namedResultSets
Elapsed: 0.001445
Z> querytype ccl2rpn
Z> find (kw,wrdl,rtrn=human ) not Suppress=1
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 1935, setno 1
SearchResult-1: term= human cnt=1935, term= 1 cnt=21
records returned: 0
Elapsed: 0.025643
Z>
.pre
^ Debug Zebra problems
^^ enable all logging
.pre
# add all to http://www.loc.gov/z3950/agency/defns/bib1diag.html
ZEBRAOPTIONS="-v none,fatal,warn,all"
dpavlin@koha-dev:~$ sudo /etc/init.d/koha-zebra-ctl.sh restart
Restarting the Zebra Server
dpavlin@koha-dev:~$ sudo tail -f /var/log/koha/koha-zebradaemon-output.log | grep ERROR
18:45:58-29/03 zebrasrv(1) 605aecf5 [request] Init ERROR 1011 ID:81 Name:ZOOM-C/YAZ Version:4.1.7 c43e561fdfe12989a6040163dae0e28ba0a02453
.pre
Lookup error codes at http://www.loc.gov/z3950/agency/defns/bib1diag.html
* dodano u verziji *3.2*
{toc: }
^^ ฤemu sluลพi Keywords to MARC mapping?
Ovo je veliko poboljลกanje u naฤinu prikaza podataka u intranetu (testirati OPAC) u sluฤaju kad display nije definiran uz pomoฤ XSLT.
Omoguฤuje prikazivanje bilo kojeg polja iz MARC formata, a ne samo onih polja koja su mapirana u Koha bazu.
^^ Kako se koristi?
U admin suฤelju intraneta, za svaki framework se odrede kljuฤne rijeฤi uparene s pojedinim MARC poljima.
Nakon toga se dodaju potrebna polja u ove dvije datoteke:
`/usr/share/koha/intranet/cgi-bin/catalogue/detail.pl`
`/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/modules/catalogue/detail.tmpl`
^^ Primjer za dodavanje podataka o odgovornosti (MARC 245c)
dodati varijablu responsibility:
.pre
mglavica@koha-upgrade:/usr/share/koha/intranet/cgi-bin/catalogue$ diff -u detail.pl-before detail.pl
--- detail.pl-before 2009-12-08 22:45:28.740439368 +0100
+++ detail.pl 2009-12-08 21:26:47.280689653 +0100
@@ -90,6 +90,7 @@
my $marcseriesarray = GetMarcSeries($record,$marcflavour);
my $marcurlsarray = GetMarcUrls ($record,$marcflavour);
my $subtitle = GetRecordValue('subtitle', $record, $fw);
+my $responsibility = GetRecordValue('responsibility', $record, $fw);
# Get Branches, Itemtypes and Locations
my $branches = GetBranches();
@@ -206,6 +207,7 @@
MARCSERIES => $marcseriesarray,
MARCURLS => $marcurlsarray,
subtitle => $subtitle,
+ responsibility => $responsibility,
itemdata_ccode => $itemfields{ccode},
itemdata_enumchron => $itemfields{enumchron},
itemdata_uri => $itemfields{uri},
.pre
u template dodati:
.pre
<!-- TMPL_LOOP NAME="responsibility" -->
<!-- TMPL_VAR NAME="subfield" -->
<!-- /TMPL_LOOP -->
.pre
> "Promjene"<http://saturn.ffzg.hr/koha-cug/index.cgi?action=recent_changes> | "Sve stranice"<http://saturn.ffzg.hr/koha-cug/index.cgi?action=changes&changes=all> | "Svi tagovi "<http://saturn.ffzg.hr/koha-cug/index.cgi?action=category_list>
_Croatian Koha user group_ je grupa zainteresiranih ustanova i pojedinaca za koriลกtenje, prilagodbu i razvoj knjiลพniฤnog sustava "Koha"<http://www.koha.org/>. Osnovana je kao "ekspertna skupina"[Osnivanje ekspertne skupine pri HrOpen] unutar udruge "HrOpen"<http://www.open.hr/>.
^ Kontakt
*Sastanci*
svaka prva srijeda u mjesecu u 13 sati u raฤunalnoj uฤionici na 1. katu Knjiลพnice Filozofskog fakulta (moลพe se dogovoriti i druga lokacija).
*Mailing lista*
Grupa ima "mailing listu za komunikaciju"<http://mjesec.ffzg.hr/cgi-bin/mailman/listinfo/koha-cug>. Ako nam ลพelite postaviti pitanje, piลกite na adresu mailing liste koha-cug@mjesec.ffzg.hr.
{section}
^ ล to je Koha?
Koha je potpuno slobodan i otvoren softver za knjiลพniฤno poslovanje kojeg koriste knjiลพnice ลกirom svijeta. Sva funkcionalnost Koha softvera dostupna je preko standardnog web preglednika ลกto znaฤi da za njeno koriลกtenje nije potrebno instalirati dodatne programe. Koha podrลพava MARC standard za bibliografske zapise, a za razmjenu zapisa koristi Z39.50 i SRU protokole. Funkcionalnost Kohe obuhvaฤa kompletno knjiลพniฤno poslovanje, ukljuฤujuฤi: javni katalog koji podrลพava razliฤite Web 2.0 sadrลพaje kao ลกto je tagiranje, komentiranje, socijalne mreลพe i RSS izvore; pristup osobnim stranicama u javnom katalogu; moguฤnost izrade popisa literature; podesivo pretraลพivanje; posudbu i adminstraciju korisnika; modul za nabavu graฤe; podrลกku za viลกe knjiลพnica u sustavu; upravljanje periodiฤnom graฤom; modul za izvjeลกtaje i druge alate za podrลกku poslovanju knjiลพnice. Buduฤi da se radi o slobodnom softveru, razvojem Kohe upravlja zajednica korisnika u kojoj usko suraฤuju knjiลพniฤari i programeri. Nove stabilne verzije Kohe, koje sadrลพe popravke i nove funkcionalnosti, javno su dostupne svakih ลกest mjeseci. Slobodno dostupan kรดd uvelike olakลกava i integraciju Kohe s drugim sustavima koje knjiลพnica koristi u svojoj okolini kao i razvoj specifiฤne funkcionalnost za potrebe pojedine knjiลพnice, pod uvjetom da se svaka promjena uskladi s glavnom stabilnom verzijom i podijeli sa zajednicom.
* [Funkcionalnost Koha softvera]
^ Dokumentacija
Na ovom wikiju objavljujemo dokumentaciju o koriลกtenju Kohe i svega ลกto uz Kohu moลพe biti vezano. Postoje i [Koha lokalne dokumentacije] u pojedinim ustanovama.
* [Koha instalacija]
* [git]
* [MARC Bibliographic framework]
* [Pisanje Koha plugina]
* [Barcode]
* [Z39.50]
* [Prilagodba suฤelja]
* [Zebra reindeksiranje]
* [Prikaz podataka u intranetu - keywords to MARC mapping]
* [Koha lokalne dokumentacije]
* "Pretraลพivanje Koha mailing lista"<http://www.google.com/cse/home?cx=012030839526267669208:c5r4yzaftug>
Up: [Workspace Tour - Table of Contents]
Hi! This quick tour will help you get acquainted with your Socialtext Workspace. It's easy to do. After you've read each page, just click on the blue underlined link at the bottom to go to the next page -- sort of like turning the page in a book.
A Socialtext Workspace is a way to work together on the web that's fast and fun.
It's a flexible way for you and your team to organize information.
Right now, the information you're looking at is a few paragraphs of text, like you could read in a newspaper or a book.
[What else is here?]
Komentar "Community Handover IRC Meeting, 2 February 2010"<http://wiki.koha.org/doku.php?id=en:events:meetings:irc_meetings:meetingnotes10feb02>
^^ Zebra
* [Z39.50] server koji koristi koha
* http://wiki.code4lib.org/index.php/Getting_Started_with_Zebra
* Pretvaranje COBISS-a u Z39.50: http://svn.rot13.org/index.cgi/Z3950-HTML-Scraper
^^ IRC
ili kako najlakลกe komunicirati s grupom ljudi u realnom vremenu?
valjalo bi se dogovoriti da otvorimo neki IRC kanal na kojem bi se poruke arhivirale
^^ Osnivanje ekspertne skupine pri HrOpen-u
[2010-01-27]
----
Naลกa malenkost iz Petrinje dolazi pa se vidimo... Lijep pozdrav...
_contributed by {user: tstankovic@vusp.hr} on {date: 2010-02-02 08:02:56 GMT}_
Na sastanku upravnog odbora HrOpen-a uvojena je odluka o formiranju ekspertne skupine za Kohu.
Dakle, sada imamo i formalni organizacijski oblik :-)
<table align="left" border="0" cellpadding="1" cellspacing="1" style="width:100%">
<tbody>
<tr>
<td style="text-align:center"><img alt="" src="data:image/jpeg;base64,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" style="height:75px; width:75px" /></td>
</tr>
<tr>
<td style="text-align:center">
<p> </p>
<p><span style="font-size:11px">Radnim danom od 12-14 h moลพete pitati bilo ลกto :)</span></p>
<p> </p>
</td>
</tr>
<tr>
<td style="text-align:center"><a href="mailto: dobrodosli@fer.hr"><img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABEZJREFUeNrEVklLY00UvdGoiVPbgsStqOCM4loEl+IvcOXGhQvBCY3DSlFw0XwrMWhAEHEgvXZAEUEEwQGcwI3TygFnRY1R89W5zX1Uhm5Ck6QLypdnvXfPqXvOva9MXq+X/uUw409xcXFFYWHheEZGxrePj4+vSALGqPHw8ODe29tr3NnZ+ckEFLirtrbW9vz8HJVdp6amktlsdqqfvwikp6dbFSt6enqiSEtiMpno8/OTrFar15Dg/f3do1LPC9EYwPJ4PJ8Gga+vLwaPFgHgANOHgGRAeYRlCLcUSL3EBFZQArje39+T2+1mIuEYAop4MF9sbGwgAUm/0gV+oIaGBpiEWcfHx//1bgH69vbGv19eXsjlcnH8hIQEQ26zsAQrWczKyuLFg4MD2t7eppSUFA4aKjh2h51eXV1RTU0NZWZmGtpjk8CSzJj1BckEWKMsc3JyaH5+ntbW1ig5OTlkEgA/Ozvj95H2i4sLlLrhM8FiaXQPIAMynE4nqU5Fra2taFTsi7i4OJYEWfKf+D/WLRYLnZ+fU1FREfX19dHMzAyNjY2xHMCQKR6IkQwAXK8EIbG1tUWNjY2UnZ3NBtWD+E+Mk5MTys3Npe7ubpqenqbl5WV0PUMa2WjQDAgB3OMFzNHRUSbR1NTEJG5vbw0d9QlNj4+PKS8vj3p6emhycpKWlpYMM4vPfpsBBMXEgjwsJBwOB21sbLAc0BUksAt5B88CvKCggMHHx8dpYWGBwWVDmPo7ARkIRgD3YryhoSFaX1+nlpYWIxMSUMA7OztZNgGXGEJC7gUnIANSBXpnFBK4HxgY4AqBvvn5+VxmR0dHVF5eTr29vaz/7Owsm1F2Len2j+nTB4SEPCC/MWFI3F9eXrIPcD08PKSuri72BtaREehdWVlJ9fX17Hq8AyLiDz0urj59QPRBqSF1uiQC3tHRQaWlpXy9u7tjsLKyMu5wExMTtL+/T7u7uywRxsjICJck4koGJCb6hA8B3PibA0wRHA0Juy0pKaH29nYuRdT9ysoKlxgGdpqWlkaLi4sM1NbWxtfh4WGfHf+RgK4/JsDRUNBM1JGNgwI8MTGRX9S/EdI3sAYDIg4yhTiDg4PsG/nkIyMgHDQDei+AHHA13N3c3GyAS8Px/77LgIRzc3P8HMyK9yCNfOikEgI8IAtimv7+fta+rq6OHh8fOfDr62tI3wLEm5qa4lJFJioqKjgLwRqRjwSyO+zUZrPR6ekpVVdXU1JSktGUQj0DIB4I39zccMnigyTyBlSBmA7/BNPNzU02CrSqqqoKGThYJq6vr2l1dZVw4haT6zL6eABAYGy328N+JMOGUJbACPCAnAFFF5SZfpwKx3lQx5FzZ8CJKFKnYgHT4/t7ICaax3LB1D9G8dAoWgNYCtNiEFBNx44mgQUpt0hNOZYrzP8MCdSCQxFIU9fvqMhIJ0Dp/6qwfuDmfwEGABBbVKNP05pBAAAAAElFTkSuQmCC" /></a> <a href="<http://www.facebook.com/pages/Sredi>ลกnja-knjiลพnica-Fakulteta-elektrotehnike-i-raฤunarstva/171512036240295" target="_blank"><img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABS1JREFUeNrEV02IHEUU/qq6+md+dvaX3QSDrIhkJQcxeogHQRAh6MGLHoRclCiCkoN4EQ+CIBLUg2jwJAQP5qCCAdGDKCoSlYDJQcUssgq7rMnszP7N7uzOdFeVr6p7en52ZnpyCPZsb09X19T73ve+914101rj/zyE+Tdz4s0TdxwZ+zKfc0uRkpFzi4xJY5A5ohFG4dLy9qnypVc+swDmjxS/P3ZnwbtRqQEMzi11WUeYP5wnG6VP6Y5ZADnf9a6vbWGrtg/GHANi+GGeq/ZN/LUdSm4n6Pbc1Dj9aQmlFFzhqjQEoYoaWivfuM54tibMDM0d7Nab2NysWHKZXZx+zzhcP4epqTG4nB8ArmWMPlQ6TAFozehU0Ex1OjLQuqYolSsVTDsreO2Zh3H3wl3W62Yk0WyG+PPvMj68uAjmeXB6AmpsaO1Ym20ARIk9pTL8DT0UY9jaquH24iq+uvAOvMLsgTn3bOzi3QtvYFJwMti9YGpLqTYARdwpJckz454aCiCSHDsbK3jr3LN9jZvj19+WUN/bx2QpQG+WGxvGlkoexAAIjWqhYsMV2GxGmJt0cPz4vV3jP16+hktXFrEwfxg/XF5EIedZXzS6HdLW2dheDwPKXnmGCMIwwnQ+Bzh+OlapbuHJF97DfiNEoeBjvJBHqeCRL+oAA0ojtdXDQNOmlhpGAAkniqI0fq2j3mjAczmmJybhe25CYkx1PxHbEPQyoEnBw6qyUe1OvY7V1XV40wRWRsSCQMuBanUdte0aAkrmUmkMxXy+f0prW4v6MNCiawCInd0QC4caeOmphxAEJC6qYUqGNu/nZibw9ssnsVffofwv4tufl/HT72UKg98/kxS6GYiFYajtz7+Zul2r4f6Tx/Dc6acTLYQ2HIz49l0Hz58+lc4v1z7H178soeALcN4PgIbuYkCrOA0HALDEUAnVhvZ0EQUpJTgB0KLbyo21KlVG46bsS6gBoHQnA8pmJw0OViB1Sly9VsUHH32BmYkcnnj0QQJAZVc4qG7UcP6Tb+C6LsaLAa7+8U+chn2ywNqTOq45LQDMiNB6OASA7+LKX1Vc/O48jt7G8Pgj90GIAK4nsL65jVfPfmwzIAg8TI0X4RP9WsoBjGoKXQcAMyBNl9LDi1COFH5oboy8pOZDzcjOJyYFaWB2ZsyKM/AcesbjNNT9AUjjcBcAM2BFyDO7MFPaCs/UAvuhqx0zXpmuaJrJgNh3NaROAKylA6WyW7Ep2TpWsf3Y78l4RKcYYQ0yzhx0MmDOKBHMcBYsrVolqUthczhdQxoir5kpZhntFCqx1wHA3Mm0DugMBsiYFjEAHbPGbMtVcTUV2QAkayOIAfB4IaVY9k7IhMmUWM2THhK1HiQ13skEYDOA94jQUBvvUoYzYLJFRyYDomRno5NCFiY7K5kJQOmeSmgT0e4HRtjU2g6nEmMmnZJrz05n2OZcs/YmVrQ7VIuBjC0xGTD7vGLeR0hacF2BfJCzLXg0ALGA0SnCOJ2iERRMHdjUHgK6/O8aXTntA1xcXytDcBaDyAyBtGVfdzOg09zO0kAuEFgp1/HAY2cQEmvGqCBKmHmjcYDsV72kD/RowLGVUNIKXGVogNkOaIxzxNt4ox2HmhIzIUAGA6bgOXaO09GOmQjIs+Ze2BofeLT6u/BZz9wRFGwXoLci+m1DSZEC2A9LL8I9+r7r7UCCj7QO61MjRn1FbbI89qPxsykAovRcE7MToZos0V3zpta7ucNI2NUQIWfO62bgPwEGAMkwMpYkCEKvAAAAAElFTkSuQmCC" /></a> <a href="<https://twitter.com/#!/KnjiznicaFER>" target="_blank"><img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABXtJREFUeNrEV89vG0UU/mb2l+2GxkmgSRqJFqoWeqjKGcEBoaoSfwEXbhw4FM78EwghLhx6AU4IxAWoQBUSXEAVEhxQETSoahWSOJQmcexmvd75wXsz682unUYlUstGa2ftmXnffO973zwLay3+z0swgAsfXn3x7MLsR+1Wc1pba/AQMQVSyP4gy37rbL759Wsvfxbyh8/Oz3568fzZ+e5QP4ItA+04hBB/XKYnD2C62WhuDhV20iF/PzlD+DfHjGPn8BTxTKUtGlHoFnEAhsrkRilM6sFCBBGNCpGmuwRCIA5CSGOKpcShAFijkCurSwCG/jStaWjh6pJBGKHX38Haj9/hqakYrfYMejPHIR9fpIm01CEEzDO0CVzMPQBEiTLaMVAuSbsdGou1b7/AWxdfwKlzz7mPO50NfNJJMYwSD+IQF8fimCUATYG0Me4u4wcBtjbW8fzTS2VwvhYW5nH63jp+7uVoBfJQALQRLmYJQFHlsTBGH3oCBFSe49jsrHs2Rd6lDLDQSqC2+lA0RhyGAWbcVlNgfAqMrTBgPU0yCXzubJFzaXGUysgQQ5o0IkYI9qaCeTE0X2h1nxT4mJUUEP1qLAUsTFpkpAqnD7oDGtMmUMPbN7C9myIIiAUWryhKlhiyQkJOPYYWiTXh78fEyukfxSoBqHENCP9sC6TGiRTI6f+ZJMKl8yeRDVIIKdndqGJCP47KSakcvXSAH3p3sZrMIJb1glWYAEAp0Bq6AlSIQhO2ygCNpXGGtrt04oQLvldfnquSCbpOdrfw3vU7yChMVPN/XRehA8C3tTUGmJWRLliEVSZTrQ9yW2JFksM20W6EWNklPQSiursxAFwFrAFRB6CJEqa0ykA1yL6RRyZGa2W0Zjcjh+X0iipbwsUsAVjnA0RLbS3jlOwYYCYKBjhGRLtLAjF5Jli3tputlcaVlS1spDmaIVWMNvWhVQZsocoaAOHzxOVirRcgs8DBb+3s4trfPTdRjNlsRusMKdadgcLGQIOr2BgzackF9nA0MTemWspOTFyvuti9W4RmhbTz5a17+HJlG1NRMJEKWbyEtEBE1WGJEmXrAEyFu4IBX3J1ACwUVQb3KaBpZKOG3hP6vhmIg2RQmI3d/0SsaQBFedUW4kDAaI2RE3KlTJEb5s47hN/xfzwV7QQDRRna2iDKO1ltN+sTOlUyMFACz0w3MKfuoaMbaCUxuWE4sfuAewli0LugmExBTYSFM9X2wTmPm1jZ2YDOMm80dOfUuBxtNvDGmTlc+eU61joZ+rlxlI7CWEkNTKMFPbdIABMCYSbSNKYBX4Z2DGlE9rqsE6xvdDC7uITBIHPod4dDPLm4gEt0NGdZigHZrkuR9Kcjl1yWpvhmtYvvB8KVoagBsGX3VTBgCwbGRGVybLdm8NWNVbw+T8FIeNa5IzlhNnRWLMME8XRzohpmnwjx6rFdXP/pNv6hckrkGADUfEA417NiUi6NOMLVfogTvy7jwrnT6Cm4c8MVhK6bV5ViTb3EkSgiK46w3uXTQFZ/C7iYJQCnbs652L+9CJImLq+m6NqbeOXMEppx7Kpg5Oe1Rll4L2DaN0k7f/WH1EL4nrPmQnbMCf2hsz8A12BQD/jxWopr2zfx0vE2TrWPoBUHrlwF5T50+ReuWnICtkNt/ue3tnB3QFZMhlVtdlA5VzwA4S33oP6Ky6oVSvyZWvy+fBcNsUk2ywc9K4e0ULDnBE13Snlnlps0xo5XGAMQFQZ4k/oBzYSbi5jExxkbOO8w9X7M8SidDTN1LrTd9yCQVR+Iba75EH9gNzt4ZAFI3+c3lHawGnsApHibUvC+O30eyUXMBfLdago+IBBtbveKlu1hXnRAi5Te3+GHfwUYAPKMbY4wibr+AAAAAElFTkSuQmCC" /></a> <a href="<http://www.youtube.com/user/KnjiznicaFER>" target="_blank"><img alt="" src="data:image/png;base64,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" /></a></td>
</tr>
<tr>
<td style="text-align:center"><img alt="" src="data:image/png;base64,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" /></td>
</tr>
<tr>
<td style="text-align:center">099/2110914</td>
</tr>
<tr>
<td style="text-align:center"> </td>
</tr>
<tr>
<td style="text-align:center"><embed height="350" src="<http://w.digsby.com/dw.swf?c=z60dqmdndczmc0sa>" type="application/x-shockwave-flash" width="170" wmode="transparent"></embed></td>
</tr>
</tbody>
</table>
<p> </p>
Up: [Workspace Tour - Table of Contents]
Back: [How do I make links?]
Visit the *dashboard* and click on the *New Page* Button. You will see a new page to edit. Change the name of the page by editing the title in the field on top. Put the text of the page in the larger space below. Click the green *Save* button.
>> {image: Create-New-Page.png}
You can also create a new page by making a link on an existing page. While editing, select the text to link and click on http:base/images/wikiwyg_icons/link.gif in the toolbar. You can also put the name of the page you wish to create in square brackets, like this: *{{[Title of New Page]}}*.
After saving, the link will appear with a dashed underline, which means the link refers to page that does not exist. Whenever you click on a dashed link, you can create the missing page.
To practice, try making a new page with your name as a title using either method.
[Congratulations! You know how to use a workspace]
{toc: }
^ Format broja
Odabran je 10-tero znamenkasti broj (3+7 znamenki)
.pre
III1234567
.pre
* III - zadnje tri znamenke iz broja ministarstva
** 130 - Filozofski fakultet
** 098 - Institut Ruฤer Boลกkoviฤ
* 1234567 = oznaka primjerka
7 zmaneki omoguฤava omoguฤava 9,999,999 primjeraka po ustanovi, a troznamenkasni prefix je odabran jer Crolist veฤ koristi dvije znamenke za ustanovu i 7 za primjerak (ukupno 9 znamenki), pa je moguฤe razlikovati barcode iz Crolista od barcoda iz Kohe prema broju znamenki
^ Barcode standardi
Nadopisati lijepi opis, a do tada, {link: rot13 [Barcode journy] } opisuje Dobricine eksperimente sa barcode softverom.
^ Iskustva sa opermom
* Zebra barcode printer
{toc: }
^ Gdje se koriste plugini?
Koha plugin je funkcionalnost skrivena iza lika `...` (tri toฤkice) u poljima za editiranje:
{image: koha-tag-editor.png}
Plugin je u osnovi pop-up prozor koji se otvara klikom na link i koji moลพe vratiti podatke u polje iz kojeg je otvoren.
^ Dijelovi
Sastoji se od dvije datoteke:
* "cataloguing/value_builder/ffzg-signatura-zatvoreno-spremiste.pl"<http://koha-dev.rot13.org:8081/cgi-bin/gitweb.cgi?p=koha-ffzg.git;a=blob;f=cataloguing/value_builder/ffzg-signatura-zatvoreno-spremiste.pl;h=c54a0b33a9a29cc769bcfc760bcd835437d8542c;hb=ff60f4a71d8aca3ae247ab5615c7224da308b599>
* "koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/ffzg-signatura-zatvoreno-spremiste.tmpl"<http://koha-dev.rot13.org:8081/cgi-bin/gitweb.cgi?p=koha-ffzg.git;a=blob;f=koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/ffzg-signatura-zatvoreno-spremiste.tmpl;h=d1bafae5c5c555d13919b543c2641519bf14e54d;hb=ff60f4a71d8aca3ae247ab5615c7224da308b599>
^ Instalacija
https://10.60.0.252:8443/cgi-bin/koha/admin/marc_subfields_structure.pl
{image: koha-subfield-display_more_constraints.png}
{image: koha-subfield-other-options-plugin.png}
^ Editiranje
Ako se plugin editira u koha checkout direktoriju `/srv/koha` treba ga prvo instalirati na sistem:
.pre
cp -v ./koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/ffzg-signatura-zatvoreno-spremiste.tmpl \
/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/modules/cataloguing/value_builder/
cp -v ./cataloguing/value_builder/ffzg-signatura-zatvoreno-spremiste.pl \
/usr/share/koha/intranet/cgi-bin/cataloguing/value_builder/
.pre
http://koha-dev.rot13.org:8081/cgi-bin/gitweb.cgi?p=koha-ffzg.git;a=blob;f=ffzg-signatura-zatvoreno-spremiste.sh;h=ec124c67830420273483e60ce0eea81720c72c1d;hb=ff60f4a71d8aca3ae247ab5615c7224da308b599
Up: [Workspace Tour - Table of Contents]
Back: [What if I make a mistake?]
In the background, Socialtext formats pages with a few extra symbols, like brackets and asterisks, in the text. For the most part, when editing you can ignore this. However, you may come across these symbols, for example, while browsing through the page revision history. Additionally, you can use the symbols while editing in Advanced mode.
To learn how to use the symbols, when you're editing a page in Advanced mode, click the *"Edit tips"* link at the top.
>> {image: Editing-page-edit-tips.png}
[How do I make links?]
Git sustav za praฤenje promjena koji koristi Koha.
Mnogo bolje i potpunije upute: http://wiki.koha-community.org/wiki/Version_Control_Using_Git
*DON'T PANIC!*
{toc: }
^ podaci o korisniku
Da bi vaลกi commiti imali lijepo ime korisnika, morate prvo konfigurirati git
.pre
$ git config --global user.name "Dobrica Pavlinusic"
$ git config --global user.email "dpavlin@rot13.org"
.pre
Ovo je potrebno napraviti *samo jednom* za korisnika i primjenjuje se na svim repozitorijima na istoj maลกini.
^ repozitoriji
Repozitoriji su jednostavno serveri koji nam omoguฤavaju da na njih ลกaljemo (push) ili sa njih vuฤemo (pull) promjene koje su u njima napravljene.
Kako je svaki checkout git-a potpuni repozitorij, svaki od njih moลพe postati javni repozitorij koji moลพe dijeliti promjene.
^^ Upstream Koha development
* http://git.koha.org/
* git://git.koha.org/pub/scm/koha.git
^^ Checkout (lokalna kopija)
.pre
git clone git://git.koha.org/pub/scm/koha.git
.pre
^^ FFZG promjene
* http://git.rot13.org/?p=koha.git;a=summary
* git://git.rot13.org/koha.git
* ssh://git.rot13.org/git/koha/
^^ promjene iz drugog repozitorija
Ako ลพelimo povuฤi promjene iz drugog repozitorija (npr. druge instalacije unutar KOHA CUG-a) trebamo dodati novi remote repozitorij.
Na repozitoriju koji je napravljen od upstream Koha repozitorija, imamo jedan remote repozitorij `origin` za push i pull:
.pre
dpavlin@t61p:/srv/koha$ git remote -v
origin git://git.koha.org/pub/scm/koha.git (fetch)
origin git://git.koha.org/pub/scm/koha.git (push)
.pre
Sada ฤemo dodati repozitorij sa FFZG development-a koristeฤi obiฤnu ssh konekciju:
.pre
dpavlin@t61p:/srv/koha$ git remote add ffzg ssh://koha-dev.rot13.org/srv/koha/
dpavlin@t61p:/srv/koha$ git remote -v
ffzg ssh://koha-dev.rot13.org/srv/koha/ (fetch)
ffzg ssh://koha-dev.rot13.org/srv/koha/ (push)
origin git://git.koha.org/pub/scm/koha.git (fetch)
origin git://git.koha.org/pub/scm/koha.git (push)
.pre
i povuฤi sve promjene lokalno:
.pre
dpavlin@t61p:/srv/koha$ git fetch ffzg
remote: Counting objects: 2019, done.
remote: Compressing objects: 100% (1440/1440), done.
remote: Total 1790 (delta 1116), reused 587 (delta 317)
Receiving objects: 100% (1790/1790), 1.40 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (1116/1116), completed with 67 local objects.
From ssh://koha-dev.rot13.org/srv/koha
* [new branch] ffzg -> ffzg/ffzg
* [new branch] ffzg2 -> ffzg/ffzg2
* [new branch] koha-lxc -> ffzg/koha-lxc
* [new branch] master -> ffzg/master
* [new branch] origin -> ffzg/origin
* [new branch] rt-390-signatura-zatvorenog-spremista -> ffzg/rt-390-signatura-zatvorenog-spremista
From ssh://koha-dev.rot13.org/srv/koha
* [new tag] ffzg -> ffzg
.pre
^ branches
Branches su mjesta na kojima se povjest promjena grana u dva dijela. Jedan je development koji rade upstream developeri Kohe, a drugi su naลกe lokalne promjene za neลกto.
Nakon nekog vremena, potrebno je dva branch-a spojiti u jedan da bi preuzeli promjene. `gitk` nam moลพe pokazati to kao stablo:
{image: git-branch-merge.png}
Promjene se mogu preuzeti (merge) iz jednog branch-a u drugi.
^^ imenovanje
Branches nisu niลกta drugo nego ime za svaku toฤku i kojoj se razvoj dijeli u dva toka.
Dobri nazivi za branch:
* DNS hostname produkcijske ili develpment maลกine na kojoj je branch checkoutan
* veza na bug tracking (prefix-broj-kratak-opis)
^^ pregled
.pre
dpavlin@t61p:/srv/koha$ git branch -a
* master
remotes/ffzg/ffzg
remotes/ffzg/ffzg2
remotes/ffzg/koha-lxc
remotes/ffzg/master
remotes/ffzg/origin
remotes/ffzg/rt-390-signatura-zatvorenog-spremista
remotes/origin/3.0.x
remotes/origin/HEAD -> origin/master
remotes/origin/biblibre-acq-preview-only
remotes/origin/biblibre-integration
remotes/origin/biblibre-sopac
remotes/origin/labels_recon
remotes/origin/master
remotes/origin/rfid-direct-tagging
remotes/origin/sysprefs_editor
.pre
^^ kreiranje
Pretpostavimo da ลพelimo kreirati branch za instalaciju na `koha.ffzg.hr`:
.pre
dpavlin@t61p:/srv/koha$ git checkout -b koha.ffzg.hr remotes/ffzg/ffzg2
Branch koha.ffzg.hr set up to track remote branch ffzg2 from ffzg.
Switched to a new branch 'koha.ffzg.hr'
.pre
^ patches
^^ format-patch
"git format-patch"<http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html>
Naลก cilj je napraviti patcheve od promjena koje smo napravili u naลกem branch-u:
{image: git-branch-sip-debug.png}
Iz slike vidimo da smo napravili `sip-debug` branch iz postojeฤeg `3.0.x`
.pre
koha-lxc:/srv/koha# git format-patch -o sip2-changes 3.0.x
sip2-changes/0001-disable-PreFork-to-enable-easy-debugging.patch
sip2-changes/0002-remove-eval-so-it-won-t-hide-errors.patch
sip2-changes/0003-warn-about-missing-institutions-entry-in-config-xm.patch
.pre
Ovo ฤe napraviti onoliko patcheva koliko imamo commita na naลกem branch-u koji smo napravili od `3.0.x`
^^ am (apply mail patch)
Prvo ฤemo napraviti novi branch u naลกem repozitoriju `sip2-debug` u koji ฤemo importati naลกe patcheve:
.pre
koha-lxc:/srv/koha# git checkout -b sip2-debug master
Switched to a new branch "sip2-debug"
.pre
Nakon toga moลพemo applyati samo one promjene koje su nam interesantne:
.pre
koha-lxc:/srv/koha# git am sip2-changes/0001-disable-PreFork-to-enable-easy-debugging.patch
Applying disable PreFork to enable easy debugging
koha-lxc:/srv/koha# git am sip2-changes/0002-remove-eval-so-it-won-t-hide-errors.patch
Applying remove eval so it won't hide errors
koha-lxc:/srv/koha# git am sip2-changes/0003-warn-about-missing-institutions-entry-in-config-xm.patch
Applying warn about missing <institutions> entry in config xml
.pre
^^ slanje na koha-patches listu
Koha prima patcheve preko "koha-patches liste"<http://lists.koha.org/pipermail/koha-patches/>
*yada, yada, nije testirano!*
.pre
# create all changes against master in patches dir:
git format-patch -p patches master
git send-mail --to koha-patches@koha.org patches
# reciving side would just pull whole mbox
git am mbox
.pre
^^ ne ลพelim viลกe svoje lokalne promjene!
.pre
git reset --hard
.pre
*Oprez* ovo ฤe pobrisati *sve promjene koje su razliฤite od zadnjeg commit-a*
^ Viลกe informacija
* "RailsConf Git Talk"<http://www.gitcasts.com/posts/railsconf-git-talk> (mnogo zgodnih animacija ลกto se deลกava sa pojedinim komandama)
* "Koha wiki ima upute za koriลกtenje git-a"<http://wiki.koha-community.org/wiki/Version_Control_Using_Git>
^ Javni repozitorij
Da bi drugi korisnici mogli kopirati promjene, dovoljan je samo ssh. Meฤutim, za anonimne korisnike treba podesiti git-daemon
Dobar savjet je *prvo* instalirati "gitweb"<http://git.rot13.org/> za overview.
^^ git-daemon
.pre
git-daemon --verbose --export-all --base-path=/var/cache/git
.pre
U Debian-u postoji paket `git-daemon-run` koji koristi runit (YMMV) koji se podeลกava u
.pre
dpavlin@mjesec:~$ cat /etc/sv/git-daemon/run
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec git-daemon --verbose --export-all --base-path=/var/cache/git
.pre
Dodan je `--export-all` i popravljen `--base-path` (sic!)
.pre
# 100 | | 100a () (100B) (100C) (100d) (110A) (110b) (110c) (110d) (110e) (110f) (110g) (130A) (130d) (130f)) ((130 g 130h () 130k) (130l) (130) (130n) (130o) (130p) (130r) (130) (130t) | <br/> <br/>
# 245 | | 245a () (245B) (245f) (245g) (245k) (245n) (245p) (245s) () 245h |
# 246 | | (: 246i) (246a) (246b) (246f) (246g) (246n) (246p) () 246h |
# 242 | | (= 242a) (242b) (242n) (242p) () 242h |
245 # | | () 245c |
242 # | | 242c) (= |
# 250 | - | (250A) () 250b |
# 254 |, | () 254a |
# 255 |, | (255a) (255b) (255c) (255d) (255e) (255f) () 255g |
# 256 |, | () 256a |
# 257 |, | () 257a |
# 258 |, | 258a () () 258b |
# 260 | - | (260A) (260b)) (260c |
# 300 | - | (300A) (300B) (300C) (300d) 300e () () (300F) 300g |
# 306 | - |) (306a |
# 307 | - | 307a () () 307b |
# 310 | - | 310a (()) 310b |
# 321 | - | 321a () () 321b |
# 340 | - | (3403) (340A) (340b) (340C) (340d) (340e) (340f) (340h) () 340i |
# 342 | - | 342a () (342b) (342c) (342d) (342e) (342f) (342g) (342h) (342i) (342j) (342k) (342l) (342m) (342n) (342o) (342p) (342q) (342r) (342s) (342t) (342u) (342v) () 342w |
# 343 | - | 343a () (343b) (343c) (343d) (343e) (343f) (343g) (343h) () 343i |
# 351 | - | (3513) (351a) (351b) () 351c |
# 352 | - | 352a () (352b) (352c) (352d) (352e) (352f) (352g) (352i) () 352q |
# 362 | - | 362a () () 351z |
# 440 | - | 440a () (440n) (440p) (440V) (440x) |.
# 490 | - | 490a () () (490V) 490x |.
# 800 | - | 800a () (800b) (800c) (800d (800E)) ((800F) 800g) (800h) (800j) (800k) (800l) (800) (800n) (800o) () 800p (800q) (800R) (800s) (800t) (800u) (800V) |.
# 810 | - | 810a () (810b) (810c) (810d) (810e) (810F) 810g () (810h) (810k) (810l) (810m) (810n) (810o) (810p) () 810r (810s) 810t () () 810u (810v) |.
# 811 | - | 811a () (811c) (811d) (811e) (811f) (811g) (811h) (811k) (811l) (811n) (811p) (811q) (811s) (811t) () 811u (811v) |.
# 830 | - | 830a () (830d) (830f) (830g) (830h) (830k) (830l) (830m) (830n) (830o) (830p) (830r) (830s) (830t) () 830v |.
# 500 | <br/> <br/> | (5003)) (500a |
# 501 | <br/> <br/> | (501A) |
# 502 | <br/> <br/> | () 502a |
# 504 | <br/> <br/> | () 504a |
# 505 | <br/> <br/> | 505a () (505t) (505r) (505g) () 505u |
# 506 | <br/> <br/> | (5063) (506a) (506b) (506c) (506d) () 506u |
# 507 | <br/> <br/> | 507a (()) 507b |
# 508 | <br/> <br/> | 508a () () 508a |
# 510 | <br/> <br/> | (5103) 510a () (510x) (510c) () 510b |
# 511 | <br/> <br/> | () 511a |
# 513 | <br/> <br/> | 513a () () 513b |
# 514 | <br/> <br/> | 514z () (514a) (514b) (514c) (514d) (514e) (514f) (514g) (514h) (514i) (514j) (514k) (514m 514u ()) |
# 515 | <br/> <br/> | () 515a |
# 516 | <br/> <br/> | () 516a |
# 518 | <br/> <br/> | (5183) (518a) |
# 520 | <br/> <br/> | (5203) (520a) (520b) () 520u |
# 521 | <br/> <br/> | (5213) (521a)) (521b |
# 522 | <br/> <br/> | () 522a |
# 524 | <br/> <br/> | () 524a |
# 525 | <br/> <br/> | () 525a |
# 526 | <br/> <br/> | (\) (n510i \ n510a) 510b () () (510c) 510d (\) n510x |
# 530 | <br/> <br/> | (\ n5063) (\ n506a) (506b) (506c) (506d) (\) n506u |
# 533 | <br/> <br/> | (\ n5333) (\ n533a) (\ n533b) (\ n533c) (\ n533d) (\ n533e) (\ n533f) (\ n533m) (\) n533n |
# 534 | <br/> <br/> | (\ (n533p) \ (n533a) \) (n533b \ n533c () \) (n533d \ (n533e) \) (n533f \ (n533m) \) (n533n \ () n533t \) (n533x \ n533z) |
# 535 | <br/> <br/> | (\ n5353) (\ n535a) (\ n535b) (\ n535c) (\) n535d |
# 538 | <br/> <br/> | (\ n5383) (\ n538a) (\ n538i) (\) n538u |
# 540 | <br/> <br/> | (\) (n5403 \ n540a) 540b () () (540c) 540d (\) n520u |
# 544 | <br/> <br/> | (\ n5443) (\ n544a) (\ n544b) (\ n544c) (\ n544d) (\ n544e) (\) n544n |
# 545 | <br/> <br/> | (\ n545a) (545b) (\) n545u |
# 546 | <br/> <br/> | (\ n5463) (\ n546a) () 546b |
# 547 | <br/> <br/> | (\) n547a |
# 550 | <br/> <br/> | () 550a |
# 552 | <br/> <br/> | 552z () (552a) (552b) (552c) (552d) (552e) (552f) (552g) (552h) (552i) (552j) (552k) (552l 552m) () () (552n) 562o (552p)) (552u |
# 555 | <br/> <br/> | (5553) (555a) (555b) 555c () () (555d) 555u |
# 556 | <br/> <br/> | (556A) () 506z |
# 563 | <br/> <br/> | (5633) (563a)) (563u |
# 565 | <br/> <br/> | (5653) 565a () (565b) (565c) (565d) () 565e |
# 567 | <br/> <br/> | () 567a |
# 580 | <br/> <br/> | () 580a |
# 581 | <br/> <br/> | (5633) (581a)) (581z |
# 584 | <br/> <br/> | (5843) (584a) () 584b |
# 585 | <br/> <br/> | (5853) (585a) |
# 586 | <br/> <br/> | (5863) (586a) |
# 020 | ISBN <br/> <br/> <label>: </ label> | 020a () () 020c |
022 # | <br/> <br/> <label> ISSN: </ label> |) (022a |
# 222 | = | (222a)) (222b |
# 210 | = | (210a) () 210b |
# 024 | <br/> <br/> <label> Standardni broj: </ label> | (024a) (024c) (024d) (0242) |
# 027 | <br/> <br/> <label> Standard Tech. Report. No: </ label> |) (027a |
# 028 | <br/> <br/> <label> Publisher. No: </ label> | 028a () () 028b |
# 013 | <br/> <br/> <label> Patent No: </ label> | (013a) (013b) (013c) (013d) (013e) () 013f |
# 030 | <br/> <br/> <label> CODEN: </ label> |) (030a |
# 037 | <br/> <br/> <label> Izvor: </ label> | (037a) (037b) (037c) (037f) (037g) () 037n |
# 010 | <br/> <br/> <label> LCCN: </ label> |) (010a |
# 015 | <br/> <br/> <label> Nat. Bib. No: </ label> | (015a) (0152) |
# 016 | <br/> <br/> <label> Nat. Bib. Agencija za kontrolu broj: </ label> | (016a) (0162) |
# 600 | <br/> <br/> <label> Subjects - Osobna imena: </ label> | (\ n6003) (\ n600a) (600b) (600c) (600D) (600e) (600f) (600g 600h)) ((- 600k) (600l) (600) (600n) () (600o - 600p) (600R) (600s) (600T) () (600u - 600x) (-) (600z -- -600y) (-) 600V |
# 610 | <br/> <br/> <label> Subjects - Corporate Imena: </ label> | (\ n6103) (\ n610a) (610b) (610c) (610d) (610e) (610f) (610g 610h)) ((- 610k (610l)) (610m) (610n)) ((610o - 610p) 610r () (610-ih) 610t () () (610u - 610x () - () 610z -- -610y) (-) 610v |
# 611 | <br/> <br/> <label> Subjects - Skup Imena: </ label> | (\ n6113) (\ n611a) (611b) (611c) (611d) (611e) (611f) (611g () () 611h - 611k) 611l () (611m) 611n () () (611o - 611p) 611r () (611s) 611t () () (611u - 611x () - () 611z -- -611y) (-) 611v |
# 630 | <br/> <br/> <label> Subjects - Uniform naslova: </ label> | (\ n630a) 630b () () 630c (630d) 630e () (630f) 630g () () 630h (- 630k) (630l) (630m) (630n) () (630o - 630p) (630r) (630s) () (630t - 630x) (-) (630z - 630y) (- 630v ) |
# 648 | <br/> <br/> <label> Subjects - Kronoloลกki Uvjeti: </ label> | (\ n6483) (\) (n648a - 648x) (-) (648z - 648y) (-- -648v) |
# 650 | <br/> <br/> <label> Subjects - aktuelno Uvjeti: </ label> | (\ n6503) (\ n650a) (650b) (650c) (650d) () (650e - 650x) (-) 650z (-) 650y (-) 650v |
# 651 | <br/> <br/> <label> Subjects - Geographic Terms: </ label> | (\ n6513) (\ n651a) (651b) (651c) (651d) () (651e - 651x) (-) 651z (-) 651y (-) 651v |
# 653 | <br/> <br/> <label> Subjects - Index Terms: </ label> |) (653a |
# 654 | <br/> <br/> <label> Subjects - Facted Index Terms: </ label> | (\ n6543) (\) (n654a - 654b) (- 654x) (-) (654z - 654y) (-) 654v |
# 655 | <br/> <br/> <label> Index Terms--Genre/Form: </ label> | (\ n6553) (\) (n655a - 655b) (-) (655x - 655z) (-) (655y - 655v) |
# 656 | <br/> <br/> <label> Indeks Uvjeti koriลกtenja - Occupation: </ label> | (\ n6563) (\) (n656a - 656k) (-) (656x - 656z) (-- -656y) (-) 656v |
# 657 | <br/> <br/> <label> Indeks Uvjeti koriลกtenja - Funkcija: </ label> | (\ n6573) (\) (n657a - 657x) (-) (657z - 657y) (-- -657v) |
# 658 | <br/> <br/> <label> Indeks Uvjeti koriลกtenja - Curriculum Cilj: </ label> | (\) (n658a - 658b) (-) (658c - 658d) (-) 658v |
# 050 | <br/> <br/> <label> LC klase. No: </ label> |) ((050a / 050b) |
# 082 | <br/> <br/> <label> Dewey klase. No: </ label> |) ((082a / 082b) |
# 080 | <br/> <br/> <label> Univerzalna decimalna klase. No: </ label> | 080a (() () 080x / 080b) |
# 070 | <br/> <br/> <label> National Agricultural Library Poziv na broj: </ label> |) ((070a / 070b) |
# 060 | <br/> <br/> <label> National Library of Medicine Poziv na broj: </ label> |) ((060a / 060b) |
# 074 | <br/> <br/> <label> GPO predmeta broj: </ label> |) (074a |
# 086 | <br/> <br/> <label> Gov Doc. Klasa. No: </ label> |) (086a |
# 088 | <br/> <br/> <label> izvjeลกฤe. No: </ label> |) (088a |
.pre
Up: [Workspace Tour - Table of Contents]
Back: [Start here]
Again, you're looking at a page in a Socialtext Workspace. It provides a way to organize information and collaborate on the web.
What else can be in a workspace? Perhaps another way people keep track of things, say a to-do list.
| ^^^ Keith's To-do List
* call Mary
* work on the [Marketing Proposal]
* pick up the kids at 4:45 today |
Pages can contain links, as in the case of the words "Marketing Proposal" above.
A workspace can also hold [documents that people are working on]...
* http://wiki.koha-community.org/wiki/Understanding_Zebra_indexing
* http://www.len.ro/work/koha-search-2/
* http://www.indexdata.com/zebra/doc/tutorial-oai-sru-zebra-indexes.html
* http://saturn.ffzg.hr/koha/index.cgi?zebra_indexing
Predloลพene teme:
* [MARC bibliographic framework]
* [git] - kako ga efikasno koristiti za praฤenje promjena
Up: [Workspace Tour - Table of Contents]
Back: [How Do I Make a New Page?]
You're now ready to use your workspace! Now, think about how you want to use it for you and your workgroup, and start creating and editing pages.
To start, you might want to create a personal page for yourself. Just visit the dashboard and click the *New Page* button. Or, you can start with any other page you'd like.
For more ideas, check out the collection of "Best Practices"<http://www.socialtext.net/exchange/index.cgi?best_practices> over at the "Socialtext Customer Exchange"<http://www.socialtext.net/exchange/>.
Enjoy!
_The Socialtext Crew_
Up: [Workspace Tour - Table of Contents]
Back: [Project plans]
Here are links to some of the pages in this workspace.
| ^^^ Things you might find in a workspace
> [Meeting Agendas]
> [Project Plans]
> [Conversations] |
Now that I know about some of the things I can use a Workspace for, [how do I find my way around?]