Skip to content

feat(design): permite importar artigo inteiro via Markdown no post - #47

Merged
tecrodrigocastro merged 5 commits into
php-pb:masterfrom
tecrodrigocastro:feat/import-markdown-posts
Oct 22, 2026
Merged

tecrodrigocastro merged 5 commits into
php-pb:masterfrom
tecrodrigocastro:feat/import-markdown-posts

Conversation

@tecrodrigocastro

Copy link
Copy Markdown
Contributor

Resumo

Hoje o conteúdo do post só podia ser montado bloco por bloco (título/parágrafo/imagem), um de cada vez pelo Builder do Filament — inviável para artigos grandes já escritos em outro lugar.

Agora o formulário de post (admin e membro) tem duas formas de preencher o conteúdo, lado a lado:

  1. Builder manual (como já era) — continua funcionando normalmente
  2. Importar Markdown (novo) — botão que abre um modal com um textarea, cola o Markdown do artigo inteiro e ele é convertido automaticamente nos mesmos blocos que o editor manual produz

Como funciona a conversão

  • ##/###/outros headings → bloco de título (níveis clampados pra h2/h3/h4, que é tudo que o bloco de título suporta)
  • Parágrafos, listas, blockquotes, código → bloco de parágrafo (preserva o HTML gerado pelo Markdown)
  • ![alt](url) sozinho em uma linha → vira seu próprio bloco de imagem; imagem inline no meio de um parágrafo continua dentro do bloco de parágrafo
  • Suporta GitHub Flavored Markdown (tabelas, tachado, etc. via league/commonmark, que já era dependência transitiva do projeto via Laravel — nenhum pacote novo foi adicionado)

Importar substitui os blocos atuais (o usuário pode continuar editando manualmente depois de importar, ou usar o Builder direto se preferir nunca tocar em Markdown).

Test plan

  • vendor/bin/pint --test
  • vendor/bin/phpstan analyse
  • php artisan test (73 testes — 7 novos cobrindo o conversor: headings, parágrafos, listas, imagem isolada vs. inline, geração de uuid, documento completo; 2 novos confirmando que o botão aparece nos dois painéis)
  • Build via npm run build
  • Testado manualmente via tinker: markdown de exemplo convertido corretamente na ordem certa

@tecrodrigocastro
tecrodrigocastro merged commit 4df4a05 into php-pb:master Oct 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant