Skip to content

Commit e17a2be

Browse files
committed
1.3版本第一次更新
1 parent ea88b98 commit e17a2be

File tree

11 files changed

+205
-70
lines changed

11 files changed

+205
-70
lines changed

README.md

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,38 @@
11
# Java2Html<br>
22
能将格式化的Java代码转换成Html高亮显示模板的代码转换器。<br>
33

4-
## 代码转换器1.2版本更新<br>
5-
### 1. JavaToHtml-1.2可运行程序<br>
6-
### &emsp;<a href="https://github.com/totoro-dev/Java2Html/releases/download/1.2/JavaToHtml-1.2.jar">点击下载</a><br>
4+
## 代码转换器1.3.1版本更新<br>
5+
### 1. JavaToHtml-1.3.1可运行程序<br>
6+
### &emsp;<a href="https://github.com/totoro-dev/Java2Html/releases/download/1.3.1/JavaToHtml-1.3.1.jar">点击下载</a><br>
77
### 2. 新增功能<br>
8-
2.1 界面支持自适应布局;<br>
9-
2.2 支持全局变量、局部变量高亮;<br>
10-
2.3 支持构造器、方法定义的参数高亮;<br>
11-
2.4 支持字符串高亮;<br>
12-
2.5 优化注释高亮:在两个绿色注释内容基础上,添加蓝色注释内容;<br>
13-
2.6 大量优化代码转换的细节,转换后的HTML代码模板更贴近Java代码高亮。<br>
8+
2.1 支持手动添加全局和局部变量(当定义变量的代码不在转化的源码中时)。<br>
9+
2.2 支持动态改变高亮样式表(之前版本需要自主修改样式表文件changer.css),现在样式表可被选择性地嵌入到生成的代码中。既可以只复制html代码,也可以同时复制css和html代码(必须保证已经获取过指定css样式代码)。<br>
10+
2.3 支持对所有可识别地变量全文检查出现次数。<br>
11+
2.4 支持对泛型的检查,减少尖括号对html代码的影响。<br>
12+
###3. 下次更新预告<br>
13+
3.1 支持Java代码框自主控制缩进。
14+
3.2 支持一键默认浏览器预览高亮效果。
15+
3.3 支持注解含参情况的高亮。
16+
3.4 全面解决尖括号bug。
1417

15-
## 代码转换器1.2版本使用<br>
16-
### 1. 代码编辑器中编写Java代码<br>
17-
<img src="img/1.2/JavaCode.webp"/><br>
18-
### 2. 使用转换器生成Html模板代码<br>
19-
<img src="img/1.2/Changer.webp"/><br>
20-
### 3. Html编辑器中粘贴生成的模板代码<br>
21-
<img src="img/1.2/HtmlCode.webp"/><br>
22-
23-
### 4. 引入changer.css样式表<br>
24-
#### 4.1 <a href="https://github.com/totoro-dev/Java2Html/releases/download/1.2/changer.css">下载changer.css</a><br>
25-
#### 4.2 在header节点中使用link标签引入样式表<br>
26-
`<link rel="stylesheet" href="css的url">`<br>
27-
#### 4.3 自定义样式表<br>
28-
4.3.1 直接修改<a href="https://github.com/totoro-dev/Java2Html/blob/master/css/changer.css">changer.css</a>文件<br>
29-
4.3.2 样式表的标签id名不能更改。<br>
30-
4.3.3 将标签的颜色改成自己想要的样式即可。<br>
31-
32-
### 5. 浏览器查看Java代码高亮效果<br>
33-
<img src="img/1.2/Brower.webp"/><br>
18+
## 代码转换器1.3.1版本使用<br>
19+
### 1. 在代码框添加代码,选择性添加代码片段中不包含定义的变量,点击检查按钮查看变量情况。<br>
20+
<img src="img/1.3.1/check.PNG"/><br>
21+
### 2. 根据需要,选择性修改高亮样式表<br>
22+
<img src="img/1.3.1/chose-css.PNG"/><br>
23+
### 3. 点击生成按钮,生成高亮html代码<br>
24+
<img src="img/1.3.1/create.PNG"/><br>
25+
### 4. 点击复制按钮,对话框选择是否同时复制css样式表(如果之前未复制过修改的样式表则选择“是”)<br>
26+
<img src="img/1.3.1/copy.PNG"/><br>
27+
### 5. html编辑器中粘贴代码<br>
28+
<img src="img/1.3.1/paste.PNG"/><br>
29+
### 6. 浏览器查看Java代码高亮效果<br>
30+
<img src="img/1.3.1/browser.PNG"/><br>
3431

