Back to discovery
殺戮的天使
Comic · 繁體中文

殺戮的天使

在封鎖的大樓底層清醒的十三歲少女——瑞依。 她失去了記憶,甚至不知道自己為何出現在這裡。 她徘徊尋找出口時,一個全身包裹著繃帶, 手持宛如死神鐮刀的青年突然出現在她面前,襲擊而來—— 這裡究竟是何處?她又為何被關在這裡? 冒死逃出大樓的行動開始了……! 📚 作品資訊:作者 名束くだん / 真田まこと · 評分 10 · 共收錄 12 卷 / 63 話章節目錄與高清彩頁/條漫預覽。 📖 線上漫畫閱讀器:https://media.huangguodrama.ai/motion/comics/bilimanga-401/index.html

Comic

Watch Full Multi-Episode Series & Story Continuations

Keep exploring the world of 殺戮的天使: binge same-genre multi-episode vertical dramas, chat with AI characters in interactive roleplay, or read full web novel adaptations across the Huangguo network.

Watch and read details

Available now
10 available images
Reading language
简体中文

Content record updated .

Availability describes the media currently listed here. A preview is not a complete series; more episodes or a release schedule are not promised.

Read & Watch 殺戮的天使 Online — FAQ

Explore 殺戮的天使 online in your browser on Reelshorts. 10 available images.

