Como bem sabemos, um dos diferenciais positivos do Apache se compararmos ao NGINX é que ele é modular, ou seja, podemos adicionar e remover recursos , coisa que no NGINX não é possível.
Se você tentar acessar arquivo .md
no Apache ele não irá abrir o arquivo , mas se você alterar o arquivo de configuração do Apache para ler esse arquivo, ainda sim, ele não converterá os símbolos MarkDown em HTML, para isso vamos usar um parser que pode ser adquirido no endereço: https://github.com/hamano/apache-mod-markdown . Vamos ver como instalá-lo, configurá-lo e customizá-lo aqui nesse artigo para que você possa abrir seus arquivos MarkDown.
sudo emerge -a app-text/discount # Gentoo, Funtoo, ...
apt install build-essential libtool automake autoconf libmarkdown2-dev apache2 apache2-dev # Debian, Ubuntu, ...
git clone https://github.com/hamano/apache-mod-markdown
cd apache-mod-markdown/
./configure
com o autotools:autoreconf -f -i
./configure
para verificar as dependências e gerar o Makefile
:./configure
Se tiver algum problema, descubra o caminho do seu arquivo
mkdio.h
usando o comando:find /usr/ -name mkdio.h
no meu caso foi encontrado em:/usr/include/mkdio.h
, então vou usar ele para a variável: DISCOUNT_DIR , assim:./configure --with-discount=/usr/include
.
make
sudo make install
sudo vim /etc/apache2/httpd.conf
e insira essa linha ao arquivo:LoadModule markdown_module modules/mod_markdown.so
Algumas distros o caminho do módulo é diferente, no meu caso é o padrão da instalação mesmo:
/usr/lib64/apache2/modules/mod_markdown.so
, mas distros como Debian, Ubuntu,… o caminho pode ser outro, verifique e insira o módulo corretamente, exemplo:LoadModule markdown_module /usr/lib/apache2/modules/mod_markdown.so
.md
e .markdown
e também aceitar páginas Index em .md
também, edite ou inclua-os: sudo vim /etc/apache2/modules.d/00_default_settings.conf
, verifique o caminho na sua distro.<IfModule dir_module>
DirectoryIndex index.html index.md
AddHandler markdown .md
</IfModule>
sudo rc-service apache2 restart
Se seu sistema usa systemd , esqueça o comando acima e use esse:
sudo systemctl restart apache2
O caminho do seu Web Server pode ser diferente, verique antes.
echo -e "## Teste markdown no Apache\n> Tudo certo.\n" > /var/www/localhost/htdocs/teste.md
Depois abra um navegador e acesse: http://localhost/teste.md
Se renderizar é porque está tudo certo.
Se quiser utilizar um CSS próprio por padrão, você pode editar o arquivo: sudo vim /etc/apache2/modules.d/00_default_settings.conf
e adicionar a linha MarkdownCss style.css
ao mesmo (logo após o AddHandler que criamos/editamos acima) . Então é só criar um arquivo .css no diretório do seu arquivo .md
que ele lerá automaticamente, exemplo:
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.sh index.cpp index.md
AddHandler markdown .md
MarkdownCss style.css
</IfModule>
Lembre-se se restartar o Apache para que as alterações tenham efeito.
Por padrão ele renderiza o markdown em uma versão do HTML (4.01) se quiser alterar para HTML5 , edite também o o arquivo: sudo vim /etc/apache2/modules.d/00_default_settings.conf
e adicione a linha MarkdownDoctype
e o argumento HTML_5 , assim:
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.sh index.cpp index.md
AddHandler markdown .md
MarkdownDoctype HTML_5
</IfModule>
Você pode usar em conjunto(uma linha acima ou abaixo) com o MarkdownCss
, existem outras opções também como: MarkdownHeaderHtml
, MarkdownFooterHtml
, MarkdownWrapper
e MarkdownFlags
, essa última serve pra customizar a renderização de acordo com o Discount .
Veja alguns outros artigos e vídeo sobre MarkDown: