Readwise 阅读优化

优化 Readwise 阅读体验,使用仓耳华新体

目前為 2024-12-08 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Readwise 阅读优化
// @namespace    https://github.com/yourusername/readwise-enhancer
// @version      1.0.0
// @description  优化 Readwise 阅读体验,使用仓耳华新体
// @author       Your Name
// @license      MIT
// @match        https://read.readwise.io/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 添加自定义字体
    const styleSheet = document.createElement('style');
    styleSheet.textContent = `
        @font-face {
            font-family: "仓耳华新体";
            src: url("https://ziti-beta.vercel.app/fonts/仓耳华新体.ttf") format("truetype");
            font-weight: normal;
            font-style: normal;
        }

        body, body * {
            font-family: "仓耳华新体", sans-serif !important;
        }
    `;
    document.head.appendChild(styleSheet);
})();function formatArticle() {
    console.log('formatArticle 函数被调用');

    // 获取文章内容容器
    const article = document.querySelector('.article-content');
    if (!article) {
        console.log('未找到文章内容容器');
        return;
    }

    // 获取文本内容
    let text = article.innerText || article.textContent;
    if (!text) {
        console.log('未找到文本内容');
        return;
    }

    // 首先按照多个换行符分割段落
    let paragraphs = text.split(/\n\s*\n/);
    
    // 处理每个段落
    paragraphs = paragraphs.map(para => {
        // 移除段落首尾的空白字符
        para = para.trim();
        
        // 如果段落太长,尝试进一步分段
        if (para.length > 200) {
            // 按照句子分割(中文标点和英文标点)
            let sentences = para.match(/[^。!?.!?]+[。!?.!?]/g) || [para];
            
            // 根据句子长度和转折词重新组织段落
            let newParagraphs = [];
            let currentParagraph = [];
            let currentLength = 0;
            
            sentences.forEach(sentence => {
                // 检查是否包含转折词
                const hasTransition = /然而|但是|不过|另外|此外|因此|所以|总之|总的来说|换句话说/g.test(sentence);
                
                if (hasTransition || currentLength > 150) {
                    if (currentParagraph.length > 0) {
                        newParagraphs.push(currentParagraph.join(''));
                        currentParagraph = [];
                        currentLength = 0;
                    }
                }
                
                currentParagraph.push(sentence);
                currentLength += sentence.length;
            });
            
            if (currentParagraph.length > 0) {
                newParagraphs.push(currentParagraph.join(''));
            }
            
            return newParagraphs.join('\n\n');
        }
        
        return para;
    });

    // 将处理后的段落重新组合,使用两个换行符分隔
    const formattedText = paragraphs.join('\n\n');

    // 创建新的div元素并设置内容
    const newArticle = document.createElement('div');
    newArticle.innerHTML = formattedText.split('\n').map(p => `<p>${p}</p>`).join('');
    newArticle.className = article.className;

    // 替换原有内容
    article.parentNode.replaceChild(newArticle, article);
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址