HTMLy CMS

Sua fonte de referencia sobre o CMS no idioma português

GitHub deste site

HTMLy CMS em Língua Portuguesa | Estrutura

Organização do HTMLy CMS

Basicamente as tecnologias utilizadas no CMS são: arquivos JSON, HTML, CSS, JavaScript e PHP e texto com MarkDown (MD).

Fluxo de carregamento do sistema

/config/config.ini /system/vendor/autoload.php /system/htmly.php

Estrutura dos diretórios

/ <-- Diretório raiz. Arquivos PHP de inicialização do sistema. index.php install.php upload.php ... /backup <-- Contém os backups com formato htmly_datadecriacao.zip /cache <-- Contém informações do cache downloadInfo.json installedVersion.json /index index-author.txt index-category.txt index-page.txt index-sorted.txt index-sub-page.txt index-unsorted.txt /page /widget category.list.cache /config <-- Apresenta as configurações config.ini.example <-- Modelo de configuração geral do site (titulo do blog, tema, idioma e mais) O arquivo do site é criado pelo "install.php", caso necessário use o método crie manual /users <-- Contém os usuarios utilizados para administrar o CMS username.ini.example <-- Arquivo padrão para criação de usuarios copie e renomeie para "nomedousuario.ini" - exemplo jose.ini para o usuário jose depois altere a senha na linha 'password = yourpassword' para permissão de acesso também há a linha 'role = admin' /content <-- Apresenta todo conteúdo do site /data <-- Contem arquivo de configuração configList.json <-- Chaves do arquivo de configuração menu.json <-- Inclui os dados gerados através do Editor de menu views.json <-- Lista dos nomes das postagens tags.lang <-- Tags /category <-- Guarda as informações das categorias nome-categoria.md ... /images <-- Contém as imagens carregadas através do Editor /usuario <-- Nome do usuario (autor) /blog <-- Tipo de site /categoria-nome <-- pasta com o nome categoria criada (podendo ter varias) /post <-- pasta do tipo de conteúdo (nesse caso Postagem padrão) xxxx.md <-- Arquivo na extensão .md (MarkDown) com o formato yyyy-mm-dd-hh-mm-ss_nometag1,nometag2_nome-artigo.md (isto é ano-mes-dia-hora-minuto-segundo_nomet***.md) /audio <-- pasta do tipo de conteúdo (nesse caso Postagem com audio) /image <-- pasta de artigos com tipo Postagem com imagem /link <-- pasta de artigos com tipo Postagem de link /quote <-- pasta de artigos com tipo Postagem com citação /video <-- pasta de artigos com tipo Postagem com video /draft <-- pasta com postagem em rascunho /static <-- Pasta com páginas estáticas (formato nomedapagina.md) sobre.md <-- Exemplo de pagina estática contato.md <-- Exemplo de pagina estática nome-pagina-pai.md <-- Página estática com página filha (tanto o arquivo quanto a pasta tem o mesmo nome) /nome-pagina-pai nomepaginafilha.md /lang <-- Apresenta arquivos .ini de idioma a nível de CMS en_US.ini <-- Para o idioma inglês pt_BR.ini <-- Para o idioma português ... /system <-- Contém arquivos do funcionamento do CMS htmly.php <-- Arquivo contendo diversas funções de rotas (controller) /admin <-- Incluir tema e funções do painel de administração admin.php /editor LICENSE.txt package.json /css editor.css /img wmd-buttons.png /js editor.js jquery.ajaxfileupload.js Markdown.Converter.js Markdown.Editor.js Markdown.Extra.js Markdown.Sanitizer.js node-pagedown-extra.js node-pagedown.js /local Markdown.local.fr.js /views 404.html.php add-content.html.php add-page.html.php backup.html.php backup-start.html.php categories.html.php category-list.html.php clear-cache.html.php config-custom.html.php config.html.php config-metatags.html.php config-performance.html.php config-reading.html.php config-widget.html.php content-type.html.php delete-category.html.php delete-page.html.php delete-post.html.php denied.html.php edit-content.html.php edit-page.html.php import.html.php layout.html.php login.html.php logout.html.php main.html.php menu.html.php no-posts.html.php popular-posts.html.php posts-list.html.php static-pages.html.php updated-to.html.php update.html.php user-draft.html.php user-posts.html.php /includes <-- Diversos arquivos essenciais dispatch.php functions.php opml.php session.php /plugins <-- Pasta destinadas aos plugins do sistema /resources <-- São recursos simples do CMS readme.txt /css adminlte.min.css font-awesome.css jquery-ui.css toolbar.css /fonts FontAwesome.otf fontawesome-webfont.eot fontawesome-webfont.svg fontawesome-webfont.ttf fontawesome-webfont.woff fontawesome-webfont.woff2 glyphicons-halflings-regular.eot glyphicons-halflings-regular.svg glyphicons-halflings-regular.ttf glyphicons-halflings-regular.woff /images logo-small.png logo-big.png /jquery-ui ui-icons_444444_256x240.png ui-icons_555555_256x240.png ui-icons_777620_256x240.png ui-icons_777777_256x240.png ui-icons_cc0000_256x240.png ui-icons_ffffff_256x240.png /js adminlte.min.js bootstrap.min.js jquery.min.js jquery.nestable++.js jquery.nestable.js jquery-ui.min.js /upgrade <-- Arquivos referente a atualização do CMS index.php run.php /vendor <-- Conjunto de recursos criados por terceiros utilizados no CMS autoload.php /composer /ircmaxell /password-compat /jbroadway /urlify /kanti /hub-updater /michelf /php-markdown /suin /php-rss-writer /themes <-- Local para colocar as pastas dos temas do site/blog

