📜 Papiro
Um gerador de sites estáticos absurdamente rápido, minimalista e feito em Go.
O Papiro transforma seus textos em Markdown em um blog ou site estático completo em milissegundos. Sem dependências complexas, sem banco de dados, apenas um único binário e a beleza do texto puro.
Funcionalidades
- Velocidade Extrema: Compila dezenas de páginas em milissegundos.
- Markdown & Frontmatter: Escreva usando a sintaxe padrão de mercado com metadados em YAML.
- Sistema de Temas: Use temas embutidos como o
default e hacker-news, ou crie o seu na pasta theme/.
- Esquemas de Cores: Alterne entre esquemas como
gruvbox, dracula e tokyonight com uma única linha de configuração.
- Busca Integrada: O Papiro gera um índice de busca (
search_index.json) automaticamente para o seu site.
- Rascunhos (Drafts): Oculte publicações em andamento usando
draft: true.
- RSS Feed Automático: Geração de
feed.xml nativa para seus leitores acompanharem as novidades.
Instalação
Certifique-se de ter o Go instalado na sua máquina e rode:
go install github.com/omurilo/papiro@latest
(O executável papiro estará disponível no seu terminal).
Comandos
O Papiro possui uma CLI simples e intuitiva:
papiro init [caminho]: Inicializa um novo projeto no diretório especificado (ou no atual).
papiro build: Gera a versão estática do seu site na pasta public/.
papiro serve: Inicia um servidor de desenvolvimento local.
-p, --port: Define a porta (padrão: 3000).
-b, --build: Gera o site antes de iniciar o servidor.
-w, --watch: Observa mudanças nos arquivos e reconstrói o site automaticamente.
papiro list-themes: Lista todos os temas embutidos disponíveis.
Como Usar
- Inicie um novo projeto
Crie uma pasta para o seu blog e rode o comando de inicialização:
mkdir meu-blog
cd meu-blog
papiro init
- Escreva
Abra a pasta
content/ e crie seus arquivos .md. O Frontmatter suporta:
---
title: "Meu novo post"
date: "2026-03-14"
author: "Seu Nome"
draft: false
---
# Hello World
- Construa e Visualize
Para ver seu site em tempo real enquanto escreve:
papiro serve -b -w
Acesse http://localhost:3000 e veja a mágica acontecer.
Configuração (papiro.yaml)
Personalize seu site editando o arquivo papiro.yaml:
title: Meu Papiro
description: Um registro das minhas ideias.
url: meublog.com.br
language: pt-BR
theme: default # Opções: default, hacker-news
color_scheme: gruvbox # Opções: default, gruvbox, dracula, tokyonight
Esquemas de Cores
O Papiro suporta temas claro e escuro automaticamente (baseado na preferência do sistema). Os esquemas de cores pré-configurados são:
default: O visual clássico e limpo do Papiro.
gruvbox: Tons terrosos e retro.
dracula: O famoso esquema de cores vibrante e sombrio.
tokyonight: Inspirado nas luzes de Tóquio à noite.
Estrutura de Diretórios
meu-blog/
├── content/ # Seus textos em .md
├── theme/ # (Opcional) Sobrescreva ou crie temas aqui
│ └── default/
│ ├── post.html
│ ├── index.html
│ ├── search.html
│ ├── feed.rss
│ └── static/ # CSS e JS do seu tema
├── papiro.yaml # Configurações globais
└── public/ # O site gerado pronto para deploy!
Motor de Busca
O tema default já vem com uma interface de busca funcional. O Papiro varre todos os seus posts e gera um arquivo public/static/search_index.json durante o build, permitindo buscas instantâneas no lado do cliente sem necessidade de um backend.
Contribuindo
Sinta-se à vontade para abrir issues e enviar pull requests. Toda ajuda é bem-vinda para deixar o motor ainda mais robusto!
Licença
Este projeto está licenciado sob a licença AGPLv3.0 - veja o arquivo LICENSE para mais detalhes.