1. 換機器后筆記無法顯示
這是因為新建賬戶與原賬戶userid不一致。
正確的同步方式為:
- 下載leanote並解壓,不運行,不新建賬戶
- 從堅果雲同步leanote數據
- 創建leanote的數據目錄,建立軟連接指向堅果雲中的真實數據
- 運行leanote
總之,在既有的多個機器上同步leanote筆記,每次開工前應該先用堅果雲同步數據,同步完成后再打開leanote,否則會數據沖突!
2. 從Linux到Windows圖片無法顯示
這是因為系統路徑不一樣。查看leanote/nedb55/(userid)/images.db
文件可一窺究竟。
windows圖片路徑前綴為C:\\Users\\Ting\\AppData\\Roaming/leanote/data/(userid)/images/
, linux為/home/wy/.config/leanote/data/(userid)/images/
.
寫了個python腳本實現轉換:
# -*- coding: utf-8 -*- ''' python t.py win 即可將文件路徑轉變為Windows系統下的路徑; python t.py linux 即可轉為Linux系統下的路徑。 ''' import json import sys def store(mylist): with open('images.db', 'w') as f: for line in mylist: f.write(json.dumps(line)+"\n") def load(): mylist=[] with open('images.db') as f: for line in f.readlines(): mylist.append(line) return mylist if __name__ == "__main__": if(len(sys.argv)!=2): print("input an arg: win OR linux") sys.exit(1) prefix="" if(sys.argv[1]=="win"): prefix="C:\\Users\\Ting\\AppData\\Roaming/leanote/data/5a00fbf54dc7275b64000000/images/" elif(sys.argv[1]=="linux"): prefix="/home/wy/.config/leanote/data/5a00fbf54dc7275b64000000/images/" else: print("arg error!") sys.exit(1) mylist=load() reslist=[] # print(type(mylist)) # <type 'list'> for line in mylist: #print("000:" + line) #print(type(line)) # <type 'str'> json_line=json.loads(line) # print(type(json_line)) # # <type 'dict'> file_name=json_line["Name"] path=prefix + file_name json_line["Path"]=path #print("111:" + str(json_line)) reslist.append(json_line) store(reslist) print("done!")
另外,既然使用本地賬戶,就刪除images.db文件中ServerFileId的對應內容。