@tw5.zh-hant 的 SiteTitle/SiteSubtitle 特異樣式

111 views
Skip to first unread message

G.J.Robert

unread,
Sep 23, 2013, 8:17:19 AM9/23/13
to tiddly...@googlegroups.com

Hi,

謝謝 Bram 大哥把 TW5 翻譯出來,弄了可以 include 的 TidddlySpace。之後大家要測試 TW5 in the Sky(TiddlySpace 伺服器上的 TW5)甚至正式建站時就可以用中文介面了,多親切!

英文論壇上老外都習慣用「@xxxx」指稱某個 TiddlySpace,所以我標題中的「@tw5.zh-hant」也是用這個格式。

目前瀏覽 http://tw5-zh-hant.tiddlyspace.com/tw5.zh-hant 時,發現一個有趣的現象:在我的 Linux Firefox 23 上,當該 space 完全載入所有 tiddler 後,SiteTitle、SiteSubtitle 會變成上面附圖這樣子↑(不好意思,我最近用 Google Groups 覺得很怪,我插的圖片都會跑到訊息最上面,不能移動,難道是和 Firefox 有相容問題?)。兩個 title 應該是有延遲載入對吧,但我比較關注的是底色不知道為何跑出灰色方框;如果是瀏覽英文版 http://tw5tiddlyweb.tiddlyspace.com/tw5 似乎就無此現象。頗有趣。不知大家看來是怎樣?

Bram Chen

unread,
Sep 23, 2013, 9:38:33 AM9/23/13
to tiddly...@googlegroups.com

試了 WinXPSP3、Win7 + Firefox 23.0.1、.24.0、Chrome 29,Debian 7.0 + Firefox 23 正常。

以下為 XP 擷圖:



Bram Chen

unread,
Sep 23, 2013, 10:19:10 AM9/23/13
to tiddly...@googlegroups.com

你的案例看起來是 @tw5-zh-hant space 的 SiteTitle 與 SiteSubtitle 而不是 tw5.zh-hant 的,有可能是「同步」的時間差造成的問題。

試試:
  1. 清除瀏覽器的 cache 與 cookies
  2. 登入你的 tiddlyspace
  3. 在乾淨的 space 中引入 @tw5-zh-hant 
  4. 登出後,瀏覽 http://YOURSPACE.tiddlyspace.com/tw5.zh-hant (正常否?)
  5. 登入再瀏覽一次 (正常否?)
  6. CTRL + F5 刷新頁面 (正常否?)
  7. 於新頁籤瀏覽 @YOURSPACE ,刪除所有 tw5 自動產生的 tiddlers
  8. 再試一次 4~6(正常否?)

G.J.Robert

unread,
Sep 25, 2013, 10:32:44 PM9/25/13
to tiddly...@googlegroups.com
嗨 Bram 哥,謝謝建議測試步驟,以下是我的測試結果:

Bram Chen於 2013年9月23日星期一UTC+8下午10時19分10秒寫道:


1. ✔
2. ✔
3. 建立 @gjobert-tw5-2(測試好幾次了,這次再建一個)(gjobert 是我之前不小心拼錯少個 r 誤建 space,後來索性都用這個代號當測試)
4. 正常
5. 登入後,馬上不正常(未刷新頁面),SiteTitle、SiteSubtitle 馬上變灰底(後來我發現,那應該是 <pre> 的樣式)
6. 重新整理後,一開始顯示 TiddlyWiki 5 中文版、漫步在雲端等預設標題,過一會兒也是變成 gjobert-tw-2、「a tiddlyspace」等 TiddlySpace 標準預設標題
7. 在新頁籤瀏覽 http://gjobert-tw5-2.tiddlyspace.com/,刪除所有 $:/ 開頭的 tiddler,只留下 SiteIcon 和 SiteInfo,它們應該和 TW5 無關,不用刪吧?
8. 重試 4.,登出,瀏覽 /tw5.zh-hant,正常
登入,又不正常;Ctrl+F5 重新整理,過一會兒載入 titles 後又不正常。

