Skip to content

Commit a5ecb3f

Browse files
committed
complete
1 parent 30de58c commit a5ecb3f

File tree

10 files changed

+82
-101
lines changed

10 files changed

+82
-101
lines changed

README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,27 @@
1-
# flomo-code
2-
flomo 浮墨笔记 代码高亮显示插件
1+
![](./images/flomo128.png)
2+
3+
# Flomo Code
4+
5+
Flomo Code 是一款 Chrome 扩展程序,为您的 Flomo 笔记提供代码语法高亮功能。
6+
7+
## 安装
8+
9+
您可以从 [Release](https://github.com/greycodee/flomo-code/releases/) 下载安装 Flomo Code。
10+
11+
## 使用
12+
13+
要使用 Flomo Code,只需在 Flomo 笔记中添加 Markdown 代码块,点击 flomo 页面右下角`绿色按钮`,即可突出显示语法。
14+
15+
### before
16+
![](./images/before.png)
17+
18+
### after
19+
![](./images/after.png)
20+
21+
## 贡献
22+
23+
欢迎贡献!如果您发现错误或有功能请求,请在 [GitHub 存储库](https://github.com/greycodee/flomo-code) 上打开 Issue。
24+
25+
## 许可证
26+
27+
Flomo Code 在 [MIT 许可证](https://opensource.org/licenses/MIT) 下获得许可。

content.js

Lines changed: 40 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,77 @@
11
window.onload = function () {
22
const hljsbtn = document.createElement("button");
3-
hljsbtn.innerHTML = "点击";
3+
const img = document.createElement("img");
4+
img.src = chrome.runtime.getURL("images/code.svg");
5+
img.style.height = "20px";
6+
img.style.width = "20px";
7+
8+
hljsbtn.appendChild(img);
9+
10+
// hljsbtn.innerHTML = "点击";
411
hljsbtn.type = "button";
5-
hljsbtn.backgroundColor = "red";
6-
hljsbtn.style.height = "20px";
7-
hljsbtn.style.width = "40px";
8-
// hljsbtn.style.position = 'fixed';
9-
// hljsbtn.style.top = '100px';
10-
// hljsbtn.style.left = '10';
12+
hljsbtn.style.height = "36px";
13+
hljsbtn.style.width = "36px";
14+
hljsbtn.style.borderRadius = "36px";
15+
hljsbtn.style.border = "none";
16+
hljsbtn.style.backgroundColor = "#397354";
17+
hljsbtn.style.color = "#fff";
18+
hljsbtn.style.cursor = "pointer";
19+
hljsbtn.style.position = "fixed";
20+
hljsbtn.style.bottom = "60px";
21+
hljsbtn.style.right = "30px";
22+
hljsbtn.style.zIndex = "9999";
23+
hljsbtn.style.display = "flex";
24+
hljsbtn.style.justifyContent = "center";
25+
hljsbtn.style.alignItems = "center";
1126

1227
hljsbtn.addEventListener("click", () => {
28+
console.log("点击了");
1329
const memos = document.getElementsByClassName("richText");
1430
const memos_array = Array.from(memos);
1531
console.log(memos_array.length);
1632
memos_array.forEach((memo) => {
17-
const memo_p = memo.getElementsByTagName("p");
18-
const memo_p_array = Array.from(memo_p);
19-
20-
const newRichText = document.createElement("div");
33+
let children = memo.children;
34+
console.log(children);
35+
const memo_p_array = Array.from(children);
2136
let languageFlag = false;
22-
23-
let codeArr = [];
37+
let codeContentArr = [];
2438
let languageType = "";
2539
for (let i = 0; i < memo_p_array.length; i++) {
2640
if (
2741
memo_p_array[i].innerHTML.startsWith("```") &&
2842
memo_p_array[i].innerHTML.substring(3) != ""
2943
) {
44+
languageType = "language-" + memo_p_array[i].innerHTML.substring(3);
3045
languageFlag = true;
31-
let language = memo_p_array[i].innerHTML.substring(3);
32-
languageType = "language-" + language;
46+
memo.removeChild(memo_p_array[i]);
3347
continue;
3448
} else if (
3549
memo_p_array[i].innerHTML.startsWith("```") &&
3650
memo_p_array[i].innerHTML.substring(3) === ""
3751
) {
52+
// memo.removeChild(memo_p_array[i]);
3853
languageFlag = false;
39-
4054
let pre = document.createElement("pre");
4155
let code = document.createElement("code");
42-
code.innerHTML = codeArr.join("\n");
56+
code.innerHTML = codeContentArr.join("\n");
4357
code.className = languageType;
4458
pre.appendChild(code);
45-
newRichText.appendChild(pre);
59+
memo_p_array[i].innerHTML = "";
60+
memo_p_array[i].appendChild(pre);
61+
// memo.appendChild(pre);
4662
//清空数组
47-
codeArr = [];
63+
codeContentArr = [];
4864
languageType = "";
4965
continue;
50-
}
51-
52-
if (languageFlag) {
53-
// code.innerHTML = code.innerHTML + memo_p_array[i].innerHTML;
54-
codeArr.push(memo_p_array[i].innerHTML);
5566
} else {
56-
let newP = document.createElement("p");
57-
newP.innerHTML = memo_p_array[i].innerHTML;
58-
newRichText.appendChild(newP);
67+
if (languageFlag) {
68+
codeContentArr.push(memo_p_array[i].innerHTML);
69+
memo.removeChild(memo_p_array[i]);
70+
}
5971
}
6072
}
61-
memo.innerHTML = newRichText.innerHTML;
6273
});
6374
hljs.highlightAll();
6475
});
65-
66-
// document.body.appendChild(hljsbtn);
67-
68-
const memos = document.getElementsByClassName("memos")[0];
69-
memos.appendChild(hljsbtn);
70-
71-
const send = document.createElement("button");
72-
send.innerHTML = "发送";
73-
send.type = "button";
74-
send.style.height = "20px";
75-
send.style.width = "40px";
76-
send.addEventListener("click", () => {
77-
chrome.runtime.sendMessage("get-user-data", (response) => {
78-
// alert(response.username);
79-
// console.error(response.username);
80-
initializeUI(response);
81-
});
82-
});
83-
memos.appendChild(send);
84-
// chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
85-
// if (message === "refresh") {
86-
// sendResponse("123ffff");
87-
// }
88-
// });
76+
document.body.appendChild(hljsbtn);
8977
};

images/after.png

24.4 KB
Loading

images/before.png

24.4 KB
Loading

images/code.svg

Lines changed: 1 addition & 0 deletions
Loading

images/flomo128.png

1.88 KB
Loading

manifest.json

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
{
2-
"name": "My Chrome Extension",
2+
"name": "flomo code",
33
"version": "1.0",
44
"manifest_version": 3,
5-
"description": "This is my first Chrome extension!",
6-
"permissions": [
7-
"nativeMessaging"
8-
],
5+
"description": "flomo md代码块高亮插件",
6+
"icons": {
7+
8+
"128": "images/flomo128.png"
9+
},
910
"content_scripts": [
1011
{
1112
"matches": ["https://v.flomoapp.com/*"],
12-
"js": ["content.js","highlight.min.js"],
13-
"css": ["highlight.min.css"]
13+
"js": ["content.js","include/highlight.min.js"],
14+
"css": ["include/highlight.min.css"]
1415
}
1516
],
16-
"background": {
17-
"service_worker": "service-worker.js"
18-
}
17+
"web_accessible_resources": [
18+
{
19+
"resources": ["images/*"],
20+
"matches": ["https://v.flomoapp.com/*"]
21+
}
22+
]
1923
}

service-worker.js

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)