HyperFluxCMS

Fast. Flexible. Free.

HyperFluxCMS

Como funciona o HyperFluxCMS

Detalhes técnicos do funcionamento do HyperFluxCMS

publicado 01/01/2025 15:00, atualizado 14/04/2026 23:17

Entenda como o HyperFluxCMS processa e gerencia o conteúdo do seu site para mostrar ao visitante um site completo sem que você tenha que se preocupar com os trabalhosos processos de gerenciar conteúdo.

Esta página é para dar uma visão geral de como o HyperFluxCMS lida com as informações do seu site.

Seu site está pronto, instalado e configurado. Existem os templates, os temas, e meia dúzia de postagens já publicadas.

Você então resolve criar uma nova postagem.

Faz login usando seu username e senha, que tem permissão de criar e editar postagens, vê a lista de postagens e cria uma nova.

Na nova postagem, preenche os dados: título da página, subtítulo, imagem de capa, outras informações e o conteúdo.

Você escreve o conteúdo usando zero, uma, duas ou três das Linguagens de Marcação suportadas.

Você odeia HTML, então escreve a maior parte da postagem em HyperLite por ser simples e rápida. Um ou dois elementos você usa HyperCode, porque quis, por exemplo, inserir um vídeo incorporado do Youtube.

Então você clica em Enviar para criar a nova postagem. Aí é que a mágica começa.

Processando os dados da postagem.

Quando uma postagem é criada ou editada, o HyperFluxCMS começa o processamento dele.

Nessa etapa, ele faz automaticamente uma parte do "trabalho sujo" que normalmente dá trabalho quando se edita um site diretamente em HTML.

Uma das coisas que ele faz é processar letras acentuadas e símbolos, trocando-os por "HTML Entities" correspondentes; Dessa forma, você pode escrever seu texto sem preocupações, que ele será exibido corretamente no navegador do visitante

Além, disso, ele tenta entender como você separou seu texto em linhas e parágrafos, e os cria de forma correspondente.

Também cria informações de indexação para que a postagem possa ser localizado na página de busca mesmo que a maiusculização e acentuação usada como critério de busca seja diferente da que consta na página (por exemplo, a página pode conter a palavra "ação" e o visitante buscar "ACAO")

E o principal, compila/converte os códigos escritos em HyperCode ou HyperLite no código correspondente em HTML. Por exemplo, "Texto em *negrito*" escrito em HyperLite é compilado como "Texto em <b>negrito</b>".

Nesse processo ainda substitui as variáveis do tipo de Tempo de Compilação, como por exemplo o @c:user.name do editor, pelos valores correspondentes.

E adiciona referências (não o valor) para variáveis de tempo de tempo de execução como o nome do site e também para templates

Se tudo estiver correto e não houver erros que impeçam a compilação, então o código compilado é inserido no banco de dados.

Note que o trabalho pesado é feito neste momento, quando o editor envia a nova página. Isso garante que seja livre de maior parte dos erros previsíveis.

Transformar o conteúdo da página em HTML neste momento garante que a carga da página seja extremamente rápida quando ela for acessada. Afinal, a página só é editada raramente, e quem a edita pode esperar um ou dois segundos a mais para terminar o processamento. E quando ela é acessada por um visitante do site, ela já terá passado por todo o processo demorado e poderá ser acessada de forma extremamente rápida e sem sobrecarregar o servidos mesmo com muitos acessos simultâneos.

Nota: o código original, escrito por você em quaisquer das linguagens, continua existindo e é o que será usado como base quando você resolver editar a página.

Acessando uma página

Depois que a página foi compilada e salva, o que fica no Banco de Dados é o código HTML quase puro, com o mínimo possível de processamento que inevitavelmente ainda deve ser feito em tempo de execução, quando a postagem for acessada.

Quando um visitante do site acessa a postagem, o HyperFluxCMS a prepara para ser enviada e exibida no navegador.

  1. Primeiro o HyperFluxCMS procura a postagem mais adequada para o que o visitante está tentando acessar: uma página com esse permalink, ou uma página de busca, ou imagem...
  2. Se for um arquivo de imagem da galeria, ou outro arquivo fisicamente existente, ele simplesmente envia o arquivo.
  3. Se for uma imagem de miniatura automática, ele obtém ou gera a miniatura atendendo aos critérios especificados.
  4. Se não, ele procura por uma página cujo permalink seja o solicitado. Se não encontrou, ele inicia uma busca e mostra uma lista de páginas que tenham aquela palavra como categoria.
  5. Se encontrar a página, ele acessa o registro no banco de dados e lê as informações da página, como autor, data, etc.
  6. Nesse acesso, ele lê também o código compilado, pré-processado.
  7. Com esse código, ele procura referências a variáveis de tempo de execução e templates.
  8. Se encontrar referência a um template, ele insere naquele ponto o conteúdo do template e continua o processamento, processando inclusive o código recém-inserido, que por sua vez também pode conter outras referências a variáveis e outros templates.
  9. Se encontrar uma referência a uma variável de tempo de execução, ela é substituída pelo valor atual da variável, como por exemplo, o nome do site.
  10. Após terminar de processar todo o conteúdo, o texto é enviado para ser exibido no navegador do visitante.

Por exemplo:

Visitante acessa a página "seu-site.com/contato"

  1. HyperFluxCMS procura uma postagem com permalink igual a "contato". Encontra.
  2. Então ele lê o código pré-compilado da postagem, que foi criado quando ele foi enviado pelo seu autor.
  3. No código pré-compilado, ele encontra uma referência ao template chamado "site-header".
  4. Ele busca na memória um template chamado "site-header". Encontra. Pega o código pré-processado dele.
  5. Ele insere naquele ponto o conteúdo do template e continua processando desde lá, incluindo desde o primeiro caractere do templates que acabou de ser inserido.
  6. Encontra uma referência à variável site.name. Insere nesse local o valor atual da propriedade "Nome do Site". continua processando.
  7. No código pré-compilado, ele encontra uma referência ao template chamado "site-footer".
  8. Ele busca na memória um template chamado "site-footer". Encontra. Pega o código pré-processado dele.
  9. Ele insere naquele ponto o conteúdo do template e continua processando desde lá.
  10. Chega ao fim do código. Envia o código para o navegador do visitante, que o exibe.

Isso garante que:

  1. Se alguma propriedade como o Nome do Site for alterado nas configurações do site, automaticamente todas as postagens e templates que o usam passem automaticamente a usar o novo nome atualizado.
  2. Se algum template for editado, todos as postagens e templates que o usam passem automaticamente a usar o novo.

Vamos supor que seu site já tenha 500 postagens publicadas. E as postagens usam o template chamado "default", que por sua vez usa o template "header".

Um dia você decide atualizar o visual do seu site. O novo design possui um cabeçalho menor, um menu de navegação com mais opções e botões para redes sociais que antes não tinha.

Nesse caso, basta editar o template "header" para que ele use o novo design. A partir daí, todos as postagens do site que usam o template "header" passarão a usar a versão atualizada. Você não precisará mexer em nada nas 500 postagens já escritas.