##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>>