import os, html

BASE = r"e:\TRAE\生成式X\lecture1"

def nav_label(t):
    t = t.replace('<strong>','').replace('</strong>','').replace('<br>',' ').replace('(一)','').replace('(二)','')
    if len(t) > 18: t = t[:16] + '…'
    return t

def make_slide(num, total, title, content, prev_title='', next_title=''):
    first = num == 1
    last = num == total
    prev_btn = f'<span class="nav-btn nav-disabled">◀</span>' if first else f'<a class="nav-btn" href="1.{num-1}.html" title="上一页">◀</a>'
    next_btn = f'<span class="nav-btn nav-disabled">▶</span>' if last else f'<a class="nav-btn" href="1.{num+1}.html" title="下一页">▶</a>'
    prev_label = nav_label(prev_title) if prev_title else ''
    next_label = nav_label(next_title) if next_title else ''
    title_html = '' if not title else f'<div class="slide-title">{html.escape(title)}</div>'

    key_left = '' if first else f"if(e.key==='ArrowLeft') window.location.href='1.{num-1}.html';"
    key_right = '' if last else f"if(e.key==='ArrowRight') window.location.href='1.{num+1}.html';"
    key_sep = ' ' if key_left and key_right else ''

    return f'''<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Slide 1.{num}</title>
<link rel="stylesheet" href="../styles.css">
</head>
<body>
<div class="logo-bar"><img src="../logo.png" alt="Logo"><span class="logo-label">生成式大模型 · 法学通识讲座</span></div>
<div class="slide-breadcrumb"><a href="../index.html">主页</a> / <a href="index.html">第一节课</a> / <span>1.{num}</span></div>
<div class="single-slide-page">
<div class="single-slide-wrapper">
<div class="slide-card">
<div class="slide-number">Slide 1.{num}</div>
{title_html}
<div class="slide-content">
{content}
</div>
</div>
</div>
<div class="single-nav-bar">
{prev_btn}
<div><span class="nav-label prev-label">{prev_label}</span></div>
<span class="nav-info">1.{num} / {total}</span>
<div><span class="nav-label next-label">{next_label}</span></div>
{next_btn}
</div>
<div class="kbd-hint">键盘 <kbd>←</kbd> <kbd>→</kbd> 快速翻页</div>
</div>
<script>
document.addEventListener('keydown',e=>{{
{key_left}{key_sep}{key_right}
}});
</script>
</body>
</html>'''

def tag(c, t): return f'<span class="tag tag-{c}">{t}</span>'
def info(t): return f'<div class="info-box">{t}</div>'
def danger(t): return f'<div class="danger-box">{t}</div>'
def quote(t): return f'<div class="quote-block" style="font-style:normal;">{t}</div>'
def grid2(a,b): return f'<div class="grid-2"><div class="card-mini">{a}</div><div class="card-mini">{b}</div></div>'
def grid3(a,b,c): return f'<div class="grid-3"><div class="card-mini">{a}</div><div class="card-mini">{b}</div><div class="card-mini">{c}</div></div>'
def mini(t): return f'<div class="card-mini">{t}</div>'
def table(rows):
    s = '<table>'
    for i,r in enumerate(rows):
        tag_cell = 'th' if i == 0 else 'td'
        s += '<tr>' + ''.join(f'<{tag_cell}>{c}</{tag_cell}>' for c in r) + '</tr>'
    s += '</table>'
    return s

# =====