3532
## Java代码编码规范<br>
3633
### 1. 编码规范阅读&emsp;<a href="编码规范.txt">阅读规范</a><br>
3734
### 2. 编码规范下载&emsp;<a href="https://github.com/totoro-dev/Java2Html/releases/download/1.2/CodingSpecification.txt">下载阅读</a><br>
3835

3936
## HTML代码高亮测试实例<br>
40-
<a href="https://github.com/totoro-dev/Java2Html/releases/download/1.2/test.zip">下载测试实例</a><br>
41-
解压后直接用浏览器打开test.html即可查看效果
37+
<a href="https://github.com/totoro-dev/Java2Html/releases/download/1.3.1/test.html">下载测试实例</a><br>
38+
下载后直接用浏览器打开test.html即可查看效果

css/changer.css

Lines changed: 61 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,78 @@
11
/* 关键字 */
2-
#k{
2+
#k-p{ /*紫色*/
33
color: #8B1C62;
44
font-weight:bold;
55
}
6+
#k-r{ /*红色*/
7+
color: #f83539;
8+
font-weight:bold;
9+
}
10+
#k-o{ /*橘色*/
11+
color: #f5b93d;
12+
font-weight:bold;
13+
}
614
/* 全局变量 */
7-
#g{
15+
#g-db{ /*深蓝*/
816
color: #0000FF;
917
}
10-
/* 方局部变量 */
11-
#f{
18+
#g-br{ /*棕色*/
19+
color: #8B5742;
20+
}
21+
#g-o{ /*橘色*/
22+
color: #f5b93d;
23+
}
24+
/* 局部变量 */
25+
#f-br{/*棕色*/
1226
color: #8B5742;
1327
}
28+
#f-y{/*黄色*/
29+
color: #fad957;
30+
}
31+
#f-o{/*橘色*/
32+
color: #f5b93d;
33+
}
1434
/* 字符串 */
15-
#s{
35+
#s-sb{/*浅蓝*/
1636
color: #436EEE;
1737
}
18-
/* 注解 */
19-
#a{
20-
color: #828282;
38+
#s-g{/*绿色*/
39+
color: #3CB371;
40+
}
41+
#s-r{/*红色*/
42+
color: #f83539;
2143
}
22-
/* 绿色注释 */
23-
#n-g{
44+
/* 普通注释 */
45+
#nn-g{/*绿色*/
2446
color: #3CB371;
2547
}
26-
/* 蓝色注释 */
27-
#n-b{
48+
#nn-gr{/*灰色*/
49+
color: #828282;
50+
}
51+
#nn-b{/*蓝色*/
52+
color: #8470FF;
53+
}
54+
/* 重要注释 */
55+
#ni-b{/*蓝色*/
2856
color: #8470FF;
57+
}
58+
#ni-gr{/*灰色*/
59+
color: #828282;
60+
}
61+
#ni-g{/*绿色*/
62+
color: #3CB371;
63+
}
64+
/* 注解 */
65+
#anno{
66+
color: #828282;
67+
}
68+
/*pre标签样式*/
69+
#code_pre{
70+
border: 1px solid #d0d1d2;
71+
border-radius: 5px;
72+
background: #F5FFFA;
73+
margin: 10px;
74+
padding: 10px;
75+
font-size: 13px;
76+
font-family: courier,arial;
77+
overflow-y: hidden;
2978
}

img/1.3.1/browser.png

15.1 KB
Loading

img/1.3.1/check.png

31.2 KB
Loading

img/1.3.1/chose-css.PNG

5.95 KB
Loading

img/1.3.1/copy.PNG

19.8 KB
Loading

img/1.3.1/create.PNG

7.27 KB
Loading

img/1.3.1/paste.PNG

169 KB
Loading

test/changer.css