以上是我測試第三遍的結果~

之前第一遍:沒有清 cache/cookie,建了乾淨的 @gjrobert-tw5,但不小心先引入了英文版 @tw5tiddlyweb,且曾經瀏覽過 /tw5,後來才趕快引入 @tw5-zh-hant 回來瀏覽中文版;也是一樣未登入前正常,登入後就不正常,刷新、刪 tiddler 後也一樣不正常。

我想是不是我建的 space「不夠乾淨」,所以試了第二遍,在 _account 建 @gjobert-tw5,然後先瀏覽它的 _space,把 system-* 都踢掉,只引入 @tw5-zh-hant,然後登出後,再直接瀏覽 /tw5.zh-hant,完全不經過 TW2 版本,再進行所有步驟,一樣是登出時正常,登入後就不正常。

後來我想,雖然測試不成,但日子總是要過,我就在 @gjrobert-tw5(第一遍所建的 space)中到處摸摸 TW5 的功能,順便寫試用手記,結果發現寫完了手記再重新載入頁面,原本在 TW5 裡編輯的 tiddler 也都變成了 <pre> 的樣式;甚至如果我調整了「工具」裡面的佈景主題、view 的模式,它們在側邊欄裡也通通變成 <pre> 的樣式!(如上圖,抱歉,我還是不知怎麼移動那個圖片,也許我的瀏覽器有問題)

進入編輯模式才發現,凡是我編輯過的 tiddler,或是動過的設定,它們的 type 都變成 text/x-tiddlywiki,這似乎就是它們在 TW5 中樣式變成 <pre> 的原因。而且 bag 都變成 gjrobert-tw5_private,recipe 也是 _private,狀態也都是 private,我必須回到 TW2 模式下,才能把它們切換成 public。更妙的是,就算把 bag 改成 _public 了,登出以後仍然看不到我寫的手記!

以上的現象不知是不是只有我這邊會發生?我在 Win XP 及 Ubuntu 的 Firefox 23/24 試過,我再試試 Chrome 好了……

G.J.Robert

unread,
Sep 25, 2013, 10:45:24 PM9/25/13
to tiddly...@googlegroups.com

以下是我的猜想:

TW5-TiddlyWeb 因為 lazy loading,所以一開始看到的 SiteTitle 和 subtitle,不管英文版或中文版,都來自於程式碼內建的原始標題。過幾秒,系統會依 recipe 載入本 space 的 tiddler,所以 SiteTitle/Subtitle 再顯示出修改後的內容。(我有修改 SiteTitle 和 SiteSubtitle 了,我沒有沿用 @tw5-zh-hant 的)

就我所見,中文版 @tw5-zh-hant 用的程式是 TW5 alpha10,會把 tiddler 都認成 text/x-tiddlywiki,然後用 <pre> 的樣式顯示;如果把該 type field 刪除,才會改用 TW5 的方式 parse 其內容、wikify。(但是即使刪掉,text/x-tiddlywiki 的屬性後來還是會跑回去!)

英文版 @tw5tiddlyweb 的程式是 alpha9,則並沒有將 tiddler 顯示成 <pre> 樣式,SiteTitle/Subtitle 也是正常的(如上圖)。不知是不是兩者程式版本不同,處理方式有差異?

Bram Chen於 2013年9月23日星期一UTC+8下午10時19分10秒寫道:

Bram Chen

unread,
Sep 26, 2013, 4:03:11 AM9/26/13
to tiddly...@googlegroups.com


線索一:


你的案例看起來是 @tw5-zh-hant space 的 SiteTitle 與 SiteSubtitle 而不是 tw5.zh-hant 的,有可能是「同步」的時間差造成的問題。


偵錯大法起式:

1 ~ 3
 
線索二:
4 ~ 5

偵錯大法二式:
6

偵錯大法三式:
7

強烈暗示:
8

Bram Chen

