<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.ifiander.cn/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3A%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8</id>
	<title>模块:单元列表 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ifiander.cn/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3A%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8"/>
	<link rel="alternate" type="text/html" href="https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8&amp;action=history"/>
	<updated>2026-07-29T11:47:15Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8&amp;diff=37&amp;oldid=prev</id>
		<title>2026年7月28日 (二) 10:23 Ander</title>
		<link rel="alternate" type="text/html" href="https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8&amp;diff=37&amp;oldid=prev"/>
		<updated>2026-07-28T10:23:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年7月28日 (二) 18:23的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;第48行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第48行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local html = &amp;#039;&amp;lt;div class=&amp;quot;as-page-header&amp;quot;&amp;gt;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local html = &amp;#039;&amp;lt;div class=&amp;quot;as-page-header&amp;quot;&amp;gt;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-page-label&amp;quot;&amp;gt;★ CHARACTER DATABASE&amp;lt;/div&amp;gt;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-page-label&amp;quot;&amp;gt;★ CHARACTER DATABASE&amp;lt;/div&amp;gt;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &#039;&amp;lt;div class=&quot;as-page-title&quot;&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;角色档案&lt;/del&gt;&amp;lt;/div&amp;gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &#039;&amp;lt;div class=&quot;as-page-title&quot;&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;单元（Unit）档案&lt;/ins&gt;&amp;lt;/div&amp;gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &#039;&amp;lt;div class=&quot;as-page-desc&quot;&amp;gt;Ander.System &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;世界中的所有角色资料与设定档案&lt;/del&gt;&amp;lt;/div&amp;gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &#039;&amp;lt;div class=&quot;as-page-desc&quot;&amp;gt;Ander.System &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;中的所有单元资料与设定档案&lt;/ins&gt;&amp;lt;/div&amp;gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l63&quot;&gt;第63行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第63行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- 全部角色卡片网格&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- 全部角色卡片网格&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     html = html .. &#039;&amp;lt;div class=&quot;as-section-label&quot; id=&quot;全部角色&quot;&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;全部角色&lt;/del&gt;&amp;lt;/div&amp;gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     html = html .. &#039;&amp;lt;div class=&quot;as-section-label&quot; id=&quot;全部角色&quot;&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;全部单元&lt;/ins&gt;&amp;lt;/div&amp;gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-grid&amp;quot;&amp;gt;&amp;#039;for _, char in ipairs(data) do&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-grid&amp;quot;&amp;gt;&amp;#039;for _, char in ipairs(data) do&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         html = html .. renderCard(char)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         html = html .. renderCard(char)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key andersyswiki:diff:1.41:old-35:rev-37:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Ander</name></author>
	</entry>
	<entry>
		<id>https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8&amp;diff=35&amp;oldid=prev</id>
		<title>Ander：​创建页面，内容为“-- Module:角色列表 local p = {} local data = mw.loadData(&quot;Module:单元列表/data&quot;)  -- 渲染单张卡片 local function renderCard(char)     local tags = &quot;&quot;     for _, tag in ipairs(char.tags or {}) do         tags = tags .. &#039;&lt;span class=&quot;as-tag&quot;&gt;&#039; .. tag .. &quot;&lt;/span&gt;&quot;     end     return &#039;&lt;div class=&quot;as-char-card&quot;&gt;&#039;         .. &#039;&lt;div class=&quot;as-char-card-body&quot;&gt;&#039;         .. &#039;&lt;div class=&quot;as-char-card-name&quot;&gt;&quot; .. char.name .. &quot;&lt;/div&gt;&quot;…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%8D%95%E5%85%83%E5%88%97%E8%A1%A8&amp;diff=35&amp;oldid=prev"/>
		<updated>2026-07-28T10:18:55Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“-- Module:角色列表 local p = {} local data = mw.loadData(&amp;quot;Module:单元列表/data&amp;quot;)  -- 渲染单张卡片 local function renderCard(char)     local tags = &amp;quot;&amp;quot;     for _, tag in ipairs(char.tags or {}) do         tags = tags .. &amp;#039;&amp;lt;span class=&amp;quot;as-tag&amp;quot;&amp;gt;&amp;#039; .. tag .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;     end     return &amp;#039;&amp;lt;div class=&amp;quot;as-char-card&amp;quot;&amp;gt;&amp;#039;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-body&amp;quot;&amp;gt;&amp;#039;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-name&amp;quot;&amp;gt;&lt;a href=&quot;/index.php?title=%27_.._char.page_.._%22&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;&amp;#039; .. char.page .. &amp;quot;（页面不存在）&quot;&gt;&amp;quot; .. char.name .. &amp;quot;&lt;/a&gt;&amp;lt;/div&amp;gt;&amp;quot;…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Module:角色列表&lt;br /&gt;
