| /EmbedObject /Include /MailTo /MonthCalendar | 
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 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 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  | 
  | 
  Descrição  | 
  Exemplo  | 
<<AdvancedSearch>>  | 
  | 
  Cria um diálogo de pesquisa avançada na página  | 
  Ver o tópico PesquisaDePáginas  | 
<<TitleSearch>>  | 
  | 
  Cria uma caixa de pesquisa na página, que pesquisa nos títulos das páginas  | 
  Ver o tópico PesquisaDePáginas  | 
<<FullSearch>>  | 
  | 
  Cria uma caixa de pesquisa na página, que pesquisa no conteúdo das páginas  | 
  Ver o tópico PesquisaDePáginas  | 
<<FullSearch()>>  | 
  | 
  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)>>  | 
  | 
  Devolve uma lista de páginas cujo conteúdo coincida com o termo de pesquisa  | 
  
  | 
<<FullSearchCached(text)>>  | 
  | 
  Funciona como a macro FullSearch mas guarda os resultados estatisticamente. Utilize-o se preferir resultado actualizado mais rápido  | 
  
  | 
<<GoTo>>  | 
  | 
  Visita directamente a página que inserir  | 
  Ver o tópico PesquisaDePáginas  | 
<<PageList(Help)>>  | 
  | 
  Devolve uma lista de páginas cujo título coincida com o termo de pesquisa  | 
  Ver o tópico ÍndiceDeAjuda  | 
Navegação
Macro  | 
  | 
  Descrição  | 
  Exemplo  | 
<<RecentChanges>>  | 
  | 
  Uma lista de páginas editadas recentemente  | 
  Ver o tópico AlteraçõesRecentes  | 
<<TitleIndex>>  | 
  | 
  Um índice de todos os títulos das páginas  | 
  Ver o tópico ÍndiceDePáginas  | 
<<WordIndex>>  | 
  | 
  Um índice de todas as palavras existentes nos títulos das páginas  | 
  Ver o tópico ÍndiceComPalavras  | 
<<WantedPages>>  | 
  | 
  Lista as ligações de páginas inexistentes  | 
  Ver o tópico PáginasPretendidas  | 
<<OrphanedPages>>  | 
  | 
  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>>  | 
  | 
  Lista as páginas que não são editadas há mais tempo  | 
  Ver o tópico PáginasAoAbandono  | 
<<RandomPage>>  | 
  | 
  Uma ligação para uma página ao acaso  | 
  
<<RandomPage(#)>>  | 
  | 
  Ligações para um conjunto de páginas ao acaso  | 
  Duas páginas ao acaso:  | 
<<TableOfContents([maxdepth])>>  | 
  | 
  Apresenta uma tabela de conteúdos, possivelmente limitada a uma profundidade máxima  | 
  Ver em cima  | 
<<Anchor(anchorname)>>  | 
  | 
  Macro para inserir âncoras numa página  | 
  #aqui  | 
<<Navigation(children[,maxdepth])>>  | 
  | 
  Macro para listas todas as sub-páginas  | 
  Ver início desta página  | 
<<Navigation(siblings[,maxdepth])>>  | 
  | 
  Navegação rápida entre páginas irmãs de uma página  | 
  Ver o sub-tópico /MailTo  | 
<<Navigation(slideshow)>>  | 
  | 
  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)>>  | 
  | 
  Apresenta as ligações de primeira página/página anterior/página seguinte/última página  | 
  Ver o tópico AjudaComApresentaçõesDeDiapositivos  | 
<<AttachInfo>>  | 
  | 
  Apresenta o número de anexos na página actual  | 
  Ver o tópico AjudaNasAcções/AttachFile  | 
<<AttachInfo(page)>>  | 
  | 
  Apresenta o número de anexos por página  | 
  Ver o tópico AjudaNasAcções/AttachFile  | 
