e.stopPropagation()}
>
插入图片
-
支持网络地址或本地图片文件(Markdown 中保存为 file:// 链接)。
-
-
-
@@ -1050,9 +1103,7 @@ export default function App(): React.ReactElement {
type="button"
className="primary"
onClick={() => {
- const url = imageUrlInput.trim()
- if (!url) return
- imageInsert.resolve({ url, alt: imageAltInput.trim() || '图片' })
+ imageInsert.resolve({ url: imageUrlInput, alt: imageAltInput })
setImageInsert(null)
}}
>
@@ -1152,149 +1203,40 @@ export default function App(): React.ReactElement {
) : null}
- {webNotesOpen ? (
+ {histCtxMenu ? (
setWebNotesOpen(false)}
+ className="ctx-menu"
+ style={{
+ left: Math.min(histCtxMenu.x, window.innerWidth - 140),
+ top: Math.min(histCtxMenu.y, window.innerHeight - 100)
+ }}
+ onMouseDown={(e) => e.stopPropagation()}
>
-
e.stopPropagation()}
+
-
- ) : null}
-
- {desktopDownloadOpen ? (
-
setDesktopDownloadOpen(false)}
- >
-
e.stopPropagation()}
- >
-
- 桌面版下载说明
-
-
-
- 为什么推荐桌面版?
- Web 版在 HTTP 站点上无法直接写回您电脑上的原文件,保存时往往只能触发下载;文件夹浏览、稳定保存等能力也受浏览器限制。桌面版(Electron)在
- Windows 本地运行,可像普通编辑器一样打开、保存 Markdown,体验更接近完整版 MyReader。
-
-
- 如何安装?
-
-
- - 点击下方链接下载 ZIP 压缩包;
- - 解压到任意目录(路径尽量不要含特殊字符);
- - 进入解压目录,运行其中的可执行程序(一般为
.exe);
- - 首次使用可通过菜单「打开」选择本地
.md 文件进行阅读与编辑。
-
-
- 下载地址:
-
-
- {DESKTOP_DOWNLOAD_URL}
-
-
-
- 若链接无法打开,请检查网络或联系站点管理员。桌面版仅支持 Windows;Mac / Linux 请继续使用 Web 版。
-
-
-
-
- 前往下载
-
-
setDesktopDownloadOpen(false)}>
- 关闭
-
-
-
+ 从历史中移除
+
) : null}
- {saveToast ? (
-
- {saveToast}
-
- ) : null}
void openFileDialog()}>
打开
@@ -1313,6 +1255,22 @@ export default function App(): React.ReactElement {
setSidebarHidden((v) => !v)}>
{sidebarHidden ? '显示侧栏' : '隐藏侧栏'}
+
+ 导出 HTML
+
+
setAutoSave((v) => !v)}
+ title={autoSave ? '自动保存已开启(3秒无操作后保存)' : '自动保存已关闭'}
+ style={autoSave ? { borderColor: 'var(--accent)', color: 'var(--accent)' } : undefined}
+ >
+ {autoSave ? '自动保存:开' : '自动保存:关'}
+
setWebNotesOpen(true)} title="Web 版使用说明">
额外说明
@@ -1327,31 +1285,31 @@ export default function App(): React.ReactElement {
@@ -1359,9 +1317,9 @@ export default function App(): React.ReactElement {
背景
@@ -1370,8 +1328,11 @@ export default function App(): React.ReactElement {
{!sidebarHidden ? (
- <>
-
) : (
- 请从侧栏选择文件、使用工具栏「打开」,或点击「新标签」开始编辑。
+
📖
+
请从侧栏选择文件、使用工具栏「打开」,或点击「新标签」开始编辑。
+
支持拖放 .md 文件到此处打开 · Ctrl+F 搜索 · Ctrl+S 保存
+
+ 📂
+ 拖放 Markdown 文件到此处打开
+
)
) : null}
@@ -1431,7 +1467,13 @@ export default function App(): React.ReactElement {
/>
) : (
- 请从侧栏选择文件、使用工具栏「打开」,或点击「新标签」开始编辑。
+
✏️
+
请从侧栏选择文件、使用工具栏「打开」,或点击「新标签」开始编辑。
+
支持拖放 .md 文件到此处打开 · Ctrl+F 搜索 · Ctrl+S 保存
+
+ 📂
+ 拖放 Markdown 文件到此处打开
+
)
) : null}
@@ -1479,12 +1521,104 @@ export default function App(): React.ReactElement {
) : (
- 请从侧栏选择文件、使用工具栏「打开」,或点击「新标签」开始编辑。
+
📝
+
请从侧栏选择文件、使用工具栏「打开」,或点击「新标签」开始编辑。
+
支持拖放 .md 文件到此处打开 · Ctrl+F 搜索 · Ctrl+S 保存
+
+ 📂
+ 拖放 Markdown 文件到此处打开
+
)
) : null}
+
+ {activeTab ? (
+
{}}
+ />
+ ) : null}
+
+ {statusText ? {statusText}
: null}
+
+ {saveToast ? (
+ setWebNotesOpen(false)}>
+
e.stopPropagation()}>
+
Web 版使用说明
+
+ {`MyReader Web 版说明
+
+由于浏览器环境的限制,Web 版与桌面版有以下差异:
+
+1. 文件操作
+ - 需要通过「打开」按钮或拖放 .md 文件来导入文档
+ - 保存时会触发文件下载(浏览器无法直接写回原文件)
+ - 支持 File System Access API 的浏览器可获得更好的保存体验
+
+2. 功能限制
+ - 不支持文件系统浏览(侧栏仅显示大纲)
+ - 不支持文件重命名/删除
+ - 不支持文件夹操作
+
+3. 快捷键
+ - Ctrl+S / Cmd+S:保存
+ - Ctrl+F / Cmd+F:搜索
+ - Ctrl+N / Cmd+N:新建标签
+ - Ctrl+W / Cmd+W:关闭标签
+ - Ctrl+Tab / Cmd+Tab:切换标签
+
+4. 数据存储
+ - 所有配置保存在浏览器 localStorage 中
+ - 清除浏览器数据会导致配置丢失`}
+
+
+ setWebNotesOpen(false)}>关闭
+
+
+
+ ) : null}
+
+ {desktopDownloadOpen ? (
+