From f529bb9d67852ba3e4bd1e8e6d5d299f8b3587dc Mon Sep 17 00:00:00 2001 From: fzk <458813868@qq.com> Date: Fri, 17 Jan 2025 09:49:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=80=E6=9C=89=E6=A8=A1=E5=9D=97=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0AI=E8=A7=A3=E6=9E=90=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- README_EN.md | 181 ++++++++++++++++++++++++++++++++++++++ component/ui/tags.tsx | 9 +- contents/51cto.tsx | 37 +++----- contents/cnblogs.tsx | 33 +++---- contents/csdn.tsx | 31 +++---- contents/jb51.tsx | 31 +++---- contents/jianshu.tsx | 31 +++---- contents/juejin.tsx | 31 +++---- contents/medium.tsx | 2 - contents/oschina.tsx | 31 +++---- contents/php.tsx | 31 +++---- contents/segmentfault.tsx | 31 +++---- contents/weixin.tsx | 31 +++---- contents/zhihu.tsx | 33 +++---- package.json | 2 +- public/wx/u_wx.jpg | Bin 0 -> 85863 bytes 17 files changed, 325 insertions(+), 224 deletions(-) create mode 100644 README_EN.md create mode 100644 public/wx/u_wx.jpg diff --git a/README.md b/README.md index 994b24f..bae8be5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -## codebox-一键复制代码/下载文章 +# codebox-一键复制代码/下载文章 + +[中文](README.md) | [English](README_EN.md) ## 代码 diff --git a/README_EN.md b/README_EN.md new file mode 100644 index 0000000..bc3fed6 --- /dev/null +++ b/README_EN.md @@ -0,0 +1,181 @@ +# Codebox - One-click Code Copying/Downloading Articles + +[中文](README.md) | [English](README_EN.md) +## Code + +https://github.com/027xiguapi/code-box + +## Introduction + +This browser plugin can be used on websites like CSDN/Zhihu/Script Home/Blog Garden/51CTO Blog/PHP Chinese Network/Juejin/WeChat, etc., to download articles as HTML or Markdown files with one click; to copy code without logging in; to support selected code; or to copy code with one click from the button in the upper right corner of the code; to remove the prompt to follow the blogger to read the full text; to remove the login pop-up window; to remove the pop-up window to jump to the APP. + +## Installation + +### Installation Method 1: Plugin Store (Recommended) + +Directly download and install: +1. Enter the app store + - [Chrome Web Store](https://chrome.google.com/webstore/category/extensions?hl=zh-CN) + - [Edge Web Store](https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home?hl=zh-CN) + - [360 Browser App Store](https://ext.se.360.cn/#/extension-detail?id=acnnhjllgegbndgknlliobjlekgilbdf) + - [Firefox Web Store](https://addons.mozilla.org/zh-CN/firefox/) + +2. Search: `codebox` + +![0f8137ce6861f2a387095aef446fe60](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/webstore/0f8137ce6861f2a387095aef446fe60.png) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/webstore/img.png) +![1724640161752](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/webstore/1724640161752.jpg) + +### Installation Method 2: Direct Installation + +1. Installation address: + - [Go to Chrome Extension Store](https://chrome.google.com/webstore/detail/acnnhjllgegbndgknlliobjlekgilbdf) + - [Go to 360 Browser Extension Store](https://ext.se.360.cn/#/extension-detail?id=acnnhjllgegbndgknlliobjlekgilbdf) + - [Go to Firefox Extension Store](https://addons.mozilla.org/zh-CN/firefox/addon/code-box/) + - [Go to Edge Extension Store](https://microsoftedge.microsoft.com/addons/detail/code-box/cfpdbfmncaampihkmejogihjkenkonbn) + +### Installation Method 3: Download from WeChat Official Account + +1. Follow the WeChat official account + +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/wx/qrcode_wx.jpg) + +2. Click `Software Download` + +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/wx/download.jpg) + +### Installation Method 4: Source Code Installation + +1. Clone the source code + ```sh + git clone https://github.com/027xiguapi/code-box.git + ``` +2. Install and package + ```sh + pnpm install + pnpm dev + pnpm build + ``` +3. For Google Chrome, you can enter the plugin management page from the upper right menu -> More tools -> Extensions, or you can directly enter chrome://extensions in the address bar to access it. +4. Check the developer mode, and you can directly load the plugin in the form of a folder. + +## Function + +![img-1](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/config.jpg) + +### Customization + +- Insert custom styles (CSS code) +- Download all images +- Customize the selection to download HTML +- Customize the selection to download Markdown +- Customize the selection to download PDF + +### WeChat + +- Insert custom styles (CSS code) +- One-click download of article HTML +- One-click download of article Markdown +- One-click download of article PDF +- One-click download of all images + +### Nuggets + +- Insert custom styles (CSS code) +- One-click download of article HTML +- One-click download of article Markdown +- One-click download of article PDF + +### CSDN + +- One-click download of article HTML, PDF, or Markdown files +- Open any `CSDN` blog to start copying code +- Support for selected code when not logged in to `CSDN` +- One-click copy of code from the button in the upper right corner of the code when not logged in to `CSDN` +- No more forced login pop-ups when not logged in to `CSDN` +- No more prompts to follow the blogger to read the full text when not following the blogger, and the full text is displayed +- Automatically expand code blocks +- Block APP redirection on mobile +- For non-VIP users, no more prompts for VIP viewing, and the full text is displayed +- Insert custom styles (CSS code) + +### Zhihu + +- One-click download of article HTML, PDF, or Markdown files +- One-click copy of code +- No more prompts to expand and read the full text when not logged in to `Zhihu`, and the full text is displayed +- No more forced login pop-ups when not logged in to `Zhihu` +- Insert custom styles (CSS code) + +### Baidu + +- One-click download of dialog box HTML, PDF, or Markdown files +- Close AI dialog box + +### Jian Shu + +- One-click download of article HTML, PDF, or Markdown files +- One-click copy of code on mobile +- No more prompts to expand and read the full text, and the full text is displayed +- No more forced login pop-ups +- Insert custom styles (CSS code) + +### Script Home + +- One-click download of article HTML, PDF, or Markdown files +- Open any `Script Home` blog to start copying code +- Support for selected code when not logged in to `Script Home` +- Block ads +- One-click copy of code from the button in the upper right corner of the code on mobile when not logged in to `Script Home` +- Insert custom styles (CSS code) + +### Blog Garden + +- One-click download of article HTML, PDF, or Markdown files +- One-click copy of code +- Insert custom styles (CSS code) + +### 51CTO Blog + +- One-click download of article HTML, PDF, or Markdown files +- Support for selected code when not logged in to `51CTO Blog` +- One-click copy of code from the button in the upper right corner of the code when not logged in to `51CTO Blog` +- No more forced login pop-ups when not logged in to `51CTO Blog` +- One-click copy of code from the button in the upper right corner of the code on mobile when not logged in to `51CTO Blog` +- Insert custom styles (CSS code) + +### PHP Chinese Network + +- One-click download of article HTML, PDF, or Markdown files +- Support for selected code when not logged in to `PHP Chinese Network` +- One-click copy of code from the button in the upper right corner of the code when not logged in to `PHP Chinese Network` +- No more forced login pop-ups when not logged in to `PHP Chinese Network` +- One-click copy of code from the button in the upper right corner of the code on mobile when not logged in to `PHP Chinese Network` +- Insert custom styles (CSS code) + +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/8.png) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/1.jpg) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/2.png) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/3.jpg) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/4.jpg) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/5.jpg) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/6.jpg) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/7.jpg) +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/1723096379951.jpg) + +## Reference + +1. [copy-csdn](https://github.com/openHacking/copy-csdn) +2. [plasmo](https://github.com/PlasmoHQ/plasmo) +3. [Chrome App Store One-stop Support](https://support.google.com/chrome_webstore/contact/one_stop_support) +4. [Out-of-the-box web printing and downloading](https://juejin.cn/post/7412672713376497727) +5. [Export WeChat Official Account Articles to PDF](https://greasyfork.org/en/scripts/510683-%E5%AF%BC%E5%87%BA%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%96%87%E7%AB%A0%E4%B8%BApdf/code) +6. [One-click Download of WeChat Official Account Article Images](https://greasyfork.org/zh-CN/scripts/40583-%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%8E%A8%E6%96%87%E5%9B%BE%E7%89%87%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD/code) + +## Privacy Policy + +[Webpage](https://027xiguapi.github.io/code-box/privacy-policy.html) + +## Support + +![img](https://raw.githubusercontent.com/027xiguapi/code-box/main/public/wx/qrcode_wx.jpg) \ No newline at end of file diff --git a/component/ui/tags.tsx b/component/ui/tags.tsx index f1320ec..24b54bb 100644 --- a/component/ui/tags.tsx +++ b/component/ui/tags.tsx @@ -11,7 +11,7 @@ const tagsStyles = { alignItems: "center", color: "#1e80ff", width: "160px", - background: "#fff", + backgroundColor: "rgb(255, 255, 255, .3)", borderRadius: "5px", justifyContent: "space-between", padding: "0 8px", @@ -21,6 +21,7 @@ const tagsStyles = { } export default function Tags(props: any) { + const [isShowTag, setIsShowTag] = useState(true) const handleEdit = () => { props.onEdit() } @@ -38,10 +39,10 @@ export default function Tags(props: any) { } const handleClose = () => { - props.setIsShowTag(false) + setIsShowTag(false) } - return ( + return isShowTag ? (
{i18n("edit")} @@ -59,5 +60,7 @@ export default function Tags(props: any) {
+ ) : ( + <> ) } diff --git a/contents/51cto.tsx b/contents/51cto.tsx index 386c0dd..83a11ac 100644 --- a/contents/51cto.tsx +++ b/contents/51cto.tsx @@ -12,9 +12,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { addCss, i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -36,6 +38,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("51cto-showTag", true) const [cssCode, runCss] = useCssCodeHook("51cto") const [copyCode] = useStorage("51cto-copyCode") @@ -242,34 +245,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { setContent(dom) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("article .article-detail") + setParseContent(dom) } return showTag ? ( -
-
- {i18n("edit")} -
-
- {i18n("download")} -
-
- {i18n("print")} -
-
+ ) : ( <> ) diff --git a/contents/cnblogs.tsx b/contents/cnblogs.tsx index 35512e1..854eb3c 100644 --- a/contents/cnblogs.tsx +++ b/contents/cnblogs.tsx @@ -12,9 +12,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" -import { i18n, saveHtml, saveMarkdown } from "~tools" +import Tags from "~component/ui/tags" +import { saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -37,6 +39,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("cnblogs-showTag", true) const [cssCode, runCss] = useCssCodeHook("cnblogs") const [copyCode] = useStorage("cnblogs-copyCode") @@ -166,28 +169,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("#post_detail") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/csdn.tsx b/contents/csdn.tsx index a5d8c1f..1f348b4 100644 --- a/contents/csdn.tsx +++ b/contents/csdn.tsx @@ -12,9 +12,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { addCss, i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -35,6 +37,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("csdn-showTag", true) const [cssCode, runCss] = useCssCodeHook("csdn") const [closeAds] = useStorage("csdn-closeAds") @@ -291,28 +294,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector(".blog-content-box") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/jb51.tsx b/contents/jb51.tsx index 050b0f1..dd0cb82 100644 --- a/contents/jb51.tsx +++ b/contents/jb51.tsx @@ -12,9 +12,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { addCss, i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -36,6 +38,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("jb51-showTag", true) const [cssCode, runCss] = useCssCodeHook("jb51") const [closeAds] = useStorage("jb51-closeAds") @@ -246,28 +249,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("#article") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/jianshu.tsx b/contents/jianshu.tsx index 783f453..c6a5438 100644 --- a/contents/jianshu.tsx +++ b/contents/jianshu.tsx @@ -12,9 +12,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { addCss, i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -36,6 +38,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("jianshu-showTag", true) const [cssCode, runCss] = useCssCodeHook("jianshu") const [closeLoginModal] = useStorage("jianshu-closeLoginModal") @@ -196,28 +199,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("section.ouvJEz") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/juejin.tsx b/contents/juejin.tsx index 7385ba2..df73160 100644 --- a/contents/juejin.tsx +++ b/contents/juejin.tsx @@ -11,9 +11,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/dist/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -64,6 +66,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("juejin-showTag", true) const [cssCode, runCss] = useCssCodeHook("juejin") const [content, setContent] = useEditMarkdown() @@ -111,28 +114,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("article.article") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/medium.tsx b/contents/medium.tsx index 0138d07..0b5e920 100644 --- a/contents/medium.tsx +++ b/contents/medium.tsx @@ -168,8 +168,6 @@ const PlasmoOverlay: FC = ({ anchor }) => { onDownload={downloadMarkdown} onPrint={downloadPdf} onParse={parseMarkdown} - isShowTag={showTag} - setIsShowTag={setShowTag} /> ) : ( <> diff --git a/contents/oschina.tsx b/contents/oschina.tsx index 6b1b160..219c4c6 100644 --- a/contents/oschina.tsx +++ b/contents/oschina.tsx @@ -11,9 +11,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/dist/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -35,6 +37,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("oschina-showTag", true) const [cssCode, runCss] = useCssCodeHook("oschina") const [content, setContent] = useEditMarkdown() @@ -82,28 +85,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector(".article-box") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/php.tsx b/contents/php.tsx index d2f160f..76adc7d 100644 --- a/contents/php.tsx +++ b/contents/php.tsx @@ -11,9 +11,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { addCss, i18n, removeCss, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -35,6 +37,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("php-showTag", true) const [cssCode, runCss] = useCssCodeHook("php") const [copyCode] = useStorage("php-copyCode", true) @@ -133,28 +136,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector(".phpscMain .php-article") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/segmentfault.tsx b/contents/segmentfault.tsx index 46fe15a..74592a0 100644 --- a/contents/segmentfault.tsx +++ b/contents/segmentfault.tsx @@ -11,9 +11,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/dist/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -35,6 +37,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage( "segmentfault-showTag", true @@ -85,28 +88,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector(".container") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/weixin.tsx b/contents/weixin.tsx index e5d4026..9a4b9f3 100644 --- a/contents/weixin.tsx +++ b/contents/weixin.tsx @@ -13,9 +13,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/dist/hook" import TagBtnStyle from "~component/tagBtn/style" +import Tags from "~component/ui/tags" import { i18n, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -37,6 +39,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("weixin-showTag", true) const [cssCode, runCss] = useCssCodeHook("weixin") const [history, setHistory] = useStorage("codebox-history") @@ -146,28 +149,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("#img-content") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/contents/zhihu.tsx b/contents/zhihu.tsx index b034e7c..0b1f219 100644 --- a/contents/zhihu.tsx +++ b/contents/zhihu.tsx @@ -12,9 +12,11 @@ import { useMessage } from "@plasmohq/messaging/hook" import { useStorage } from "@plasmohq/storage/hook" import TagBtnStyle from "~component/tagBtn/style" -import { addCss, i18n, saveHtml, saveMarkdown } from "~tools" +import Tags from "~component/ui/tags" +import { addCss, saveHtml, saveMarkdown } from "~tools" import useCssCodeHook from "~utils/cssCodeHook" import { useEditMarkdown } from "~utils/editMarkdownHook" +import { useParseMarkdown } from "~utils/parseMarkdownHook" import { Print } from "~utils/print" import Turndown from "~utils/turndown" @@ -36,6 +38,7 @@ export const getOverlayAnchor: PlasmoGetOverlayAnchor = async () => export const getStyle: PlasmoGetStyle = () => TagBtnStyle() const PlasmoOverlay: FC = ({ anchor }) => { + const [parseContent, setParseContent] = useParseMarkdown() const [showTag, setShowTag] = useStorage("zhihu-showTag", true) const [cssCode, runCss] = useCssCodeHook("zhihu") const [closeLoginModal] = useStorage("zhihu-closeLoginModal") @@ -216,28 +219,18 @@ const PlasmoOverlay: FC = ({ anchor }) => { saveHtml(dom, articleTitle) } - function handleEdit() { - editMarkdown() - } - - function handleDownload() { - downloadMarkdown() - } - - function handlePrint() { - downloadPdf() - } - - function closeTag() { - setShowTag(false) + function parseMarkdown() { + const dom = document.querySelector("article.Post-Main") + setParseContent(dom) } return showTag ? ( -
-
{i18n("edit")}
-
{i18n("download")}
-
{i18n("print")}
-
+ ) : ( <> ) diff --git a/package.json b/package.json index ff3f146..853cb7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "code-box", "displayName": "__MSG_extensionName__", - "version": "1.0.1", + "version": "1.0.2", "description": "__MSG_extensionDescription__", "author": "027xiguapi. <458813868@qq.com>", "scripts": { diff --git a/public/wx/u_wx.jpg b/public/wx/u_wx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..638f17bc2e2771649536517f0baff5c5b05f3f46 GIT binary patch literal 85863 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 N$!`6Ppykc>{{r7sc-a5| literal 0 HcmV?d00001