Skip to content

Commit

Permalink
历史记录
Browse files Browse the repository at this point in the history
  • Loading branch information
027xiguapi committed Aug 6, 2024
1 parent 4303832 commit 842009d
Show file tree
Hide file tree
Showing 13 changed files with 441 additions and 27 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ https://github.com/027xiguapi/code-box
5. 未关注博主状态下,不再提示关注博主即可阅读全文,且完整展示文章
6. 自动展开代码块
7. 移动端屏蔽跳转APP
8. 非vip用户,不再提示vip观看,且完整展示文章

### 知乎

Expand Down
44 changes: 36 additions & 8 deletions contents/51cto.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { PlasmoCSConfig } from "plasmo"
import { useEffect } from "react"
import { v4 as uuidv4 } from "uuid"

import { useStorage } from "@plasmohq/storage/hook"

Expand All @@ -14,18 +15,17 @@ window.addEventListener("load", () => {
})

export default function Cto51() {

const [copyCode] = useStorage<boolean>("51cto-copyCode")
const [closeLoginModal] = useStorage<boolean>("51cto-closeLoginModal")
const [history, setHistory] = useStorage<any[]>("codebox-history")

useEffect(() => {
console.log("51CTO status", { closeLoginModal, copyCode })
setTimeout(() => {
copyCode && copyCodeFunc()
}, 500)
closeLoginModal && closeLoginModalFunc()
console.log(55, (copyCode || closeLoginModal))
setIcon((copyCode || closeLoginModal))
setIcon(copyCode || closeLoginModal)
}, [copyCode, closeLoginModal])

/* 未登录复制代码 */
Expand All @@ -49,7 +49,9 @@ export default function Cto51() {
content_views && content_views.replaceWith(content_views.cloneNode(true))

// 功能一: 修改复制按钮,支持一键复制
const buttons = document.querySelectorAll<HTMLElement>(".hljs-cto .copy_btn")
const buttons = document.querySelectorAll<HTMLElement>(
".hljs-cto .copy_btn"
)

if (buttons.length > 0) {
buttons.forEach((btn) => {
Expand All @@ -62,11 +64,23 @@ export default function Cto51() {
const target = e.target as HTMLElement
const parentPreBlock = target.closest(".hljs-cto")
const codeBlock = parentPreBlock.querySelector<HTMLElement>("pre")
const codeIndex = codeBlock.querySelector<HTMLElement>(".pre-numbering")
const codeIndex =
codeBlock.querySelector<HTMLElement>(".pre-numbering")
codeBlock.removeChild(codeIndex)

navigator.clipboard.writeText(codeBlock.innerText)

setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "51CTO",
link: location.href,
tags: [],
remark: ""
},
...prevData
])
target.innerText = "复制成功"
setTimeout(() => {
target.innerText = "复制"
Expand All @@ -76,7 +90,9 @@ export default function Cto51() {
})
})
} else {
const codes = document.querySelectorAll<HTMLElement>("article .has-pre-numbering")
const codes = document.querySelectorAll<HTMLElement>(
"article .has-pre-numbering"
)

codes.forEach((code) => {
const codeBlock = code.closest("div")
Expand All @@ -99,6 +115,18 @@ export default function Cto51() {
const target = e.target as HTMLElement

navigator.clipboard.writeText(code.innerText)
setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "51CTO",
link: location.href,
tags: [],
remark: ""
},
...prevData
])
target.innerText = "复制成功"
setTimeout(() => {
target.innerText = "复制"
Expand All @@ -120,4 +148,4 @@ export default function Cto51() {
}

return <div style={{ display: "none" }}></div>
}
}
18 changes: 16 additions & 2 deletions contents/cnblogs.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import type { PlasmoCSConfig } from "plasmo"
import { useEffect, useRef } from "react"
import { v4 as uuidv4 } from "uuid"

import { useStorage } from "@plasmohq/storage/hook"

import { setIcon } from "~tools"

export const config: PlasmoCSConfig = {
Expand All @@ -15,11 +17,12 @@ window.addEventListener("load", () => {

export default function cnblogs() {
const [copyCode] = useStorage<boolean>("cnblogs-copyCode")
const [history, setHistory] = useStorage<any[]>("codebox-history")

useEffect(() => {
console.log("cnblogs copyCode", copyCode)
copyCode && copyCodeFunc()
setIcon((copyCode))
setIcon(copyCode)
}, [copyCode])

// 功能一: 修改复制按钮,支持一键复制
Expand Down Expand Up @@ -60,7 +63,18 @@ export default function cnblogs() {
const codeBlock = parentPreBlock.querySelector<HTMLElement>("pre")

navigator.clipboard.writeText(codeBlock.innerText)

setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "博客园",
link: location.href,
tags: [],
remark: ""
},
...prevData
])
target.innerText = "复制成功"
setTimeout(() => {
target.innerText = "复制"
Expand Down
23 changes: 22 additions & 1 deletion contents/csdn.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { PlasmoCSConfig } from "plasmo"
import { useEffect, useRef } from "react"
import { v4 as uuidv4 } from "uuid"

import { useStorage } from "@plasmohq/storage/hook"

Expand All @@ -21,6 +22,7 @@ const csdn = () => {
const [autoOpenCode] = useStorage<boolean>("csdn-autoOpenCode")
const [closeLoginModal] = useStorage<boolean>("csdn-closeLoginModal")
const [closeRedirectModal] = useStorage<boolean>("csdn-closeLoginModal")
const [history, setHistory] = useStorage<any[]>("codebox-history")

useEffect(() => {
console.log("CSDN status", {
Expand All @@ -39,7 +41,14 @@ const csdn = () => {
closeVip && closeVipFunc()
closeLoginModal && closeLoginModalFunc()
closeRedirectModal && closeRedirectModalFunc()
setIcon((closeAds || copyCode || autoOpenCode || closeFollow || closeLoginModal || closeRedirectModal))
setIcon(
closeAds ||
copyCode ||
autoOpenCode ||
closeFollow ||
closeLoginModal ||
closeRedirectModal
)
}, [
closeAds,
copyCode,
Expand Down Expand Up @@ -94,6 +103,18 @@ const csdn = () => {
const codeBlock = parentPreBlock.querySelector("code")

navigator.clipboard.writeText(codeBlock.innerText)
setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "CSDN",
link: location.href,
tags: [],
remark: ""
},
...prevData
])

target.dataset.title = "复制成功"
setTimeout(() => {
Expand Down
28 changes: 27 additions & 1 deletion contents/jb51.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { PlasmoCSConfig } from "plasmo"
import { useEffect } from "react"
import { v4 as uuidv4 } from "uuid"

import { useStorage } from "@plasmohq/storage/hook"

Expand All @@ -16,12 +17,13 @@ window.addEventListener("load", () => {
export default function jb51() {
const [closeAds] = useStorage<boolean>("jb51-closeAds")
const [copyCode] = useStorage<boolean>("jb51-copyCode")
const [history, setHistory] = useStorage<any[]>("codebox-history")

useEffect(() => {
console.log("jb51 status", { closeAds, copyCode })
closeAds && closeAdsFunc()
copyCode && copyCodeFunc()
setIcon((closeAds || copyCode))
setIcon(closeAds || copyCode)
}, [closeAds, copyCode])

/* 未登录复制代码 */
Expand Down Expand Up @@ -69,6 +71,18 @@ export default function jb51() {
const codeBlock = parentPreBlock.querySelector<HTMLElement>(".code")

navigator.clipboard.writeText(codeBlock.innerText)
setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "脚本之家",
link: location.href,
tags: [],
remark: ""
},
...prevData
])

target.innerText = "复制成功"
setTimeout(() => {
Expand Down Expand Up @@ -101,6 +115,18 @@ export default function jb51() {
const codeBlock = parentPreBlock.querySelector<HTMLElement>("pre")

navigator.clipboard.writeText(codeBlock.innerText)
setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "脚本之家",
link: location.href,
tags: [],
remark: ""
},
...prevData
])

target.innerText = "复制成功"
setTimeout(() => {
Expand Down
28 changes: 22 additions & 6 deletions contents/jianshu.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { PlasmoCSConfig } from "plasmo"
import { useEffect, useRef } from "react"
import { v4 as uuidv4 } from "uuid"

import { useStorage } from "@plasmohq/storage/hook"

Expand All @@ -17,13 +18,14 @@ export default function Jianshu() {
const [closeLoginModal] = useStorage<boolean>("jianshu-closeLoginModal")
const [copyCode] = useStorage<boolean>("jianshu-copyCode")
const [autoOpenCode] = useStorage<boolean>("jianshu-autoOpenCode")
const [history, setHistory] = useStorage<any[]>("codebox-history")

useEffect(() => {
console.log("jianshu status", { copyCode, closeLoginModal, autoOpenCode })
copyCode && copyCodeFunc()
closeLoginModal && closeLoginModalFunc()
autoOpenCode && autoOpenCodeFunc()
setIcon((closeLoginModal || copyCode || autoOpenCode))
setIcon(closeLoginModal || copyCode || autoOpenCode)
}, [copyCode, closeLoginModal, autoOpenCode])

// 一键复制
Expand All @@ -50,6 +52,18 @@ export default function Jianshu() {
const codeBlock = parentPreBlock.querySelector<HTMLElement>("code")

navigator.clipboard.writeText(codeBlock.innerText)
setHistory((prevData) => [
{
id: uuidv4(),
value: codeBlock.innerText,
createdAt: new Date(),
from: "简书",
link: location.href,
tags: [],
remark: ""
},
...prevData
])

target.innerText = "复制成功"
setTimeout(() => {
Expand All @@ -66,19 +80,21 @@ export default function Jianshu() {
addCss(`.hide{ display:none !important; }`)
let openAppModal = document.querySelector(".open-app-modal")
if (openAppModal) {
const dialog = openAppModal.closest("div[class^='dialog-']") as HTMLElement
const dialog = openAppModal.closest(
"div[class^='dialog-']"
) as HTMLElement
const className = dialog.className
addCss(`.download-app-guidance,.${className} { display:none !important; }`)
addCss(
`.download-app-guidance,.${className} { display:none !important; }`
)
} else {
setTimeout(() => {
openAppModal = document.querySelector("div[class*='-mask']")
const dialog = openAppModal.parentNode as HTMLElement

dialog.classList.add('hide');
dialog.classList.add("hide")
}, 500)
}


}

// 自动展开全文
Expand Down
Loading

0 comments on commit 842009d

Please sign in to comment.