Просмотр исходного кода

수정 및 구문 강조 문법 추가

2DU 9 лет назад
Родитель
Сommit
26640b8663
4 измененных файлов с 19 добавлено и 12 удалено
  1. 7 0
      mark.py
  2. 8 7
      views/base.tpl
  3. 4 0
      views/css/style.css
  4. 0 5
      views/js/brython.js

+ 7 - 0
mark.py

@@ -124,6 +124,9 @@ def mid_pas(data, fol_num, include):
             fol_a = re.compile("^#!folding\s((?:(?!\n).)*)\n?\s\n(.*)$", re.DOTALL)
             fol = fol_a.search(a[0])
             
+            syn_a = re.compile("^#!syntax\s([^\n]*)\r\n(.*)$", re.DOTALL)
+            syn = syn_a.search(a[0])
+            
             if(big):
                 result = big.groups()
                 data = com.sub('<span class="font-size-' + result[0] + '">' + result[1] + '</span>', data, 1)
@@ -159,6 +162,9 @@ def mid_pas(data, fol_num, include):
                 data = com.sub("<div>" + result[0] + "<span style='float:right;'><div id='folding_" + str(fol_num + 1) + "' style='display:block;'>[<a href='javascript:void(0);' onclick='var f=document.getElementById(\"folding_" + str(fol_num) + "\");var s=f.style.display==\"block\";f.style.display=s?\"none\":\"block\";this.className=s?\"\":\"opened\";var f=document.getElementById(\"folding_" + str(fol_num + 1) + "\");var s=f.style.display==\"none\";f.style.display=s?\"block\":\"none\";var f=document.getElementById(\"folding_" + str(fol_num + 2) + "\");var s=f.style.display==\"block\";f.style.display=s?\"none\":\"block\";'>펼치기</a>]</div><div id='folding_" + str(fol_num + 2) + "' style='display:none;'>[<a href='javascript:void(0);' onclick='var f=document.getElementById(\"folding_" + str(fol_num) + "\");var s=f.style.display==\"block\";f.style.display=s?\"none\":\"block\";this.className=s?\"\":\"opened\";var f=document.getElementById(\"folding_" + str(fol_num + 1) + "\");var s=f.style.display==\"none\";f.style.display=s?\"block\":\"none\";var f=document.getElementById(\"folding_" + str(fol_num + 2) + "\");var s=f.style.display==\"block\";f.style.display=s?\"none\":\"block\";'>접기</a>]</div></a></span><div id='folding_" + str(fol_num) + "' style='display:none;'><br>" + result[1] + "</div></div>", data, 1)
                 
                 fol_num += 3
+            elif(syn):
+                result = syn.groups()
+                data = com.sub('<pre id="syntax"><code class="' + result[0] + '">' + re.sub(' ', '<space>', result[1]) + '</code></pre>', data, 1)
             elif(html):
                 result = html.groups()
                 data = com.sub(result[0], data, 1)
@@ -1035,6 +1041,7 @@ def namumark(title, data):
     
     data = re.sub("(\n<nobr>|<nobr>\n|<nobr>)", "", data)
     data = re.sub("<nowiki>(?P<in>.)<\/nowiki>", "\g<in>", data)
+    data = re.sub("<space>", " ", data)
 
     data = re.sub('<\/blockquote>((\r)?\n){2}<blockquote>', '</blockquote><br><blockquote>', data)
     data = re.sub('\n', '<br>', data)

+ 8 - 7
views/base.tpl

@@ -3,14 +3,15 @@
         <title>{{title}} - {{logo}}</title>
         <link rel="stylesheet" href="/views/css/primer.css">
         <link rel="stylesheet" href="/views/css/style.css">
-        <link rel="javascript" href="/views/js/brython.js">
+        <script type="text/javascript" src="https://cdn.rawgit.com/brython-dev/brython/stable/www/src/brython.js"></script>
+        <!-- 필수 CSS, JS -->
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/styles/default.min.css">
+        <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/highlight.min.js"></script>
+        <script>hljs.initHighlightingOnLoad();</script>
         <link rel="stylesheet" href="/views/css/awesome/font-awesome.min.css">
-        <script type="text/x-mathjax-config">
-          MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
-        </script>
-        <script type="text/javascript" async
-            src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_CHTML">
-        </script>
+        <script type="text/x-mathjax-config">MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});</script>
+        <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_CHTML"></script>
+        <!-- 필수 부분 끝 -->
         <meta name="twitter:creator" content="@{{logo}}">
         <meta name="twitter:title" content="{{title}}">
         <meta name="twitter:site" content="@{{logo}}">

+ 4 - 0
views/css/style.css

@@ -32,6 +32,10 @@ button#goto {
     border-right: 0;
 }
 
+#syntax {
+    line-height: 1;
+}
+
 textarea, label, span, body, strong, b, div, h1, h2, h3, h4, h5, h6, h7, input {
     font-family: "나눔바른고딕", "나눔고딕", "맑은 고딕", "NanumBarunGothic", "NanumGothic", "Malgun Gothic", "sans-serif";
 }

Разница между файлами не показана из-за своего большого размера
+ 0 - 5
views/js/brython.js


Некоторые файлы не были показаны из-за большого количества измененных файлов