##// END OF EJS Templates
Add ">" char at every line inside quote
neko259 -
r1068:8f4f78df default
parent child Browse files
Show More
@@ -18,6 +18,7 b" REFLINK_PATTERN = re.compile(r'^\\d+$')"
18 MULTI_NEWLINES_PATTERN = re.compile(r'(\r?\n){2,}')
18 MULTI_NEWLINES_PATTERN = re.compile(r'(\r?\n){2,}')
19 ONE_NEWLINE = '\n'
19 ONE_NEWLINE = '\n'
20 REGEX_URL = re.compile(r'https?\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?')
20 REGEX_URL = re.compile(r'https?\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?')
21 LINE_BREAK_HTML = '<div class="br"></div>'
21
22
22
23
23 class TextFormatter():
24 class TextFormatter():
@@ -50,8 +51,8 b' class AutolinkPattern():'
50
51
51
52
52 class QuotePattern(TextFormatter):
53 class QuotePattern(TextFormatter):
53 name = 'q'
54 name = '>q'
54 preview_left = '<span class="multiquote">'
55 preview_left = '<span class="quote">'
55 preview_right = '</span>'
56 preview_right = '</span>'
56
57
57 format_left = '[quote]'
58 format_left = '[quote]'
@@ -161,7 +162,10 b' def render_quote(tag_name, value, option'
161 if source:
162 if source:
162 result = '<div class="multiquote"><div class="quote-header">%s</div><div class="quote-text">%s</div></div>' % (source, value)
163 result = '<div class="multiquote"><div class="quote-header">%s</div><div class="quote-text">%s</div></div>' % (source, value)
163 else:
164 else:
164 result = '<span class="quote">&gt;%s</span>' % value
165 # Insert a ">" at the start of every line
166 result = '<span class="quote">&gt;{}</span>'.format(
167 value.replace(LINE_BREAK_HTML,
168 '{}&gt;'.format(LINE_BREAK_HTML)))
165
169
166 return result
170 return result
167
171
@@ -197,7 +201,7 b' class Parser:'
197 def __init__(self):
201 def __init__(self):
198 # The newline hack is added because br's margin does not work in all
202 # The newline hack is added because br's margin does not work in all
199 # browsers except firefox, when the div's does.
203 # browsers except firefox, when the div's does.
200 self.parser = bbcode.Parser(newline='<div class="br"></div>')
204 self.parser = bbcode.Parser(newline=LINE_BREAK_HTML)
201
205
202 self.parser.add_formatter('post', render_reflink, strip=True)
206 self.parser.add_formatter('post', render_reflink, strip=True)
203 self.parser.add_formatter('thread', render_multithread, strip=True)
207 self.parser.add_formatter('thread', render_multithread, strip=True)
@@ -15,7 +15,8 b''
15 <p>[thread]123[/thread] — {% trans 'Add post to this thread' %}</p>
15 <p>[thread]123[/thread] — {% trans 'Add post to this thread' %}</p>
16 <p>[s]<span class="strikethrough">{% trans 'Strikethrough text' %}</span>[/s]</p>
16 <p>[s]<span class="strikethrough">{% trans 'Strikethrough text' %}</span>[/s]</p>
17 <p>[comment]<span class="comment">{% trans 'Comment' %}</span>[/comment]</p>
17 <p>[comment]<span class="comment">{% trans 'Comment' %}</span>[/comment]</p>
18 <p>[quote]<span class="multiquote">{% trans 'Quote' %}</span>[/quote]</p>
18 <p>[quote]<span class="quote">&gt;{% trans 'Quote' %}</span>[/quote]</p>
19 <p>[quote source=src]<div class="multiquote"><div class="quote-header">src</div><div class="quote-text">{% trans 'Quote' %}</div></div><br />[/quote]</p>
19 <br/>
20 <br/>
20 <p>{% trans 'You can try pasting the text and previewing the result here:' %} <a href="{% url 'preview' %}">{% trans 'Preview' %}</a></p>
21 <p>{% trans 'You can try pasting the text and previewing the result here:' %} <a href="{% url 'preview' %}">{% trans 'Preview' %}</a></p>
21 {% endblock %}
22 {% endblock %}
General Comments 0
You need to be logged in to leave comments. Login now