diff --git a/docs/js/quote-translate.js b/docs/js/quote-translate.js
index 0d425b3..d19b224 100644
--- a/docs/js/quote-translate.js
+++ b/docs/js/quote-translate.js
@@ -1,17 +1,21 @@
document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('blockquote[data-cn]').forEach(function (el) {
+ const orig = el.getAttribute('data-orig');
const cn = el.getAttribute('data-cn');
- // 找第一个文本节点(引言正文),存原文
- const textNode = Array.from(el.childNodes).find(n => n.nodeType === Node.TEXT_NODE && n.textContent.trim());
- if (!textNode) return;
- const original = textNode.textContent;
let showing = 'orig';
function swap(to) {
- textNode.textContent = to === 'cn' ? cn + '\n' : original;
+ const text = to === 'cn' ? cn : orig;
+ // 清空并重建文本内容,保留换行
+ el.innerHTML = text.split('
').join('\n')
+ .split('\n').map((line, i, arr) => {
+ if (i === arr.length - 1 && line === '') return '';
+ return line;
+ }).join('
');
showing = to;
}
+ el.style.cursor = 'pointer';
el.addEventListener('mouseenter', () => swap('cn'));
el.addEventListener('mouseleave', () => swap('orig'));
el.addEventListener('click', (e) => {
diff --git a/docs/shared/new-saas-revolution.md b/docs/shared/new-saas-revolution.md
index fd7d2cd..9dbf5ac 100644
--- a/docs/shared/new-saas-revolution.md
+++ b/docs/shared/new-saas-revolution.md
@@ -13,18 +13,18 @@ echo "of the human, by the human, for the human" | sed 's/human/AI/g'
---
-
+Umwertung aller Werte. -— 尼采 +— Nietzsche--- -+Die Proletarier haben nichts in ihr zu verlieren als ihre Ketten. Sie haben eine Welt zu gewinnen. -— 马克思 +— Marx--- @@ -37,26 +37,26 @@ Die Proletarier haben nichts in ihr zu verlieren als ihre Ketten. Sie haben eine --- -+I have a dream, today. -— 马丁·路德·金 +— Martin Luther King Jr.--- -+of the people, by the people, for the people. -— 林肯 +— Lincoln--- -+Hasta la victoria siempre. -— 切·格瓦拉 +— Che Guevara---