12
12
"""
13
13
__author__ = 'JHao'
14
14
15
- import re
16
- # import markdown
15
+ import markdown
17
16
from django import template
18
- from django .template .defaultfilters import stringfilter
19
- from django .core .paginator import Paginator , PageNotAnInteger , EmptyPage
20
17
from django .utils .safestring import mark_safe
18
+ from django .template .defaultfilters import stringfilter
21
19
22
20
register = template .Library ()
23
21
@@ -30,46 +28,16 @@ def slice_list(value, index):
30
28
@register .filter (is_safe = True )
31
29
@stringfilter
32
30
def custom_markdown (value ):
33
- # content = mark_safe(markdown.markdown(value, extensions=['markdown.extensions.fenced_code',
34
- # # 'markdown.extensions.codehilite',
35
- # 'markdown.extensions.tables'],
36
- # safe_mode=True, enable_attributes=False))
37
- #
38
- # # Prism 代码高亮查件 需要将所有的
39
- # # markdown转换的代码:<pre><code class="python">import *** </code></pre>
40
- # # 转换为
41
- # # <pre class="line-numbers"><code class="language-python">import *** </code></pre>
42
- # code_list = re.findall(r'<pre><code class="(.*)">', content, re.M)
43
- # for code in code_list:
44
- # content = re.sub(r'<pre><code class="(.*)">',
45
- # '<pre class="line-numbers"><code class="language-{code}">'.format(code=code.lower()), content,
46
- # 1)
47
- # content = re.sub(r'<pre>\s?<code>', '<pre class="line-numbers"><code class="language-python">', content)
48
- # return content
49
- return value
50
-
51
-
52
- @register .simple_tag (takes_context = True )
53
- def paginate (context , object_list , page_count ):
54
- context ['count' ] = object_list .count
55
- paginator = Paginator (object_list , page_count )
56
- page = context ['request' ].GET .get ('page' )
57
-
58
- try :
59
- object_list = paginator .page (page )
60
- context ['current_page' ] = int (page )
61
-
62
- except PageNotAnInteger :
63
- object_list = paginator .page (1 )
64
- context ['current_page' ] = 1
65
- except EmptyPage :
66
- object_list = paginator .page (paginator .num_pages )
67
- context ['current_page' ] = paginator .num_pages
68
-
69
- context ['article_list' ] = object_list
70
- context ['last_page' ] = paginator .num_pages
71
- context ['first_page' ] = 1
72
- return '' # 必须加这个,否则首页会显示个None
31
+ content = mark_safe (markdown .markdown (value ,
32
+ output_format = 'html5' ,
33
+ extensions = [
34
+ 'markdown.extensions.extra' ,
35
+ 'markdown.extensions.fenced_code' ,
36
+ 'markdown.extensions.tables' ,
37
+ ],
38
+ safe_mode = True ,
39
+ enable_attributes = False ))
40
+ return content
73
41
74
42
75
43
@register .filter
@@ -82,20 +50,5 @@ def tag2string(value):
82
50
return ',' .join ([each .get ('tag_name' , '' ) for each in value ])
83
51
84
52
85
- @register .filter
86
- def getTag (value ):
87
- """
88
- 展示一个tag
89
- :param value:
90
- :return:
91
- """
92
- tag = ''
93
- for each in value :
94
- if each .get ('tag_name' ):
95
- tag = each .get ("tag_name" )
96
- break
97
- return tag
98
-
99
-
100
53
if __name__ == '__main__' :
101
54
pass
0 commit comments