Module:Book: Difference between revisions
From Eli's Software Encyclopedia
mNo edit summary |
mNo edit summary |
||
| Line 14: | Line 14: | ||
local titleObj = mw.title.getCurrentTitle() | local titleObj = mw.title.getCurrentTitle() | ||
local args = frame:getParent().args or {} | local args = frame:getParent().args or {} | ||
local booktitle = args['booktitle'] | local booktitle = args['booktitle'] or titleObj.text | ||
local authors = args['author'] or '' | local authors = args['author'] or '' | ||
local publisher = args['publisher'] or '' | local publisher = args['publisher'] or '' | ||
| Line 24: | Line 24: | ||
local country = args['country'] or '' | local country = args['country'] or '' | ||
local language = args['language'] or '' | local language = args['language'] or '' | ||
mw.smw.set{ | mw.smw.set{ | ||
Revision as of 11:48, August 19, 2025
Documentation for this module may be created at Module:Book/doc
local p = {}
local function splitValues(str, sep)
local result = {}
for part in raw:gmatch("[^" .. sep .. "]+") do
part = part:match("^%s*(.-)%s*$")
table.insert(result, part)
end
return result
end
function p.semanticStore(frame)
local titleObj = mw.title.getCurrentTitle()
local args = frame:getParent().args or {}
local booktitle = args['booktitle'] or titleObj.text
local authors = args['author'] or ''
local publisher = args['publisher'] or ''
local releaseDate = args['released'] or args['release date'] or ''
local genre = args['genre'] or ''
local isbn = args['ISBN'] or ''
local lcc = args['LCC'] or ''
local bookformat = args['format'] or ''
local country = args['country'] or ''
local language = args['language'] or ''
mw.smw.set{
'Has Title=' .. booktitle,
'Author=' .. authors,
'+sep=,',
'Publisher=' .. publisher,
'Release Date=' .. releaseDate,
'Genre=' .. genre,
'ISBN=' .. isbn,
'LCC=' .. lcc,
'Book Format=' .. bookformat,
'Country=' .. country,
'Language=' .. language
}
end
return p
