update with ph-Bookshelf
This commit is contained in:
parent
ebe5c90963
commit
1ea9034221
@ -1,3 +1,9 @@
|
|||||||
|
---
|
||||||
|
title: 这是一个正在滚动的网页标题
|
||||||
|
configurations:
|
||||||
|
web-title.rolling: 'true'
|
||||||
|
---
|
||||||
|
|
||||||
# 滚动标题
|
# 滚动标题
|
||||||
|
|
||||||
↖ 看浏览器标题栏
|
↖ 看浏览器标题栏
|
||||||
|
105
%root/test-collection/enhanced-frontend/test-code-highlight.md
Normal file
105
%root/test-collection/enhanced-frontend/test-code-highlight.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
代码纯手打,没有经过 IDE 查错,如发现错误还请立即 issue
|
||||||
|
|
||||||
|
## 创建资源文件索引对象
|
||||||
|
|
||||||
|
要使用 ResourceTools,首先需要建立一个 ResourcesPackage 对象,它是你的项目的资源文件的索引对象。
|
||||||
|
|
||||||
|
```java
|
||||||
|
// 导入类
|
||||||
|
import cc.sukazyo.restools.ResourcesPackage;
|
||||||
|
|
||||||
|
/* ... */
|
||||||
|
|
||||||
|
//创建对象
|
||||||
|
ResourcesPackage pack = new ResourcesPackage(Test.class, "assets");
|
||||||
|
```
|
||||||
|
|
||||||
|
构造函数的第一个参数是一个 Class 对象,用于确定你的项目。
|
||||||
|
第二个参数是在项目文件为根目录的路径下,你的资源文件的位置。
|
||||||
|
一般来说,在IDE等项目管理环境下,一个项目的源文件路径如下:
|
||||||
|
|
||||||
|
```tree
|
||||||
|
src
|
||||||
|
╠═main
|
||||||
|
║ ╟─java
|
||||||
|
║ ╙─resources
|
||||||
|
╚═test
|
||||||
|
╟─java
|
||||||
|
╙─resources
|
||||||
|
```
|
||||||
|
|
||||||
|
这个路径指的就是在{.lang-url}`src/main/resources`目录下的{.lang-url}`assets`文件夹。
|
||||||
|
|
||||||
|
## 获取资源文件
|
||||||
|
|
||||||
|
不同于 Java 中的 `java.io.File`{.lang-java} 的是,ResourceTools 使用了文件和文件夹对象分离的方式,因此,ResourcesPackage 对象拥有以下两个 get 方法:
|
||||||
|
|
||||||
|
```java
|
||||||
|
// 获取文件
|
||||||
|
public ResFile getResource (String path) throws IOException;
|
||||||
|
|
||||||
|
// 获取目录
|
||||||
|
public ResDir getResDir (String path) throws IOException;
|
||||||
|
```
|
||||||
|
|
||||||
|
前一个用于获取文件对象,后一个则是获取目录对象。
|
||||||
|
其中的 `path` 参数为文件/目录相对于设置的资源文件根目录(`"assetes"`)的位置。
|
||||||
|
|
||||||
|
例如如果一个项目的 resources结构如下:
|
||||||
|
|
||||||
|
```tree
|
||||||
|
resources
|
||||||
|
╠═assets
|
||||||
|
║ ╟─propertes.io
|
||||||
|
║ ╚═lang
|
||||||
|
║ ╚═default.lang
|
||||||
|
╚═idn
|
||||||
|
╟─ios
|
||||||
|
╙─windows
|
||||||
|
```
|
||||||
|
|
||||||
|
若要获取`default.lang`文件,则使用以下方法:
|
||||||
|
|
||||||
|
```java
|
||||||
|
/** 之前创建的资源文件索引类:
|
||||||
|
* ResourcesPackage pack = new ResourcesPackage(Test.class, "assets");
|
||||||
|
*/
|
||||||
|
pack.getResource("/lang/default.lang");
|
||||||
|
```
|
||||||
|
|
||||||
|
## ResFile 使用
|
||||||
|
|
||||||
|
```java
|
||||||
|
// 获取到一个文件
|
||||||
|
ResFile res = pack.getResource("/lang/default.lang");
|
||||||
|
|
||||||
|
InputStream ins = res.read(); // 获取到这个文件的流
|
||||||
|
|
||||||
|
String content = res.readAsString(); // 直接获取这个文件的纯文本字符串
|
||||||
|
// 没有测试如果将其应用在非纯文本文件上的效果,
|
||||||
|
// 同时 Sukazyo 认为也不会有硬读非纯文本文件的人
|
||||||
|
// 硬读纯文本文件的话,后果请自负
|
||||||
|
```
|
||||||
|
|
||||||
|
## ResDir 使用
|
||||||
|
|
||||||
|
```java
|
||||||
|
// 获取到一个目录
|
||||||
|
ResFile res = pack.getResource("/");
|
||||||
|
|
||||||
|
ResFile[] reses = res.listFiles(); // 读取到直接属于这个目录下的文件
|
||||||
|
// 不读间接属于目录的文件
|
||||||
|
// 在这个例子中会读取到 properties.io
|
||||||
|
|
||||||
|
ResDir[] dirs = res.listDirs(); // 和上文类似,读取直接属于此目录的子目录
|
||||||
|
// 这个例子中会读到 lang 目录
|
||||||
|
|
||||||
|
File target = new File("./assets/"); // 一个 File 对象,指向的是程序运行目录下的 assets 子目录
|
||||||
|
res.extract(target, false); // 将这个目录下的所有文件和文件夹解压到目标目录中
|
||||||
|
// 会解压 properties.io lang/ lang/default.lang
|
||||||
|
// 如果 target 目录不存在的话会创建这个目录
|
||||||
|
// 第二个参数决定是否覆盖已存在的文件,true为覆盖,false为不覆盖
|
||||||
|
|
||||||
|
res.extract(target); // 上一个方法的简略版
|
||||||
|
// 覆盖开关始终为 true
|
||||||
|
```
|
@ -1,3 +1,13 @@
|
|||||||
|
---
|
||||||
|
title: RegEx 着色
|
||||||
|
configurations:
|
||||||
|
regex.highlight: 'true'
|
||||||
|
---
|
||||||
|
|
||||||
|
# regex highight
|
||||||
|
|
||||||
|
[source](https://github.com/suk-ws/regex-colorizer)
|
||||||
|
|
||||||
<code class="regex"><span class="reg-anchor">^</span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-char">https</span><span class="reg-quantifier">?</span><span class="reg-char">://</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-char">c</span><span class="reg-cescape">\\.</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-char">vx</span><span class="reg-alter">|</span><span class="reg-char">fx</span><span class="reg-alter">|</span><span class="reg-char">www</span><span class="reg-cescape">\\.</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-char">twitter</span><span class="reg-cescape">\\.</span><span class="reg-char">com</span><span class="reg-group-tag">)</span></span><span class="reg-char">/</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cclass">\w</span><span class="reg-quantifier">{1,}</span><span class="reg-group-tag">)</span></span><span class="reg-char">/status/</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cclass">\d</span><span class="reg-quantifier">+</span><span class="reg-group-tag">)</span></span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-char">/photo/</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cclass">\d</span><span class="reg-quantifier">+</span><span class="reg-group-tag">)</span></span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-group-tag">)</span></span><span class="reg-char">/</span><span class="reg-quantifier">?</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cescape">\?</span><span class="reg-set"><span class="reg-set-tag">[</span><span class="reg-cclass">\w</span><span class="reg-char">&=-</span><span class="reg-set-tag">]</span></span><span class="reg-quantifier">+</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-anchor">$</span></code>
|
<code class="regex"><span class="reg-anchor">^</span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-char">https</span><span class="reg-quantifier">?</span><span class="reg-char">://</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-char">c</span><span class="reg-cescape">\\.</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-char">vx</span><span class="reg-alter">|</span><span class="reg-char">fx</span><span class="reg-alter">|</span><span class="reg-char">www</span><span class="reg-cescape">\\.</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-char">twitter</span><span class="reg-cescape">\\.</span><span class="reg-char">com</span><span class="reg-group-tag">)</span></span><span class="reg-char">/</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cclass">\w</span><span class="reg-quantifier">{1,}</span><span class="reg-group-tag">)</span></span><span class="reg-char">/status/</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cclass">\d</span><span class="reg-quantifier">+</span><span class="reg-group-tag">)</span></span><span class="reg-group"><span class="reg-group-tag">(?:</span><span class="reg-char">/photo/</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cclass">\d</span><span class="reg-quantifier">+</span><span class="reg-group-tag">)</span></span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-group-tag">)</span></span><span class="reg-char">/</span><span class="reg-quantifier">?</span><span class="reg-group"><span class="reg-group-tag">(</span><span class="reg-cescape">\?</span><span class="reg-set"><span class="reg-set-tag">[</span><span class="reg-cclass">\w</span><span class="reg-char">&=-</span><span class="reg-set-tag">]</span></span><span class="reg-quantifier">+</span><span class="reg-group-tag">)</span></span><span class="reg-quantifier">?</span><span class="reg-anchor">$</span></code>
|
||||||
|
|
||||||
<!-- <code class="regex">
|
<!-- <code class="regex">
|
||||||
|
@ -52,8 +52,9 @@
|
|||||||
<Chapter root="test-collection/">
|
<Chapter root="test-collection/">
|
||||||
<caption><![CDATA[<i>__test_collection</i>]]></caption>
|
<caption><![CDATA[<i>__test_collection</i>]]></caption>
|
||||||
<Page id="enhanced-frontend/test-regex-highlight">RegEX 着色</Page>
|
<Page id="enhanced-frontend/test-regex-highlight">RegEX 着色</Page>
|
||||||
<Page id="language-parsing/rest">ReST Parser</Page>
|
<Page id="enhanced-frontend/test-code-highlight">codeblock highlight</Page>
|
||||||
<Page id="language-parsing/tex">LaTeX Parser</Page>
|
<!-- <Page id="language-parsing/rest">ReST Parser</Page> -->
|
||||||
|
<!-- <Page id="language-parsing/tex">LaTeX Parser</Page> -->
|
||||||
<Page id="enhanced-frontend/rolling-title">滚动标题栏</Page>
|
<Page id="enhanced-frontend/rolling-title">滚动标题栏</Page>
|
||||||
</Chapter>
|
</Chapter>
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit c374b0559ab0e1f4737d9c9e2e0b1036af144ace
|
Subproject commit 7f73bc1c1a79b86aa79c89365bab1f270f149b38
|
Loading…
Reference in New Issue
Block a user