##master-page:HelpTemplate
##master-date:Unknown-Date
#format wiki
#language pt

<<Navigation(children)>> 
<<BR>><<BR>>
<<TableOfContents>>



== Macros ==

As macros permitem a inserção de funcionalidades de sistema em páginas de wiki normais; a única coisa que torna essas páginas especiais é o facto de conterem macros. Se editar páginas como AlteraçõesRecentes ou [[SystemInfo|InformaçãoDeSistema]], verá o que isso significa.



Para mais informações sobre a formatação possível, consulte o tópico AjudaNaEdição.



=== Macros de pesquisa ===

Agora o [[WikiMoinMoin|MoinMoin]] utiliza um novo motor de pesquisa, que lhe permite fazer pesquisas sofisticadas, utilizando ambas as caixas de pesquisa interactiva e qualquer macro de pesquisa. Para mais informações, consulte o tópico AjudaNaPesquisa.

||||||'''Macro''' ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> '''Descrição''' ||'''Exemplo''' ||

||||||{{{<<AdvancedSearch>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Cria um diálogo de pesquisa avançada na página || Ver o tópico PesquisaDePáginas ||

||||||{{{<<TitleSearch>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Cria uma caixa de pesquisa na página, que pesquisa nos títulos das páginas || Ver o tópico PesquisaDePáginas ||

||||||{{{<<FullSearch>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Cria uma caixa de pesquisa na página, que pesquisa no conteúdo das páginas || Ver o tópico PesquisaDePáginas ||

||||||{{{<<FullSearch()>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Devolve uma lista de páginas cujo conteúdo coincida com o título da página actual (como clicar no título da página) || Ver a página ListaDeCategorias ||

||||||{{{<<FullSearch(text)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Devolve uma lista de páginas cujo conteúdo coincida com o termo de pesquisa || ||

||||||{{{<<FullSearchCached(text)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Funciona como a macro {{{FullSearch}}} mas guarda os resultados estatisticamente. Utilize-o se preferir resultado actualizado mais rápido || ||

||||||{{{<<GoTo>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Visita directamente a página que inserir || Ver o tópico PesquisaDePáginas ||

||||||{{{<<PageList(Help)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Devolve uma lista de páginas cujo título coincida com o termo de pesquisa || Ver o tópico ÍndiceDeAjuda ||





=== Navegação ===

||||||'''Macro''' ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> '''Descrição''' ||'''Exemplo''' ||

||||||{{{<<RecentChanges>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Uma lista de páginas editadas recentemente || Ver o tópico AlteraçõesRecentes||

||||||{{{<<TitleIndex>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Um índice de todos os títulos das páginas || Ver o tópico ÍndiceDePáginas ||

||||||{{{<<WordIndex>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Um índice de todas as palavras existentes nos títulos das páginas || Ver o tópico ÍndiceComPalavras ||

||||||{{{<<WantedPages>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Lista as ligações de páginas inexistentes || Ver o tópico PáginasPretendidas ||

||||||{{{<<OrphanedPages>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Lista as páginas que não têm ligações (noutras páginas) que apontem para si || Ver o tópico PáginasOrfãs ||

||||||{{{<<AbandonedPages>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Lista as páginas que não são editadas há mais tempo || Ver o tópico PáginasAoAbandono ||

||||||{{{<<RandomPage>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Uma ligação para uma página ao acaso || <<RandomPage>> ||

||||||{{{<<RandomPage(#)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Ligações para um conjunto de páginas ao acaso || Duas páginas ao acaso:<<RandomPage(2)>> ||

||||||{{{<<TableOfContents([maxdepth])>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta uma tabela de conteúdos, possivelmente limitada a uma profundidade máxima || Ver em cima||

||||||{{{<<Anchor(anchorname)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Macro para inserir âncoras numa página || <<Anchor(aqui)>>#aqui ||

||||||{{{<<Navigation(children[,maxdepth])>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Macro para listas todas as sub-páginas || Ver início desta página ||

||||||{{{<<Navigation(siblings[,maxdepth])>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Navegação rápida entre páginas irmãs de uma página || Ver o sub-tópico /MailTo ||

||||||{{{<<Navigation(slideshow)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Cria uma ligação para alternar entre a apresentação de diapositivos e o modo wiki, e uma ligação para iniciar a apresentação de diapositivos || Ver o tópico AjudaComApresentaçõesDeDiapositivos ||

||||||{{{<<Navigation(slides)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta as ligações de primeira página/página anterior/página seguinte/última página || Ver o tópico AjudaComApresentaçõesDeDiapositivos ||

||||||{{{<<AttachInfo>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta o número de anexos na página actual || Ver o tópico AjudaNasAcções/AttachFile ||

||||||{{{<<AttachInfo(page)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta o número de anexos por página || Ver o tópico AjudaNasAcções/AttachFile ||

||||||{{{<<AttachList(pagename,mimetype)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta uma lista de anexos || Ver o tópico AjudaNasAcções/AttachFile ||



=== Informação de sistema ===

||||||'''Macro''' ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> '''Descrição''' ||'''Exemplo''' ||

||||||{{{<<InterWiki>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Uma lista de todos os nomes de LigaçõesEntreWikis conhecidos || LigaçõesEntreWikis ||

||||||{{{<<SystemInfo>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Dados sobre o wiki, o interpretador de python e o sistema do servidor || [[SystemInfo|InformaçãoDeSistema]] ||

||||||{{{<<PageCount(exists)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Número actual de páginas. Se {{{exists}}} é devolvido como um argumento. Apenas as páginas existentes serão exibidas. || <<PageCount>> páginas||

||||||{{{<<PageSize>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Lista o tamanho de todas as páginas || Ver o tópico TamanhoDaPágina ||

||||||{{{<<StatsChart(type)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Exibe gráficos estatísticos (tipos definidos actualmente: hitcounts, pagesize, useragents) || Ver o tópico EstatísticasDeAcesso e sub-páginas ||

||||||{{{<<SystemAdmin>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Informação para administradores de sistemas || Necessita de ser um super utilizador para chamar esta macro <<BR>> <<SystemAdmin>> ||

||||||{{{<<EditedSystemPages>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Uma lista de páginas de sistema que foram alteradas || <<EditedSystemPages>> ||



=== Outras ===

||||||'''Macro''' ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> '''Descrição''' ||'''Exemplo''' ||


||||||{{{<<Icon(image)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Exibe os ícones de sistema || Ver o tópico AjudaNaNavegação ||

||||||{{{<<UserPreferences>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Exibe um diálogo de preferências do utilizador || Ver o tópico  PreferênciasDoUtilizador ||

||||||{{{<<UserPreferences(createonly)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Exibe um diálogo de criação de utilizadores || ||

||||||{{{<<BR>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Insere uma quebra de linha || 1ª linha<<BR>>2ª linha ||

||||||{{{<<RandomQuote(pagename)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Seleccione uma citação ao acaso de uma determinada página, ou a partir dos {{{FortuneCookies}}} em caso de omissão || <<RandomQuote>> ||

||||||{{{<<Include(HelloWorld[,"heading"[,level>>)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Inclui conteúdos de outra página || Para mais informações, consulte <</Include>> ||

||||||{{{<<FootNote(text)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Adicione uma nota de rodapé<<FootNote(o texto não pode ter nenhuma formatação de wiki)>>, ou apresente explicitamente notas de rodapé recolhidas quando não são fornecidos argumentos || Ver exemplo em baixo. ||

||||||{{{<<Date(timestamp)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta uma data de acordo com as configurações de sistema || <<Date>> ||

||||||{{{<<DateTime(timestamp)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta uma data<<FootNote("timestamp" pode ser vazia (hora actual), o número de segundos desde 1970 (unix timestamp), ou uma especificação de tempo W3C ("2002-01-23T12:34:56"). Ver RFC822, secção 5. )>> de acordo com as configurações do utilizador || <<DateTime>> ||

||||||{{{<<GetText(text)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Carrega os textos I18N (criado especialmente para ser utilizado nas páginas de Ajuda) || "Edit``Text" é traduzido para "<<GetText(EditText)>>" ||

||||||{{{<<GetText2(,message,argument1,argument2,...)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Carrega os textos I18N (criado especialmente para ser utilizado nas páginas de Ajuda ou em resultado gerado em páginas wiki) e substitui o `%s` na mensagem pelos argumentos. O primeiro carácter do argumento é utilizado como um separador (neste exemplo: uma vírgula). Pode evitar o separador utilizando uma barra ("\"). || "`<<GetText2(,[Pode não ler %s],FooBar)>>`" resulta em "<<GetText2(,[Pode não ler %s],FooBar)>>" ||

||||||{{{<<TeudView>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Útil para wikis de desenvolvimento em intranets, uma forma de visualizar documentação pydoc, formatada através de uma folha de cálculo XSLT || Ver a página http://twistedmatrix.com/wiki/python/TeudProject ||

||||||{{{<<MailTo(email)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Protege o seu endereço de correio electrónico de robôs de spam || para mais informações consulte /MailTo ||

||||||{{{<<NewPage(PageTemplate,ButtonLabel,[ParentPage,@ME,@SELF] [,NameTemplate])>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Permite ao utilizador criar (sub) páginas facilmente, utilizando a página {{{PageTemplate}}} como modelo para a nova página e a string {{{NameTemplate}}} como modelo para o nome.<<FootNote(`NameTemplate` é formatada com `time.strftime()`, à excepção do `%s` que é substituído pela entrada da caixa de edição (que apenas será exibida se necessário). Se `NameTemplate` não for especificada ou estiver vazia, `%s` é o seu valor por omissão.)>> `@ME` é utilizado para a página criada estar abaixo da página principal dos utilizadores. `@SELF` é utilizado para criar uma sub-página debaixo da página de onde é chamada. || <<NewPage(ModeloDeCategorias, Criar nova categoria,,Categoria%s)>> ||

||||||{{{<<GetVal(NeatSnippets,regards)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Pesquisa registos de dicionário entre as páginas dict. || Se tiver uma página com o título PortugueseDict que contenha o registo ''Test: <<GetVal(PortugueseDict,Test)>> ||

||||||{{{ <<MonthCalendar(,,12)>>}}} ||

||<5%><<BR>>||<75% style="margin: 10px; vertical-align: top;"> Apresenta um Calendário e cria ligações para registos de cada dia em sub-páginas || Ver o sub-tópico /MonthCalendar ||

<<FootNote>>



=== Criar a sua própria macro ===

Crie um ficheiro python chamado {{{NomeDaMacro.py}}} localizado na sua directoria {{{data/plugin/macro}}}. Certifique que tem um método único chamado {{{execute(macro, arguments)}}}, que é o ponto de partida.



 * ''macro'' é uma instância de classe Macro, e também avalia uma string do nome da macro.

 * ''arguments'' é uma string de argumentos arbitrários que pode inserir nos parâmetros da sua macro.

Todas as instâncias {{{Macro}}} têm um membro {{{request}}} através do qual pode aceder aos parâmetros e a outros dados relacionados à interacção do utilizador.



{{{execute()}}} deve utilizar um editor para construir formatação válida para o formato-alvo actual. Regra geral, isto significa HTML, assim criar uma macro apresentada em HTML funcionará na maioria dos casos, mas falhará caso sejam solicitados formatos como XML ou {{{text/plain}}} are requested.



Por exemplo, a sua página de wiki inclui a seguinte linha:



{{{

<<MacroName(arg1,arg2,arg3)>>

}}}

Pode editar um ficheiro !NomeDaMacro.py assim:



{{{

#!python

Dependencies = []

def execute(macro, args):

    return macro.formatter.text("I got these args from a macro %s: %s" %

    (str(macro), args))

}}}

 . /!\ Adicione um registo nas {{{Dependencies}}} caso o resultado da sua macro não deva ser armazenado. Isto é importante se o resultado da sua macro for alterada de um momento para o outro, por exemplo, se a sua macro pesquisar entre as páginas de um wiki pode ser editada por outros utilizadores, ou carregar dados de uma base de dados externa cujos conteúdos podem mudar. Actualmente, o valor de cada registo não interessa e aconselhamos que faça uma pequena descrição para explicar o motivo 'por que os resultados desta macro não devem ser armazenados', mas por favor, dê uma vista de olhos aos registos utilizados noutras macros para valores que possam ser adequados.

<<FootNote>>