local p = {}&lt;br /&gt;
local data = mw.loadData(&amp;quot;Module:单元列表/data&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-- 渲染单张卡片&lt;br /&gt;
local function renderCard(char)&lt;br /&gt;
    local tags = &amp;quot;&amp;quot;&lt;br /&gt;
    for _, tag in ipairs(char.tags or {}) do&lt;br /&gt;
        tags = tags .. &amp;#039;&amp;lt;span class=&amp;quot;as-tag&amp;quot;&amp;gt;&amp;#039; .. tag .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;&amp;lt;div class=&amp;quot;as-char-card&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-body&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-name&amp;quot;&amp;gt;[[&amp;#039; .. char.page .. &amp;quot;|&amp;quot; .. char.name .. &amp;quot;]]&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-role&amp;quot;&amp;gt;&amp;#039; .. char.role .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-tags&amp;quot;&amp;gt;&amp;#039; .. tags .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-card-desc&amp;quot;&amp;gt;&amp;#039; .. char.desc .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 渲染单个列表行&lt;br /&gt;
local function renderListItem(char)&lt;br /&gt;
    return &amp;#039;&amp;lt;div class=&amp;quot;as-char-list-item&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-list-body&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-list-name&amp;quot;&amp;gt;[[&amp;#039; .. char.page .. &amp;quot;|&amp;quot; .. char.name .. &amp;quot;]]&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-list-meta&amp;quot;&amp;gt;&amp;#039; .. char.role .. &amp;quot; · &amp;quot; .. table.concat(char.tags or {}, &amp;quot; · &amp;quot;) .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-list-desc&amp;quot;&amp;gt;&amp;#039; .. char.desc .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 收集所有分类（保持顺序，去重）&lt;br /&gt;
local function getCategories()&lt;br /&gt;
    local seen = {}&lt;br /&gt;
    local cats = {}&lt;br /&gt;
    for _, char in ipairs(data) do&lt;br /&gt;
        if char.category and not seen[char.category] then&lt;br /&gt;
            seen[char.category] = true&lt;br /&gt;
            table.insert(cats, char.category)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return cats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 主入口：渲染完整角色列表页&lt;br /&gt;
function p.render(frame)&lt;br /&gt;
    local categories = getCategories()&lt;br /&gt;
&lt;br /&gt;
    -- 页面头部&lt;br /&gt;
    local html = &amp;#039;&amp;lt;div class=&amp;quot;as-page-header&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-page-label&amp;quot;&amp;gt;★ CHARACTER DATABASE&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-page-title&amp;quot;&amp;gt;角色档案&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-page-desc&amp;quot;&amp;gt;Ander.System 世界中的所有角色资料与设定档案&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    -- 筛选栏&lt;br /&gt;
    local tabs = &amp;#039;&amp;lt;span class=&amp;quot;as-filter-tab as-active&amp;quot;&amp;gt;全部&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
    for _, cat in ipairs(categories) do&lt;br /&gt;
        tabs = tabs .. &amp;#039;&amp;lt;span class=&amp;quot;as-filter-tab&amp;quot;&amp;gt;[[#&amp;#039; .. cat .. &amp;quot;|&amp;quot; .. cat .. &amp;quot;]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-filter-bar&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-filter-label&amp;quot;&amp;gt;分类筛选&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-filter-tabs&amp;quot;&amp;gt;&amp;#039; .. tabs .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    -- 全部角色卡片网格&lt;br /&gt;
    html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-section-label&amp;quot; id=&amp;quot;全部角色&amp;quot;&amp;gt;全部角色&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
    html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-grid&amp;quot;&amp;gt;&amp;#039;for _, char in ipairs(data) do&lt;br /&gt;
        html = html .. renderCard(char)&lt;br /&gt;
    end&lt;br /&gt;
    html = html .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    -- 按分类输出列表&lt;br /&gt;
    for _, cat in ipairs(categories) do&lt;br /&gt;
        html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-section-label&amp;quot; id=&amp;quot;&amp;#039; .. cat .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. cat .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        html = html .. &amp;#039;&amp;lt;div class=&amp;quot;as-char-list&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        for _, char in ipairs(data) do&lt;br /&gt;
            if char.category == cat then&lt;br /&gt;
                html = html .. renderListItem(char)&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        html = html .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return html&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Ander</name></author>
	</entry>
</feed>