Skip to content
Danny Lin edited this page Jan 26, 2020 · 1 revision

ScrapBook X 資料規格

  • <Firefox 設定檔目錄>:於 Firefox 主選單 > [說明] > [疑難排解資訊] ,點擊「設定檔目錄」旁的 [開啟資料夾] 即可開啟。對於 Windows 下正常安裝的 Firefox,其預設路徑為 %AppData%\Mozilla\Firefox\Profiles\<一串很複雜的編號>
  • <ScrapBook 設定檔資料夾>:預設的 ScrapBook 目錄,也記錄一些 ScrapBook 目錄的相關資訊。位於 <Firefox 設定檔目錄>/ScrapBook;也可以先在多重 ScrapBook 選單中切換到 [設定檔資料夾],再開啟 ScrapBook 目錄。
  • <ScrapBook 目錄>:於 ScrapBook X 側邊欄 > [工具] > [開啟 ScrapBook 目錄] 開啟。記錄目前開啟的 ScrapBook 的所有資料。

ScrapBook 設定檔資料夾

此資料夾本身也是 ScrapBook 目錄,並有以下額外設定檔:

  • multibook.txt:若設定了多重 ScrapBook,這裡會記錄其他 ScrapBook 目錄的位置。

ScrapBook 目錄

  • backup:存放定期備份的資料,供緊急救援使用。例如 scrapbook_20141103.rdf<ScrapBook 目錄>/scrapbook.rdf 在 2014/11/03 的備份檔。
  • data:存放儲存資料的目錄,以下每筆資料為一個子資料夾,例如 ID 為 20140717230909 之資料項所對應的目錄即是 <ScrapBook 目錄>/data/20140717230909
    • <ID>
      • index.dat:此資料項之元資料之副本。使用 ScrapBook 修改此資料的屬性時會同步更新此檔,但使用其他程式編輯此檔時,效果不會反映在 ScrapBook 中。
      • index.html:此資料項之主頁或入口。例如從 ScrapBook 側欄開啟 ID 為 20140717230909 之資料項即是開啟 <ScrapBook 目錄>/data/20140717230909/index.html
      • index.css:資料項主頁引用之樣式表。ScrapBook 儲存網頁時會重組樣式表,將原網頁的所有樣式表整合儲存在這裡。於 ScrapBook X 1.13 開始不再使用。
      • sb-file2url.txt:多層儲存時記錄的對照表,深層重新儲存(工具列按鈕下拉選單 > [重新儲存])須參照此檔,一般不必修改。
      • sb-url2name.txt:多層儲存時記錄的對照表,深層重新儲存(工具列按鈕下拉選單 > [重新儲存])須參照此檔,一般不必修改。
      • sitemap.xml:多層儲存時記錄的資料檔,供網站導覽(資訊列 > 網站導覽)使用。
      • sitemap.xslsitemap.xml 引用的樣式檔,內容會自動從 <ScrapBook 目錄>/sitemap.xsl 複製,一般不必修改。
  • folders.txt:記錄最後使用的資料夾。
  • icon:自訂圖示目錄。設定資料的自訂圖示時可選擇這裡面的檔案,可含子目錄。
  • tree:[匯出 HTML 資料列表] 產生的檔案。
    • index.html:[匯出 HTML 資料列表] 產生的目錄頁。
    • frame.html:[匯出 HTML 資料列表] 產生的框架頁(如果有勾選 [使用頁框格式]),開啟時為兩欄,左欄為目錄頁 index.html,右欄為點擊目錄頁項目開啟的頁面。
    • index.cssindex.html使用的樣式表。
    • custom.css:供 index.htmlsearch.html 引用,可用於自訂樣式。
    • custom.js:供 index.htmlsearch.html 引用,可用於自訂腳本。
    • output.css:舊版 ScrapBook 產生之 index.html 使用的樣式表,可自訂。
  • cache.rdf:全文搜尋快取。
  • collection.html:合併檢視時產生的檔案,供瀏覽器檢視用。
  • combine.css:合併文件時產生的暫存檔案,由 combine.html 調用。
  • combine.html:合併文件時產生的暫存檔案,供瀏覽器檢視用。
  • note.html:筆記於 HTML 預覽時產生的暫存檔案,供瀏覽器檢視用。
  • note_template.html:筆記的模版,可自行修改,或刪除令 ScrapBook 自動產生預設內容。
  • notex_template.html:筆記頁面的模版,可自行修改,或刪除令 ScrapBook 自動產生預設內容。
  • scrapbook.rdf:此 ScrapBook 資料庫的資料列表,記錄每一筆資料及其元資料,如 ID、標題、原始位址等等。可用外部程式編輯,但建議做好備份並在完全關閉 Firefox 時編輯及儲存,否則可能會因 Firefox 繼續寫入內容而發生衝突。
  • search.html:[匯出 HTML 資料列表] 產生的搜尋頁面(由於 Firefox 安全性限制,必須放在主目錄才能正常運作)
  • sitemap.xsl:多層儲存後網站導覽所調用的樣式表,可自訂,或刪除令 ScrapBook 自動產生預設內容。

資料項主頁 data/<ID>/index.html 的規格

