mirror of
https://github.com/Aminark/legado-ios.git
synced 2026-10-24 21:01:22 +08:00
feat: 支持 EPUB 阅读并改善规则兼容与阅读稳定性
支持 EPUB 2/3 导入、目录、封面和章节插图,保留本地书管理与阅读进度。 修复 JSON 模板、动态替换与请求参数兼容,以及 RSS 翻页和连续滚动定位。 更新编辑器工具栏和回归测试,发布版本为 0.1.12(build 18)。
This commit is contained in:
@@ -84,6 +84,13 @@ public struct RSSRuleParser: Sendable {
|
||||
private func flatten(_ values: [JSONValue]) -> [JSONValue] {
|
||||
values.flatMap { value in
|
||||
if case .array(let items) = value { return items }
|
||||
// Text rules serialize selected JSON arrays. Expand them before
|
||||
// evaluating article fields, just as for an already parsed array.
|
||||
if case .string(let text) = value,
|
||||
text.trimmingCharacters(in: .whitespacesAndNewlines).hasPrefix("["),
|
||||
let items = try? JSONDecoder().decode([JSONValue].self, from: Data(text.utf8)) {
|
||||
return items
|
||||
}
|
||||
return [value]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user