Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
AE UTBM
Sith
Commits
323b946e
Commit
323b946e
authored
Dec 24, 2016
by
Skia
🤘
Browse files
First dfile:// parsing, not working into links, need to investigate
parent
15e52d1a
Changes
2
Hide whitespace changes
Inline
Side-by-side
core/markdown.py
0 → 100644
View file @
323b946e
import
re
from
mistune
import
Renderer
,
InlineGrammar
,
InlineLexer
,
Markdown
from
django.core.urlresolvers
import
reverse_lazy
,
reverse
class
SithRenderer
(
Renderer
):
def
file_link
(
self
,
id
,
suffix
):
return
reverse
(
'core:file_detail'
,
kwargs
=
{
'file_id'
:
id
})
+
suffix
class
SithInlineLexer
(
InlineLexer
):
def
enable_file_link
(
self
):
# add file_link rules
self
.
rules
.
file_link
=
re
.
compile
(
r
'dfile://(\d*)/?(\S*)?'
# dfile://4000/download
)
# Add file_link parser to default rules
# you can insert it some place you like
# but place matters, maybe 2 is not good
self
.
default_rules
.
insert
(
0
,
'file_link'
)
def
output_file_link
(
self
,
m
):
id
=
m
.
group
(
1
)
suffix
=
m
.
group
(
2
)
or
""
# you can create an custom render
# you can also return the html if you like
# return directly html like this:
# return reverse('core:file_detail', kwargs={'file_id': id}) + suffix
return
self
.
renderer
.
file_link
(
id
,
suffix
)
renderer
=
SithRenderer
()
inline
=
SithInlineLexer
(
renderer
)
# enable the features
inline
.
enable_file_link
()
markdown
=
Markdown
(
renderer
,
inline
=
inline
)
core/templatetags/renderer.py
View file @
323b946e
import
mistune
from
django
import
template
from
django.template.defaultfilters
import
stringfilter
from
django.utils.safestring
import
mark_safe
from
django.utils.html
import
escape
from
core.markdown
import
markdown
as
md
register
=
template
.
Library
()
@
register
.
filter
(
is_safe
=
False
)
@
stringfilter
def
markdown
(
text
):
md
=
mistune
.
Markdown
()
return
mark_safe
(
md
(
escape
(
text
)))
@
register
.
filter
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment