Encontrado a melhor implementação de Wiki?
Published on January 2, 2015.
Wiki é algo que tem me fascinado nos últimos meses, principalmente depois do Encontro do Grupo de Trabalho em Ciência Aberta realizado no fim de Agosto. Nesse post você vai descobrir o que eu procuro no software de uma wiki e qual foi o melhor que eu encontrei até agora.
Requisitos
Utilize um sistema distribuído para controle de versão.
Isso possibilita o trabalho offline e facilita o backup dos textos.
Suporte a uma linguagem de marcação já conhecida.
O uso de uma linguagem de marcação já difundida é um ponto positivo pois evita dos usuários terem que aprender uma nova linguagem.
Também deseja-se que essa linguagem de marcação tenha suporte a escrita matemática, preferencialmente utilizando LaTeX como a linguagem de marcação e MathML como o formato enviado ao browser do usuário para renderização.
Suporte a categorização de páginas.
No MediaWiki, o software responsável pela Wikipédia, existe listas, páginas estruturada com links para outras páginas, e categorias, páginas não-estruturadas com links para outras páginas.
A grande vantagem do uso de categorias é a página da categoria é criada automaticamente.
Suporte a redirecionamento.
Redirecionamento é uma forma de “duplicar” uma página para que ela possa ser acessada por mais de um endereço.
Sistema Distribuído para Controle de Versão
Existe vários softwares para a criação de wikis, ver essa lista ou essa outra, mas apenas quatro que utilizam um sistema distribuído para controle de versão
Atualização
No stackoverflow, é mencionado Hatta que possui uma lista de projetos similares:
- ymcGitWiki
- Smug (alterações precisam ser aprovadas)
- Sputnik
- Wooki (P2P network)
Linguagem de Marcação
O Gitit utiliza o Pandoc para a conversão da linguagem de marcação em HTML e como ele suporta um grande número de linguagens de marcação é provável que você encontre uma que seu público já conheça.
Além disso, o Pandoc suportam a escrita matemática utilizando LaTeX, tanto nativamente como via Javascript.
Categorias
Cada página do Gitit pode ter um cabeçalho do tipo YAML. Nesse cabeçalho
você pode informar as categorias utilizando a palavra chave
categories.
Nota
O Gitit não suporta categorias formadas por mais de uma palavra (ver
esse bug reportado a mais de dois
anos). Enquanto eu não aprendo
Haskell para enviar um patch que corrija isso, uma forma de contornar é
utilizar _.
Nota
Algumas wikis, como o ikiwiki, denominam categorias de tags. Para maiores detalhes, ver http://ikiwiki.info/tags/.
Redirecionamentos
No cabeçalho pode-se, utilizando a palavra chave redirect (maiores
informações
aqui),
informar a página para a qual o artigo deve redirecionar.
Instalação do Gitit
Só foi preciso seguir os passos presentes em https://github.com/jgm/gitit:
$ git clone git@github.com:jgm/gitit.git
$ cd gitit
$ sudo cabal install --global
$ gitit --version
gitit version 0.10.6.1 +plugins
Copyright (C) 2008 John MacFarlane
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
Testando Gitit
Depois de instalar o Gitit é hora de testar:
$ cd ~
$ mkdir wiki
$ cd wiki
$ gitit
Depois de iniciar o Gitit, você pode acessar http://localhost:5001 no seu navegador web para visualizar sua instância do Gitit.
Nota
Para encerrar o Gitit, prescione CTRL+C no terminal.
Encontrando Repositório Git
O repositório Git é o diretório que possui a pasta .git que pode ser
encontrado utilizando:
$ find . -name '.git' -type d
./wikidata/.git
Sabendo onde encontra-se o repositório Git podemos acessá-lo e ver os arquivos presentes nele. :
$ cd wikidata
$ ls -1
Front Page.page
Gitit User’s Guide.page
Help.page
Se desejarmos também podemos cloná-lo em outro lugar. :
$ cd /tmp
$ clone /tmp/wiki/wikidata/.git clone-do-gitit
Alterando as Configurações
Para iniciar o Gitit com configurações não padrões, utilizamos:
$ gitit -f arquivo-de-configuracao
Para gerar um arquivo de configuração, utilizamos:
$ gitit --print-default-config > config
Podemos alterar o arquivo de configurações para que a linguagem de marcação padrão seja LaTeX e que expressões matemáticas sejam convertidas para MathML:
$ sed -i 's/default-page-type: Markdown/default-page-type: LaTeX/' config
$ sed -i 's/math: mathjax/math: MathML/' config
Para testar as novas configurações, utilizamos:
$ gitit -f config
E acessando http://localhost:5001 pode-se testar o Gitit.
Screenshots
{width=“80%”}
{width=“80%”}
{width=“80%”}
{width=“80%”}
{width=“80%”}
Tags: