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. |
2042 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 |
2024-11-16 |
<<DateTime(timestamp)>> |
|
Apresenta uma data2 de acordo com as configurações do utilizador |
2024-11-16 03:11:30 |
<<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.