unread,
Sep 26, 2013, 4:16:26 AM9/26/13
to tiddly...@googlegroups.com


以上是我測試第三遍的結果~



太可愛了,我喜歡。

 
後來我想,雖然測試不成,但日子總是要過,我就在 @gjrobert-tw5(第一遍所建的 space)中到處摸摸 TW5 的功能,順便寫試用手記,結果發現寫完了手記再重新載入頁面,原本在 TW5 裡編輯的 tiddler 也都變成了 <pre> 的樣式;甚至如果我調整了「工具」裡面的佈景主題、view 的模式,它們在側邊欄裡也通通變成 <pre> 的樣式!(如上圖,抱歉,我還是不知怎麼移動那個圖片,也許我的瀏覽器有問題)

進入編輯模式才發現,凡是我編輯過的 tiddler,或是動過的設定,它們的 type 都變成 text/x-tiddlywiki,這似乎就是它們在 TW5 中樣式變成 <pre> 的原因。而且 bag 都變成 gjrobert-tw5_private,recipe 也是 _private,狀態也都是 private,我必須回到 TW2 模式下,才能把它們切換成 public。更妙的是,就算把 bag 改成 _public 了,登出以後仍然看不到我寫的手記!


用 <pre> 包裹來至 tw2 的 tiddlers 應該是為了能在 tw5 中不出錯地檢視 tiddlers 的轉換。

可試著在標準版的 tw5 拖放 tw2 文件,看到來自 tw2 的 tiddlers 都被包裹於 <pre>。

 
以上的現象不知是不是只有我這邊會發生?我在 Win XP 及 Ubuntu 的 Firefox 23/24 試過,我再試試 Chrome 好了……

當然不是。

 

Bram Chen

unread,
Sep 26, 2013, 4:53:58 AM9/26/13
to tiddly...@googlegroups.com



以下是我的猜想:

TW5-TiddlyWeb 因為 lazy loading,所以一開始看到的 SiteTitle 和 subtitle,不管英文版或中文版,都來自於程式碼內建的原始標題。過幾秒,系統會依 recipe 載入本 space 的 tiddler,所以 SiteTitle/Subtitle 再顯示出修改後的內容。(我有修改 SiteTitle 和 SiteSubtitle 了,我沒有沿用 @tw5-zh-hant 的)


SiteTitle、SiteSubtitle (包含其他 Shadows、System tiddlers) 都是組建時已預先設置的 tiddlers,非程式碼內建。

 
就我所見,中文版 @tw5-zh-hant 用的程式是 TW5 alpha10,會把 tiddler 都認成 text/x-tiddlywiki,然後用 <pre> 的樣式顯示;如果把該 type field 刪除,才會改用 TW5 的方式 parse 其內容、wikify。(但是即使刪掉,text/x-tiddlywiki 的屬性後來還是會跑回去!)


沒錯 tiddlers 的 type 欄位為 "text/x-tiddlywiki" 是一個關鍵

  1. 試試在 tw5 把 SiteTitle 、SiteSubtitle 的 type 欄位改為 "text/vnd.tiddlywiki" 。
  2. 別在 tw5 所在的 space (tw2) 修改 tiddler,而是於 tw5 中作異動。

 
英文版 @tw5tiddlyweb 的程式是 alpha9,則並沒有將 tiddler 顯示成 <pre> 樣式,SiteTitle/Subtitle 也是正常的(如上圖)。不知是不是兩者程式版本不同,處理方式有差異?

 
沒記錯的話,這個「問題」在還是 alpha9 時,就已存在。(八月底改為 alpha10)
想刨根的話,可以從 deserializers.js 這個 module 開始找起 ...





G.J.Robert

unread,
Sep 26, 2013, 7:47:12 AM9/26/13
to tiddly...@googlegroups.com


