Skip to content

Commit 3500614

Browse files
author
liguanliang1
committed
feat: darkmode js
1 parent 570ebd0 commit 3500614

File tree

2 files changed

+143
-0
lines changed

2 files changed

+143
-0
lines changed

Diff for: DOM/darkmode.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// 代码切换暗黑模式;
2+
const hack = () => {
3+
// make font style & bg style
4+
5+
const customStyle = {
6+
color: '#d0d3d8',
7+
background: '#17181a',
8+
lineHeight: '30px',
9+
fontSize: '16px',
10+
};
11+
Array.from(document.querySelectorAll('*')).forEach((item) => {
12+
Object.entries(customStyle).forEach(([key, value]) => {
13+
item.style[key] = value;
14+
});
15+
});
16+
17+
// 删除不要的节点
18+
const removeNode = () => {
19+
const removeList = [
20+
'.ColumnPageHeader',
21+
'.FollowButton',
22+
'.RichContent-actions',
23+
'.qr_code_pc',
24+
];
25+
removeList.forEach((className) => {
26+
document.querySelector(className)?.remove();
27+
});
28+
};
29+
30+
removeNode();
31+
};
32+
hack();

Diff for: js/findNodemodules.js

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
var fs = require('fs');
2+
var path = require('path');
3+
4+
//解析需要遍历的文件夹,我这以E盘根目录为例
5+
var filePath = path.resolve('/Users/liguanliang1/Desktop/workspace');
6+
7+
const arr = [22, 2, 1324, 45, 5, 46, 6, 546, 565, 34, 22, 1]
8+
let target = []
9+
arr.forEach((size) => { const data = { size }; insertArr(target, data) })
10+
11+
function insertArr(arr, data) {
12+
const { size, filedir } = data
13+
if (arr.length < 1) {
14+
arr.push(data)
15+
return
16+
}
17+
18+
let i = arr.length - 1;
19+
if (size < arr[i].size) {
20+
arr.push(data)
21+
return
22+
}
23+
24+
if (size > arr[0].size) {
25+
arr.unshift(data)
26+
return
27+
}
28+
29+
while (size > arr[i].size) {
30+
if (size >= arr[i].size && size <= arr[i - 1].size) {
31+
target = [...target.slice(0, i - 1), data, ...target.slice(i - 1, target.length)]
32+
break
33+
}
34+
i--
35+
}
36+
37+
// console.log(...target.slice(0,i))
38+
// target = [...target.slice(0,i), data, ...target.slice(i, target.length)]
39+
}
40+
console.log(target)
41+
//调用文件遍历方法
42+
// fileDisplay(filePath);
43+
let count = 1;
44+
/**
45+
* 文件遍历方法
46+
* @param filePath 需要遍历的文件路径
47+
*/
48+
function fileDisplay(filePath) {
49+
//根据文件路径读取文件,返回文件列表
50+
fs.readdir(filePath, function (err, files) {
51+
if (err) {
52+
console.warn(err)
53+
} else {
54+
//遍历读取到的文件列表
55+
files.forEach(function (filename) {
56+
//获取当前文件的绝对路径
57+
var filedir = path.join(filePath, filename);
58+
//根据文件路径获取文件信息,返回一个fs.Stats对象
59+
fs.stat(filedir, function (eror, stats) {
60+
if (eror) {
61+
// console.warn('获取文件stats失败');
62+
} else {
63+
var isFile = stats.isFile();//是文件
64+
var isDir = stats.isDirectory();//是文件夹
65+
if (isFile) {
66+
// console.log(filedir);
67+
}
68+
if (isDir && /node_modules$/.test(filename)
69+
&& !/(sensed?|pro|ant|element)/g.test(filedir)
70+
&& stats.size / 1024 > 10) {
71+
console.log(filedir, stats.size);
72+
73+
}
74+
if (isDir) {
75+
fileDisplay(filedir);//递归,如果是文件夹,就继续遍历该文件夹下面的文件
76+
}
77+
}
78+
})
79+
});
80+
}
81+
});
82+
}
83+
84+
// function getdirsize(dir, callback) {
85+
// var size = 0;
86+
// fs.stat(dir, function (err, stats) {
87+
// if (err) return callback(err);//如果出错
88+
// if (stats.isFile()) return callback(null, stats.size);//如果是文件
89+
90+
// fs.readdir(dir, function (err, files) {//如果是目录
91+
// if (err) return callback(err);//如果遍历目录出错
92+
// if (files.length == 0) return callback(null, 0);//如果目录是空的
93+
94+
// var count = files.length;//哨兵变量
95+
// for (var i = 0; i < files.length; i++) {
96+
// getdirsize(path.join(dir, files[i]), function (err, _size) {
97+
// if (err) return callback(err);
98+
// size += _size;
99+
// if (--count <= 0) {//如果目录中所有文件(或目录)都遍历完成
100+
// callback(null, size);
101+
// }
102+
// });
103+
// }
104+
// });
105+
// });
106+
// }
107+
108+
// getdirsize(filePath, (err, data) => {
109+
// if (err) { return 1 }
110+
// console.log(data / 1024 / 1024)
111+
// })

0 commit comments

Comments
 (0)