• R/O
  • SSH
  • HTTPS

blogs: コミット


コミットメタ情報

リビジョン98 (tree)
日時2019-09-02 19:52:38
作者hirukawa_ryo

ログメッセージ

* flexmark-ext-highlight 0.2.2
言語名としてrawを指定した場合、HTMLエスケープしないようにしました。

変更サマリ

差分

--- flexmark-ext-highlight/trunk/src/main/java/net/osdn/blogs/flexmark/ext/highlight/HighlightRenderer.java (revision 97)
+++ flexmark-ext-highlight/trunk/src/main/java/net/osdn/blogs/flexmark/ext/highlight/HighlightRenderer.java (revision 98)
@@ -145,24 +145,28 @@
145145 if (codeContentBlock) {
146146 context.renderChildren(node);
147147 } else {
148- if(languageName != null && !languageName.equals("raw")) {
149- String code = node.getContentChars().normalizeEOL();
150- CharSequence content;
151- if(Highlighter.findLanguage(languageName) != null) {
152- content = highlight(languageName, code);
153- } else {
154- content = code
155- .replace("&", "&")
156- .replace("<", "&lt;")
157- .replace(">", "&gt;");
158- }
159- if(isReplaceYenSign) {
160- content = content.toString().replace("\\", "&yen;");
161- }
162- html.append(content);
163- } else {
164- html.text(node.getContentChars().normalizeEOL());
165- }
148+ if(languageName == null) {
149+ // nohighlight (html escape)
150+ html.text(node.getContentChars().normalizeEOL());
151+ } else if(languageName.equals("raw")) {
152+ // raw (without html escape)
153+ html.append(node.getContentChars().normalizeEOL());
154+ } else {
155+ String code = node.getContentChars().normalizeEOL();
156+ CharSequence content;
157+ if(Highlighter.findLanguage(languageName) != null) {
158+ content = highlight(languageName, code);
159+ } else {
160+ content = code
161+ .replace("&", "&amp;")
162+ .replace("<", "&lt;")
163+ .replace(">", "&gt;");
164+ }
165+ if(isReplaceYenSign) {
166+ content = content.toString().replace("\\", "&yen;");
167+ }
168+ html.append(content);
169+ }
166170 }
167171 html.tag("/code");
168172 html.tag("/pre").closePre();
旧リポジトリブラウザで表示