Bram Chen於 2013年9月26日星期四UTC+8下午4時53分58秒寫道:

 
就我所見,中文版 @tw5-zh-hant 用的程式是 TW5 alpha10,會把 tiddler 都認成 text/x-tiddlywiki,然後用 <pre> 的樣式顯示;如果把該 type field 刪除,才會改用 TW5 的方式 parse 其內容、wikify。(但是即使刪掉,text/x-tiddlywiki 的屬性後來還是會跑回去!)


沒錯 tiddlers 的 type 欄位為 "text/x-tiddlywiki" 是一個關鍵

  1. 試試在 tw5 把 SiteTitle 、SiteSubtitle 的 type 欄位改為 "text/vnd.tiddlywiki" 。
  2. 別在 tw5 所在的 space (tw2) 修改 tiddler,而是於 tw5 中作異動。

1. 確實見效,改成這個 type 就 okay 了。
2. 可是,我已經都是在 TW5 中修改 tiddler 了啊~包括我之前說的「試用手記」,也都是在 TW5 中邊看 WikiText 學新語法邊寫的,結果存起來再重新載入,還是變成 text/x-tiddlywiki。然後,我剛剛又在 TW5 中新增 New Tiddler 3(已經無奈到 3 了),儲存後重載頁面,該 tiddler 一樣被當作 TW2 tiddler 啊啊啊(痛哭),難道我要用 TW7(2+5 = 7),tiddler 才會被當作 TW5 的 type 嗎嗚嗚嗚……

而且,就連 $:/theme 這麼一個標準的 TW5 系統 tiddler,被我設定 theme 後內容變「$:/themes/tiddlywiki/starlight」,結果也一樣變 text/x-tiddlywiki,連帶影響到 sidebar 上的樣式。這樣感覺暫時很難繼續試用 TW5.TiddlyWeb 下去了……
 
 
英文版 @tw5tiddlyweb 的程式是 alpha9,則並沒有將 tiddler 顯示成 <pre> 樣式,SiteTitle/Subtitle 也是正常的(如上圖)。不知是不是兩者程式版本不同,處理方式有差異?

 
沒記錯的話,這個「問題」在還是 alpha9 時,就已存在。(八月底改為 alpha10)
想刨根的話,可以從 deserializers.js 這個 module 開始找起 ...


哇,我本來還想,是不是可以拿 alpha10 的原始碼,不套中文翻譯,試試英文版是不是 okay(因為我開啟英文版 /tw5 的時候沒這問題,如之前訊息)。Bram 哥之前也遇過這狀況了嗎?GitHub 上有這問題了嗎?我找到 deserializers.js 了……(但我能看懂的程度大約僅有 10%)

而且,還有 tiddler 在 TiddlySpace 上被放到 private 的狀況,這算是 bug,還是他們故意設計的呢?

BramChen

unread,
Sep 26, 2013, 11:16:01 AM9/26/13
to TiddlyWiki 華語支援論壇
 

2. 可是,我已經都是在 TW5 中修改 tiddler 了啊~包括我之前說的「試用手記」,也都是在 TW5 中邊看 WikiText 學新語法邊寫的,結果存起來再重新載入,還是變成 text/x-tiddlywiki。然後,我剛剛又在 TW5 中新增 New Tiddler 3(已經無奈到 3 了),儲存後重載頁面,該 tiddler 一樣被當作 TW2 tiddler 啊啊啊(痛哭),難道我要用 TW7(2+5 = 7),tiddler 才會被當作 TW5 的 type 嗎嗚嗚嗚……

而且,就連 $:/theme 這麼一個標準的 TW5 系統 tiddler,被我設定 theme 後內容變「$:/themes/tiddlywiki/starlight」,結果也一樣變 text/x-tiddlywiki,連帶影響到 sidebar 上的樣式。這樣感覺暫時很難繼續試用 TW5.TiddlyWeb 下去了……
 

  • 避開問題的替代方法:
新增或更動的 tiddlers 都得手動將 type 設為 "text/vnd.tiddlywiki"。
  • 若目的為試用 TW5,選用標準版單機測試最佳。分享「試用手記」則可上傳 TiddlySpot 或搭配 dropbox public 使用。
  • TW5 + Tiddlyweb 始終會受限於與 TW2 的相容問題。
  • 預設為 public(tiddlyspace 即是如此) 與 tiddler.type 都是技術可解決的。

 

