From 4c61ca2cae393eb366425c0a0c19478f2b4fd1fe Mon Sep 17 00:00:00 2001 From: fzk <458813868@qq.com> Date: Sat, 8 Feb 2025 14:00:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BC=96=E8=BE=91markdown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contents/51cto.tsx | 2 +- contents/baidu.tsx | 2 +- contents/cnblogs.tsx | 2 +- contents/csdn.tsx | 2 +- contents/jb51.tsx | 2 +- contents/jianshu.tsx | 2 +- contents/juejin.tsx | 2 +- contents/md.tsx | 36 ++++++++++++++++-------------------- contents/medium.tsx | 2 +- contents/oschina.tsx | 2 +- contents/php.tsx | 2 +- contents/segmentfault.tsx | 2 +- contents/weixin.tsx | 2 +- contents/zhihu.tsx | 2 +- package.json | 2 +- utils/downloadAllImg.ts | 1 - utils/editMarkdownHook.ts | 18 +++++++++++------- 17 files changed, 41 insertions(+), 42 deletions(-) diff --git a/contents/51cto.tsx b/contents/51cto.tsx index 83a11ac..c8529a9 100644 --- a/contents/51cto.tsx +++ b/contents/51cto.tsx @@ -242,7 +242,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("article .article-detail") - setContent(dom) + setContent(dom, articleTitle) } function parseMarkdown() { diff --git a/contents/baidu.tsx b/contents/baidu.tsx index 53d9878..765e228 100644 --- a/contents/baidu.tsx +++ b/contents/baidu.tsx @@ -51,7 +51,7 @@ export default function Custom() { function editMarkdown() { const dom = document.querySelector(".wd-ai-index-pc") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/cnblogs.tsx b/contents/cnblogs.tsx index 854eb3c..5253bdb 100644 --- a/contents/cnblogs.tsx +++ b/contents/cnblogs.tsx @@ -155,7 +155,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("#post_detail") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/csdn.tsx b/contents/csdn.tsx index 1f348b4..e891d30 100644 --- a/contents/csdn.tsx +++ b/contents/csdn.tsx @@ -280,7 +280,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector(".blog-content-box") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/jb51.tsx b/contents/jb51.tsx index dd0cb82..c30ca0d 100644 --- a/contents/jb51.tsx +++ b/contents/jb51.tsx @@ -235,7 +235,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("#article") - setEditMarkdown(dom) + setEditMarkdown(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/jianshu.tsx b/contents/jianshu.tsx index c6a5438..e0c7b84 100644 --- a/contents/jianshu.tsx +++ b/contents/jianshu.tsx @@ -185,7 +185,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("section.ouvJEz") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/juejin.tsx b/contents/juejin.tsx index df73160..184d0a7 100644 --- a/contents/juejin.tsx +++ b/contents/juejin.tsx @@ -100,7 +100,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("article.article") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/md.tsx b/contents/md.tsx index 7ce8cfd..5d1535e 100644 --- a/contents/md.tsx +++ b/contents/md.tsx @@ -5,36 +5,32 @@ import { Storage } from "@plasmohq/storage" import { useStorage } from "@plasmohq/storage/dist/hook" export const config: PlasmoCSConfig = { - matches: ["https://md.randbox.top/*"] + matches: ["https://md.randbox.top/*", "https://md.code-box.fun/*"] } export default function Markdown() { - const [content] = useStorage({ - key: "md-content", + const [post] = useStorage({ + key: "md-post", instance: new Storage({ area: "local" }) }) useEffect(() => { - let timer = null - let index = 0 - if (content) { - timer = setInterval(() => { - const setValue = (window as any).setValue - index++ - if (setValue && index < 30) { - setValue(content) - clearTimeout(timer) - } else if (index >= 30) { - clearTimeout(timer) - } - }, 1000) + if (post) { + const posts = JSON.parse(window.localStorage.getItem("MD__posts")) || [] + const _post = JSON.parse(post) + + if (posts[0] && _post.content != posts[0].content) { + posts.unshift({ + content: _post.content, + title: _post.title || "文章1" + }) + window.localStorage.setItem("MD__posts", JSON.stringify(posts)) + location.reload() + } } - return () => { - clearTimeout(timer) - } - }, [content]) + }, [post]) return
} diff --git a/contents/medium.tsx b/contents/medium.tsx index 0b5e920..8545a14 100644 --- a/contents/medium.tsx +++ b/contents/medium.tsx @@ -143,7 +143,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("article") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/oschina.tsx b/contents/oschina.tsx index 219c4c6..f3eed87 100644 --- a/contents/oschina.tsx +++ b/contents/oschina.tsx @@ -71,7 +71,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector(".article-box") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/php.tsx b/contents/php.tsx index 76adc7d..c84e56b 100644 --- a/contents/php.tsx +++ b/contents/php.tsx @@ -122,7 +122,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector(".phpscMain .php-article") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/segmentfault.tsx b/contents/segmentfault.tsx index 74592a0..d68b9af 100644 --- a/contents/segmentfault.tsx +++ b/contents/segmentfault.tsx @@ -74,7 +74,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector(".container") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/weixin.tsx b/contents/weixin.tsx index 1320a7a..1a32418 100644 --- a/contents/weixin.tsx +++ b/contents/weixin.tsx @@ -141,7 +141,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("#img-content") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/contents/zhihu.tsx b/contents/zhihu.tsx index 0b1f219..1dadebe 100644 --- a/contents/zhihu.tsx +++ b/contents/zhihu.tsx @@ -205,7 +205,7 @@ const PlasmoOverlay: FC = ({ anchor }) => { function editMarkdown() { const dom = document.querySelector("article.Post-Main") - setContent(dom) + setContent(dom, articleTitle) } function downloadMarkdown() { diff --git a/package.json b/package.json index a01ae1c..b5598f8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "code-box", "displayName": "__MSG_extensionName__", - "version": "1.0.10", + "version": "1.0.11", "description": "__MSG_extensionDescription__", "author": "027xiguapi. <458813868@qq.com>", "scripts": { diff --git a/utils/downloadAllImg.ts b/utils/downloadAllImg.ts index 1406ed5..3708b52 100644 --- a/utils/downloadAllImg.ts +++ b/utils/downloadAllImg.ts @@ -11,7 +11,6 @@ export async function downloadAllImagesAsZip(filename?: string) { images.forEach((img, index) => { fetchPromises.push( new Promise((resolve) => { - console.log(img.src) fetch(img.src) .then((response) => response.blob()) .then((blob) => { diff --git a/utils/editMarkdownHook.ts b/utils/editMarkdownHook.ts index 2f5f9ab..2794616 100644 --- a/utils/editMarkdownHook.ts +++ b/utils/editMarkdownHook.ts @@ -6,18 +6,22 @@ import Turndown from "~utils/turndown" export function useEditMarkdown(option?) { const turndownService = Turndown(option) - const [content, setContent] = useStorage({ - key: "md-content", + const [post, setPost] = useStorage({ + key: "md-post", instance: new Storage({ area: "local" }) }) - const handleSetContent = (selectorDom) => { - const markdown = turndownService.turndown(selectorDom) - setContent(markdown) - window.open("https://md.randbox.top", "_blank") + const handleSetPost = (selectorDom, articleTitle) => { + const content = turndownService.turndown(selectorDom) + const post = { + content: content, + title: articleTitle + } + setPost(JSON.stringify(post)) + window.open("https://md.code-box.fun", "_blank") } - return [content, handleSetContent] + return [post, handleSetPost] }