GraphiteEditor / GraphiteEditor/Graphite
Saving, updating, and reading files from disk
- Ngôn ngữ chính
- Rust
- Star
- 27.2k
- Fork
- 1.3k
- Merge trung bình
- 20 giờ 5 phút
- Pull request đã merge (30 ngày)
- 57
Mô tả
https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
https://developer.chrome.com/articles/file-system-access/
https://developer.chrome.com/articles/file-handling/
Supported on Chromium and Firefox, but Safari seems to not support writing (or it doesn't support the async version of the API, but it does support the sync WebWorker-only version or something?). So we'll potentially have to tailor the feature experience depending on the browser.
Eventual desired behavior: the document gets auto-saved in real time as the user works (perhaps whenever the history state is updated) to the browser's IndexedDB. If the user hits CtrlS/*File* > *Save*, it saves the file to disk at the existing document location, if that is available. If not, it asks the user to grant permission for a specific folder. We may need to build a file browser UI in that case to let the user pick where to organize the file within the granted folder scope. Unsupported browsers should potentially fall back to the current download-on-save/browse-on-open approach.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start with the MDN File System Access API and Chrome file-handling articles linked in the issue, then compare the required behavior across supported and unsupported browsers. Define how auto-saving to IndexedDB, saving to an existing or newly granted disk location, and fallback download/open behavior should work before locating the relevant browser UI and document-history entry points. Done means the behavior is specified for each browser case.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- frontend
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 30/100