diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index dfb6138f9..7021cb7ec 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -918,6 +918,7 @@ "moveToRight": "تحريك لليمين", "copyProtocol": "نسخ الرابط التشعبي للكتلة", "copyProtocolInMd": "‫نسخ رابط Markdown للكتلة‬", + "copyWebURL": "نسخ رابط الويب", "uploadAssets2CDN": "رفع ملفات الأصول إلى السحابة", "uploadAssets2CDNConfirmTip": "هل أنت متأكد من رفع الأصول في هذا المستند إلى السحابة؟", "notSupport1": "لا يمكن السحب والإسقاط عبر الدفاتر", diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index 87f65eb6d..45a11435a 100644 --- a/app/appearance/langs/de_DE.json +++ b/app/appearance/langs/de_DE.json @@ -918,6 +918,7 @@ "moveToRight": "Nach rechts bewegen", "copyProtocol": "Blockhyperlink kopieren", "copyProtocolInMd": "Block-Markdown-Link kopieren", + "copyWebURL": "Web-URL kopieren", "uploadAssets2CDN": "Asset-Dateien in die Cloud hochladen", "uploadAssets2CDNConfirmTip": "Sind Sie sicher, dass Sie die Assets in diesem Dokument in die Cloud hochladen möchten?", "notSupport1": "Unterstützt kein Drag & Drop über Notizen hinweg.", diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 795551f01..db0923393 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -918,6 +918,7 @@ "moveToRight": "Move Right", "copyProtocol": "Copy block hyperlink", "copyProtocolInMd": "Copy block Markdown link", + "copyWebURL": "Copy web URL", "uploadAssets2CDN": "Upload asset files to cloud", "uploadAssets2CDNConfirmTip": "Are you sure to upload the assets in this document to the cloud?", "notSupport1": "Does not support drag and drop across notebooks", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 34aceb5f6..b301671f0 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -918,6 +918,7 @@ "moveToRight": "Mover a la derecha", "copyProtocol": "Copiar hipervínculo de bloque", "copyProtocolInMd": "Copiar enlace de bloque de Markdown", + "copyWebURL": "Copiar URL web", "uploadAssets2CDN": "Subir archivos de activos a la nube", "uploadAssets2CDNConfirmTip": "¿Está seguro de cargar los recursos de este documento en la nube?", "notSupport1": "No admite la función de arrastrar y soltar en los cuadernos", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 3dd685777..cf9d5b68e 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -918,6 +918,7 @@ "moveToRight": "vers la Droite", "copyProtocol": "Copier bloc d'hyperliens", "copyProtocolInMd": "Copier le lien Markdown du bloc", + "copyWebURL": "Copier l'URL web", "uploadAssets2CDN": "Transférer les fichiers asset vers le Cloud", "uploadAssets2CDNConfirmTip": "Êtes-vous sûr de télécharger les ressources de ce document dans le cloud ?", "notSupport1": "Le glisser-déposer entre carnets n'est pas pris en charge", diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index addfa13a0..65ba6304f 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -918,6 +918,7 @@ "moveToRight": "העבר ימינה", "copyProtocol": "העתק היפר-קישור בלוק", "copyProtocolInMd": "העתק קישור Markdown של בלוק", + "copyWebURL": "העתק URL אינטרנט", "uploadAssets2CDN": "העלה קבצי נכסים לענן", "uploadAssets2CDNConfirmTip": "האם אתה בטוח להעלות את הנכסים במסמך זה לענן?", "notSupport1": "לא תומך בגרירת מסמכים בין מחברות", diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index 32f74669e..fe5e99bcb 100644 --- a/app/appearance/langs/it_IT.json +++ b/app/appearance/langs/it_IT.json @@ -918,6 +918,7 @@ "moveToRight": "Sposta a Destra", "copyProtocol": "Copia il collegamento del blocco", "copyProtocolInMd": "Copia collegamento Markdown del blocco", + "copyWebURL": "Copia URL web", "uploadAssets2CDN": "Carica file di asset su cloud", "uploadAssets2CDNConfirmTip": "Sei sicuro di voler caricare gli asset di questo documento sul cloud?", "notSupport1": "Non supporta il trascinamento tra taccuini", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 5646ac037..ea1c3c013 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -918,6 +918,7 @@ "moveToRight": "右に移動", "copyProtocol": "ハイパーリンクとしてコピー", "copyProtocolInMd": "Markdown リンクとしてコピー", + "copyWebURL": "ウェブURLをコピー", "uploadAssets2CDN": "アセットファイルをクラウドにアップロード", "uploadAssets2CDNConfirmTip": "このドキュメントのアセットをクラウドにアップロードしてもよろしいですか?", "notSupport1": "ノートブック間でのドラッグ&ドロップはサポートされていません", diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index 2d6b94ce4..399130729 100644 --- a/app/appearance/langs/pl_PL.json +++ b/app/appearance/langs/pl_PL.json @@ -918,6 +918,7 @@ "moveToRight": "Przenieś w prawo", "copyProtocol": "Kopiuj hiperlink bloku", "copyProtocolInMd": "Kopiuj link Markdown bloku", + "copyWebURL": "Kopiuj URL internetowy", "uploadAssets2CDN": "Prześlij pliki zasobów do chmury", "uploadAssets2CDNConfirmTip": "Czy na pewno chcesz przesłać zasoby w tym dokumencie do chmury?", "notSupport1": "Nie wspiera przeciągania i upuszczania między notesami", diff --git a/app/appearance/langs/pt_BR.json b/app/appearance/langs/pt_BR.json index e3c11bef4..bcc14820a 100644 --- a/app/appearance/langs/pt_BR.json +++ b/app/appearance/langs/pt_BR.json @@ -918,6 +918,7 @@ "moveToRight": "Mover para Direita", "copyProtocol": "Copiar hiperlink do bloco", "copyProtocolInMd": "Copiar link Markdown do bloco", + "copyWebURL": "Copiar URL da web", "uploadAssets2CDN": "Enviar arquivos de ativos para a nuvem", "uploadAssets2CDNConfirmTip": "Tem certeza que deseja enviar os ativos neste documento para a nuvem?", "notSupport1": "Não suporta arrastar e soltar entre blocos de notas", diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index 38cb303c4..833a121a7 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -918,6 +918,7 @@ "moveToRight": "Переместить направо", "copyProtocol": "Скопировать гиперссылку блока", "copyProtocolInMd": "Скопировать ссылку блока в Markdown", + "copyWebURL": "Скопировать веб-ссылку", "uploadAssets2CDN": "Загрузить файлы ресурсов в облако", "uploadAssets2CDNConfirmTip": "Вы уверены, что хотите загрузить ресурсы в этом документе в облако?", "notSupport1": "Не поддерживает перетаскивание между блокнотами", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index bc53571ca..43ab907dd 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -918,6 +918,7 @@ "moveToRight": "向右移", "copyProtocol": "複製塊超連結", "copyProtocolInMd": "複製塊 Markdown 連結", + "copyWebURL": "複製網頁連結", "uploadAssets2CDN": "上傳資料檔到圖床", "uploadAssets2CDNConfirmTip": "確定將該文檔內的資源文件上傳到圖床嗎?", "notSupport1": "不支援跨筆記本進行拖拽", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index a1a5f356f..56df08e07 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -918,6 +918,7 @@ "moveToRight": "向右移", "copyProtocol": "复制块超链接", "copyProtocolInMd": "复制块 Markdown 链接", + "copyWebURL": "复制网页链接", "uploadAssets2CDN": "上传资源文件到图床", "uploadAssets2CDNConfirmTip": "确定将该文档内的资源文件上传到图床吗?", "notSupport1": "不支持跨笔记本进行拖拽", diff --git a/app/src/menus/commonMenuItem.ts b/app/src/menus/commonMenuItem.ts index 330b107b5..1a06fd56e 100644 --- a/app/src/menus/commonMenuItem.ts +++ b/app/src/menus/commonMenuItem.ts @@ -443,7 +443,21 @@ export const copySubMenu = (ids: string[], accelerator = true, focusElement?: El focusBlock(focusElement); } } - }, { + }, + /// #if BROWSER + { + id: "copyWebURL", + iconHTML: "", + label: window.siyuan.languages.copyWebURL, + click: () => { + copyTextByType(ids, "webURL"); + if (focusElement) { + focusBlock(focusElement); + } + } + }, + /// #endif + { id: "copyHPath", iconHTML: "", label: window.siyuan.languages.copyHPath, diff --git a/app/src/protyle/toolbar/util.ts b/app/src/protyle/toolbar/util.ts index 7319f33c5..621e4e863 100644 --- a/app/src/protyle/toolbar/util.ts +++ b/app/src/protyle/toolbar/util.ts @@ -216,7 +216,7 @@ export const toolbarKeyToMenu = (toolbar: Array) => { }; export const copyTextByType = async (ids: string[], - type: "ref" | "blockEmbed" | "protocol" | "protocolMd" | "hPath" | "id") => { + type: "ref" | "blockEmbed" | "protocol" | "protocolMd" | "hPath" | "id" | "webURL") => { let text = ""; for (let i = 0; i < ids.length; i++) { const id = ids[i]; @@ -236,6 +236,9 @@ export const copyTextByType = async (ids: string[], } else if (type === "hPath") { const response = await fetchSyncPost("/api/filetree/getHPathByID", {id}); text += response.data; + } else if (type === "webURL") { + const origin = window.location.origin; + text += `${origin}/?id=${id}`; } else if (type === "id") { text += id; }