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 urlhttps://seuSite.com.br/sobre
- para sub-páginas
/content/static/sobre/equipe.md
- gera a urlhttps://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 formatoyyyy-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.