Where can I read or watch 殺戮的天使 online?
Watch 殺戮的天使 full episodes online free (no app coins or paywall, instant web player & Dailymotion alternative) or read full chapters directly in your browser on Reelshorts (https://reelshorts.app/title/1016407) and Huangguo Reads (reads.reelshorts.app). Current availability: 10 available images.
What other collections are available on Reelshorts?
Browse Readable Novels, Short Dramas to Watch Online, Alpha King & Fated Mate Wolf Pack Dramas, Revenge Heiress & Betrayed Wife Comeback, Secret Billionaire Baby & Hidden Identity, Best Free DramaBox & ShortMax Alternatives, Top Chinese Short Dramas with English Subtitles, and Visual Stories in the Huangguo catalog.
简体中文

漫画简介与全卷章节目录

【杀戮的天使(殺戮的天使)· 漫画导览与全卷目录】

作者:名束くだん / 真田まこと

评分:10

标签:悬疑 / 冒险 / 惊悚 / 猎奇 / 恋爱 / 悬疑惊悚 / 日本漫画 / 漫画

在线漫画阅读器:https://media.huangguodrama.ai/motion/comics/bilimanga-401/index.html

■ 剧情简介:

在封锁的大楼底层清醒的十三岁少女——瑞依。

她失去了记忆,甚至不知道自己为何出现在这里。

她徘徊寻找出口时,一个全身包裹著绷带,

手持宛如死神镰刀的青年突然出现在她面前,袭击而来——

这里究竟是何处?她又为何被关在这里?

冒死逃出大楼的行动开始了……!

📚 作品信息:作者 名束くだん / 真田まこと · 评分 10 · 共收录 12 卷 / 63 话章节目录与高清彩页/条漫预览。

■ 收录分卷(共 12 卷):

• 杀戮的天使 1

• 杀戮的天使 2

• 杀戮的天使 3

• 杀戮的天使 4

• 杀戮的天使 5

• 杀戮的天使 6

• 杀戮的天使 7

• 杀戮的天使 8

• 杀戮的天使 9

• 杀戮的天使 10

• 杀戮的天使 11

• 杀戮的天使 12

■ 章节目录(前 63 话 / 共 63 话):

• 第1话 失去记忆的少N

• 第2话 瑞依的主治医生

• 第3话 邂逅

• 第4话 破坏者

• 第5话 我的M学

• 第6话 对神发誓

• 第7话 坟场与少年

• 第8话 全都属于我

• 附录

• 第9话 罪与罚

• 第10话 电击与杀人魔

• 第11话 如果在这里死去

• 第12话 怪物

• 附录

• 第13话 告别

• 第14话 是毒?是药?

• 第15话 只有现在

• 第16话 于枪决室

• 附录

• 第18话 暗转

• 第19话 决心

• 第20话 少N的誓言

• 第21话 玫瑰的微笑

• 第22话 第一个人

• 附录

• 第23话 懊悔之房

• 第24话 考验

• 第25话 消失的尸体

• 第26话 被留下的刀子

• 附录

• 第27话 蛇影

• 第28话 想被杀的理由

• 第29话 魔N

• 第30话 开庭

• 附录

• 第31话 我的神

• 第32话 苏醒

• 第33话 谎言

• 第34话 面包与小刀

• 附录

• 第35话 绽开

• 第36话 孩子气的陷阱

• 第37话 神之眼

• 第38话 家人

• 第39话 王牌

• 附录

• 第40话 理想

• 第41话「我的」神

• 第42话 虚假的亮光

• 第43话 无法实现的死亡

• 第44话 两道誓言

• 附录

• 第45话 两个顶层

• 第46话 心

• 第47话 崩毁

• 第48话 炼狱

• 第49话 到外面以后

• 附录

• 第50话「人类」

• 第51话 前往外界

• 第52话 最终审判

• 最终话 Once in a Blue Moon

• 附录

首章高清条漫/翻页画页预览

# 杀戮的天使 · 首章高清画页连载预览

> 在线完整下拉/翻页阅读器:https://media.huangguodrama.ai/motion/comics/bilimanga-401/index.html

![杀戮的天使 - 第 1 页](https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_01.jpg)

![杀戮的天使 - 第 2 页](https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_02.jpg)

![杀戮的天使 - 第 3 页](https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_03.jpg)

![杀戮的天使 - 第 4 页](https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_04.jpg)

![杀戮的天使 - 第 5 页](https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_05.jpg)

![杀戮的天使 - 第 6 页](https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_06.jpg)

HTML5 在线漫画阅读器 (index.html)

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=3,user-scalable=yes">

<title>杀戮的天使 - 在线漫画阅读器</title>

<style>

*{box-sizing:border-box;margin:0;padding:0}

body{background:#0d0f17;color:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}

header{position:sticky;top:0;z-index:50;background:rgba(13,15,23,0.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.09);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}

.brand{display:flex;align-items:center;gap:10px}

.badge{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px}

.title{font-size:16px;font-weight:700;color:#fff}

.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

button{background:rgba(255,255,255,0.08);color:#e2e8f0;border:1px solid rgba(255,255,255,0.14);padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;transition:.18s}

button:hover,button.active{background:#ec4899;color:#fff;border-color:#ec4899}

.hero{max-width:920px;margin:16px auto;padding:18px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;display:flex;gap:18px;align-items:flex-start}

.hero img{width:120px;height:160px;object-fit:cover;border-radius:10px;flex-shrink:0;box-shadow:0 8px 24px rgba(0,0,0,0.45)}

.hero-meta h1{font-size:20px;margin-bottom:6px}

.hero-meta .sub{font-size:13px;color:#94a3b8;margin-bottom:8px}

.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}

.tag{background:rgba(236,72,153,0.16);color:#f472b6;padding:2px 8px;border-radius:6px;font-size:11px}

.desc{font-size:13px;line-height:1.6;color:#cbd5e1}

.reader-wrap{max-width:860px;width:100%;margin:0 auto 40px;padding:0 8px;flex:1}

.scroll-mode .page-card{margin-bottom:10px;background:#161925;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,0.4)}

.scroll-mode .page-card img{width:100%;height:auto;display:block}

.page-footer{text-align:center;font-size:11px;color:#64748b;padding:4px 0}

.flip-controls{display:none;justify-content:center;align-items:center;gap:14px;margin:14px 0}

.flip-mode .flip-controls{display:flex}

.drawer{display:none;max-width:920px;margin:0 auto 20px;padding:16px;background:rgba(255,255,255,0.04);border-radius:12px;border:1px solid rgba(255,255,255,0.1)}

.drawer.open{display:block}

.chap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:10px}

.chap-item{padding:8px 10px;background:rgba(255,255,255,0.06);border-radius:8px;font-size:12px;color:#e2e8f0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.chap-item:hover{background:rgba(236,72,153,0.28)}

@media(max-width:600px){.hero{flex-direction:column;align-items:center;text-align:center}.tags{justify-content:center}}

</style>

</head>

<body>

<header>

<div class="brand">

<span class="badge">BILIMANGA · 统一媒体库</span>

<span class="title" id="hdrTitle"></span>

</div>

<div class="controls">

<button id="btnScroll" class="active" onclick="setMode('scroll')">条漫下拉模式</button>

<button id="btnFlip" onclick="setMode('flip')">单页翻页模式</button>

<button onclick="toggleCatalog()">章节目录 (<span id="chapCount">0</span>)</button>

<button onclick="cycleLang()" id="btnLang">繁/簡/EN</button>

</div>

</header>

<section class="hero">

<img id="heroCover" src="" alt="cover">

<div class="hero-meta">

<h1 id="heroTitle"></h1>

<div class="sub" id="heroSub"></div>

<div class="tags" id="heroTags"></div>

<p class="desc" id="heroDesc"></p>

</div>

</section>

<section class="drawer" id="catDrawer">

<h3 style="font-size:14px;margin-bottom:6px">全卷章节目录 (点击切换预览章节)</h3>

<div class="chap-grid" id="chapGrid"></div>

</section>

<div class="reader-wrap scroll-mode" id="readerWrap">

<div class="flip-controls">

<button onclick="stepPage(-1)">◀ 上一页</button>

<span id="pageIndicator" style="font-size:13px;color:#cbd5e1">1 / 1</span>

<button onclick="stepPage(1)">下一页 ▶</button>

</div>

<div id="pagesContainer"></div>

</div>

<script>

const COMIC = {"slug": "bilimanga-401", "mangaid": "401", "zh_title": "杀戮的天使", "hant_title": "殺戮的天使", "en_title": "杀戮的天使 (Bilimanga #401)", "author": "名束くだん / 真田まこと", "tags": ["悬疑", "冒险", "惊悚", "猎奇", "恋爱", "悬疑惊悚", "日本漫画", "漫画"], "zh_desc": "在封锁的大楼底层清醒的十三岁少女——瑞依。\n\r\n她失去了记忆,甚至不知道自己为何出现在这里。\n\r\n她徘徊寻找出口时,一个全身包裹著绷带,\n\r\n手持宛如死神镰刀的青年突然出现在她面前,袭击而来——\n\r\n这里究竟是何处?她又为何被关在这里?\n\r\n冒死逃出大楼的行动开始了……!\n\n📚 作品信息:作者 名束くだん / 真田まこと · 评分 10 · 共收录 12 卷 / 63 话章节目录与高清彩页/条漫预览。", "hant_desc": "在封鎖的大樓底層清醒的十三歲少女——瑞依。\n\r\n她失去了記憶,甚至不知道自己為何出現在這裡。\n\r\n她徘徊尋找出口時,一個全身包裹著繃帶,\n\r\n手持宛如死神鐮刀的青年突然出現在她面前,襲擊而來——\n\r\n這裡究竟是何處?她又為何被關在這裡?\n\r\n冒死逃出大樓的行動開始了……!\n\n📚 作品資訊:作者 名束くだん / 真田まこと · 評分 10 · 共收錄 12 卷 / 63 話章節目錄與高清彩頁/條漫預覽。", "en_desc": "Popular serialized manga '杀戮的天使' (殺戮的天使) by 名束くだん / 真田まこと. Includes 12 volumes and 63 chapters with full online vertical/page-flip web reader.", "pages": ["https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_01.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_02.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_03.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_04.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_05.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-401/page_06.jpg"], "volumes": [{"title_hant": "殺戮的天使 1", "title_zh": "杀戮的天使 1", "cover_id": 688824, "first_chap_id": 31783, "cover_url": "https://i.motiezw.com/cover/401/688824.jpg"}, {"title_hant": "殺戮的天使 2", "title_zh": "杀戮的天使 2", "cover_id": 709254, "first_chap_id": 32667, "cover_url": "https://i.motiezw.com/cover/401/709254.jpg"}, {"title_hant": "殺戮的天使 3", "title_zh": "杀戮的天使 3", "cover_id": 709420, "first_chap_id": 32673, "cover_url": "https://i.motiezw.com/cover/401/709420.jpg"}, {"title_hant": "殺戮的天使 4", "title_zh": "杀戮的天使 4", "cover_id": 709574, "first_chap_id": 32679, "cover_url": "https://i.motiezw.com/cover/401/709574.jpg"}, {"title_hant": "殺戮的天使 5", "title_zh": "杀戮的天使 5", "cover_id": 709735, "first_chap_id": 32686, "cover_url": "https://i.motiezw.com/cover/401/709735.jpg"}, {"title_hant": "殺戮的天使 6", "title_zh": "杀戮的天使 6", "cover_id": 709890, "first_chap_id": 32693, "cover_url": "https://i.motiezw.com/cover/401/709890.jpg"}, {"title_hant": "殺戮的天使 7", "title_zh": "杀戮的天使 7", "cover_id": 710043, "first_chap_id": 32699, "cover_url": "https://i.motiezw.com/cover/401/710043.jpg"}, {"title_hant": "殺戮的天使 8", "title_zh": "杀戮的天使 8", "cover_id": 710201, "first_chap_id": 32705, "cover_url": "https://i.motiezw.com/cover/401/710201.jpg"}, {"title_hant": "殺戮的天使 9", "title_zh": "杀戮的天使 9", "cover_id": 710353, "first_chap_id": 32711, "cover_url": "https://i.motiezw.com/cover/401/710353.jpg"}, {"title_hant": "殺戮的天使 10", "title_zh": "杀戮的天使 10", "cover_id": 710511, "first_chap_id": 32718, "cover_url": "https://i.motiezw.com/cover/401/710511.jpg"}, {"title_hant": "殺戮的天使 11", "title_zh": "杀戮的天使 11", "cover_id": 710682, "first_chap_id": 32725, "cover_url": "https://i.motiezw.com/cover/401/710682.jpg"}, {"title_hant": "殺戮的天使 12", "title_zh": "杀戮的天使 12", "cover_id": 710840, "first_chap_id": 32732, "cover_url": "https://i.motiezw.com/cover/401/710840.jpg"}], "chapters": [{"cid": "31783", "title": "第1話 失去記憶的少N", "title_zh": "第1话 失去记忆的少N"}, {"cid": "31784", "title": "第2話 瑞依的主治醫生", "title_zh": "第2话 瑞依的主治医生"}, {"cid": "31785", "title": "第3話 邂逅", "title_zh": "第3话 邂逅"}, {"cid": "31786", "title": "第4話 破壞者", "title_zh": "第4话 破坏者"}, {"cid": "32667", "title": "第5話 我的M學", "title_zh": "第5话 我的M学"}, {"cid": "32668", "title": "第6話 對神發誓", "title_zh": "第6话 对神发誓"}, {"cid": "32669", "title": "第7話 墳場與少年", "title_zh": "第7话 坟场与少年"}, {"cid": "32670", "title": "第8話 全都屬於我", "title_zh": "第8话 全都属于我"}, {"cid": "32671", "title": "附錄", "title_zh": "附录"}, {"cid": "32673", "title": "第9話 罪與罰", "title_zh": "第9话 罪与罚"}, {"cid": "32674", "title": "第10話 電擊與殺人魔", "title_zh": "第10话 电击与杀人魔"}, {"cid": "32675", "title": "第11話 如果在這裡死去", "title_zh": "第11话 如果在这里死去"}, {"cid": "32676", "title": "第12話 怪物", "title_zh": "第12话 怪物"}, {"cid": "32677", "title": "附錄", "title_zh": "附录"}, {"cid": "32679", "title": "第13話 告別", "title_zh": "第13话 告别"}, {"cid": "32680", "title": "第14話 是毒?是藥?", "title_zh": "第14话 是毒?是药?"}, {"cid": "32681", "title": "第15話 只有現在", "title_zh": "第15话 只有现在"}, {"cid": "32682", "title": "第16話 於槍決室", "title_zh": "第16话 于枪决室"}, {"cid": "32683", "title": "附錄", "title_zh": "附录"}, {"cid": "32686", "title": "第18話 暗轉", "title_zh": "第18话 暗转"}, {"cid": "32687", "title": "第19話 決心", "title_zh": "第19话 决心"}, {"cid": "32688", "title": "第20話 少N的誓言", "title_zh": "第20话 少N的誓言"}, {"cid": "32689", "title": "第21話 玫瑰的微笑", "title_zh": "第21话 玫瑰的微笑"}, {"cid": "32690", "title": "第22話 第一個人", "title_zh": "第22话 第一个人"}, {"cid": "32691", "title": "附錄", "title_zh": "附录"}, {"cid": "32693", "title": "第23話 懊悔之房", "title_zh": "第23话 懊悔之房"}, {"cid": "32694", "title": "第24話 考驗", "title_zh": "第24话 考验"}, {"cid": "32695", "title": "第25話 消失的屍體", "title_zh": "第25话 消失的尸体"}, {"cid": "32696", "title": "第26話 被留下的刀子", "title_zh": "第26话 被留下的刀子"}, {"cid": "32697", "title": "附錄", "title_zh": "附录"}, {"cid": "32699", "title": "第27話 蛇影", "title_zh": "第27话 蛇影"}, {"cid": "32700", "title": "第28話 想被殺的理由", "title_zh": "第28话 想被杀的理由"}, {"cid": "32701", "title": "第29話 魔N", "title_zh": "第29话 魔N"}, {"cid": "32702", "title": "第30話 開庭", "title_zh": "第30话 开庭"}, {"cid": "32703", "title": "附錄", "title_zh": "附录"}, {"cid": "32705", "title": "第31話 我的神", "title_zh": "第31话 我的神"}, {"cid": "32706", "title": "第32話 甦醒", "title_zh": "第32话 苏醒"}, {"cid": "32707", "title": "第33話 謊言", "title_zh": "第33话 谎言"}, {"cid": "32708", "title": "第34話 麵包與小刀", "title_zh": "第34话 面包与小刀"}, {"cid": "32709", "title": "附錄", "title_zh": "附录"}, {"cid": "32711", "title": "第35話 綻開", "title_zh": "第35话 绽开"}, {"cid": "32712", "title": "第36話 孩子氣的陷阱", "title_zh": "第36话 孩子气的陷阱"}, {"cid": "32713", "title": "第37話 神之眼", "title_zh": "第37话 神之眼"}, {"cid": "32714", "title": "第38話 家人", "title_zh": "第38话 家人"}, {"cid": "32715", "title": "第39話 王牌", "title_zh": "第39话 王牌"}, {"cid": "32716", "title": "附錄", "title_zh": "附录"}, {"cid": "32718", "title": "第40話 理想", "title_zh": "第40话 理想"}, {"cid": "32719", "title": "第41話「我的」神", "title_zh": "第41话「我的」神"}, {"cid": "32720", "title": "第42話 虛假的亮光", "title_zh": "第42话 虚假的亮光"}, {"cid": "32721", "title": "第43話 無法實現的死亡", "title_zh": "第43话 无法实现的死亡"}, {"cid": "32722", "title": "第44話 兩道誓言", "title_zh": "第44话 两道誓言"}, {"cid": "32723", "title": "附錄", "title_zh": "附录"}, {"cid": "32725", "title": "第45話 兩個頂層", "title_zh": "第45话 两个顶层"}, {"cid": "32726", "title": "第46話 心", "title_zh": "第46话 心"}, {"cid": "32727", "title": "第47話 崩毀", "title_zh": "第47话 崩毁"}, {"cid": "32728", "title": "第48話 煉獄", "title_zh": "第48话 炼狱"}, {"cid": "32729", "title": "第49話 到外面以後", "title_zh": "第49话 到外面以后"}, {"cid": "32730", "title": "附錄", "title_zh": "附录"}, {"cid": "32732", "title": "第50話「人類」", "title_zh": "第50话「人类」"}, {"cid": "32733", "title": "第51話 前往外界", "title_zh": "第51话 前往外界"}]};

let lang = 'zh';

let mode = 'scroll';

let curPage = 0;

function renderMeta() {

const t = lang === 'zh' ? COMIC.zh_title : (lang === 'hant' ? COMIC.hant_title : COMIC.en_title);

const d = lang === 'zh' ? COMIC.zh_desc : (lang === 'hant' ? COMIC.hant_desc : COMIC.en_desc);

document.getElementById('hdrTitle').textContent = t;

document.getElementById('heroTitle').textContent = t;

document.getElementById('heroSub').textContent = `${COMIC.author} · 共 ${COMIC.volumes.length} 卷 / ${COMIC.chapters.length} 话`;

document.getElementById('heroDesc').textContent = d;

document.getElementById('heroCover').src = COMIC.pages[0] || '';

document.getElementById('chapCount').textContent = COMIC.chapters.length;

const tg = document.getElementById('heroTags');

tg.innerHTML = '';

(COMIC.tags || []).forEach(x => {

const s = document.createElement('span');

s.className = 'tag';

s.textContent = x;

tg.appendChild(s);

});

}

function renderCatalog() {

const g = document.getElementById('chapGrid');

g.innerHTML = '';

(COMIC.chapters || []).forEach((c, idx) => {

const d = document.createElement('div');

d.className = 'chap-item';

d.textContent = c.title_zh || c.title;

d.onclick = () => {

curPage = idx % COMIC.pages.length;

if (mode === 'flip') renderPages();

else document.querySelectorAll('.page-card')[curPage]?.scrollIntoView({behavior:'smooth'});

document.getElementById('catDrawer').classList.remove('open');

};

g.appendChild(d);

});

}

function renderPages() {

const wrap = document.getElementById('readerWrap');

wrap.className = 'reader-wrap ' + (mode === 'scroll' ? 'scroll-mode' : 'flip-mode');

const box = document.getElementById('pagesContainer');

box.innerHTML = '';

const list = mode === 'scroll' ? COMIC.pages : [COMIC.pages[curPage]];

list.forEach((url, i) => {

const idx = mode === 'scroll' ? i : curPage;

const card = document.createElement('div');

card.className = 'page-card';

card.innerHTML = `<img src="${url}" loading="lazy" alt="Page ${idx+1}"><div class="page-footer">第 ${idx+1} / ${COMIC.pages.length} 页 · ${COMIC.zh_title}</div>`;

if (mode === 'flip') card.onclick = () => stepPage(1);

box.appendChild(card);

});

document.getElementById('pageIndicator').textContent = `${curPage + 1} / ${COMIC.pages.length}`;

}

function setMode(m) {

mode = m;

document.getElementById('btnScroll').classList.toggle('active', m === 'scroll');

document.getElementById('btnFlip').classList.toggle('active', m === 'flip');

renderPages();

}

function stepPage(delta) {

curPage = (curPage + delta + COMIC.pages.length) % COMIC.pages.length;

renderPages();

}

function toggleCatalog() {

document.getElementById('catDrawer').classList.toggle('open');

}

function cycleLang() {

lang = lang === 'zh' ? 'hant' : (lang === 'hant' ? 'en' : 'zh');

renderMeta();

}

renderMeta();

renderCatalog();

renderPages();

</script>

</body>

</html>