更新CHANGELOG.md
This commit is contained in:
+9
-3
@@ -1,4 +1,10 @@
|
|||||||
**2021/08/09**
|
**2022/02/27**
|
||||||
|
|
||||||
1. 修复选择文字不能选择单个文字的bug
|
* APP内编写规则时,对由XPath|JSOUP|CSS组成的规则进行简单的默认补全。
|
||||||
2.
|
* 对需求文本的获取text
|
||||||
|
* 对需求文本的img元素(以img结尾)的获取alt属性
|
||||||
|
* 对需求链接的获取href属性
|
||||||
|
* 对需求图片的获取src属性
|
||||||
|
* 详情页预处理存在js/json/正则的不对详情页规则进行补全
|
||||||
|
* 多条规则只补全最后一条规则
|
||||||
|
* 书源编辑页点击调试/保存时补全开始生效,注意:不改变编辑框内容显示,保存后再次编辑可查看补全后的规则,方便调试时快速修改规则
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package io.legado.app.help
|
package io.legado.app.help
|
||||||
|
|
||||||
// 补全时忽略匹配规则
|
// 补全时忽略匹配规则
|
||||||
val completeIgnore=Regex("""##|@js:|<js>|@Json:|\$.|(text|ownText|textNodes|href|content|html|alt|all|value|src)(\(\)|##.*)?\s*$""")
|
val completeIgnore=Regex("""\\n|##|@js:|<js>|@Json:|\$.|(text|ownText|textNodes|href|content|html|alt|all|value|src)(\(\)|##.*)?\s*$""")
|
||||||
// 匹配从图片获取信息的规则
|
|
||||||
val imgComplete=Regex("""(?<=(tag\.|[\+/@~>\| \&]))img[@/]text(\(\))?$|^img[@/]text(\(\))?$""",RegexOption.IGNORE_CASE)
|
|
||||||
// 补全时忽略匹配的规则(仅对详情页预处理规则生效)
|
// 补全时忽略匹配的规则(仅对详情页预处理规则生效)
|
||||||
val completeIgnorePreRule=Regex("""^:|##|@js:|<js>|@Json:|\$.""")
|
val completeIgnorePreRule=Regex("""^:|##|@js:|<js>|@Json:|\$.""")
|
||||||
|
// 匹配从图片获取信息的规则
|
||||||
|
val imgComplete=Regex("""(?<=(tag\.|[\+/@~>\| \&]))img[@/]text(\(\))?$|^img[@/]text(\(\))?$""",RegexOption.IGNORE_CASE)
|
||||||
/**
|
/**
|
||||||
* 对简单规则进行补全,简化部分书源规则的编写
|
* 对简单规则进行补全,简化部分书源规则的编写
|
||||||
* 该方法仅对对JSOUP/XPath/CSS规则生效
|
* 该方法仅对对JSOUP/XPath/CSS规则生效
|
||||||
@@ -20,27 +20,26 @@ val completeIgnorePreRule=Regex("""^:|##|@js:|<js>|@Json:|\$.""")
|
|||||||
* 3 图片
|
* 3 图片
|
||||||
*/
|
*/
|
||||||
fun ruleComplete(rule:String?,preRule:String?="",type:Int=1):String?{
|
fun ruleComplete(rule:String?,preRule:String?="",type:Int=1):String?{
|
||||||
if (rule.isNullOrEmpty()||rule.contains(completeIgnore)||preRule?.contains(completeIgnorePreRule)?:false){
|
if (rule.isNullOrEmpty()||rule.contains(completeIgnore)||preRule?.contains(completeIgnorePreRule)?:false){
|
||||||
return rule
|
return rule
|
||||||
}
|
}
|
||||||
var textRule:String
|
var textRule:String
|
||||||
var linkRule:String
|
var linkRule:String
|
||||||
var imgRule:String
|
var imgRule:String
|
||||||
if (rule.contains(Regex("/[^@]+$"))){
|
if (rule.contains(Regex("/[^@]+$"))){
|
||||||
textRule="/text()"
|
textRule="/text()"
|
||||||
linkRule="/@href"
|
linkRule="/@href"
|
||||||
imgRule="/@src"
|
imgRule="/@src"
|
||||||
}else{
|
}else{
|
||||||
textRule="@text"
|
textRule="@text"
|
||||||
linkRule="@href"
|
linkRule="@href"
|
||||||
imgRule="@src"
|
imgRule="@src"
|
||||||
}
|
}
|
||||||
var ret:String=rule
|
var ret:String=rule
|
||||||
when(type){
|
when(type){
|
||||||
1 -> ret = rule.replace(Regex("$"),textRule).replace(imgComplete,"img@alt")
|
1 -> ret = rule.replace(Regex("$"),textRule).replace(imgComplete,"img@alt")
|
||||||
2 -> ret = rule.replace(Regex("$"),linkRule)
|
2 -> ret = rule.replace(Regex("$"),linkRule)
|
||||||
3 -> ret = rule.replace(Regex("$"),imgRule)
|
3 -> ret = rule.replace(Regex("$"),imgRule)
|
||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -486,5 +486,4 @@ class BookSourceEditActivity :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user