Como criar uma biblioteca com o obsidian
Achei esse tutorial de como criar uma biblioteca no obsidian e fui futucar pra ver se serve pra mim. Fiz uns ajustezinhos e ficou lindo!
O objetivo desse post é mostrar como criar um sistema de cadastro e controle de literatura que fique organizado e seja útil para o estudante, principalmente se você está estudando por meio de livros, artigos e outros itens literários. Também é possível fazer uma biblioteca de vídeos, vinis, peças, moedas ou selos.
Preparativos
Para começar é necessário instalar e habilitar três plugins, sendo um do core e dois outros da comunidade, os chamados “não-oficiais”. São eles:
- Templates, plugin core, permite a utilização de modelos nas anotações;
- Dataview, da comunidade, é um dos melhores plugins do obsidian; e
- Quickadd, também da comunidade, facilita muito com atividades repetitivas.
Já tratamos da instalação de plugins da comunidade em um artigo anterior, que pode ser lido aqui. Mas, para facilitar, mostrarei rapidamente como fazê-lo, lembrando que sua interface pode estar em inglês. Vamos aos passos:
Acesse a área de configurações, clicando na engrenagem do lado esquerdo, assim:
Depois, desative o modo seguro, para permitir a instalação de plugins da comunidade. Atente que todos os plugins são verificados e possuem código aberto, mas há sempre algum risco na instalação desses itens.
Clique no botão de “procurar” para acessar os plugins comunitários disponíveis:
E pesquise pelos dois plugins comunitários que usaremos aqui, o dataview e o quickadd:
Instale-os e depois habilite-os, na própria tela de plugins não oficiais.
Repita esse passo para o quickadd.
Usando templates/modelos
Por outro lado, a instalação do plugin Templates, ou Modelos, em português, é mais fácil. É só clicar no botão na tela de plugins nativos:
Agora, vamos ao núcleo deste artigo: criar uma biblioteca.
Comece criando o template para os livros. Crie uma pasta em seu cofre chamada templates
. Em seguida, na tela de configurações, indique ao plugin nativo Modelos que essa será a pasta utilizada pelos templates criados. Busque pelo plugin Templates
na tela de plugins nativos e clique na engrenagem de configuração do plugin. Na próxima tela é só indicar a pasta. Aqui, ó:
Volte à pasta templates
e crie uma nova anotação, chamada de livros_biblioteca
ou outro qualquer que desejar. Só atente que usarei esse nome para fazer outras coisas e você terá que ajustar caso escolha outro nome. Nessa anotação cole o excerto abaixo:
---
Alias:
Autor:
Coleção:
Status:
ISBN:
Capa:
criado em: {{date}}
começo:
fim:
tags:
- lido2022
- tag2
- tag3
---
Esse fragmento, contido entre — é chamado de frontmatter sendo escrito em YAML, uma linguagem de serialização de dados muito usada na escrita de arquivos de configuração. Pode significar tanto yet another markup language (mais uma linguagem de marcação) como YAML ain’t markup language (YAML não é linguagem de marcação), usada mais recentemente. O YAML é voltado para os dados, e não para documentos e é famosa por ser legível e fácil de entender. Caso seu YAML esteja dando erro, efetue a verificação nesse site aqui.
Trataremos, rapidamente, dos itens que inserimos no YAML desse template, que servem como metadados:
- Alias: esse é um campo opcional para indicar títulos alternativos, como em outro idioma, ou o título inteiro de um livro com um grande nome, mas conhecido por parte dele;
- Autor: aqui é o lugar em que se põe o autor, ou autores, da obra. Pode ser feito em wikilinks, para criar ou referenciar uma página específica, como
[[nome do autor]]
; - Coleção: caso a obra faça parte de uma coleção, coloque o nome dela aqui, como
[[star wars]]
; - Status: esse campo pode trazer comandos descritivos da obra, como
lido
,assistido
,pendente
,revisado
, etc. O importante é se manter consistente; - ISBN: caso a obra seja um livro, revista ou periódico;
- Capa: aqui vai a imagem de capa. Pode ser feito de duas maneiras: colocando o wikilink da imagem que consta em seu cofre, como
![[imagem_da_capa.jpg]]
, ou com o link para a imagem, como emhttps://www.exemplo.com.br/imagem_da_capa.jpg
; - Criado em: {{date}}: esse campo deve ser criado automaticamente a se inserir um template em uma nota recém criada e trará a data de criação do arquivo. Caso use o quickadd, esse campo deve ser preenchido manualmente. Prefira usar o formato
yyyy-mm-dd
, assim:2099-12-01
; - começo: essa é a data de início da leitura ou visualização da obra. Usa o mesmo formato de data do
criado em
; - fim: data de conclusão da leitura ou visualização, no mesmo formato do
criado em
; - tags: aqui entram as tags, ou etiquetas, para a organização da obra em listas temáticas. Pode ser algo como
direito administrativo
, ouficção científica
ou ainda algo comolido em 2022
.
Esses são os metadados da anotação!
Metadados são dados sobre outros dados. Um item de um metadado pode dizer do que se trata aquele dado, geralmente uma informação inteligível por computadores e, por vezes, também por humanos. Os metadados facilitam o entendimento dos relacionamentos e a utilidade das informações dos dados e são indispensáveis para a comunicação entre computadores ou sistemas. Todos os dados descritivos de um documento, físico ou digital, sobre autor, data de criação, local de criação, conteúdo, forma, dimensões e outras informações são metadados.
Após a criação da nota e da inserção dos metadados você pode fazer sua anotação normalmente.
Agora, com o template criado é possível utilizar o quickadd para criar um item da sua biblioteca. Esse plugin permite que você crie conteúdo rapidamente para seu cofre usando a paleta de comando. É possível criar uma anotação, aplicar o template e salvá-la na pasta correta. Use o comando ctrl + p
para chamar a paleta e acione o template. Assim:
Esse comando novo_livro2
é o que criaremos agora. Comece chamando as configurações e indo para as opções de plugin.
Clique na engrenagem e, depois, escolha o nome da ação que vamos criar. Veja que já tenho uma criada, chamada novo_livro
. Você pode escolher o nome que desejar. Vou criar um agora, chamado de novo_livro2
, para facilitar o fluxo desse tutorial. Aperte enter.
Após criada a ação, clique na engrenagem dessa ação, e preencha o template a ser usado, seguindo o caminho completo:
Selecione a pasta onde as notas dos livros serão criadas, selecione o caminho e clique em adicionar
:
Ficará como mostrado abaixo:
Aproveite, na mesma tela, para fazer as marcações de preferências de abertura:
Por fim, faça a marcação do raio, para que esse comando apareça na paleta de comando, como mostrado um pouco mais acima.
Como tratamos acima, clique crtl + p
para abrir a paleta de comandos e escreva o nome do seu quickadd para chamá-lo. No meu caso, ao chamar novo
tenho os dois templates, o meu regular e o que estamos criando agora, o novo_livro2
.
Ao selecionar o novo_livro2
abrirá a opção para escolher a pasta. É possível estabelecer diversas pastas pré-selecionadas ou criar na pasta em foco no momento da criação da nota.
Escreva o nome do livro e clique em OK.
Pronto! Uma nova anotação abrirá com o título que você acabou de inserir e com o template já selecionado, para ser preenchido conforme os dados do item a ser criado:
Com a nota criada, insira os metadados e pronto:
Agora precisamos criar uma lista que mostre todos os livros inseridos.
Como criar uma biblioteca, listando seus livros
Comece criando uma anotação, com o nome de Biblioteca
ou Coleção
. Ou qualquer outro que deseje. Em seguida, colocaremos o código do dataview, um dos plugins que instalamos no começo deste artigo. A minha biblioteca tem esse código aqui:
```dataview
table autor, coleção, começo, fim, ("![capaimg|95](" + Capa +")") as Capa
From "Biblioteca/Livros"
sort começo desc
```
O dataview é um dos plugins mais poderosos disponíveis no obsidian. Ele é sinistro para criar visualizações dinâmicas de dados de diversas anotações. Serve como um compilador e apresentador de dados contidos em notas do seu cofre. Seu cofre vira um banco de dados e o dataview ajuda na busca, organização e visualização desses dados.
Esse código logo acima aciona o plugin da forma como uso no meu cofre, mas as possibilidades são muito mais extensas. Vamos, no entanto, nos manter no básico e visualizar o que cada um dos comandos faz:
table autor, coleção, começo, fim, ("![capaimg|95](" + Capa +")") as Capa
- serve para criar uma tabela com as seguintes colunas: autor, coleção, começo, fim e com a capa do item;From "Biblioteca/Livros"
- diz ao dataview onde deve buscar as informações que serão mostradas. Nesse caso, da pastaLivros
que fica na pastaBiblioteca
;sort começo desc
- estabelece a ordem onde os dados serão mostrados. Serão organizadas pela colunacomeço
, em ordem descendente, ou seja: começando do último item inserido. Para usar a ordenação alfabética é só trocar esse fragmento porsort file.name asc
.
Ao lançar essa query do dataview na nova anotação deve aparecer uma lista com o(s) livro(s) que você já criou. Acabei criando um segundo livro para mostrar como fica:
Ficou legal, não é? Mas pode ficar mais bonito!
O obsidian permite que façamos a inserção de CSS personalizado para alterar a visualização do aplicativo. E vamos colocar aqui um CSS para criar pequenas linhas entre os livros.
CSS é a sigla para Cascading Style Sheets, ou seja, Folhas de Estilo em Cascatas. É uma maneira de dar estilo ao código criado por linguagens como HTML, XML ou XHTML, por exemplo. De forma prática, ela funciona como uma camada de personalização ao conteúdo visível.
Vamos agora criar um CSS e habilitá-lo para que a página da biblioteca fique mais agradável. Comece criando um arquivo chamado linha_lista_de_livros.css
na pasta /.obsidian/snippets/
do seu cofre com o código abaixo dentro:
.table-view-table tr {
border-bottom: 1px solid;
}
Depois, vá na aba de Aparência
nas configurações do seu obsidian e habilite o CSS que acabamos de criar:
Após esse passo, a biblioteca ficará assim:
Mais legal, não é? É claro que esse passo é opcional e não impede o funcionamento do sistema que estamos criando.
É possível criar listas de leituras feitas por ano, como, por exemplo, todos os livros lidos em 2020, 2021 ou 2022, com esse pequeno código inserido em alguma anotação de sua escolha:
```dataview
table rows.file.link as Livro
from "Biblioteca/Livros"
WHERE fim >= "2022/01/01" AND fim <= "2022/12/31"
group by fim
sort fim asc
```
Abaixo segue um fragmento da minha lista real de leituras realizadas em 2022, já que os livros que criamos em nosso exemplo ainda não possuem data de conclusão.
Se você desejar listar todos os autores em sua biblioteca, crie uma anotação chamada Autores
e coloque o código dataview abaixo:
```dataview
TABLE WITHOUT ID
autor AS Autor
FROM "Biblioteca/Livros"
SORT autor ASC
GROUP BY autor
```
Com isso todos os autores estarão listados, para uma consulta rápida e, se você tiver criado páginas respectivas para os autores, aparecerá um link para ela.
Nesse caso, de uma página criada por autor, você pode listar todos os livros dele(a) com esse pequeno código:
```dataview
TABLE WITHOUT ID
("![coverimg|100](" + capa +")") AS Capa,
file.link AS "Título"
FROM "Biblioteca/Livros"
WHERE autor = this.file.link
```
Para este fragmento funcionar, deve ser colado na página que possua o nome do autor como título.
Bem, lembre-se que é possível utilizar esse sistema para livros, filmes, séries, vinil, colecionáveis e muito mais! Experimente e aperfeiçoe para ser feliz!
Comentários, Dúvidas, Críticas e Sugestões