Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 42a3128

Browse files
author
xuxinhua
committed
markdown code 特殊字符bugfix
1 parent 4a0db80 commit 42a3128

File tree

10 files changed

+37
-22
lines changed

10 files changed

+37
-22
lines changed

websites/code/studygolang/static/js/comment.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// 评论相关js
22
(function(){
3-
window.Comment = {
4-
5-
};
3+
window.Comment = {};
64

75
$(document).ready(function(){
86
// 文本框事件
@@ -28,9 +26,6 @@
2826
// 配置 marked 语法高亮
2927
marked.setOptions({
3028
highlight: function (code) {
31-
code = code.replace(/"/g, '"');
32-
code = code.replace(/&lt;/g, '<');
33-
code = code.replace(/&gt;/g, '>');
3429
return hljs.highlightAuto(code).value;
3530
}
3631
});
@@ -129,10 +124,12 @@
129124
code = code.replace(/&#34;/g, '"');
130125
code = code.replace(/&lt;/g, '<');
131126
code = code.replace(/&gt;/g, '>');
127+
code = code.replace(/&amp;/g, '&');
132128
return hljs.highlightAuto(code).value;
133129
}
134130
});
135131
content = marked(content);
132+
content = SG.replaceCodeChar(content);
136133
return oneCmt+
137134
'<div class="pull-left face">'+
138135
'<a href="/user/'+username+'" target="_blank"><img src="'+avatar+'" width="48px" height="48px" alt="'+username+'"></a>'+

websites/code/studygolang/static/js/common.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,33 @@ SG.Publisher.prototype = {
6161
}
6262
}
6363

64+
SG.replaceSpecialChar = function(str) {
65+
str = str.replace(/&#34;/g, '"');
66+
str = str.replace(/&lt;/g, '<');
67+
str = str.replace(/&gt;/g, '>');
68+
str = str.replace(/&amp;/g, '&');
69+
return str;
70+
}
71+
6472
SG.markSetting = function() {
6573
// 配置 marked 语法高亮
6674
marked.setOptions({
6775
highlight: function (code) {
68-
code = code.replace(/&#34;/g, '"');
69-
code = code.replace(/&lt;/g, '<');
70-
code = code.replace(/&gt;/g, '>');
71-
code = code.replace(/&amp;/g, '&');
76+
code = SG.replaceSpecialChar(code);
7277
return hljs.highlightAuto(code).value;
7378
}
7479
});
7580

7681
return marked;
7782
}
7883

84+
// 替换 `` 代码块中的 "<>& 等字符
85+
SG.replaceCodeChar = function(code) {
86+
return code.replace(/<code>.*<\/code>/g, function(matched, index, origin) {
87+
return SG.replaceSpecialChar(matched);
88+
});
89+
}
90+
7991
// 分析 @ 的用户
8092
SG.analyzeAt = function(text) {
8193
var usernames = [];

websites/code/studygolang/static/js/projects.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
// 配置 marked 语法高亮
77
marked = SG.markSetting();
88

9-
$('.project .desc').html(marked(markdownString));
9+
var contentHtml = marked(markdownString);
10+
contentHtml = SG.replaceCodeChar(contentHtml);
11+
12+
$('.project .desc').html(contentHtml);
1013
}
1114

1215
jQuery(document).ready(function($) {

websites/code/studygolang/static/js/resources.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
var markdownString = selector.text();
2020
// 配置 marked 语法高亮
2121
marked = SG.markSetting();
22-
23-
selector.html(marked(markdownString));
22+
var contentHtml = marked(markdownString);
23+
contentHtml = SG.replaceCodeChar(contentHtml);
24+
selector.html(contentHtml);
2425

2526
// emoji 表情解析
2627
emojify.run(selector.get(0));

websites/code/studygolang/static/js/topics.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
// 配置 marked 语法高亮
2121
marked = SG.markSetting();
2222

23-
selector.html(marked(markdownString));
23+
var contentHtml = marked(markdownString);
24+
contentHtml = SG.replaceCodeChar(contentHtml);
25+
selector.html(contentHtml);
2426

2527
// emoji 表情解析
2628
emojify.run(selector.get(0));

websites/code/studygolang/template/articles/detail.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ <h3 class="title"><i class="glyphicon glyphicon-fire"></i>&nbsp;<a href="/projec
178178
<!-- <script type="text/javascript" src="//twemoji.maxcdn.com/twemoji.min.js"></script>
179179
<script type="text/javascript" src="/static/js/libs/twemojis.js"></script> -->
180180
<script type="text/javascript" src="/static/js/libs/plupload.full.min.js"></script>
181-
<script type="text/javascript" src="/static/js/comment.js?v=1.0"></script>
181+
<script type="text/javascript" src="/static/js/comment.js?v=1.1"></script>
182182
<script type="text/javascript" src="/static/js/puploader.js"></script>
183183
<script type="text/javascript">
184184
// 需要加载的侧边栏

websites/code/studygolang/template/common/layout.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ <h5>第三方账号登录</h5>
197197
var wsUrl = 'ws://{{.wshost}}/ws?uid={{.me.uid}}';
198198
// var wsUrl = 'ws://studygolang.com/ws?uid={{.me.uid}}';
199199
</script>
200-
<script src="/static/js/common.js?v=1.0"></script>
200+
<script src="/static/js/common.js?v=1.1"></script>
201201
{{template "js" .}}
202202
<script type="text/javascript" src="/static/js/libs/emojify.min.js"></script>
203203
<script src="/static/js/sidebar.js?v=1.0"></script>

websites/code/studygolang/template/projects/detail.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@ <h2>项目点评:</h2>
180180
<script type="text/javascript" src="/static/js/libs/emojify.min.js"></script>
181181
<script type="text/javascript" src="/static/js/libs/emojis.js"></script>
182182
<script type="text/javascript" src="/static/js/libs/plupload.full.min.js"></script>
183-
<script type="text/javascript" src="/static/js/projects.js?v=1.0"></script>
184-
<script type="text/javascript" src="/static/js/comment.js?v=1.0"></script>
183+
<script type="text/javascript" src="/static/js/projects.js?v=1.1"></script>
184+
<script type="text/javascript" src="/static/js/comment.js?v=1.1"></script>
185185
<script type="text/javascript" src="/static/js/puploader.js"></script>
186186
<script type="text/javascript">
187187
// 需要加载的侧边栏

websites/code/studygolang/template/resources/detail.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ <h4>
171171
<script type="text/javascript" src="/static/js/libs/emojify.min.js"></script>
172172
<script type="text/javascript" src="/static/js/libs/emojis.js"></script>
173173
<script type="text/javascript" src="/static/js/libs/plupload.full.min.js"></script>
174-
<script type="text/javascript" src="/static/js/resources.js"></script>
175-
<script type="text/javascript" src="/static/js/comment.js?v=1.0"></script>
174+
<script type="text/javascript" src="/static/js/resources.js?v=1.1"></script>
175+
<script type="text/javascript" src="/static/js/comment.js?v=1.1"></script>
176176
<script type="text/javascript" src="/static/js/puploader.js"></script>
177177
<script type="text/javascript">
178178
// 需要加载的侧边栏

websites/code/studygolang/template/topics/detail.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,8 @@ <h4>
175175
<script type="text/javascript" src="/static/js/libs/emojify.min.js"></script>
176176
<script type="text/javascript" src="/static/js/libs/emojis.js"></script>
177177
<script type="text/javascript" src="/static/js/libs/plupload.full.min.js"></script>
178-
<script type="text/javascript" src="/static/js/topics.js?v=1.0"></script>
179-
<script type="text/javascript" src="/static/js/comment.js?v=1.0"></script>
178+
<script type="text/javascript" src="/static/js/topics.js?v=1.1"></script>
179+
<script type="text/javascript" src="/static/js/comment.js?v=1.1"></script>
180180
<script type="text/javascript" src="/static/js/puploader.js"></script>
181181
<script type="text/javascript">
182182
// 需要加载的侧边栏

0 commit comments

Comments
 (0)