Бюрократы, Администраторы интерфейса, Администраторы (Semantic MediaWiki), Кураторы (Semantic MediaWiki), Editors (Semantic MediaWiki), Скрывающие, Администраторы, trusted
62 227
правок
мНет описания правки |
м (-output design in literature_origin()) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
local ctd = {} -- функции для Большого теософского словаря; copied from https://ru.teopedia.org/lib/Module:CTD | local ctd = {} -- функции для Большого теософского словаря; copied from https://ru.teopedia.org/lib/Module:CTD | ||
-- === LOCAL FUNCTIONS ======================================================== | |||
local function isempty(s) | local function isempty(s) | ||
Строка 17: | Строка 19: | ||
return t | return t | ||
end | end | ||
-- Convert local links [[link|text]] and URL [link text] to plain text. | -- Convert local links [[link|text]] and URL [link text] to plain text. | ||
Строка 65: | Строка 66: | ||
return str | return str | ||
end | end | ||
-- === FUNCTIONS FOR EXTERNAL USAGE =========================================== | |||
-- Create origin string for literature | |||
-- Used in : Шаблон:Литература БТС | |||
-- Call example: | |||
-- {{#invoke: CTD | literature_origin | |||
-- | origin = | |||
-- | language = | |||
-- | author = | |||
-- | title = | |||
-- }} | |||
function ctd.literature_origin( frame ) | |||
local result = '' | |||
-- if 'origin' set, use it and skip other parameters | |||
if not isempty(frame.args['origin']) then | |||
result = frame.args['origin'] | |||
else -- check every other parameter for existance | |||
if not isempty(frame.args['language']) then | |||
result = frame.args['language'] | |||
if not isempty(frame.args['author']) or not isempty(frame.args['title']) then | |||
result = result .. ': ' | |||
end | |||
end | |||
if not isempty(frame.args['author']) then | |||
result = result .. frame.args['author'] | |||
if not isempty(frame.args['title']) then | |||
result = result .. ', ' | |||
end | |||
end | |||
if not isempty(frame.args['title']) then | |||
result = result .. '<i>' .. frame.args['title'] .. '</i>' | |||
end | |||
end | |||
return result | |||
end | |||
-- Create short description without hyper links | -- Create short description without hyper links | ||
Строка 267: | Строка 308: | ||
if add_origin then | if add_origin then | ||
output_str = output_str ..' '.. origin | output_str = output_str ..' '.. origin | ||
elseif not isempty(lifetime) then | |||
output_str = output_str .. ' ('.. lifetime ..')' | output_str = output_str .. ' ('.. lifetime ..')' | ||
end | end | ||
if add_description then output_str = output_str ..'. – '.. description end | if add_description then output_str = output_str ..'. – '.. description end | ||
else -- для 'понятие' и 'выражение' | else -- для 'понятие' и 'выражение' | ||
output_str = description | output_str = term_without_link ..'. '.. description | ||
if add_origin then output_str = output_str ..' '.. origin end | if add_origin then output_str = output_str ..' '.. origin end | ||
end | end | ||
Строка 278: | Строка 319: | ||
end | end | ||
-- FOOTNOTE should be added | -- FOOTNOTE should be added | ||
if view_footnote then | if view_footnote then | ||
-- всегда добавлять ссылку в сноске | |||
output_str = term_with_link | |||
if add_origin then | if add_origin then | ||
output_str = output_str ..' '.. origin | output_str = output_str ..' '.. origin | ||
else | else | ||
output_str = output_str .. | if term_type == 'личность' then | ||
output_str = output_str .. ' ('.. lifetime ..')' | |||
end | |||
end | end | ||
if add_description then output_str = output_str ..'. – '.. description end | if add_description then output_str = output_str ..'. – '.. description end |