pull/525/head
gedoor 5 years ago
parent 3ce65b1eea
commit a682875ac6
  1. 44
      app/src/main/assets/help/ruleHelp.md
  2. 15
      app/src/main/assets/updateLog.md
  3. 36
      app/src/main/java/io/legado/app/help/LocalConfig.kt
  4. 14
      app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt
  5. 14
      app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt

@ -4,20 +4,40 @@
* [订阅源帮助文档](https://alanskycn.gitee.io/teachme/Rule/rss.html) * [订阅源帮助文档](https://alanskycn.gitee.io/teachme/Rule/rss.html)
* 规则标志, {{......}}内使用规则必须有明显的规则标志,没有规则标志当作js执行 * 规则标志, {{......}}内使用规则必须有明显的规则标志,没有规则标志当作js执行
* @@ 默认规则,直接写时可以省略@@ ```
* @XPath: xpath规则,直接写时以//开头可省略@XPath @@ 默认规则,直接写时可以省略@@
* @Json: json规则,直接写时以$.开头可省略@Json @XPath: xpath规则,直接写时以//开头可省略@XPath
* : regex规则,不可省略,只可以用在书籍列表和目录列表 @Json: json规则,直接写时以$.开头可省略@Json
: regex规则,不可省略,只可以用在书籍列表和目录列表
```
* 请求头,支持http代理,socks4 socks5代理设置
```
socks5代理
{
"proxy":"socks5://127.0.0.1:1080"
}
http代理
{
"proxy":"http://127.0.0.1:1080"
}
支持代理服务器验证
{
"proxy":"socks5://127.0.0.1:1080@用户名@密码"
}
注意:这些请求头是无意义的,会被忽略掉
```
* js 变量和函数 * js 变量和函数
* java 变量-当前类 ```
* baseUrl 变量-当前url,String java 变量-当前类
* result 变量-上一步的结果 baseUrl 变量-当前url,String
* book 变量-书籍类,方法见 io.legado.app.data.entities.Book result 变量-上一步的结果
* cookie 变量-cookie操作类,方法见 io.legado.app.help.http.CookieStore book 变量-书籍类,方法见 io.legado.app.data.entities.Book
* cache 变量-缓存操作类,方法见 io.legado.app.help.CacheManager cookie 变量-cookie操作类,方法见 io.legado.app.help.http.CookieStore
* chapter 变量-当前目录类,方法见 io.legado.app.data.entities.BookChapter cache 变量-缓存操作类,方法见 io.legado.app.help.CacheManager
* title 变量-当前标题,String chapter 变量-当前目录类,方法见 io.legado.app.data.entities.BookChapter
title 变量-当前标题,String
```
## 部分js对象属性说明 ## 部分js对象属性说明
上述js变量与函数中,一些js的对象属性用的频率较高,在此列举。方便写源的时候快速翻阅。 上述js变量与函数中,一些js的对象属性用的频率较高,在此列举。方便写源的时候快速翻阅。

@ -239,21 +239,6 @@ getTxtInFolder(unzipPath: String): String
**功能介绍** **功能介绍**
* 修改订阅中自动添加style的情景<br> * 修改订阅中自动添加style的情景<br>
订阅源的内容规则中存在`<style>``style=` 订阅源的内容规则中存在`<style>``style=`
* 请求头,支持http代理,socks4 socks5代理设置 by [10bits](https://github.com/10bits)
```
socks5代理
{
"proxy":"socks5://127.0.0.1:1080"
}
http代理
{
"proxy":"http://127.0.0.1:1080"
}
支持代理服务器验证
{
"proxy":"socks5://127.0.0.1:1080@用户名@密码"
}
注意:这些请求头是无意义的,会被忽略掉
``` ```
* 对于搜索重定向的源,可以使用此方法获得重定向后的url * 对于搜索重定向的源,可以使用此方法获得重定向后的url
``` ```

@ -28,9 +28,13 @@ object LocalConfig {
} }
@Suppress("SameParameterValue") @Suppress("SameParameterValue")
private fun isLastVersion(lastVersion: Int, versionKey: String, firstOpenKey: String): Boolean { private fun isLastVersion(
lastVersion: Int,
versionKey: String,
firstOpenKey: String? = null
): Boolean {
var version = localConfig.getInt(versionKey, 0) var version = localConfig.getInt(versionKey, 0)
if (version == 0) { if (version == 0 && firstOpenKey != null) {
if (!localConfig.getBoolean(firstOpenKey, true)) { if (!localConfig.getBoolean(firstOpenKey, true)) {
version = 1 version = 1
} }
@ -42,23 +46,21 @@ object LocalConfig {
return true return true
} }
val readHelpVersionIsLast: Boolean by lazy { val readHelpVersionIsLast: Boolean
isLastVersion(1, "readHelpVersion", "firstRead") get() = isLastVersion(1, "readHelpVersion", "firstRead")
}
val backupHelpVersionIsLast: Boolean by lazy { val backupHelpVersionIsLast: Boolean
isLastVersion(1, "backupHelpVersion", "firstBackup") get() = isLastVersion(1, "backupHelpVersion", "firstBackup")
}
val readMenuHelpVersionIsLast: Boolean by lazy { val readMenuHelpVersionIsLast: Boolean
isLastVersion(1, "readMenuHelpVersion", "firstReadMenu") get() = isLastVersion(1, "readMenuHelpVersion", "firstReadMenu")
}
val bookSourcesHelpVersionIsLast: Boolean by lazy { val bookSourcesHelpVersionIsLast: Boolean
isLastVersion(1, "bookSourceHelpVersion", "firstOpenBookSources") get() = isLastVersion(1, "bookSourceHelpVersion", "firstOpenBookSources")
}
val debugHelpVersionIsLast: Boolean by lazy { val debugHelpVersionIsLast: Boolean
isLastVersion(1, "debugHelpVersion", "firstOpenDebug") get() = isLastVersion(1, "debugHelpVersion")
}
val ruleHelpVersionIsLast: Boolean
get() = isLastVersion(1, "ruleHelpVersion")
} }

@ -19,6 +19,7 @@ import io.legado.app.constant.AppConst
import io.legado.app.data.entities.BookSource import io.legado.app.data.entities.BookSource
import io.legado.app.data.entities.rule.* import io.legado.app.data.entities.rule.*
import io.legado.app.databinding.ActivityBookSourceEditBinding import io.legado.app.databinding.ActivityBookSourceEditBinding
import io.legado.app.help.LocalConfig
import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.ATH import io.legado.app.lib.theme.ATH
import io.legado.app.lib.theme.backgroundColor import io.legado.app.lib.theme.backgroundColor
@ -64,6 +65,13 @@ class BookSourceEditActivity :
} }
} }
override fun onPostCreate(savedInstanceState: Bundle?) {
super.onPostCreate(savedInstanceState)
if (!LocalConfig.ruleHelpVersionIsLast) {
showRuleHelp()
}
}
override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.source_edit, menu) menuInflater.inflate(R.menu.source_edit, menu)
return super.onCompatCreateOptionsMenu(menu) return super.onCompatCreateOptionsMenu(menu)
@ -392,15 +400,15 @@ class BookSourceEditActivity :
selector(getString(R.string.help), items) { _, index -> selector(getString(R.string.help), items) { _, index ->
when (index) { when (index) {
0 -> insertText(AppConst.urlOption) 0 -> insertText(AppConst.urlOption)
1 -> showSourceHelp() 1 -> showRuleHelp()
2 -> showRegexHelp() 2 -> showRegexHelp()
3 -> FilePicker.selectFile(this, selectPathRequestCode) 3 -> FilePicker.selectFile(this, selectPathRequestCode)
} }
} }
} }
private fun showSourceHelp() { private fun showRuleHelp() {
val mdText = String(assets.open("help/sourceHelp.md").readBytes()) val mdText = String(assets.open("help/ruleHelp.md").readBytes())
TextDialog.show(supportFragmentManager, mdText, TextDialog.MD) TextDialog.show(supportFragmentManager, mdText, TextDialog.MD)
} }

@ -16,6 +16,7 @@ import io.legado.app.base.VMBaseActivity
import io.legado.app.constant.AppConst import io.legado.app.constant.AppConst
import io.legado.app.data.entities.RssSource import io.legado.app.data.entities.RssSource
import io.legado.app.databinding.ActivityRssSourceEditBinding import io.legado.app.databinding.ActivityRssSourceEditBinding
import io.legado.app.help.LocalConfig
import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.ATH import io.legado.app.lib.theme.ATH
import io.legado.app.ui.qrcode.QrCodeActivity import io.legado.app.ui.qrcode.QrCodeActivity
@ -54,6 +55,13 @@ class RssSourceEditActivity :
} }
} }
override fun onPostCreate(savedInstanceState: Bundle?) {
super.onPostCreate(savedInstanceState)
if (!LocalConfig.ruleHelpVersionIsLast) {
showRuleHelp()
}
}
override fun finish() { override fun finish() {
val source = getRssSource() val source = getRssSource()
if (!source.equal(viewModel.rssSource)) { if (!source.equal(viewModel.rssSource)) {
@ -205,14 +213,14 @@ class RssSourceEditActivity :
selector(getString(R.string.help), items) { _, index -> selector(getString(R.string.help), items) { _, index ->
when (index) { when (index) {
0 -> insertText(AppConst.urlOption) 0 -> insertText(AppConst.urlOption)
1 -> showSourceHelp() 1 -> showRuleHelp()
2 -> showRegexHelp() 2 -> showRegexHelp()
} }
} }
} }
private fun showSourceHelp() { private fun showRuleHelp() {
val mdText = String(assets.open("help/sourceHelp.md").readBytes()) val mdText = String(assets.open("help/ruleHelp.md").readBytes())
TextDialog.show(supportFragmentManager, mdText, TextDialog.MD) TextDialog.show(supportFragmentManager, mdText, TextDialog.MD)
} }

Loading…
Cancel
Save