Lines changed: 61 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,78 @@
11
/* 关键字 */
2-
#k{
2+
#k-p{ /*紫色*/
33
color: #8B1C62;
44
font-weight:bold;
55
}
6+
#k-r{ /*红色*/
7+
color: #f83539;
8+
font-weight:bold;
9+
}
10+
#k-o{ /*橘色*/
11+
color: #f5b93d;
12+
font-weight:bold;
13+
}
614
/* 全局变量 */
7-
#g{
15+
#g-db{ /*深蓝*/
816
color: #0000FF;
917
}
10-
/* 方局部变量 */
11-
#f{
18+
#g-br{ /*棕色*/
19+
color: #8B5742;
20+
}
21+
#g-o{ /*橘色*/
22+
color: #f5b93d;
23+
}
24+
/* 局部变量 */
25+
#f-br{/*棕色*/
1226
color: #8B5742;
1327
}
28+
#f-y{/*黄色*/
29+
color: #fad957;
30+
}
31+
#f-o{/*橘色*/
32+
color: #f5b93d;
33+
}
1434
/* 字符串 */
15-
#s{
35+
#s-sb{/*浅蓝*/
1636
color: #436EEE;
1737
}
18-
/* 注解 */
19-
#a{
20-
color: #828282;
38+
#s-g{/*绿色*/
39+
color: #3CB371;
40+
}
41+
#s-r{/*红色*/
42+
color: #f83539;
2143
}
22-
/* 绿色注释 */
23-
#n-g{
44+
/* 普通注释 */
45+
#nn-g{/*绿色*/
2446
color: #3CB371;
2547
}
26-
/* 蓝色注释 */
27-
#n-b{
48+
#nn-gr{/*灰色*/
49+
color: #828282;
50+
}
51+
#nn-b{/*蓝色*/
52+
color: #8470FF;
53+
}
54+
/* 重要注释 */
55+
#ni-b{/*蓝色*/
2856
color: #8470FF;
57+
}
58+
#ni-gr{/*灰色*/
59+
color: #828282;
60+
}
61+
#ni-g{/*绿色*/
62+
color: #3CB371;
63+
}
64+
/* 注解 */
65+
#anno{
66+
color: #828282;
67+
}
68+
/*pre标签样式*/
69+
#code_pre{
70+
border: 1px solid #d0d1d2;
71+
border-radius: 5px;
72+
background: #F5FFFA;
73+
margin: 10px;
74+
padding: 10px;
75+
font-size: 13px;
76+
font-family: courier,arial;
77+
overflow-y: hidden;
2978
}

test/test.html

