<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://dicionario.advogadocompleto.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AHatnote</id>
	<title>Módulo:Hatnote - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://dicionario.advogadocompleto.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AHatnote"/>
	<link rel="alternate" type="text/html" href="https://dicionario.advogadocompleto.com/index.php?title=M%C3%B3dulo:Hatnote&amp;action=history"/>
	<updated>2026-05-15T17:32:11Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://dicionario.advogadocompleto.com/index.php?title=M%C3%B3dulo:Hatnote&amp;diff=235&amp;oldid=prev</id>
		<title>Itaymbere: Criou página com &#039;-------------------------------------------------------------------------------- --                              Módulo:Hatnote                                -- --                                                                            -- -- Este módulo produz ligações (&#039;links&#039;) para notas de cabeçalho (&#039;hatnotes&#039;) -- -- e ligações (&#039;links&#039;) para artigos relacionados. Ele implementa as          -- -- meta-predefinições {{Nota de cabeçalho}} e {{Format link}...&#039;</title>
		<link rel="alternate" type="text/html" href="https://dicionario.advogadocompleto.com/index.php?title=M%C3%B3dulo:Hatnote&amp;diff=235&amp;oldid=prev"/>
		<updated>2026-03-29T20:10:37Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;-------------------------------------------------------------------------------- --                              Módulo:Hatnote                                -- --                                                                            -- -- Este módulo produz ligações (&amp;#039;links&amp;#039;) para notas de cabeçalho (&amp;#039;hatnotes&amp;#039;) -- -- e ligações (&amp;#039;links&amp;#039;) para artigos relacionados. Ele implementa as          -- -- meta-predefinições {{Nota de cabeçalho}} e {{Format link}...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                              Módulo:Hatnote                                --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- Este módulo produz ligações (&amp;#039;links&amp;#039;) para notas de cabeçalho (&amp;#039;hatnotes&amp;#039;) --&lt;br /&gt;
-- e ligações (&amp;#039;links&amp;#039;) para artigos relacionados. Ele implementa as          --&lt;br /&gt;
-- meta-predefinições {{Nota de cabeçalho}} e {{Format link}} e inclui        --&lt;br /&gt;
-- funções auxiliares para outros módulos de notas de cabeçalho (&amp;#039;hatnotes&amp;#039;)  --&lt;br /&gt;
-- &amp;#039;Lua&amp;#039;.                                                                     --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&amp;#039;libraryUtil&amp;#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg&lt;br /&gt;
local mArguments -- inicializa preguiçosamente [[Módulo:Arguments]]&lt;br /&gt;
local yesno -- inicializa preguiçosamente [[Módulo:Yesno]]&lt;br /&gt;
local formatLink -- inicializa preguiçosamente [[Módulo:Format link]] ._formatLink&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Funções auxiliares&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function getArgs(frame)&lt;br /&gt;
	-- Busca os argumentos do quadro parental. Os espaços em branco são cortados&lt;br /&gt;
	-- e os espaços em branco são removidos.&lt;br /&gt;
	mArguments = require(&amp;#039;Módulo:Arguments&amp;#039;)&lt;br /&gt;
	return mArguments.getArgs(frame, {parentOnly = true})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function removeInitialColon(s)&lt;br /&gt;
	-- Remove os dois pontos iniciais de uma sequência (&amp;#039;string&amp;#039;), se presentes.&lt;br /&gt;
	return s:match(&amp;#039;^:?(.*)&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.defaultClasses(inline)&lt;br /&gt;
	-- Fornece as classes de notas de cabeçalho (&amp;#039;hatnotes&amp;#039;) padrões como uma &lt;br /&gt;
	-- sequência (&amp;#039;string&amp;#039;) separada por espaço; útil para módulos que lidam com &lt;br /&gt;
	--  notas de cabeçalho (&amp;#039;hatnotes&amp;#039;) como [[Módulo:Hatnote group]].&lt;br /&gt;
	return&lt;br /&gt;
		(inline == 1 and &amp;#039;hatnote-inline&amp;#039; or &amp;#039;hatnote&amp;#039;) .. &amp;#039; &amp;#039; ..&lt;br /&gt;
		&amp;#039;navigation-not-searchable&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.disambiguate(page, disambiguator)&lt;br /&gt;
	-- Formata um título de página com um parêntese de desambiguação,&lt;br /&gt;
	-- ou seja, &amp;quot;Exemplo&amp;quot; → &amp;quot;Exemplo (desambiguação)&amp;quot;.&lt;br /&gt;
	checkType(&amp;#039;disambiguate&amp;#039;, 1, page, &amp;#039;string&amp;#039;)&lt;br /&gt;
	checkType(&amp;#039;disambiguate&amp;#039;, 2, disambiguator, &amp;#039;string&amp;#039;, true)&lt;br /&gt;
	disambiguator = disambiguator or &amp;#039;desambiguação&amp;#039;&lt;br /&gt;
	return mw.ustring.format(&amp;#039;%s (%s)&amp;#039;, page, disambiguator)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.findNamespaceId(link, removeColon)&lt;br /&gt;
	-- Localiza o &amp;#039;ID&amp;#039; do espaço nomeado (número do espaço nomeado) de uma &lt;br /&gt;
	-- ligação (&amp;#039;link&amp;#039;) ou um nome de página. Essa a função não funcionará se a &lt;br /&gt;
	-- ligação (&amp;#039;link&amp;#039;) estiver entre colchetes duplos. Dois pontos são cortados &lt;br /&gt;
	-- desde o início da ligação (&amp;#039;link&amp;#039;) por padrão. Para pular o corte dos dois&lt;br /&gt;
	-- pontos, defina o parâmetro &amp;quot;removeColon&amp;quot; como falso (&amp;#039;false&amp;#039;).&lt;br /&gt;
	checkType(&amp;#039;findNamespaceId&amp;#039;, 1, link, &amp;#039;string&amp;#039;)&lt;br /&gt;
	checkType(&amp;#039;findNamespaceId&amp;#039;, 2, removeColon, &amp;#039;boolean&amp;#039;, true)&lt;br /&gt;
	if removeColon ~= false then&lt;br /&gt;
		link = removeInitialColon(link)&lt;br /&gt;
	end&lt;br /&gt;
	local namespace = link:match(&amp;#039;^(.-):&amp;#039;)&lt;br /&gt;
	if namespace then&lt;br /&gt;
		local nsTable = mw.site.namespaces[namespace]&lt;br /&gt;
		if nsTable then&lt;br /&gt;
			return nsTable.id&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeWikitextError(msg, helpLink, addTrackingCategory, title)&lt;br /&gt;
	-- Formata uma mensagem de erro para ser retornada ao texto wiki. Se&lt;br /&gt;
	-- &amp;quot;addTrackingCategory&amp;quot; não é falso (&amp;#039;false&amp;#039;) após ser retornado a partir de&lt;br /&gt;
	-- [[Módulo:Yesno]], e se não estivermos em uma página de discussão, &lt;br /&gt;
	-- uma categoria de rastreamento (manutenção) é adicionada.&lt;br /&gt;
	checkType(&amp;#039;makeWikitextError&amp;#039;, 1, msg, &amp;#039;string&amp;#039;)&lt;br /&gt;
	checkType(&amp;#039;makeWikitextError&amp;#039;, 2, helpLink, &amp;#039;string&amp;#039;, true)&lt;br /&gt;
	yesno = require(&amp;#039;Módulo:Yesno&amp;#039;)&lt;br /&gt;
	title = title or mw.title.getCurrentTitle()&lt;br /&gt;
	-- Faz o texto da ligação (&amp;#039;link&amp;#039;) de ajuda.&lt;br /&gt;
	local helpText&lt;br /&gt;
	if helpLink then&lt;br /&gt;
		helpText = &amp;#039; ([[&amp;#039; .. helpLink .. &amp;#039;|ajuda]])&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		helpText = &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	-- Faz o texto da categoria.&lt;br /&gt;
	local category&lt;br /&gt;
	if not title.isTalkPage -- Não categoriza as páginas de discussão&lt;br /&gt;
		and title.namespace ~= 2 -- Não categoriza o espaço do usuário&lt;br /&gt;
		and yesno(addTrackingCategory) ~= false -- Permite optar por não participar&lt;br /&gt;
	then&lt;br /&gt;
		category = &amp;#039;!Predefinições de nota de cabeçalho com erros&amp;#039;&lt;br /&gt;
		category = mw.ustring.format(&lt;br /&gt;
			&amp;#039;[[%s:%s]]&amp;#039;,&lt;br /&gt;
			mw.site.namespaces[14].name,&lt;br /&gt;
			category&lt;br /&gt;
		)&lt;br /&gt;
	else&lt;br /&gt;
		category = &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return mw.ustring.format(&lt;br /&gt;
		&amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;Erro: %s%s.&amp;lt;/strong&amp;gt;%s&amp;#039;,&lt;br /&gt;
		msg,&lt;br /&gt;
		helpText,&lt;br /&gt;
		category&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local curNs = mw.title.getCurrentTitle().namespace&lt;br /&gt;
p.missingTargetCat =&lt;br /&gt;
	-- Categoria de destino ausente padrão, exportada para uso em módulos relacionados&lt;br /&gt;
	((curNs ==  0) or (curNs == 14)) and&lt;br /&gt;
	&amp;#039;!Artigos com predefinições de nota de cabeçalho direcionados para uma página inexistente&amp;#039; or nil&lt;br /&gt;
&lt;br /&gt;
function p.quote(title)&lt;br /&gt;
	-- Coloca os títulos entre aspas. Se o título começar/terminar com aspas,&lt;br /&gt;
	-- ajusta desse lado como com {{-&amp;#039;}}&lt;br /&gt;
	local quotationMarks = {&lt;br /&gt;
		[&amp;quot;&amp;#039;&amp;quot;]=true, [&amp;#039;&amp;quot;&amp;#039;]=true, [&amp;#039;“&amp;#039;]=true, [&amp;quot;‘&amp;quot;]=true, [&amp;#039;”&amp;#039;]=true, [&amp;quot;’&amp;quot;]=true&lt;br /&gt;
	}&lt;br /&gt;
	local quoteLeft, quoteRight = -- Testa se o início/fim são aspas&lt;br /&gt;
		quotationMarks[string.sub(title,  1,  1)],&lt;br /&gt;
		quotationMarks[string.sub(title, -1, -1)]&lt;br /&gt;
	if quoteLeft or quoteRight then&lt;br /&gt;
		title = mw.html.create(&amp;quot;span&amp;quot;):wikitext(title)&lt;br /&gt;
	end&lt;br /&gt;
	if quoteLeft  then title:css(&amp;quot;padding-left&amp;quot;,  &amp;quot;0.15em&amp;quot;) end&lt;br /&gt;
	if quoteRight then title:css(&amp;quot;padding-right&amp;quot;, &amp;quot;0.15em&amp;quot;) end&lt;br /&gt;
	return &amp;#039;&amp;quot;&amp;#039; .. tostring(title) .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Hatnote&lt;br /&gt;
--&lt;br /&gt;
-- Produz o texto de nota de cabeçalho (&amp;#039;hatnote&amp;#039;) padrão. Implementa a &lt;br /&gt;
-- predefinição {{Hatnote}}.&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p[&amp;#039;&amp;#039;] = function (frame) return p.hatnote(frame:newChild{ title = &amp;quot;Predefinição:Nota de cabeçalho&amp;quot; }) end&lt;br /&gt;
&lt;br /&gt;
function p.hatnote(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local s = args[1]&lt;br /&gt;
	if not s then&lt;br /&gt;
		return p.makeWikitextError(&lt;br /&gt;
			&amp;#039;nenhum texto especificado&amp;#039;,&lt;br /&gt;
			&amp;#039;Predefinição:Hatnote#Erros&amp;#039;,&lt;br /&gt;
			args.category&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
	return p._hatnote(s, {&lt;br /&gt;
		extraclasses = args.extraclasses,&lt;br /&gt;
		selfref = args.selfref&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._hatnote(s, options)&lt;br /&gt;
	checkType(&amp;#039;_hatnote&amp;#039;, 1, s, &amp;#039;string&amp;#039;)&lt;br /&gt;
	checkType(&amp;#039;_hatnote&amp;#039;, 2, options, &amp;#039;table&amp;#039;, true)&lt;br /&gt;
	options = options or {}&lt;br /&gt;
	local inline = options.inline&lt;br /&gt;
	local hatnote = mw.html.create(inline == 1 and &amp;#039;span&amp;#039; or &amp;#039;div&amp;#039;)&lt;br /&gt;
	local extraclasses&lt;br /&gt;
	if type(options.extraclasses) == &amp;#039;string&amp;#039; then&lt;br /&gt;
		extraclasses = options.extraclasses&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	hatnote&lt;br /&gt;
		:attr(&amp;#039;role&amp;#039;, &amp;#039;note&amp;#039;)&lt;br /&gt;
		:addClass(p.defaultClasses(inline))&lt;br /&gt;
		:addClass(extraclasses)&lt;br /&gt;
		:addClass(options.selfref and &amp;#039;selfref&amp;#039; or nil)&lt;br /&gt;
		:wikitext(s)&lt;br /&gt;
&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag{&lt;br /&gt;
		name = &amp;#039;templatestyles&amp;#039;, args = { src = &amp;#039;Módulo:Hatnote/styles.css&amp;#039; }&lt;br /&gt;
	} .. tostring(hatnote)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Itaymbere</name></author>
	</entry>
</feed>