Edição de arquivos manualmente

Conheça a estrutura dos arquivos:

/username/blog/category/type/ - ao qual o type pode ser: post, video, audio, link e quote.

  • username deve ser o mesmo de config/users/username.ini
  • category deve corresponder a category.md dentro de content/data/category/category.md exceto a categoria uncategorized (não categorizada - não precisa estar nessa pasta)

Para páginas estáticas envie os arquivos para /content/static:

  • ao criar a página 'sobre' /content/static/sobre.md - gera a url https://seuSite.com.br/sobre
  • para sub-páginas /content/static/sobre/equipe.md - gera a url https://seuSite.com.br/sobre/equipe
Nome de arquivo

Quando você cria um post pelo painel de controle é criado um arquivo com o padrão:

2021-03-16-10-32-40_tag1,tag2,tag3_nome-do-artigo.md

Explicação (separada pelo sublinhado):

  • 2021-03-16 é a data da criação da postagem no formato yyyy-mm-dd-hh-mm-ss;
  • tag1,tag2,tag3 são as tags relacionadas ao artigo/post separadas por vigula quando há mais de uma;
  • nome-do-artigo representa a URL.
Meta tags de conteúdo

Para edição de arquivo manual você precisa criar as tags:

Defina o título entre os 't'
<!--t Título t-->

Coloque a descrição entre os 'd'
<!--d Descrição d-->

Escreva o nome das tags relacionadas entre 'tag' de início e fim
<!--tag tag01,tag02,tag03,tag04,tag05 tag-->

Postagem com imagem em destaque entre os 'image'
<!--image http://www.example.com/image-url/image.jpg image-->

Postagem de vídeo do Youtube em destaque entre os 'video'
<!--video ´https://www.youtube.com/watch?v=xxxxxxx video-->

Postagem com áudio do SoundCloud em destaque entre os 'audio'
<!--audio ´https://soundcloud.com/xxxx/audio-url audio-->

Postagem de link em destaque entre os 'link'
<!--link https://linkdoartigodestacado.com.br link-->

Postagem de citação em destaque entre os 'quote'
<!--quote A citação é uma marca do dialogismo linguístico, feita para sustentar uma hipótese ...(Wikipedia) quote-->

Exemplo completo:
<!--t Título do artigo t--> <!--d Descrição do artigo (resumo) d--> <!--tag Tag1,Tag2 tag--> <!--video https://www.youtube.com/watch?v=xxxxxxx video--> Introducao do artigo Desenvolvimento Conclusao.

Categoria

Crie uma categoria, por exemplo, 'Informática' dentro de content/data/category/informatica.md com o conteúdo:

<!--t Informatica t--> <!--d Descrição dessa categoria d--> Informação dessa categoria.

Para adicionar uma Postagem padrão de nome 'smartphones' na categoria 'Informatica' crie-o na seguinte estrutura: content/usuario/informatica/post/smartphones.md - 'post' é um dos tipos de postagem.