# WXRead/resources 文件说明 ## 目录结构 ``` resources/ ├── js/ │ ├── Text/ # 文本编辑/展示相关 │ │ ├── WeReadApi.js │ │ ├── rich_editor.js │ │ ├── rich_display.js │ │ ├── correctArticle.js │ │ └── style_html.js │ ├── Readability.js │ ├── weread-highlighter.js │ ├── rangy-core.js │ ├── rangy-classapplier.js │ ├── rangy-highlighter.js │ ├── rangy-textrange.js │ ├── highlight.min.js │ ├── cssInjector.js │ └── patch_6.2.1.4.js ├── css/ │ ├── Style/ │ │ ├── style.css │ │ ├── preview.css │ │ └── normalize.css │ ├── default.css │ ├── dark.css │ ├── replace.css │ ├── replaceForLatinLanguageBook.css │ ├── replaceForMPChapter.css │ ├── MPExtra.css │ ├── MediaPlatform.css │ ├── WREpubMPVideo.css │ └── xcode.min.css └── fonts/ # 字体文件 ``` --- ## JS 文件 ### 核心功能 #### `Readability.js` Arc90 的 Readability 库 (v1.7.1),用于从网页中提取正文内容。通过正则匹配和 DOM 分析算法,从杂乱的 HTML 中识别出文章主体,过滤导航、广告、侧栏等非内容元素。是读书解析公众号文章内容的基础依赖。 #### `weread-highlighter.js` 读书的划线/高亮核心模块。依赖 Rangy 库实现以下功能: - 初始化 Rangy 高亮器,注册 `highlight`(划线)、`review`(自己的想法)、`friend-review`(好友想法)、`reference`(想法圈划线)、`tts`(朗读高亮)等样式 - 监听 `selectionchange` 事件,将选区位置信息通过 `wereadBridge` 通知原生层 - 提供 `getShareAbstractText()` 从文章段落中提取分享摘要文本 - 字体缩放 `changeFontSizeWithScale()` 支持 - 图片点击事件绑定和 H5 链接转换 #### `cssInjector.js` CSS 动态注入/移除工具。提供 `inject(json)` 和 `remove(identifier)` 两个方法,通过创建/删除 `