Módulo:Citar discurso

Origem: Wikipédia, a enciclopédia livre.
local d = require('Módulo:Citação/CS1')


--[[--------------------------< d . d i s c u r s o >------------------------------------

Este é o método principal da predefinição {{citar série}}.

]]

d.discurso = function(frame)
    local config, args, A = tratarArgumentos(frame)
    config.CitationClass = ''
    config.naoUsaPage = true
    local B
    local sepc = set_style (A.Mode:lower())


    local ConferenceURLorigin = A:ORIGIN('ConferenceURL')

    A.ConferenceFormat = style_format (A.ConferenceFormat, A.ConferenceURL, 'conference-format', 'conference-url');

    if is_set (A.Conference) then
        if is_set (A.ConferenceURL) then
            A.Conference = external_link( A.ConferenceURL, A.Conference, ConferenceURLorigin, nil );
        end
        A.Conference = sepc .. " " .. A.Conference .. A.ConferenceFormat;
    elseif is_set(A.ConferenceURL) then
        A.Conference = sepc .. " " .. external_link( A.ConferenceURL, nil, ConferenceURLorigin, nil );
    end


    -- Função com o código abstraído
    A, B = citation0( config, args, A)

    --[[
    Este código sobrescreve o valor atribuído a 'TitleNote' (via |department=)
    para " (Discurso)", assim tal anotação seguirá diretamente o título
    ]]
    A.TitleNote = " (Discurso)" -- anotação da citação
    if is_set (A.Periodical) then -- se Periodical, caso |website= ou |journal=
        if is_set (A.Conference) then -- se |event= estiver definido
            A.Conference = A.Conference .. sepc .. " " -- pontuação apropriada
        end
    end

    B.tcommon = safe_join( {A.Title, A.TitleNote, A.Conference, A.Periodical, A.Format, A.TitleType
        , A.Series, A.Language, A.Volume, A.Others, A.Edition, B.Publisher, A.Agency}, sepc )

    config.CitationClass = 'speech'
    B.config = config

    return textoFinal(A, B)
end

return d