Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5 {color:[[ColorPalette::SecondaryDark]]; background:[[ColorPalette::PrimaryPale]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]];}
.wizard h2 {color:[[ColorPalette::Foreground]];}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background::[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popup {background:[[ColorPalette::PrimaryLight]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.listBreak div {border-bottom:1px solid [[ColorPalette::PrimaryDark]];}
.popup li.disabled {color:[[ColorPalette::PrimaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::TertiaryPale]]; border:none;}
.popup li a:hover {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]]; border:none;}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
table {border:2px solid [[ColorPalette::TertiaryDark]];}
th, thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
td, tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]];}
#backstageButton a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]]; border:none;}
#backstageButton a:hover {color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5 {font-weight:bold; text-decoration:none; padding-left:0.4em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:absolute; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:200;}
*[id='messageArea'] {position:fixed !important; z-index:200;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.popup {z-index:100; font-size:.9em; padding:0.2em; list-style:none; margin:0;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.popup li.disabled {padding:0.2em;}
.popup li a {display:block; padding:0.2em;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em; visibility:hidden;}
.selected .toolbar {visibility:visible;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
table {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden; padding:1em;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.2em 0.5em 0.2em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.2em 0.5em 0.2em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em; padding:0.2em 0.5em 0.2em 0.5em;}
#backstage {position:relative; width:100%;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:50; position:absolute; width:100%; height:100px;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which use a logographic writing system and need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<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='storyDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser
Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)
<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations
----
Also see AdvancedOptions
<<option chkGenerateAnRssFeed>> GenerateAnRssFeed
<<option chkOpenInNewWindow>> OpenLinksInNewWindow
<<option chkSaveEmptyTemplate>> SaveEmptyTemplate
<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close
^^(override with Control or other modifier key)^^
<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP
<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time
^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^
<<option chkConfirmDelete>> ConfirmBeforeDeleting
Maximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>
Folder name for backup files: <<option txtBackupFolder>>
<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field
<<option txtFileSystemCharSet>> Character set to use for saving (Firefox/Mozilla only)
geek.euh-re.net/wiki utilise MiniTiddlyServer (http://www.minitiddlyserver.com/), un fork de TiddlyWiki (http://www.tiddlywiki.com/).\n[[blutch|http://blutch.euh-re.net/]]
<<option chkGenerateAnRssFeed>> Generate an RSS feed\n<<option chkOpenInNewWindow>> Open links in newwindow\n<<option chkSaveEmptyTemplate>> Save empty template\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> Hide editing features when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as minor changes by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing ~Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> Confirm before deleting\nMaximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>\nFolder name for backup files: <<option txtBackupFolder>>\n<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field\n<<option txtFileSystemCharSet>> Character set to use for saving (Firefox/Mozilla only)
D'après la norme CSS, si deux attributs identiques sont définis au sein d'une même section, c'est la dernière qui l'emporte. Ainsi par exemple, dans le code ci-dessous la propriété {{{background-color}}} aura la valeur {{{#fff}}}:\n{{{\n.sidebar{\n background-color:#eee;\n background-color:#fff;\n}\n}}}\nCependant, en rajoutant une balise {{{!important}}} dans la première ligne, celle-ci prend le pas ; ainsi dans l'exemple ci-dessous la propriété {{{background-color}}} aura la valeur en théorie a valeur {{{#eee}}}:\n{{{\n.sidebar{\n background-color:#eee !important;\n background-color:#fff;\n}\n}}}\nLa pratique montre que ie ignore la balise {{{!important}}}; la page section sera donc au final de couleur {{{#fff}}} sur ie et {{{#eee}}} sous firefox.\nCette astuce peut permettre de régler le problème des png transparents (qu'ie ne gère pas non plus) pour les remplacer par exemple par un gif transparent comme dans l'exemple qui suit :\n{{{\n#sidebar {\n background-image:url(ff.png) !important;\n background-image:url(ie.gif);\n}\n}}}
La propriété {{{position:fixed}}}, dans un css, permet de fixer une zone sur l'écran, ce qui est bien pratique pour créer des menus etc.\nLe problème c'est que cette proriété n'est pas correctement interprétée par ie6 qui remplace le {{{position:fixed}}} par un {{{position:absolute}}}.\n\nUne solution est d'exploiter ce petit bout de code, permettant de réaliser deux designs :\n{{{\n#sidebar {\n top: 0;\n left: 0;\n position: absolute;\n /* propriétés spécifiques à ie6 */\n}\nhtml>body #sidebar {\n position: fixed\n /* propriétés spécifiques à firefox */\n}\n}}}\nL'astuce réside dans le fait que internet explorer saute la propriété {{{html>body}}}, alors que firefox la comprend et remplace donc les valeurs des propriétés concernées.
WelcomeHome\nAboutWiki\n\n\n
\n//{{{\n//This ensures that the footer sticks to the bottom of the screen when there are no tiddlers open. If that is not desirable, it can be deleted.\nfunction setFooter() {\n if (document.getElementById && document.getElementById("contentFooter") ) {\n var windowHeight=findWindowHeight();\n if (windowHeight>0) {\n var contentHeight= document.getElementById('mainMenu').offsetHeight + document.getElementById("header").offsetHeight + document.getElementById("contentFooter").offsetHeight;\n var menu= document.getElementById('mainMenu');\n if (windowHeight-(contentHeight)>=0) {\n menu.style.position='relative';\n menu.style.marginBottom=(windowHeight-(contentHeight))+'px';\n }\n else {\n menu.style.position='';\n menu.style.marginBottom='';\n }\n }\n }\n}\nwindow.onresize = function() {\n setFooter();\n}\n\nStory.prototype.refreshTiddler_footerhack=Story.prototype.refreshTiddler;\nStory.prototype.refreshTiddler = function (title,template,force)\n{ \nvar theTiddler = Story.prototype.refreshTiddler_footerhack.apply(this,arguments);\nsetFooter();\n return theTiddler;}\n\n//}}}
<<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<mtslogin>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>
Bon à savoir :\n<<<\nFirst you shut down the MacBook Pro and then start it, after you hear the chime, hold down the "T" button. It should go into target disk mode, then connect a FireWire cable to the MacBook Pro and to the iMac, the MacBook Pro's hard drive should show up as a FireWire external hard drive.\n<<<\n(http://forums.macrumors.com/showthread.php?p=3726330)
[[Welcome Home :-)|WelcomeHome]]\n[[A propos|AboutWiki]]\n\n\n
<!--{{{-->\n<div id='header' class='header'>\n\n<div class='headerShadow'>\n<span class='searchBar' macro='search'></span>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div id='topMenu' refresh='content' tiddler='MainMenu'></div>\n</div>\n<div id='sidebar-right'>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='HaemoSideBarOptions'></div>\n\n</div>\n<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>\n<!--}}}-->
imprimé sur des éléctrons 100% recyclables :: geek@@font-size:0.5em;dot@@euh-re@@font-size:0.5em;dot@@net
(-:
/*{{{*/\n/*Haemoglobin Theme for TiddlyWiki*/\n/*Design and CSS by Saq Imtiaz*/\n/*Version 1.0*/\n/*}}}*/\n/*{{{*/\n\n#sidebarTabs {font-family:arial,helvetica;}\n\nbody\n/*{background:#fefefe;}*/\n{background:#2b2b2b;}\n#contentWrapper {position:absolute;\n font-family: Verdana, Arial, Tahoma, Sans-Serif;\n color: #555555;\nleft:200px;\nmargin:1.9em auto 1em ; width:800px;}\n\n#header {background:#2b2b2b;}\n\n.headerShadow { padding: 1.4em 0em 0.5em 1em; }\n\n.siteTitle {\n font-family: 'Trebuchet MS' sans-serif;\n font-weight: bold;\n font-size: 36px;\n color: #BF2323;\n background-color: #2b2b2b; /*fff*/\n}\n\n.siteSubtitle {\n font-size: 1.0em;\n display: block;\n margin: .5em 3em; color: #999;\n}\n\n.clearAll {clear:both;}\n.tagClear {clear:none;}\n#sidebar {position:relative; float:right; display:inline; right:0;}\n\na{\ncolor:#BF2323;\ntext-decoration: none; font-weight:normal;\n}\n\na:hover{\ncolor:#BF2323;\nbackground-color: #2b2b2b;\nborder-bottom:1px solid #BF2323;\n}\n\n.viewer .button, .editorFooter .button{\ncolor: #555;\nborder: 1px solid #BF2323;\n}\n\n.viewer .button:hover,\n.editorFooter .button:hover{\ncolor: #fff;\nbackground: #BF2323;\nborder-color: #BF2323;\n}\n\n.viewer .button:active, .viewer .highlight,.editorFooter .button:active, .editorFooter .highlight{color:#fff; background:#9F1313;border-color:#9F1313;}\n\n#topMenu br {display:none;}\n\n#topMenu {padding:0.45em 1em; background:#BF2323;}\n\n#topMenu a, #topMenu .tiddlyLink, #topMenu .button {color:#f1f1f1; padding:0.3em 0.45em; margin:0 4px;font-size:120%;font-weight:normal;font-variant: small-caps; border:none; background:#BF2323; text-decoration:none; }\n\n#topMenu a:hover, #topMenu .tiddlyLink:hover, #topMenu .button:hover, #topMenu .button:active, #topMenu .highlight {color:#fff;text-decoration:none; background:#9F1313; }\n\n\n\n#displayArea{margin:0 17em 2em 0.5em;}\n\n.tiddler {padding-left:0;}\n\n.title {color:#BF2323; border-bottom:1px solid#BF2323; }\n.subtitle, .subtitle a { color: #999999; font-size: 1.0em;margin:0.2em;}\n.shadow .title{color:#999;}\n\n.toolbar {font-size:85%;}\n.selected .toolbar a {color:#999999;}\n.selected .toolbar a:hover {color:#333; background:transparent;border:1px solid #fff;}\n\n.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#333; background:transparent;border:1px solid #fff;}\n\n * html .viewer pre {\n\nmargin-left: 0em;\n}\n\n * html .editor textarea, * html .editor input {\n\nwidth: 98%;\n}\n\n/***\n!Sidebar\n***/\n#sidebar {position:fixed;float:left; line-height: 1.4em; border-left:0px solid#000; display:inline; background:#2b2b2b; right:0; margin-bottom:2em !important; margin-bottom:1em;top:180px;left:0;\nwidth: 16em;}\n#sidebar-right {float:right; line-height: 1.4em; border-left:0px solid#000; display:inline; background:#2b2b2b; right:0; margin-bottom:2em !important; margin-bottom:1em;\nwidth: 16em;}\n/***\n!SidebarOptions\n***/\n#sidebarOptions {padding-left:0.5em; padding-top:2em;}\n\n#sidebarOptions a {\n color:#999;\n text-decoration: none;}\n\n#sidebarOptions a:hover, #sidebarOptions a:active {\n color:#CC0000;\n background-color:#f5f5f5;border:1px solid #f5f5f5;\n }\n\n#sidebarOptions input {border:1px solid #999; }\n\n\n\n .listTitle {color:#888;}\n\n#sidebarTabs .tabContents {background:#2b2b2b;}\n#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#999;}\n#sidebarTabs .tabContents .tiddlyLink:hover,#sidebarTabs .tabContents .button:hover{color:#CC0000;background:#2b2b2b; text-decoration:none;border:none;}\n\n#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#CC0000;background:#2b2b2b}\n\n\n.tabSelected{color:#2b2b2b; background:#999;}\n\n\n\n .tabSelected, .tabSelected:hover {\n color: #555;\n background: #2b2b2b;\n border: solid 1px #ccc;\n\n}\n\n#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#999;}\n\n .tabUnselected {\n color: #999;\n background: #eee;\n border: solid 1px #ccc;\n\n}\n\n.tabUnselected:hover {text-decoration:none; border:1px solid #ccc;}\n\n#sidebarTabs .tabUnselected { border-bottom: none;padding-bottom:3px;}\n#sidebarTabs .tabSelected{padding-bottom:3px;}\n\n#sidebarOptions .sliderPanel {\n background: #eee; border:1px solid#ccc;\n font-size: .9em;\n}\n\n#sidebarOptions .sliderPanel input {border:1px solid #999;}\n#sidebarOptions .sliderPanel .txtOptionInput {border:1px solid #999;width:9em;}\n\n#sidebarOptions .sliderPanel a {font-weight:normal; color:#555;background-color: #eee; border-bottom:1px dotted #333;}\n\n\n#sidebarOptions .sliderPanel a:hover {\ncolor:#111;\nbackground-color: #eee;\nborder:none;\nborder-bottom:1px dotted #111;\n}\n\n.tabContents {background:#2b2b2b;}\n\n\n\n\n.tagging, .tagged {\nborder: 1px solid #eee;\nbackground-color: #F7F7F7;\n}\n\n.selected .tagging, .selected .tagged {\nbackground-color: #f7f7f7;\nborder: 1px solid #ccc;\n}\n\n.tagging .listTitle, .tagged .listTitle {\ncolor: #bbb;\n}\n\n.selected .tagging .listTitle, .selected .tagged .listTitle {\ncolor: #666;\n}\n\n.tagging .button, .tagged .button {\ncolor:#ccc;\n}\n.selected .tagging .button, .selected .tagged .button {\ncolor:#aaa;\n}\n\n.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}\n\n.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {\nborder: none; background:transparent; text-decoration:underline; color:#333;\n}\n\n.popup {\nbackground: #BF2323;\nborder: 1px solid #BF2323;\n}\n\n.popup li.disabled {\ncolor: #000;\n}\n\n.popup li a, .popup li a:visited {\ncolor: #eee;\nborder: none;\n}\n\n.popup li a:hover {\nbackground: #bf1717;\ncolor: #fff;\nborder: none;\n}\n\n\n\n #messageArea {\n\nborder: 4px solid #BF2323;\nbackground: #2b2b2b;\ncolor: #555;\nfont-size:90%;\n}\n\n #messageArea a:hover { background:#f5f5f5; border:none;}\n\n\n #messageArea .button{\ncolor: #666;\nborder: 1px solid #BF2323;\n}\n\n #messageArea .button:hover {\ncolor: #fff;\nbackground: #BF2323;\nborder-color: #BF2323;\n}\n\n #contentFooter {background:#BF2323; color:#DF7D7D; clear: both; padding: 0.5em 1em; }\n\n\n#contentFooter a {\ncolor: #DF7D7D;\nborder-bottom: 1px dotted #DF7D7D; font-weight:normal;text-decoration:none;\n}\n\n\n\n#contentFooter a:hover {\ncolor: #FFFFFF;\nbackground-color:transparent;\nborder-bottom: 1px dotted #fff; text-decoration:none;\n}\n\n\n\n\n.searchBar {float:right;font-size: 1.0em;position:relative; margin-top:1.3em;}\n.searchBar .button {color:#999;display:block;}\n.searchBar .button:hover {border:1px solid #2b2b2b;color:#4F4B45;}\n.searchBar input { \n background-color: #2b2b2b;\n color: #999999;\n border: 1px solid #CCC; margin-right:3px;\n}\n\n.tiddler {padding-bottom:10px;}\n\n.viewer blockquote {\nborder-left: 5px solid #BF2323;\n}\n\n.viewer table, .viewer td {\nborder: 1px solid #BF2323;\n}\n\n.viewer th, thead td {\nbackground: #BF2323;\nborder: 1px solid #BF2323;\ncolor: #fff;\n}\n.viewer pre {\n border: 1px solid #ccc;\n background: #f5f5f5;\n}\n\n.viewer code {\ncolor: #111; background:#f5f5f5;\n}\n\n.viewer hr {\nborder-top: dashed 1px #555;\n}\n\n.editor input {\nborder: 1px solid #888; margin-top:5px;\n}\n\n.editor textarea {\nborder: 1px solid #888;\n}\n\nh1,h2,h3,h4,h5 { color: #BF2323; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }\nh1 {font-size:18px;}\nh2 {font-size:16px;}\nh3 {font-size: 14px;}\n/*}}}*/
!Liens\nYou can now link to [[external sites|http://www.osmosoft.com]] or [[ordinary tiddlers|TiddlyWiki]] with ordinary words, without the messiness of the full URL appearing. Edit this tiddler to see how.\n\n!Echappement\nSometimes it's handy to be able to write Wiki Words without them being recognised as links (for people's names, for instance). You can do this by preceding the Wiki Word with a tilde ({{{~}}}). For example, ~JamesBond, ~JavaScript and ~TiddlyWiki\n\n!Commentaires\nTo hide text within a tiddler so that it is not displayed you can wrap it in {{{/%}}} and {{{%/}}}. It can be a useful trick for hiding drafts or annotating complex markup. Edit this tiddler to see an example.\n/%This text is not displayed\nuntil you try to edit %/\n\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n!Empêcher l'interprétation\nSometimes text can inadvertently match TiddlyWiki formatting instructions - particularly program code, or text pasted from elsewhere. In these situations you can either use Monospaced Text or you can accomplish the same thing without the monospaced effect like this:\n{{{\nThis is AboutWiki, this is a copyright symbol © and this site is called <<tiddler SiteTitle>>\n<nowiki>This is AboutWiki, this is a copyright symbol © and this site is called <<tiddler SiteTitle>></nowiki>\n"""This is AboutWiki, this is a copyright symbol © and this site is called <<tiddler SiteTitle>>"""\n}}}\nWhich displays as:\nThis is AboutWiki, this is a copyright symbol © and this site is called <<tiddler SiteTitle>>\n<nowiki>This is AboutWiki, this is a copyright symbol © and this site is called <<tiddler SiteTitle>></nowiki>\n"""This is AboutWiki, this is a copyright symbol © and this site is called <<tiddler SiteTitle>>"""\n\n!Blocs de citation\nTo make quoted bits of text stand out, you can use block quotes within your tiddlers, like this:\n\nJeremy Ruston said:\n<<<\nA TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole.\n<<<\n\nLike Bullet Points and Numbered Bullet Points, you can have multiple levels of Block Quotes. Just edit this tiddler to see how it's done.\n\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n\n!Listes à points\nCreating Bullet Points is simple.\n* Just add an asterisk\n* at the beginning of a line.\n** If you want to create sub-bullets\n** start the line with two asterisks\n*** And if you want yet another level\n*** use three asterisks\n* Edit this tiddler to see how it's done\n* You can also do Numbered Bullet Points\n\n!Listes à numéros\nIt's easy to create Numbered Bullet Points.\n# Use a single '#' at the start of each line\n# and the tiddler will automatically\n# start numbering your list.\n## If you want a sub-list\n## within any bullets\n## add two '#'s at the start of the lines.\n# When you go back to a single '#'\n# the main numbered list will start up\n# where it left off.\n\nIt's just as simple to do normal Bullet Points.\n!Formattage étendu\nLike most wikis, TiddlyWiki supports a range of simplified character formatting:\n| !To get | !Type this |h\n| ''Bold'' | {{{''Bold''}}} |\n| --Strikethrough-- | {{{--Strikethrough--}}} |\n| __Underline__ | {{{__Underline__}}} (that's two underline characters) |\n| //Italic// | {{{//Italic//}}} |\n| Superscript: 2^^3^^=8 | {{{2^^3^^=8}}} |\n| Subscript: a~~ij~~ = -a~~ji~~ | {{{a~~ij~~ = -a~~ji~~}}} |\n| @@highlight@@ | {{{@@highlight@@}}} |\n<<<\nThe highlight can also accept CSS syntax to directly style the text:\n@@color:green;green coloured@@\n@@background-color:#ff0000;color:#ffffff;red coloured@@\n@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@\n<<<\n\n//For backwards compatibility, the following highlight syntax is also accepted://\n{{{\n@@bgcolor(#ff0000):color(#ffffff):red coloured@@\n}}}\n@@bgcolor(#ff0000):color(#ffffff):red coloured@@\n!Barres horizontales\nYou can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves\n\n\n!Espacement fixe\n{{{Monospaced text}}} is supported - edit this tiddler to see the syntax.\n\nYou can also have monospaced blocks (useful for source code):\n\n{{{\nvar posTop = findPosY(e);\nvar posBot = posTop + e.offsetHeight;\nvar winTop = findScrollY();\nvar winHeight = findWindowHeight();\nvar winBot = winTop + winHeight;\nif(posTop < winTop)\nreturn(posTop);\nelse if(posBot > winBot)\n{\nif(e.offsetHeight < winHeight)\nreturn(posTop - (winHeight - e.offsetHeight));\nelse\nreturn(posTop);\n}\nelse\nreturn(winTop);\n}}}\n\n\n\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n!Images\n{{{\n[img[title|filename]]\n[img[filename]]\n[img[title|filename][link]]\n[img[filename][link]]\n}}}\nImages can be included by their filename or full URL. It's good practice to include a title to be shown as a tooltip, and when the image isn't available. An image can also link to another tiddler or or a URL\n[img[Romanesque broccoli|fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]\n{{{\n[img[Fractal vegetable|fractalveg.jpg]]\n[img[This is shown as a tooltip|http://example.com/image.jpg]]\n[img[http://example.com/image.jpg]]\n[img[http://example.com/image.jpg][ExampleDotCom]]\n}}}\nThe tooltip is optional.\n\n[<img[Forest|forest.jpg][http://www.flickr.com/photos/jermy/8749660/]][>img[Field|field.jpg][http://www.flickr.com/photos/jermy/8749285/]]You can also float images to the left or right: the forest is left aligned with {{{[<img[}}}, and the field is right aligned with {{{[>img[}}}.\n@@clear(left):clear(right):display(block):You can use CSS to clear the floats@@\n{{{\n[<img[A woody bit of Hampstead Heath|forest.jpg]]\n[>img[A field near Milton Keynes|field.jpg]]\n}}}
!Tableaux\n*sample:\n|!th1111111111|!th2222222222|\n|>| colspan |\n| rowspan |left|\n|~| right|\n|bgcolor(#a0ffa0):colored| center |\n|caption|c\n\n!Entités HTML\nEntities in HTML documents allow characters to be entered that can't easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;). There's a complete reference [[here|http://www.htmlhelp.com/reference/html40/entities/]]; some of the more common and useful ones are shown below. Also see [[Paul's Notepad|http://thepettersons.org/PaulsNotepad.html#GreekHtmlEntities HtmlEntitiesList LatinHtmlEntities MathHtmlEntities]] for a more complete list.\n\n|>|>|>|>|>|>| !HTML Entities |\n| &nbsp; | | no-break space | | &apos; | ' | single quote, apostrophe |\n| &ndash; | – | en dash |~| &quot; | " | quotation mark |\n| &mdash; | — | em dash |~| &prime; | ′ | prime; minutes; feet |\n| &hellip; | … | horizontal ellipsis |~| &Prime; | ″ | double prime; seconds; inches |\n| &copy; | © | Copyright symbol |~| &lsquo; | ‘ | left single quote |\n| &reg; | ® | Registered symbol |~| &rsquo; | ’ | right single quote |\n| &trade; | ™ | Trademark symbol |~| &ldquo; | “ | left double quote |\n| &dagger; | † | dagger |~| &rdquo; | ” | right double quote |\n| &Dagger; | ‡ | double dagger |~| &laquo; | « | left angle quote |\n| &para; | ¶ | paragraph sign |~| &raquo; | » | right angle quote |\n| &sect; | § | section sign |~| &times; | × | multiplication symbol |\n| &uarr; | ↑ | up arrow |~| &darr; | ↓ | down arrow |\n| &larr; | ← | left arrow |~| &rarr; | → | right arrow |\n| &lArr; | ⇐ | double left arrow |~| &rArr; | ⇒ | double right arrow |\n| &harr; | ↔ | left right arrow |~| &hArr; | ⇔ | double left right arrow |\n\nThe table below shows how accented characters can be built up by subsituting a base character into the various accent entities in place of the underscore ('_'):\n\n|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |\n| grave accent | &_grave; | À | à | È | è | Ì | ì | Ò | ò | Ù | ù | | | | | | |\n| acute accent | &_acute; | Á | á | É | é | Í | í | Ó | ó | Ú | ú | | | Ý | ý | | |\n| circumflex accent | &_circ; | Â | â | Ê | ê | Î | î | Ô | ô | Û | û | | | | | | |\n| umlaut mark | &_uml; | Ä | ä | Ë | ë | Ï | ï | Ö | ö | Ü | ü | | | Ÿ | ÿ | | |\n| tilde | &_tilde; | Ã | ã | | | | | Õ | õ | | | Ñ | ñ | | | | |\n| ring | &_ring; | Å | å | | | | | | | | | | | | | |\n| slash | &_slash; | | | | | | | Ø | ø | | | | | | | |\n| cedilla | &_cedil; | | | | | | | | | | | | | | | Ç | ç |\n\n!Classe CSS custum\nYou can wrap any text in an HTML {{{<span>}}} or {{{<div>}}} with a specified CSS class. This allows custom CSS styling in a nice, modular way. By placing a rule in your StyleSheet tiddler like {{{.wrappingClass{color: #666; background: #bbb} }}} you can markup a piece of text in the tiddler using this code:\n\n{{{\n{{wrappingClass{Text that is now accentuated}}}\n}}}\n\n{{wrappingClass{Text that is now accentuated}}}\n\nBy default, the text is placed in a {{{<span>}}}. To use a {{{<div>}}} instead, insert a line break before the text:\n\n{{{\n{{wrappingClass{\nText that is now accentuated}}}\n}}}\n\n{{wrappingClass{\nText that is now accentuated}}}
Ce site n'est rien, à part un receuil de geekeries diverses et variées.
Ce tutorial est le fruit du travail de Matt Swann (voir la [[page originale| http://swannman.wordpress.com/2006/10/01/howto-read-wikipedia-on-an-ipod/]] en anglais).\nCe script est un fichier perl (conçu pour mac à priori) qui se lance via un terminal.\n\nLes instructions en français (traduites de la page anglaise) :\n\nWikipod part d'une page Wikipedia et suit tous les liens rencontrés, téléchargeant chaque page sur l'iPod. Il continuera le procédé de façon récursive sur chaque nouvelle page jusqu'à ce au'il ne trouve plus de liens où qu'il atteigne la limite de taille spécifiée en argument.\n\nPour commencer, télécharger le script et le rendre executable :\n\n# Télécharger [[wikipod|http://homepage.mac.com/swannman/wikipod.zip]] sur le bureau et le décompresser\n# Lancer Terminal.app et taper {{{cd ~/Desktop}}}\n# Taper {{{chmod 755 wikipod}}} pour rendre le script executable\n\nEnsuite, à chaque fois que vous voulez charger des pages Wikipedia sur votre iPod, effectuez la manipulation suivante :\n\n# Monter l'iPod en mode disque (l'ipod doit apparaitre sur le bureau)\n# Lancer Terminal.app et taper {{{cd ~/Desktop}}}\n# Copier l'adresse de la page Wikipedia de départ. (/iPod pour l'exemple)\n# Taper {{{./wikipod http://fr.wikipedia.org/wiki/IPod}}}, puis un espace\n# Double-cliquer sur l'icone de l'iPod et déposer le dossier {{{Notes}}} sur la fenêtre du Terminal.\n # Taper le nombre de MB à remplir\n\nLa ligne de commande devraite ressembler à ceci :\n\n{{{./wikipod http://fr.wikipedia.org/wiki/IPod /Volumes/iPod/Notes 10}}}\n\nAppuyer sur entrée, et l'iPod commencera à se remplir d'entrées Wikipedia. Quand le script quitte avec le message {{{Done transferring n pages!}}}, vous pouvez éjecter votre iPod.\n\nUn des effets de bords de l'utilisation de notes sur l'iPod est que la première fois qu'on les parcourt après avoir synchronisé avec iTunes où après avoir rajouté des articles Wikiepdia, l'iPod inspecte chaque note pour voir si les liens sont valides. Cette opération est couteuse en batterie et en temps, il est donc préférable de laisser l'iPod chargé avant la fin du processus.\n\nNotes :\n* Il y a une limite de 50MB de fichiers par opération\n* l'iPod est limité à 1000 notes, le script s'arrête donc lorsque 100 pages sont téléchargées\n* Le script fait une pause de 4 secondes entre chaque page pour ne pas surcharger les serveurs de Wikipedia\n* le site http://www.instructables.com/id/E6NUUTEWNUET9K4FCH/?ALLSTEPS propose une façon de faire le même traitement avec ~AppleScript.\n\nVoici le code du script wikipod :\n\n{{{\n#!/usr/bin/perl\n#\n# wikipod 1.6\n#\n# Matthew M. Swann\n# swannman@mac.com\n# http://swannman.wordpress.com\n#\n# Usage\n# -----\n# wikipod <wikipedia URL> <path to iPod notes directory> <# MB to fill>\n#\n# About\n# -----\n# This perl script formats wikipedia articles for viewing on an iPod using\n# the iPod's "Notes" feature. Starting at the wikipedia URL specified on the\n# command-line, all links are followed and the corresponding pages are saved\n# to the iPod, continuing until the amount of space specified on the command-\n# line has been filled.\n#\n# Note that the iPod may take some time to load the articles on first browse.\n# Once it has completed this process (which seems to continue even if you leave\n# and do other tasks on the iPod), notes load quickly. I highly recommend \n# plugging the iPod in while this process completes, as is it disk- (and thus\n# battery-) intensive.\n#\n# Version History\n# ---------------\n# 1.0: 10/1/2006 Initial release\n# 1.1: 10/14/2006 Fixed problem with / characters in URL,\n# allowed users to leave off the trailing slash,\n# and limited how many MB we'll fetch\n# 1.2: 10/14/2006 Includes tag to properly display UTF-8 encoded chars\n# 1.3: 10/14/2006 Stops after 1000 notes, since the iPod won't display\n# more than that. Also fixed missing slash in dupe check.\n# 1.4: 10/14/2006 Script now sleeps for two seconds between page requests\n# to comply with wikipedia's robots.txt file, which states\n# that "friendly, low-speed bots are welcome viewing article pages".\n# 1.5: 10/14/2006 Sleep is set for four seconds now.\n# 1.6: 11/22/2006 Now gives additional feedback to the user. (David Still)\n#\n##############################################################\nuse POSIX qw(ceil floor);\n\nsub WritePage;\nsub SanitizeHTML;\n\nif (@ARGV != 3)\n{\n print "usage: wikipod <wikipedia URL> <path to iPod notes directory> <# MB to fill>\sn\sn";\n exit;\n}\n\n$numPages = 0;\n$fullURL = $ARGV[0];\n$notesDir = $ARGV[1];\n$numMB = $ARGV[2];\n\n# This should not be changed, lest ye feel the wrath of the Wikimedia folks\n# TODO: allow pages to be read from a local db cache\nif ($numMB > 50)\n{\n $numMB = 50;\n}\n\n$numKBytes = $numMB * 1024;\n\n# Get the locale-specific wikipedia hostname and initial page name\n$fullURL =~ /http:\s/\s/(.*)\s.wikipedia\s.org\s/wiki\s/(.*)/;\n$URLprefix = "http://" . $1 . ".wikipedia.org/wiki/";\n\n# The pages to process\n# (WritePage sticks links on to the end of this array)\n@links = ($2);\n\n# Loop until we've filled up all our allotted space (MB or 1000 notes),\n# or until there are no more links to get\nwhile ((($numPages * 4) < $numKBytes) && (@links > 0) && ($numPages < 1000))\n{\n # Get the next page\n my $currentPage = shift(@links);\n \n # Process the next page\n WritePage($currentPage);\n \n # Keep the user informed\n print "\snTransferred " . $numPages . " pages...";\n}\n\n# We're done!\nprint "\snDone transferring " . $numPages . " pages!\sn\sn";\n\nsub WritePage {\n \n my $name = shift(@_);\n \n # Replace slashes with underscore for the filename\n my $safeFilename = $name;\n $safeFilename =~ s/\s//_/s;\n \n # Don't do anything if we've already processed this page!\n if (-e ($notesDir . "/" . $safeFilename))\n {\n return;\n }\n \n # Download the starting page ($ARGV[0] is the first param)\n my $CMD = "curl -s \s"" . $URLprefix . $name ."\s"";\n \n # Execute the command and store the results in $HTML\n my $HTML = `$CMD`;\n \n # Extract the content\n $HTML =~ /\s<div id=\s"content\s"\s>(.*)\s<!-- end content --\s>/s;\n my $content = SanitizeHTML($1);\n \n for ($count = 0; $count < ceil(length($content)/4000); $count++)\n {\n $section = substr($content, $count * 4000, 4000);\n \n $section = $section . "\sn\sn";\n \n # Hitting "menu" goes back, so an explicit "back" link isn't necessary.\n# if ($count > 0)\n# {\n# if ($count == 1)\n# {\n# $section = $section . "<A HREF=\s"" . $name . "\s">Prev page</A>";\n# }\n# else\n# {\n# $section = $section . "<A HREF=\s"" . $name . ($count - 1) . "\s">Prev page</A>";\n# }\n# \n# if (($count + 1) < ceil(length($content)/4000))\n# {\n# $section = $section . " | ";\n# }\n# }\n \n if (($count + 1) < ceil(length($content)/4000))\n {\n $section = $section . "<A HREF=\s"" . "z" . $safeFilename . ($count + 1) . "\s">Next page</A>"; \n }\n \n # Prepend our content with a tag to let the iPod know we're doing UTF-8\n # More info: http://docs.info.apple.com/article.html?artnum=61894\n $section = "<?xml encoding=\s"UTF8\s"?>" . $section;\n \n # Calculate the filename and add a slash whether the user specified\n # one or not -- this is messy but it works.\n if ($count == 0)\n {\n $filename = ">" . $notesDir . "/" . $safeFilename;\n }\n else\n {\n $filename = ">" . $notesDir . "/z" . $safeFilename . $count;\n }\n \n # Open a new file\n open my $file, $filename or die "Can't write file: $!";\n \n # Write our data out to a file\n print $file $section;\n \n # Flush the buffer and close the file\n close $file;\n \n # Increment the number of pages we've done\n $numPages++;\n }\n \n # Sleep for four seconds to obey the wikipedia robots.txt file\n sleep(4);\n}\n\nsub SanitizeHTML {\n # Put the HTML to be sanitized in $raw\n my $raw = shift(@_);\n \n # Remove non-article content\n $raw =~ s/\s<div id=\s"siteNotice\s"\s>.*?\s<\s/div\s>//s;\n $raw =~ s/\s<div id=\s"jump-to-nav\s"\s>.*?\s<\s/div\s>//s;\n $raw =~ s/\s<table class=\s"messagebox protected\s".*?\s<\s/table\s>//s;\n $raw =~ s/\s<div class=\s"thumb tleft\s"\s>.*?\s<\s/div\s>.*?\s<\s/div\s>//s;\n $raw =~ s/\s<div class=\s"thumb tright\s"\s>.*?\s<\s/div\s>.*?\s<\s/div\s>//s;\n $raw =~ s/\s<!-- end content --\s>.*//s;\n \n # OPTIONAL\n # Remove disambiguation links... we generally don't want to follow those\n $raw =~ s/\s<div class=\s"dablink\s"\s>.*?\s<\s/div\s>//s;\n \n # OPTIONAL\n # Remove tables\n# $raw =~ s/\s<table .*?\s<\s/table\s>//gs;\n \n # Remove category links\n $raw =~ s/\s<div id=\s"catlinks\s"\s>.*?\s<\s/div\s>//s;\n \n # Remove everything at and below the References section\n $raw =~ s/\s<ol class=\s"references\s".*//s;\n \n # Convert the <h1> heading to a __TITLE__\n $raw =~ s/\s<h1 class=\s"firstHeading\s"\s>(.*?)\s<\s/h1\s>/__TITLE__$1__ENDTITLE__/s;\n \n # Convert wiki links to __LINK__\n $raw =~ s/\s<a href=\s"\s/wiki\s/(.*?)\s".*?\s>(.*?)\s<\s/a\s>/__LINKURL__$1__LINKTEXT__$2__ENDLINK__/gs;\n \n # <p> and <br> become carriage returns\n $raw =~ s/\s<p\s>/\sn/ig;\n $raw =~ s/\s<br\s>/\sn/ig;\n \n # <li> becomes -\n $raw =~ s/\s<li\s>/- /ig;\n \n # All other tags disappear\n $raw =~ s/\s<.+?\s>//gs;\n \n # Convert __TITLE__ back into an actual title\n $raw =~ s/__TITLE__(.*?)__ENDTITLE__/\s<TITLE\s>$1\s<\s/TITLE\s>/s;\n \n # Get rid of __LINK__ tags that point to images or special wikipedia locations\n $raw =~ s/__LINKURL__(\sS+?):(\sS+?)__LINKTEXT__.*?__ENDLINK__//gs;\n \n # Convert all other __LINK__ tags back into valid links\n $raw =~ s/__LINKURL__(.*?)__LINKTEXT__(.*?)__ENDLINK__/\s<A HREF=\s"$1\s"\s>$2\s<\s/A\s>/gs;\n \n # Strip whitespace\n $raw =~ s/\ss*//;\n $raw =~ s/\sn/__W__/g;\n $raw =~ s/\ss\ss+//g;\n $raw =~ s/__W__(__W__)+/\sn\sn/g;\n $raw =~ s/__W__/\sn/g;\n \n # Find all the links in the document\n my @linkUrls = $raw =~ /\s<A HREF=\s"(.*?)\s"/g;\n push(@links, @linkUrls);\n \n # Back where it came from\n return $raw;\n}\n}}}
Copyright [[Osmosoft|http://www.tiddlywiki.com]]
CSS::gimmics
Code::snippets