哇,我本來還想,是不是可以拿 alpha10 的原始碼,不套中文翻譯,試試英文版是不是 okay(因為我開啟英文版 /tw5 的時候沒這問題,如之前訊息)。Bram 哥之前也遇過這狀況了嗎?GitHub 上有這問題了嗎?我找到 deserializers.js 了……(但我能看懂的程度大約僅有 10%)


  • 還在懷疑是中譯版造成的問題?
  • Node.js + git clone 一份 source,可重新組建、回溯到任一個版本。


而且,還有 tiddler 在 TiddlySpace 上被放到 private 的狀況,這算是 bug,還是他們故意設計的呢?


  • 視目的、角度而異,不盡然是 bug。是不是故意設計的,得問 Jeremy


 

Bram Chen

unread,
Nov 11, 2013, 12:01:22 PM11/11/13
to tiddly...@googlegroups.com
TiddlyWiki5 >=5.0.0-alpha.12 for TiddlyWeb 已修正此問題。

http://tw5-zh-hant.tiddlyspace.com/tw5.zh-hant 已更新至 5.0.0-alpha.14

於先前版本更動過的 tiddlers 只需於 tw5 編輯各該 tiddlers 將欄位: "type" 即可。



Bram Chen

unread,
Nov 11, 2013, 12:07:11 PM11/11/13
to tiddly...@googlegroups.com
(修正漏字)
於先前版本更動過的 tiddlers 只需於 tw5 編輯各該 tiddlers 將欄位: "type" 刪除即可。


Bram Chen於 2013年11月12日星期二UTC+8上午1時01分22秒寫道:

G.J.Robert

unread,
Nov 21, 2013, 5:34:48 AM11/21/13
to tiddly...@googlegroups.com
嗨,我回來了,前兩個月有要事所以暫未回覆;很高興看到這個問題已修正了,非常謝謝 Bram 大哥幫忙追蹤(Bram 大哥也有幫忙回報嗎?GitHub 的 Issues 似無搜尋功能,我一時找不到有關這個 type 欄位的 issue……)

最開始的時候我以為是中譯版的問題,但後來當我發現用的版次根本不同的時候,就覺得問題應該在英文版本身,所以之前會想確認是不是英文版版次差異所造成啦∼

Bram Chen於 2013年11月12日星期二UTC+8上午1時07分11秒寫道:

Bram Chen

unread,
Nov 21, 2013, 11:11:51 PM11/21/13
to tiddly...@googlegroups.com


G.J.Robert於 2013年11月21日星期四UTC+8下午6時34分48秒寫道:
嗨,我回來了,前兩個月有要事所以暫未回覆;很高興看到這個問題已修正了,非常謝謝 Bram 大哥幫忙追蹤(Bram 大哥也有幫忙回報嗎?GitHub 的 Issues 似無搜尋功能,我一時找不到有關這個 type 欄位的 issue……)


  • 該感謝的是 Jeremy
  • 並未回報,是 Jeremy 聽到平兄弟的心聲了 ...
  • 應該查的是 "... for tiddlyweb ...",不是嗎?
    已說明於 alpha.12 修正,最直覺地應是查找 alpha.11 與 alpha.12 的差異


 
最開始的時候我以為是中譯版的問題,但後來當我發現用的版次根本不同的時候,就覺得問題應該在英文版本身,所以之前會想確認是不是英文版版次差異所造成啦∼


曾提及「可以從 deserializers.js 這個 module 開始找起 ...」(很遺憾平兄弟無暇往下找 ...),找到問題原因,即知從何處著手解決。 for tiddlyweb 的插件僅 tiddlywebadaptor.js ,所以想多了解一些,可專注於查看此插件的修改差異。

 
Reply all
Reply to author
Forward
0 new messages