|
|
@@ -113,13 +113,18 @@ class class_do_render_namumark:
|
|
|
else:
|
|
|
data_revert = ''
|
|
|
else:
|
|
|
- data_revert = '\\' + self.data_temp_storage[match[0]]
|
|
|
+ if self.data_temp_storage[match[0]] == '\\':
|
|
|
+ data_revert = '\\\\\\\\'
|
|
|
+ else:
|
|
|
+ data_revert = '\\' + self.data_temp_storage[match[0]]
|
|
|
|
|
|
data = re.sub(storage_regex, data_revert, data, 1)
|
|
|
- data = re.sub(storage_regex, '', data)
|
|
|
|
|
|
storage_count -= 1
|
|
|
|
|
|
+ data = re.sub(r'<front_br>', '', data)
|
|
|
+ data = re.sub(r'<back_br>', '', data)
|
|
|
+
|
|
|
return data
|
|
|
|
|
|
def get_tool_footnote_make(self):
|
|
|
@@ -873,7 +878,7 @@ class class_do_render_namumark:
|
|
|
match = match.groups()
|
|
|
|
|
|
macro_split_regex = r'(?:^|,) *([^,]+)'
|
|
|
- macro_split_sub_regex = r'(^[^=]+) *= *([^=]+)'
|
|
|
+ macro_split_sub_regex = r'(^[^=]+) *= *([^=]*)'
|
|
|
|
|
|
include_name = ''
|
|
|
|
|
|
@@ -1029,11 +1034,13 @@ class class_do_render_namumark:
|
|
|
self.render_data = '<' + data_name + '></' + data_name + '>'
|
|
|
|
|
|
def do_render_table(self):
|
|
|
+ self.render_data = re.sub(r'\n +\|\|', '\n||', self.render_data)
|
|
|
+
|
|
|
# get_tool_dark_mode_split
|
|
|
# get_tool_px_add_check
|
|
|
# get_tool_css_safe
|
|
|
def do_render_table_parameter(cell_count, parameter, data, option = {}):
|
|
|
- table_parameter_all = { "div" : "", "table" : "", "tr" : "", "td" : "", "col" : "", "colspan" : "", "rowspan" : "" }
|
|
|
+ table_parameter_all = { "div" : "", "table" : "", "tr" : "", "td" : "", "col" : "", "colspan" : "", "rowspan" : "", "data" : "" }
|
|
|
|
|
|
table_align_auto = 1
|
|
|
table_colspan_auto = 1
|
|
|
@@ -1106,18 +1113,26 @@ class class_do_render_namumark:
|
|
|
|
|
|
if table_align_auto == 1:
|
|
|
if re.search(r'^ ', data):
|
|
|
+ data = re.sub(r'^ ', '', data)
|
|
|
if re.search(r' $', data):
|
|
|
table_parameter_all['td'] += 'text-align: center;'
|
|
|
+
|
|
|
+ data = re.sub(r' $', '', data)
|
|
|
else:
|
|
|
table_parameter_all['td'] += 'text-align: right;'
|
|
|
+ else:
|
|
|
+ if re.search(r' $', data):
|
|
|
+ data = re.sub(r' $', '', data)
|
|
|
|
|
|
if table_colspan_auto == 1:
|
|
|
table_parameter_all['colspan'] = str(len(cell_count) // 2)
|
|
|
|
|
|
+ table_parameter_all['data'] = data
|
|
|
+
|
|
|
return table_parameter_all
|
|
|
|
|
|
table_regex = r'\n *((?:(?:(?:(?:\|\|)+)(?:(?:(?:(?:(?:(?!\|\|).)+)\n*)+)|(?:(?:(?!\|\|).)*)))+(?:(?:\|\|+)\n))+)'
|
|
|
- table_sub_regex = r'(\n?)((?:\|\|)+)((?:<(?:(?:(?!<|>).)+)>)*)((?:(?:(?:(?:(?!\|\|).)+)\n*)+)|(?:(?:(?!\|\|).)*))'
|
|
|
+ table_sub_regex = r'(\n?)((?:\|\|)+)((?:<(?:(?:(?!<|>).)+)>)*)((?:\n*(?:(?:(?:(?!\|\|).)+)\n*)+)|(?:(?:(?!\|\|).)*))'
|
|
|
table_count_all = len(re.findall(table_regex, self.render_data)) * 2
|
|
|
while 1:
|
|
|
table_data = re.search(table_regex, self.render_data)
|
|
|
@@ -1130,6 +1145,7 @@ class class_do_render_namumark:
|
|
|
else:
|
|
|
table_data_org = table_data.group(0)
|
|
|
table_data = table_data.group(1)
|
|
|
+ print(table_data)
|
|
|
|
|
|
table_parameter = { "div" : "", "table" : "", "col" : {} }
|
|
|
table_data_end = ''
|
|
|
@@ -1139,7 +1155,7 @@ class class_do_render_namumark:
|
|
|
if table_sub[0] != '' and table_tr_change == 1:
|
|
|
table_col_num = 0
|
|
|
table_data_end += '</tr><tr style="' + table_sub_parameter['tr'] + '">'
|
|
|
-
|
|
|
+
|
|
|
table_sub_parameter = do_render_table_parameter(table_sub[1], table_sub[2], table_sub[3])
|
|
|
if not table_col_num in table_parameter['col']:
|
|
|
table_parameter['col'][table_col_num] = ''
|
|
|
@@ -1153,7 +1169,7 @@ class class_do_render_namumark:
|
|
|
else:
|
|
|
table_tr_change = 0
|
|
|
|
|
|
- table_data_end += '<td colspan="' + table_sub_parameter['colspan'] + '" rowspan="' + table_sub_parameter['rowspan'] + '" style="' + table_sub_parameter['td'] + table_parameter['col'][table_col_num] + '">' + table_sub[3] + '</td>'
|
|
|
+ table_data_end += '<td colspan="' + table_sub_parameter['colspan'] + '" rowspan="' + table_sub_parameter['rowspan'] + '" style="' + table_sub_parameter['td'] + table_parameter['col'][table_col_num] + '">' + table_sub_parameter['data'] + '</td>'
|
|
|
|
|
|
table_col_num += 1
|
|
|
|
|
|
@@ -1166,7 +1182,7 @@ class class_do_render_namumark:
|
|
|
table_count_all -= 1
|
|
|
|
|
|
def do_render_middle(self):
|
|
|
- middle_regex = r'{{{([^{](?:(?!{{{|}}}).|\n)*)}}}'
|
|
|
+ middle_regex = r'{{{([^{](?:(?!{{{|}}}).|\n)*)?(?:}|<(\/?(?:slash)_(?:[0-9]+))>)}}'
|
|
|
wiki_count = 0
|
|
|
middle_count_all = len(re.findall(middle_regex, self.render_data)) * 10
|
|
|
while 1:
|
|
|
@@ -1175,14 +1191,29 @@ class class_do_render_namumark:
|
|
|
break
|
|
|
elif not middle_data:
|
|
|
break
|
|
|
- else:
|
|
|
+ else:
|
|
|
middle_data_org = middle_data.group(0)
|
|
|
- middle_data = middle_data.group(1)
|
|
|
+ middle_slash = middle_data.group(2)
|
|
|
+ if middle_slash:
|
|
|
+ if self.data_temp_storage[middle_slash] != '}':
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
+ middle_data = middle_data.group(1)
|
|
|
+ if not middle_data:
|
|
|
+ middle_data = ''
|
|
|
+
|
|
|
middle_name = re.search(r'^([^ \n]+)', middle_data)
|
|
|
middle_data_pass = ''
|
|
|
if middle_name:
|
|
|
middle_name = middle_name.group(1)
|
|
|
if middle_name == '#!wiki':
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
wiki_regex = r'^#!wiki(?:(?: style=("(?:(?:(?!").)*)"|'(?:(?:(?!').)*)'))| [^\n]*)?\n'
|
|
|
wiki_data_style = re.search(wiki_regex, middle_data)
|
|
|
wiki_data = re.sub(wiki_regex, '', middle_data)
|
|
|
@@ -1199,12 +1230,39 @@ class class_do_render_namumark:
|
|
|
|
|
|
wiki_data = self.get_tool_data_revert(wiki_data)
|
|
|
wiki_data = html.unescape(wiki_data)
|
|
|
+ wiki_data = re.sub('\n$', '', wiki_data)
|
|
|
|
|
|
self.data_include += [[self.doc_include + 'opennamu_wiki_' + str(wiki_count), self.doc_name, wiki_data, wiki_data_style]]
|
|
|
|
|
|
data_name = self.get_tool_data_storage('<div id="' + self.doc_include + 'opennamu_wiki_' + str(wiki_count) + '"></div>', '', middle_data_org)
|
|
|
wiki_count += 1
|
|
|
+ elif middle_name == '#!html':
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
+ data_name = self.get_tool_data_storage('', '', middle_data_org)
|
|
|
+ elif middle_name == '#!folding':
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
+ data_name = self.get_tool_data_storage('', '', middle_data_org)
|
|
|
+ elif middle_name == '#!syntax':
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
+ data_name = self.get_tool_data_storage('', '', middle_data_org)
|
|
|
elif middle_name in ('+5', '+4', '+3', '+2', '+1'):
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
wiki_data = re.sub(r'^\+[1-5] ', '', middle_data)
|
|
|
if middle_name == '+5':
|
|
|
wiki_size = '200'
|
|
|
@@ -1219,17 +1277,75 @@ class class_do_render_namumark:
|
|
|
|
|
|
middle_data_pass = wiki_data
|
|
|
data_name = self.get_tool_data_storage('<span style="font-size:' + wiki_size + '%">', '</span>', middle_data_org)
|
|
|
+ elif middle_name in ('-5', '-4', '-3', '-2', '-1'):
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
+ wiki_data = re.sub(r'^\-[1-5] ', '', middle_data)
|
|
|
+ if middle_name == '-5':
|
|
|
+ wiki_size = '50'
|
|
|
+ elif middle_name == '-4':
|
|
|
+ wiki_size = '60'
|
|
|
+ elif middle_name == '-3':
|
|
|
+ wiki_size = '70'
|
|
|
+ elif middle_name == '-2':
|
|
|
+ wiki_size = '80'
|
|
|
+ else:
|
|
|
+ wiki_size = '90'
|
|
|
+
|
|
|
+ middle_data_pass = wiki_data
|
|
|
+ data_name = self.get_tool_data_storage('<span style="font-size:' + wiki_size + '%">', '</span>', middle_data_org)
|
|
|
+ elif re.search(r'^#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))', middle_name):
|
|
|
+ if middle_slash:
|
|
|
+ middle_data_org = re.sub(r'<(\/?(?:slash)_(?:[0-9]+))>', '<temp_' + middle_slash + '>', middle_data_org)
|
|
|
+ self.render_data = re.sub(middle_regex, middle_data_org, self.render_data, 1)
|
|
|
+ continue
|
|
|
+
|
|
|
+ wiki_color = re.search(r'^#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))(?:,#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+)))?', middle_name)
|
|
|
+ if wiki_color:
|
|
|
+ wiki_color = wiki_color.groups()
|
|
|
+ if wiki_color[0]:
|
|
|
+ wiki_color = '#' + wiki_color[0]
|
|
|
+ else:
|
|
|
+ wiki_color = wiki_color[1]
|
|
|
+
|
|
|
+ if wiki_color[2]:
|
|
|
+ wiki_color += ',#' + wiki_color[0]
|
|
|
+ elif wiki_color[3]:
|
|
|
+ wiki_color = ',' + wiki_color[1]
|
|
|
+ else:
|
|
|
+ wiki_color = 'red'
|
|
|
+
|
|
|
+ wiki_color = self.get_tool_css_safe(wiki_color)
|
|
|
+ wiki_color = self.get_tool_dark_mode_split(wiki_color)
|
|
|
+
|
|
|
+ wiki_data = re.sub(r'^#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))(?:,#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+)))? ?', '', middle_data)
|
|
|
+
|
|
|
+ middle_data_pass = wiki_data
|
|
|
+ data_name = self.get_tool_data_storage('<span style="color:' + wiki_color + '">', '</span>', middle_data_org)
|
|
|
else:
|
|
|
+ if middle_slash:
|
|
|
+ middle_data += '\\'
|
|
|
+
|
|
|
data_revert = self.get_tool_data_revert(middle_data)
|
|
|
|
|
|
data_name = self.get_tool_data_storage(data_revert, '', middle_data_org)
|
|
|
else:
|
|
|
- data_name = self.get_tool_data_storage('', '', middle_data_org)
|
|
|
-
|
|
|
+ if middle_slash:
|
|
|
+ middle_data += '\\'
|
|
|
+
|
|
|
+ data_revert = self.get_tool_data_revert(middle_data)
|
|
|
+
|
|
|
+ data_name = self.get_tool_data_storage(data_revert, '', middle_data_org)
|
|
|
+
|
|
|
self.render_data = re.sub(middle_regex, '<' + data_name + '>' + middle_data_pass + '</' + data_name + '>', self.render_data, 1)
|
|
|
|
|
|
middle_count_all -= 1
|
|
|
|
|
|
+ self.render_data = re.sub(r'<temp_(?P<in>(?:slash)_(?:[0-9]+))>', '<\g<in>>', self.render_data)
|
|
|
+
|
|
|
def do_render_last(self):
|
|
|
# add category
|
|
|
if self.doc_include == '':
|
|
|
@@ -1262,8 +1378,6 @@ class class_do_render_namumark:
|
|
|
self.render_data = '<div class="opennamu_render_complete">' + self.render_data + '</div>'
|
|
|
|
|
|
def __call__(self):
|
|
|
- print([self.render_data])
|
|
|
-
|
|
|
self.do_render_include_default()
|
|
|
self.do_render_slash()
|
|
|
self.do_render_redirect()
|
|
|
@@ -1279,8 +1393,6 @@ class class_do_render_namumark:
|
|
|
self.do_render_heading()
|
|
|
self.do_render_last()
|
|
|
|
|
|
- print([self.render_data])
|
|
|
-
|
|
|
# print(self.data_temp_storage)
|
|
|
# print(self.render_data)
|
|
|
|