Antes de qualquer coisa precisamos habilitar o cgi no Apache para ler arquivos binários compilados em C++ .
Nós mostramos como fazer isso de forma detalhada no Curso de C++ Moderno Avançado, se você não adquiriu e não sabe, sugiro você ver esse artigo que apesar de ter feito para Shell Script, você pode seguir e alterar o .sh
por .cpp
.
Após isso basta criar o nosso código em C++ que irá ler o arquivo Markdown, da seguinte forma:
Vamos chamar ele de readfile.cpp
. No meu caso que estou no Gentoo, ele fica dentro do diretório /var/www/localhost/cgi-bin
. Dentro desse diretório, criei outro diretório de nome cpp
.
Lembrando que em alguns casos precisa de permissão de
root
, exemplo:sudo mkdir -p /var/www/localhost/cgi-bin/cpp
Perceba que o nome do arquivo que iremos ler é file.md
(estou usando esse exemplo de arquivo markdown ), mas você pode fazer isso dinamicamente, esse é só um exemplo.
Agora é só compilar, exemplo: g++ readfile.cpp -o readfile
. Pronto, agora temos um arquivo binário com mime-type plain/text de nome readfile
somente.
Próximo passo é fazermos o download do Marked que é um parser em JavaScript que irá converter nosso Markdown em HTML:
Você pode fazer a requisição via GET ou POST de outras maneiras: com fetch, axios, … ou até mesmo com JavaScript puro! Mas nesse caso vamos usar jQuery por se tratar de uma lib de fácil manuseio e por conta da sua alta disponibilidade na internet. E também vamos baixar o jQuery:
Note: que eu baixei a versão 3.4.1 que é a justamente a que eu uso no site Terminal Root.
Dentro do diretório que criei e escolhi baixar e salvar os arquivos, já há:
Agora basta criarmos um arquivo no seu servidor Apache, exemplo index.html
com o seguinte conteúdo:
Note que o endereço do meu
readfile
está em: http://localhost/cgi-bin/cpp/readfile (no meu computador).
Pronto, agora é só acessar meu index.html
que está na raiz do meu servidor e o file.md
será exibido:
clique na imagem para ver em alta resolução
Lembrando que adicionei um CSS para ficar mais legal! 😃
Fácil, né?
A lista é grande porque a maioria dos aplicativos de sucesso usam C++.
Por hoje é só!
Então se inscreva nos nossos Cursos de C++ Moderno . Você aprender criar:
Acesse o endereço:
cpp cppdaily javascript markdown html apache css