當前位置:
首頁 > 知識 > TiddlyWiki 打造輕便個人 Wiki 知識庫

TiddlyWiki 打造輕便個人 Wiki 知識庫

這篇文章將簡要介紹 TiddlyWiki 的特點,並且分享一些常用的參考鏈接、資源、插件和常見問題的解決方案,以方便有相近需求的小夥伴們。

TiddlyWiki ,按官方說法是一個「非線性個人 Web 筆記本」。相比其他筆記和 Wiki 系統,其最大的特點之一是程序本體和數據全部都在一個單 html 文件內,與此同時仍然有著非常強大的功能和插件系統。在我看來,管理以文字、代碼和公式為主的個人知識庫, TiddlyWiki 可謂是最好的選擇之一。

注意,任意訪客都可以體驗到 TiddlyWiki 的全部功能,包括編輯和設置。不用擔心,你可以隨意折騰,因為你無法將更改保存到我的伺服器上,只能下載到本地。

TiddlyWiki 效果預覽

我想找到一個能方便快捷的打打筆記和維護個人知識庫 Wiki 的方式已經很久了。

筆記軟體,例如 EverNote 、 WizNote 、 OneNote 的確十分不錯,但是也會帶來客戶端是否跨平台、啟動速度是否好看甚至默認文字排版是否美觀的問題;而且,常規的筆記軟體也達不到 Wiki 級別方便的 Tag 標籤系統。當然, Wiki 系統有經典的 MediaWiki 系統,還有許許多多的靜態 Wiki 系統、 Wiki 知識庫類客戶端。然而, MediaWiki 龐大、複雜和醜陋; Wiki 客戶端程序有好有壞,有設計簡陋也有強大美觀,但是最大的限制還是往往不跨平台;一些可以用 Github Pages 部署的,基於 Markdown 的 Wiki 系統儘管幾乎能在功能上滿足我的需求,但是每一次撰寫新條目和部署的複雜度還是令人難以接受。

你可能已經看出了我口味相當的刁鑽和需求相當的詭異 …… 高中時因為沒有時間折騰,我搭建了一個 Ghost 博客來存放簡單的讀書筆記,然而隨著某次 VPS 上的 SQLite 被我搞跪了之後,天國的 WIKI#0 除了遺留下來資料庫里的幾篇文章之外,就這樣成為了歷史。高中畢業的暑假來臨,我決定動手尋找一款我需要的 Wiki 系統。於是,我找到了 TiddlyWiki 。

TiddlyWiki 的特點

程序和數據全部存儲在一個單文件 html 中

這讓 TiddlyWiki 既可以在你的本機運行,類似一個在瀏覽器中運行的綠色版單文件應用程序;又可以上傳到伺服器上,和網路上的所有人分享

同時部署極其簡單,只需要一個能存放 html 的伺服器,上傳上去就可以使用,根本不需要 PHP、 Node.js、Python 或者其他什麼語言環境,也沒有任何配置步驟

你可以隨時再把伺服器上的 TiddlyWiki 保存進本地或者 U 盤,以便帶進任何沒有網路的環境查閱

作為 Wiki 系統,有 Tag 標籤和條目關聯等必須的基本功能,和強大的編輯器

你能用 Tag 快速整理條目

你能用 這樣的語法快速鏈接到其他條目

你能用條目名作為 Tag 其他條目,達到設置子條目的效果

你甚至可以用 這樣的過濾器生成一個包含特定 Tag ,但是刪除掉另一個特定 Tag 的條目列表!

TiddlyWiki 使用一種類似 Markdown 但是稍有差異的語法,不過很快可以習慣並且非常好用

方便的插件和主題系統

可以通過插件支持代碼高亮、標準 Markdown 語法、文章嵌入 TODO 列表、條目加密鎖定 ……

可以安裝 Material Design 風格、博客風格的樣式主題 ……

外觀和操作設計別緻,使用體驗好

TiddlyWiki 是一個典型的單頁面 Web 應用,所以打開的時候全部內容都已經載入和緩存在了瀏覽器中,換而言之你不需要刷新頁面,操作和訪問體驗非常快速和流暢

