Skip to content

Commit ef435aa

Browse files
committedJun 1, 2023
feat: 优化界面交互
·
v1.8.1v1.6.0
1 parent 870b5fb commit ef435aa

File tree

3 files changed

+49
-23
lines changed

3 files changed

+49
-23
lines changed
 

‎src/i18n/zh_CN.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,15 @@
2121
"loading": "加载中",
2222
"importFile": "单个导入",
2323
"importTip": "支持.md, .epub, .docx, .html, .opml",
24-
"importTipHelp": "鼠标移上来查看帮助详情",
25-
"importSingleNotice1": "1、将文档转换成Markdown临时文件,然后创建文档",
26-
"importSingleNotice2": "2、html资源文件夹(仅PC客户端)必须是 [文件名]_files",
24+
"importTipHelp": "查看帮助",
25+
"importSingleNotice1": "1、非MD文件会将文档转换成Markdown临时文件,然后创建文档",
26+
"importSingleNotice2": "2、MD文档支持带资源文件,路径必须是相对路径",
27+
"importSingleNotice3": "3、html支持资源文件夹(仅PC客户端)且必须是 [文件名]_files",
2728
"importFolder": "批量导入",
28-
"importFolderTip": "支持混合.epub,.docx,.html,.opml",
29+
"importFolderTip": "支持混合.epub,.docx,.opml",
2930
"importNotRecursive1": "1、不递归",
3031
"importNotRecursive2": "2、不支持MD,批量导入MD请使用笔记本自带功能。",
31-
"importNotRecursive3": "3、html资源文件夹(仅PC客户端)必须是 [文件名]_files",
32+
"importNotRecursive3": "3、不支持html,因为安全限制,浏览器现在无法获取绝对路径,可通过单个导入(支持资源文件)",
3233
"importTipNotAllowed": "不允许的文件类型:",
3334
"importError": "导入出错:",
3435
"cleanTemp": "清理临时文件",

