', line)
if match:
text = match.group(1)
line = line.replace(f'
←<', '>
←
<')
if '
' in line:
# Next lines until
in_circle = True
result.append(line)
continue
if 'success-circle' in ''.join(result[-3:]) and in_circle and '
' in line:
# Wrap content between
idx = len(result) - 1
while idx >= 0 and '
' not in result[idx]:
idx -= 1
if idx >= 0:
# Found start, wrap everything between
circle_content = []
for i in range(idx + 1, len(result)):
circle_content.append(result[i].strip())
result = result[:idx+1]
text = '
'.join([c for c in circle_content if c])
result.append(f'
{text}
')
result.append(line)
in_circle = False
continue
result.append(line)
return '\n'.join(result)
# Simple fix: just wrap everything obvious
def simple_wrap(filepath):
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
# Fix date
content = re.sub(r'
📅([^<]+)
',
r'
', content)
# Fix role-title
content = re.sub(r'
([^<]+)
',
r'
', content)
# Fix arrows
content = content.replace('
\n →\n
',
'
')
content = content.replace('
\n ←\n
',
'
')
content = content.replace('
\n ↓\n
',
'
')
# Fix success circle
content = re.sub(r'
\s*期中\s*
\s*成功\s*
',
'
', content, flags=re.DOTALL)
with open(filepath, 'w', encoding='utf-8') as f:
f.write(content)
print(f"Fixed: {filepath}")
# Process slide7
simple_wrap('slides/slide7_midterm.html')
simple_wrap('slides/slide8_commitment.html')