Module:图书排版:修订间差异
删除的内容 添加的内容
以 heti 官方规则为底补齐版式类,并把版式改为模板参数开关({{图书排版|行间注}} 等) |
以 heti 官方规则为底补齐版式类,并把版式改为模板参数开关({{图书排版|行间注}} 等) |
||
第6行:
1) 收集全部位置参数,因此支持叠加:{{图书排版|古籍|楷体}}
→ <div class="tushu-body heti--ancient heti--kai">。
重复的类名会被去重(|诗词|诗栏 这类重叠写法不会产出重复类)。
2) 容器类一律沿用 heti 官方类名(.heti--*),不另造前缀。
例外:|诗栏 是便捷组合,展开为「诗词 + 双栏」两个类,其左对齐由样式表另行处理。
3) **总是输出基础容器 tushu-body**(即使一个参数都没传)。原因:153 个页面已于
2026-09 加上 {{图书排版/尾}},若模板不输出容器,那些 </div> 会变成孤立的
闭合标签而破坏页面结构。容器本身不带
4) 竖排(|竖排 / .heti--vertical)及其锚点、横直排切换条已于 2026-09 移除。
样式表内的 .heti--vertical 官方类仍保留,页面手写 <div class="heti--vertical">
第18行 ⟶ 第20行:
local p = {}
-- 参数 → 容器类(中文为主,英文为别名)。值可以含多个类名,用空格分隔。
local CLASS = {
['行间注'] = 'heti--annotation', ['annotation'] = 'heti--annotation',
第28行 ⟶ 第30行:
['三栏'] = 'heti--columns-3', ['columns-3'] = 'heti--columns-3',
['四栏'] = 'heti--columns-4', ['columns-4'] = 'heti--columns-4',
-- 便捷组合:分栏诗词。诗句左对齐(样式表对「诗词 + 多栏」另有对齐规则)
['诗栏'] = 'heti--poetry heti--columns-2', ['shilan'] = 'heti--poetry heti--columns-2',
}
function p.main(frame)
local args = frame:getParent().args
local
for _, v in ipairs(args) do
local key = mw.text.trim(v)
if key ~= '' and val then
-- 展开为单个类名后按名去重,避免 |诗词|诗栏 产生重复类
for cls in val:gmatch('%S+') do
if not seen[cls] then
seen[cls] = true
ordered[#ordered + 1] = cls
end
end
end
end
-- 基础容器始终在前
local cls = { 'tushu-body' }
for _, c in ipairs(
cls[#cls + 1] = c
end
| |||