| /EmbedObject /ImageLink /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 ÍndiceDePalavras |
[[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. |
2487 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 |
[[ImageLink(image,target[,width=width[,height=height]][,alt=alttag])]] |
||
|
Esta macro é utilizada para criar uma ligação que exibe uma imagem (que pode ser apresentada como anexo ou URL) e ligações para um URL ou uma página wiki. Pode ajustar o tamanho da imagem opcionalmente. Se não for definido nenhum destino, a ligação apontará para a própria imagem. |
Ver o sub-tópico /ImageLink |
[[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: Set your pages language with #language en processing instruction. See also HelpOnLanguages. |
[[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 |
2008-07-20 |
[[DateTime(timestamp)]] |
||
|
Apresenta uma data2 de acordo com as configurações do utilizador |
2008-07-20 00:12: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:
1 Dependencies = []
2 def execute(macro, args):
3 return macro.formatter.text("I got these args from a macro %s: %s" %
4 (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.