From 7b17fd81c604db6f27c8e9ba836ed921ca99f7ed Mon Sep 17 00:00:00 2001 From: pardnchiu Date: Sat, 18 Jan 2025 22:16:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=AF=E8=87=AA=E8=A8=82?= =?UTF-8?q?=E7=9A=84=E9=9D=9E=E5=90=8C=E6=AD=A5=E5=9C=96=E7=89=87=E4=B8=8A?= =?UTF-8?q?=E5=82=B3=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 36 +++++++++++++++++++++++++++++++--- README.zh.md | 35 ++++++++++++++++++++++++++++++--- dist/NanoMD-output.css | 2 +- dist/NanoMD.css | 2 +- dist/NanoMD.esm.js | 2 +- dist/NanoMD.js | 2 +- package.json | 2 +- page/live.html | 13 +++++++++++- src/data.js | Bin 17618 -> 17618 bytes src/model/editor.js | Bin 40718 -> 41082 bytes src/model/editorTab.js | Bin 5990 -> 6392 bytes src/model/viewer.js | Bin 15847 -> 15957 bytes src/sass/NanoMD.scss | Bin 769 -> 879 bytes src/sass/_pd-md-viewer.scss | Bin 14785 -> 14791 bytes static/css/index.css | 2 +- static/md/en/installation.md | 37 +++++++++++++++++++++++++++++++---- static/md/zh/installation.md | 36 ++++++++++++++++++++++++++++++---- static/sass/_editor.scss | 6 +++--- 18 files changed, 151 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 2fb98de..9909a8e 100644 --- a/README.md +++ b/README.md @@ -97,12 +97,42 @@ const domEditor = new MDEditor({ defaultContent: "", // Initial content to display hotKey: 1, // Enable keyboard shortcuts, default: 1 (enabled) preventRefresh: 0, // Prevent page refresh, default: 0 (disabled) - tabPin: 0, // Enable Tab indentation, default: 0 (disabled) + tabPin: 0, // Pin Tab, default: 0 (disabled) wrap: 1, // Enable word wrapping, default: 1 (enabled) - autoSave: 1, // Auto-save feature, default: 1 (enabled) + autosave: 1, // Auto-save feature, default: 1 (enabled) event: { save: result => { // Custom save event console.log(result); // Output current Markdown content + }, + upload: async result => { + /** + * Custom Image Upload Function + * + * Purpose: + * - This function allows developers to define custom image upload logic. + * - After the upload is completed, it returns an object containing the image URL and alt text, + * which is then used to insert the image into the editor. + * + * Usage: + * - This function is invoked by the editor when an image needs to be uploaded. + * - Developers can implement custom upload logic (e.g., using an API to upload the image to a server). + * + * Return Value: + * - The function must return an object with the following fields: + * - `href`: The URL of the image to be inserted into the editor. + * - `alt`: The alternative text for the image (used when the image cannot be loaded). + * + * Example: + * - The current implementation simulates a 1-second delay and returns an empty `href` and `alt`. + * - You can replace this logic with actual upload functionality (e.g., using fetch or axios to send an HTTP request). + */ + const link = await new Promise(resolve => { + setTimeout(() => resolve({ + href: "", // The image URL (replace with the actual upload response link) + alt: "" // The alternative text for the image (replace with a description provided during upload) + }), 1000); // Simulating a 1-second delay + }); + return link; } }, style: { @@ -145,7 +175,7 @@ const domViewer = new MDViewer({ (...).appendChild(domEditor.body); (...).appendChild(domViewer.body); -// Version 1.10.1 and above +// Version 1.11.0 and above const domParser = new MDParser({ standard: 1 // Support only standard syntax, default: 1 | true }); diff --git a/README.zh.md b/README.zh.md index 97ada33..1f673cc 100644 --- a/README.zh.md +++ b/README.zh.md @@ -97,12 +97,41 @@ const domEditor = new MDEditor({ defaultContent: "", // 預設內容,初始顯示 hotKey: 1, // 啟用快捷鍵,預設為 1 preventRefresh: 0, // 防止頁面重整,預設值:0 - tabPin: 0, // 啟用 Tab 縮排,預設值:0 (關閉) + tabPin: 0, // 釘選 Tab,預設值:0 (關閉) wrap: 1, // 啟用文字自動換行,預設值:1 (開啟) - autoSave: 1, // 自動儲存,預設值:1 (開啟) + autosave: 1, // 自動儲存,預設值:1 (開啟) event: { save: result => { // 自定義儲存事件 console.log(result); // 輸出當前 Markdown 內容 + }, + upload: async result => { + /** + * 自定義圖片上傳函式 + * + * 功能: + * - 此函式允許開發者定義圖片上傳邏輯。 + * - 上傳完成後,回傳一個包含圖片連結和替代文字的物件,用於將圖片插入編輯器。 + * + * 使用方式: + * - 在需要上傳圖片時,編輯器會調用此函式。 + * - 開發者可以自定義上傳處理(例如:通過 API 將圖片上傳到伺服器)。 + * + * 回傳值: + * - 必須是包含以下字段的物件: + * - `href`:圖片的 URL,將被插入到編輯器中。 + * - `alt`:圖片的替代文字(用於圖片無法加載時的顯示)。 + * + * 示例: + * - 目前模擬1秒延遲後返回空的 `href` 和 `alt`。 + * - 可替換為真實的上傳邏輯(如使用 fetch 或 axios 發送 HTTP 請求)。 + */ + const link = await new Promise(resolve => { + setTimeout(() => resolve({ + href: "", // 圖片的 URL(可替換為真實上傳返回的鏈接) + alt: "" // 圖片的替代文字(可替換為上傳時的描述) + }), 1000); // 模擬 1 秒延遲 + }); + return link; } }, style: { @@ -145,7 +174,7 @@ const domViewer = new MDViewer({ (...).appendChild(domEditor.body); (...).appendChild(domViewer.body); -// 1.10.1 版本以上 +// 1.11.0 版本以上 const domParser = new MDParser({ standard: 1 // 僅支持標準語法,預設值:1 | true }); diff --git a/dist/NanoMD-output.css b/dist/NanoMD-output.css index 496268c..6825c95 100644 --- a/dist/NanoMD-output.css +++ b/dist/NanoMD-output.css @@ -1 +1 @@ -body{display:flex;justify-content:center;align-items:flex-start;margin:0;padding:0;width:100%;height:100%;background-color:#f8f8ff;overflow:scroll}body *{margin:0;padding:0;font-family:"Noto Sans TC",sans-serif;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:manipulation;box-sizing:border-box}body *::-webkit-scrollbar{display:none}body>section{padding:1rem !important;width:100%;background-color:#fff;box-sizing:border-box;box-shadow:0 .25rem .5rem rgba(0,0,0,.0509803922);transition:.3s}@media screen and (min-width: 640px){body>section{padding:3rem !important;max-width:800px}}.pd-md-viewer{position:relative;margin:0;padding:0 0 5rem;font-size:.875rem;word-break:break-word;word-wrap:break-word}.pd-md-viewer[data-fill="1"]{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden scroll}.pd-md-viewer>*:nth-child(1){margin-top:0 !important;padding-top:0 !important}.pd-md-viewer span.material-symbols-outlined{font-family:"Material Symbols Outlined" !important}.pd-md-viewer *{margin:0;padding:0;flex-shrink:0;max-width:100% !important;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:.875rem;letter-spacing:.5px;color:inherit;white-space:inherit;word-break:inherit;word-wrap:inherit;border:none;outline:none;object-fit:cover;appearance:unset;-webkit-appearance:unset;-moz-appearance:unset;overflow:visible}.pd-md-viewer *:nth-last-child(1){margin-bottom:0}.pd-md-viewer * h1,.pd-md-viewer * h2,.pd-md-viewer * h3,.pd-md-viewer * h4,.pd-md-viewer * h5,.pd-md-viewer * h6{padding:.5rem 0 .25rem !important;margin:.25rem 0 .5rem !important}.pd-md-viewer * b,.pd-md-viewer * strong,.pd-md-viewer * i,.pd-md-viewer * em,.pd-md-viewer * u,.pd-md-viewer * s,.pd-md-viewer * a,.pd-md-viewer * mark{font-size:inherit !important;line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer h3,.pd-md-viewer h4,.pd-md-viewer h5,.pd-md-viewer h6{margin-bottom:1rem;font-weight:700;color:#000}.pd-md-viewer h1 code,.pd-md-viewer h2 code,.pd-md-viewer h3 code,.pd-md-viewer h4 code,.pd-md-viewer h5 code,.pd-md-viewer h6 code{line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2{padding:1.5rem 0 .5rem}.pd-md-viewer h3,.pd-md-viewer h4{padding:1.25rem 0 .25rem}.pd-md-viewer h5,.pd-md-viewer h6{padding:1rem 0 0}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer hr{border:none;border-bottom:1px solid #ddd}.pd-md-viewer h1{font-size:2.125rem}.pd-md-viewer h1 code,.pd-md-viewer h1 sup,.pd-md-viewer h1 sub{font-size:calc(2.125rem - 1px)}.pd-md-viewer h2{font-size:1.625rem}.pd-md-viewer h2 code,.pd-md-viewer h2 sup,.pd-md-viewer h2 sub{font-size:calc(1.625rem - 1px)}.pd-md-viewer h3{font-size:1.375rem}.pd-md-viewer h3 code,.pd-md-viewer h3 sup,.pd-md-viewer h3 sub{font-size:calc(1.375rem - 1px)}.pd-md-viewer h4{font-size:1.125rem}.pd-md-viewer h4 code,.pd-md-viewer h4 sup,.pd-md-viewer h4 sub{font-size:calc(1.125rem - 1px)}.pd-md-viewer h5{font-size:1rem}.pd-md-viewer h5 code,.pd-md-viewer h5 sup,.pd-md-viewer h5 sub{font-size:calc(1rem - 1px)}.pd-md-viewer h6{font-size:.875rem}.pd-md-viewer h6 code,.pd-md-viewer h6 sup,.pd-md-viewer h6 sub{font-size:calc(.875rem - 1px)}.pd-md-viewer hr{margin:.75rem 0 !important;height:1px}.pd-md-viewer b,.pd-md-viewer strong{font-weight:700}.pd-md-viewer p{margin:.75rem 0;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details{padding-left:1rem;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details summary{margin-left:-1rem;line-height:1.75rem;min-height:1.75rem;cursor:pointer}.pd-md-viewer i,.pd-md-viewer em{font-style:italic}.pd-md-viewer mark{background-color:#ff0}.pd-md-viewer sup,.pd-md-viewer sub{font-size:.75rem}.pd-md-viewer a{position:relative;letter-spacing:1px;font-weight:500;color:blue}.pd-md-viewer a.tag{display:inline-block;vertical-align:middle;margin-top:.5rem;margin-right:.5rem;padding:0 .5rem;text-decoration:none;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);color:#000;border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer a.tag::before{content:"#"}.pd-md-viewer button.more{margin-left:.5rem;padding:0 .5rem;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer section.more{position:relative;display:flex;justify-content:center;align-items:center;width:300px;max-width:100%;aspect-ratio:2/1;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer section.more img.cover{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer section.more img.icon{z-index:1;width:60px;height:60px;background-color:rgba(0,0,0,0);cursor:pointer}@media(hover: hover){.pd-md-viewer a:hover::after{padding:0 .25rem;max-width:unset;opacity:1}}.pd-md-viewer a::after{content:attr(href);position:absolute;z-index:1;top:100%;left:0;padding:0;max-width:100%;line-height:1.25rem;white-space:nowrap;font-size:.625rem;border-radius:.25rem;background-color:#777;color:#fff;opacity:0;transition:.3s;pointer-events:none}.pd-md-viewer img{margin-bottom:0;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer img[src=""]{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer video{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer table{margin-top:.5rem;table-layout:fixed;border-collapse:collapse}.pd-md-viewer table thead{background-color:#f7f7fa}.pd-md-viewer table tbody tr:nth-child(2n-1){background-color:#fff}.pd-md-viewer table tbody tr:nth-child(2n){background-color:#f7f7fa}.pd-md-viewer table th{font-weight:600}.pd-md-viewer table th,.pd-md-viewer table td{padding:.375rem .75rem;min-width:4rem;border:1px solid rgba(0,0,0,.0509803922);border-collapse:collapse;border-radius:.125rem}.pd-md-viewer ul,.pd-md-viewer ol{margin:.5rem 0 .5rem 1.5rem;padding-left:.5rem}.pd-md-viewer ul *,.pd-md-viewer ol *{margin-bottom:0}.pd-md-viewer ul li,.pd-md-viewer ol li{line-height:1.75rem;min-height:1.75rem;list-style-position:outside;letter-spacing:1px}.pd-md-viewer ul li::marker,.pd-md-viewer ol li::marker{font-family:"Roboto Mono",monospace;font-size:.75rem}.pd-md-viewer ul ul,.pd-md-viewer ul ol,.pd-md-viewer ol ul,.pd-md-viewer ol ol{margin-top:0}.pd-md-viewer ul>li{list-style-type:disc}.pd-md-viewer ul>li>ul>li{list-style-type:circle}.pd-md-viewer ul>li>ul>li>ul>li{list-style-type:square}.pd-md-viewer ul>li>ul>li>ul>li>ul>li{list-style-type:"+ "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"- "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"> "}.pd-md-viewer ol>li{list-style-type:decimal}.pd-md-viewer ol>li>ol>li{list-style-type:upper-alpha}.pd-md-viewer ol>li>ol>li>ol>li{list-style-type:lower-alpha}.pd-md-viewer ol>li>ol>li>ol>li>ol>li{list-style-type:upper-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:lower-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:"> "}.pd-md-viewer li label{display:inline-block;vertical-align:middle;margin-bottom:0}.pd-md-viewer li:has(label){list-style-type:none !important}.pd-md-viewer input[type=checkbox]{vertical-align:middle;margin-left:-1.5rem;margin-right:.5rem;width:1.25rem;height:1.25rem;appearance:auto;-webkit-appearance:auto;-moz-appearance:auto}.pd-md-viewer code{padding:.125rem .5rem;line-height:1.5rem;min-height:1.5rem;letter-spacing:1px;font-family:"Roboto Mono",monospace !important;font-size:.75rem;font-weight:400;background-color:#f7f7fa;border-radius:.25rem;border:.5px solid rgba(0,0,0,.0509803922)}.pd-md-viewer code:has(ol),.pd-md-viewer code:has(ul){padding:0}.pd-md-viewer code *{letter-spacing:1px;font-family:"Roboto Mono",monospace;font-size:.75rem;font-weight:400;margin-bottom:0 !important}.pd-md-viewer code ol,.pd-md-viewer code ul{margin:0 !important;padding:.5rem 1rem;overflow:scroll}.pd-md-viewer code ol li,.pd-md-viewer code ul li{list-style-type:none;line-height:1.25rem;min-height:1.25rem;white-space:nowrap}.pd-md-viewer pre{position:relative;border:none !important}.pd-md-viewer pre.success code{background-color:#e0ffe1}.pd-md-viewer pre.success code[name]:not([name=""])::before{background-color:#e0ffe1;border-bottom:1px solid #e0ffe1}.pd-md-viewer pre.success button::after{content:"已複製"}.pd-md-viewer pre.error code{background-color:#ffd4d4}.pd-md-viewer pre.error code[name]:not([name=""])::before{background-color:#ffd4d4;border-bottom:1px solid #ffd4d4}.pd-md-viewer pre.error button::after{content:"無法複製"}.pd-md-viewer pre.success button,.pd-md-viewer pre.error button{opacity:1}.pd-md-viewer pre[name]:not([name=""]) button{top:calc(2.375rem - 1px)}@media(hover: hover){.pd-md-viewer pre:not(.success):not(.error):hover code{background-color:#ddd}.pd-md-viewer pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#ddd;border-bottom:1px solid #ddd;color:#444}.pd-md-viewer pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer pre code{position:relative;display:block;padding:0;margin-bottom:.5rem !important;background-color:#f7f7fa;border:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre code li{line-height:1.75rem}.pd-md-viewer pre code[name]:not([name=""]){margin-top:1.75rem;border-radius:0 .25rem .25rem .25rem}.pd-md-viewer pre code[name]:not([name=""])::before{content:attr(name);position:absolute;left:-1px;top:-1.25rem;padding:0 .5rem;height:1.25rem;line-height:1.25rem;min-height:1.25rem;font-size:.75rem;background-color:#f7f7fa;color:#777;border-radius:.25rem .25rem 0 0;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre button{position:absolute;top:calc(.75rem - 1px);right:.5rem;padding:0 .5rem;line-height:1.5rem;font-size:.75rem;background-color:#777 !important;color:#fff !important;border-radius:.25rem;opacity:0;transition:.3s;cursor:pointer}.pd-md-viewer pre button::after{content:"複製代碼";color:#fff !important}.pd-md-viewer blockquote{margin-bottom:1rem;padding-left:1rem;line-height:1.75rem;min-height:1.75rem;font-style:italic;border-left:.25rem solid #ddd;color:#666;background-color:#fbfbfb}.pd-md-viewer blockquote.NOTE{border-left:.25rem solid #1667c5;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.NOTE span.hint{color:#1667c5}.pd-md-viewer blockquote.TIP{border-left:.25rem solid #1d7c30;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.TIP span.hint{color:#1d7c30}.pd-md-viewer blockquote.IMPORTANT{border-left:.25rem solid #7f53cb;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.IMPORTANT span.hint{color:#7f53cb}.pd-md-viewer blockquote.WARNING{border-left:.25rem solid #95661a;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.WARNING span.hint{color:#95661a}.pd-md-viewer blockquote.CAUTION{border-left:.25rem solid #ba2929;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.CAUTION span.hint{color:#ba2929}.pd-md-viewer blockquote span.hint i{margin-right:.375rem;font-style:normal;font-size:.75rem}.pd-md-viewer blockquote span.hint span.material-symbols-outlined{top:-1px;margin-right:.25rem;vertical-align:middle;font-size:1rem}.pd-md-viewer blockquote *{margin-bottom:0;color:inherit}.pd-md-viewer blockquote>br:nth-last-child(1){display:none}.pd-md-viewer iframe{max-width:100%;aspect-ratio:16/9}.pd-md-viewer[data-mode=dark]{background-color:#272832}.pd-md-viewer[data-mode=dark] *{color:#fff}.pd-md-viewer[data-mode=dark] mark{color:#000}.pd-md-viewer[data-mode=dark] a.tag{background-color:#1b1c19;color:#fff;border:1px solid #1b1c19}.pd-md-viewer[data-mode=dark] code{background-color:#1b1c19;border:.5px solid #1b1c19}.pd-md-viewer[data-mode=dark] pre code[name]:not([name=""])::before{background-color:#1b1c19;color:#777;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);border-bottom:1px solid rgba(0,0,0,0)}.pd-md-viewer[data-mode=dark] table thead{background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table th,.pd-md-viewer[data-mode=dark] table td{border:1px solid rgba(255,255,255,.2039215686)}@media(hover: hover){.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code{background-color:#111}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#111;border-bottom:1px solid rgba(0,0,0,0);color:#fff}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer[data-mode=dark] blockquote{background-color:#222;border-left:.25rem solid #2b4d74} +body{display:flex;justify-content:center;align-items:flex-start;margin:0;padding:0;width:100%;height:100%;background-color:#f8f8ff;overflow:scroll}body *{margin:0;padding:0;font-family:"Noto Sans TC",sans-serif;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:manipulation;box-sizing:border-box}body *::-webkit-scrollbar{display:none}body>section{padding:1rem !important;width:100%;background-color:#fff;box-sizing:border-box;box-shadow:0 .25rem .5rem rgba(0,0,0,.0509803922);transition:.3s}@media screen and (min-width: 640px){body>section{padding:3rem !important;max-width:800px}}.pd-md-viewer{position:relative;margin:0;padding:1rem 1rem 5rem;font-size:.875rem;word-break:break-word;word-wrap:break-word}.pd-md-viewer[data-fill="1"]{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden scroll}.pd-md-viewer>*:nth-child(1){margin-top:0 !important;padding-top:0 !important}.pd-md-viewer span.material-symbols-outlined{font-family:"Material Symbols Outlined" !important}.pd-md-viewer *{margin:0;padding:0;flex-shrink:0;max-width:100% !important;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:.875rem;letter-spacing:.5px;color:inherit;white-space:inherit;word-break:inherit;word-wrap:inherit;border:none;outline:none;object-fit:cover;appearance:unset;-webkit-appearance:unset;-moz-appearance:unset;overflow:visible}.pd-md-viewer *:nth-last-child(1){margin-bottom:0}.pd-md-viewer * h1,.pd-md-viewer * h2,.pd-md-viewer * h3,.pd-md-viewer * h4,.pd-md-viewer * h5,.pd-md-viewer * h6{padding:.5rem 0 .25rem !important;margin:.25rem 0 .5rem !important}.pd-md-viewer * b,.pd-md-viewer * strong,.pd-md-viewer * i,.pd-md-viewer * em,.pd-md-viewer * u,.pd-md-viewer * s,.pd-md-viewer * a,.pd-md-viewer * mark{font-size:inherit !important;line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer h3,.pd-md-viewer h4,.pd-md-viewer h5,.pd-md-viewer h6{margin-bottom:1rem;font-weight:700;color:#000}.pd-md-viewer h1 code,.pd-md-viewer h2 code,.pd-md-viewer h3 code,.pd-md-viewer h4 code,.pd-md-viewer h5 code,.pd-md-viewer h6 code{line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2{padding:1.5rem 0 .5rem}.pd-md-viewer h3,.pd-md-viewer h4{padding:1.25rem 0 .25rem}.pd-md-viewer h5,.pd-md-viewer h6{padding:1rem 0 0}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer hr{border:none;border-bottom:1px solid #ddd}.pd-md-viewer h1{font-size:2.125rem}.pd-md-viewer h1 code,.pd-md-viewer h1 sup,.pd-md-viewer h1 sub{font-size:calc(2.125rem - 1px)}.pd-md-viewer h2{font-size:1.625rem}.pd-md-viewer h2 code,.pd-md-viewer h2 sup,.pd-md-viewer h2 sub{font-size:calc(1.625rem - 1px)}.pd-md-viewer h3{font-size:1.375rem}.pd-md-viewer h3 code,.pd-md-viewer h3 sup,.pd-md-viewer h3 sub{font-size:calc(1.375rem - 1px)}.pd-md-viewer h4{font-size:1.125rem}.pd-md-viewer h4 code,.pd-md-viewer h4 sup,.pd-md-viewer h4 sub{font-size:calc(1.125rem - 1px)}.pd-md-viewer h5{font-size:1rem}.pd-md-viewer h5 code,.pd-md-viewer h5 sup,.pd-md-viewer h5 sub{font-size:calc(1rem - 1px)}.pd-md-viewer h6{font-size:.875rem}.pd-md-viewer h6 code,.pd-md-viewer h6 sup,.pd-md-viewer h6 sub{font-size:calc(.875rem - 1px)}.pd-md-viewer hr{margin:.75rem 0 !important;height:1px}.pd-md-viewer b,.pd-md-viewer strong{font-weight:700}.pd-md-viewer p{margin:.75rem 0;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details{padding-left:1rem;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details summary{margin-left:-1rem;line-height:1.75rem;min-height:1.75rem;cursor:pointer}.pd-md-viewer i,.pd-md-viewer em{font-style:italic}.pd-md-viewer mark{background-color:#ff0}.pd-md-viewer sup,.pd-md-viewer sub{font-size:.75rem}.pd-md-viewer a{position:relative;letter-spacing:1px;font-weight:500;color:blue}.pd-md-viewer a.tag{display:inline-block;vertical-align:middle;margin-top:.5rem;margin-right:.5rem;padding:0 .5rem;text-decoration:none;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);color:#000;border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer a.tag::before{content:"#"}.pd-md-viewer button.more{margin-left:.5rem;padding:0 .5rem;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer section.more{position:relative;display:flex;justify-content:center;align-items:center;width:300px;max-width:100%;aspect-ratio:2/1;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer section.more img.cover{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer section.more img.icon{z-index:1;width:60px;height:60px;background-color:rgba(0,0,0,0);cursor:pointer}@media(hover: hover){.pd-md-viewer a:hover::after{padding:0 .25rem;max-width:unset;opacity:1}}.pd-md-viewer a::after{content:attr(href);position:absolute;z-index:1;top:100%;left:0;padding:0;max-width:100%;line-height:1.25rem;white-space:nowrap;font-size:.625rem;border-radius:.25rem;background-color:#777;color:#fff;opacity:0;transition:.3s;pointer-events:none}.pd-md-viewer img{margin-bottom:0;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer img[src=""]{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer video{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer table{margin-top:.5rem;table-layout:fixed;border-collapse:collapse}.pd-md-viewer table thead{background-color:#f7f7fa}.pd-md-viewer table tbody tr:nth-child(2n-1){background-color:#fff}.pd-md-viewer table tbody tr:nth-child(2n){background-color:#f7f7fa}.pd-md-viewer table th{font-weight:600}.pd-md-viewer table th,.pd-md-viewer table td{padding:.375rem .75rem;min-width:4rem;border:1px solid rgba(0,0,0,.0509803922);border-collapse:collapse;border-radius:.125rem}.pd-md-viewer ul,.pd-md-viewer ol{margin:.5rem 0 .5rem 1.5rem;padding-left:.5rem}.pd-md-viewer ul *,.pd-md-viewer ol *{margin-bottom:0}.pd-md-viewer ul li,.pd-md-viewer ol li{line-height:1.75rem;min-height:1.75rem;list-style-position:outside;letter-spacing:1px}.pd-md-viewer ul li::marker,.pd-md-viewer ol li::marker{font-family:"Roboto Mono",monospace;font-size:.75rem}.pd-md-viewer ul ul,.pd-md-viewer ul ol,.pd-md-viewer ol ul,.pd-md-viewer ol ol{margin-top:0}.pd-md-viewer ul>li{list-style-type:disc}.pd-md-viewer ul>li>ul>li{list-style-type:circle}.pd-md-viewer ul>li>ul>li>ul>li{list-style-type:square}.pd-md-viewer ul>li>ul>li>ul>li>ul>li{list-style-type:"+ "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"- "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"> "}.pd-md-viewer ol>li{list-style-type:decimal}.pd-md-viewer ol>li>ol>li{list-style-type:upper-alpha}.pd-md-viewer ol>li>ol>li>ol>li{list-style-type:lower-alpha}.pd-md-viewer ol>li>ol>li>ol>li>ol>li{list-style-type:upper-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:lower-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:"> "}.pd-md-viewer li label{display:inline-block;vertical-align:middle;margin-bottom:0}.pd-md-viewer li:has(label){list-style-type:none !important}.pd-md-viewer input[type=checkbox]{vertical-align:middle;margin-left:-1.5rem;margin-right:.5rem;width:1.25rem;height:1.25rem;appearance:auto;-webkit-appearance:auto;-moz-appearance:auto}.pd-md-viewer code{padding:.125rem .5rem;line-height:1.5rem;min-height:1.5rem;letter-spacing:1px;font-family:"Roboto Mono",monospace !important;font-size:.75rem;font-weight:400;background-color:#f7f7fa;border-radius:.25rem;border:.5px solid rgba(0,0,0,.0509803922)}.pd-md-viewer code:has(ol),.pd-md-viewer code:has(ul){padding:0}.pd-md-viewer code *{letter-spacing:1px;font-family:"Roboto Mono",monospace;font-size:.75rem;font-weight:400;margin-bottom:0 !important}.pd-md-viewer code ol,.pd-md-viewer code ul{margin:0 !important;padding:.5rem 1rem;overflow:scroll}.pd-md-viewer code ol li,.pd-md-viewer code ul li{list-style-type:none;line-height:1.25rem;min-height:1.25rem;white-space:nowrap}.pd-md-viewer pre{position:relative;border:none !important}.pd-md-viewer pre.success code{background-color:#e0ffe1}.pd-md-viewer pre.success code[name]:not([name=""])::before{background-color:#e0ffe1;border-bottom:1px solid #e0ffe1}.pd-md-viewer pre.success button::after{content:"已複製"}.pd-md-viewer pre.error code{background-color:#ffd4d4}.pd-md-viewer pre.error code[name]:not([name=""])::before{background-color:#ffd4d4;border-bottom:1px solid #ffd4d4}.pd-md-viewer pre.error button::after{content:"無法複製"}.pd-md-viewer pre.success button,.pd-md-viewer pre.error button{opacity:1}.pd-md-viewer pre[name]:not([name=""]) button{top:calc(2.375rem - 1px)}@media(hover: hover){.pd-md-viewer pre:not(.success):not(.error):hover code{background-color:#ddd}.pd-md-viewer pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#ddd;border-bottom:1px solid #ddd;color:#444}.pd-md-viewer pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer pre code{position:relative;display:block;padding:0;margin-bottom:.5rem !important;background-color:#f7f7fa;border:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre code li{line-height:1.75rem}.pd-md-viewer pre code[name]:not([name=""]){margin-top:1.75rem;border-radius:0 .25rem .25rem .25rem}.pd-md-viewer pre code[name]:not([name=""])::before{content:attr(name);position:absolute;left:-1px;top:-1.25rem;padding:0 .5rem;height:1.25rem;line-height:1.25rem;min-height:1.25rem;font-size:.75rem;background-color:#f7f7fa;color:#777;border-radius:.25rem .25rem 0 0;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre button{position:absolute;top:calc(.75rem - 1px);right:.5rem;padding:0 .5rem;line-height:1.5rem;font-size:.75rem;background-color:#777 !important;color:#fff !important;border-radius:.25rem;opacity:0;transition:.3s;cursor:pointer}.pd-md-viewer pre button::after{content:"複製代碼";color:#fff !important}.pd-md-viewer blockquote{margin-bottom:1rem;padding-left:1rem;line-height:1.75rem;min-height:1.75rem;font-style:italic;border-left:.25rem solid #ddd;color:#666;background-color:#fbfbfb}.pd-md-viewer blockquote.NOTE{border-left:.25rem solid #1667c5;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.NOTE span.hint{color:#1667c5}.pd-md-viewer blockquote.TIP{border-left:.25rem solid #1d7c30;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.TIP span.hint{color:#1d7c30}.pd-md-viewer blockquote.IMPORTANT{border-left:.25rem solid #7f53cb;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.IMPORTANT span.hint{color:#7f53cb}.pd-md-viewer blockquote.WARNING{border-left:.25rem solid #95661a;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.WARNING span.hint{color:#95661a}.pd-md-viewer blockquote.CAUTION{border-left:.25rem solid #ba2929;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.CAUTION span.hint{color:#ba2929}.pd-md-viewer blockquote span.hint i{margin-right:.375rem;font-style:normal;font-size:.75rem}.pd-md-viewer blockquote span.hint span.material-symbols-outlined{top:-1px;margin-right:.25rem;vertical-align:middle;font-size:1rem}.pd-md-viewer blockquote *{margin-bottom:0;color:inherit}.pd-md-viewer blockquote>br:nth-last-child(1){display:none}.pd-md-viewer iframe{max-width:100%;aspect-ratio:16/9}.pd-md-viewer[data-mode=dark]{background-color:#272832}.pd-md-viewer[data-mode=dark] *{color:#fff}.pd-md-viewer[data-mode=dark] mark{color:#000}.pd-md-viewer[data-mode=dark] a.tag{background-color:#1b1c19;color:#fff;border:1px solid #1b1c19}.pd-md-viewer[data-mode=dark] code{background-color:#1b1c19;border:.5px solid #1b1c19}.pd-md-viewer[data-mode=dark] pre code[name]:not([name=""])::before{background-color:#1b1c19;color:#777;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);border-bottom:1px solid rgba(0,0,0,0)}.pd-md-viewer[data-mode=dark] table thead{background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table th,.pd-md-viewer[data-mode=dark] table td{border:1px solid rgba(255,255,255,.2039215686)}@media(hover: hover){.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code{background-color:#111}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#111;border-bottom:1px solid rgba(0,0,0,0);color:#fff}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer[data-mode=dark] blockquote{background-color:#222;border-left:.25rem solid #2b4d74} diff --git a/dist/NanoMD.css b/dist/NanoMD.css index 4da1145..807eb10 100644 --- a/dist/NanoMD.css +++ b/dist/NanoMD.css @@ -1 +1 @@ -@keyframes fadeInOut{0%{opacity:1}100%{opacity:1}50%{opacity:.3}}.nanomd-pop{z-index:10000;position:fixed;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;flex-flow:column;gap:.75rem;margin:0 auto;padding:1rem;max-width:12rem;background-color:#fff;box-shadow:0 .5rem 1rem rgba(0,0,0,.1019607843);border-radius:.75rem}.nanomd-pop strong{padding-bottom:.5rem;text-align:center;letter-spacing:1px;font-family:"Roboto Mono",monospace}.nanomd-pop button{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;padding:0 1rem;width:10rem;line-height:2.5rem;font-size:.875rem;letter-spacing:1px;font-family:"Roboto Mono",monospace;background-color:rgba(0,0,0,.0509803922);border-radius:.5rem;transition:.2s}@media screen and (hover: hover){.nanomd-pop button:hover{background-color:rgba(0,0,0,.1019607843)}}.pd-md-editor{position:relative;display:flex;flex-flow:column;justify-content:flex-start;align-items:flex-start;margin:0;padding:1rem 0 50vh;width:100%;font-family:"Roboto Mono",monospace;overflow:scroll}.pd-md-editor span.material-symbols-outlined{font-family:"Material Symbols Outlined" !important}.pd-md-editor[data-fill="1"]{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%}.pd-md-editor[data-row="1"]::before{content:"";position:fixed;z-index:0;top:0;left:0;bottom:0;width:3rem;background-color:#efefef}.pd-md-editor[data-row="1"]::before>div{padding:0 1rem 0 0}.pd-md-editor[data-row="1"]::before>div::before{content:attr(data-index);margin-right:1rem;flex-shrink:0;width:3rem;line-height:1.5rem;min-height:1.5rem;font-family:monospace;font-size:.75rem;text-align:center}.pd-md-editor[data-pin="1"]{padding:0 0 50vh}.pd-md-editor[data-pin="1"]>section.input-button{z-index:10000;order:0;position:sticky !important;display:flex !important;top:0;left:0;opacity:1 !important;margin:0 0 1rem;padding:0 .5rem;width:inherit;max-width:100%;height:2.75rem;border-radius:0;box-shadow:0 0 0 rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,.1019607843)}.pd-md-editor[data-pin="1"]>section.input-button *{flex-shrink:0}.pd-md-editor[data-pin="1"]>section.input-button span[name=keep_off]{color:#44c;transform:rotate(45deg)}.pd-md-editor[data-pin="1"]>section.input-button span.material-symbols-outlined{line-height:2rem}.pd-md-editor[data-pin="1"]>div{order:1}.pd-md-editor[data-wrap="0"]>section.input-button span[name=wrap_text]{color:#000}.pd-md-editor[data-wrap="0"]>div{white-space:nowrap}.pd-md-editor>*{flex-shrink:0}.pd-md-editor>div[data-last="1"]::after{animation:fadeInOut 2s ease-in-out infinite;opacity:1}.pd-md-editor>div[data-last="1"]:empty::after{position:absolute;top:0}.pd-md-editor>div{z-index:1;display:flex;flex-shrink:0;padding:0 1rem;width:100%;min-height:1.5rem;line-height:1.5rem;letter-spacing:1px;word-break:break-word;word-wrap:break-word;font-size:.75rem;margin:0;transition:background-color .2s}.pd-md-editor>div *{flex-shrink:0;pointer-events:none}.pd-md-editor[data-saved="1"]>section.input-button span[name=autorenew]{margin-right:-0.5rem;width:0;opacity:0}.pd-md-editor>section.input-button{z-index:10;display:flex;flex-flow:row;gap:.5rem;align-items:center;margin-left:1rem;margin-bottom:-1.75rem;padding:0 .25rem;max-width:calc(100% - 2rem);font-family:serif;background-color:#fff;border-radius:.25rem;box-shadow:0 2px 6px rgba(0,0,0,.2039215686);opacity:1;transition:.2s;overflow:scroll}.pd-md-editor>section.input-button[data-hide="1"]{display:none}.pd-md-editor>section.input-button>*{flex-shrink:0}.pd-md-editor>section.input-button span[name=wrap_text]{color:#44c}.pd-md-editor>section.input-button span.material-symbols-outlined{line-height:1.75rem;font-size:1.25rem;cursor:pointer;transition:.3s}.pd-md-editor>section.input-button span:not(.material-symbols-outlined){margin:0 .25rem;width:1px;height:.5rem;background-color:rgba(0,0,0,.2039215686)}.pd-md-editor>section.input-button span[name=autorenew]{margin-right:0;width:1.25rem;opacity:1}@media(hover: hover){.pd-md-editor section.input-button i:hover{color:#44c}.pd-md-editor section.input-button span.material-symbols-outlined:hover{color:#44c}}.pd-md-editor *{font-family:inherit}.pd-md-editor[data-mode=dark]{background-color:#272832}.pd-md-editor[data-mode=dark] *{color:#fff}.pd-md-editor[data-mode=dark] section.input-button{background-color:#000;box-shadow:0 2px 6px rgba(255,255,255,.2039215686)}.pd-md-viewer{position:relative;margin:0;padding:0 0 5rem;font-size:.875rem;word-break:break-word;word-wrap:break-word}.pd-md-viewer[data-fill="1"]{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden scroll}.pd-md-viewer>*:nth-child(1){margin-top:0 !important;padding-top:0 !important}.pd-md-viewer span.material-symbols-outlined{font-family:"Material Symbols Outlined" !important}.pd-md-viewer *{margin:0;padding:0;flex-shrink:0;max-width:100% !important;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:.875rem;letter-spacing:.5px;color:inherit;white-space:inherit;word-break:inherit;word-wrap:inherit;border:none;outline:none;object-fit:cover;appearance:unset;-webkit-appearance:unset;-moz-appearance:unset;overflow:visible}.pd-md-viewer *:nth-last-child(1){margin-bottom:0}.pd-md-viewer * h1,.pd-md-viewer * h2,.pd-md-viewer * h3,.pd-md-viewer * h4,.pd-md-viewer * h5,.pd-md-viewer * h6{padding:.5rem 0 .25rem !important;margin:.25rem 0 .5rem !important}.pd-md-viewer * b,.pd-md-viewer * strong,.pd-md-viewer * i,.pd-md-viewer * em,.pd-md-viewer * u,.pd-md-viewer * s,.pd-md-viewer * a,.pd-md-viewer * mark{font-size:inherit !important;line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer h3,.pd-md-viewer h4,.pd-md-viewer h5,.pd-md-viewer h6{margin-bottom:1rem;font-weight:700;color:#000}.pd-md-viewer h1 code,.pd-md-viewer h2 code,.pd-md-viewer h3 code,.pd-md-viewer h4 code,.pd-md-viewer h5 code,.pd-md-viewer h6 code{line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2{padding:1.5rem 0 .5rem}.pd-md-viewer h3,.pd-md-viewer h4{padding:1.25rem 0 .25rem}.pd-md-viewer h5,.pd-md-viewer h6{padding:1rem 0 0}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer hr{border:none;border-bottom:1px solid #ddd}.pd-md-viewer h1{font-size:2.125rem}.pd-md-viewer h1 code,.pd-md-viewer h1 sup,.pd-md-viewer h1 sub{font-size:calc(2.125rem - 1px)}.pd-md-viewer h2{font-size:1.625rem}.pd-md-viewer h2 code,.pd-md-viewer h2 sup,.pd-md-viewer h2 sub{font-size:calc(1.625rem - 1px)}.pd-md-viewer h3{font-size:1.375rem}.pd-md-viewer h3 code,.pd-md-viewer h3 sup,.pd-md-viewer h3 sub{font-size:calc(1.375rem - 1px)}.pd-md-viewer h4{font-size:1.125rem}.pd-md-viewer h4 code,.pd-md-viewer h4 sup,.pd-md-viewer h4 sub{font-size:calc(1.125rem - 1px)}.pd-md-viewer h5{font-size:1rem}.pd-md-viewer h5 code,.pd-md-viewer h5 sup,.pd-md-viewer h5 sub{font-size:calc(1rem - 1px)}.pd-md-viewer h6{font-size:.875rem}.pd-md-viewer h6 code,.pd-md-viewer h6 sup,.pd-md-viewer h6 sub{font-size:calc(.875rem - 1px)}.pd-md-viewer hr{margin:.75rem 0 !important;height:1px}.pd-md-viewer b,.pd-md-viewer strong{font-weight:700}.pd-md-viewer p{margin:.75rem 0;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details{padding-left:1rem;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details summary{margin-left:-1rem;line-height:1.75rem;min-height:1.75rem;cursor:pointer}.pd-md-viewer i,.pd-md-viewer em{font-style:italic}.pd-md-viewer mark{background-color:#ff0}.pd-md-viewer sup,.pd-md-viewer sub{font-size:.75rem}.pd-md-viewer a{position:relative;letter-spacing:1px;font-weight:500;color:blue}.pd-md-viewer a.tag{display:inline-block;vertical-align:middle;margin-top:.5rem;margin-right:.5rem;padding:0 .5rem;text-decoration:none;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);color:#000;border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer a.tag::before{content:"#"}.pd-md-viewer button.more{margin-left:.5rem;padding:0 .5rem;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer section.more{position:relative;display:flex;justify-content:center;align-items:center;width:300px;max-width:100%;aspect-ratio:2/1;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer section.more img.cover{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer section.more img.icon{z-index:1;width:60px;height:60px;background-color:rgba(0,0,0,0);cursor:pointer}@media(hover: hover){.pd-md-viewer a:hover::after{padding:0 .25rem;max-width:unset;opacity:1}}.pd-md-viewer a::after{content:attr(href);position:absolute;z-index:1;top:100%;left:0;padding:0;max-width:100%;line-height:1.25rem;white-space:nowrap;font-size:.625rem;border-radius:.25rem;background-color:#777;color:#fff;opacity:0;transition:.3s;pointer-events:none}.pd-md-viewer img{margin-bottom:0;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer img[src=""]{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer video{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer table{margin-top:.5rem;table-layout:fixed;border-collapse:collapse}.pd-md-viewer table thead{background-color:#f7f7fa}.pd-md-viewer table tbody tr:nth-child(2n-1){background-color:#fff}.pd-md-viewer table tbody tr:nth-child(2n){background-color:#f7f7fa}.pd-md-viewer table th{font-weight:600}.pd-md-viewer table th,.pd-md-viewer table td{padding:.375rem .75rem;min-width:4rem;border:1px solid rgba(0,0,0,.0509803922);border-collapse:collapse;border-radius:.125rem}.pd-md-viewer ul,.pd-md-viewer ol{margin:.5rem 0 .5rem 1.5rem;padding-left:.5rem}.pd-md-viewer ul *,.pd-md-viewer ol *{margin-bottom:0}.pd-md-viewer ul li,.pd-md-viewer ol li{line-height:1.75rem;min-height:1.75rem;list-style-position:outside;letter-spacing:1px}.pd-md-viewer ul li::marker,.pd-md-viewer ol li::marker{font-family:"Roboto Mono",monospace;font-size:.75rem}.pd-md-viewer ul ul,.pd-md-viewer ul ol,.pd-md-viewer ol ul,.pd-md-viewer ol ol{margin-top:0}.pd-md-viewer ul>li{list-style-type:disc}.pd-md-viewer ul>li>ul>li{list-style-type:circle}.pd-md-viewer ul>li>ul>li>ul>li{list-style-type:square}.pd-md-viewer ul>li>ul>li>ul>li>ul>li{list-style-type:"+ "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"- "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"> "}.pd-md-viewer ol>li{list-style-type:decimal}.pd-md-viewer ol>li>ol>li{list-style-type:upper-alpha}.pd-md-viewer ol>li>ol>li>ol>li{list-style-type:lower-alpha}.pd-md-viewer ol>li>ol>li>ol>li>ol>li{list-style-type:upper-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:lower-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:"> "}.pd-md-viewer li label{display:inline-block;vertical-align:middle;margin-bottom:0}.pd-md-viewer li:has(label){list-style-type:none !important}.pd-md-viewer input[type=checkbox]{vertical-align:middle;margin-left:-1.5rem;margin-right:.5rem;width:1.25rem;height:1.25rem;appearance:auto;-webkit-appearance:auto;-moz-appearance:auto}.pd-md-viewer code{padding:.125rem .5rem;line-height:1.5rem;min-height:1.5rem;letter-spacing:1px;font-family:"Roboto Mono",monospace !important;font-size:.75rem;font-weight:400;background-color:#f7f7fa;border-radius:.25rem;border:.5px solid rgba(0,0,0,.0509803922)}.pd-md-viewer code:has(ol),.pd-md-viewer code:has(ul){padding:0}.pd-md-viewer code *{letter-spacing:1px;font-family:"Roboto Mono",monospace;font-size:.75rem;font-weight:400;margin-bottom:0 !important}.pd-md-viewer code ol,.pd-md-viewer code ul{margin:0 !important;padding:.5rem 1rem;overflow:scroll}.pd-md-viewer code ol li,.pd-md-viewer code ul li{list-style-type:none;line-height:1.25rem;min-height:1.25rem;white-space:nowrap}.pd-md-viewer pre{position:relative;border:none !important}.pd-md-viewer pre.success code{background-color:#e0ffe1}.pd-md-viewer pre.success code[name]:not([name=""])::before{background-color:#e0ffe1;border-bottom:1px solid #e0ffe1}.pd-md-viewer pre.success button::after{content:"已複製"}.pd-md-viewer pre.error code{background-color:#ffd4d4}.pd-md-viewer pre.error code[name]:not([name=""])::before{background-color:#ffd4d4;border-bottom:1px solid #ffd4d4}.pd-md-viewer pre.error button::after{content:"無法複製"}.pd-md-viewer pre.success button,.pd-md-viewer pre.error button{opacity:1}.pd-md-viewer pre[name]:not([name=""]) button{top:calc(2.375rem - 1px)}@media(hover: hover){.pd-md-viewer pre:not(.success):not(.error):hover code{background-color:#ddd}.pd-md-viewer pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#ddd;border-bottom:1px solid #ddd;color:#444}.pd-md-viewer pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer pre code{position:relative;display:block;padding:0;margin-bottom:.5rem !important;background-color:#f7f7fa;border:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre code li{line-height:1.75rem}.pd-md-viewer pre code[name]:not([name=""]){margin-top:1.75rem;border-radius:0 .25rem .25rem .25rem}.pd-md-viewer pre code[name]:not([name=""])::before{content:attr(name);position:absolute;left:-1px;top:-1.25rem;padding:0 .5rem;height:1.25rem;line-height:1.25rem;min-height:1.25rem;font-size:.75rem;background-color:#f7f7fa;color:#777;border-radius:.25rem .25rem 0 0;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre button{position:absolute;top:calc(.75rem - 1px);right:.5rem;padding:0 .5rem;line-height:1.5rem;font-size:.75rem;background-color:#777 !important;color:#fff !important;border-radius:.25rem;opacity:0;transition:.3s;cursor:pointer}.pd-md-viewer pre button::after{content:"複製代碼";color:#fff !important}.pd-md-viewer blockquote{margin-bottom:1rem;padding-left:1rem;line-height:1.75rem;min-height:1.75rem;font-style:italic;border-left:.25rem solid #ddd;color:#666;background-color:#fbfbfb}.pd-md-viewer blockquote.NOTE{border-left:.25rem solid #1667c5;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.NOTE span.hint{color:#1667c5}.pd-md-viewer blockquote.TIP{border-left:.25rem solid #1d7c30;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.TIP span.hint{color:#1d7c30}.pd-md-viewer blockquote.IMPORTANT{border-left:.25rem solid #7f53cb;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.IMPORTANT span.hint{color:#7f53cb}.pd-md-viewer blockquote.WARNING{border-left:.25rem solid #95661a;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.WARNING span.hint{color:#95661a}.pd-md-viewer blockquote.CAUTION{border-left:.25rem solid #ba2929;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.CAUTION span.hint{color:#ba2929}.pd-md-viewer blockquote span.hint i{margin-right:.375rem;font-style:normal;font-size:.75rem}.pd-md-viewer blockquote span.hint span.material-symbols-outlined{top:-1px;margin-right:.25rem;vertical-align:middle;font-size:1rem}.pd-md-viewer blockquote *{margin-bottom:0;color:inherit}.pd-md-viewer blockquote>br:nth-last-child(1){display:none}.pd-md-viewer iframe{max-width:100%;aspect-ratio:16/9}.pd-md-viewer[data-mode=dark]{background-color:#272832}.pd-md-viewer[data-mode=dark] *{color:#fff}.pd-md-viewer[data-mode=dark] mark{color:#000}.pd-md-viewer[data-mode=dark] a.tag{background-color:#1b1c19;color:#fff;border:1px solid #1b1c19}.pd-md-viewer[data-mode=dark] code{background-color:#1b1c19;border:.5px solid #1b1c19}.pd-md-viewer[data-mode=dark] pre code[name]:not([name=""])::before{background-color:#1b1c19;color:#777;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);border-bottom:1px solid rgba(0,0,0,0)}.pd-md-viewer[data-mode=dark] table thead{background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table th,.pd-md-viewer[data-mode=dark] table td{border:1px solid rgba(255,255,255,.2039215686)}@media(hover: hover){.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code{background-color:#111}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#111;border-bottom:1px solid rgba(0,0,0,0);color:#fff}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer[data-mode=dark] blockquote{background-color:#222;border-left:.25rem solid #2b4d74}.pd-md-viewer[data-sync="1"]::before{content:"unsave";flex-shrink:0;z-index:1000;order:0;position:sticky;display:block;top:0;padding:0 .75rem;width:100%;line-height:1.5rem;text-align:right;font-family:"Roboto Mono",monospace;font-size:.75rem;letter-spacing:.5px;transition:.3s;transition-delay:.5s;transition-property:opacity;opacity:0}.pd-md-viewer[data-saved="0"]::before{opacity:1}.pd-md-viewer[data-saved="1"]::before{content:"saved";opacity:0} +@keyframes fadeInOut{0%{opacity:1}100%{opacity:1}50%{opacity:.3}}.nanomd-pop{z-index:10000;position:fixed;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;flex-flow:column;gap:.75rem;margin:0 auto;padding:1rem;max-width:12rem;background-color:#fff;box-shadow:0 .5rem 1rem rgba(0,0,0,.1019607843);border-radius:.75rem}.nanomd-pop strong{padding-bottom:.5rem;text-align:center;letter-spacing:1px;font-family:"Roboto Mono",monospace}.nanomd-pop button{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;padding:0 1rem;width:10rem;line-height:2.5rem;font-size:.875rem;letter-spacing:1px;font-family:"Roboto Mono",monospace;background-color:rgba(0,0,0,.0509803922);border-radius:.5rem;transition:.2s}@media screen and (hover: hover){.nanomd-pop button:hover{background-color:rgba(0,0,0,.1019607843)}}.pd-md-editor{position:relative;display:flex;flex-flow:column;justify-content:flex-start;align-items:flex-start;margin:0;padding:1rem 0 50vh;width:100%;font-family:"Roboto Mono",monospace;overflow:scroll}.pd-md-editor span.material-symbols-outlined{font-family:"Material Symbols Outlined" !important}.pd-md-editor[data-fill="1"]{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%}.pd-md-editor[data-row="1"]::before{content:"";position:fixed;z-index:0;top:0;left:0;bottom:0;width:3rem;background-color:#efefef}.pd-md-editor[data-row="1"]::before>div{padding:0 1rem 0 0}.pd-md-editor[data-row="1"]::before>div::before{content:attr(data-index);margin-right:1rem;flex-shrink:0;width:3rem;line-height:1.5rem;min-height:1.5rem;font-family:monospace;font-size:.75rem;text-align:center}.pd-md-editor[data-pin="1"]{padding:0 0 50vh}.pd-md-editor[data-pin="1"]>section.input-button{z-index:10000;order:0;position:sticky !important;display:flex !important;top:0;left:0;opacity:1 !important;margin:0 0 1rem;padding:0 .5rem;width:inherit;max-width:100%;height:2.75rem;border-radius:0;box-shadow:0 0 0 rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,.1019607843)}.pd-md-editor[data-pin="1"]>section.input-button *{flex-shrink:0}.pd-md-editor[data-pin="1"]>section.input-button span[name=keep_off]{color:#44c;transform:rotate(45deg)}.pd-md-editor[data-pin="1"]>section.input-button span.material-symbols-outlined{line-height:2rem}.pd-md-editor[data-pin="1"]>div{order:1}.pd-md-editor[data-wrap="0"]>section.input-button span[name=wrap_text]{color:#000}.pd-md-editor[data-wrap="0"]>div{white-space:nowrap}.pd-md-editor>*{flex-shrink:0}.pd-md-editor>div[data-last="1"]::after{animation:fadeInOut 2s ease-in-out infinite;opacity:1}.pd-md-editor>div[data-last="1"]:empty::after{position:absolute;top:0}.pd-md-editor>div{z-index:1;display:flex;flex-shrink:0;padding:0 1rem;width:100%;min-height:1.5rem;line-height:1.5rem;letter-spacing:1px;word-break:break-word;word-wrap:break-word;font-size:.75rem;margin:0;transition:background-color .2s}.pd-md-editor>div *{flex-shrink:0;pointer-events:none}.pd-md-editor[data-saved="1"]>section.input-button span[name=autorenew]{margin-right:-0.5rem;width:0;opacity:0}.pd-md-editor>section.input-button{z-index:10;display:flex;flex-flow:row;gap:.5rem;align-items:center;margin-left:1rem;margin-bottom:-1.75rem;padding:0 .25rem;max-width:calc(100% - 2rem);font-family:serif;background-color:#fff;border-radius:.25rem;box-shadow:0 2px 6px rgba(0,0,0,.2039215686);opacity:1;transition:.2s;overflow:scroll}.pd-md-editor>section.input-button[data-hide="1"]{display:none}.pd-md-editor>section.input-button>*{flex-shrink:0}.pd-md-editor>section.input-button span[name=wrap_text]{color:#44c}.pd-md-editor>section.input-button span.material-symbols-outlined{line-height:1.75rem;font-size:1.25rem;cursor:pointer;transition:.3s}.pd-md-editor>section.input-button span:not(.material-symbols-outlined){margin:0 .25rem;width:1px;height:.5rem;background-color:rgba(0,0,0,.2039215686)}.pd-md-editor>section.input-button span[name=autorenew]{margin-right:0;width:1.25rem;opacity:1}@media(hover: hover){.pd-md-editor section.input-button i:hover{color:#44c}.pd-md-editor section.input-button span.material-symbols-outlined:hover{color:#44c}}.pd-md-editor *{font-family:inherit}.pd-md-editor[data-mode=dark]{background-color:#272832}.pd-md-editor[data-mode=dark] *{color:#fff}.pd-md-editor[data-mode=dark] section.input-button{background-color:#000;box-shadow:0 2px 6px rgba(255,255,255,.2039215686)}.pd-md-viewer{position:relative;margin:0;padding:1rem 1rem 5rem;font-size:.875rem;word-break:break-word;word-wrap:break-word}.pd-md-viewer[data-fill="1"]{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden scroll}.pd-md-viewer>*:nth-child(1){margin-top:0 !important;padding-top:0 !important}.pd-md-viewer span.material-symbols-outlined{font-family:"Material Symbols Outlined" !important}.pd-md-viewer *{margin:0;padding:0;flex-shrink:0;max-width:100% !important;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:.875rem;letter-spacing:.5px;color:inherit;white-space:inherit;word-break:inherit;word-wrap:inherit;border:none;outline:none;object-fit:cover;appearance:unset;-webkit-appearance:unset;-moz-appearance:unset;overflow:visible}.pd-md-viewer *:nth-last-child(1){margin-bottom:0}.pd-md-viewer * h1,.pd-md-viewer * h2,.pd-md-viewer * h3,.pd-md-viewer * h4,.pd-md-viewer * h5,.pd-md-viewer * h6{padding:.5rem 0 .25rem !important;margin:.25rem 0 .5rem !important}.pd-md-viewer * b,.pd-md-viewer * strong,.pd-md-viewer * i,.pd-md-viewer * em,.pd-md-viewer * u,.pd-md-viewer * s,.pd-md-viewer * a,.pd-md-viewer * mark{font-size:inherit !important;line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer h3,.pd-md-viewer h4,.pd-md-viewer h5,.pd-md-viewer h6{margin-bottom:1rem;font-weight:700;color:#000}.pd-md-viewer h1 code,.pd-md-viewer h2 code,.pd-md-viewer h3 code,.pd-md-viewer h4 code,.pd-md-viewer h5 code,.pd-md-viewer h6 code{line-height:inherit !important}.pd-md-viewer h1,.pd-md-viewer h2{padding:1.5rem 0 .5rem}.pd-md-viewer h3,.pd-md-viewer h4{padding:1.25rem 0 .25rem}.pd-md-viewer h5,.pd-md-viewer h6{padding:1rem 0 0}.pd-md-viewer h1,.pd-md-viewer h2,.pd-md-viewer hr{border:none;border-bottom:1px solid #ddd}.pd-md-viewer h1{font-size:2.125rem}.pd-md-viewer h1 code,.pd-md-viewer h1 sup,.pd-md-viewer h1 sub{font-size:calc(2.125rem - 1px)}.pd-md-viewer h2{font-size:1.625rem}.pd-md-viewer h2 code,.pd-md-viewer h2 sup,.pd-md-viewer h2 sub{font-size:calc(1.625rem - 1px)}.pd-md-viewer h3{font-size:1.375rem}.pd-md-viewer h3 code,.pd-md-viewer h3 sup,.pd-md-viewer h3 sub{font-size:calc(1.375rem - 1px)}.pd-md-viewer h4{font-size:1.125rem}.pd-md-viewer h4 code,.pd-md-viewer h4 sup,.pd-md-viewer h4 sub{font-size:calc(1.125rem - 1px)}.pd-md-viewer h5{font-size:1rem}.pd-md-viewer h5 code,.pd-md-viewer h5 sup,.pd-md-viewer h5 sub{font-size:calc(1rem - 1px)}.pd-md-viewer h6{font-size:.875rem}.pd-md-viewer h6 code,.pd-md-viewer h6 sup,.pd-md-viewer h6 sub{font-size:calc(.875rem - 1px)}.pd-md-viewer hr{margin:.75rem 0 !important;height:1px}.pd-md-viewer b,.pd-md-viewer strong{font-weight:700}.pd-md-viewer p{margin:.75rem 0;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details{padding-left:1rem;line-height:1.75rem;min-height:1.75rem}.pd-md-viewer details summary{margin-left:-1rem;line-height:1.75rem;min-height:1.75rem;cursor:pointer}.pd-md-viewer i,.pd-md-viewer em{font-style:italic}.pd-md-viewer mark{background-color:#ff0}.pd-md-viewer sup,.pd-md-viewer sub{font-size:.75rem}.pd-md-viewer a{position:relative;letter-spacing:1px;font-weight:500;color:blue}.pd-md-viewer a.tag{display:inline-block;vertical-align:middle;margin-top:.5rem;margin-right:.5rem;padding:0 .5rem;text-decoration:none;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);color:#000;border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer a.tag::before{content:"#"}.pd-md-viewer button.more{margin-left:.5rem;padding:0 .5rem;font-size:.75rem;background-color:rgba(0,0,0,.0509803922);border:1px solid rgba(0,0,0,.0509803922);border-radius:.25rem}.pd-md-viewer section.more{position:relative;display:flex;justify-content:center;align-items:center;width:300px;max-width:100%;aspect-ratio:2/1;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer section.more img.cover{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer section.more img.icon{z-index:1;width:60px;height:60px;background-color:rgba(0,0,0,0);cursor:pointer}@media(hover: hover){.pd-md-viewer a:hover::after{padding:0 .25rem;max-width:unset;opacity:1}}.pd-md-viewer a::after{content:attr(href);position:absolute;z-index:1;top:100%;left:0;padding:0;max-width:100%;line-height:1.25rem;white-space:nowrap;font-size:.625rem;border-radius:.25rem;background-color:#777;color:#fff;opacity:0;transition:.3s;pointer-events:none}.pd-md-viewer img{margin-bottom:0;border:.5px solid rgba(0,0,0,.0117647059);border-radius:.125rem;overflow:hidden}.pd-md-viewer img[src=""]{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer video{background-color:rgba(0,0,0,.0509803922)}.pd-md-viewer table{margin-top:.5rem;table-layout:fixed;border-collapse:collapse}.pd-md-viewer table thead{background-color:#f7f7fa}.pd-md-viewer table tbody tr:nth-child(2n-1){background-color:#fff}.pd-md-viewer table tbody tr:nth-child(2n){background-color:#f7f7fa}.pd-md-viewer table th{font-weight:600}.pd-md-viewer table th,.pd-md-viewer table td{padding:.375rem .75rem;min-width:4rem;border:1px solid rgba(0,0,0,.0509803922);border-collapse:collapse;border-radius:.125rem}.pd-md-viewer ul,.pd-md-viewer ol{margin:.5rem 0 .5rem 1.5rem;padding-left:.5rem}.pd-md-viewer ul *,.pd-md-viewer ol *{margin-bottom:0}.pd-md-viewer ul li,.pd-md-viewer ol li{line-height:1.75rem;min-height:1.75rem;list-style-position:outside;letter-spacing:1px}.pd-md-viewer ul li::marker,.pd-md-viewer ol li::marker{font-family:"Roboto Mono",monospace;font-size:.75rem}.pd-md-viewer ul ul,.pd-md-viewer ul ol,.pd-md-viewer ol ul,.pd-md-viewer ol ol{margin-top:0}.pd-md-viewer ul>li{list-style-type:disc}.pd-md-viewer ul>li>ul>li{list-style-type:circle}.pd-md-viewer ul>li>ul>li>ul>li{list-style-type:square}.pd-md-viewer ul>li>ul>li>ul>li>ul>li{list-style-type:"+ "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"- "}.pd-md-viewer ul>li>ul>li>ul>li>ul>li>ul>li>ul>li{list-style-type:"> "}.pd-md-viewer ol>li{list-style-type:decimal}.pd-md-viewer ol>li>ol>li{list-style-type:upper-alpha}.pd-md-viewer ol>li>ol>li>ol>li{list-style-type:lower-alpha}.pd-md-viewer ol>li>ol>li>ol>li>ol>li{list-style-type:upper-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:lower-roman}.pd-md-viewer ol>li>ol>li>ol>li>ol>li>ol>li>ol>li{list-style-type:"> "}.pd-md-viewer li label{display:inline-block;vertical-align:middle;margin-bottom:0}.pd-md-viewer li:has(label){list-style-type:none !important}.pd-md-viewer input[type=checkbox]{vertical-align:middle;margin-left:-1.5rem;margin-right:.5rem;width:1.25rem;height:1.25rem;appearance:auto;-webkit-appearance:auto;-moz-appearance:auto}.pd-md-viewer code{padding:.125rem .5rem;line-height:1.5rem;min-height:1.5rem;letter-spacing:1px;font-family:"Roboto Mono",monospace !important;font-size:.75rem;font-weight:400;background-color:#f7f7fa;border-radius:.25rem;border:.5px solid rgba(0,0,0,.0509803922)}.pd-md-viewer code:has(ol),.pd-md-viewer code:has(ul){padding:0}.pd-md-viewer code *{letter-spacing:1px;font-family:"Roboto Mono",monospace;font-size:.75rem;font-weight:400;margin-bottom:0 !important}.pd-md-viewer code ol,.pd-md-viewer code ul{margin:0 !important;padding:.5rem 1rem;overflow:scroll}.pd-md-viewer code ol li,.pd-md-viewer code ul li{list-style-type:none;line-height:1.25rem;min-height:1.25rem;white-space:nowrap}.pd-md-viewer pre{position:relative;border:none !important}.pd-md-viewer pre.success code{background-color:#e0ffe1}.pd-md-viewer pre.success code[name]:not([name=""])::before{background-color:#e0ffe1;border-bottom:1px solid #e0ffe1}.pd-md-viewer pre.success button::after{content:"已複製"}.pd-md-viewer pre.error code{background-color:#ffd4d4}.pd-md-viewer pre.error code[name]:not([name=""])::before{background-color:#ffd4d4;border-bottom:1px solid #ffd4d4}.pd-md-viewer pre.error button::after{content:"無法複製"}.pd-md-viewer pre.success button,.pd-md-viewer pre.error button{opacity:1}.pd-md-viewer pre[name]:not([name=""]) button{top:calc(2.375rem - 1px)}@media(hover: hover){.pd-md-viewer pre:not(.success):not(.error):hover code{background-color:#ddd}.pd-md-viewer pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#ddd;border-bottom:1px solid #ddd;color:#444}.pd-md-viewer pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer pre code{position:relative;display:block;padding:0;margin-bottom:.5rem !important;background-color:#f7f7fa;border:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre code li{line-height:1.75rem}.pd-md-viewer pre code[name]:not([name=""]){margin-top:1.75rem;border-radius:0 .25rem .25rem .25rem}.pd-md-viewer pre code[name]:not([name=""])::before{content:attr(name);position:absolute;left:-1px;top:-1.25rem;padding:0 .5rem;height:1.25rem;line-height:1.25rem;min-height:1.25rem;font-size:.75rem;background-color:#f7f7fa;color:#777;border-radius:.25rem .25rem 0 0;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);transition:.3s}.pd-md-viewer pre button{position:absolute;top:calc(.75rem - 1px);right:.5rem;padding:0 .5rem;line-height:1.5rem;font-size:.75rem;background-color:#777 !important;color:#fff !important;border-radius:.25rem;opacity:0;transition:.3s;cursor:pointer}.pd-md-viewer pre button::after{content:"複製代碼";color:#fff !important}.pd-md-viewer blockquote{margin-bottom:1rem;padding-left:1rem;line-height:1.75rem;min-height:1.75rem;font-style:italic;border-left:.25rem solid #ddd;color:#666;background-color:#fbfbfb}.pd-md-viewer blockquote.NOTE{border-left:.25rem solid #1667c5;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.NOTE span.hint{color:#1667c5}.pd-md-viewer blockquote.TIP{border-left:.25rem solid #1d7c30;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.TIP span.hint{color:#1d7c30}.pd-md-viewer blockquote.IMPORTANT{border-left:.25rem solid #7f53cb;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.IMPORTANT span.hint{color:#7f53cb}.pd-md-viewer blockquote.WARNING{border-left:.25rem solid #95661a;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.WARNING span.hint{color:#95661a}.pd-md-viewer blockquote.CAUTION{border-left:.25rem solid #ba2929;background-color:rgba(0,0,0,0);font-style:normal;color:#000}.pd-md-viewer blockquote.CAUTION span.hint{color:#ba2929}.pd-md-viewer blockquote span.hint i{margin-right:.375rem;font-style:normal;font-size:.75rem}.pd-md-viewer blockquote span.hint span.material-symbols-outlined{top:-1px;margin-right:.25rem;vertical-align:middle;font-size:1rem}.pd-md-viewer blockquote *{margin-bottom:0;color:inherit}.pd-md-viewer blockquote>br:nth-last-child(1){display:none}.pd-md-viewer iframe{max-width:100%;aspect-ratio:16/9}.pd-md-viewer[data-mode=dark]{background-color:#272832}.pd-md-viewer[data-mode=dark] *{color:#fff}.pd-md-viewer[data-mode=dark] mark{color:#000}.pd-md-viewer[data-mode=dark] a.tag{background-color:#1b1c19;color:#fff;border:1px solid #1b1c19}.pd-md-viewer[data-mode=dark] code{background-color:#1b1c19;border:.5px solid #1b1c19}.pd-md-viewer[data-mode=dark] pre code[name]:not([name=""])::before{background-color:#1b1c19;color:#777;border-top:.5px solid rgba(0,0,0,.0509803922);border-left:.5px solid rgba(0,0,0,.0509803922);border-right:.5px solid rgba(0,0,0,.0509803922);border-bottom:1px solid rgba(0,0,0,0)}.pd-md-viewer[data-mode=dark] table thead{background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.2039215686)}.pd-md-viewer[data-mode=dark] table th,.pd-md-viewer[data-mode=dark] table td{border:1px solid rgba(255,255,255,.2039215686)}@media(hover: hover){.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code{background-color:#111}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover code[name]:not([name=""])::before{background-color:#111;border-bottom:1px solid rgba(0,0,0,0);color:#fff}.pd-md-viewer[data-mode=dark] pre:not(.success):not(.error):hover button{opacity:1}}.pd-md-viewer[data-mode=dark] blockquote{background-color:#222;border-left:.25rem solid #2b4d74}.pd-md-viewer[data-sync="1"]::before{flex-shrink:0;z-index:1000;order:0;position:sticky;display:block;top:0;padding:0 .75rem;width:100%;line-height:1.5rem;text-align:right;font-family:"Roboto Mono",monospace;font-size:.75rem;letter-spacing:.5px;transition:.3s;transition-delay:.5s;transition-property:opacity;opacity:0}.pd-md-viewer[data-autosave="1"]::before{margin-bottom:-1.5rem}.pd-md-viewer[data-autosave="0"][data-saved="0"]::before{content:"unsave";opacity:1}.pd-md-viewer[data-autosave="0"][data-saved="1"]::before{content:"saved";opacity:0} diff --git a/dist/NanoMD.esm.js b/dist/NanoMD.esm.js index 1bc68de..ba6675d 100644 --- a/dist/NanoMD.esm.js +++ b/dist/NanoMD.esm.js @@ -1 +1 @@ -!function(){const t=window,e=document,i=String,n=Boolean,s=Array,o=Object,r=JSON,l=Math,u=URL,a=Node,h=Date,c=Blob,d=parseInt,f=location,p="video/mp4",g="video/quicktime",m=["javascript","js","ts","html","css","xml","json","sql","java","python","ruby","php","cpp","csharp","swift","typescript","kotlin","go","rust","perl","bash"],y=t.matchMedia&&t.matchMedia("(prefers-color-scheme: dark)").matches,v="abcdefghijklmnopqrstuvwxyz0123456789";let w=new Map;const A=/\.([\w_-]+)?/gi,b=/\#([\w_-]+)?/i,C=/^\w+(?=[\#\.]*)/i,$=/[\"\']{0,1}([\u0020\u00A0\u0009]*)(mailto\:)?([\u0020\u00A0\u0009]*)(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)([\u0020\u00A0\u0009]*)[\"\']{0,1}/,M=/(\s{1})\\?[\##]{1}([\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7a3a-zA-Z0-9_]+)/,I=/[& \<\>\"\']/g,_=/\[([^\]\n]+)?\]\(([^\)\n\u0020\u00A0\u0009]+)([\u0020\u00A0\u0009]*[\"\']([^\)\n]+)[\"\'])?\)/,T=/(\n)(\>\s*\[\!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\n)?(\>[^\n]*(\n)?)+/,k=/\`([^\n\`]*)\`/,x=/^\n|\n$/g,S=/\`{3}(\w*)([\s\S]*?)\s*\`{3}/,N=/((\n([\u0020\u00A0]{4,}|[\u0009]))[^\n]+)+/,D=/\*([^\n\*]*)\*/,E=/\_([^\n\_]*)\_/,P=/^\s|\s$/g,L=/(\n[\u0020\u00A0\u0009]*|\n[\u0020\u00A0\u0009]*>[\u0020\u00A0\u0009]*|\n[\u0020\u00A0\u0009]*([\-\*\+]|\d+\.)[\u0020\u00A0\u0009]+)\\?(\#{1,6})[\u0020\u00A0\u0009]+([^\n]+)/,R=/(\n)([^\n]+)\n\={3,}([\u0020\u00A0\u0009]*\n)/,j=/(\n)([^\n]+)\n\-{3,}([\u0020\u00A0\u0009]*\n)/,O=/([\u0020\u00A0\u0009]*\|[\u0020\u00A0\u0009]*)\\?(\#{1,6})[\u0020\u00A0\u0009]+([^\n\|]*)([\u0020\u00A0\u0009]*)/,F=/(\n[\u0020\u00A0\u0009]*)(\*{3,}|\-{3,})([\u0020\u00A0\u0009]*\n)/,H=/\!\[([^\]\n]+)?\]\(([^\)\n\u0020\u00A0\u0009]+)([\u0020\u00A0\u0009]*[\"\']([^\)\n]+)[\"\'])?\)(\(([0-9]+\%?)?[\u0020\u00A0\u0009\*x]+([0-9]+\%?)?([\u0020\u00A0\u0009]+(left|right))?\))?/,z=/^['"].*['"]$/,K=/\n(([\-\*\+]|\d+\.)[\u0020\u00A0\u0009]+(.+)(\n.*\S.*)*)+/,B=/(([\-\*\+]|\d+\.)[\u0020\u00A0\u0009]+(.+)(\n.*\S.*)*)+/,U=/^(([\-\*\+]|\d+\.)[\u0020\u00A0\u0009]*[^\n]+)/,G=/\={2}([^\n\=]*)\={2}/,Z=/\~{2}([^\n\~]*)\~{2}/,q=/\*{2}([^\n\*]*)\*{2}/,W=/\_{2}([^\n\_]*)\_{2}/,V=/\~([^\n\~]*)\~/,Y=/\^([^\n\^]*)\^/,J=/(\n(?![\{\<])[^\n]+)+/,X=/^(\n?(?![\{\<])[^\n]+)+/,Q=/\.mov$/,tt=/\.mp4$/,et=/[A-Za-z\%]/,it=/[\"\']{0,1}([\u0020\u00A0\u0009]*)(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))([\u0020\u00A0\u0009]*)[\"\']{0,1}/,nt=/(\<[\u00A0\u0020\u0009\>]*\/?[\u00A0\u0020\u0009\>]*br[\u00A0\u0020\u0009\>]*\/?[\u00A0\u0020\u0009\>]*\>|\n)/,st=/\n/,ot=/\\\!/g,rt=/\\\`/g,lt=/\\\#/g,ut=/\\\*/g,at=/\\\_/g,ht=/\\\~/g,ct=/\\\^/g,dt=/\\\=/g,ft=/\\\/g,gt=/\\\[/g,mt=/\\\]/g,yt=/\\\(/g,vt=/\\\)/g,wt=/\$/g,At=/(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?/,bt="mailto:",Ct="\n",$t="_blank",Mt="startsWith",It="key",_t="stringify",Tt="keys",kt="TEXT_NODE",xt="ELEMENT_NODE",St="nodeType",Nt="add",Dt="alt",Et="appendChild",Pt="as",Lt="auto",Rt="baseOffset",jt="blockquote",Ot="body",Ft="br",Ht="button",zt="charAt",Kt="checked",Bt="checkbox",Ut="childNodes",Gt="children",Zt="class",qt="clearTimeout",Wt="clipboardData",Vt="code",Yt="Color",Jt="color",Xt="content",Qt="contentEditable",te="controls",ee="copy",ie="create",ne="ctrlKey",se="dark",oe="dataset",re="delay",le="display",ue="div",ae="editor",he="em",ce="empty",de="emptyContent",fe="error",pe="float",ge="floor",me="focus",ye="fontFamily",ve="forEach",we="from",Ae="get",be="has",Ce="head",$e="height",Me="hide",Ie="href",_e="id",Te="iframe",ke="img",xe="index",Se="init",Ne="inner",De="input",Ee="insert",Pe="isArray",Le="join",Re="label",je="language",Oe="lastChild",Fe="lazy",He="length",ze="li",Ke="light",Be="link",Ue="list",Ge="loading",Ze="map",qe="mark",We="match",Ve="metaKey",Ye="min",Je="mode",Xe="Name",Qe="name",ti="node",ei="none",ii="number",ni="object",si="offset",oi="ol",ri="outerHTML",li="parent",ui="pd-md-editor",ai="pd-md-viewer",hi="placeholder",ci="pre",di="props",fi="preload",pi="prettyprint",gi="prevent",mi="push",yi="px",vi="querySelector",wi="random",Ai="rel",bi="remove",Ci="replace",$i="click",Mi="script",Ii="scroll",_i="section",Ti="set",ki="slice",xi="source",Si="span",Ni="split",Di="src",Ei="string",Pi="strong",Li="style",Ri="sub",ji="success",Oi="sup",Fi="table",Hi="tag",zi="target",Ki="tbody",Bi="td",Ui="temp",Gi="test",Zi="textContent",qi="th",Wi="thead",Vi="title",Yi="toLowerCase",Ji="toUpperCase",Xi="tr",Qi="trim",tn="type",en="ul",nn="value",sn="video",on="viewer",rn="width",ln="console",un="apply",an="void",hn="vdom",cn="getElementById",dn="crossOrigin",fn="preconnect",pn=Nt+"EventListener",gn="background"+Yt,mn=Zt+Xe,yn=Zt+"List",vn=ie+"DocumentFragment",wn=ie+"Element",An=ie+"TextNode",bn=we+"CharCode",Cn=me+"Background"+Yt,$n=me+"Offset",Mn=me+"Text"+Yt,In=Ae+"Data",_n=Ae+"Selection",Tn=be+"OwnProperty",kn=xe+"Of",xn=Ne+"HTML",Sn=Ne+"Text",Nn=Ee+"Before",Dn=ti+Xe,En=ti+"Value",Pn="onclick",Ln="onwheel",Rn=li+"Element",jn=li+"Node",On=hi+Yt,Fn=gi+"Default",Hn=gi+"Refresh",zn=vi+"All",Kn=bi+"AllRanges",Bn=Ii+"Height",Un=Ii+"Sync",Gn=Ii+"Top",Zn=Ti+"Attribute",qn=Ti+"Data",Wn=Ti+"End",Vn=Ti+"Start",Yn=Ti+"Timeout",Jn=Hi+Xe,Xn=Hi+"Path",Qn=Hi+"Target";let ts="";const es="@excl@",is="@grave@",ns="@num@",ss="@ast@",os="@lowbar@",rs="@tilde@",ls="@Hat@",us="@equal@",as="@lt@",hs="@gt@",cs="@lsqb@",ds="@rsqb@",fs="@lpar@",ps="@rpar@",gs="@dollar@",ms="<",ys=">",vs="&",ws=" ",As=""",bs="'",Cs={create:"CREATE",append:"APPEND",replace:"REPLACE",text:"TEXT",prop:"PROP",remove:"REMOVE"};Array[we]({[He]:26},((t,e)=>i[bn](97+e)))[ve](((e,n)=>{let s=n<10,o=n>=10&&n<20,r=n>=20,l=i(n),u=l[zt](l[He]-1),a=i=>{ts+=i?e[Ji]():e,t[(i?"$":"_")+(r?"_":"")+u+(o?"_":"")]=i?e[Ji]():e};a(0),a(1),s&&(ts+=n,t["_"+e]=n)}));t._a,t._b,t._c,t._d,t._e,t._f,t._g,t._h,t._i,t._j;const $s=t._0,Ms=t._1,Is=(t._2,t._3,t._4,t._5,t._6),_s=t._7,Ts=t._8,ks=(t._9,t._0_,t._1_,t._2_,t._3_,t._4_,t._5_,t._6_,t._7_,t._8_),xs=(t._9_,t.__0),Ss=(t.__1,t.__2,t.__3,t.__4,t.__5,t.$0,t.$1,t.$2,t.$3,t.$4,t.$5,t.$6,t.$7,t.$8,t.$9,t.$0_,t.$1_,t.$2_,t.$3_,t.$4_,t.$5_,t.$6_,t.$7_,t.$8_,t.$9_,t.$_0,t.$_1,t.$_2,t.$_3,t.$_4,t.$_5,"https://fonts.googleapis.com"),Ns=Ss+"/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,1,0&display=swap",Ds="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js",Es="https://cdn.jsdelivr.net/npm/@pardnchiu/nanomd@1.10.1/dist/NanoMD.css",Ps="NanoMD\nGitHub: https://github.com/pardnchiu/NanoMD\nCreator: Pardn Chiu\nLicense: Proprietary";let Ls;for(let t of[Rs(Be,{[Ai]:fn,[Ie]:"https://fonts.gstatic.com",[dn]:""}),Rs(Be,{[Ai]:fn,[Ie]:Ss,[dn]:""}),Rs(Be,{[Ai]:fi,[Ie]:Ns,[Pt]:Li,[dn]:"anonymous"}),Rs(Be,{[Ai]:"stylesheet",[Ie]:Ns}),Rs(Be,{[Ai]:"preconnect",[Ie]:"https://cdn.jsdelivr.net"}),Rs(Be,{[Ai]:fi,[Ie]:Ds,[Pt]:Mi}),Rs(Mi,{[Di]:Ds}),Rs(Be,{[Ai]:fi,[Ie]:Es,[Pt]:Li}),Rs(Be,{[Ai]:"stylesheet",[Ie]:Es})])e[Ce][Et](t);function Rs(t="",i,n){const s=((t[We](C)||[])[0]||"")[Qi](),o=((t[We](b)||[])[1]||"")[Qi](),r=(A[Gi](t)?t[We](A):[])[Ze]((t=>t[Ci](/^\./,"")));if(s[He]<1)return;let l,u,a,h=!1;if(t===Ui?(h=!0,l=e[vn]()):l=e[wn](s),91!=Ps[He])return l;o[He]&&(l.id=o);for(let t of r)l[yn][Nt](t);if(null==i&&null!=n&&([i,n]=[n,null]),null!=i&&null!=n)[u,a]=[i,n];else if(null==n)typeof i===Ei||typeof i===ii||Array[Pe](i)?a=i:u=i;else if(null==i)return l;if(typeof u===ni&&null!=u)for(const t in u){if(!u[Tn](t))continue;const e=u[t];-1!=[nn,Sn,xn,Zi,Qt][kn](t)?l[t]=e:-1!=[Jt,gn,rn,$e,le,pe][kn](t)?l[Li][t]=e:null!=e&&l[Zn](t,e)}if(null!=a){const t=typeof a===Ei,i=typeof a===ii,n=Array[Pe](a);if(t||i){const t=a;s===ke||s===xi?l[Di]=t:h?l[Et](e[An](a)):l[xn]=t}else if(n)for(let t of a){const i=t instanceof Element;typeof t===Ei||typeof t===ii?h?l[Et](e[An](t)):l[xn]+=t:i&&l[Et](t)}}return l}function js(t=""){return t[Ci](I,(t=>({"&":vs," ":ws,"<":ms,">":ys,'"':As,"'":bs}[t])))}function Os(t,e=""){return new RegExp(t,e)}function Fs(t){if(t)return t[mn]===ui||t[Dn][Yi]()===ue&&t[jn][mn]===ui?t:Fs(t[jn])}function Hs(t){const e=Rs(ue);return e[Et](t),e[xn]}function zs(t=""){if((t=t[Qi]())[He]<1)return"";const e=t[We](At)||[];return e[He]>2&&11===e[1][He]?e[1]:""}function Ks(t=""){if((t=t[Qi]())[He]<1)return"";const e=t.match(/(?:https?:\/\/)?(?:www\.)?vimeo\.com\/(?:channels\/[\w]+\/|groups\/[\w]+\/videos\/|album\/\d+\/video\/|video\/|)(\d+)/);return e?e[1]:null}function Bs(t,e="",i="",n="",s="",o=""){const r=Us(i),l=n instanceof HTMLElement?n:Rs(i,n);return w[Ti](r,l[ri]),e[Ci](t,s+r+o)}function Us(t=""){let e="{{"+(t[Qi]()||Lt)+"-";return e+=Gs(),e+="}}",w[be](e)?Us(t):e}function Gs(t=64){let e="";for(let i=0;i[\u00A0\u0020\u0009]?/,"")[Ci](/\n\>[\u00A0\u0020\u0009]?/g,"\n"))[Ni](st);for(let t in n){const o=n[t];i[Et](s(o,d(t),e))}}function s(t,n=0,o=""){let r=Rs(Ui);const l=/^[\u00A0\u0020\u0009]*\>[\u00A0\u0020\u0009]?/,u=t[Ci](l,"");if(/\[\!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]/[Gi](t)&&0===n)r[Et](Rs(Si+".hint",[-1!=["NOTE","TIP","IMPORTANT","WARNING","CAUTION"][kn](o)?Rs("span.material-symbols-outlined",{NOTE:"info",TIP:"lightbulb",IMPORTANT:"sms",WARNING:"warning",CAUTION:"error"}[o]||""):null,o])),r[Et](Rs(Ft));else if(l[Gi](t)){let t=Rs(jt);t[Et](s(u)),r[Et](t)}else/^[\u00A0\u0020\u0009]*\{\{/[Gi](t)?r[Et](i[Et](e[An](t))):r[Et](Rs(Si,t));return r}return t}function qs(t=""){let i;for(let e of t[We](Os(T,Is))||[]){const s=e[We](T),o=s[1]||"",r=s[3]||"",l=s[5]||"";i=Rs(jt+(r[He]?"."+r:"")),n(e,r),t=Bs(e,t,jt,i,o,l)}function n(t,e=""){let n=no(t[Qi]()[Ci](/^\>[\u00A0\u0020\u0009]?/,"")[Ci](/\n\>[\u00A0\u0020\u0009]?/g,"\n"))[Ni](st);for(let t in n){const o=n[t];i[Et](s(o,d(t),e))}}function s(t,n=0,o=""){let r=Rs(Ui);const l=/^[\u00A0\u0020\u0009]*\>[\u00A0\u0020\u0009]?/,u=t[Ci](l,"");if(l[Gi](t)){let t=Rs(jt);t[Et](s(u)),r[Et](t)}else/^[\u00A0\u0020\u0009]*\{\{/[Gi](t)?r[Et](i[Et](e[An](t))):r[Et](Rs(Si,t));return r}return t}function Ws(t=""){let e=[[Vt,k]];for(let i of e){const e=i[0],n=i[1];for(let i of t[We](Os(n,Is))||[]){const s=i[We](n);if(P[Gi](s[1]||""))continue;let o=(s[1]||"")[Qi]();o[He]<1||(e!=Vt?t=t[Ci](i,Rs(e,o)[ri]):(o=js(o),t=Bs(i,t,e,o)))}}return t}function Vs(t){let e=0,i=Rs(oi);for(let n in t){const s=t[n];0===d(n)&&(e=l.floor((s[We](/^\s*/)||[""])[0][He]/4));const o=Os(`^\\s{0,${4*e}}`);i[Et](Rs(ze,js(s[Ci](o,""))))}return i}function Ys(t=""){let e=[[Pi,q],[Pi,W],[ks,Z],[qe,G],[he,D],[he,E],[Oi,Y],[Ri,V]];for(let t of e){i(t[0],t[1])}function i(e,i){for(let n of t[We](Os(i,Is))||[]){const s=n[We](i);if(P[Gi](s[1]||""))continue;let o=(s[1]||"")[Qi]();o[He]<1||(e!=Vt?t=t[Ci](n,Rs(e,o)[ri]):(o=js(o),t=Bs(n,t,e,o)))}}return t}function Js(t=""){let e=[[Pi,q],[Pi,W],[ks,Z],[he,D],[he,E]];for(let t of e){i(t[0],t[1])}function i(e,i){for(let n of t[We](Os(i,Is))||[]){const s=n[We](i);if(P[Gi](s[1]||""))continue;let o=(s[1]||"")[Qi]();o[He]<1||(e!=Vt?t=t[Ci](n,Rs(e,o)[ri]):(o=js(o),t=Bs(n,t,e,o)))}}return t}function Xs(t="",e="",n=$t){if(i(e||"")[Qi]()[He]<1)return t;for(let i of t[We](Os(M,Is))||[]){if(i[We](/^\\/))continue;const s=i[We](M);if(s[He]<1)continue;const o=s[1],r=(s[2]||"")[Qi](),l=Us($s);if(r[He]<1)continue;const u=Rs(Ui,[Rs($s+"."+Hi,{[Ie]:e+r,[zi]:n===$t?$t:"_self"},r)]);w[Ti](l,Hs(u)),t=t[Ci](i,o+l)}return t}function Qs(t=""){return(()=>{for(let e of t[We](Os(L,Is))||[]){const i=e[We](L);if(i[He]<1)continue;const n=i[1]||"",s=(i[3]||"")[Qi]()[He],o=(i[4]||"")[Qi]();0!=l[Ye](s,o[He])&&(t=Bs(e,t,_s+s,o,n))}})(),(()=>{for(let e of t[We](Os(O,Is))||[]){const i=e[We](O);if(i[He]<1)continue;const n=i[1]||"",s=(i[2]||"")[Qi]()[He],o=(i[3]||"")[Qi](),r=i[4]||"";0!=l[Ye](s,o[He])&&(t=Bs(e,t,_s+s,o,n,r))}})(),(()=>{for(let e of t[We](Os(R,Is))||[]){const i=e[We](R);if(i[He]<1)continue;const n=i[1]||"",s=(i[2]||"")[Qi](),o=i[3]||"";s[He]<1||(t=Bs(e,t,_s+1,s,n,o))}})(),(()=>{for(let e of t[We](Os(j,Is))||[]){const i=e[We](j);if(i[He]<1)continue;const n=i[1]||"",s=(i[2]||"")[Qi](),o=i[3]||"";s[He]<1||(t=Bs(e,t,_s+2,s,n,o))}})(),t}function to(t=""){for(let e of t[We](Os(F,Is))||[]){const i=e[We](F);if(i[He]<1)continue;const n=i[1]||"",s=i[3]||"",o=Us("HR");w[Ti](o,"
"),t=t[Ci](e,n+o+s)}return t}function eo(t=""){const e="this.parentElement.nextElementSibling.style.display='block';this.parentElement.style.display='none'",i="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yNTkyXzMwNDkpIj4KPHBhdGggZD0iTTEyMCA2MEMxMjAgMjYuODYyOSA5My4xMzcxIDAgNjAgMEMyNi44NjI5IDAgMCAyNi44NjI5IDAgNjBDMCA5My4xMzcxIDI2Ljg2MjkgMTIwIDYwIDEyMEM5My4xMzcxIDEyMCAxMjAgOTMuMTM3MSAxMjAgNjBaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTg0LjM2MzMgNTYuNTgwM0M4Ni45MzAyIDU4LjEzNzYgODYuOTMwMiA2MS44NjI2IDg0LjM2MzMgNjMuNDE5OUw1MS44MjQ4IDgzLjE2MTJDNDkuMTU5MSA4NC43Nzg2IDQ1Ljc1IDgyLjg1OTQgNDUuNzUgNzkuNzQxNFY0MC4yNTg4QzQ1Ljc1IDM3LjE0MDggNDkuMTU5MSAzNS4yMjE2IDUxLjgyNDggMzYuODM4OUw4NC4zNjMzIDU2LjU4MDNaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzI1OTJfMzA0OSI+CjxyZWN0IHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPg==";function n(t,n,s,o){return Hs(Rs(Ui,[Rs($s,{[Vi]:o,[Ie]:n,[zi]:$t},s||n),Rs("section.more",[Rs("img.cover","https://i.ytimg.com/vi/"+t+"/mqdefault.jpg"),Rs("img.icon",{[Pn]:e},i)]),Rs(Te,{[Ge]:Fe,[rn]:"640px",[Di]:"https://www.youtube.com/embed/"+t,frameborder:0,allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"",[le]:ei})]))}function s(t,n,s,o){const r=function(t){const e=`https://vimeo.com/api/v2/video/${t}.json`;let i=null;const n=new XMLHttpRequest;n.open("GET",e,!1);try{n.send(),200===n.status?i=JSON.parse(n.responseText)[0].thumbnail_large:console.error("HTTP 錯誤:",n.status)}catch(t){console.error("無法獲取縮圖:",t)}return i}(t);return Hs(Rs(Ui,[Rs($s,{[Vi]:o,[Ie]:n,[zi]:$t},s||n),Rs("section.more",[Rs("img.cover",r),Rs("img.icon",{[Pn]:e},i)]),Rs(Te,{[Ge]:Fe,[rn]:"640px",[Di]:"https://player.vimeo.com/video/"+t,frameborder:0,allow:"autoplay; fullscreen; picture-in-picture",allowfullscreen:"",[le]:ei})]))}return(()=>{for(let e of t[We](Os(_,Is))||[]){const i=e[We](_);if(i[He]<1)continue;const o=(i[1]||"")[Qi](),r=(i[2]||"")[Qi](),u=(i[4]||"")[Qi](),a=(zs(r)||"")[Qi](),h=(Ks(r)||"")[Qi]();if(0!=l[Ye](o[He],r[He]))if(a[He])t=Bs(e,t,ue,n(a,r,o,u));else if(h[He])t=Bs(e,t,ue,s(h,r,o,u));else{const i=Rs($s,{[Vi]:u,[Ie]:r,[zi]:$t},o);t=Bs(e,t,$s,i)}}})(),(()=>{for(let e of t[We](Os(it,Is))||[]){if(e[We](z))continue;const i=e[We](it);if(i[He]<1)continue;const o=i[1]||"",r=(i[2]||"")[Qi](),l=i[5]||"",u=(zs(r)||"")[Qi](),a=(Ks(r)||"")[Qi]();if(!(r[He]<1))if(u[He])t=Bs(e,t,ue,n(u,r),o,l);else if(a[He])t=Bs(e,t,ue,s(a,r));else{const i=Rs($s,{[Ie]:r,[zi]:$t},r);t=Bs(e,t,$s,i,o,l)}}})(),(()=>{for(let e of t[We](Os($,Is))||[]){if(e[We](z))continue;const i=e[We]($);if(i[He]<1)continue;const n=(i[1]||"")+(i[2]||"")+(i[3]||""),s=(i[4]||"")[Qi](),o=i[8]||"";if(s[He]<1)continue;const r=Rs($s,{[Ie]:bt+s,[zi]:$t},s);t=Bs(e,t,$s,r,n,o)}})(),t}function io(t=""){return(()=>{for(let e of t[We](Os(_,Is))||[]){const i=e[We](_);if(i[He]<1)continue;const n=(i[1]||"")[Qi](),s=(i[2]||"")[Qi](),o=(i[4]||"")[Qi]();if(0==l[Ye](n[He],s[He]))continue;const r=Rs($s,{[Vi]:o,[Ie]:s,[zi]:$t},n);t=Bs(e,t,$s,r)}})(),(()=>{for(let e of t[We](Os(it,Is))||[]){if(e[We](z))continue;const i=e[We](it);if(i[He]<1)continue;const n=i[1]||"",s=(i[2]||"")[Qi](),o=i[5]||"";if(s[He]<1)continue;const r=Rs($s,{[Ie]:s,[zi]:$t},s);t=Bs(e,t,$s,r,n,o)}})(),(()=>{for(let e of t[We](Os($,Is))||[]){if(e[We](z))continue;const i=e[We]($);if(i[He]<1)continue;const n=(i[1]||"")+(i[2]||"")+(i[3]||""),s=(i[4]||"")[Qi](),o=i[8]||"";if(s[He]<1)continue;const r=Rs($s,{[Ie]:bt+s,[zi]:$t},s);t=Bs(e,t,$s,r,n,o)}})(),t}function no(t=""){for(let i of t[We](Os(K,Is))||[])e(i);function e(e){let i;e[Qi]()[Ci](Os(nt,Is),Ct)[Ni](nt)[ve](((t,e)=>{const n=t[We](B)||[],s=n[He]<1?null:/\d+\./[Gi]((n[2]||"")[Qi]())?oi:en,o=(t[We](/\s{4}/g)||[])[He];let r=n[He]<1?t[Ci](/^\s*([\-\*\+]|\d+\.)?\s*/g,""):(n[3]||"")[Qi]();if(0===d(e)&&null==s)return;0===d(e)&&(i=Rs(s));let l=i;function u(t,e){if(/^\[\s*(\x)?\s*\]/[Gi](e)){const i=e[Qi]()[We](/^\[\s*(\x)?\s*\]/);e=e[Ci](/^\[\s*(\x)?\s*\]\s*/,"");const n=null!=i[1];t[Et](Rs(ze,[Rs(Re,[Rs(De,{[tn]:Bt,[Kt]:n?"":null,[Pn]:"return false;"}),Rs(Si,e)])]))}else t[Et](Rs(ze,e))}if(/^\s{0,3}([\-\*\+]|\d+\.)/[Gi](t))u(l,r);else if(/^\s{4,}([\-\*\+]|\d+\.)/[Gi](t)){l=i[Oe];for(let t=0;t/i;if(i[He]<1||n.test(e))continue;const s=i[2]||"",o=e[Ci](x,"")[Ni](st),r=Rs(ci+"."+pi,[Rs(Vt,[Vs(o)]),Rs(Ht+"."+ee)]);t=Bs(e,t,ci,r,s)}return t}function uo(t=""){let e;function i(t){const e=t[We](/^([\u0020\u00A0\u0009]*\n[\u0020\u00A0\u0009]*)+/)||[],i=t[We](/[\u0020\u00A0\u0009]*\n[\u0020\u00A0\u0009]*$/)||[];return[e[0]||"",i[0]||""]}function n(t){const i=t[Qi]()[Ni](st);e=Rs(Ui,[Rs(Fi,[Rs(Wi),Rs(Ki)])]);let n=!0,o=[],r=0;for(let t in i){const l=i[t],u=l[We](/((\s*)\|?((?:.*?\|)*.*)\|?)+/)||[];if(u[He]<1)continue;const a=(u[3]||"")[Qi]()[Ci](/[\u0020\u00A0\u0009]*\|[\u0020\u00A0\u0009]*$/,""),h=/^[\u0020\u00A0\u0009]*\|?([\u0020\u00A0\u0009]*[\-\:]+[\u0020\u00A0\u0009]*\|?)+[\u0020\u00A0\u0009]*$/[Gi](l),c=a[Ni](/[\u0020\u00A0\u0009]*\|[\u0020\u00A0\u0009]*/);if(0===d(t)&&(r=c[He]),h){for(let t of l[Ci](/^([\u0020\u00A0\u0009]*\|)|(\|[\u0020\u00A0\u0009]*)$/g,"")[Ni](/\|/))/^\-+\:$/[Gi](t[Qi]())?o.push("right"):/^\:\-+\:$/[Gi](t[Qi]())?o.push("center"):o.push("left");const t=[...e.firstChild.firstChild.childNodes[0].childNodes];for(let e in t)t[e].setAttribute("align",o[e]);n=!1}else s(n,c,r,o)}}function s(t=!0,i=[],n=0,s=[]){const o=t?e.firstChild.firstChild:e.firstChild[Oe],r=Rs(Xi);for(let e=0;e{const s=/([^\n]*)(?:[\u0020\u00A0\u0009]*\|[^\n]*\|[^\n]*\n)[\u0020\u00A0\u0009]*\|([\u0020\u00A0\u0009\-\:]*\|)+\n(?:[\u0020\u00A0\u0009]*\|[^\n]*\|[^\n]*\n)*/;for(let o of t[We](Os(s,Is))||[])U[Gi](o)||(n(o),t=Bs(o,t,Fi,Hs(e),...i(o)))})(),(()=>{const s=/(([^\n]+\|)*[^\n]+\n)(([\u0020\u00A0\u0009\-\:]+\|)*[\u0020\u00A0\u0009\-\:]+\n)(?:([^\n]+\|)*[^\n]+\n)*/;for(let o of t[We](Os(s,Is))||[])n(o),t=Bs(o,t,Fi,Hs(e),...i(o))})(),t}function ao(t=""){return t=t[Ci](/\n[\u0020\u00A0\u0009]*/g,"\n"),(()=>{for(let e of t[We](Os(X,Is))||[]){const i=e[We](X);if(i[He]<1)continue;const n=i[2]||"",s=(i[0]||"")[Qi]();if(s[He]){const i=Rs(Ui,[Rs("p",s)]),o=Us("p");w[Ti](o,Hs(i)),t=t[Ci](e,n+o)}}})(),(()=>{for(let e of t[We](Os(J,Is))||[]){const i=e[We](J);if(i[He]<1)continue;const n=i[2]||"",s=(i[0]||"")[Qi]();if(s[He]){const i=Rs(Ui,[Rs("p",s)]),o=Us("p");w[Ti](o,Hs(i)),t=t[Ci](e,n+o)}}})(),t}function ho(t=""){t=t[Ci](/^\n*|\n*$/g,"");const e=/(<br>)/g;return e[Gi](t)?t[Ci](e,"\n"):t}function co(t="",e="",i=$t,n=!1){t=t[Ci](ot,es)[Ci](rt,is)[Ci](lt,ns)[Ci](ut,ss)[Ci](at,os)[Ci](ht,rs)[Ci](ct,ls)[Ci](dt,us)[Ci](ft,as)[Ci](pt,hs)[Ci](gt,cs)[Ci](mt,ds)[Ci](yt,fs)[Ci](vt,ps)[Ci](wt,gs)[Ci](/[\u00A0\u0020]/g," ");let s=[ro,Ws,so,oo,eo,io,Ys,Js,Qs,to,uo,Zs,qs,no,lo,Xs,ho,ao];for(let o of s)(!n||o!==ro&&o!==so&&o!==eo&&o!==Ys&&o!==Zs&&o!==Xs)&&(t=o(t,e,i));for(;/\{{2}\w*\-*\w{64}\}{2}/[Gi](t);)for(let e of t[We](/\{{2}\w*\-*\w{64}\}{2}/g)||[]){let i=Os(e);t=t[Ci](i,w[Ae](e))}const o=["h1","h2","h3","h4","h5","h6",Fi,oi,en,ci,jt,"details","hr",Re];for(let e of o){const i=Os(`[  \t]*\\n[  \t]*<${e}`,Is),n=Os(`${e}>[  \t]*\\n[  \t]*`,Is);t=t[Ci](i,`<${e}`)[Ci](n,`${e}>`)}return t=t[Ci](Os(es,Is),"!")[Ci](Os(is,Is),"&grave")[Ci](Os(ns,Is),"#")[Ci](Os(ss,Is),"*")[Ci](Os(os,Is),"_")[Ci](Os(rs,Is),"˜")[Ci](Os(ls,Is),"^")[Ci](Os(us,Is),"&equal;")[Ci](Os(as,Is),ms)[Ci](Os(hs,Is),ys)[Ci](Os(cs,Is),"[")[Ci](Os(ds,Is),"]")[Ci](Os(fs,Is),"(")[Ci](Os(ps,Is),")")[Ci](Os(gs,Is),"$")[Ci](/([\u0020\u00A0\u0009]*\n[\u0020\u00A0\u0009]*){2,}/g,"
")}document.addEventListener("DOMContentLoaded",(t=>{!function(...t){const i=Rs(Mi,`${ln}.log.${un}(${an} 0, ${JSON.stringify(t)});`);e[Ot][Et](i),i[bi]()}("%c"+Ps,"line-height: 1.75rem; font-size: 0.875rem;")}));class fo{#t="";#e;#i=!0;#n=!0;#s;#o;#r;#l;#u;#a;#h;deployKey;constructor(s={}){this.#t=(s.defaultContent||"")[Qi]();const o=s[Li]||{},r=i(o[Je]||Lt)[Qi]()[Yi](),l=n(null==o.fill?1:o.fill)?1:0,u=i(o[ye]||"")[Qi]()||"'Roboto Mono', monospace",a=n(null==o.showRow?1:o.showRow)?1:0,h=o.placeholder||{},c=i(h.text||"Type here ..."),d=i(h.color||"#bfbfbf"),f=o.focus||{},p=i(f.backgroundColor||"#0000ff1a"),g=i(f.color||"#0000ffff");e[Ce][Et](Rs(Li,`\n.${ui}{font-family: ${u}}\n.${ui}>div[data-focus="1"]{background-color:${p};color:${g};caret-color:${g}}\n.${ui}>div[data-last="1"]:empty::after{content:"${c}";color:${d} !important;caret-color:${g}}`));const m=e[cn](s[_e]);typeof s[_e]===Ei&&null!=m?(this[Ot]=m,m.classList.add(ui)):this[Ot]=Rs(_i+"."+ui),this[Ot][oe][Je]=y&&r===Lt||r===se?se:"",this[Ot][oe].fill=l,this[Ot][oe].row=a,this[Ot][oe].pin={1:1,0:0,[!0]:1,[!1]:0}[s.tabPin]||0,this[Ot][oe].wrap={1:1,0:0,[!0]:1,[!1]:0}[s.wrap]||1,this[Ot][oe].saved=1,this.#h=new go(this[Ot]);const v=this[Ot];if(this.#i=n(null==s.hotKey||s.hotKey),this.#n=n(null==s.autoSave||s.autoSave),this.#s=s.event||{},null==this.#r&&s[Hn]&&(this.#r=t[pn]("beforeunload",(t=>{t[Fn]()})),e[pn]("keydown",(t=>{("F5"===t[It]||(t.ctrlKey||t.metaKey)&&{r:1,R:1}[t[It]])&&t[Fn]()}))),null!=s[Je]){let t=i(s[Je]||Lt)[Qi]()[Yi]();this[Ot][oe][Je]=y&&t===Lt||t===se?se:""}if(null!=s.fillMode){let t=n(s.fillMode)?1:0;this[Ot][oe].fill=t}if(null!=s.showRow){let t=n(s.showRow)?1:0;this[Ot][oe].row=t}if(null!=s[ye]){let t=i(s[ye])[Qi]()||"'Roboto Mono', monospace";e[Ce][Et](Rs(Li,`.${ui}{font-family: ${t}}`))}let w=i(s[Cn]||"")[Qi]()||p,A=i(s[Mn]||"")[Qi]()||g;e[Ce][Et](Rs(Li,`.${ui}>div[data-focus="1"]{background-color:${w};color:${A}`));let b=i(s[hi]||"")[Qi]()||c,C=i(s[On]||"")[Qi]()||d;e[Ce][Et](Rs(Li,`.${ui}>div[data-last="1"]:empty::after{content:"${b}";color:${C}}`)),v.onmousedown=v.onmouseup=v.ontouchend=t=>{if(t.target[Jn][Yi]()!==ue)return t[Fn](),!1;this.#c()},v.oncut=t=>(this.#d(),this.#f((e=>{t[Wt][qn]("text/plain",this.#a.body),v[Gt][this.#a.start][xn]=js(this.#a.left+this.#a.right),this.#p(),this.#g(v[Gt][this.#a.start],this.#a.left[He])})),this.#m(!0,!1),!1),v.onpaste=e=>(this.#d(),this.#f((i=>{const n=((e[Wt]||t[Wt])[In]("Text")||"")[Ni](/\n/),s=n[He],o=s-1,r=s>1,l=this.#a.start+o,u=`${r?"":this.#a.left}${n[o]}`[He],a=n[0],h=r?"":this.#a.right;if(v[Gt][this.#a.start][Sn]=this.#a.left+a+h,this.#p(),r)for(let t=1;tthis.#c(),v[Nn](i,v[Gt][this.#a.start+t])}this.#g(v[Gt][l],u,u)})),this.#m(!0,!1),!1),v.oninput=t=>{let e,i;if("deleteCompositionText"===t.inputType){e=this.#u.index,i=this.#u.offset;for(let t of[...v[Gt]]){if(t[Dn][Yi]()===ue||t[Dn][Yi]()===_i)continue;t[bi]();let n=Rs(ue,{"data-index":e+1,index:e+1});n[Pn]=t=>this.#c(),v[Nn](n,v[Gt][e]),this.#g(v[Gt][e],i)}}t.inputType;let n=this.#u.isMulti,s=this.#u.multi.left,o=t.data,r=this.#u.multi.right,l=this.#u.multi.start.offset;this.#c(),n&&(this.#o[Sn]=s+o+r,this.#g(this.#o,l+1)),this.#m(!0,300)},v.onkeydown=t=>!new mo({editor:this,hotKey:this.#i,[Hn]:s[Hn],event:t}).preventDefault,v.onkeyup=t=>{"Meta"!==t.key&&"Control"!==t.key&&(v[Gt]&&1===v[Gt][He]&&v.firstElementChild[Dn][Yi]()!==ue&&this[Se](null,!0,!1),this.#c(),/^(Arrow(Up|Left|Down|Right)|CapsLock|Shift|Control|Alt|Clear|Escape|F\d+)$/[Gi](t.key)||this.#n&&this.#y())},v.onblur=t=>{this.#d()},this.init()}get viewer(){return this.#l}set viewer(t){this.#l=t}#v(){let t=Rs("button",[Rs("span.material-symbols-outlined","markdown"),"Markdown"]),i=Rs("button",[Rs("span.material-symbols-outlined","html"),"HTML"]),n=Rs("button",[Rs("span.material-symbols-outlined","cancel"),"Cancel"]),s=Rs("div.nanomd-pop",[Rs("strong","Export"),t,i,n]);t[Pn]=t=>{this.download("md"),s.remove()},i[Pn]=t=>{this.download("html"),s.remove()},n[Pn]=t=>{s.remove()},e[Ot][Et](s)}#c(e,i=!1){this.#d(),this.#u=new po(this[Ot],e,i);const n=t[_n]();if(n.rangeCount<1)return;const s=n.getRangeAt(0);let o=e||Fs(s.commonAncestorContainer);null!=o&&this.#w(o,this.#u.index||this.#u.multi.end.index)}#f(t){this.#a=new yo(this[Ot],this.#u),t()}#p(){this.#a.removeRows()}#g(i,n,s){const o=this[Ot][zn](ue);for(let t in o){const e=o[t];if(isNaN(d(t)))continue;const i=d(t)+1;e[oe][xe]=i,i===o.length?e[oe].last=1:e[oe].last=0}if(t[_n]?t[_n]()[ce]?t[_n]()[ce]():t[_n]()[Kn]&&t[_n]()[Kn]():e[_n]&&e[_n]()[ce](),null==i)return;let r=t[_n](),l=e.createRange(),u=n??i[Ut][0][He],a=s??u;l.selectNode(i),i[Ut][0]?(l[Vn](i[Ut][0],u>i[Ut][0][He]?i[Ut][0][He]:u),l[Wn](i[Ut][0],a>i[Ut][0][He]?i[Ut][0][He]:a)):(l[Vn](i,0),l[Wn](i,0)),r.addRange(l),this.#c(i)}#w(t,e){const i=_i+"."+De+"-"+Ht;let n=this[Ot][vi](i);t[oe][me]=1,this[Ot][Nn](n,this[Ot][Gt][e+1]),n[oe][Me]=0,this.#o=t}#d(){if(!this.#o)return;const t=_i+"."+De+"-"+Ht,e=this[Ot][vi](t);this.#o[oe][me]=0,null!=e&&(this[Ot][Et](e),e[oe][Me]=1),this.#o=null}#A(t){t=js(t);let e=this.#b;const i=Rs(ue,t);i[Pn]=t=>this.#c(),e[Sn][Qi]()[He]<1?e[xn]=t:this[Ot][Et](i),this[Ot][Gn]=this[Ot][Bn],this[on]&&(this[on][Ot][Gn]=this[on][Ot][Bn])}get#b(){let t=this[Ot].lastElementChild;return"SECTION"===t[Dn]&&(t=t.previousElementSibling),t}#C(t,e){const i=this[Ot][Gt][this.#a.start];i[xn]=js(t),this.#p(),this.#g(i,e)}#$(t,e="",i=""){const n=t[Ve]||t[ne]||e===i;this.#u.check?this.#f((t=>{const s=this.#a.left,o=this.#a.body,r=this.#a.right,l=`${s}${n?`<${i}>`:e}${o}${n?``:e}${r}`[Ci](/\n/g,""),u=l[He]-r[He]-(n?i[He]+3:e[He]);this.#C(l,u),this.#m(!0,this.#n)})):(this.#A(n?`<${i}>`:`${e}${e}`),this.#g(this.#b,n?i[He]+3:e[He]),this.#m(!0,this.#n))}#M(t){this.#u.check?this.#f((e=>{const i=this.#a.start,n=this.#a.end;for(let e=i;e<=n;e++){const i=this[Ot][Gt][e];i[xn]=js(`${t} ${i[Sn]}`)}const s=this[Ot][Gt][n],o=s[Sn][He];this.#g(s,o),this.#m(!0,this.#n)})):(this.#A(t),this.#g(this.#b,t[He]+1),this.#m(!0,this.#n))}#I(t="",e="",i){if(this.#u.check)return void this.#f((n=>{const s=this.#a.left,o=this.#a.right,r=`${s}${null==i?"":"!"}[${t}](${e}) ${o}`[Ci](/\n/g,""),l=r[He]-o[He]-1;this.#C(r,l),this.#m(!0,this.#n)}));this.#A(`${null==i?"":"!"}[${t}](${e})`);const n=this.#b,s=n[Sn][He];this.#g(n,s),this.#m(!0,this.#n)}#m(t,e){this.#c(),this.#h.add(this.#u,t,"number"==typeof e?e:0),this.unsave(),("boolean"==typeof e&&e||null==e)&&this.#y()}#_(t,i){const n=new c([i],{[tn]:"application/octet-stream"}),s=u.createObjectURL(n),o=Rs($s,{href:s,download:`NanoMD-${h.now()}.${t}`});e[Ot][Et](o),o[$i]()}#y(){this[Ot][oe].saved=1,null!=this[on]&&this[on][Se]()}init(t,e=!0,n=!0){if(this[Ot][Qt]=!0,this[Ot][xn]=null,this.#e=new vo({editor:this,autoSave:this.#n}),this[Ot][Et](this.#e.body),(t=i(t||this.#t)[Qi]())[He]){this.#t="";const i=t[Ci](/\n*$/,"")[Ni](/\n/);for(let t=0;tthis.#c(),this[Ot][Et](n)}if(!e)return}else{const t=Rs(ue,{"data-index":1});if(t[Pn]=t=>this.#c(),this[Ot][Et](t),!e)return}n&&(this.#c(),this.#h.add(this.#u,!0))}changeMode(t=Ke){this[Ot][oe][Je]=t}selectAll(){this.#d();const t=this[Ot].firstElementChild,e=this.#b,i=window.getSelection(),n=document.createRange();null!=t.firstChild&&(n.setStart(t.firstChild,0),n.setEnd(e.firstChild,e.firstChild.length),i.removeAllRanges(),i.addRange(n))}save(){if(this.#n)if(this.#s[Tn]("save")){if(null==this.#s.save)return!1;this.#s.save(this.text)}else this.#v();else if(this.#y(),this.#s[Tn]("save")){if(null==this.#s.save)return!1;this.#s.save(this.text)}}unsave(){0!==d(this[Ot][oe].saved)&&(this[Ot][oe].saved=0,this[on]&&this[on].unsave())}indent(t){if(9!==t.keyCode)return;const e=this[Ot];return this.#f((t=>{e[Gt][this.#a.start][xn]=js(this.#a.left+" "+this.#a.right),this.#p();const i=this.#a.left[He]+4;this.#g(e[Gt][this.#a.start],i),this.#m(!0,!1)})),!1}rowIndent(t){const e=this[Ot];return this.#f((t=>{const i=this.#a.start,n=this.#a.end,s=this.#a.start!=this.#a.end;if(this.#d(),s)for(let t=i;t<=n;t++){const i=e[Gt][t][xn];e[Gt][t][xn]=js(" ")+i}else{const t=e[Gt][i][xn];e[Gt][i][xn]=js(" ")+t}const o=e[Gt][i][xn][He];this.#g(e[Gt][this.#a.start],o),this.#m(!0,!1)})),!1}wrap(t){if(13!==t.keyCode)return;const e=this[Ot];return this.#f((t=>{e[Gt][this.#a.start][xn]=js(this.#a.left),this.#p(),e[Rn][Rn][Gn]+=28;const i=Rs(ue,js(this.#a.right));i[Pn]=t=>this.#c(),e[Nn](i,e[Gt][this.#a.start+1]),this.#g(e[Gt][this.#a.start+1],0),this.#m(!0,!1)})),!1}backspace(t){if(8!==t.keyCode)return!1;const e=this[Ot];return this.#f((t=>{if(this.#u.isMulti||this.#u.isSingle)e[Gt][this.#a.start][xn]=js(this.#a.left+this.#a.right),this.#p(),this.#g(e[Gt][this.#a.start],this.#a.left[He]);else if(this.#a.left[He]){const t=this.#a.left[ki](0,this.#a.left[He]-1);e[Gt][this.#a.start][xn]=js(t+this.#a.right),this.#g(e[Gt][this.#a.start],t[He])}else{if(0===this.#a.start)return;e[Gt][this.#a.start-1][xn]+=js(this.#a.right),e[Gt][this.#a.start][bi](),e[Rn][Rn][Gn]-=28;const t=e[Gt][this.#a.start-1][Sn][He]-this.#a.right[He];this.#g(e[Gt][this.#a.start-1],t)}this.#m(!0,!1)})),!1}undo(){this.#d();const t=this.#h.undo();null!=t&&(this[Se](t[Xt][He]<1?null:t[Xt],!1,!1),this.unsave(),this.#g(this[Ot][Gt][t[xe]],t[si]),this.#n&&this.#y())}redo(){const t=this.#h.redo();null!=t&&(this[Se](t[Xt],!1,!1),this.unsave(),this.#g(this[Ot][Gt][t[xe]],t[si]),this.#n&&this.#y())}heading(t,e){const i=t[Ve]||t[ne],n=`${new Array(e).fill("#")[Le]("")}${0===e?"":" "}`;this.#u.check?this.#f((t=>{const s=this.#a.left[Ci](/^\s*\#*\s*/,""),o=this.#a.body,r=this.#a.right,l=`${i?``:n}${s}${o}${r}${i?``:""}`[Ci](/\n/g,""),u=l[He]-(i?5:0);this.#C(l,u),this.#m(!0,this.#n)})):(this.#A(i?``:n),this.#g(this.#b,n[He]-(i?5:0)),this.#m(!0,this.#n))}bold(t){this.#$(t,"**",Ms)}italic(t){this.#$(t,"*",Ts)}strikethrough(t){this.#$(t,"~~",ks)}underline(t){this.#$(t,xs,xs)}marker(t){this.#$(t,"==",qe)}sup(t){this.#$(t,"^",Oi)}sub(t){this.#$(t,"~",Ri)}code(t){this.#u.check?this.#f((e=>{if(this.#u.isMulti){const t=Rs(ue,"```"),e=Rs(ue,"```");t[Pn]=e[Pn]=t=>this.#c(),this[Ot][Nn](t,this[Ot][Gt][this.#a.end+1]),this[Ot][Nn](e,this[Ot][Gt][this.#a.start]),this.#g(this[Ot][Gt][this.#a.end+1],this[Ot][Gt][this.#a.end+1][Sn][He]),this.#m(!0,this.#n)}else this.#$(t,"`",Vt)})):this.#$(t,"`",Vt)}blockquote(){this.#u.check?this.#f((t=>{for(let t=this.#a.start;t<=this.#a.end;t++){const e=this[Ot][Gt][t];e[xn]=js(`> ${e[Sn]}`)}const e=this[Ot][Gt][this.#a.end],i=e[Sn][He];this.#g(e,i),this.#m(!0,this.#n)})):(this.#A("> "),this.#g(this.#b,2),this.#m(!0,this.#n))}ul(){this.#M("-")}ol(){this.#M("1.")}link(t="",e=""){e[Qi]()[He]<1&&t[Qi]()[He]<1||this.#I(t,e)}image(t="",e="",i=""){t[Qi]()[He]<1||this.#I(i,t,e)}clear(){this.init(),this.#y()}download(t="md"){const e={md:"md",html:"html"}[t[Yi]()];if(null==e)return;let i="https://cdn.jsdelivr.net/npm/@pardnchiu/nanomd@1.10.1/dist/NanoMD-output.css";const n="md"===e?this.text[Qi]():`NanoMD 輸出