TiddlyWiki 在右側是搜索和多種方式的條目索引,而左邊是可以卡片式展開多個和關閉的條目,還可以為特定的條目順序和組合生成靜態鏈接,瀏覽和使用十分方便

如何開始

進入 http://tiddlywiki.com 官網,閱讀下面的 GettingStarted 條目。這裡根據你的瀏覽器版本會切換的對應的教程,不過總的來說,你只需要點擊 Download Empty 按鈕就可以下載好一個全新的 TiddlyWiki 的 html 文件了。或者,你可以按照官方說明通過 Node.js 從 npm 安裝。

你已經可以開始本地體驗和使用了。

注意,你可能需要去設置頁面手動安裝並啟用中文語言包。

當然,我覺得大部分人應該都有上傳到伺服器上,以便發送地址和在線共享的需求。一般我們會需要把默認的 tiddlywiki.html 重命名成 index.html ,這樣訪問就很方便了。

不過如果你直接上傳 html 文件到伺服器,你會發現,每次保存都會重新向本地下載一個編輯後的 html ,然後你需要不厭其煩的用 FTP 再進行上傳和替換 …… 其實,只需要簡單的配置 PHP 或者 Node.js 保存服務,就可以解決這個問題。

額外的: http://tiddlyspot.com 提供了一個似乎是免費的在線託管 TiddlyWiki 的服務,還提供了專門用於 GTD 的一些模板; TiddlyDesktop 是一個 TiddlyWiki 專用的瀏覽器,或者說桌面客戶端。

PHP 保存

PHP 保存非常容易配置。官方的教程在這裡:http://tiddlywiki.com/#Saving%20on%20a%20PHP%20Server

在 https://code.google.com/archive/p/bidix/downloads 下載一份

找到裡面 這個文件,解壓並編輯裡面的 為你想要的用戶名和密碼

上傳 store.php 到你的伺服器,去 TiddlyWiki > 保存 > TiddlySpot 保存模塊 ,設置 高級設置 > 伺服器網址 為這個 store.php 文件的完整地址,然後在上面填寫用戶名和密碼

現在,點擊保存時,已經會直接保存在伺服器上了

注意:

你可能需要把備份文件名設置成 index.html

每次保存都會自動創建一份備份,你可以定期手動清理

建議修改備份文件夾為 backup ,這樣會把備份保存在 backup/ 子目錄而非 . 根目錄下

因為 TiddlyWiki 並沒有用戶登陸界面,這個設置頁面就相當於登陸頁面。密碼是按瀏覽器保存的,所以如果你想在當前瀏覽器退出登錄,到設置頁面清除密碼設置就好。如果你換了一個瀏覽器打開 Wiki ,你將需要進入設置重新填寫一次密碼(相當於登陸),才能使用在線保存。

可能用到的資源

比較重要的包括:

第三方官網繁體中文翻譯 http://tw5-zh.tiddlyspot.com (感謝 Bennyli 提醒)

編輯器標記語法參考 http://tiddlywiki.com/#WikiText

TiddlyWiki Community (官方整理的社區資源列表) http://tiddlywiki.com/#Community:Community%20Plugins

tid.li Plugins (一個個人第三方插件源) http://tid.li/tw5/plugins.html

CommunityPlugins (更大的一個第三方插件索引) http://erwanm.github.io/tw-community-search/#CommunityPlugins

關於插件

需要注意的是, TiddlyWiki 最新的版本 5 有重大的變化,導致針對老版本設計的插件全部失效無法安裝。你可能會在網上搜索到很多老版本的插件源,以及告訴你使用新建條件、粘貼插件代碼內容的方式安裝,都已經無法再使用了。所以,記得確認你找到的插件支持 TW5 。

目前,正確的插件安裝方式除了在設置頁面的官方插件源在線安裝,對於第三方插件源來說,一般是你拖動第三方插件源提供的鏈接、圖標或者按鈕(不一定有效),或者其設置頁面的插件名稱(一定有效),拖動到你的 Wiki 頁面上,完成導入安裝。

