Jump to content

Module:SB: Difference between revisions

896 bytes added ,  14 April 2023
m
+language and translator
No edit summary
m (+language and translator)
 
(9 intermediate revisions by the same user not shown)
Line 4: Line 4:
local id = frame.args['volume'] .. '-' .. frame.args['page'] .. '-' .. frame.args['item']
local id = frame.args['volume'] .. '-' .. frame.args['page'] .. '-' .. frame.args['item']
     return id
     return id
end
local function isempty(s)
  return s == nil or s == ''
end
end


Line 26: Line 30:
end
end


-- Create unique ID for the item, which consist of: Volume-Page-Item_on_page
-- Create footnote with item summary and notes by editor and archivist
-- ID example: 01-017-03
-- View: TITLE by AUTHOR (signed as AUTHOR_SIGNED), SOURCE_TITLE, SOURCE_DETAILS.
-- Call example: {{#invoke: SB | item_id | volume=1 | page=17 | item=3 }}
-- Translated from LANGUAGE by TRANSLATOR. NOTES. ARCHIVIST_NOTES.
-- Values: volume=1..99, page=1..999, item=1..99
function sb.footnote( frame )
function sb.footnote( frame )
local str = ''
local str = ''


if frame.args['author'] > 0 then
if not isempty(frame.args['title']) then
str = 'by ' .. frame.args['author']
str = '<i>' .. frame.args['title'] .. '</i>'
end
 
if not isempty(frame.args['author']) then
str = str .. ' by ' .. frame.args['author']
else  
else  
str = 'by unknown author'
if not isempty(frame.args['title']) then
str = str .. ' by unknown author'
else
str = str .. frame.args['type'] .. ' by unknown author'
end
end
 
if not isempty(frame.args['author_signed']) then
str = str .. ' (signed as ' .. frame.args['author_signed'] .. ')'
end
end


if frame.args['archivist_notes'] > 0 then
if not isempty(frame.args['source_title']) then
str = 'by ' .. frame.args['author']
str = str .. ', <i>' .. frame.args['source_title'] .. '</i>'
else
end
str = 'by unknown author'
 
if not isempty(frame.args['source_details']) then
str = str .. ', ' .. frame.args['source_details']
end
 
if not isempty(frame.args['language']) then
str = str .. '. Translated from ' .. frame.args['language']
if not isempty(frame.args['translator']) then
str = str .. ' by ' .. frame.args['translator']
end
end
if not isempty(frame.args['notes']) then
str = str .. '. ' .. frame.args['notes']  
end
 
if not isempty(frame.args['archivist_notes']) then
str = str .. '<br>' .. frame.args['archivist_notes'] .. '. – Archivist'
end
end


local final_str = '<i>' .. frame.args['title'] .. '</i>' .. str
return str
return final_str
end
end