Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
<<option chkGenerateAnRssFeed>> 產生 RssFeed
<<option chkOpenInNewWindow>> 連結開啟於新視窗
<<option chkSaveEmptyTemplate>> 儲存範本
<<option chkToggleLinks>> 點擊文章使已開啟者關閉
<<option chkHttpReadOnly>> 隱藏編輯功能 ({{{http:}}})
<<option chkForceMinorUpdate>> 修改文章不變更日期時間
(確認修改同時按 Shift 鍵,或只按 Ctrl-Shift-Enter)
<<option chkConfirmDelete>> 刪除文章前確認
編輯模式中顯示列數: <<option txtMaxEditRows>>
存放備份檔案的資料夾: <<option txtBackupFolder>>
<<option chkInsertTabs>> 使用 tab 鍵插入定位字元,而非跳至下一個欄位
檔案系統編碼:<<option txtFsEncode>>
<<<
使用Gecko based的瀏覽器(如:Firefox)時,
指定正確系統環境編碼(BIG5、GBK、SHIFT-JIS、EUC-KR....等),
可支援儲存文件於非 ASCII 路徑及檔名。
<<<
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
使用此 TiddlyWiki 的空白範本之前,請先修改以下預設文章:
* SiteTitle 及 SiteSubtitle:網站的標題和副標題,顯示於頁面上方<br />(在儲存變更後,將顯示於瀏覽器視窗的標題列)。
* MainMenu:主選單(通常在頁面左側)。
* DefaultTiddlers:內含一些文章的標題,可於載入TiddlyWiki 後的預設開啟。
請輸入您的大名,作為所建立/ 編輯的文章署名:<<option txtUserName>>
// ---------------------------------------------------------------------------------
// Translateable strings
// ---------------------------------------------------------------------------------
version.extensions.Lingo_zh_TW = {major: 2, minor: 1, revision: 3,
date: new Date("Nov 4, 2006"),
author: "BramChen",
source: "http://sourceforge.net/project/showfiles.php?group_id=150646"
};
merge(config.options,{
txtUserName: "YourName"});
// Messages
merge(config.messages,{
customConfigError: "套件載入發生錯誤,詳細請參考 PluginManager",
pluginError: "發生錯誤: %0",
pluginDisabled: "未執行,因標籤設為 'systemConfigDisable'",
pluginForced: "已執行,因標籤設為 'systemConfigForce'",
pluginVersionError: "未執行,套件需較新版本的 TiddlyWiki",
nothingSelected: "尚未作任何選擇,至少需選擇一項",
savedSnapshotError: "此 TiddlyWiki 未正確存檔,詳見 http://www.tiddlywiki.com/#DownloadSoftware",
subtitleUnknown: "(未知)",
undefinedTiddlerToolTip: "'%0' 尚無內容",
shadowedTiddlerToolTip: "'%0' 尚無內容, 但已定義隱藏的預設值",
tiddlerLinkTooltip: "%0 - %1, %2",
externalLinkTooltip: "外部連結至 %0",
noTags: "未設定標籤的文章",
notFileUrlError: "須先將此 TiddlyWiki 存至檔案,才可儲存變更",
cantSaveError: "此瀏覽器無法儲存變更,建議使用FireFox;也可能是你的 TiddlyWiki 檔名包含不合法的字元所致。",
invalidFileError: " '%0' 非有效之 TiddlyWiki",
backupSaved: "已儲存備份",
backupFailed: "無法儲存備份",
rssSaved: "RSS feed 已儲存",
rssFailed: "無法儲存 RSS feed ",
emptySaved: "已儲存範本",
emptyFailed: "無法儲存範本",
mainSaved: "主要的TiddlyWiki已儲存",
mainFailed: "無法儲存主要 TiddlyWiki. 所作的改變未儲存",
macroError: "巨集 <<%0>> 執行錯誤",
macroErrorDetails: "執行巨集 <<%0>> 時,發生錯誤 :\n%1",
missingMacro: "無此巨集",
overwriteWarning: "'%0' 已存在,[確定]覆寫之",
unsavedChangesWarning: "注意! 尚未儲存變更\n\n[確定]存檔,或[取消]放棄存檔?",
confirmExit: "--------------------------------\n\nTiddlyWiki 以更改內容尚未儲存,繼續的話將遺失這些更動\n\n--------------------------------",
saveInstructions: "SaveChanges",
unsupportedTWFormat: "未支援此 TiddlyWiki 格式:'%0'",
tiddlerSaveError: "儲存文章 '%0' 時,發生錯誤。",
tiddlerLoadError: "載入文章 '%0' 時,發生錯誤。",
wrongSaveFormat: "無法使用格式 '%0' 儲存,請使用標準格式存放",
invalidFieldName: "無效的欄位名稱:%0",
fieldCannotBeChanged: "無法變更欄位:'%0'"});
merge(config.messages.messageClose,{
text: "關閉",
tooltip: "關閉此訊息"});
config.messages.dates.months = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"];
config.messages.dates.days = ["日", "一","二", "三", "四", "五", "六"];
config.messages.dates.shortMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
config.messages.dates.shortDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
merge(config.views.wikified.tag,{
labelNoTags: "未設標籤",
labelTags: "標籤: ",
openTag: "開啟標籤 '%0'",
tooltip: "顯示標籤為 '%0' 的文章",
openAllText: "開啟以下所有文章",
openAllTooltip: "開啟以下所有文章",
popupNone: "僅此文標籤為 '%0'"});
merge(config.views.wikified,{
defaultText: "",
defaultModifier: "(未完成)",
shadowModifier: "(預設)",
createdPrompt: "建立於"});
merge(config.views.editor,{
tagPrompt: "設定標籤之間以空白區隔,[[標籤含空白時請使用雙中括弧]],或點選現有之標籤加入",
defaultText: ""});
merge(config.views.editor.tagChooser,{
text: "標籤",
tooltip: "點選現有之標籤加至本文章",
popupNone: "未設定標籤",
tagTooltip: "加入標籤 '%0'"});
merge(config.macros.search,{
label: " 尋找",
prompt: "搜尋本 Wiki",
accessKey: "F",
successMsg: " %0 篇符合條件: %1",
failureMsg: " 無符合條件: %0"});
merge(config.macros.tagging,{
label: "引用標籤:",
labelNotTag: "無引用標籤",
tooltip: "列出標籤為 '%0' 的文章"});
merge(config.macros.timeline,{
dateFormat: "YYYY0MM0DD"});
merge(config.macros.allTags,{
tooltip: "顯示文章- 標籤為'%0'",
noTags: "沒有標籤"});
config.macros.list.all.prompt = "依字母排序";
config.macros.list.missing.prompt = "被引用且內容空白的文章";
config.macros.list.orphans.prompt = "未被引用的文章";
config.macros.list.shadowed.prompt = "這些隱藏的文章已定義預設內容";
merge(config.macros.closeAll,{
label: "全部關閉",
prompt: "關閉所有開啟中的 tiddler (編輯中除外)"});
merge(config.macros.permaview,{
label: "引用連結",
prompt: "可存取現有開啟之文章的連結位址"});
merge(config.macros.saveChanges,{
label: "儲存變更",
prompt: "儲存所有文章,產生新的版本",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "新增文章",
prompt: "新增 tiddler",
title: "新增文章",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "新增日誌",
prompt: "新增 jounal",
accessKey: "J"});
merge(config.macros.plugins,{
skippedText: "(此套件因剛加入,故尚未執行)",
noPluginText: "未安裝套件",
confirmDeleteText: "確認是否刪除此文章:\n\n%0",
listViewTemplate : {
// Fields needing localisation are: title, trueText, falseText and caption
columns: [
{name: "Selected", field: "Selected", rowName: "title", type: "Selector"},
{name: "Title", field: "title", tiddlerLink: "title", title: "標題", type: "TiddlerLink"},
{name: "Executed", field: "executed", title: "已載入", type: "Boolean", trueText: "是", falseText: "否"},
{name: "Error", field: "error", title: "載入狀態", type: "Boolean", trueText: "錯誤", falseText: "正常"},
{name: "Forced", field: "forced", title: "強制執行", tag: "systemConfigForce", type: "TagCheckbox"},
{name: "Disabled", field: "disabled", title: "停用", tag: "systemConfigDisable", type: "TagCheckbox"},
{name: "Log", field: "log", title: "紀錄", type: "StringList"}
],
rowClasses: [
{className: "error", field: "error"}
],
sort: [
{name: "Executed", sortType: "asc"},
{name: "Name", sortType: "desc"}
],
actions: [
{caption: "執行選項...", name: ""},
{caption: "移除 'systemConfig' 標籤", name: "移除"},
{caption: "永遠刪除", name: "刪除"}
]}
});
merge(config.macros.refreshDisplay,{
label: "刷新",
prompt: "刷新此 TiddlyWiki 顯示"
});
merge(config.macros.importTiddlers,{
readOnlyWarning: "TiddlyWiki 於唯讀模式下,不支援匯入文章。請由本機(file://)開啟 TiddlyWiki 文件",
defaultPath: "http://www.tiddlywiki.com/index.html",
fetchLabel: "匯入",
fetchPrompt: "匯入 TiddlyWiki 檔",
fetchError: "匯入 TiddlyWiki 檔時發生錯誤",
confirmOverwriteText: "確定要覆寫這些文章:\n\n%0",
wizardTitle: "自其他 TiddlyWiki 檔匯入文章",
step1: "步驟一:指定欲匯入之檔案",
step1prompt: "在此輸入 URL 或路徑:",
step1promptFile: "...或選擇欲匯入之檔案:",
step1promptFeeds: "...或選擇指定的 feed:",
step1feedPrompt: "選擇...",
step2: "步驟二:TiddlyWiki 檔載入中",
step2Text: "檔案載入中,請稍後:%0",
step3: "步驟三:選擇欲匯入之文章",
step4: "已匯入%0 篇文章",
step5: "Done",
listViewTemplate: {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Title', field: 'title', title: "標題", type: 'String'},
{name: 'Snippet', field: 'text', title: "Snippet", type: 'String'},
{name: 'Tags', field: 'tags', title: "標籤", type: 'Tags'}
],
rowClasses: [
],
sort: [
{name: 'Title', sortType: 'asc'}
],
actions: [
{caption: "執行選項......", name: ''},
{caption: "匯入所選文章", name: 'import'}
]}
});
merge(config.commands.closeTiddler,{
text: "關閉",
tooltip: "關閉本文"});
merge(config.commands.closeOthers,{
text: "關閉其他",
tooltip: "關閉其他文章"});
merge(config.commands.editTiddler,{
text: "編輯",
tooltip: "編輯本文",
readOnlyText: "檢視",
readOnlyTooltip: "檢視本文之原始內容"});
merge(config.commands.saveTiddler,{
text: "完成",
tooltip: "確定修改"});
merge(config.commands.cancelTiddler,{
text: "取消",
tooltip: "取消修改",
warning: "確定取消對 '%0' 的修改嗎?",
readOnlyText: "完成",
readOnlyTooltip: "返回正常顯示模式"});
merge(config.commands.deleteTiddler,{
text: "刪除",
tooltip: "刪除文章",
warning: "確定刪除 '%0'?"});
merge(config.commands.permalink,{
text: "引用連結",
tooltip: "本文引用連結"});
merge(config.commands.references,{
text: "引用",
tooltip: "引用本文的文章",
popupNone: "本文未被引用"});
merge(config.commands.jump,{
text: "捲頁",
tooltip: "捲頁至其他已開啟的文章"});
merge(config.shadowTiddlers,{
DefaultTiddlers: "GettingStarted",
MainMenu: "GettingStarted",
SiteTitle: "My TiddlyWiki",
SiteSubtitle: "a reusable non-linear personal web notebook",
SiteUrl: "http://www.tiddlywiki.com/",
GettingStarted: "使用此 TiddlyWiki 的空白範本之前,請先修改以下預設文章::\n* SiteTitle 及 SiteSubtitle:網站的標題和副標題,顯示於頁面上方(在儲存變更後,將顯示於瀏覽器視窗的標題列)。\n* MainMenu:主選單(通常在頁面左測)。\n* DefaultTiddlers:內含一些文章的標題,可於載入TiddlyWiki 後的預設開啟。\n請輸入您的大名,作為所建立/ 編輯的文章署名:<<option txtUserName>>",
SideBarOptions: "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal ' YYYY0MM0DD'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel '偏好設定 »' '變更 TiddlyWiki 選項'>>",
OptionsPanel: "這些設定將暫存於瀏覽器\n請簽名<<option txtUserName>>\n (範例:WikiWord)\n\n<<option chkSaveBackups>> 儲存備份\n<<option chkAutoSave>> 自動儲存\n<<option chkRegExpSearch>> 正規式搜尋\n<<option chkCaseSensitiveSearch>> 區分大小寫搜尋\n<<option chkAnimate>> 使用動畫顯示\n\n[[進階選項|AdvancedOptions]]\n[[套件管理|PluginManager]]\n[[匯入文章|ImportTiddlers]]",
AdvancedOptions: "<<option chkGenerateAnRssFeed>> 產生 RssFeed\n<<option chkOpenInNewWindow>> 連結開啟於新視窗\n<<option chkSaveEmptyTemplate>> 儲存範本\n<<option chkToggleLinks>> 點擊文章使已開啟者關閉\n\n<<option chkHttpReadOnly>> 隱藏編輯功能 ({{{http:}}})\n<<option chkForceMinorUpdate>> 修改文章不變更日期時間\n(確認修改同時按 Shift 鍵,或只按 Ctrl-Shift-Enter)\n<<option chkConfirmDelete>> 刪除文章前確認\n\n編輯模式中顯示列數: <<option txtMaxEditRows>>\n存放備份檔案的資料夾: <<option txtBackupFolder>>\n<<option chkInsertTabs>> 使用 tab 鍵插入定位字元,而非跳至下一個欄位\n",
SideBarTabs: "<<tabs txtMainTab 最近更新 '依更新日期排序' TabTimeline 全部 '所有文章' TabAll 分類 '所有標籤' TabTags 更多 '其他' TabMore>>",
TabTimeline: "<<timeline>>",
TabAll: "<<list all>>",
TabTags: "<<allTags>>",
TabMore: "<<tabs txtMoreTab 未完成 '內容空白的文章' TabMoreMissing 未引用 '未被引用的文章' TabMoreOrphans 預設文章 '預設的影子文章' TabMoreShadowed>>",
TabMoreMissing: "<<list missing>>",
TabMoreOrphans: "<<list orphans>>",
TabMoreShadowed: "<<list shadowed>>",
PluginManager: "<<plugins>>",
ImportTiddlers: "<<importTiddlers>>"});
config.options.txtFsEncode = "BIG5";
config.shadowTiddlers["AdvancedOptions"]+="\n檔案系統編碼:<<option txtFsEncode>>\n<<<\n使用Gecko based的瀏覽器(如:Firefox)時,\n指定正確系統環境編碼(BIG5、GBK、SHIFT-JIS、EUC-KR....等),\n可支援儲存文件於非 ASCII 路徑及檔名。\n<<<";
config.shadowTiddlers.ViewTemplate = "<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date YYYY0MM0DD'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date YYYY0MM0DD'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>";
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
major: 1, minor: 1, revision: 0,
date: new Date("mar 17, 2007"),
source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};
if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};
bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){
url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
}
return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
☆真‧三國無雙online相關☆
[[真三國無双online官網|http://www.musouonline.com.tw/]]
[[紅心辣椒官網|http://www.cayennetech.com.tw/]]
[[巴哈姆特討論版|http://forum.gamer.com.tw/B.php?bsn=09512]]
[[遊戲基地討論版|http://www.gamebase.com.tw/forum/thread.html?tno=600270002&no=600270002&pno=60027]]
☆版主相關☆
[[版主的Blog|http://df-martin.blogspot.com/]]
[[Beyou網路相簿|http://blog.beyou.com.tw/blog/index.php/BlogIndex/index/martin1997/]]
[[Picasa網頁相簿|http://picasaweb.google.com/home]]
<!--{{{-->
<div class='header' >
<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'>
<div i refresh='content' tiddler='MainMenu'></div>
<div id='凡走過請留下足跡' align='left' refresh='content' force='true' tiddler='凡走過請留下足跡'></div>
<!-- BEGIN CBOX - www.cbox.ws -->
<div align="left" id="cboxdiv">
<iframe frameborder="0" width="160" height="305" src="http://www5.cbox.ws/box/?boxid=75465&boxtag=6bcb46&sec=main" marginheight="2" marginwidth="2" scrolling="auto" allowtransparency="yes" name="cboxmain" style="border:#000000 1px solid;" id="cboxmain"></iframe><br/>
<iframe frameborder="0" width="160" height="75" src="http://www5.cbox.ws/box/?boxid=75465&boxtag=6bcb46&sec=form" marginheight="2" marginwidth="2" scrolling="no" allowtransparency="yes" name="cboxform" style="border:#000000 1px solid;border-top:0px" id="cboxform"></iframe>
</div>
<!-- END CBOX -->
</div>
<div id='sidebar'>
<div id='讓小鎂陪你一起看時間' refresh='content' tiddler='讓小鎂陪你一起看時間'></div>
<embed width="160" src="http://citycafe.7-11.com.tw/event/200712/download/clock.swf" height="300" align="center"></embed>
<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>
<!--}}}-->
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal ' YYYY0MM0DD'>><<saveChanges>><<tiddler TspotSidebar>><<slider chkSliderOptionsPanel OptionsPanel '偏好設定 »' '變更 TiddlyWiki 選項'>>
/***
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.
***/
/* Layout */
body{
text-align:left;
font-size:0.8em;
color: #336633;
background-image:url('w04-3.jpg');
background-repeat:no-repeat;
background-attachment:fixed;
}
.header {
background-color: #000000;
}
#mainMenu {
position: left;
width: auto;
text-align:left;
color: #cc66ff;
padding: 0em 1em 0em 1em;
button-hover:#000033
}
#sidebarOptions {font-size:0.9 em;}
#sidebarOptions a {font-style:normal;color:#cc66ff}
#sidebarOptions .sliderPanel {font-size:0.8em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;color:white;}
.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:left; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which 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;}
/*}}}*/
/***
!Usage
<<tagCloud>>
!Code
***/
//{{{
version.extensions.tagCloud = {major: 1, minor: 0 , revision: 0, date: new Date(2006,2,04)};
//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
config.macros.tagCloud = {
noTags: "No tag cloud created because there are no tags.",
tooltip: "%1 tiddlers tagged with '%0'"
};
config.macros.tagCloud.handler = function(place,macroName,params) {
var tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);
var tags = store.getTags();
for (var t=0; t<tags.length; t++) {
for (var p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";
}
if(tags.length == 0)
createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);
//Findout the maximum number of tags
var mostTags = 0;
for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){
if (tags[t][1] > mostTags) mostTags = tags[t][1];
}
//divide the mostTags into 4 segments for the 4 different tagCloud sizes
var tagSegment = mostTags / 4;
for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){
var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);
tagCloudWrapper.appendChild(document.createTextNode(" "));
var theTag = createTiddlyButton(tagCloudElement,tags[t][0],this.tooltip.format(tags[t]),onClickTag,"tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1));
theTag.setAttribute("tag",tags[t][0]);
}
};
setStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}","tagCloudsStyles");
//}}}
/***
Contains the stuff you need to use Tiddlyspot
Note you must also have UploadPlugin installed
***/
//{{{
// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'martintsou';
// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
// disable autosave in d3
if (window.location.protocol != "file:")
config.options.chkGTDLazyAutoSave = false;
// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}
// create some shadow tiddler content
merge(config.shadowTiddlers,{
'WelcomeToTiddlyspot':[
"This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //What now?// @@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
"<<tiddler TspotControls>>",
"See also GettingStarted.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working online// @@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// @@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Help!// @@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// @@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),
'TspotControls':[
"| tiddlyspot password:|<<option pasUploadPassword>>|",
"| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<<br>>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
"| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),
'TspotSidebar':[
"<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),
'TspotOptions':[
"tiddlyspot password:",
"<<option pasUploadPassword>>",
""
].join("\n")
});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 29/12/2007 14:50:49 | 謎霧之雪 | [[martintsou.html|file:///D:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . | ok |
| 29/12/2007 15:23:47 | 謎霧之雪 | [[martintsou.html|file:///D:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . |
| 30/12/2007 15:41:11 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . | ok |
| 02/01/2008 23:23:49 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . |
| 02/01/2008 23:44:59 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . | ok |
| 04/01/2008 18:00:25 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . |
| 04/01/2008 18:53:47 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . |
| 09/01/2008 00:11:11 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . | ok |
| 10/01/2008 21:51:37 | 謎霧之雪 | [[martintsou.html|file:///J:/test/martintsou.html]] | [[store.cgi|http://martintsou.tiddlyspot.com/store.cgi]] | . | [[index.html | http://martintsou.tiddlyspot.com/index.html]] | . | ok |
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
major: 1, minor: 0, revision: 2,
date: new Date("Apr 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
coreVersion: '2.2.0 (Beta 5)'
};
config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");
merge(config.macros.option.types, {
'pas': {
elementType: "input",
valueField: "value",
eventName: "onkeyup",
className: "pasOptionInput",
typeValue: config.macros.option.passwordInputType,
create: function(place,type,opt,className,desc) {
// password field
config.macros.option.genericCreate(place,'pas',opt,className,desc);
// checkbox linked with this password "save this password on this computer"
config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);
// text savePasswordCheckboxLabel
place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
},
onChange: config.macros.option.genericOnChange
}
});
merge(config.optionHandlers['chk'], {
get: function(name) {
// is there an option linked with this chk ?
var opt = name.substr(3);
if (config.options[opt])
saveOptionCookie(opt);
return config.options[name] ? "true" : "false";
}
});
merge(config.optionHandlers, {
'pas': {
get: function(name) {
if (config.options["chk"+name]) {
return encodeCookie(config.options[name].toString());
} else {
return "";
}
},
set: function(name,value) {config.options[name] = decodeCookie(value);}
}
});
// need to reload options to load passwordOptions
loadOptionsCookie();
/*
if (!config.options['pasPassword'])
config.options['pasPassword'] = '';
merge(config.optionsDesc,{
pasPassword: "Test password"
});
*/
//}}}
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.0|
|''Date:''|May 5, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (#3125)|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
major: 4, minor: 1, revision: 0,
date: new Date("May 5, 2007"),
source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0 (#3125)'
};
//
// Environment
//
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false; // true to activate both in Plugin and UploadService
//
// Upload Macro
//
config.macros.upload = {
// default values
defaultBackupDir: '', //no backup
defaultStoreScript: "store.php",
defaultToFilename: "index.html",
defaultUploadDir: ".",
authenticateUser: true // UploadService Authenticate User
};
config.macros.upload.label = {
promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
promptParamMacro: "Save and Upload this TiddlyWiki in %0",
saveLabel: "save to web",
saveToDisk: "save to disk",
uploadLabel: "upload"
};
config.macros.upload.messages = {
noStoreUrl: "No store URL in parmeters or options",
usernameOrPasswordMissing: "Username or password missing"
};
config.macros.upload.handler = function(place,macroName,params) {
if (readOnly)
return;
var label;
if (document.location.toString().substr(0,4) == "http")
label = this.label.saveLabel;
else
label = this.label.uploadLabel;
var prompt;
if (params[0]) {
prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0],
(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
} else {
prompt = this.label.promptOption;
}
createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};
config.macros.upload.action = function(params)
{
// for missing macro parameter set value from options
var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
var username = params[4] ? params[4] : config.options.txtUploadUserName;
var password = config.options.pasUploadPassword; // for security reason no password as macro parameter
// for still missing parameter set default value
if ((!storeUrl) && (document.location.toString().substr(0,4) == "http"))
storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
if (storeUrl.substr(0,4) != "http")
storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
if (!toFilename)
toFilename = bidix.basename(window.location.toString());
if (!toFilename)
toFilename = config.macros.upload.defaultToFilename;
if (!uploadDir)
uploadDir = config.macros.upload.defaultUploadDir;
if (!backupDir)
backupDir = config.macros.upload.defaultBackupDir;
// report error if still missing
if (!storeUrl) {
alert(config.macros.upload.messages.noStoreUrl);
clearMessage();
return false;
}
if (config.macros.upload.authenticateUser && (!username || !password)) {
alert(config.macros.upload.messages.usernameOrPasswordMissing);
clearMessage();
return false;
}
bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password);
return false;
};
config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir)
{
if (!storeUrl)
return null;
var dest = bidix.dirname(storeUrl);
if (uploadDir && uploadDir != '.')
dest = dest + '/' + uploadDir;
dest = dest + '/' + toFilename;
return dest;
};
//
// uploadOptions Macro
//
config.macros.uploadOptions = {
handler: function(place,macroName,params) {
var wizard = new Wizard();
wizard.createWizard(place,this.wizardTitle);
wizard.addStep(this.step1Title,this.step1Html);
var markList = wizard.getElement("markList");
var listWrapper = document.createElement("div");
markList.parentNode.insertBefore(listWrapper,markList);
wizard.setValue("listWrapper",listWrapper);
this.refreshOptions(listWrapper,false);
var uploadCaption;
if (document.location.toString().substr(0,4) == "http")
uploadCaption = config.macros.upload.label.saveLabel;
else
uploadCaption = config.macros.upload.label.uploadLabel;
wizard.setButtons([
{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption,
onClick: config.macros.upload.action},
{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
]);
},
refreshOptions: function(listWrapper) {
var uploadOpts = [
"txtUploadUserName",
"pasUploadPassword",
"txtUploadStoreUrl",
"txtUploadDir",
"txtUploadFilename",
"txtUploadBackupDir",
"chkUploadLog",
"txtUploadLogMaxLine",
]
var opts = [];
for(i=0; i<uploadOpts.length; i++) {
var opt = {};
opts.push()
opt.option = "";
n = uploadOpts[i];
opt.name = n;
opt.lowlight = !config.optionsDesc[n];
opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
opts.push(opt);
}
var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
for(n=0; n<opts.length; n++) {
var type = opts[n].name.substr(0,3);
var h = config.macros.option.types[type];
if (h && h.create) {
h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
}
}
},
onCancel: function(e)
{
backstage.switchTab(null);
return false;
},
wizardTitle: "Upload with options",
step1Title: "These options are saved in cookies in your browser",
step1Html: "<input type='hidden' name='markList'></input><br>",
cancelButton: "Cancel",
cancelButtonPrompt: "Cancel prompt",
listViewTemplate: {
columns: [
{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
}
//
// upload functions
//
if (!bidix.upload) bidix.upload = {};
if (!bidix.upload.messages) bidix.upload.messages = {
//from saving
invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
backupSaved: "Backup saved",
backupFailed: "Failed to upload backup file",
rssSaved: "RSS feed uploaded",
rssFailed: "Failed to upload RSS feed file",
emptySaved: "Empty template uploaded",
emptyFailed: "Failed to upload empty template file",
mainSaved: "Main TiddlyWiki file uploaded",
mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
//specific upload
loadOriginalHttpPostError: "Can't get original file",
aboutToSaveOnHttpPost: 'About to upload on %0 ...',
storePhpNotFound: "The store script '%0' was not found."
};
bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
var callback = function(status,uploadParams,original,url,xhr) {
if (!status) {
displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
return;
}
if (bidix.debugMode)
alert(original.substr(0,500)+"\n...");
// Locate the storeArea div's
var posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
bidix.upload.uploadRss(uploadParams,original,posDiv);
};
if(onlyIfDirty && !store.isDirty())
return;
clearMessage();
// save on localdisk ?
if (document.location.toString().substr(0,4) == "file") {
var path = document.location.toString();
var localPath = getLocalPath(path);
saveChanges();
}
// get original
var uploadParams = Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
var originalPath = document.location.toString();
// If url is a directory : add index.html
if (originalPath.charAt(originalPath.length-1) == "/")
originalPath = originalPath + "index.html";
var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
var log = new bidix.UploadLog();
log.startUpload(storeUrl, dest, uploadDir, backupDir);
displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
if (bidix.debugMode)
alert("about to execute Http - GET on "+originalPath);
var r = doHttp("GET",originalPath,null,null,null,null,callback,uploadParams,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
bidix.upload.uploadRss = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
if(status) {
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
bidix.upload.uploadMain(params[0],params[1],params[2]);
} else {
displayMessage(bidix.upload.messages.rssFailed);
}
};
// do uploadRss
if(config.options.chkGenerateAnRssFeed) {
var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
var rssUploadParams = Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
bidix.upload.httpUpload(rssUploadParams,convertUnicodeToUTF8(generateRss()),callback,Array(uploadParams,original,posDiv));
} else {
bidix.upload.uploadMain(uploadParams,original,posDiv);
}
};
bidix.upload.uploadMain = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
var log = new bidix.UploadLog();
if(status) {
// if backupDir specified
if ((params[3]) && (responseText.indexOf("backupfile:") > -1)) {
var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
}
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
store.setDirty(false);
log.endUpload("ok");
} else {
alert(bidix.upload.messages.mainFailed);
displayMessage(bidix.upload.messages.mainFailed);
log.endUpload("failed");
}
};
// do uploadMain
var revised = bidix.upload.updateOriginal(original,posDiv);
bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};
bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
var localCallback = function(status,params,responseText,url,xhr) {
url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
if (xhr.status == httpStatus.NotFound)
alert(bidix.upload.messages.storePhpNotFound.format([url]));
if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
alert(responseText);
if (responseText.indexOf("Debug mode") >= 0 )
responseText = responseText.substring(responseText.indexOf("\n\n")+2);
} else if (responseText.charAt(0) != '0')
alert(responseText);
if (responseText.charAt(0) != '0')
status = null;
callback(status,params,responseText,url,xhr);
};
// do httpUpload
var boundary = "---------------------------"+"AaB03x";
var uploadFormName = "UploadPlugin";
// compose headers data
var sheader = "";
sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
sheader += uploadFormName +"\"\r\n\r\n";
sheader += "backupDir="+uploadParams[3] +
";user=" + uploadParams[4] +
";password=" + uploadParams[5] +
";uploaddir=" + uploadParams[2];
if (bidix.debugMode)
sheader += ";debug=1";
sheader += ";;\r\n";
sheader += "\r\n" + "--" + boundary + "\r\n";
sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
sheader += "Content-Length: " + data.length + "\r\n\r\n";
// compose trailer data
var strailer = new String();
strailer = "\r\n--" + boundary + "--\r\n";
data = sheader + data + strailer;
if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
if (!posDiv)
posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
store.allTiddlersAsHtml() + "\n" +
original.substr(posDiv[1]);
var newSiteTitle = getPageTitle().htmlEncode();
revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
return revised;
};
//
// UploadLog
//
// config.options.chkUploadLog :
// false : no logging
// true : logging
// config.options.txtUploadLogMaxLine :
// -1 : no limit
// 0 : no Log lines but UploadLog is still in place
// n : the last n lines are only kept
// NaN : no limit (-1)
bidix.UploadLog = function() {
if (!config.options.chkUploadLog)
return; // this.tiddler = null
this.tiddler = store.getTiddler("UploadLog");
if (!this.tiddler) {
this.tiddler = new Tiddler();
this.tiddler.title = "UploadLog";
this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
this.tiddler.created = new Date();
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
}
return this;
};
bidix.UploadLog.prototype.addText = function(text) {
if (!this.tiddler)
return;
// retrieve maxLine when we need it
var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
if (isNaN(maxLine))
maxLine = -1;
// add text
if (maxLine != 0)
this.tiddler.text = this.tiddler.text + text;
// Trunck to maxLine
if (maxLine >= 0) {
var textArray = this.tiddler.text.split('\n');
if (textArray.length > maxLine + 1)
textArray.splice(1,textArray.length-1-maxLine);
this.tiddler.text = textArray.join('\n');
}
// update tiddler fields
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
// refresh and notifiy for immediate update
story.refreshTiddler(this.tiddler.title);
store.notify(this.tiddler.title, true);
};
bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {
if (!this.tiddler)
return;
var now = new Date();
var text = "\n| ";
var filename = bidix.basename(document.location.toString());
if (!filename) filename = '/';
text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
text += config.options.txtUserName + " | ";
text += "[["+filename+"|"+location + "]] |";
text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
text += uploadDir + " | ";
text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
text += backupDir + " |";
this.addText(text);
};
bidix.UploadLog.prototype.endUpload = function(status) {
if (!this.tiddler)
return;
this.addText(" "+status+" |");
};
//
// Utilities
//
bidix.checkPlugin = function(plugin, major, minor, revision) {
var ext = version.extensions[plugin];
if (!
(ext &&
((ext.major > major) ||
((ext.major == major) && (ext.minor > minor)) ||
((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
// write error in PluginManager
if (pluginInfo)
pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
}
};
bidix.dirname = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(0, lastpos);
} else {
return filePath.substring(0, filePath.lastIndexOf("\\"));
}
};
bidix.basename = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("#")) != -1)
filePath = filePath.substring(0, lastpos);
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(lastpos + 1);
} else
return filePath.substring(filePath.lastIndexOf("\\")+1);
};
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
//
// Initializations
//
// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);
// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");
//optionsDesc
merge(config.optionsDesc,{
txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
txtUploadUserName: "Upload Username",
pasUploadPassword: "Upload Password",
chkUploadLog: "do Logging in UploadLog (default: true)",
txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});
// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');
/* don't want this for tiddlyspot sites
// Backstage
merge(config.tasks,{
uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");
*/
//}}}
/***
|''Name:''|zh-HantTranslationPlugin|
|''Description:''|Translation of TiddlyWiki into Traditional Chinese|
|''Source:''|http://tiddlywiki-zh.googlecode.com/svn/trunk/|
|''Subversion:''|http://svn.tiddlywiki.org/Trunk/association/locales/core/zh-Hant/locale.zh-Hant.js|
|''Author:''|BramChen (bram.chen (at) gmail (dot) com)|
|''Version:''|2.2.5|
|''Date:''|Aug 26, 2007|
|''Comments:''|Please make comments at http://groups-beta.google.com/group/TiddlyWiki-zh/|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
// --
// -- Translateable strings
// --
// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone
config.locale = 'zh-Hant'; // W3C language tag
if (config.options.txtUserName == 'YourName' || !config.options.txtUserName) // do not translate this line, but do translate the next line
merge(config.options,{txtUserName: "YourName"});
merge(config.tasks,{
save: {text: "儲存", tooltip: "儲存變更至此 TiddlyWiki", action: saveChanges},
sync: {text: "同步", tooltip: "將你的資料內容與外部伺服器與檔案同步", content: '<<sync>>'},
importTask: {text: "導入", tooltip: "自其他檔案或伺服器導入文章或套件", content: '<<importTiddlers>>'},
tweak: {text: "選項", tooltip: "改變此 TiddlyWiki 的顯示與行為的設定", content: '<<options>>'},
plugins: {text: "套件管理", tooltip: "管理已安裝的套件", content: '<<plugins>>'}
});
merge(config.optionsDesc,{
txtUserName: "編輯文章所使用之作者署名",
chkRegExpSearch: "啟用正規式搜尋",
chkCaseSensitiveSearch: "搜尋時,區分大小寫",
chkAnimate: "使用動畫顯示",
chkSaveBackups: "儲存變更前,保留備份檔案",
chkAutoSave: "自動儲存變更",
chkGenerateAnRssFeed: "儲存變更時,也儲存 RSS feed",
chkSaveEmptyTemplate: "儲存變更時,也儲存空白範本",
chkOpenInNewWindow: "於新視窗開啟連結",
chkToggleLinks: "點擊已開啟文章將其關閉",
chkHttpReadOnly: "非本機瀏覽文件時,隱藏編輯功能",
chkForceMinorUpdate: "修改文章時,不變更作者名稱與日期時間",
chkConfirmDelete: "刪除文章前須確認",
chkInsertTabs: "使用 tab 鍵插入定位字元,而非跳至下一個欄位",
txtBackupFolder: "存放備份檔案的資料夾",
txtMaxEditRows: "編輯模式中顯示列數",
txtFileSystemCharSet: "指定儲存文件所在之檔案系統之字集 (僅適用於 Firefox/Mozilla only)"});
// Messages
merge(config.messages,{
customConfigError: "套件載入發生錯誤,詳細請參考 PluginManager",
pluginError: "發生錯誤: %0",
pluginDisabled: "未執行,因標籤設為 'systemConfigDisable'",
pluginForced: "已執行,因標籤設為 'systemConfigForce'",
pluginVersionError: "未執行,套件需較新版本的 TiddlyWiki",
nothingSelected: "尚未作任何選擇,至少需選擇一項",
savedSnapshotError: "此 TiddlyWiki 未正確存檔,詳見 http://www.tiddlywiki.com/#DownloadSoftware",
subtitleUnknown: "(未知)",
undefinedTiddlerToolTip: "'%0' 尚無內容",
shadowedTiddlerToolTip: "'%0' 尚無內容, 但已定義隱藏的預設值",
tiddlerLinkTooltip: "%0 - %1, %2",
externalLinkTooltip: "外部連結至 %0",
noTags: "未設定標籤的文章",
notFileUrlError: "須先將此 TiddlyWiki 存至檔案,才可儲存變更",
cantSaveError: "無法儲存變更。可能的原因有:\n- 你的瀏覽器不支援此儲存功能(Firefox, Internet Explorer, Safari and Opera 經適當設定後可儲存變更)\n- 也可能是你的 TiddlyWiki 檔名包含不合法的字元所致。\n- 或是 TiddlyWiki 文件被改名或搬移。",
invalidFileError: " '%0' 非有效之 TiddlyWiki 文件",
backupSaved: "已儲存備份",
backupFailed: "無法儲存備份",
rssSaved: "RSS feed 已儲存",
rssFailed: "無法儲存 RSS feed ",
emptySaved: "已儲存範本",
emptyFailed: "無法儲存範本",
mainSaved: "主要的TiddlyWiki已儲存",
mainFailed: "無法儲存主要 TiddlyWiki,所作的改變未儲存",
macroError: "巨集 <<\%0>> 執行錯誤",
macroErrorDetails: "執行巨集 <<\%0>> 時,發生錯誤 :\n%1",
missingMacro: "無此巨集",
overwriteWarning: "'%0' 已存在,[確定]覆寫之",
unsavedChangesWarning: "注意! 尚未儲存變更\n\n[確定]存檔,或[取消]放棄存檔?",
confirmExit: "--------------------------------\n\nTiddlyWiki 以更改內容尚未儲存,繼續的話將遺失這些更動\n\n--------------------------------",
saveInstructions: "SaveChanges",
unsupportedTWFormat: "未支援此 TiddlyWiki 格式:'%0'",
tiddlerSaveError: "儲存文章 '%0' 時,發生錯誤。",
tiddlerLoadError: "載入文章 '%0' 時,發生錯誤。",
wrongSaveFormat: "無法使用格式 '%0' 儲存,請使用標准格式存放",
invalidFieldName: "無效的欄位名稱:%0",
fieldCannotBeChanged: "無法變更欄位:'%0'",
loadingMissingTiddler: "正從伺服器 '%1' 的:\n\n工作區 '%3' 中的 '%2' 擷取文章 '%0'"});
merge(config.messages.messageClose,{
text: "關閉",
tooltip: "關閉此訊息"});
config.messages.backstage = {
open: {text: "控制台", tooltip: "開啟控制台執行編寫工作"},
close: {text: "關閉", tooltip: "關閉控制台"},
prompt: "控制台:",
decal: {
edit: {text: "編輯", tooltip: "編輯 '%0'"}
}
};
config.messages.listView = {
tiddlerTooltip: "檢視全文",
previewUnavailable: "(無法預覽)"
};
config.messages.dates.months = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"];
config.messages.dates.days = ["日", "一","二", "三", "四", "五", "六"];
config.messages.dates.shortMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
config.messages.dates.shortDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
// suffixes for dates, eg "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["st","nd","rd","th","th","th","th","th","th","th",
"th","th","th","th","th","th","th","th","th","th",
"st","nd","rd","th","th","th","th","th","th","th",
"st"];
config.messages.dates.am = "上午";
config.messages.dates.pm = "下午";
merge(config.messages.tiddlerPopup,{
});
merge(config.views.wikified.tag,{
labelNoTags: "未設標籤",
labelTags: "標籤: ",
openTag: "開啟標籤 '%0'",
tooltip: "顯示標籤為 '%0' 的文章",
openAllText: "開啟以下所有文章",
openAllTooltip: "開啟以下所有文章",
popupNone: "僅此文標籤為 '%0'"});
merge(config.views.wikified,{
defaultText: "",
defaultModifier: "(未完成)",
shadowModifier: "(預設)",
dateFormat: "YYYY年0MM月0DD日",
createdPrompt: "建立於"});
merge(config.views.editor,{
tagPrompt: "設定標籤之間以空白區隔,[[標籤含空白時請使用雙中括弧]],或點選現有之標籤加入",
defaultText: ""});
merge(config.views.editor.tagChooser,{
text: "標籤",
tooltip: "點選現有之標籤加至本文章",
popupNone: "未設定標籤",
tagTooltip: "加入標籤 '%0'"});
merge(config.messages,{
sizeTemplates:
[
{unit: 1024*1024*1024, template: "%0\u00a0GB"},
{unit: 1024*1024, template: "%0\u00a0MB"},
{unit: 1024, template: "%0\u00a0KB"},
{unit: 1, template: "%0\u00a0B"}
]});
merge(config.macros.search,{
label: " 尋找",
prompt: "搜尋本 Wiki",
accessKey: "F",
successMsg: " %0 篇符合條件: %1",
failureMsg: " 無符合條件: %0"});
merge(config.macros.tagging,{
label: "引用標籤:",
labelNotTag: "無引用標籤",
tooltip: "列出標籤為 '%0' 的文章"});
merge(config.macros.timeline,{
dateFormat: "YYYY年0MM月0DD日"});
merge(config.macros.allTags,{
tooltip: "顯示文章- 標籤為'%0'",
noTags: "沒有標籤"});
config.macros.list.all.prompt = "依字母排序";
config.macros.list.missing.prompt = "被引用且內容空白的文章";
config.macros.list.orphans.prompt = "未被引用的文章";
config.macros.list.shadowed.prompt = "這些隱藏的文章已預設內容";
config.macros.list.touched.prompt = "自下載或新增後被修改過的文章";
merge(config.macros.closeAll,{
label: "全部關閉",
prompt: "關閉所有開啟中的 tiddler (編輯中除外)"});
merge(config.macros.permaview,{
label: "引用連結",
prompt: "可存取現有開啟之文章的連結位址"});
merge(config.macros.saveChanges,{
label: "儲存變更",
prompt: "儲存所有文章,產生新的版本",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "新增文章",
prompt: "新增 tiddler",
title: "新增文章",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "新增日誌",
prompt: "新增 jounal",
accessKey: "J"});
merge(config.macros.options,{
wizardTitle: "增訂的進階選項",
step1Title: "增訂的選項儲存於瀏覽器的 cookies",
step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>顯示未知選項</input>",
unknownDescription: "//(未知)//",
listViewTemplate: {
columns: [
{name: 'Option', field: 'option', title: "選項", type: 'String'},
{name: 'Description', field: 'description', title: "說明", type: 'WikiText'},
{name: 'Name', field: 'name', title: "名稱", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
});
merge(config.macros.plugins,{
wizardTitle: "擴充套件管理",
step1Title: "- 已載入之套件",
step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
skippedText: "(此套件因剛加入,故尚未執行)",
noPluginText: "未安裝套件",
confirmDeleteText: "確認是否刪除此文章:\n\n%0",
removeLabel: "移除 systemConfig 標籤",
removePrompt: "移除 systemConfig 標籤",
deleteLabel: "刪除",
deletePrompt: "永遠刪除所選",
listViewTemplate : {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Tiddler', field: 'tiddler', title: "套件", type: 'Tiddler'},
{name: 'Size', field: 'size', tiddlerLink: 'size', title: "大小", type: 'Size'},
{name: 'Forced', field: 'forced', title: "強制執行", tag: 'systemConfigForce', type: 'TagCheckbox'},
{name: 'Disabled', field: 'disabled', title: "停用", tag: 'systemConfigDisable', type: 'TagCheckbox'},
{name: 'Executed', field: 'executed', title: "已載入", type: "Boolean", trueText: "是", falseText: "否"},
{name: 'Startup Time', field: 'startupTime', title: "載入時間", type: 'String'},
{name: 'Error', field: 'error', title: "載入狀態", type: 'Boolean', trueText: "錯誤", falseText: "正常"},
{name: 'Log', field: 'log', title: "紀錄", type: 'StringList'}
],
rowClasses: [
{className: 'error', field: 'error'},
{className: 'warning', field: 'warning'}
]}
});
merge(config.macros.toolbar,{
moreLabel: "其他",
morePrompt: "顯示更多工具命令"});
merge(config.macros.refreshDisplay,{
label: "刷新",
prompt: "刷新此 TiddlyWiki 顯示"
});
merge(config.macros.importTiddlers,{
readOnlyWarning: "TiddlyWiki 於唯讀模式下,不支援導入文章。請由本機(file://)開啟 TiddlyWiki 文件",
wizardTitle: "自其他檔案或伺服器導入文章",
step1Title: "步驟一:指定伺服器或來源文件",
step1Html: "指定伺服器類型:<select name='selTypes'><option value=''>選取...</option></select><br>請輸入網址或路徑:<input type='text' size=50 name='txtPath'><br>...或選擇來源文件:<input type='file' size=50 name='txtBrowse'><br><hr>...或選擇指定的饋入來源:<select name='selFeeds'><option value=''>選取...</option></select>",
openLabel: "開啟",
openPrompt: "開啟檔案或",
openError: "讀取來源文件時發生錯誤",
statusOpenHost: "正與伺服器建立連線",
statusGetWorkspaceList: "正在取得可用之文章清單",
step2Title: "步驟二:選擇工作區",
step2Html: "輸入工作區名稱:<input type='text' size=50 name='txtWorkspace'><br>...或選擇工作區:<select name='selWorkspace'><option value=''>選取...</option></select>",
cancelLabel: "取消",
cancelPrompt: "取消本次導入動作",
statusOpenWorkspace: "正在開啟工作區",
statusGetTiddlerList: "正在取得可用之文章清單",
step3Title: "步驟三:選擇欲導入之文章",
step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>保持這些文章與伺服器的連結,便於同步後續的變更。</input><br><input type='checkbox' name='chkSave'>儲存此伺服器的詳細資訊於標籤為 'systemServer' 的文章名為:</input> <input type='text' size=25 name='txtSaveTiddler'>",
importLabel: "導入",
importPrompt: "導入所選文章",
confirmOverwriteText: "確定要覆寫這些文章:\n\n%0",
step4Title: "步驟四:正在導入%0 篇文章",
step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE
doneLabel: "完成",
donePrompt: "關閉",
statusDoingImport: "正在導入文章 ...",
statusDoneImport: "所選文章已導入",
systemServerNamePattern: "%2 位於 %1",
systemServerNamePatternNoWorkspace: "%1",
confirmOverwriteSaveTiddler: "此 tiddler '%0' 已經存在。點擊「確定」以伺服器上料覆寫之,或「取消」不變更後離開",
serverSaveTemplate: "|''Type:''|%0|\n|''網址:''|%1|\n|''工作區:''|%2|\n\n此文為自動產生紀錄伺服器之相關資訊。",
serverSaveModifier: "(系統)",
listViewTemplate: {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Tiddler', field: 'tiddler', title: "文章", type: 'Tiddler'},
{name: 'Size', field: 'size', tiddlerLink: 'size', title: "大小", type: 'Size'},
{name: 'Tags', field: 'tags', title: "標籤", type: 'Tags'}
],
rowClasses: [
]}
});
merge(config.macros.sync,{
listViewTemplate: {
columns: [
{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
{name: 'Tiddler', field: 'tiddler', title: "文章", type: 'Tiddler'},
{name: 'Server Type', field: 'serverType', title: "伺服器類型", type: 'String'},
{name: 'Server Host', field: 'serverHost', title: "伺服器主機", type: 'String'},
{name: 'Server Workspace', field: 'serverWorkspace', title: "伺服器工作區", type: 'String'},
{name: 'Status', field: 'status', title: "同步情形", type: 'String'},
{name: 'Server URL', field: 'serverUrl', title: "伺服器網址", text: "View", type: 'Link'}
],
rowClasses: [
],
buttons: [
{caption: "同步更新這些文章", name: 'sync'}
]},
wizardTitle: "將你的資料內容與外部伺服器與檔案同步",
step1Title: "選擇欲同步的文章",
step1Html: '<input type="hidden" name="markList"></input>', // DO NOT TRANSLATE
syncLabel: "同步",
syncPrompt: "同步更新這些文章",
hasChanged: "已更動",
hasNotChanged: "未更動",
syncStatusList: {
none: {text: "...", color: 'none'},
changedServer: {text: "伺服器資料已更動", color: '#80ff80'},
changedLocally: {text: "本機資料已更動", color: '#80ff80'},
changedBoth: {text: "已同時更新本機與伺服器上的資料", color: '#ff8080'},
notFound: {text: "伺服器無此資料", color: '#ffff80'},
putToServer: {text: "已儲存更新資料至伺服器", color: '#ff80ff'},
gotFromServer: {text: "已從伺服器擷取更新資料", color: '#80ffff'}
}
});
merge(config.macros.annotations,{
});
merge(config.commands.closeTiddler,{
text: "關閉",
tooltip: "關閉本文"});
merge(config.commands.closeOthers,{
text: "關閉其他",
tooltip: "關閉其他文章"});
merge(config.commands.editTiddler,{
text: "編輯",
tooltip: "編輯本文",
readOnlyText: "檢視",
readOnlyTooltip: "檢視本文之原始內容"});
merge(config.commands.saveTiddler,{
text: "完成",
tooltip: "確定修改"});
merge(config.commands.cancelTiddler,{
text: "取消",
tooltip: "取消修改",
warning: "確定取消對 '%0' 的修改嗎?",
readOnlyText: "完成",
readOnlyTooltip: "返回正常顯示模式"});
merge(config.commands.deleteTiddler,{
text: "刪除",
tooltip: "刪除文章",
warning: "確定刪除 '%0'?"});
merge(config.commands.permalink,{
text: "引用連結",
tooltip: "本文引用連結"});
merge(config.commands.references,{
text: "引用",
tooltip: "引用本文的文章",
popupNone: "本文未被引用"});
merge(config.commands.jump,{
text: "捲頁",
tooltip: "捲頁至其他已開啟的文章"});
merge(config.commands.syncing,{
text: "同步",
tooltip: "本文章與伺服器或其他外部檔案的同步資訊",
currentlySyncing: "<div>同步類型:<span class='popupHighlight'>'%0'</span></"+"div><div>與伺服器:<span class='popupHighlight'>%1 同步</span></"+"div><div>工作區:<span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag
notCurrentlySyncing: "無進行中的同步動作",
captionUnSync: "停止同步此文章",
chooseServer: "與其他伺服器同步此文章:",
currServerMarker: "\u25cf ",
notCurrServerMarker: " "});
merge(config.commands.fields,{
text: "欄位",
tooltip: "顯示此文章的擴充資訊",
emptyText: "此文章沒有擴充欄位",
listViewTemplate: {
columns: [
{name: 'Field', field: 'field', title: "擴充欄位", type: 'String'},
{name: 'Value', field: 'value', title: "內容", type: 'String'}
],
rowClasses: [
],
buttons: [
]}});
merge(config.shadowTiddlers,{
DefaultTiddlers: "GettingStarted",
GettingStarted: "使用此 TiddlyWiki 的空白範本之前,請先修改以下預設文章:\n* SiteTitle 及 SiteSubtitle:網站的標題和副標題,顯示於頁面上方<br />(在儲存變更後,將顯示於瀏覽器視窗的標題列)。\n* MainMenu:主選單(通常在頁面左側)。\n* DefaultTiddlers:內含一些文章的標題,可於載入TiddlyWiki 後的預設開啟。\n請輸入您的大名,作為所建立/ 編輯的文章署名:<<option txtUserName>>",
MainMenu: "[[使用說明|GettingStarted]]\n\n\n^^~TiddlyWiki 版本:<<version>>\n© 2007 [[UnaMesa|http://www.unamesa.org/]]^^",
OptionsPanel: "這些設定將暫存於瀏覽器\n請簽名<<option txtUserName>>\n (範例:WikiWord)\n\n <<option chkSaveBackups>> 儲存備份\n <<option chkAutoSave>> 自動儲存\n <<option chkRegExpSearch>> 正規式搜尋\n <<option chkCaseSensitiveSearch>> 區分大小寫搜尋\n <<option chkAnimate>> 使用動畫顯示\n----\n [[進階選項|AdvancedOptions]]",
SiteTitle: "我的 TiddlyWiki",
SiteSubtitle: "一個可重複使用的個人網頁式筆記本",
SiteUrl: 'http://www.tiddlywiki.com/',
SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal " YYYY年0MM月0DD日">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "偏好設定 »" "變更 TiddlyWiki 選項">>',
SideBarTabs: '<<tabs txtMainTab "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags "更多" "其他" TabMore>>',
StyleSheet: '[[StyleSheetLocale]]',
TabMore: '<<tabs txtMoreTab "未完成" "內容空白的文章" TabMoreMissing "未引用" "未被引用的文章" TabMoreOrphans "預設文章" "已預設內容的隱藏文章" TabMoreShadowed>>'});
merge(config.annotations,{
AdvancedOptions: "此預設文章可以存取一些進階選項。",
ColorPalette: "此預設文章裡的設定值,將決定 ~TiddlyWiki 使用者介面的配色。",
DefaultTiddlers: "當 ~TiddlyWiki 在瀏覽器中開啟時,此預設文章裡列出的文章,將被自動顯示。",
EditTemplate: "此預設文章裡的 HTML template 將決定文章進入編輯模式時的顯示版面。",
GettingStarted: "此預設文章提供基本的使用說明。",
ImportTiddlers: "此預設文章提供存取導入中的文章。",
MainMenu: "此預設文章的內容,為於螢幕左側主選單的內容",
MarkupPreHead: "此文章的內容將加至 TiddlyWiki 文件的 <head> 段落的起始",
MarkupPostHead: "此文章的內容將加至 TiddlyWiki 文件的 <head> 段落的最後",
MarkupPreBody: "此文章的內容將加至 TiddlyWiki 文件的 <body> 段落的起始",
MarkupPostBody: "此文章的內容將加至 TiddlyWiki 文件的 <body> 段落的最後,於 script 區塊之前",
OptionsPanel: "此預設文章的內容,為於螢幕右側副選單中的選項面板裡的內容",
PageTemplate: "此預設文章裡的 HTML template 決定的 ~TiddlyWiki 主要的版面配置",
PluginManager: "此預設文章提供存取套件管理員",
SideBarOptions: "此預設文章的內容,為於螢幕右側副選單中選項面板裡的內容",
SideBarTabs: "此預設文章的內容,為於螢幕右側副選單中的頁籤面板裡的內容",
SiteSubtitle: "此預設文章的內容為頁面的副標題",
SiteTitle: "此預設文章的內容為頁面的主標題",
SiteUrl: "此預設文章的內容須設定為文件發佈時的完整網址",
StyleSheetColours: "此預設文章內含的 CSS 規則,為相關的頁面元素的配色",
StyleSheet: "此預設文章內容可包含 CSS 規則",
StyleSheetLayout: "此預設文章內含的 CSS 規則,為相關的頁面元素的版面配置",
StyleSheetLocale: "此預設文章內含的 CSS 規則,可依翻譯語系做適當調整",
StyleSheetPrint: "此預設文章內含的 CSS 規則,用於列印時的樣式",
TabAll: "此預設文章的內容,為於螢幕右側副選單中的「全部」頁籤的內容",
TabMore: "此預設文章的內容,為於螢幕右側副選單中的「更多」頁籤的內容",
TabMoreMissing: "此預設文章的內容,為於螢幕右側副選單中的「未完成」頁籤的內容",
TabMoreOrphans: "此預設文章的內容,為於螢幕右側副選單中的「未引用」頁籤的內容",
TabMoreShadowed: "此預設文章的內容,為於螢幕右側副選單中的「預設文章」頁籤的內容",
TabTags: "此預設文章的內容,為於螢幕右側副選單中的「分類」頁籤的內容",
TabTimeline: "此預設文章的內容,為於螢幕右側副選單中的「最近更新」頁籤的內容",
ViewTemplate: "此預設文章裡的 HTML template 決定文章顯示的樣子"
});
//}}}
介紹一款目前尚未開始CB的線上遊戲!
真三國無雙online
從電腦版的真三國無雙三開始玩起,到真三國無雙四,自從聽說有online版的就很期待!
目前已經獲知了部份訊息,將會值續更新,並且把玩遊戲的心得一起更新!
|bgcolor:red;!標籤的數量|h
|<<tagCloud>>|
目前從官方網站得知,開始CB後有八種武器可以選擇如下
|雙戟|燕扇|雙劍|長槍|長棍|櫻扇|戰斧|碎棒|
|bgcolor(#ffffcc):雙戟|>|
|[img[img|w1.jpg]]|著名武將-典韋-愛用武器。古書記載:帳下壯士有典君,提一雙戟八十斤。|
|bgcolor(#ffffcc):燕扇|>|
||燕型典雅的短兵器。|
|bgcolor(#ffffcc):雙劍|>|
||短兵器,快速揮舞造成殺傷力。|
|bgcolor(#ffffcc):長槍|>|
|[img[img|w4.jpg]]|鋒利長兵器,揮舞取敵首級。著名武將-趙雲使用。|
|bgcolor(#ffffcc):長棍|>|
||輕巧靈動的長兵器。|
|bgcolor(#ffffcc):櫻扇|>|
||瀟灑靈動的短兵器。|
|bgcolor(#ffffcc):戰斧|>|
||古代兵器,以青銅或鐵鑄成,形狀像板斧而較大。|
|bgcolor(#ffffcc):碎棒|>|
|[img[img|w8.jpg]]|重兵器,可造成凶狠的殺傷力可造成凶狠的殺傷力。|
你在三國時代的 存活率-65 % 武能力- 70 % 智能力- 95 %
代表人物: ●龐統
號稱鳳雛,與諸葛亮齊名,成為赤壁之戰的勝負關鍵,赤壁大戰時,獻『火燒連環船』的計策給周瑜,幫助東吳大敗曹操大軍 劉備大宴眾人,飲酒作樂,並對龐統說:「今日的宴會,真是樂事.」但龐統卻責劉備:「攻打別人的領土,還在飲酒作樂,此非仁者的兵法.」當時劉備已醉,憤怒地說:當年周武王討伐商紂王,既唱歌,又跳舞,難道他不是仁者?你說話不當,快些離開!」於是龐統別離席引退.後來,劉備感到悔意,請龐統還席,龐統便回到坐位.不過,龐統沒有多謝劉備請他回來,卻自己在飲食,神色自若.劉備問他說:「你認為當時,是何人的過失?」龐統答道:「是君臣皆錯.」劉備大笑,繼續宴樂.
評語: ~你是個有仁心,正直且善交友之人~
Source: [[真‧三國無双online|http://www.wasabii.com.tw/Musou/Event/MusouMentalTest/Guess.aspx]]
1997/2/28 <三國無雙>
長期以來,光榮(KOEI)為了尋求革新之道,決定向主流遊戲告攏,投資讓旗下的OMIGA-FORCE開發一款3D刀劍格鬥類遊戲,這就是改變光榮命運的<三國無雙>。在1997年,PS版的<三國無雙>的畫面雖然是依然「有稜有角」,不過作為一款3D遊戲,這款遊戲比起之前的其他遊戲技術要高出許多。遊戲還採用了當時才剛剛興起的動作捕捉技術,讓遊戲中的3D人物動作更加逼真自然。而在遊戲中玩家可以選擇武將有14名。
2000/8/3 <真‧三國無雙>
2000年8月3日,神話的開始,曾經在PS上的一款格鬥遊戲,進化成的神之作,從一個FTG遊戲轉化成了一個ACT遊戲,然後過關斬將,一路殺到ACT遊戲的霸主地位。<真‧三國無雙>是PS2上第一款同屏人數最多的遊戲,加隱藏角色一共有28名武將可供選擇,魏國7名,蜀國8名,吳國8名,其他勢力5名但只可在自由模式中使用。普通攻擊、蓄力攻擊、無雙攻擊、馬上攻擊各具特色。
2001/9/20 <真‧三國無雙2>
「一騎當關,萬夫莫開」,真正讓光榮成為業內一流猛將的是<真‧三國無雙2>。或許當你第一眼見到遊戲截圖時會感覺與前作沒什麼不同,然而FAMITSU白金殿堂的評價不是白得的,<真‧三國無雙2>的發售終於讓光榮實現了二十幾年以來的夙願-百萬銷量。一直以來輾轉於少數忠實玩家的光榮第一次嘗到在主流市場被眾星捧月的美妙感覺!
2002/8/29 <真‧三國無雙2:猛將傳>
2002年8月,光榮推出了遊戲<真‧三國無雙2>的資料片<真‧三國無雙2:猛將傳>,資料片新增了七位武將的無雙模式,並且強化了遊戲中的護衛兵系統,玩家可以自行編輯護衛兵的姓名與衣著,而原本主遊戲中需要2名玩家一起才能使用的「激‧無雙亂舞」在資料片中可以透過單名玩家與護衛兵即刻發動!
2003/2/27 <真‧三國無雙3>
<真‧三國無雙3>更加強調劇情的完整性,並且加入了小說中沒有或者僅僅一筆帶過的情節。
在本作中,玩家可以自行編輯武將進行遊戲,並且對應PS2網路服務。無雙模式改為以勢力進行,每一個關卡都可以重新選擇武將,根據選擇的進行武將不同關卡也會隨之發生變化。戰場數目由前作的21個大幅增加到50個,分為17個區域。為了追求更強的表演性,本作在連續攻擊技巧上進行大幅度強化,武將所使用的武器也增加了經驗值的概念。遊戲中增加了一騎討的設定,在戰場上可以進行武將間的一對一單挑。
2003/9/25 <真‧三國無雙3:猛將傳>
<真‧三國無雙3>銷量上的巨大成功讓光榮無法不繼續前作推出資料片的商業思路,2003年9月,大幅強化的<真‧三國無雙3:猛將傳>如約與玩家見面。猛將傳在繼承了真三3的所以優點屏棄了所以缺點後,依然大幅度強化關卡設計與遊戲難度,增加了最強武器與許多道具,同時還增加了本資料片的最大賣點-列傳模式與修羅模式。列傳模式的最大特色就在於還原了該武將一生中最為出彩的那一刻。修羅模式不僅考驗玩家的動作遊戲能力,還在一定程度上考驗了玩家的策略能力與掌控全局的能力。
PS.版主是從此版本開始入手,但是是電腦版,名稱也不太一樣,名稱是<真‧三國無雙3:Hyper>
2004/3/18 <真‧三國無雙3:帝國>
2004年3月,<真‧三國無雙3>的第二章資料片也上市。與之前的<猛將傳>不同,<真‧三國無雙3:帝國>加入了光榮十分擅長的SLG元素,因此可以說是一款不同於主遊戲的新作。在遊戲的爭霸模式中,玩家以奪取領地稱霸全國為目的,可以選擇自己想要扮演的君主,進行內政、外交、軍事等多方面戰略決策。為了讓這款以動作遊戲引擎製作起來的動作SLG具有更多的戰略性,光榮設計了道具生產系統,通過內政指令實施生產各種道具。
2005/2/24 <真‧三國無雙4>
在連續推出包含資料片等6款系列作品後,<真‧三國無雙>正式邁入了第4代。除了承繼既有傳統外,加入了曹丕、星彩等新角色,並在遊戲的畫面呈現與處理手法上做了大幅的改良,不但能夠呈現出更多的士兵、景深更遠的戰場,並將激烈戰鬥時的隱形或延遲等現象的產生機率降至最低,讓玩家戰鬥更為流暢。在動作要素方面,除了原本的攻擊模式外,還新增了可一次將多數敵人打飛浮空並追擊的招式,以及「無雙覺醒」與「進化攻擊」等新要素。
2005/9/15 <真‧三國無雙4:猛將傳>
本資料片加入新的「外傳模式」,玩家將化身為三國時期的武將,並為了達成被賦予的任務而奔馳在千軍萬馬敵我交錯的戰場之上。外傳模式共準備了18組劇本,都是無雙系列中全新未公開的戰場劇本。之外還包括左慈、張角、龐統等武將為了爭奪傳說中道術書的「道術書爭奪戰」,甚至包括女性武將們一邊守護夫婿一邊作戰的「郎君炫耀戰」等虛構的戰役。玩家將可嘗試已熟悉的角色,來進行全新豋場的「外傳模式」。
PS.這是版主接觸的第二個版本,當然因為版主沒有遊戲主機,依然是電腦版,名稱是<真‧三國無雙4:Special>
2006/3/23 <真‧三國無雙4:帝國>
承襲先前所推出的<真‧三國無雙3:帝國>的基本架構,本次的<真‧三國無雙4:帝國>大幅強化「帝國」系列的最大特徵「內政」與「戰略」特色,並新增在戰鬥時也能夠對我方武將下達指示的嶄新要素。而在<真‧三國無雙4>豋場的48名角色,在本作中也都會現身。本是除了玩家自己操控的角色外,還可以對我方其他武將直接下達指示。
以上資料來源與參考:
官方網站http://www.musouonline.com.tw/
<html>
<body>
<object width="425" height="373"><param name="movie" value="http://www.youtube.com/v/0_pxuWDeaMc&rel=1&border=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/0_pxuWDeaMc&rel=1&border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"></embed></object>
</body>
</html>