Pular para o conteúdo principal

Stylesheets

Sistema automatizado para carregamento de folhas de estilo

Classe responsável pelo processamento e carregamento de arquivos CSS no site.

Esta documentação aborda o uso prático da classe Stylesheets no desenvolvimento de templates e extensões.
O foco está na organização dos arquivos, funcionamento automático e estrutura utilizada pelo sistema.

Estrutura:

    template/?/
    └── assets/
        └── css/
            ├── block/
            │   ├── style.css
            │   ├── is-page.css
            │   └── is-home.css
            │
            ├── late/
            │   └── style.css
            │
            └── linked/
                ├── footer.css
                ├── header.css
                └── hello-world.min.css
    

Folhas de estilo condicionais

A classe Stylesheets inclui automaticamente arquivos CSS condicionais com base na rota atual.
Basta criar arquivos com nomes específicos dentro do diretório block/.

Arquivos condicionais disponíveis
Arquivo Condição Descrição
is-404.css is_404() Páginas de erro 404
is-categories.css is_categories() Listagens de categorias
is-listing.css is_listing() Listagens em geral
is-home.css is_home() Página inicial
is-page.css is_page() Páginas comuns
is-post.css is_post() Posts individuais
is-user.css is_user() Perfis de usuário

Exemplo:
assets/css/block/is-home.css
O arquivo será carregado automaticamente apenas na página inicial.

Notas:

  • Arquivos no diretório block/ são comprimidos e inseridos diretamente no documento HTML.
  • Arquivos no diretório late/ também são comprimidos e inseridos diretamente no documento HTML, porém no fim do documento antes do fechamento da tag </body>.
  • O sistema utiliza cache interno para evitar múltiplas inclusões do mesmo arquivo CSS.
  • Arquivos no diretório linked/ são combinados e servidos como arquivos únicos.
  • Arquivos CSS maiores que 100KB no diretório linked/ são automaticamente divididos em múltiplos arquivos. O nome dos arquivos é o slug do título do site seguido por .min.css, part-2.min.css, part-3.min.css e assim por diante.

  • Stylesheets::late_block() ainda não suporta folhas de estilos condicionais.
  • Stylesheets::block() seguido de Stylesheets::linked() são chamados dentro da função head(). Stylesheets::late_block() é chamado dentro da função foot() antes de outros ativos.
  • Todo CSS processado pela classe Stylesheets é automaticamente comprimido antes da saída final.