WIP: Support bare links (no []).
This commit is contained in:
parent
3e9f323b56
commit
a6607ba0f3
@ -10,6 +10,7 @@ import sys
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
import traceback
|
||||
import re
|
||||
|
||||
import inotify.adapters
|
||||
|
||||
@ -43,6 +44,8 @@ MONITORED_EVENT_TYPES = (
|
||||
'IN_MOVE_SELF',
|
||||
)
|
||||
|
||||
WHITESPACE_RE = re.compile(r'\s')
|
||||
|
||||
ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
STATIC_PATH = os.path.join(ROOT_DIR, 'static')
|
||||
@ -402,8 +405,29 @@ def render_text_tokens(tokens, acc, headline, graph):
|
||||
acc.append('<p>')
|
||||
for chunk in tokens:
|
||||
if isinstance(chunk, str):
|
||||
lines = chunk.replace('\n\n', '</p><p>')
|
||||
acc.append('<span class="line">{}</span>'.format(lines))
|
||||
lines = chunk.split('\n\n')
|
||||
contents = []
|
||||
for line in lines:
|
||||
line_chunks = []
|
||||
for word in WHITESPACE_RE.split(line):
|
||||
if ':/' in word and not (word.startswith('org-protocol://')):
|
||||
if not (word.startswith('http://')
|
||||
or word.startswith('https://')
|
||||
or word.startswith('ftp://')
|
||||
or word.startswith('ftps://')
|
||||
):
|
||||
print("Line:", line)
|
||||
print("Chunks:", WHITESPACE_RE.split(line))
|
||||
raise Exception('Is this a link? {} (on {})'.format(word, headline.doc.path))
|
||||
line_chunks.append('<a href="{url}">{description}</a>'
|
||||
.format(url=word,
|
||||
description=html.escape(word)))
|
||||
else:
|
||||
line_chunks.append(html.escape(word))
|
||||
contents.append(' '.join(line_chunks))
|
||||
|
||||
acc.append('<span class="line">{}</span>'.format('</p><p>'.join(contents)))
|
||||
|
||||
elif isinstance(chunk, Link):
|
||||
link_target = chunk.value
|
||||
if link_target.startswith('id:'):
|
||||
|
Loading…
Reference in New Issue
Block a user