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,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: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: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;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {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>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing 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 macro='annotations'></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
    * [[PDFescape|http://www.pdfescape.com/]]

在线编辑 PDF 文件。只支持小于 1MB 并少于 25 页的 PDF 文件。AJAX 技术,载入挺快的。好像只能打开并编辑本地或网络上的 PDF 文件,不能直接从空白 PDF 文件开始创建。没有详细测试。

    * [[PDF Hammer|http://www.pdfhammer.com/]]

PDF 在线合并器。合并多个 PDF 。可以调整某个 PDF 的任意一页到任意位置,不同的文件会用不同的颜色标记,而且原来的页数和调整后的页数都会显示,界面相当友好。

    * [[On-line PDF form Filler|https://www.pdffiller.com/index.php]]

一个在线 PDF 填表工具。用来对付 PDF 调查表之类的。当成一个临时的 PDF 阅读器也行。就是翻页的时候要从服务器重新传送数据,比较费时。

    * [[htm2pdf|http://www.htm2pdf.co.uk/]]

把网页转换成 PDF,可以包含 FLSAH 动画,保持链接的可点击。

    * [[RSS 2 PDF|http://rss2pdf.com/]]

这个服务出来的时候,很多人都报道了,把 RSS 烧成 PDF 文件。不支持中文。

    * [[PDFTextOnline|http://pdftextonline.com/]]

抽取 PDF 文件里面的文字,支持中文。

    * [[Vector Magic|http://vectormagic.com/]]

关注互联网服务的朋友一定不陌生这个程序,它用来把图片变成矢量格式,而且提供转换后的 PDF 下载,也算是一个特殊的 PDF 工具吧。我用过,超级喜欢这个东东。

    * [[The Rasterbator|http://homokaasu.org/rasterbator/]]

这是一个轻松做海报的在线工具,上传一张图片(限制小于 1M),下载转换后的 PDF ,打印,哦也。它把像素转换成各种尺寸的圆点,这样放大后的图片必须远看才能看出来是什么。它还提供一个桌面客户端,下次介绍。

    * [[Zamzar|http://www.zamzar.com/]]

万能文件转换,支持 1G大小的文件。不过处理后的文件会发到邮箱。


    * [[PDF to Word Converter|http://www.freepdfconvert.com/convert_pdf_to_source.asp]]

从名字就可以看出来了, PDF 转 word 文档。

    * [[Online PDF Converter|http://www.freepdfconvert.com/]]

把 MS office 文件,图片,网页,矢量图片格式转换为 PDF
Doc2PDF Onlineword 文档转 PDF。

    * [[ExpressPDF|http://www.expresspdf.com/ConvertWordToPdf.aspx]]

同上。支持最大文档大小 20MB

[[原文链接|http://www.appinn.com/online-pdf-tools/]]
译介自:[[オンラインで手軽に使えるPDFツールまとめ|http://www.designwalker.com/2008/03/pdf-tool.html]]
[[开宗明义]]
[[在线资源]]
[[实用软件]]
[[常用链接]]
Google Docs制作PDF文件,方法很简单,首先进入Google Docs网站。https://docs.google.com

然后可以在Google Docs编辑文件或者先在Word编辑文件。

然后保存时会出现如下画面。

[img[http://www.iamvip.net/blog/wp-content/uploads/2008/03/pdfdoc.PNG]]

然后保存为Export as PDF就可以啦。

[[原文链接|http://www.iamvip.net/blog/google/426]]
/***
|''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);
}
//}}}
[[在线资源]]
[[实用软件]]
[[常用链接]]
<!--{{{-->
<div id='header' class='header'>
    <div id='title'>
        <div id='topMenu' refresh='content' tiddler='MainMenu'></div>
        <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
        <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
    </div>

</div>

<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='clearAll'></div>
</div>
<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>
<!--}}}-->
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY">><<saveChanges>><<tiddler TspotSidebar>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
一场低科技数字化试验
社会科学Web2.0
/*{{{*/
/*Bleach Theme for TiddlyWiki*/
/*Design and CSS by Saq Imtiaz*/
/*Version 1.0*/
/*}}}*/
/*{{{*/
/***
!General
***/
body {
 background: #fff;
}

#contentWrapper{
margin: 2.5em auto;
width:759px;
line-height: 1.6em;
border:1px solid #999;
font-size: 11px;
font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;
color: #555;height:1%;
}

.clearAll {clear:both;}
.tagClear {clear:none;}
/*}}}*/

/*{{{*/
/***
!Header
***/
#header {background:#fff; border-bottom:1px solid #999;padding: 2.5em 2em 1.6em 2em; height:1%;
 }

.siteTitle {
font-family: 'Trebuchet MS' sans-serif;
font-weight: bold;
font-size: 32px;
color: #EF680E;
background-color: #FFF; 
}

.siteSubtitle {
	font-size: 1.0em;
        display:block; 
color: #999999; margin-top:0.5em !important; margin-top:1em; margin-left:3em;
}

#topMenu { positon:relative; float:right; display:inline; margin-right:2em;}
#topMenu br {display:none; }
#topMenu { background: #fff; color:#000;padding: 1em 1em;}
#topMenu a, #topMenu .tiddlyLink, #topMenu .button {margin:0 0.5em; color:#666;}

/*}}}*/

/*{{{*/
/***
!displayArea
***/

#displayArea {margin-left:1.35em; margin-right:16.3em; margin-top:0; padding-top:1em; padding-bottom:10px;}

/*}}}*/

/*{{{*/
/***
!Sidebar
***/
#sidebar {position:relative;float:right; line-height: 1.4em; border-left:0px solid#000; display:inline; background:#fff; right:0; 
width: 16em;}

/***
!SidebarOptions
***/
#sidebarOptions {padding-left:0.5em; border-left:1px solid #999;padding-top:1em;}

#sidebarOptions a {
			color:#999;
			text-decoration: none;}
#sidebarOptions	a:hover, #sidebarOptions .button:active {
			color:#333;
			background-color: #fff;border:1px solid #fff;
		}
#sidebarOptions input {border:1px solid #999; width:10em;}



/***
!SidebarTabs
***/
#sidebarTabs {border-left:1px solid #999;}
#sidebarTabs .tabContents {background:#fff;}
#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#999;}
#sidebarTabs .tabContents .tiddlyLink:hover,#sidebarTabs .tabContents .button:hover{color:#333;background:#fff;border:none;}

#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#333;background:#fff}

.tabSelected{color:#fff; background:#999;}

.tabUnselected {
 background: #ccc;
}

 .tabSelected, .tabSelected:hover {
 color: #fff;
 background: #999;
 border: solid 1px #999;
padding-bottom:1px;
}

#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#4F4B45}

 .tabUnselected {
 color: #999;
 background: #eee;
 border: solid 1px #ccc;
padding-bottom:1px;
}

#sidebarTabs .tabUnselected { border-bottom: none;padding-bottom:3px;}
#sidebarTabs .tabSelected{padding-bottom:3px;}


#sidebarOptions .sliderPanel {
	background: #fff; border:none;
	font-size: .9em;
}
#sidebarOptions .sliderPanel a {font-weight:normal; }
#sidebarOptions .sliderPanel input {border:1px solid #999;width:auto;}
#sidebarOptions .sliderPanel .txtOptionInput {border:1px solid #999;width:9em;}

#sidebarTabs .tabContents {border-right:0; border-left:0; border-bottom:1px solid#999; padding-left:4px;}
 .listLink,#sidebarTabs .tabContents {line-height:1.5em;}
 .listTitle {color:#666;}

#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#4F4B45}
#sidebarTabs .txtMoreTab .tabContents {border-left:1px solid #999;}
#sidebarTabs .txtMainTab .tabContents li a{font-weight:bold;}
/*}}}*/

/*{{{*/
.title {color:#EF680E;}
.subtitle, .subtitle a { color: #999999; font-size: 1em;margin:0.2em; font-variant: small-caps;}
.shadow .title{color:#999;}

.selected .toolbar a {color:#999999;}
.selected .toolbar a:hover {color:#333; background:transparent;border:1px solid #fff;}

.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#333; background:transparent;border:1px solid #fff;}

* html .viewer pre {
	margin-left: 0em;
}

* html .editor textarea, * html .editor input {
	width: 98%;
}

		a,#sidebarOptions .sliderPanel a{
			color:#EF680E;
			text-decoration: none;
		}

		a:hover,#sidebarOptions .sliderPanel a:hover {
			color:#EF680E;
			background-color: #fff; 
border-bottom:1px dotted #EF680E;
		}

.viewer .button, .editorFooter .button{
	color: #555;
	border: 1px solid #EF680E;
}

.viewer .button:hover, 
.editorFooter .button:hover{
	color: #fff;
	background: #EF680E;
	border-color: #EF680E;
}

.viewer .button:active, .viewer .highlight,.editorFooter .button:active, .editorFooter .highlight{color:#fff; background:#DF691B;border-color:#DF691B;}


		#topMenu a, #topMenu .button {
			padding: 20px 10px; border:none; font-weight:bold;
		}

		#topMenu a:link{
			text-decoration: none;
		}
		
		#topMenu a:hover, #topMenu .button:hover {
			background-color: #fff;
			color:#EF680E;
border:none;
		}





.tagging, .tagged {
	border: 1px solid #eee;
	background-color: #F7F7F7;
}

.selected .tagging, .selected .tagged {
	background-color: #eee;
	border: 1px solid #BFBAB3;
}

 .tagging .listTitle, .tagged .listTitle {
	color: #bbb;
}

.selected .tagging .listTitle, .selected .tagged .listTitle {
	color: #666; 
}

.tagging .button, .tagged .button {
		color:#aaa;
}
.selected .tagging .button, .selected .tagged .button {
		color:#BFBAB3;
}

.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}

.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {
		border: none; background:transparent; text-decoration:underline; color:#333;
}





.popup {
	background: #999;
	border: 1px solid #999;
}

.popup li.disabled {
	color: #000;
}

.popup li a, .popup li a:visited {
	color: #eee;
	border: none;
}

.popup li a:hover {
	background: #6F6A68;
	color: #fff;
	border: none;
}


		.tiddler {
			padding-bottom: 40px;
			/*border-bottom: 1px solid #999; */
		}





#messageArea {
	border: 4px solid #999;
	background: #f5f5f5;
	color: #999;
        font-size:90%;
}

#messageArea a:hover { background:#f5f5f5; border:none;}

#messageArea .button{
	color: #666;
	border: 1px solid #CC6714;
}

#messageArea .button:hover {
	color: #fff;
	background: #999;
	border-color: #999;
}












.viewer blockquote {
	border-left: 5px solid #888;
}

.viewer table {
	border: 2px solid #888;
}

.viewer th, thead td {
	background: #888;
	border: 1px solid #888;
	color: #fff;
}
.viewer pre {
	border: 1px solid #999;
	background: #f5f5f5;
}

.viewer code {
	color: #111; background:#f5f5f5;
}

.viewer hr {
	border-top: dashed 1px #999;
}

.editor input {
	border: 1px solid #888;
}

.editor textarea {
	border: 1px solid #888;
}

.tabContents {background:#f7f7f7;}

h1,h2,h3,h4,h5 { color: #555; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }
h1 {font-size:18px;}
h2 {font-size:16px;}
h3 {font-size: 14px;}

#contentFooter {background:#999; color:#dfdfdf; clear: both; padding: 0.5em 1em; }

		#contentFooter a {
			color: #dfdfdf;
			border-bottom: 1px dotted #fff; font-weight:normal;
		}
		
		#contentFooter a:hover {
			color: #FFFFFF;
			background-color:transparent;
		}	
/*}}}*/
tiddlywiki本身的便捷使得它具有多种可能性,而使用者的创意大大丰富它的运用领域。

[[猴子的装修记事本|http://zmaze.org/tmp/wiki/zhuangxiu.html]]

[[tiddlywiki使用手册|http://web.nlhs.tyc.edu.tw/~lss/wiki/TiddlyWikiTutorialTW.html]]

[[tiddlywiki使用说明书|http://www.linklib.cn/tiddlywiki/tiddlywiki.html]]

[[硬币收藏知识网|http://www.linklib.cn/coin/coin.html]]

[[Dotnetnuke 教程|http://www.linklib.cn/dnn/dnn.html ]]
[[菜鸟上海学车记|菜鸟上海学车记 ]]
/***
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 = 'socialscience';

// 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?// &nbsp;&nbsp;@@ 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// &nbsp;&nbsp;@@ 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// &nbsp;&nbsp;@@ 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!// &nbsp;&nbsp;@@ 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 :)// &nbsp;&nbsp;@@ 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 |
| 04/01/2008 11:32:02 | 文化研究 | [[socialscience.html|file:///C:/Documents%20and%20Settings/gehao%20zhang/Desktop/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
| 04/01/2008 11:53:56 | 文化研究 | [[socialscience.html|file:///C:/Documents%20and%20Settings/gehao%20zhang/Desktop/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
| 04/01/2008 12:25:56 | 文化研究 | [[socialscience.html|file:///C:/Documents%20and%20Settings/gehao%20zhang/Desktop/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
| 04/01/2008 12:47:47 | 文化研究 | [[socialscience.html|file:///C:/Documents%20and%20Settings/gehao%20zhang/Desktop/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
| 04/01/2008 14:02:18 | 文化研究 | [[socialscience.html|file:///C:/Documents%20and%20Settings/gehao%20zhang/Desktop/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
| 04/01/2008 14:07:28 | 文化研究 | [[socialscience.html|file:///C:/Documents%20and%20Settings/gehao%20zhang/Desktop/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
| 07/01/2008 22:56:06 | 文化研究 | [[socialscience.html|file:///C:/wiki/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . | ok |
| 08/01/2008 14:18:18 | 文化研究 | [[socialscience.html|file:///c:/wiki/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . | ok |
| 08/01/2008 14:39:32 | 文化研究 | [[socialscience.html|file:///c:/wiki/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . | ok |
| 31/03/2008 19:12:45 | YourName | [[socialscience.html|file:///media/hda5/wiki/socialscience.html]] | [[store.cgi|http://socialscience.tiddlyspot.com/store.cgi]] | . | [[index.html | http://socialscience.tiddlyspot.com/index.html]] | . |
/***
|''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");

*/


//}}}


Type the text for [[contentFooter]]
如何做一名好研究生
http://www.cs.indiana.edu/how.2b/how.2b.html

如何在学术界生存
http://www.gps.caltech.edu/academics/gradh...na/part1.9.html

论文写作前基本认知
http://web.archive.org/web/20030203011257/...et/survdiss.htm

研究生论文写作相关资源 (英文)
http://www.learnerassociates.net/dissthes/
http://www.cs.purdue.edu/homes/dec/essay.d...ssertation.html
http://www.phys.unsw.edu.au/~jw/thesis.html
http://owl.english.purdue.edu/workshops/hy...text/ResearchW/
http://www.utoronto.ca/writing/advise.html
http://www.dartmouth.edu/~writing/material...aper/what.shtml

研究生论文写作相关资源 (中文)
http://www.ntpu.edu.tw/pa/news/93news/atta...24/940524-4.pdf
http://www.cs.ccu.edu.tw/~ccc/article/TecWrite.htm
http://www.cs.ccu.edu.tw/~ccc/article/Research.htm

学术写作常用语
http://www.phrasebank.man.ac.uk/

学术英文
http://elc.polyu.edu.hk/CILL/

学术写作指导网站 (有学术写作介绍, 学术写作过程要领, 学术写作常遇到的问题, 如何避免抄袭, 如何引用文献….等)
http://www.uefap.com/writing/writfram.htm

如何避免抄袭
http://www.smu.ca/administration/library/s...plagiarism.html
![[Zetero|http://www.zotero.org/]]

Zetero 是一个自由的、容易使用的 FireFox 扩展,可以帮助你收集,管理和引用你的研究资源。它就停靠在你的浏览器内,非常方便。

Zotero 是一个自由的,易于使用的研究工具,可以帮助你收集组织资源(不论文献题录还是文章全文),可以让你进行注释、管理并分享你的研究。他包括传统的文献管理软件(如EndNote)的最优秀的功能——可以将存储文献信息到作者,题目和出版社等项,并且可以输出符合格式的文献——还包括了现代诸如 del.icio.us 或者 iTunes 等现代软件的最优秀的功能,比如可以排序,加标签,以及高级方式进行搜索。在你阅读图书,文章或其他网上资源的时候,运用 Zotero 独有的功能,可以在许多主要研究站点,发现并自动保存全部的文献信息到各个正确的项。
乔治梅森大学(George Mason University) 的 Center for History and New Media 的产品,并受到 United States Institute of Museum and Library Services, the Andrew W. Mellon Foundation 和 the Alfred P. Sloan Foundation 等基金的慷慨资助。Zetero 是自由软件,并且开放源代码,因此可以放心免费使用。

目前 Zotero 只能用在 Firefox 2.0 以上的版本中,对其他浏览器尚不支持。目前对中文的支持并不友好。最近它还推出了[[支持MS Word的plugin|http://www.zotero.org/documentation/microsoft_word_integration]]。

![[Connotea|http://www.connotea.org/]]

该软件号称: Completely free, no download 。

该网站主页列出了五个使用该软件的原因:

    * 保存和组织链接到你的文献(Save and organize links to your references)
    * 方便地与同事分享你的文献(Easily share references with colleagues)
    * 可从任何一台计算机获取你的文献(Access references from any computer)javascript:;
done
    * 只需轻点鼠标(One click is all it takes)
    * 容易使用,今天就开始创建你的资料库吧(Easy to use. Start creating your library today)


基于[[总而言之,统而言之|http://jiangzhanyong.com/]]上的[[这篇文章|http://jiangzhanyong.com/2006/12/zotero-a-reference-manager-extension-128.html]]和[[这篇文章|http://jiangzhanyong.com/2006/12/connotea-free-online-reference-manager-139.html]]改写。
![[JabRef|http://sourceforge.net/projects/jabref/]]

最新版本: JabRef 2.1(2006.08.10)
采用Java开发的跨平台文献管理软件,支持多平台。 这款软件专门针对BibTeX,同时支持导入导出多种文献题录格式。一般使用emacs+TeX写论文的较多用到这个软件。

JabRef遵守GPL协议开放源代码,因此可以自由使用而没有版权限制。

![[Bibus|http://sourceforge.net/projects/bibus-biblio/]]

最新版本: 1.2.1(2006.08.29)
Bibus采用python开发,支持多平台。采用MySQL或SQLLite数据库来保存文献,支持直接在OpenOffice Writer和MS Office Word中插入文献题录。

Bibus遵守GPL开放源代码协议,同样没有版权限制。水木社区新软件介绍版有网友做了汉化。

转载自:[[总而言之,统而言之|http://jiangzhanyong.com/]]
[[原文链接|http://jiangzhanyong.com/2006/09/open-source-reference-manager-23.html]]
[[Open Yale Course|http://open.yale.edu/courses/index.html]] - 著名的耶鲁大学提供的在线课程,不过现在只有七门课,估计以后会陆续增加吧。

[[Annenberg Media|http://www.learner.org/resources/browse.html]] - 范围很广的视频课程,从美国的西部文化到变态心理学都有涵盖.

[[ArsDigita University|http://www.archive.org/details/arsdigita]] - ArsDigita 最初是MIT的一项计算机科学计划,在关闭了之后,所有的课程资源都放在了网上。

[[BBC Learning|http://www.bbc.co.uk/learning/]] - BBC的在线课程,各种语言课程相当不错。

[[BruinCast|http://www.bruincast.ucla.edu/]] - UCLA的在线课程。

[[Chinese University Lectures|http://www.archive.org/details/chinese_u_lectures]] - 中国14所知名大学的课程。

[[iTunes U|http://www.apple.com/education/itunesu/]] - 众多知名大学的课程播客。

[[Learning from YouTube|http://www.youtube.com/group/learningfromyoutube]] - Pitzer College 在 YouTube的课程资源。 (了解更多).

[[MIT OpenCourseWare|http://ocw.mit.edu/OcwWeb/web/courses/courses/]] - MIT的开放课程资源。

[[MIT World|http://mitworld.mit.edu/video_index.php]] - MIT的许多教授的讲课内容。

[[MITE AP Courses|http://www.archive.org/details/ap_courses]] - Montrey Institute 的免费AP课程。

[[OER Commons|http://www.oercommons.org/]] - 一个免费的课程库。

[[Open Learning Initiative|http://www.cmu.edu/oli/]] - Carnegie Mellon University(CMU) 的开放课程。

[[Project Gutenberg|http://www.gutenberg.org/]] - 免费电子书,包括了很多课程教材。

[[Sofia|http://sofia.fhda.edu/]] - 使用CC协议的某些课程资源。

[[SWTC CourseCasts|http://podcast.swtc.edu/lecture/index.php]] - Southwest Wisconsin Technical College的在线课程。

[[The Open University OpenLearn|http://openlearn.open.ac.uk/course/index.php]] - 英国开放大学课程。

[[UC Berkley Webcasts|http://webcast.berkeley.edu/courses.php]] - UC Berkley提供的webcasts。

[[UChannel|http://uc.princeton.edu/main/]] - Princeton资助的在线课程。

[[Utah State University OpenCourseWare|http://ocw.usu.edu/front-page/Courses_listing]] - Utah State University的开放课程.

[[W3Schools|http://w3schools.com/]] - 为网络开发者提供的免费的在线tutorials.

[[Western Kentucky University Distance Learning Podcasts & VODcasts|http://blog.wku.edu/podcasts/]] - WKU的远程教育资源。

用户提交的课程

[[Connexions|http://cnx.org/]] - 许多用户提交的课程,从人文到数学都有涵盖。

[[Google Video Educational Genre|http://video.google.com/videosearch?q=lecture+genre%3Aeducational&so=3&start=0]] - 用户提交到Google Video的课程资源。

[[Internet Archive Open Educational Resources|http://www.archive.org/details/education]] - 众多的课程资源,从.NET编程到中国文化都有涵盖。

[[Scholarpedia|http://www.scholarpedia.org/]] - 类似于Wikpedia,但是由社区选出的专家所撰写的文章。

[[Wikibooks|http://wikibooks.org/]] - 基于wiki方式撰写的数以千计的书籍资源。

基于[[杂乱的书桌|http://www.quhuashuai.com/]]的[[这篇文章|http://www.quhuashuai.com/2007/09/25_free_online_eduction_resource/]]改写。
一、知识类

世界知识 tinyurl.com/2b2kg9

这个网站由CIA(美国中央情报局)提供信息和庞大的统计数据,在这里你可以找到世界上所有国家的情报,包括国旗,地图,历史等等。

问题问答 www.answers.com

在这个网站你可以问任何问题,网站不仅会搜索出问题的答案,甚至还会列出相关的问题以供参考。其中你可以点击“超链接”来查看答案的原始来源。

图书索引 www.lii.org

有时候网上搜索到的消息并不能让你相信,但是在这里你可以打消这个顾虑。这个由美国的图书管理员运营的网站的正确性和可靠性,连“维基百科”也要参考其答案。它对于健康,生命或者客观物质等等知识的搜索有着更好的结果。

二、音乐类

音频资料 www.skreemr.com

想要在网上找到歌曲的片断,或者一次著名演讲的音频资料吗?skreemr网站能够做到这一切,它的搜索范围包括互联网上能够找到的所有音乐文件的索引。此外,它还可以告诉你在那里可以买到合法的音乐制品。

歌词总汇

网站地址:www.lyricsfreak.com/

和音乐产业中的规范化相比,这个网站给了众多的不入流艺术家更大的舞台。这个网站的歌词数据库,包含了几千支乐队以及独立艺术家创作的歌词。

三、服务类

软件下载    www.download.com

如果想要在网上下载软件,这个网站也许是你的最好选择。在这里,你可以找到几千个软件,其中大部分是免费的,还有一些只是象征性的收费。虽然软件的更新速度很快,但是这里却保留着许多软件的老版本。

搜索一把抓 www.turboscout.com

网上的搜索引擎服务不少,却不知道哪一个最好用。turboscout网站集成了70多个搜索引擎的搜索服务,无论是网页,图片,还是博客,音频/视频都可以一网打尽!

四、休闲类

旅游顾问 www.tripadvisor.com

毫无疑问,tripadvisor网站是旅游方面信息做得最好的网站。甚至有人说,在你来过网站之前千万不要提前预定房间。来访者在这里留下最真诚,客观的评价,给你外出旅游提供最好的忠告。

杂志浏览 www.fabsearch.com

没有时间去翻阅众多的杂志?也许这个网站可以帮到你,它把《Elle》,《闲谈者》,《名利场》,《vogue》等杂志上最好的话题都拿到了网上,并且按照城市来区分相关问题方便人们的浏览。

经典怀旧 www.summize.com

这个网站也许是怀旧人士的最爱,它并不提供最新的信息,但是在这里你可以找到年代久远的游戏,电影,书籍甚至还有电视节目。
[[耶鲁大学图书馆Endnote使用教程|http://www.library.yale.edu/endnote/]]

[[台湾大学图书馆Endnote教程|/http://140.112.113.4/vtour/endnote/index.htm]]
  从事社会科学,我们需要绘制各式各样的流程图、组织图、概念图,思维导图,通常我们会可能会想到微软的Visio这套软件,或是专业一些的Inspiration, Mindmanager,或是免费软件如freehand。随着Flash技术的进步,想要绘制这些图形,现在不必安装软件,只要上网用浏览器就可以在在线绘图了,相当的方便喔!下面介绍几个好用的在线绘图网站,不但免费,而且容易上手,还 能做在线的共同创作。

在线多功能绘图
•	[[Flowchart.com|Flowchart.com]]:目前还在测试阶段,需要填写email等候邀请函(或找有账号的人邀请你)才能使用。功能丰富,还有相当多的美工图案可供使用。 
•	[[Gliffy|http://www.gliffy.com/]]:另一个功能强大的绘图网站,流程图、组织图、心智图、室内设计图、网络拓朴图几乎都包了,不过免费账号只能有三个私有文件。 
•	[[Mind42|http://mind42.com/]]:完全免费,而且好用的在线mindmap网站,界面简单、直觉化,推荐使用。 
•	[[Mindomo|http://www.mindomo.com/]]:界面漂亮、好用,还有很多种的布景主题能选择,不过免费账号只能有三个私有文件,是较可惜之处。 
•	[[MindMeister|http://www.mindmeister.com/]]:接口简单,基本账号使用一个月,能汇出成Freemind, pdf, rtf,MindManager,影像文件 等
•	[[Bubbl.us|http://bubbl.us/]]:一个直觉化的心智图绘制网站,功能很单纯,适合初学者或画简单的心智图使用。 
•	[[Comapping|http://www.comapping.com/]]:30天试用,界面近似office2007,功能最多。

基于[[线上无料心知图|http://blog.soft.idv.tw/?p=28]]改写。
1.[[Ajax13.com –AjaxPresents|http://us.ajax13.com/en/]]是一个同时支持微软的.ppt文件和开源的.odp文件的在线演示文稿编辑工具,你不需要在电脑上安装任何软件,只需要1.5版本以上的Firefox和Javascritpts支持即可.目前不支持IE。

2.[[authorSTREAM.com|http://www.authorstream.com/]]-用户可以和众多网友分享自己的演示文稿.

3.[[BrinkPad.com|http://www.brinkpad.com/]] -有许多常规功能之外的特色功能,比如涂鸦.需要浏览器安装有Java插件.

4.[[Demofuse.com|http://www.demofuse.com/]] - 用户可以通过Demofuse制作互动性的网站导航,包括鼠标移动和其他各种和网页浏览相关的操作.注册后它会给你一段代码嵌入到你的网站,以便监测你的动作.

5.[[Dimdim|http://www.dimdim.com/]] - 使用Dimdim可以给任何人远程展示你的演示文稿.目前处于邀请内测状态.

6.[[Formatpixel.com|http://www.formatpixel.com/go/en/index.asp]] - 制作在线应用程序,比如电子杂志,指南册,作品专辑等,并可以通过增加文字,图片,视频剪辑等元素来自定义.

7.[[FlyInside.com|http://www.flyinside.com/]] - 在任何有网络连接的地方制作,预览,编辑,发布你的演示文稿到网络.

8.[[Empressr.com|http://www.empressr.com/]] - 和你的顾客分享互动多媒体演示文稿,并能在任何电脑上编辑它们.

9.[[Honeypitch.com|http://honeypitch.com/]] – 通过邀请其他用户到你的网站来整合商业方案和演示文稿.和他们在线商谈合同.

10.[[mPOWER|http://mpower.mmdesigncorp.com/pub/29869/mPOWER_Play.htm]] - 你可以上传本地文件或者创建一个新演示文稿,并和全世界的用户分享它们或者将其发布到网上.

11.[[Preezo.com|http://www.preezo.com/]] - 使用快速的Ajax用户界面在线制作专业的演示文稿.

12.[[PresentationEngine.com|http://www.presentationengine.com/]] - 组织你的文字和图片来制作专业级的多媒体演示文稿.

13.[[PreZentit.com|http://prezentit.com/]] - 把你的在线文稿展示给其他用户.

14.[[ProfCast.com|http://www.profcast.com/public/index.php]] - 录制Powerpoint演示文稿,并可以混入音频文件,作为在线Podcast发布.

15.[[PPTExchange.com|http://www.pptexchange.com/]] - Powerpoint的交易平台,能够让用户存储和分享演示文稿.

16.[[Scribd.com|http://www.scribd.com/]] - Flash架构网站,用户可以发布和搜索文档.

17.[[Scooch|http://scooch.gr0w.com/]] - 制作超酷的图片展示.

18.[[SlideAware.com|http://www.slideaware.com/]] - 让你的你的团队能够管理整个Powerpoint流程的在线演示文稿管理平台.

19.[[SlideBurner.com|http://www.slideburner.com/]] - 上传演示文稿和他人分享,同时也可以浏览大量演示文稿.

20.[[Slidelive.com|http://www.slidelive.com/]] - 迅速分享你的Powerpoint

21.[[SlideShare|http://www.slideshare.net/]] - 上传和搜索演示文稿,你还可以将它们嵌入到博客或者网站.

22.[[SlideRocket.com|http://www.sliderocket.com/]] - 制作,管理,分享演示文稿.

23.[[Spresent.com|http://www.spresent.com/]] - 发布,编辑,并在线分享基于Flash的演示文稿

24.[[Teamslide|http://www.teamslide.com/]] - 通过你的浏览器制作并和全世界的用户分享.

25.[[ThinkFree|http://www.thinkfree.com/]] - 一个基于网络的办公套件,让用户能在线创建,编辑,分享Powerpoint演示文稿.

26.[[Thumbstacks.com|http://www.thumbstacks.com/]] - 在浏览器里制作演示文稿,并能通过发送链接的方式简单地和其他用户分享.

27.[[TonicPoint Builder|http://www.tonicsystems.com/products/builder/]] - 在浏览器里阅读,编辑,创建演示文稿,无需任何插件.

28.[[Viewbook.com|http://www.viewbook.com/]] - 面向摄影师,设计师和艺术家等专业用户.注册用户可以非常直观地制作在线演示文稿,照片集和作品集.

29.[[Toufee|http://toufee.com/]] - 创建和发布在线Flash演示文稿和视频剪辑的简单方式.

30.[[Zentation.com|http://zentation.com/]] - 同步视频和Powerpoint文件来制作专业级的演示文稿.

31.[[Zoho Show|http://www.zohoshow.com/]] - Zoho办公套件的一部分,通过浏览器制作演示文稿,在网上分享它们,并能导出到本地.

如果你仅仅是编辑和存储MS Powerpoint文档,我个人强烈推荐使用Zoho Show,Thinkfree,Scribd,Slideshow和Slide Aware.

转载自[[Mashable|http://mashable.com/2007/08/12/online-presentations/]]
[[十大搜索网站]]
[[免费在线课程资源]]
[[在线Endnote使用教程]]
[[“怎样做好研究生”在线资源]]
[[量化研究在线资源]]
[[质性研究资源]]
 del.icio.us 这类的在线共享书签服务,或者称为社会性书签(social bookmarking),主要的概念在于集合众人的力量,汇集成以关键词词作为分类主题的网络资源数据库。相关的讨论与说明,已经多到不胜枚举,故不再赘述。本文将更进一步介绍,如何将这类的概念应用在学术信息的组织与分享上。

如果能在既有的网络书签服务基础上,加上汇出学术引用格式的功能,是否就能成为一种学术性的网络工具使用呢?在线书签服务Furl.net就是一个例子。Furl 能将收录的书签/网络资源数据汇出成 APA, MLA, Chicago 等引文格式,或是BibTeX, RIS/EndNote 的书目管理数据格式。这对于需要使用到常常需要利用到网络资源的学术研究者而言,是个非常方便的网络工具服务。但是毕竟Furl收录的网络资源字段有限,只有标题、URL、与收录日期三项。如果是一般的网络新闻报导可能还堪用,但是如果需要处理严格的学术网络资源:如电子期刊等,就不是很适合了。

在学术工作中,许多人都会使用到书目管理软件,作为管理引文书目信息的工具。例如单机版的书目管理软件 EndNote,或网络版的书目管理软件服务 Refwork 。在单机软件的使用情境中,如果学者们想要分享或交换书目信息,大概只能将整个书目数据文件直接传送给其它人。有时候一个书目数据文件可能有成千上百笔数据,管理或交换起来也是非常麻烦。而网络版的书目管理软件服务,就能够透过网络分享个人组织的书目信息,如Refwork的 RefShare 服务(此处有中文介绍)。Refwork 也是功能完整的书目管理工具,不过毕竟是属于付费服务,使用者数量有一定的限制;而且开放分享的书目似乎没有检索的机制,只能透过分享者主动告知想要分享的对象。这两项限制,我认为是Refshare服务上比较不利的地方。

学术引文信息管理目前有两个较为知名的免费服务,一个是于D-Lib Vol.11(4) 曾介绍的 Connotea,另一个是CiteULike。这两者延续了几个del.icio.us特色:以个人tag为主的分类组织、浏览其它人分享的数据、提供简易的收录信息工具(bookmarklet),并且也都提供了书目引文数据的汇出汇入功能,可以跟研究者的书目管理软件配合使用,十分方便。但是这两者还是有些许不同之处。

Connotea 在规划上,是以网络上可取得的网络资源管理为主。这个部分与del.icio.us、Furl 的目的相同;但是Connotea 能辨识出特定网络学术期刊的刊名、刊期与作者信息,这又较一般性的在线书签服务更进一步。然而以个人使用经验,认为 Connotea 在运用上仍有许多限制与不足。第一,对Connotea来说,URI、DOI、PMID、ASIN 这类指引性信息是必要字段,因此非网络可连结的学术资源并不能被Connotea接受。第二,Connotea 虽然可以带入作者、刊期、刊名这些字段,但是这些字段的信息无法被编辑;使用者只能编辑标题、标签(tag)、描述(Description)、评论 (Comment)这几项信息字段。这些限制使得Connotea只能成为一种辅助性的学术资源管理工具。

而CiteULike 似乎是个更完整的服务,这也是我较为推荐的系统。与Connotea相比,CiteULike 有以下特点:

    * CiteULike目前能支持较多的数据库检索的结果:根据CiteULike网站的声明,它目前能支持 AIP Scitation, Amazon, American Chem. Soc. Publications, American Geophysical Union, American Meteorological Society, Anthrosource, Association for Computing Machinery (ACM) portal, BMJ, BioMed Central, Blackwell Synergy, CiteSeer, HighWire, IEEE Xplore, IngentaConnect, IoP Electronic Journals, JSTOR, MathSciNet, MetaPress, NASA Astrophysics Data System, Nature, PLoS, PLoS Biology, Physical Review Online Archive, Project Muse, PubMed, PubMed Central, Science, ScienceDirect, SpringerLink, Usenix, Wiley InterScience, arXiv.org e-Print archive 这几种数据库的检索结果,真是琳琅满目(不可用罄竹难书),并且在汇入书目信息的时候,并不会遗漏完整的论文书目信息。 

    * 当汇入其它书目软件产生的书目数据时(CiteULike目前只支持BibTex格式书目数据的汇入),CiteULike也能处理并编辑大部分的书目格式类型的信息(CiteUlike支持15种不同的书目类型,如书、学术期刊、研讨会论文等)。 

    * CiteULike能让使用者订阅特定期刊的书目信息,使用者可以从订阅信息中选择是否要加入自己的书目数据库;即,让使用者半自动的处理相关期刊论文的书目信息管理。 

虽然CiteULike有许多优点,但并不是所有学科都会满意CiteULike里面已有的书目数据。因为其中收录的书目信息与参与的使用者族群,还是偏重于医学、生物、信息、物理等科学研究领域,而历史、哲学之类人文学科的书目信息与参与使用者较为贫乏,中文数据更是少见。对中文数据的处理上,以我自己在尝试处理中文汇入书目信息的时候,作者与注记这两个字段都会出现乱码的情况。而且还要花一些功夫才能让中文书目信息以正确的BibTex 格式呈现(有可能是因为我不熟悉BibTex格式的管理工具吧)。以后有机会再分享详细的做法。 

Connotea 与 CiteULike 对于学术信息检索是很方便的工具。就我自己的使用经验,至少有以下几种优点:

    * 初步探索特定主题文献时,可以透过其它人的书目信息,类似滚雪球的方式,找出许多相关文献。
    * 在滚雪球的过程中,可以发现引用收录次数较高的文献,则这篇文献相对可能较为重要。
    * 在滚雪球的过程中,可以学习其它收录者用何种标签(tags)描述这篇文献,可以帮助检索者进一步扩张或是限制自己的检索策略。
    * 提供RSS,可以订阅特定主题或特定人物的书目信息,能第一时间取得最新信息。
    * 提供社群功能,可以协同管理或编制特定书目。 


另一种较少人注意,但是也值得介绍的,是由哈佛大学法学院所开发的H2O playlist。简单的说,这是一个在线课程大纲(syllabus)或是阅读清单的管理与分享服务。使用者可以免费注册,建立或搜寻不同主题的清单。清单内的项目可以是网络资源,或是书目信息,并没有特定的限制。另一个不同之处,在于清单内的排序是由编制者排定的。我认为,这可以视为一种主题式的信息资源指引服务。这种网络应用服务,与之前提到的Connotea或CiteULike最大的不同,在于它管理的信息单位包含了清单的层次,而不只是单项的信息或资源。这种概念类似Listible,但H2O playlist还可以在清单内再区分成不同的段落,可以作到更具体的教学资源组织工作。这对于教学与主题指引服务而言,可能是一种更适合的应用服务,值得图书馆在思考信息服务,或是数字学习信息服务的时候,作为一种规划的参考方向。

CiteULike 教学

接下来简单的介绍CiteULike此一网络服务的使用。首先先了解一下CiteULike整个接口:

[CiteULike 首页]

   1. 申请新账号:免费
   2. 登入
   3. 常见问题
   4. 其它语文版本,最左边的是简体中文版
   5. 邮件论坛电子报:关于CiteULike开发与最新动态的通讯
   6. 依照期刊标题分类的网络电子资源
   7. 浏览现有主题社群
   8. 汇出BibTex格式的书目数据
   9. 关键词筛选
  10. 使用者分类所使用的关键词:字体大小与字汇被使用的次数成正相关;点入关键词可以浏览此关键词相关书目信息
  11. 书目数据的标题:点入此标题可以检视书目详细数据
  12. 此书目的作者:点入作者名称可以检视此属于此作者的所有书目信息
  13. 此书目被分类为:其它人分类此一书目所使用的关键词汇
  14. 收录此书目纪录的使用者账号名称:点入可以检视此使用者收录的所有书目信息
  15. RSS:本页书目信息的RSS格式;可透过RSS浏览器及相关应用软件订阅,以取得最新信息


虽然数据的找寻是开放的,不需要注册;但是注册后可以管理个人的书目资料,过程也很简单,因此还是简单注册一下比较好:

[注册页面]

注册动作需要账号、密码(输入两次,以确定没有输入错误)、电子邮件账号。输入完成后点右下的「sign up」,就可以马上开始使用了,花不到二十秒(想账号与密码不要想太久的话)。

建立个人的书目数据主要有四种方法:(1)在论文数据库检索时,将结果加入;(2)将书目数据以BibTex格式汇入;(3)在CiteULike内浏览相关书目,将所需书目抄录至自己的书目库中:(4)手动建立新的书目数据。以我个人经验,在建立单笔大多是以(1)(3)两种方式,(2)用在处理大笔的数据转换上,(4)我很懒得打数据,所以没有用过。因此以下就方法(1),以citeseer数据库为例,介绍如何加入数据库检索的数据:

CiteULike提供一种简便的建立数据方法,即透过Bookmarklet建立新数据。"Bookmarklet ",又称"Favelet"或"favlet",这一词汇来自于"bookmark-let"与"favorite-let"。bookmark指「我的书签」,favorite指「我的最爱」,而-let 是小程序的意思。意义是透过写在书签上的javascript,达到特定网络程序的功能。Bookmarklet的使用简化了许多网络数据输入的繁复过程,非常适合应用在使用者需要大量建立数据的网络服务上,因此几乎所有网络书签服务,都必须要提供bookmarklet的输入方式,以方便使用者建立数据。安装 CiteULike的bookmarklet的方法是,点选此页 http://www.citeulike.org/post 内的 "Post to CiteULike" 超级链接,将它加入浏览器的「我的最爱」或是「我的书签」即可。

建立"Post to CiteULike"此一书签之后,便可以开始到数据库中检索相关文献,一如平常在进行文献检索工作相同。检索到所需文献的页面时,点选 "Post to CiteULike" 此一书签,浏览器便会自动导向CiteULike,并将相关书目数据自动带入书目库中,完全不用再一一建立书目数据。
[[忘记Excel: 14个在线表格处理服务 ]]
[[忘记 PowerPoint: 13个在线演示文稿制作工具]]
[[12款在线pdf工具]]
[[Google Docs制作PDF文件]]
[[数字化笔记]]
[[在线概念图、思维导图软件]]
[[两个在线的文献管理软件]]
[[两款开源文献管理软件]]
[[在线演示文稿]]
[[研究资料管理利器-Tiddlywiki]]
[转载请保留]
版本:v1.0 编译:xbeta/善用佳软 出自:http://blog.sina.com.cn/u/46dac66f01000b55
 
序言:
  我见过的多数软件爱好者,无论是资深用户,还是初级用户,都有一个梦想:找到最好的笔记软件。xbeta从很早开始也关注这一问题,也曾几度寻找,前后试过了解过的软件接近五十种,但从未在善用佳软大力推荐过任何一种,或系统分享这方面的知识。下面就基于Donation Coder的测评,进行编译,并加入自己的补充。也欢迎其他网友指正,完善本文。
  或许它并不能帮你找到“最好的笔记软件”,但肯定能对你的寻找之路,提供有价值的参考。
  本文原计划由PConline发表,以便于更多网友分享。但后来,变化很多,计划没了。又因为早就预告过,所以,现发表之!
  本系列共包括:海选篇、三强篇、梦想篇、结论、篇外。将陆续发表,并根据网友补充进行批量更新,以v1.1, v1.2以示区分。

作者:SuperboyAC 编译:xbeta  http://blog.sina.com.cn/u/46dac66f01000b55

  最好的笔记软件是什么?你还在苦苦寻找答案吗?或许你已经对这类国产软件有所了解,那你知道国外的优秀软件有哪些吗?以下就是国外一次笔记软件测评中的海选名单。
  这一活动始于SuperboyAC于2006年2月在DonationCoder发起的讨论:General brainstorming for Note-taking software。截止到译者发文时,已回复近600贴,成为DonationCoder论坛上最长的贴子。阅读量近5万次,提到过近40种软件。SuperboyAC最后做了总结测评:Notetaking Software Roundup #1。
  下面就是讨论中提到的,且较为符合笔记软件概念的软件简介。

q AM-Notebook
  http://www.aignes.com/notebook.htm
  一个很不错的笔记软件。设计比较独特,有几个很重要很特别的功能。是本文软件中,唯一内置了电子表格功能,可进行简单计算的软件。支持单独的笔记加密。本来能列入三甲,但无奈其最相似的竞争者Mybase,在此功能外,更具备了本软未能实现的大量功能。AM也是评测中,唯一将每个笔记保存为单独文件、其树状结构就是硬盘上真实目录的软件。

q AskSam
  http://www.asksam.com
  与其说是笔记软件,它更象华丽的文档/文件管理器。它体积庞大,价格不菲,对于单纯的记笔记而言,功能太多。

q AZZ Cardfile
  http://www.azzcardfile.com
  AZZ是一款很简洁的笔记软件。它根本没有树状结构,只是将所有内容列为长长的一串。与旧版Windows中卡片程序很象。它可以即时搜索(live -search,你键入的同时就得到搜索结果),此功能令人喜爱——尽管它只读取笔记标题,而非全文。如果你需求不多,此软件就很合适。

q Black Hole Organizer
  http://www.lincolnbeach.com/blackhole.asp
  相当好的软件。只有它和 Zoot 是按email客户端方式来进行管理的笔记软件,就象Outlook一样,它用了3个面板,而非2个面板。这一设计思路很有趣,我挺喜欢的。当然,我也承认,就长远来看,2面板设计可能更加高效。 Black Hole具备相对较强的笔记编辑功能,可以很灵活地支持表格。表格功能在笔记软件中较为少见,但它做得不错。

q ECCO Pro
  http://www.compusol.org/ecco
  Ecco Pro拥有很多后续追随者。它风格怪异,现在已停止了开发。它的界面看起来象是 Windows 3.1风格。看上去很强大,功能很多。我并不认为它是一款好的笔记软件,但我承认,它的大纲功能强大得一塌糊涂。庆幸的是,很多更为现代的后继者将大纲功能纳入其中。目前多数软件局限于标准的rtf 清单/序号功能。

q Evernote
  http://www.evernote.com/en/
  Evernote位列三甲。它非常独特,提供不少奇妙的功能。它的搜索功能是最好的:高亮速度很快,即时搜索,所有命中词语都会黄色高亮。你只有试用它,才能体会到它的卓越之处。它的抓取web内容功能在这些软件中也是最好的。它并无树状结构,而是代之以分类系统,并具备自动分类功能。它将所有笔记保存为一长条,就象保存于无限长的卷纸上。更多信息请参见下面的三甲对比表。

q InfoHandler
  http://www.mdesoft.com/eng.htm
  InfoHandler确实比较怪异。它的样子复杂、古怪、令人迷惑。看起来非常强大,但对笔记软件来说有点过多。我觉得,它可以用来做一些更为复杂的关系数据库或其他事情。

q Info Select
  http://www.miclog.com/
  Info Select在功能丰富无所不有的软件门类中,可算最好。它可以记笔记,也可以做任何你能想出一个软件应该做的事情。我没找到试用版,它价格昂贵,你需要交每年的使用费。说句实在话,就记笔记而言,它太屈才了。

q Jot+ Notes
  http://www.kingstairs.com/jot/
  Jot+ 是中规中矩、样式简洁、树状管理的笔记软件。它很实在,并无真正特殊之处。有人提到它的导入/导出功能不错,但我认为它还达不到Mybase的水平。

q KeyNote
  http://www.tranglos.com/free/keynote.html
  KeyNote 是乔治华盛顿大学开发的笔记工具,免费软件。它是此类软件的鼻祖,也是此类软件(现代格式)的开创者。它于2003年12月最后发布V1.6.5,现已停止开发,不再提供后续支持,但仍然能列入顶级行列——这说明了很多问题。它本可入选三强,但因为后续软件不仅拥有它的全部功能,并且加上了不少改进,所以,最终它未能入选。再次申明:它仍然强大且令人尊敬,对基本用户而言仍然很适用,并且比一般平均水平的笔记软件(包括共享软件)都要好。你可以同时处理多个数据库。界面简洁清爽;有一些有趣或实用的插件;导入/导出功能很好用。
  [图片]

q Literary Machine
  http://www.sommestad.com/lm__index2.htm
  Literary Machine实际不应列入这份清单。你第一次运行它时,你甚至都不知道自己在做什么。我试着用了好几次,仍然搞不清楚如何用它。显而易见的是,它应该具有笔记功能,但我却找不到它。太怪异了,无法描述。

q MyInfo
  http://www.milenix.com/
  很好的一款笔记工具。不少独特功能,包括新颖的为笔记加标签(tags,或称为关键词 keywords)功能。标签功能很实用,它在树状结构之外,又为笔记加了一层分类依据。此外的功能比较普通,没什么突出的。

q Mybase
  http://www.wjjsoft.com
  Mybase是三甲之一。初次见面,你会误认为它不过是普通的一款树状笔记软件,与前面提过的几款没太大差异。但仔细用一下,就会发现,它的功能实在太丰富了,而卓然独立。凡是其他软件具备的工具,它大多都有;其他软件允许的工作方式,它多数都支持——这正是它进入前三的理由。最新版(v5)包括了很出色的功能,如分类标签、多数据库功能、我最喜欢的即时搜索。我认为它是以前用KeyNote用户的最佳升级替代品。更多信息见三强对比表。

q Neomem
  http://www.neomem.org/
  相当好的一款免费笔记工具。有独特功能,如出色的模板功能,可以为某类笔记创建字段。

q Surfulater
  http://www.surfulater.com/
  Surfulater也是三强之一。 Surfulater之初衷是灵活的web内容抓取工具,同时有高级的参考出处功能。但是,它也具备了强大的笔记功能,尽管它的笔记界面与通常的工作界面有所不同。它的后台引擎在这些软件中,或许是最强大的,并代表了此类工具的发展趋势。比如,它的树状结构可用3种模式显示,并且有更多模式正在开发中。确实强大。还有一些出色的自动功能,让它的引用出处功能极其杰出。更多信息见三强对比表。

q TaoNotes
  http://actitrend.fre3.com/
  TaoNotes 也是一款有点怪异的程序。界面与众不同,用户甚至不知道软件可以用来干什么。花点时间学习后,用户会发现它的功能其实挺多,如管理待办事宜、进行计划、联系人列表,以及基本的笔记功能(尽管方式独特)。说来说去,还是有点怪。

q TreeDBNotes
  http://www.mytreedb.com/index.php
  TreeDB 又是一款功能全面的工具。它功能多多,更象PIM而非笔记软件。仅其工具栏就很丰富。按钮特多。相当强大。但功能多了也不见得是好事,因此,我不能说它是理想的笔记软件。

q Treeline
  http://www.bellz.org/treeline/
  很特别的软件。其实不是真正的笔记工具,尽管第一印象会这样认为。它的树状结构太死板,按笔记软件的要求来看,未免不够灵活。它的工作方式与你所期望的笔记工具也不同。它的字段/模板功能很强。我想,它用来做这种字段关系的数据库更方便,比如图书目录、电影目录等。估计它做这些事会很方便。(xbeta: 官方截屏好象就是这样)

q Ultra Recall
  http://www.kinook.com/UltraRecall
  又是一个功能特全的。或许它并不象前几个那样特全面,但按简单的笔记功能而言,仍有些多。还有,与其他软件比,谈不上有什么独特性。

q WinOrganizer
  http://www.tgslabs.com/en/winorganizer/
  也是功能特全。也是没什么特别的笔记功能。

q Zoot
  http://www.zootsoftware.com/
  [xbeta提示:点击看大图]
  Zoot是一款元老级的软件,并且与众不同。回到它诞生的 Windows 98 时代,它的设计思路在当时应该算是超前的。可惜的是,它未能走出16位时代的界面风格,所以在今天看来,界面有些土气过时。它没有任何rtf功能,严格限于纯文本。但是,它有一些令人着迷的其他功能。在所有软件中,Zoot的自动过滤/自动规则功能是最强大的。尽管现在Evernote也能这样做,但比起 Zoot来仍相形见绌。此外,Zoot 可以从任何程序抓取文本,并且它实现这一点是在多年以前,比任何Firefox扩展及其他什么现代工具都早得多。它还最早实现了即时搜索功能,并且做得很好。我仍在期望着新版本的发布!相信浴火再生的Zoot会拥有不少独一无二并且强大实用的功能。译者补充:Zoot最新版为V4.0,发布于2004年中,售价99美元。在国外的其他论坛或wiki中,很多人,尤其是计算机应用时间较长的人,都提到过Zoot,看来也是当年的一个传奇。再加上它的纯 txt风格,很令我着迷。不过,它非免费,而我又不可能注册,所以看看而已,并未曾安装试用过。它的界面各方面都非常象邮件客户端。确实,用邮件客户端或 Gmail进行知识管理也是一种思路。
[[Cultural Studies Cheat Sheet|http://culturalstudies.tiddlyspot.com]]
[[作者简历|http://gehaozhang.tiddlyspot.com]]
这是一个基于tiddlywiki技术的单网页网站,陈列了我力图低科技数字化从事社会科学研究的经验与教训,希望听到大家的意见与建议。

culturalstudies@gmail.com
# 本文来自[[网生代|http://www.weborn.org]],作者为LiGht。

原文:Forget PowerPoint: 13 Online Presentation Apps
译文:忘记 PowerPoint: 13个在线演示文稿制作工具
译者:LiGht

之前已经介绍了13款在线文字处理工具和14款在线表格制作工具,现在该轮到演示文稿了。这儿有13款在线演示文稿制作工具,今后你就能完全脱离MicroSoft的Office系列。

      

[[AjaxPresents|http://us.ajax13.com/en/ajaxpresents/index.jsp]] - Ajax13 办公套件的一部分。支持 Firefox 1.5 以及更高版本。能够从PowerPoing和OpenOffice中导入导出文件。

[img[http://mashable.com/wp-content/uploads/2008/02/ajaxpresents.png]]
      

[[BrinkPad.com|http://www.brinkpad.com]] - 基于Java的演示文稿制作工具。

[img[http://mashable.com/wp-content/uploads/2008/02/brinkpad.png]]      

[[Empressr.com|http://www.empressr.com/]] - 基于Flash和Ajax技术,可以方便的创建富含多媒体的演示文稿。可向公众公开演示文稿,并接受投票。

[img[http://mashable.com/wp-content/uploads/2008/02/empressr.png]]

Google Documents - 这个就不用介绍了吧……

[img[http://mashable.com/wp-content/uploads/2008/02/presentationeditor.png]]      

[[Preezo.com|http://preezo.com/]]- 基于Ajax技术的界面,方便快捷编辑。支持协作以及共享
      
[img[http://mashable.com/wp-content/uploads/2008/02/preezo.png]]

[[PresentationEngine.com|http://www.presentationengine.com]] - 主要面向大型商业用户,需要每月支付一定的费用。提供了一些模板,方便快速创建演示文稿。

[img[http://mashable.com/wp-content/uploads/2008/02/presentationengine.png]]


[[PreZentit.com| http://prezentit.com/]]- 支持将演示文稿嵌入网页中。提供250MB的储存空间,不过对单个大小没有限制。支持协作。

[img[http://mashable.com/wp-content/uploads/2008/02/prezentit.png]]     

[[SlideRocket.com|http://www.sliderocket.com/]] - 还处于Beta阶段,尝试实现桌面应用的所有功能并加入在线应用的一些特色。

[img[http://mashable.com/wp-content/uploads/2008/02/sliderocket.png]]      


[[Spresent.com|http://www.spresent.com/v2/]] - 基于Flash,可以在线使用或者使用其桌面客户端。完成的演示文稿可嵌入其他网页。 

[img[http://mashable.com/wp-content/uploads/2008/02/spresent.gif]]      

[[ThinkFree.com|http://www.thinkfree.com/common/main.tfo]] - ThinkFree 办公套件的一部分,提供1GB的储存空间。

[img[http://mashable.com/wp-content/uploads/2008/02/thinkfreeshow.png]]  

[[Thumbstacks.com|http://www.thumbstacks.com/]]

[img[http://mashable.com/wp-content/uploads/2008/02/thumbstacks2.png]]         

[[Vcasmo.com|http://www.vcasmo.com/]] - 支持将演示文稿嵌入到其他网页,据说会在2008的第二个季度开发发布相应的FaceBook应用。 

[img[http://mashable.com/wp-content/uploads/2008/02/vcasmo.png]] 

[[Zoho Show|http://show.zoho.com/]] - Zoho 办公套件的一部分,支持协作、共享、嵌入。

[img[http://mashable.com/wp-content/uploads/2008/02/zohoshow.jpg]]
[[BadBlue.com|BadBlue.com]] - 提供免费帐户和收费帐户。

[img[http://mashable.com/wp-content/uploads/2008/01/badblue.gif]]

[[Blist.com|Blist.com]] - 外观很漂亮,嗯嗯!

[img[http://mashable.com/wp-content/uploads/2008/01/blist-s.png]]      

[[EditGrid.com|EditGrid.com]] - 可以上传或新建表格文件,并与其他人共享,支持协作。

[img[http://mashable.com/wp-content/uploads/2008/01/editgrid.gif]]      

[[exprssoCorp.com|expressocorp.com]] - 支持协作,并提供一个一键上传按钮。

[img[http://mashable.com/wp-content/uploads/2008/01/expressocorp.gif]]
      
Google Docs - 相信也不需要多介绍了吧?实际上,LiGht在用的就是Google Docs。

[img[http://mashable.com/wp-content/uploads/2008/01/googlespreadsheet.gif]]

[[InputWebWizard.com|InputWebWizard.com]] - 收费服务,$499 一个月

[img[http://mashable.com/wp-content/uploads/2008/01/inputwebwizard.gif]]

[[JotSpot|http://tracker.jot.com/]] - 支持从Excel导入/导出,以及复制/粘贴,支持文件共享。

[img[http://mashable.com/wp-content/uploads/2008/01/jotspot.gif]]      

[[Numbler.com|http://numbler.com/]] - 支持协作。

[img[http://mashable.com/wp-content/uploads/2008/01/numbler.gif]]      

[[NumSum.com|NumSum.com]] - 更像是是社会性网络的在线表格制作服务,如果你选择将表格公开,别人甚至可以对其发表评论。

[img[http://mashable.com/wp-content/uploads/2008/01/numsum.gif]]      

[[Peepel.com|peepel.com]] - 支持从 Excel 中导入,可以在一个浏览器窗口中编辑多个表格。提供一个feed,让你能够关注到协作文档的每一个变化。

[img[http://mashable.com/wp-content/uploads/2008/01/peepel.gif]]      

[[Sheetster.com|http://www.sheetster.com]] - 支持共享,并且可以在blog中嵌入表格。

[img[http://mashable.com/wp-content/uploads/2008/01/sheetster.gif]]

[[Simple Spreadsheet|http://www.simple-groupware.de/cms/Spreadsheet/Home]] - 一个开源计划。

[img[http://mashable.com/wp-content/uploads/2008/01/simplespreadsheet.jpg]]     

[[ThinkFreeDocs.com|ThinkFreeDocs.com]] - 只能上传、共享,不支持在线编辑。

[img[http://mashable.com/wp-content/uploads/2008/01/thinkfreedocs.gif]]

[[Zoho Sheet|http://sheet.zoho.com/]] - Zoho 办公套件的一部分,支持从 Excel导入/导出。

[img[http://mashable.com/wp-content/uploads/2008/01/zohosheet.gif]]
    * [[NoteSake|http://notesake.com/]] 对中文的支持没有问题,可以给笔记添加课程分类和tag,便于搜索;通过group的形式,使得和同学一起分享笔记成为可能;采用独特的Textile标记,更好地管理笔记的格式;支持latex标记,方便输入数学公式;支持将笔记导出成为pdf和 doc文件。

    * [[Notely|http://www.notely.net/]] 专门为学生设计的站点,帮助你更有组织计划的进行学习。提供的功能也是非常之多:笔记功能,日历,to-do list,task list,联系人以及上传功能。同样支持课程分类,支持pdf,doc以及txt格式的笔记导出下载,并且可以通过email直接转发。个人感觉,将课程,日历,笔记等功能集合在一起,非常适合学生的需要,就像一般的pim软件一样,非常容易的通过calendar添加对应日记的任务以及笔记。好友功能也非常不错,可以添加facebook上的好友。大家可以通过网站上的Demo功能先行体验。

    * [[MyNoteIt|http://www.mynoteit.com/]] 功能也非常之多的一个站点:除了笔记功能之外,Calendar,Group,to-do list,书签,好友等功能都具有。对于课程方面有着不错的功能,可以添加课程,针对每门课程添加单独课程,笔记,分数以及作业,并可以保存授课老师的联系方式;借助于mynoteIT Mobile可以通过手机浏览你的笔记;支持上传word以及openoffice文件,还包括图片,扫描的笔记以及音频文件。同样提供体验功能。

    * [[EverNote EverNote|http://www.evernote.com/en/]]相信很多朋友也都知道,功能也是非常不错。EverNote可以通过文本,截图,手写等各种方式创建笔记;可以与手机或者PDA进行同步;通过IM软件或者Email和同学更快的分享你们的笔记;通过Google Desktop Search更加迅速的查找笔记,不过估计大家的笔记还没有多到这个程度。最新的EverNote2.2又提供了不少新功能,大家可以自己了解一下。

    * [[OurNotePad|http://ournotepad.com/]] 比较突出的功能是分享功能,支持一栏和四栏的笔记布局。可以让同一个group的人更好的了解工作的进程,使得老师能够更好的和学生进行合作。从界面到操作都属于非常朴实的那种,如果大家喜欢Web2.0的风格,这个站点可能不会受到大家的欢迎。还有一些其他的功能,比如提醒,calendar和在线存储等等,我没有更多的去了解,如果大家有兴趣,可以去看看。

    * [[WikiPad|http://www.jhorman.org/wikidPad/]] 这是一款开源的,类似wiki的笔记工具。无论是windows,linux还是MacOS都可以使用这个软件。同时还有很多不错的功能:支持to-do list,支持自动保存,支持导出成为html文件,采用纯文本的方式来保存所有的数据。你可以把它当做笔记本来使用,也可以写自己的wiki,甚至建立自己的 PIM或者PKM都可以。

    * [[NoteCentric|http://www.notecentric.com/]] 现在已经成为facebook的一个application,可以非常有效稳定的管理你的笔记。同样支持课程分类,提供相关笔记的功能,笔记的编辑非常容易上手,支持笔记的分享功能,通过RSS订阅提供了很好的提醒功能。

    * [[Writeboard|http://writeboard.com/]] 版本控制功能相当不错,可以了解到每次的更新,并且比较不同版本之间的区别,有些类似svn的感觉,并且可以通过订阅rss了解到所有笔记内容的变化,所以对于group work相当适合。在你创建了一个write board之后,可以邀请你的同学或者朋友加入进来,对于每个人的修改都会有一个副本被保存下来。

    * [[ZohoWriter|http://writer.zoho.com/jsp/home.jsp?serviceurl=%2Findex.do]] 这个站点我觉得很多人可能也推荐过。非常不错的在线笔记站点,支持多人访问,WYSIWYG的编辑模式,支持导入doc,odt,sxw,html, rtf,jpg,gif,png等格式,支持导出为doc,pdf,sxw,odt,rft,txt以及html格式,非常方便的分享功能,特殊符号的输入功能。如果想阅览之前版本的笔记,也可以通过History访问。对于英文的笔记,还提供了spell checking的功能。

    * [[YourDraft|http://www.yourdraft.com/]]通过 WYSIWYG的编辑方式,非常轻松的创建自己的笔记。同时能够设置他人的访问权限,你可以允许别人阅读甚至给你的笔记添加评论或者回复。其实是通过创建一个页面,内容可以由你个人自由添加,甚至可以很容易的将你创建的页面在你的博客或者网站当中使用,站点的说明里提供了这个功能的解释。

    * [[Backpack|http://www.backpackit.com/]]我很喜欢的一个站点,能够将笔记,to-do list,一些想法,calendar很好的进行管理。不仅仅是作为一个笔记站点,使用方式也相当之多,可以用来设置提醒,制定任务列表,管理照片。通过 tagging page的方式使得管理页面也非常容易;通过提醒功能,你可以不用担心自己错过任何的事情。其实用处之多是我难以想像的,站点上游专门的example uses,大家可以去看看。

    * [[YahooNotePad|http://notepad.yahoo.com/]] 这个不如和Google Notebook一起来介绍,其实感觉没什么可说的了,大家都知道google的,yahoo的感觉上也差不多,可以和Outlook以及Palm Desktop进行同步,如果大家对google notebook审美疲劳了,可以试试yahoo的。

    * [[MyYellowPad|http://www.myyellowpad.com/]] 可以通过myyellowpad管理你的购物列表,任务列表,电话号码,联系人名单,笔记,生日等等,不过整体感觉一般,说不定你会很喜欢的。

    * [[Jjot|http://jjot.com/]] 第一感觉有些象google notebook,可以非常方便的将自己的想法,在网页上看到的内容保存下来,不过我觉得仅仅是这些功能,大家可能更加愿意使用google note,不知道大家怎么觉得。也有些类似KDE下面的Knote,这个是我经常在laptop上面使用的。

    * [[SyncNotes|http://www.syncnotes.com/WebView/Default.aspx]] 正如名字一样,这个站点的同步功能也许是最大的特色。你需要首先下载一个SyncNotes的客户端软件,这样你就可以通过你的笔记本电脑或者PDA管理,添加你的笔记了。同时可以通过浏览器或者支持上网功能的手机将你的笔记内容和SyncNotes服务器进行同步。

    *[[tiddlywiki|www.tiddlywiki.com]]当然不能忘了编写这个网页的tiddlywiki,这个网页不就是用这个单文件网页软件记笔记最活生生的例子吗。

基于[[杂乱的书桌|http://www.quhuashuai.com/]]的[[这篇文章|http://www.quhuashuai.com/2007/12/15-tools-for-note-taking/]改写。
TiddlyWiki概况

    TiddlyWiki由英国的Jeremy Ruston所创的一个支持Wiki语法,内建全文搜寻,是「Javascript+CSS样式+HTML语法」所组成的一个交互式HTML档,可以用来编辑、整理数据,作为个人笔记本、说明文件和知识库使用。另外,TiddlyWiki将所有信息分割成许多单则记事,透由互相链接和引用可以轻易达成超文本阅读效果,解决使用者在在线阅读时需开启不同窗口阅读文章的不便性。

开放原始码软件。且Jeremy Ruston主张任何浏览器皆可执行TiddlyWiki档案,也就是说TiddlyWiki不需要网络主机、php、或ASP和数据库等支持(官方网站提出此系统在Firefox浏览器呈现最佳效果)。除此之外,可将成品放到网络上当作个人网页采用单机离线使用。

    也就是说TiddlyWiki几乎完全以JavaScript为基础运作,整个wiki站台其实只是需要一个html档执行,虽然页面是动态,但只需在网络客户执行即可,服务器端不需要具备解译PHP或CGI或Java的功能。因此,只要任何一般可以放静态页面的服务器,都可以用来存放TiddlyWiki的档案,让人们公开存取。但反观TiddlyWiki官方网站的副标题「a reusable non-linear personal web notebook」,可明白其定位并非如blog、wiki平台的「socialware」,主要设计理念是一个可以让使用者随身携带的wiki式笔记;也就是运用wiki的「快记式」语法和「高度密切链接的内在信息网」,最大用途是让使用者能便于整理自己的思维、资料,做brainstorming,当然也可以当作GTD(Getting Things Done:is a time management method, a commitment management method, and the title of a book by David Allen.)的好工具。

    因此使用者无法在在线进行修改或更新动作,需将数据下载至计算机编辑再上传至网页空间,似乎以TiddlyWiki无法真正成为个人网站例如Blog的功能。但由于TiddlyWiki的低成本吸引了使用者的目光,许多玩家藉由开放原始码将其功能更加延伸补足TiddlyWiki的功能。目前,是一个十分被看好的新兴软件,不容忽视。

!何谓Tiddly

    是MicroContent(微内容),也就是指一小段信息,包含任何用户所生产的数据数据,例如一则网志、评论、图片或收藏书签等(http://gechengen007.blog.hexun.com/2645524_d.html)。使用者可利用Tiddler的等功能纪录下简短的事项或短文章,再由相关的Tidder组织成所要的完整内容。

    Tiddly位于网站的中央,通常称之为工作区,而网站左右两边则为标题。当使用者点选标题的文字时,本篇文章会以「飞跃」的方式出现在工作区,使用者可在此区内随意阅读、建立、编辑Tiddler,网站内部会自动随之产生标题于左右两边为索引列表。

!Wiki系统简介

     而「Wiki」一词源自夏威夷语的「wee kee wee kee」,本是「快点快点」之意,在这里wiki指的是一种可在网络上开放多人协同创作的超文本系统,是由「Wiki之父」沃德•坎宁安(Ward Cunningham)于1995年所创。基本上wiki包含一套能简易创造、改变HTML网页的系统,再加上一套纪录以及编目所有改变的系统,以提供还原改变的功能。

!TiddlyWiki的网站架构

   TiddlyWiki的版面,主要分成四个部份:

1.        标题区:包含主标题与副标题。

2.        左侧主选单:这里可以让我们设定导览整个网站的超级链接。

3.        中央内容区:所有的Tiddler都会出现在这一区。

4.        右侧SideBar区:这里包括许多不同的功能,包含搜寻以及偏好设定的「辅助功能」、汇入文章的「进阶功能」、包含网站、选单、样是设定的「管理面版」和最新更新、Tag等功能。

 

    当我们把鼠标移到一个Tiddler的范围时,可以在Tiddler的左上方看到四个连结,这四个连结的功能如下:

1.        关闭:把目前的Tiddler关掉。当看完一个Tiddler之后,可以直接关闭它,把版面空出来显示其它Tiddler。

2.        编辑:让Tiddler进入编辑模式。

3.        引用连结:在网址列显示这个Tiddler的连结。当我们或别人想在TiddlyWiki之外直接连至网站里的Tiddler时,就会用到它。

4.        引用:列出所有连到这篇文章的Tiddler。

!TiddlyWiki功能

    使用者接口非常容易使用,而且完全不需要数据库和web server,只需要浏览器就可以编辑了。由于只有一个档案,也就是只使用了client side script,因此并无安装与否的问题,只需将档案复制到随身碟后,就能够把整个Tiddlywiki带着走。

    却也因此,TiddlyWiki是无法提供多人协同编写,直到ccTiddly出现,将TiddlyWiki改写成将数据存在MySQL,如此一来就可以让TiddlyWilk能够在网络上也能被多人同时书写,还保有方便携带的特点。以下概要列出TiddlyWiki的优缺点。

 

优点
	
不需要Server端与DB的设定和建置

不需要安装,所有东西都在一个档案里

有备份机制,也可以产生xml檔

可以做资料的快速连结,不需要过多繁复的设定和HTML语法

可以直接Search文章

便于携带

缺点

单一档案,若档案过大,开启时间相对增加。

单一档案,容易损坏

!TiddlyWiki的技术

    究竟TiddlyWiki是由哪些技术够成这样一个简单且功能强大好用的系统?TiddlyWiki是由「Javascript+CSS样式+HTML语法」组成的Html文件,内建Rss和支持Tag标签概念,以下就大略介绍各技术的概念。
 

1.        【JavaScript】

      是一种基于对象的脚本语言`,也可以说是一种解释语言,其原始码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户端由浏览器解释执行。。网景通讯公司最初在它的Navigator2.0产品上设计并实现的,原名LiveScript。目前已经在WWW上广泛用于动态Web页面的编程语言。

 

2.        【HTML语法】

    是为网页创建和其它可在网页浏览器中看到的信息设计的一种置标语言,称之为超文件标示语言(HyperText Markup Language),用来结构化信息——例如标题、段落和列表等等,或用来在一定程度上描述文档的外观和语义语。

 

3.        【CSS样式】

    CSS是Cascading Style Sheets(层迭样式表)的缩写,它是一种用来表现HTML或XML等文件式样的计算机语言,其定义是由W 3C来维护的。其功能为一个网页的读者和作者都可以使用CSS来决定文件的颜色、字体、排版等显示特性。最主要的目的是将文件的结构(用HTML或其它相关的语言写的)与文件的显示(CSS)分隔开来。由于分隔有以下几项优点:

    1 文件的可读性被加强

    2. 文件的结构更加灵活

    3 作者和读者可以自己决定文件的显示

    4 文件的结构简化了。

 

4.        【RSS Feed】

    RSS是及时提供一些工作过程中的支持(特别是文字上.和没有结合的连结.和格式等等…)而使他在追踪连结过程上更加简单。

 

5.        Tag标签

运用Tag可以对Tiddler做目录分类,也就是说Tiddler容许有多个标签。另外除了分类外,在TIiddlyWiki还有提供其它特殊功能:

a.        excludeSearch:加入后可隐藏Tiddler,使得Tiddler不会出现在搜寻的结果。

b.        systemConfig:加入后,会让Tiddler内容为javascript 程序代码。

c.        systemTiddler:当使用进阶选项里的储存模板建立全新的TiddlerWiki时,systemTiddler的Tiddler是唯一会复制到范本的档案。

以上基于[[此文|http://tw.myblog.yahoo.com/athena1011-67691302511/article?mid=5&prev=6&next=-1]]改写

d.        excludeLists:加入了这标签的Tiddler,便不会出现再SideBar列表里。
[[自制书签]]
[[自制掌上记事本]]
不知道现在还有多少人在用书签,我是很少用,看到哪儿折个角作为标记就行了,反正作用都一样:提醒自己看到哪儿了。但要是书签不仅可以做标记,还能记录下一些随感或是备忘录什么的,这样的书签你难道不想用用吗?

其实改动很简单,但效果却大不一样:你可以把它们打印出来,三角形的设计可以夹在书眉的边角上,既保护了图书又不失美观,要是读到激动之时还可以把感想写在书签上。下面就是书签制作方法和最后的效果图:

[img[自制书签方法|http://photo8.yupoo.com/20070704/232642_220896143_ihzphttz.jpg]]

[img[自制书签效果|http://photo6.yupoo.com/20070704/232643_750080661_aiwprdty.jpg]]

模板[[下载|http://www.box.net/shared/h9c8czor67]]
俗话说:好记性不如烂笔头。遇到一些需要随时记录的事情,你是不是扯一张纸记了就完了?用掌上记事本来做记录是个不错的办法,既方便随身携带又能把自己的工作学习安排得井井有条。想不想让这记事本更有个性更能“为你所用”呢?自己DIY一本吧。

会不会很难呢?不需要复杂的工序,不需要付费,只需点点鼠标拖动几下就能做出一本专属于你自己的记事本,不想试试吗?

来到[[Pocketmod|www.pocketmod.com]],页面分为三个区域:右边显示了八个页面(主页加上封面和封底),点选左边的内容,相应的图案会显示在中间,用鼠标拖到右边的任意页面就算完成一个页面的“制作”,将八个页面填充完毕后就可以打印了。软件内置了文字格,日历,组织,参考资料,游戏几个类型的模板,当然了,你还可以使用 [[PDF to PocketMod converter|http://www.pocketmod.com/files/PDFtoPocketmod.exe]] (需要 .net) 来自己制作模板。

[img[Pocket Mod|http://photo6.yupoo.com/20070620/002418_1134156811.jpg]]

打出来的文件还需要相应的剪裁和折叠才能成为名副其实的记事本,按照下面的步骤来:

[img[Pocket Mod折叠方法|http://photo6.yupoo.com/20070620/002418_863948807.jpg]]

这是成品效果
[img[Pocketmod成品效果|http://www.pocketmod.com/design/holdit.jpg]]

如果没有打印机可以使用[[PDFCreator - PDF|http://www.appinn.com/pdfcreator/]]打印程序 软件打印出 PDF 文件,然后拿去打印。当然如果没法上网不能使用在线版的Pockemod也不要紧,它还有离线版本提供下载。
    * Centre for Qualitative Research www.bournemouth.ac.uk/ihcs/researchCQRindex.html
    * Qualitative Research Page, http://kerlins.net/bobbi/research/qualresearch.
    * Qualpage http://www.uwm.edu/~brodg/.
    * The Qualitative Interest Group http://www.coe.uga.edu/quig/.

    * QSR Forum
    * The CAQDAS Project, (Computer Assisted Qualitative Data Analysis Systems) in the UK offers links to web pages, and a discussion group (qual-software) on all software for QDA: http://caqdas.soc.surrey.ac.uk/

    * Sociological Research Online: http://www.socresonline.org.uk/socresonline/
    * The Forum for Qualitative Research, FQS, http://qualitative-research.net/fqs
    * The Qualitative Report : http://www.nova.edu/ssss/QR/
    * Qualitative Research Journal: http://www.latrobe.edu.au/aqr


质性研究教程共19章
http://www.ship.edu/~cgboeree/qualmeth.html


质性研究网站大量收錄
http://www.nova.edu/ssss/QR/web.html


质性研究教程 QUALITATIVE SOCIAL SCIENCE RESEARCH METHODOLOGY
http://faculty.ncwc.edu/toconnor/308/308lect09.htm


质性研究与量化比较 The Qualitative Debate
http://www.socialresearchmethods.net/kb/qualdeb.htm


Social Research Update
http://www.soc.surrey.ac.uk/sru/


中文: 质性研究方法:访谈模式与实施步骤分析
http://www.spris.org.tw/develop/05june-05....%94%E7%A9%B6%22


用书
Tashakkori, A. and Teddli, C. (1998) Mixed methodology: combining qualitative and quantitative approaches. Thousand Oaks, CA: Sage

Creswell, J. (1994). Research Design: Qualitative and quantitative approaches. Thousand Oaks, CA: Sage Publications.

Silverman, D. (2001) Interpreting qualitative data: methods for analysing test, talk and interaction. London: Sage

Miles and Humberman. (1994). Qualitative data analysis: An expanded sourcebook (2nd ed.). Thousand Oaks, CA: Sage Publications.

Ragin, C.C. (1987) The comparative method: moving beyond qualitative and quantitative strategies. Berkeley, CA: University of California Press

Strauss, A. (1987). Qualitative analysis for social scientists. Cambridge, MA: Cambridge University Press.
Online Statistics Textbook
http://davidmlane.com/hyperstat/index.html


Statistics for Business Research Students
http://home.ubalt.edu/ntsbarsh/Business-stat/opre504.htm


A New View of Statistics
http://www.sportsci.org/resource/stats/index.html


Multivariate Statistics: Concepts, Models, and Applications
http://www.psychstat.missouristate.edu/MultiBook/mlt00.htm


Statistics at Square One
http://bmj.bmjjournals.com/statsbk/


SPSS - Training
http://www.aspiresoftwareintl.com/html/sps...inter_cont.html
http://www.ats.ucla.edu/stat/spss/notes2/default.htm


Statistical Data Analysis
http://home.ubalt.edu/ntsbarsh/stat-data/Topics.htm