WikiWikiWiki: um motor de wiki em PHP baseado em arquivos de texto
(github.com/minguhong)Olá. Sou Min Guhong, alguém que visita o GeekNews quase todos os dias desde que ele foi criado. Fico feliz e empolgado por poder cumprimentar vocês aqui, um lugar onde aprendi não só as principais notícias das áreas que me interessam — ou nas quais quero me interessar —, mas também uma forma de encarar a tecnologia e, indo além, a própria vida.
WikiWikiWiki é um motor de wiki em PHP baseado em arquivos de texto. A proposta é ser uma wiki que você pode usar imediatamente, sem banco de dados e sem configurações complicadas.
https://github.com/minguhong/WikiWikiWiki
No começo, pensei em simplesmente escolher e usar um dos motores de wiki já existentes. Mas, ao testar vários deles um por um, sempre havia uma ou duas coisas que atrapalhavam. Era como se, para preparar um único caderno onde eu pudesse escrever, exigissem coisa demais. Por exemplo, o MediaWiki, usado na Wikipédia, era pesado demais, e o DokuWiki não me agradava por causa de sua linguagem de marcação própria e peculiar. E os inúmeros motores open source publicados no GitHub e em outros lugares ou já não eram mais atualizados, ou eram complicados de adaptar ao meu gosto. (Ou seja, o código era difícil de entender.) Acima de tudo, todos tinham funções desnecessárias demais.
- Arquivos de texto
- Markdown
- Conexão fácil entre documentos
Era só disso que eu precisava. Recursos como editor WYSIWYG ou anexar imagens nem chegaram a entrar nos meus planos. No fim, relembrando uma frase de Kevin Kelly que li pela primeira vez aqui (“A meta mais valiosa para desafiar a si mesmo este ano é aprender algo sobre o qual, daqui a um ano, você pensará: como eu não sabia disso antes?”), decidi, no espírito da web artesanal, criar meu próprio caderno — isto é, meu próprio motor de wiki. Isso foi por volta de 2017, quando eu dava aulas em uma escola de design chamada Paju Typography Institute.
E foi por volta de 2022, talvez? Depois de investir aos poucos tardes tranquilas de fim de semana, acabei criando um motor de wiki otimizado para mim. Com a ajuda da Minguhong Manufacturing, voltei a estudar PHP do zero (uma linguagem pela qual tenho um carinho especial) e fui escrevendo o código linha por linha. Esse processo não foi diferente da escrita. Você define a estrutura maior, despeja frases — ou seja, código —, edita, revisa, revisa, revisa, e revisa de novo... No fim, talvez o que construí ao longo de vários anos não seja tanto um software, mas sim um texto eternamente em versão beta. E talvez, em algum momento, o desejo de deixar ao menos uma linha escrita aqui também tenha sido o que continuou me movendo.
Existe uma máxima na escrita que diz que adjetivos e advérbios devem ser cortados sem hesitação, a menos que sejam realmente necessários. Mas, à medida que fui pensando nas pessoas ao meu redor que usariam com prazer um motor de wiki feito por mim, as funções começaram a aumentar pouco a pouco. Nessa hora, fiquei ruminando o lema da 37signals (“Três funções sólidas valem mais do que dez funções malfeitas.”), lutando contra o impulso de adicionar mais coisas e percebendo na prática que remover é mais difícil do que acrescentar.
A seguir estão os principais recursos do resultado final, ou seja, do WikiWikiWiki.
- Instalação simples
- Suporte a Markdown
- Links entre documentos (
[[título do documento]]), transclusão de documentos (![[título do documento]]), hashtags (#tag), redirecionamento - Navegação e busca de documentos
- Gerenciamento do histórico de edições
- Prevenção de conflitos em edições simultâneas
- Exportação de documentos
- RSS, sitemap, llms.txt, llms-full.txt, API somente leitura
- Gerenciamento de usuários
- Configuração de permissões de edição (público, privado)
- Adição de temas
- Multilíngue (coreano, inglês)
- Modo escuro
- ...
Se você precisa de uma wiki pequena e simples, ficarei grato se puder experimentar e falar comigo com toda a liberdade. Qualquer comentário será bem-vindo. Em especial, algo como “Acho que daria para remover esta função, não?” seria ainda mais divertido. Assim, a próxima versão do WikiWikiWiki poderá ter menos funções do que agora.
Mas por que o nome “WikiWikiWiki”? É o resultado de pegar “WikiWikiWeb”, a primeira wiki criada por Ward Cunningham, remover “Web” e simplesmente acrescentar mais um “Wiki” no lugar. Acima de tudo, acho que o que é bom precisa ser repetido pelo menos três vezes.
Ainda não há comentários.