# 心得：將MDX辭典轉為TiddlyWiki格式

**URL:** <https://forum.freemdict.com/t/topic/16445>\
**Category:** 技术交流与词典编修\
**Tags:** 汉语\
**Created:** [2022 年10 月 21 日 19:26 UTC](https://forum.freemdict.com/t/topic/16445 "2022-10-21T19:26:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

作者： ![Yuki](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/yuki/32/28733_2.png) [@Yuki](https://forum.freemdict.com/u/Yuki)\
发布日期： [2022 年10 月 21 日 19:26 UTC](https://forum.freemdict.com/t/topic/16445/1 "2022-10-21T19:26:27Z")

</div>

TiddlyWiki 格式介紹

官方網站：[https://tiddlywiki.com/](https://tiddlywiki.com/)

簡單介紹一下 Tiddlywiki ，他是一個簡單的 html 檔案，專用於個人筆記

官方有2個版本，分別是 TW2 與 TW5 ，如果只寫了 TW 格式，那就是指新版的 TW5

(為何沒有 TW3、TW4 我也很好奇，不過似乎沒人知道)

TW 格式做法是把全部筆記轉成 JSON 交換格式，然後用瀏覽器 cache 去運作非線性連結，可以跳轉連結、可以橫向連結、可以用tag連結、也可以自訂屬性與關鍵字

如果把它拿來用作電子辭典，比起 MDX 格式的優點有很多

1.不必安裝專用閱讀器，只要是能符合W3C HTML的瀏覽器都能正常使用，PC手機都能直接開啟  
2.除了內建RWD，有手機模式，瀏覽器能用的插件都能正常運作，例如繁簡轉換就不用再另外修改  
3.提供全文搜索，而且搜索速度飛快，也不限制開頭須完全符合才搜得到，還能自訂搜索條件  
4.新增或修改內容很方便，就跟一般使用Word編修文件差不多，還內建了文本編輯器  
5.內文除了 HTML 格式，還能支援 Markdown、Katex、CodeMirror、D3 等等格式展示內容  
6.可自由將資料匯入匯出，透過JSON交換格式，方便對辭典整合比對與合併等操作  
7.上傳至網路空間，直接就是隨用的網路辭典，不必在手機塞一堆MDX檔案就能使用  
8.非常多的主題包與插件，非官方有100+以上，也可自己設計，比起醜醜不能改的Mdict好太多

TiddlyWiki 格式轉換

將MDX資料解包後轉換即可

MDX格式

```auto
詞頭索引
辭典內文
</>

```

TW格式

```auto
{title:詞頭索引,text:辭典內文}

```

沒有多餘資訊，就這麼簡單而已

另外MDX支持跳轉詞頭，TW格式也可相容

MDX格式

```auto
詞頭索引
@@@LINK=跳轉詞頭
</>

```

TW格式

```auto
{title:詞頭索引,text:"{{跳轉詞頭}}"}

```

下面使用我之前製作的教育部國語辭典的為範例

將 MDX格式 轉為 TW格式 測試，附上隨錄的測試影片

- 開啟與連結跳轉測試：開啟載入非常慢，但內部連結與跳轉都能正常使用  

- 匯入多本辭典測試：同時開啟稍微一點延遲  

- 辭典錯字修改測試：MDX格式發現錯誤只能解包修改，但TW格式只要按個按鈕就能修改了  

- 繁簡轉換與主題切換測試：瀏覽器基本功能都可以相容正常運作  

- 索引關鍵字測試：比MDict搜索更好的是，不限開頭一致才搜尋的到詞彙  

- 內文關鍵字測試：速度飛快，跟對索引下關鍵字一樣快，這也是 Tiddlywiki 的優點  

TiddlyWiki 格式心得

使用TW格式來充當電子辭典主要有3大缺點

1.匯入資料越多，檔案越大，開啟越慢，我這次測試檔匯入17萬筆資料，單一檔案達到180MB，開啟就要10秒，且使用上出現明顯延遲  
2.多部辭典同時開啟很吃Memory，使用MDict + MDX 格式一次查詢20個辭典不用1秒，閱讀體驗好很多  
3.TW格式對辭典附帶檔案無法打包成MDD，所以會帶很多零散的圖片，不如包成一個MDD來的簡潔  
(雖然TW也有匯入功能，但圖片數量少時才建議匯入，否則使用相對路徑外連圖檔更好，大量圖檔匯入整個檔案會變很大，效能很差)

目前測試6~7萬筆資料以上就會有延遲 (或許是我老PC不夠力)

所以結論是TW格式只適合單一的小型辭典，不能替代 MDict + MDX格式

\*最後附上TW的官方Plugin一覽：

[https://forumcdn.freemdict.com/uploads/default/original/3X/3/5/355310962c204fdeb725f32bd257f693ebb2a2a8.mp4](https://forumcdn.freemdict.com/uploads/default/original/3X/3/5/355310962c204fdeb725f32bd257f693ebb2a2a8.mp4)

Hammer Plugin 可以提供手機操作時用手勢下指令 (例如：往右平滑=跳轉下一個詞條)

XLSX Utils Plugin 可以提供讀取 Excel 檔案的功能

另外非官方的 graph 、 mermaid 與 mindmap 3個 Plugin，還可以將說明文字繪製成各式圖表，實在好用  
 ![d](https://forumcdn.freemdict.com/uploads/default/original/3X/a/7/a7a940bce24c526ed049f4ac6bc1a313264b4350.png)

 ![c](https://forumcdn.freemdict.com/uploads/default/original/3X/f/a/fad7d6a0e68d8270c96e41f835625c32509f5cec.png)

TiddlyWiki 功能實在太多太豐富，很難全部介紹完

TiddlyWiki 測試結論

單一小型辭典，使用TW格式來製作比MDX格式方便很多~

大型辭典或是需要多部辭典同時查詢時，還是用MDX更好~

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2022 年10 月 22 日 02:10 UTC](https://forum.freemdict.com/t/topic/16445/2 "2022-10-22T02:10:44Z")

</div>

> [@Yuki](#):
>
> 目前測試6~7萬筆資料以上就會有延遲 (或許是我老PC不夠力)

它的设计导致的，词条多了很难不卡。

---

<div class="post-metadata">

作者： ![马不前](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%A9%AC%E4%B8%8D%E5%89%8D/32/45525_2.png) [@马不前](https://forum.freemdict.com/u/%E9%A9%AC%E4%B8%8D%E5%89%8D)\
发布日期： [2023 年4 月 14 日 06:05 UTC](https://forum.freemdict.com/t/topic/16445/3 "2023-04-14T06:05:13Z")

</div>

您好，这个词典tiddlywiki可以分享一下吗？一个是我在处理如何把单词保存到tiddlywiki中去。这样就可以以更好地方式检索到想查的词。然后保存到用户不同的wiki里去。另一个是180m大的wiki，刚好可以用来测试性能。

而且现在有太记现在这样的nodejs版本，可以一并测试性能如何，以及如何提升。

---

<div class="post-metadata">

作者： ![马不前](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%A9%AC%E4%B8%8D%E5%89%8D/32/45525_2.png) [@马不前](https://forum.freemdict.com/u/%E9%A9%AC%E4%B8%8D%E5%89%8D)\
发布日期： [2023 年4 月 14 日 06:07 UTC](https://forum.freemdict.com/t/topic/16445/4 "2023-04-14T06:07:28Z")

</div>

这样就省得我去提取有道网页的html文件了

---

<div class="post-metadata">

作者： ![马不前](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%A9%AC%E4%B8%8D%E5%89%8D/32/45525_2.png) [@马不前](https://forum.freemdict.com/u/%E9%A9%AC%E4%B8%8D%E5%89%8D)\
发布日期： [2023 年4 月 14 日 13:57 UTC](https://forum.freemdict.com/t/topic/16445/5 "2023-04-14T13:57:58Z")

</div>

我自己测试了一下，一个一万一千多的条目，在导入的时候就会有卡顿了。但导入完之后还好一点，不太影响使用，后续再看能不能拆分一些其他的数据保存过去，用来测试。

---

<div class="post-metadata">

作者： ![Yuki](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/yuki/32/28733_2.png) [@Yuki](https://forum.freemdict.com/u/Yuki)\
发布日期： [2023 年4 月 14 日 17:01 UTC](https://forum.freemdict.com/t/topic/16445/6 "2023-04-14T17:01:20Z")

</div>

> [@马不前](#):
>
> 您好，这个词典tiddlywiki可以分享一下吗？

那只是個實驗品而已，已經是舊版了

我使用nodejs版測試過，結果同 Tiddlywiki 原版

除了存檔比較方便，使用上效能並無增加

條目上限大約6~8萬，匯入超過後，整體使用上就會有感延遲了

這部份跟瀏覽器底層與記憶體的交互運作原理有關係，現階段就是結論了

在5萬筆資料以下時整體都很正常，可以使用 TiddlyWiki 格式

資料一旦達到8萬筆時，就不推薦使用 TiddlyWiki 格式了

> [@马不前](#):
>
> 另一个是180m大的wiki，刚好可以用来测试性能。

你需要測試大檔性能有更好的選擇

剛好最近有人分享了PDAWIKI快照

你可以匯入整個快照再進行測試，包含全文搜索與開啟速度

內容上也更有意義
