Skip to content

Commit

Permalink
pref: 优化了具有背景色的文本在亮暗色下的显示效果
Browse files Browse the repository at this point in the history
  • Loading branch information
LIlGG committed Jul 8, 2024
1 parent 9e01c7f commit 7e284a3
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 9 deletions.
6 changes: 6 additions & 0 deletions src/css/common/components/post/post-body.css
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,12 @@
}
}

& mark {
& > .mark-text {
mix-blend-mode: difference;
}
}

@mixin screens-md {
& p {
font-size: 0.875em;
Expand Down
37 changes: 33 additions & 4 deletions src/page/post.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,33 @@ import { I18nFormat } from "../utils/i18nFormat";
import { Util } from "../utils/util";

export default class Post {

/**
* 为 mark(高亮)标签内的直接文本块添加 span 标签。
*
* 用于增加文本颜色与背景色的对比度,提高可读性。
*/
@documentFunction()
public addMarkTextSpan() {
const markElements = document.querySelectorAll("mark");
if (!markElements) {
return;
}
markElements.forEach((markElement) => {
const markNodes = markElement.childNodes;
if (!markNodes) {
return;
}
markNodes.forEach((node) => {
if (node.nodeType === 3) {
const spanElement = document.createElement("span");
spanElement.className = "mark-text";
spanElement.textContent = node.textContent;
node.replaceWith(spanElement);
}
});
});
}

/**
* 自动计算打赏弹出位置
* 子菜单位置为:父菜单宽度 / 2 - 子菜单宽度 / 2
Expand All @@ -28,7 +54,7 @@ export default class Post {
rewardMainElement.style.visibility = "hidden";
rewardMainElement.style.display = "block";
const subWidth = rewardMainElement.offsetWidth;
console.log(parentWidth, subWidth)
console.log(parentWidth, subWidth);
rewardMainElement.style.display = "none";
rewardMainElement.style.visibility = "visible";
const subLeft = parentWidth / 2 - subWidth / 2;
Expand All @@ -44,7 +70,10 @@ export default class Post {
if (!contentElement) {
return;
}
if (sakura.getPageConfig("isOriginal") == "false" || !sakura.getThemeConfig("post", "post_original_copy", Boolean)?.valueOf()) {
if (
sakura.getPageConfig("isOriginal") == "false" ||
!sakura.getThemeConfig("post", "post_original_copy", Boolean)?.valueOf()
) {
return;
}
contentElement.addEventListener("copy", (event) => {
Expand Down Expand Up @@ -183,7 +212,7 @@ export default class Post {
if (!sakura.getPageConfig("postLastModifyTime")) {
return;
}

const postLastModifyTime = sakura.getPageConfig("postLastModifyTime");
const editTime = new Date(postLastModifyTime);
const time = new Date().getTime() - editTime.getTime();
Expand Down
2 changes: 1 addition & 1 deletion templates/assets/dist/css/main.min.css

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions templates/assets/dist/page/post.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 7e284a3

Please sign in to comment.