====== Plugins para o DokuWiki ====== Este tutorial irá apresentá-lo(a) aos plugins para o DokuWiki. Note que este tutorial não o(a) ensinará a criar um, mas sim apresentar o básico sobre eles. ===== Tipos de plugin ===== Atualmente o DokuWiki suporta cinco tipos de plugins: - **Plugins de sintaxe (Syntax Plugins)** – Estende a sintaxe padrão do DokuWiki. - **Plugins de ação (Action Plugins)** – Estendem ou modificam ações do core do DokuWiki. - **Plugins de administração (Admin plugins)** – Adiciona funcionalidades de administração para o DokuWiki – são acessíveis apenas para superusuários e administradores através do botão Admin. - **Plugins de auxílio (Helper plugins)** – Servem para complementar outros plugins. - **Plugins de Renderização (Renderer plugins)** - Cria novos modos de exportação e troca a renderização padrão do DokuWiki (XHTML). ===== Padrões de codificação e estrutura de arquivos ===== ==== Nome do plugin ==== * Deve conter apenas caracteres de a-z e 0-9. * NÃO pode usar underscore/underline (_). ==== Diretório de plugins ==== O diretório dos plugins é localizado em: **/lib/plugins/** ==== Arquivo do plugin ==== Dentro do diretório do plugin deve ter um arquivo PHP com o nome do **tipo** do plugin. Por exemplo, se o plugin for do tipo **ação**, então o nome do arquivo PHP deve ser **action.php**. ==== Classe do plugin ==== O arquivo deverá conter uma classe. O nome dessa classe deve ser **_plugin_**, e deverá estender a classe **DokuWiki__Plugin**. ==== Informações do plugin ==== Todo plugin deve ter em seu diretório um arquivo contendo informações básicas sobre si. O nome do arquivo deve ser **plugin.info.txt**. As informações que esse arquivo deve conter são: * **base:** O nome técnico do plugin. * **author:** O nome completo do autor do plugin. * **email:** e-mail para contato com o autor do plugin. * **Date:** A data da última alteração do plugin, no formato AAAA-MM-DD. * **name:** O nome amigável do plugin. * **desc:** Uma breve descrição do que o plugin faz. * **url:** Endereço do site do plugin, ou de alguma página onde pode-se encontrar mais informações sobre ele. Segue um exemplo de como esse arquivo pode ser. base example author My Full Name email me@example.com date 2010-01-17 name Example Plugin to do Stuff desc This is just an Example of how a plugin description looks like url http://www.dokuwiki.org/plugin:example ==== Plugin Wizard ==== O próprio site do DokuWiki recomenda o uso de um Wizard para o início do desenvolvimento de plugins. Esse Wizard pode ser encontrado em http://pluginwizard.dokuwiki.org/ . ===== Instalação de um plugin ===== No caso de querer instalar um plugin, apenas baixe o pacote dele, crie um diretório com o nome dele no [[#diretorio_de_plugins|diretórios de plugins]] e descompacte os fontes do pacote nesse diretório. ===== Exemplo ===== Segue no link um exemplo de um plugin simples: **color**. É um plugin de sintaxe que altera a cor dos textos. * http://www.dokuwiki.org/plugin:color ===== Fontes ===== * http://www.dokuwiki.org/devel:plugins * http://www.dokuwiki.org/devel:plugin_file_structure