Post
Como publicar parte do meu Vault do Obsidian sem expor o conteúdo privado
Um fluxo com metadados, Bash e Git para manter o Vault privado como fonte de verdade e publicar apenas notas selecionadas.
O Obsidian trabalha diretamente com arquivos Markdown. Isso facilita versionar, processar e publicar as notas, mas também torna perigoso tratar o Vault inteiro como conteúdo público.
Eu queria manter o Vault privado como fonte principal e, ao mesmo tempo, compartilhar um subconjunto de notas. A solução foi separar a decisão de publicação do armazenamento: a nota continua no Vault privado, e um script copia apenas os arquivos explicitamente marcados para um repositório público.
A fonte de verdade continua privada
O fluxo pode ser resumido assim:
- O Vault privado contém todas as notas.
- Uma nota recebe metadados que autorizam a publicação.
- Um script percorre o diretório escolhido.
- Apenas as notas autorizadas são copiadas para outro diretório.
- O diretório público é versionado e publicado separadamente.
Um frontmatter possível seria:
1
2
3
4
---
public: true
publish: true
---
Os nomes dos campos não são importantes. O importante é que o critério seja explícito, fácil de revisar e aplicado pelo script de forma previsível.
O espelho filtrado
Um script inicial pode ser pequeno:
1
2
3
4
5
6
find "$VAULT/notes" -name '*.md' -print0 |
while IFS= read -r -d '' note; do
if rg -q '^public: true$' "$note" && rg -q '^publish: true$' "$note"; then
cp "$note" "$PUBLIC_VAULT/notes/"
fi
done
Em um fluxo real, eu acrescentaria remoção de arquivos que deixaram de ser públicos, preservação de subdiretórios, cópia de anexos autorizados e uma etapa de validação antes do commit.
O repositório público precisa ser tratado como uma saída derivada. Ele não deve virar um segundo lugar para editar a nota, porque isso criaria duas fontes de verdade e divergências difíceis de resolver.
O que revisar antes de copiar
O filtro de frontmatter não protege contra tudo. Eu também verificaria:
- links para notas privadas;
- anexos e imagens com informação sensível;
- nomes de pessoas, hosts e caminhos locais;
- histórico do Git;
- metadados que revelam mais contexto do que o corpo da nota;
- referências que só fazem sentido dentro do Vault original.
Depois da cópia, vale executar uma busca por padrões que não deveriam sair do ambiente privado e revisar o diff antes de publicar.
Esse modelo funciona porque combina uma autorização explícita com ferramentas simples. Markdown mantém a portabilidade, Bash automatiza a seleção e Git fornece histórico. O resultado é publicação seletiva sem transformar o Vault privado em uma coleção de pastas que precisam ser mantidas manualmente.