模块:Dictionary-Complete.lua:修订间差异

来自「荏苒之境」
无编辑摘要
无编辑摘要
第1行: 第1行:
local dict_views = require("Module:Dictionary-Views.lua")
local dict_views = require("Module:Dictionary-Views.lua")
local dict_utils = require("Module:Dictionary-Utils.lua")
local DICT_TABLE = dict_views.TABLE
local DICT_TABLE = dict_views.TABLE
local cargo = mw.ext.cargo
local cargo = mw.ext.cargo


第10行: 第11行:
     local dictPage = frame.args.dictionaryPage
     local dictPage = frame.args.dictionaryPage


     local rows = cargo.query(DICT_TABLE, "Spelling,Definition,Extra", {
     local query = cargo.query(DICT_TABLE, "Spelling,Definition,Extra", {
         where = string.format([[Language="%s"]], language),
         where = string.format([[Language="%s"]], language),
         limit = 100000
         limit = 100000
     })
     })


     local word_start = rows[1].Spelling == "__META__" and 2 or 1
     local headers = dict_utils.expand_row(query[1])
    local extra_count = #headers - 2
    local rows = {}
     local template_head = "{{词典条目|语言标识码="..language.."|拼写="
     local template_head = "{{词典条目|语言标识码="..language.."|拼写="


     for i = word_start, #rows do
     for i = 2, #query do
         local row = rows[i]
         local row = dict_utils.expand_row(query[i], extra_count)
         local entry_page = dictPage.."/"..row.Spelling
         local entry_page = dictPage.."/"..row.Spelling
         row.Spelling = "[["..entry_page.."|"..row.Spelling.."]]"
 
         mw.site.createPage(entry_page, template_head..row.Spelling.."}}")
         row[1] = "[["..entry_page.."|"..row[1].."]]"
        rows[i - 1] = row
 
         mw.site.createPage(
            entry_page, template_head..row.Spelling.."}}")
     end
     end


     return dict_views.vocabulary(rows)
     return dict_views.vocabulary(headers, rows)
end
end


return complete
return complete

2025年8月4日 (一) 18:13的版本

此模块的文档可以在模块:Dictionary-Complete.lua/doc创建

local dict_views = require("Module:Dictionary-Views.lua")
local dict_utils = require("Module:Dictionary-Utils.lua")

local DICT_TABLE = dict_views.TABLE
local cargo = mw.ext.cargo

local complete = {}

complete.show = function(frame)
    local language = frame.args.language
    local dictPage = frame.args.dictionaryPage

    local query = cargo.query(DICT_TABLE, "Spelling,Definition,Extra", {
        where = string.format([[Language="%s"]], language),
        limit = 100000
    })

    local headers = dict_utils.expand_row(query[1])
    local extra_count = #headers - 2
    local rows = {}
    local template_head = "{{词典条目|语言标识码="..language.."|拼写="

    for i = 2, #query do
        local row = dict_utils.expand_row(query[i], extra_count)
        local entry_page = dictPage.."/"..row.Spelling

        row[1] = "[["..entry_page.."|"..row[1].."]]"
        rows[i - 1] = row

        mw.site.createPage(
            entry_page, template_head..row.Spelling.."}}")
    end

    return dict_views.vocabulary(headers, rows)
end

return complete