| core | ||
| org | ||
| index.php | ||
| LICENSE | ||
| omw-logo.png | ||
| README.org | ||
| styles.css | ||
OMW (Org Mode to Web)
Um pequeno parser de org-mode para HTML5 escrito em PHP.
Neste site, você encontra uma demonstração de uso.
Estrutura básica de um site com OMW
Para começar, eu crio no meu servidor web a seguinte estrutura de diretórios:
raiz ├─ core │ ├─ functions.php │ ├─ omw.php │ └─ settings.php ├─ org │ ├─ assunto-x │ │ ├─ artigo-x1.org │ │ ├─ artigo-x2.org │ │ ├─ ... │ │ └─ artigo-xn.org │ ├─ ... │ ├─ assunto-z │ │ └─ ... │ └─ home.org ├─ index.php └─ styles.css
Onde:
- 
Diretório raiz
- Qualquer diretório no servidor onde se deseje hospedar uma página inicial.
- 
Diretório core
- 
Contém os três arquivos da implementação do OMW: as funções (functions.php), a lógica de renderização (omw.php) e as configurações (settings.php).
- 
Diretório org
- Por padrão, é o diretório dos arquivos texto marcados em org-mode.
- 
Arquivo org/home.org
- 
O arquivo .orgutilizado, por padrão, como conteúdo da página inicial.
- 
Arquivo index.php
- O arquivo HTML onde serão interpolados os conteúdos gerados dinamicamente pelo OMW.
- 
Arquivo styles.css
- 
Arquivo da folha de estilos (o nome pode ser qualquer outro, pois depende o que for definido em index.php).
Configurações
O OMW traz uma configuração padrão que deve ser suficiente na maioria dos
casos de uso, mas é possível alterá-las para outros gostos pessoais no
arquivo core/settings.php:
$filename = 'home';    // Nome do arquivo utilizado como na página inicial (sem '.org')
$org_dir  = 'org';     // Diretório dos arquivos '.org'
$get_key  = 'p';       // Chave do método $_GET[key] para acessar outras páginas
Com essas configurações, a página inicial é acessada apenas pela sua URL
(com ou sem index.php), enquanto os demais arquivos .org serão acessados
com o acréscimo de uma query string:
https://meusite.com/index.php?p=categoria/arquivo
Onde categoria é o diretório do arquivos org-mode no diretório org e
arquivo é o nome do arquivo desejado sem a extensão .org.
Os arquivos não precisam estar em subdiretórios de categorias, esta é só uma opção de organização que eu adotei.
Portanto, com as configurações padrão…
https://meusite.com/
Ou…
https://meusite.com/index.php
Renderizará o conteúdo de org/home.org e…
https://meusite.com/?p=exemplos/org-markup
Ou ainda…
https://meusite.com/index.php?p=exemplos/org-markup
Renderizará o conteúdo de org/exemplos/org-markup.org.
Copyright©2025, Blau Araujo <blau@debxp.org> - Licença CC-BY-SA 4.0 International