Dexie.js

Dexie.js是一個IndexedDB的ORM,IndexedDB則是在瀏覽器上運行的一種NoSQL資料庫,支援離線存取,比LocalStorage提供更大的容量及更高的效率。

但Dexie.js有個奇怪的問題,就是資料庫版本會比實際的大上10倍,例如說你要建立version 1的版本,在瀏覽器上會見到10,作者承認這是一個設計,屬於失敗的那種。

https://github.com/dexie/Dexie.js/issues/59

Joplin Garden Worker

這是個失敗的項目,沒有用戶並非主因,開源計劃的開始並不要考慮這點,加上本來就是受眾少的類型,失敗在於 — 我本人也覺得難用。

這項目的功用是把Joplin的筆記匯出成一個Hugo的網站(本站),理論上也能夠生成其他類型的文件,例如Github的wiki。

設計困難:

  1. 匯出的檔案名字並不能直接用筆記標題,因為筆記標題會改變
  2. Hugo要用到的參數比Joplin能提供的多,例如summary、catalog這類

解決:

  • 建立一個metadata.yaml來記錄每筆Joplin筆記的匯出檔案名稱,以及各種額外的參數
  • 部份參數由Joplin筆記中提取,部份人手修改,反而客制不同頁面變得困難
  - filename: Papeaso Video Capture Card.md
    folder: garden
    id: b46bbd6270ac9af7c9439e3bf0d32178
    title: Papeaso Video Capture Card

使用流程

  • Joplin -> metadata.yaml -> Hugo Source -> HTML Site

指令

# Edit note in Joplin , set slug and summary
jgw update # update metadata.yaml
# Edit metadata.yaml change parameters 
jgw export # export to hugo
hugo # build html
cp * SOMEWHERE/benlau.github.io # copy html to github
cd SOMEWHERE/benlau.github.io
git add .
git commit -m "Log"
git push

這過程有夠麻煩的,其中有半年沒有更新,我就把整個流程都忘得一乾二淨。