‎src/lib/ImportForm.svelte

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
// 用户指南不应该作为可以写入的笔记本
4242
const hiddenNotebook: Set<string> = new Set(["思源笔记用户指南", "SiYuan User Guide"])
4343
let tempCount = 0
44-
const allowedExtensions = ["docx", "epub", "md", "html", "opml"]
44+
const allowedMultiExtensions = ["docx", "epub", "opml"]
4545
4646
// events
4747
const notebookChange = async function () {
@@ -151,7 +151,7 @@
151151
// 转换
152152
const uploadResult = await ImportService.uploadAndConvert(pluginInstance, file)
153153
// 导入
154-
await ImportService.singleImport(pluginInstance, uploadResult.toFilePath, toNotebookId,uploadResult.isMd)
154+
await ImportService.singleImport(pluginInstance, uploadResult.toFilePath, toNotebookId, uploadResult.isMd)
155155
}
156156
// =================
157157
// 单文件转换结束
@@ -179,7 +179,7 @@
179179
const fileName = entry.name
180180
const ext = fileName.split(".").pop().toLowerCase()
181181
182-
if (!allowedExtensions.includes(ext)) {
182+
if (!allowedMultiExtensions.includes(ext)) {
183183
console.warn(`${pluginInstance.i18n.importTipNotAllowed} ${fileName}`)
184184
continue
185185
}
@@ -196,6 +196,16 @@
196196
// =================
197197
// 批量转换结束
198198
// =================
199+
200+
let showSingleImportTip = false
201+
let showMultiImportTip = false
202+
const toggleSingleHighlight = () => {
203+
showSingleImportTip = !showSingleImportTip
204+
}
205+
const toggleMultiHighlight = () => {
206+
showMultiImportTip = !showMultiImportTip
207+
console.log(showMultiImportTip)
208+
}
199209
</script>
200210

201211
<div class="b3-dialog__content importer-form-container">
@@ -225,10 +235,11 @@
225235
<div class="fn__flex b3-label config__item">
226236
<div class="fn__flex-1 fn__flex-center">
227237
{pluginInstance.i18n.importFile}
228-
<div class="b3-label__text tips">
229-
<div>{pluginInstance.i18n.importTip} <span class="sign">({pluginInstance.i18n.importTipHelp})</span></div>
230-
<div class="highlight">{pluginInstance.i18n.importSingleNotice1}</div>
231-
<div class="highlight">{pluginInstance.i18n.importSingleNotice2}</div>
238+
<div class="b3-label__text tips" on:click={toggleSingleHighlight} on:keydown={handleKeyDown}>
239+
<div>{pluginInstance.i18n.importTip} <span class={showSingleImportTip ? "sign hidden" : "sign"}>({pluginInstance.i18n.importTipHelp})</span></div>
240+
<div class={showSingleImportTip ? "highlight" : "highlight hidden"}>{pluginInstance.i18n.importSingleNotice1}</div>
241+
<div class={showSingleImportTip ? "highlight" : "highlight hidden"}>{pluginInstance.i18n.importSingleNotice2}</div>
242+
<div class={showSingleImportTip ? "highlight" : "highlight hidden"}>{pluginInstance.i18n.importSingleNotice3}</div>
232243
</div>
233244
</div>
234245
<span class="fn__space" />
@@ -249,11 +260,19 @@
249260
<div class="fn__flex b3-label config__item">
250261
<div class="fn__flex-1 fn__flex-center">
251262
{pluginInstance.i18n.importFolder}
252-
<div class="b3-label__text">
253-
<div>{pluginInstance.i18n.importFolderTip} <span class="sign">({pluginInstance.i18n.importTipHelp})</span></div>
254-
<div class="highlight">{pluginInstance.i18n.importNotRecursive1}</div>
255-
<div class="highlight">{pluginInstance.i18n.importNotRecursive2}</div>
256-
<div class="highlight">{pluginInstance.i18n.importNotRecursive3}</div>
263+
<div class="b3-label__text tips" on:click={toggleMultiHighlight} on:keydown={handleKeyDown}>
264+
<div>
265+
{pluginInstance.i18n.importFolderTip} <span class={showMultiImportTip ? "sign hidden" : "sign"}>({pluginInstance.i18n.importTipHelp})</span>
266+
</div>
267+
<div class={showMultiImportTip ? "highlight" : "highlight hidden"}>
268+
{pluginInstance.i18n.importNotRecursive1}
269+
</div>
270+
<div class={showMultiImportTip ? "highlight" : "highlight hidden"}>
271+
{pluginInstance.i18n.importNotRecursive2}
272+
</div>
273+
<div class={showMultiImportTip ? "highlight" : "highlight hidden"}>
274+
{pluginInstance.i18n.importNotRecursive3}
275+
</div>
257276
</div>
258277
</div>
259278
<span class="fn__space" />
@@ -289,7 +308,9 @@
289308

290309
<div class="fn__flex b3-label config__item">
291310
{pluginInstance.i18n.reportBug1}
292-
&nbsp;<a href="https://github.com/terwer/siyuan-plugin-importer/issues/new" target="_blank">{pluginInstance.i18n.reportBug2}</a>&nbsp;
311+
&nbsp;<a href="https://github.com/terwer/siyuan-plugin-importer/issues/new" target="_blank"
312+
>{pluginInstance.i18n.reportBug2}</a
313+
>&nbsp;
293314
{pluginInstance.i18n.reportBug3}
294315
</div>
295316
</div>
@@ -307,24 +328,23 @@
307328
308329
.highlight {
309330
color: red;
310-
display: none; /* 初始状态下隐藏 */
311331
}
312332
313333
.link {
314334
color: var(--b3-theme-primary);
315335
cursor: pointer;
316336
}
317337
318-
.tips{
338+
.tips {
319339
cursor: pointer;
320340
}
321341
322-
.b3-label__text .sign{
342+
.b3-label__text .sign {
323343
cursor: pointer;
324344
color: var(--b3-theme-primary);
325345
}
326346
327-
.b3-label__text:hover .highlight {
328-
display: block;
347+
.highlight.hidden,.sign.hidden {
348+
display: none;
329349
}
330350
</style>

‎src/utils/utils.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ export const copyDir = async (src, dest) => {
146146
const fs = window.require("fs")
147147
const path = window.require("path")
148148

149+
if(!fs.existsSync(src)){
150+
console.warn("Can not get path")
151+
return
152+
}
153+
149154
// 创建文件夹
150155
if (!fs.existsSync(dest)) {
151156
await mkdirp(dest)

0 commit comments

Comments
 (0)
Please sign in to comment.