← Wiki

Do Obsidian ao site: guia

  • 4 min de leitura
Nesta página

Este guia monta, do zero, um blog que publica as notas de uma pasta do Obsidian. Ao final, você escreve no Obsidian, move a nota para a pasta blog/, envia o vault, e a página aparece no seu site. Para entender a ideia antes de começar, leia o artigo Escrever no Obsidian e publicar no próprio site.

O site usa o template de blog oficial do Astro, do jeito que ele vem. Nenhum arquivo do template é reescrito: você troca o nome do site e liga a pasta de posts do template à pasta blog/ do vault. Os comandos do Obsidian à Cloudflare foram testados no macOS, com o Astro 7 e o Wrangler 4; a publicação na Cloudflare, em modo de simulação (--dry-run). Os passos que acontecem nos sites do GitHub, da Cloudflare e do Azure DevOps seguem a documentação de cada um.

O que você vai montar

O que você vai montar: blog/ e .site/ no vault, enviados para um repositório privado no GitHub, que dispara a automação; ela baixa só blog/ e .site/, gera o site e o publica na Cloudflare, em meu-blog.sua-conta.workers.dev

Tudo mora num repositório só, o do vault:

Meu vault/
├── blog/                   as notas publicadas e as imagens delas
├── rascunhos/
├── modelos/                o modelo de nota de artigo
├── (as suas outras pastas)
├── .site/                  o template do Astro
│   └── src/content/blog    atalho para ../../../blog
└── .github/workflows/      a automação, se for usar GitHub Actions

As pastas que começam com ponto não aparecem no Obsidian. O template fica dentro do vault, mas fora do caminho de quem escreve.

O ponto central é o atalho em .site/src/content/blog. O template lê os posts dessa pasta. Em vez dos posts de exemplo, ela passa a ser um link simbólico, um atalho do sistema de arquivos, que aponta para a pasta blog/ do vault. O template continua achando que lê a própria pasta, e lê as suas notas.

As páginas, em ordem

Página O que você faz
O Obsidian Instala o Obsidian, cria as pastas, ajusta links e imagens, cria o modelo de artigo e coloca o vault num repositório privado do GitHub
O template do Astro Baixa o template para .site/, liga a pasta de posts ao blog/ e vê o site no seu computador
A Cloudflare Cria a conta, publica o site pela primeira vez e, se quiser, liga um domínio
Publicar com GitHub Actions Faz cada envio do vault publicar o site sozinho
Publicar com Azure Pipelines A mesma automação, para quem prefere o Azure DevOps

As duas páginas de publicação automática são alternativas: escolha uma. Como o vault já fica no GitHub, o GitHub Actions é o caminho com menos contas.

Do que você precisa

  • Um computador com macOS. É onde os comandos foram testados. No Windows, os passos do Obsidian e da Cloudflare são os mesmos, mas o link simbólico da página do template pede outro comando e permissões que este guia não cobre. No Linux, os comandos são os mesmos, mas o GitHub Desktop não existe: envie o vault pelo plugin Obsidian Git ou pelo Git no terminal.
  • Node.js 22.12 ou mais novo, de nodejs.org. É a versão que o template pede no package.json.
  • Uma conta no GitHub e o GitHub Desktop, que guarda o vault no GitHub e faz os envios com botões, sem terminal.
  • Uma conta na Cloudflare. O plano gratuito basta.

Nenhum serviço desta lista é pago para o que o guia faz.

O que é diferente no brunosouzas.com

Este site começou de outro template (o Astroplate) e foi modificado para necessidades que o template de blog não tem. Nada disto é preciso para seguir o guia:

  • Vault e site em repositórios separados. O site lê a pasta do vault por uma variável de ambiente, e a automação baixa os dois repositórios.
  • Português e inglês. Cada texto tem duas versões (<slug>.pt.md e <slug>.en.md), e o site confere se as duas existem.
  • Links entre notas. Um link relativo para outra nota publicada vira o endereço da página dela, e um link para uma nota não publicada para a geração do site.
  • Wiki e séries. Além do blog, uma área de wiki e guias com várias páginas, como este.
  • Capa em SVG e anexos. A capa de cada texto aparece nos cards da lista, e arquivos em files/ viram downloads.