對於一般資料類型,原則上內容為符合 HTML 4.0 或 HTML 5.0 標準的 HTML 檔案。儲存 XHTML 頁面時,其內容會儲存到 index.xhtml,此檔案會則會寫入 meta refresh 指向它。

如資料類型為「筆記」,其內容必須為:

<html><head><meta http-equiv="Content-Type" content="text/html;Charset=UTF-8"></head><body><pre>
<!-- 筆記內容 -->
</pre></body></html>

以相容於各版本的 ScrapBook。自 ScrapBook X 以後,筆記內容儲存時會跳脫所有 HTML 特殊字元。

如資料類型為「檔案」,內容為 HTML,用 meta refresh 重定向至檔案。

如資料類型為「資料夾」、「分隔線」、「書籤」,此檔案原則上不存在。

資料項頁面 data/<ID>/*.html 的規格

ScrapBook 使用的特殊屬性:

  • data-sb-obj:表示此元素需要 ScrapBook X 特殊處理,目前己定義的值有:
    • linemarkerinlineannotationlink-urllink-innerlink-filefreenote 等等
    • stickyblock-comment:舊版定義的值,最新版 ScrapBook X 不會產生這些值,但可讀取。
    • custom:保留值,標示此元素為 ScrapBook 附加的註記,使用 DOM 擦子或「清除所有 ScrapBook 註記」等功能時會把此元素移除。可在編輯 HTML 原始碼時自行寫入或用於 HTML 格式化模板。
    • custom-wrapper:類上,但 DOM 擦子等功能只會移除此元素,而保留其內容及子元素。
    • **title:**儲存筆記頁面時,會將此元素的內容改為資料項的標題。
    • title-src:儲存筆記頁面時,會將資料項的標題改為此元素的內容。
    • todo:標記此元素為待辦事項,儲存頁面時會儲存其勾選狀態。可用於 HTML 格式化模板。
    • stylesheetstylesheet-temp:標記此元素為特殊的樣式表,儲存時 ScrapBook X 不會修改此元素。
  • data-sb-id:主要用於 ScrapBook 加上的標示和行內註解,相同值的元素會視為同組,刪除或修改時會一起更動。
  • data-sb-id-*:儲存頁面期間暫時產生的辨識碼。
  • data-sb-orig-*:記錄儲存頁面期間被刪除屬性的原始值。
  • data-sb-indepth:記錄深入儲存頁面時建立的交互連結。
  • data-sb-active:記錄自由註解的狀態。

data/<ID>/*.htmldata/<ID>/*.css

ScrapBook X 使用的特殊 URI:

  • urn:scrapbook-download:<UUID>:儲存頁面期間暫時產生的辨識碼。
  • urn:scrapbook-download:skip:<source-URI>:儲存頁面時略過的 URL。
  • urn:scrapbook-download:error:<source-URI>:儲存頁面時出錯無法儲存的 URL。

筆記模版 note_template.html 的規格

筆記模板可使用以下特殊參數,在以 HTML 模式檢視時會自動代換成適當的值:

  • <%NOTE_TITLE%>:代入筆記的標題(第一行)。
  • <%NOTE_CONTENT%>:代入筆記的內容(第二行之後)。

筆記頁面模版 notex_template.html 的規格

筆記頁面模板可使用以下特殊參數,在建立筆記頁面時,會依情況填入適當的值:

  • <%NOTE_TITLE%>:填入筆記標題,建立子頁面時,會填入子頁面的檔名(不含 .html)。例如可放在標題中 <title><%NOTE_TITLE%></title>
  • <%SCRAPBOOK_DIR%>:填入 ScrapBook 目錄相對路徑,可用於連結這本 ScrapBook 中所有資料的共用資源。例如 <link rel="stylesheet" href="<%SCRAPBOOK_DIR%>/common.css">
  • <%DATA_DIR%>:填入該則資料之主目錄的相對路徑,可用於連結該資料(所有子頁面)的共用資源。例如 <script src="<%DATA_DIR%>/scripts/jQuery.js"></script>

此外,也可以使用一些 ScrapBook X 專用的特殊屬性:

  • data-sb-obj="title":儲存頁面時,有此屬性設定的元素會自動填入頁面的標題。
  • data-sb-obj="title-src":有此屬性設定且含有文字內容的 HTML 元素,在儲存頁面時,頁面標題及其他所有 data-sb-obj="title"data-sb-obj="title-src" 的 HTML 元素的內容皆會填入其文字內容;如有多個元素符合此條件,取最後一個值作為填入的內容。如果頁面為資料主頁(位於 <ScrapBook目錄>/data/<id>/index.html 者),資料的標題也會填入其文字內容(如有使用這種元素,就不要從 ScrapBook 側欄或編輯工具列更改標題了,每次儲存頁面都會被取代掉的)。
  • data-sb-obj="todo"

模板範例一:(預設)

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title data-sb-obj="title"><%NOTE_TITLE%></title>
</head>
<body><%NOTE_TITLE%></body>
</html>

模板範例二:(加上主標題及公用樣式表)

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title data-sb-obj="title"><%NOTE_TITLE%></title>
  <link rel="stylesheet" href="<%SCRAPBOOK_DIR%>/common.css">
</head>
<body>
<h1 data-sb-obj="title-src"><%NOTE_TITLE%></h1>
<hr>
</body>
</html>