Se você clicou neste artigo, provavelmente sabe o que são essas duas tecnologias, mas se não souber, aqui vai uma explicação rápida:
Obsidian é um editor de descontos repleto de recursos. Mas não é apenas um editor de descontos. É uma forma de gerenciar o conhecimento. É ótimo para organizar seus pensamentos de uma forma flexível e não linear.
Obsidian funciona em todas as plataformas. Assim, você pode escrever artigos basicamente em qualquer plataforma.
Tenho feito todas as minhas anotações há alguns meses e é incrível!
Hugo é um gerador de sites estáticos ultrarrápido feito em golang. Uso o hugo no meu blog há quase 2 anos. Recentemente mudei o tema do meu blog. Leia mais sobre a mudança Novo visual, novo começo.
Neste artigo não mostrarei como configurar essas duas tecnologias, mas apenas como fazê-las funcionar juntas.
Se você não quiser saber como configuro este blog inteiro usando hugo, cloudflare e render.com, leia:Como configuro este blog gratuitamente (domínio, hospedagem, SSL) Guia completo
Se você não deseja um bom guia sobre como usar obsidiana, leia:Primeiros passos - obsidian.md
Meus objetivos para a configuração são:
A forma como meu fluxo de trabalho atual funciona é:
Se você quiser pular a parte da viagem, você pode ir direto para o The Sauce
Vou cometer alguns erros que cometi ao configurar isso.
A primeira ideia que tive foi criar um link simbólico simples (eu uso Linux, aliás) que vincularia as duas pastas.
Basicamente tenho duas pastas:
blog/ vault/
A pasta do blog contém todas as pastas do blog e o cofre é meu cofre pessoal.
O link simbólico vincularia essas pastas
blog/content vault/Blog
No entanto, o problema com um link simbólico é que o conteúdo da pasta não é visível em meu repositório git. Isso significa que as pessoas não podem propor alterações em nenhum dos meus artigos
Eu queria sincronizar minhas pastas. Tentei escrever alguns scripts bash que sincronizaram automaticamente as duas pastas usando um cronjob. No entanto, ter esse plano de fundo constantemente em execução é um desperdício de recursos quando não estou escrevendo. Simplesmente executar os scripts via cli não é tão fácil.
Basicamente, a forma como configurei isso é que tenho duas pastas:
blog vault
A pasta do blog contém todos os arquivos hugo necessários e também possui um subdiretório chamado content que abriga todos os arquivos do blog markdown.
Eu criei uma nova pasta dentro do meu cofre chamada Blog
blog/content vault/Blog
Depois disso copiei todos os meus arquivos do diretório de conteúdo para o Blog.
Comecei então a escrever este mesmo artigo
Eu precisava de alguma forma de configurar um modelo simples para conter todo o material necessário do hugo.
Isso é muito fácil.
Leia sobre como configurar modelos Modelos - obsidian.md
Eu criei um arquivo chamado Blog Post na minha pasta de modelos
Meu modelo de postagem no blog contém o seguinte:
--- title: "{{Title}}" description: date: "{{date:YYYY-MM-DD}}T{{time:HH:mm:ss}} 00:00" draft: true --- **If you enjoyed this article consider [supporting me](https://4rkal.eu.org/donate)**
Tenho todo o texto necessário, incluindo título, descrição e data no formato que Hugo pede.
Também adicionei um pequeno texto de doação que incluo no final de cada artigo.
Isso significa que posso inserir automaticamente este modelo em qualquer arquivo e começar a escrever!
Agora quero que todos os meus arquivos no meu diretório vault/Blog sejam copiados para o blog/content
Graças a um usuário útil do discord, encontrei o plugin obsidian-shellcommands.
NOTA: este plugin atualmente não funciona muito bem com a versão flatpak do obsidian (já que flatpak isola o ambiente). Usar outra alternativa (.deb ou appimage) parece funcionar.
Ele permite que você execute comandos shell em segundo plano com uma tecla de atalho.
As etapas para configurar isso são as seguintes:
No Linux/MacOS, isto é:
cp -a ~/pasta1/. ~/pasta2/
no meu caso, é cp -a ~/Documents/vault/Blog/. ~/Documentos/blog2/content/
No Windows provavelmente é:
robocopy "%USERPROFILE%\folder1" "%USERPROFILE%\folder2" /E /COPYALL
Depois disso, precisamos definir uma tecla de atalho que executará o comando
Clique no ícone ( ) para acessar as configurações de teclas de atalho e atribuir uma tecla de atalho
Minha tecla de atalho é CTR 0, simplesmente porque estava disponível.
Agora toda vez que executo a tecla de atalho ela copia todos os meus arquivos para a pasta hugo prontos para serem publicados
Também quero poder publicar automaticamente meus artigos. Mas eu quero que isso aconteça pressionando uma tecla de atalho.
Eu escrevi um pequeno script que faz exatamente isso:
#!/bin/bash cd ~/Documents/blog hugo git add . git commit -m "new" git push -u origin main
Este script construirá meu site, confirmará e enviará para meu repositório github, onde será coletado e publicado. Leia Como configuro este blog gratuitamente (domínio, hospedagem, SSL) Guia completo para aprender como configurar seu próprio blog gratuitamente.
Não se esqueça de tornar o script executável executando
chmod x ./SEUSCRIPT.sh
Em seguida, crie um novo comando shell para o plugin shellcommand (como fizemos antes) e insira o caminho para o seu script.
No meu caso é:
~/Documents/blog2/push.sh
Em seguida, insira uma tecla de atalho e pronto!
Agora posso simplesmente abrir meu cofre de obsidiana, criar um novo arquivo, inserir meu modelo e ter todas as informações inseridas automaticamente.
Então escrevo meu artigo dentro da obsidiana
Execute minha tecla de atalho e copie todos os arquivos para o diretório hugo
Aperte outra tecla e meu blog será publicado!
Se você gostou deste artigo, considere me apoiar
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3