Lines changed: 56 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,61 @@
1-
<!DOCTYPE html>
2-
<html xmlns="http://www.w3.org/1999/xhtml">
1+
<html>
32
<head>
4-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5-
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
7-
<link rel="stylesheet" href="changer.css">
8-
<title>JavaToHtml代码转换测试</title>
93
</head>
10-
<body>
11-
<br><br><br>
12-
<div class="container">
13-
<div class="row clearfix">
14-
<div class="col-md-8 col-md-offset-2 column">
15-
<pre><nobr id="k">package</nobr> totoro.top.java2html; <br>&#9;<br><nobr id="k">public</nobr> <nobr id="k">class</nobr> Test { <br>&#9;<br>&#9; <nobr id="n-g">// 主版本号</nobr><br>&#9;<nobr id="k">public static </nobr><nobr id="k">int</nobr> <nobr id="g">mainvVersion</nobr> = <nobr id="g">1</nobr>;<br>&#9; <nobr id="n-g">// 副版本号 :测试全局变量高亮</nobr><br>&#9;<nobr id="k">private static </nobr><nobr id="k">double</nobr> <nobr id="g">testDefineGlobal</nobr> = <nobr id="g">0.2</nobr>;<br>&#9;<br>&#9;<nobr id="k">public static </nobr>void main(String[] <nobr id="f">args</nobr>) {<br>&#9;&#9; <nobr id="n-g">// 字符串高亮显示</nobr><br>&#9;&#9;testDefineMethod(<nobr id="g">mainvVersion</nobr>, <nobr id="s">"点击转换按钮生成HTML代码"</nobr>);<br>&#9;} <br>&#9;<br>&#9; <nobr id="n-b">/**</nobr><br>&#9; <nobr id="n-b"> * 蓝色注释内容</nobr><br>&#9; <nobr id="n-b"> * 测试方法定义的参数高亮</nobr><br>&#9; <nobr id="n-b"> */</nobr><br>&#9;<nobr id="k">private static </nobr><nobr id="k">boolean</nobr> testDefineMethod(<nobr id="k">double</nobr> <nobr id="f">ver</nobr>, String <nobr id="f">log</nobr>) {<br>&#9;&#9; <nobr id="n-g">/* 测试局部变量高亮 ,并展示第二种绿色注释内容*/</nobr><br>&#9;&#9;<nobr id="k">double</nobr> <nobr id="f">version</nobr> = Test.<nobr id="g">mainvVersion</nobr> + <nobr id="g">testDefineGlobal</nobr>; <br>&#9;&#9;String <nobr id="f">testDefineField</nobr> = <nobr id="s">"测试"</nobr>+ <nobr id="f">version</nobr> + <nobr id="s">"版本 :"</nobr>;<br>&#9;&#9;System.out.println(<nobr id="f">testDefineField</nobr> + log); <br>&#9;&#9;<nobr id="k">return</nobr> <nobr id="k">true;</nobr> <br>&#9;} <br>&#9;<br>} <br></pre>
16-
</div>
17-
</div>
18-
</div>
4+
<body><br><br>
5+
<div style="margin:0 auto;width:600px;">
6+
<style>
7+
#code_pre{border: 1px solid #d0d1d2;border-radius: 5px;background: #F5FFFA;margin: 10px;
8+
padding: 10px;font-size: 13px;font-family: courier,arial;overflow-y: hidden;}
9+
#k-p{color:#8B1C62;font-weight:bold;}
10+
#g-db{color: #0000FF;}
11+
#f-br{color: #8B5742;}
12+
#s-sb{color: #436EEE;}
13+
#nn-g{color: #3CB371;}
14+
#ni-b{color: #8470FF;}
15+
#anno{color: #828282;}
16+
</style>
17+
<pre id="code_pre"><nobr id="k-p">package</nobr> totoro.top.java2html;
18+
19+
<nobr id="k-p">import</nobr> java.util.HashMap;
20+
<nobr id="k-p">import</nobr> java.util.Map;
21+
22+
<nobr id="nn-g">// 测试注解高亮</nobr>
23+
<nobr id="anno">@TestAnnotation</nobr>
24+
<nobr id="k-p">public</nobr> <nobr id="k-p">class</nobr> Test {
25+
26+
&#9;<nobr id="nn-g">/* 1. 测试全局变量高亮</nobr>
27+
&#9;<nobr id="nn-g"> * 2. 测试多行普通注释样式*/</nobr>
28+
&#9;<nobr id="k-p">public static int</nobr> <nobr id="g-db">mainvVersion</nobr> = 1;
29+
&#9;<nobr id="k-p">private static double</nobr> <nobr id="g-db">testDefineGlobal</nobr> = 0.2;
1930

31+
&#9;<nobr id="k-p">public static void</nobr> main(String[] <nobr id="f-br">args</nobr>) {
32+
&#9;&#9;<nobr id="nn-g">// 测试字符串高亮</nobr>
33+
&#9;&#9;testDefineMethod(<nobr id="g-db">mainvVersion</nobr>, <nobr id="s-sb">"点击转换按钮生成HTML代码"</nobr>);
34+
&#9;}
35+
36+
&#9;<nobr id="ni-b">/**</nobr>
37+
&#9;<nobr id="ni-b"> * 1. 测试重要注释内容样式</nobr>
38+
&#9;<nobr id="ni-b"> * 2. 测试方法定义的参数高亮</nobr>
39+
&#9;<nobr id="ni-b"> */</nobr>
40+
&#9;<nobr id="k-p">private static boolean</nobr> testDefineMethod(<nobr id="k-p">double</nobr> <nobr id="f-br">ver</nobr>, String <nobr id="f-br">log</nobr>) {
41+
&#9;&#9;<nobr id="nn-g">/* 测试局部变量高亮 ,并使用第二种普通注释样式*/</nobr>
42+
&#9;&#9;<nobr id="k-p">double</nobr> <nobr id="f-br">version</nobr> = Test.<nobr id="g-db">mainvVersion</nobr> + <nobr id="g-db">testDefineGlobal</nobr>;
43+
&#9;&#9;<nobr id="f-br">testDefineField</nobr> = <nobr id="s-sb">"测试"</nobr>+ <nobr id="f-br">version</nobr> + <nobr id="s-sb">"版本 :"</nobr>;
44+
&#9;&#9;System.out.println(<nobr id="f-br">testDefineField</nobr> + <nobr id="f-br">log</nobr>);
45+
&#9;&#9;<nobr id="k-p">return</nobr> <nobr id="k-p">true;</nobr>
46+
&#9;}
47+
48+
&#9;<nobr id="ni-b">/**</nobr>
49+
&#9;<nobr id="ni-b"> * 测试特殊符号</nobr>
50+
&#9;<nobr id="ni-b"> * 比如,"&lt;"和"&gt;"符号在HTML代码中的显示是特殊字符,需要做字符转化;</nobr>
51+
&#9;<nobr id="ni-b"> */</nobr>
52+
&#9;<nobr id="k-p">public </nobr>Map&lt;String, Object&gt; testGenericParadigm() {
53+
&#9;&#9;Map&lt;String, Object&gt; <nobr id="f-br">map</nobr> = <nobr id="k-p">new</nobr> HashMap&lt;&gt;();
54+
&#9;&#9;<nobr id="k-p">return</nobr> <nobr id="f-br">map</nobr>; <nobr id="nn-g">// 测试以注释结束的代码行</nobr>
55+
&#9;}
56+
57+
}
58+
</pre>
59+
</div>
2060
</body>
2161
</html>
50.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)