我這裡安利下我用到的插件,更多的可以在官方插件、主題市場和上面的插件源里自己發掘。

TiddlyWiki 官方插件程式庫

Highlight.js: syntax highlighting代碼高亮,程序員必備

KaTeX: mathematical typography數學公式輸入和排版

Markdown parser添加標準 Markdown 支持,如果你希望和 md 格式的平台互相導入和導出的話;大部分情況下,如果可以我建議使用原生 TiddlyWiki 語法,因為功能更加強大和對插件支持更好

TiddlyWiki Community Search

tw5-checklist我經常使用的,一個輕量級在文章中嵌入 checklist 的插件,適合做些學習計劃等

Encrypt-Tiddler對單個條目啟用輸入密碼查看

tid.li Plugins

ToDoNow一個強大的簡直有點過頭的嵌入 Todolist 插件

EditorCounter & Autosaver為編輯器添加字數統計和一定字數更改後自動保存 (原生自帶了條目修改確認和刪除操作時自動保存功能,去設置里開啟即可)

TiddlyMap 一個強大的令人髮指的流程圖、思維導圖等繪製插件

至於主題也有不少,不過我對默認的主題很滿意 (你可能會發現 TiddlyWiki 的默認樣式巧合的和我的 Clearision 博客主題灰色風格的設計十分相似) ,外加懶得折騰,所以就沒有更換。

當然,儘管內容數據很難佔據多少空間,安裝過多不必要的插件卻可能很快使 html 源文件尺寸增大,這點需要注意。

關於文本編輯

TiddlyWiki 表格排版

請務必花點時間閱讀編輯器標記語法參考 http://tiddlywiki.com/#WikiText 的內容,你會發現十分值得。這裡強調幾點我覺得特別有用的內容。

插入圖片的正確姿勢是 。文本中的 URL 會被自動識別為鏈接,如果你想要給一段自定義文本設置超鏈接,試試 (ext 大部分情況下可以省略)。

相比 Markdown 的用縮進排版, TiddlyWiki 的無序列表 * 和有序列表 # ,以及縮進子列表不用 Tab 而是用兩次列表符號比如 ** 或者 *# 剛開始可能顯得有點讓人迷惑。習慣就好。

用 TiddlyWiki 排版表格真的非常的爽!你可以自由的設置表頭,表尾,表名,每個單元格對齊方式,跨格,而且語法非常簡單方便,輸入流暢。請閱讀官方文檔 http://tiddlywiki.com/#Tables%20in%20WikiText 。

前面展示過自動生成條件列表,並且按 Tag 過濾的「魔法」。參考:http://tiddlywiki.com/#Transclusion%20in%20WikiText ,記得閱讀底部的 See also 詳細說明!

如果你願意折騰,你可以嘗試學習 Macro 宏和 Variables 變數的用法。

TiddlyWiki 有時會把符合 PascalCase / UpperCamelCase 的詞自動識別為條目鏈接。你只需要在前面加入一個波浪線 ~ 轉義,比如 ~TiddlyWiki ,就會恢復為純文本。

安裝了 Highlight.js 插件後,你可以這樣指定代碼塊使用的高亮語法:

```bash ~ pwd/Users/dimpurr```

在 Highlight.js 插件設置頁面你可以找到支持的語法列表。注意所有 shell 命令的標識符是 bash ,而不是 sh 或者其他的什麼。

一些小問題

TiddlyWiki 默認的搜索框存在字元數限制,要求搜索關鍵詞大於三個字元。對於英語環境來說這很合理,但是對於中文來說,二字詞的搜索是很常見的,因此很不方便。修改這個設置只需要:

添加一個標題為 的新條目

內容為 1

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHP技術大全 的精彩文章:

安全運維那些事之SSH
寶塔Linux面板–9月20日更新–5.2.0正式版
phpjiami 數種解密方法
Swoft-基於swoole2.0的高性能微服務框架
如何面試 PHP 工程師?

TAG:PHP技術大全 |