<?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%90%8D%E8%A8%80%E6%9D%BF</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%90%8D%E8%A8%80%E6%9D%BF"/>
	<link rel="alternate" type="text/html" href="https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%90%8D%E8%A8%80%E6%9D%BF&amp;action=history"/>
	<updated>2026-07-29T11:46:53Z</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%90%8D%E8%A8%80%E6%9D%BF&amp;diff=47&amp;oldid=prev</id>
		<title>Ander：​创建页面，内容为“-- Module:名言板 local p = {} local data = mw.loadData(&quot;Module:名言板/data&quot;)  -- 渲染单条名言卡片 local function renderQuote(item)     return &#039;&lt;div class=&quot;as-quote-card&quot;&gt;&#039;         .. &#039;&lt;div class=&quot;as-quote-mark&quot;&gt;“&lt;/div&gt;&#039;         .. &#039;&lt;div class=&quot;as-quote-text&quot;&gt;&#039; .. item.quote .. &quot;&lt;/div&gt;&quot;         .. &#039;&lt;div class=&quot;as-quote-author&quot;&gt;—— &quot; .. item.author .. &quot;&lt;/div&gt;&quot;         .. &#039;&lt;div class=&quot;as-quote-cat&quot;&gt;&lt;span class=&quot;as-tag&quot;&gt;&#039;…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.ifiander.cn/index.php?title=%E6%A8%A1%E5%9D%97:%E5%90%8D%E8%A8%80%E6%9D%BF&amp;diff=47&amp;oldid=prev"/>
		<updated>2026-07-28T14:53:46Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“-- Module:名言板 local p = {} local data = mw.loadData(&amp;quot;Module:名言板/data&amp;quot;)  -- 渲染单条名言卡片 local function renderQuote(item)     return &amp;#039;&amp;lt;div class=&amp;quot;as-quote-card&amp;quot;&amp;gt;&amp;#039;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-mark&amp;quot;&amp;gt;“&amp;lt;/div&amp;gt;&amp;#039;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-text&amp;quot;&amp;gt;&amp;#039; .. item.quote .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-author&amp;quot;&amp;gt;—— &lt;a href=&quot;/index.php?title=%27_.._item.page_.._%22&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;&amp;#039; .. item.page .. &amp;quot;（页面不存在）&quot;&gt;&amp;quot; .. item.author .. &amp;quot;&lt;/a&gt;&amp;lt;/div&amp;gt;&amp;quot;         .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-cat&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;as-tag&amp;quot;&amp;gt;&amp;#039;…”&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 renderQuote(item)&lt;br /&gt;
    return &amp;#039;&amp;lt;div class=&amp;quot;as-quote-card&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-mark&amp;quot;&amp;gt;“&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-text&amp;quot;&amp;gt;&amp;#039; .. item.quote .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-author&amp;quot;&amp;gt;—— [[&amp;#039; .. item.page .. &amp;quot;|&amp;quot; .. item.author .. &amp;quot;]]&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;#039;&amp;lt;div class=&amp;quot;as-quote-cat&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;as-tag&amp;quot;&amp;gt;&amp;#039; .. item.category .. &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
        .. &amp;quot;&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 _, item in ipairs(data) do&lt;br /&gt;
        if item.category and not seen[item.category] then&lt;br /&gt;
            seen[item.category] = true&lt;br /&gt;
            table.insert(cats, item.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;★ QUOTE BOARD&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-quote-grid&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    for _, item in ipairs(data) do&lt;br /&gt;
        html = html .. renderQuote(item)&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-quote-grid&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
        for _, item in ipairs(data) do&lt;br /&gt;
            if item.category == cat then&lt;br /&gt;
                html = html .. renderQuote(item)&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>