<<AttachList(pagename,mimetype)>>  | 
  | 
  Apresenta uma lista de anexos  | 
  Ver o tópico AjudaNasAcções/AttachFile  | 
Informação de sistema
Macro  | 
  | 
  Descrição  | 
  Exemplo  | 
<<InterWiki>>  | 
  | 
  Uma lista de todos os nomes de LigaçõesEntreWikis conhecidos  | 
  
<<SystemInfo>>  | 
  | 
  Dados sobre o wiki, o interpretador de python e o sistema do servidor  | 
  
<<PageCount(exists)>>  | 
  | 
  Número actual de páginas. Se exists é devolvido como um argumento. Apenas as páginas existentes serão exibidas.  | 
  1901 páginas  | 
<<PageSize>>  | 
  | 
  Lista o tamanho de todas as páginas  | 
  Ver o tópico TamanhoDaPágina  | 
<<StatsChart(type)>>  | 
  | 
  Exibe gráficos estatísticos (tipos definidos actualmente: hitcounts, pagesize, useragents)  | 
  Ver o tópico EstatísticasDeAcesso e sub-páginas  | 
<<SystemAdmin>>  | 
  | 
  Informação para administradores de sistemas  | 
   Necessita de ser um super utilizador para chamar esta macro   | 
<<EditedSystemPages>>  | 
  | 
  Uma lista de páginas de sistema que foram alteradas  | 
  
  | 
Outras
Macro  | 
  | 
  Descrição  | 
  Exemplo  | 
<<Icon(image)>>  | 
  | 
  Exibe os ícones de sistema  | 
  Ver o tópico AjudaNaNavegação  | 
<<UserPreferences>>  | 
  | 
  Exibe um diálogo de preferências do utilizador  | 
  Ver o tópico PreferênciasDoUtilizador  | 
<<UserPreferences(createonly)>>  | 
  | 
  Exibe um diálogo de criação de utilizadores  | 
  
  | 
<<BR>>  | 
  | 
  Insere uma quebra de linha  | 
   1ª linha  | 
<<RandomQuote(pagename)>>  | 
  | 
  Seleccione uma citação ao acaso de uma determinada página, ou a partir dos FortuneCookies em caso de omissão  | 
  
 Hint: Edit the FortuneCookies page to display randomly selected wisdom here.  | 
<<Include(HelloWorld[,"heading"[,level>>)>>  | 
  | 
  Inclui conteúdos de outra página  | 
  Para mais informações, consulte <</Include>>  | 
<<FootNote(text)>>  | 
  | 
  Adicione uma nota de rodapé1, ou apresente explicitamente notas de rodapé recolhidas quando não são fornecidos argumentos  | 
  Ver exemplo em baixo.  | 
<<Date(timestamp)>>  | 
  | 
  Apresenta uma data de acordo com as configurações de sistema  | 
  2025-11-04  | 
<<DateTime(timestamp)>>  | 
  | 
  Apresenta uma data2 de acordo com as configurações do utilizador  | 
  2025-11-04 00:12:48  | 
<<GetText(text)>>  | 
  | 
  Carrega os textos I18N (criado especialmente para ser utilizado nas páginas de Ajuda)  | 
  "EditText" é traduzido para "EditText"  | 
<<GetText2(,message,argument1,argument2,...)>>  | 
  | 
  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 "[Pode não ler FooBar]"  | 
<<TeudView>>  | 
  | 
  Ú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)>>  | 
  | 
  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])>>  | 
  | 
  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.3 @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.  | 
  
  | 
<<GetVal(NeatSnippets,regards)>>  | 
  | 
  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:  | 
<<MonthCalendar(,,12)>>  | 
  | 
  Apresenta um Calendário e cria ligações para registos de cada dia em sub-páginas  | 
  Ver o sub-tópico /MonthCalendar  | 
o texto não pode ter nenhuma formatação de wiki (1)
"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. (2)
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. (3)
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:
 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.