Bases (consultas salvas sobre as notas)

Uma Base (.lnq, em Arquivo → Novo → Nova Base) é uma consulta salva sobre as suas notas: filtre por tipo e por propriedades e veja o resultado como tabela ou quadro. A Base não guarda dado nenhum — as linhas são as suas notas .md e a fonte da verdade de cada célula é o frontmatter da nota. Apagar um .lnq não perde nota alguma.

Editar a célula grava na nota. Na tabela, alterar uma propriedade reescreve só aquela linha do frontmatter do arquivo. No quadro, arrastar um cartão de uma coluna para outra grava o novo valor da propriedade de agrupamento (ex.: mover de lendo para lido).

Tabela, quadro e filtro

Ver o guiaBases sobre as notas Guia

Filtro, agrupamento e colunas. A célula abre para edição com dois cliques ou F2. No diálogo Filtro, escolha entre Todas as condições (E) e Qualquer condição (OU); o operador aparece em palavras (é igual a, contém, está vazio…) e o botão ao lado de cada condição a remove. No quadro, o seletor Agrupar por escolhe a propriedade das colunas — sem escolha, a Base sugere status. A largura que você arrasta numa coluna da tabela fica gravada na Base, e Exportar CSV leva o que a tabela mostra, com o filtro rápido aplicado. Chaves com acento (situação:) e listas (autores: [Ana, Bia], ou um item por linha) viram colunas; editar uma lista pela célula grava de volta como lista, na mesma forma. Uma propriedade que é um bloco aninhado aparece, mas não se edita pela Base — a barra diz por quê.

Células pelo tipo. Cada coluna se desenha pelo tipo da propriedade: caixa de seleção que se marca com um clique, pílulas para lista e lista de opções, data no formato do seu idioma, número alinhado à direita e o título em destaque. O tipo vem do esquema declarado e, sem ele, do que as notas já usam; a lista de opções abre um seletor e a data, um calendário. Clique no cabeçalho para ordenar (de novo, para inverter) — a ordenação fica gravada na Base, como pelo botão Ordenar. Arraste o cabeçalho para mudar a ordem das colunas; o botão direito nele renomeia a coluna (só o nome exibido — a chave da nota não muda) ou a oculta. As condições do filtro aparecem como etiquetas abaixo da barra: clique para editar, × para remover. Quando nada aparece, a tabela diz por quê. No quadro, cada cartão mostra as propriedades escolhidas em Propriedades no cartão, cada coluna mostra quantos cartões tem, e as opções declaradas viram colunas mesmo vazias. O botão direito numa linha abre a nota — também ao lado. Com a nota aberta numa aba, a edição vai para a aba: se ela não tinha alterações, é salva na hora; se tinha, a mudança fica nela até você salvar.

Várias visões e totais. O botão + ao lado das abas cria uma visão nova da mesma Base — Tabela, Quadro, Galeria, Lista ou Calendário —, que nasce com as colunas e a ordenação da atual e daí em diante guarda as próprias. O filtro é o da Base, o mesmo para todas. O botão direito numa aba renomeia, duplica ou exclui a visão (a primeira não se exclui). Na galeria, escolha em Capa a propriedade que aponta uma imagem da pasta (capa: foto.png ou ![[foto.png]]); na lista, as propriedades vêm na mesma linha do título; no calendário, cada nota aparece no dia do Campo de data, e arrastá-la para outro dia grava a data nova. O rodapé da tabela mostra totais: clique embaixo de uma coluna para escolher soma, média, mínimo, máximo, mediana, desvio padrão, a data mais antiga ou mais recente, as marcadas, as preenchidas ou os valores únicos — só as funções que servem para o tipo da coluna. O total segue o filtro rápido. Um app mais antigo que abra a Base vê só a primeira visão. O botão direito numa aba também muda o layout da visão. As abas ficam numa linha própria, com a contagem e o menu ⋯; embaixo ficam as ações e a busca, e numa aba estreita os botões mostram só o ícone, com o nome na dica.

Fórmulas e Bases do Obsidian. Em Propriedades → Nova fórmula... você cria uma propriedade calculada, que vira coluna como qualquer outra e é citada como formula.nome — por exemplo nota * 2, if(lido, "✓", ""), (prazo - today()).days ou file.hasTag("livro"). O valor é calculado na hora e nunca é gravado nas notas; o botão direito no cabeçalho edita a fórmula, e um erro aparece com a posição dele. Um arquivo .base do Obsidian se importa pelo botão direito na árvore, em Importar como Base (.lnq): nasce uma Base ao lado dele com filtros, visões, fórmulas, ordenação e totais, o .base continua no lugar, e o que não tem equivalente é listado ao fim. Um filtro que é uma expressão vira uma condição por expressão, mostrada como etiqueta com ƒ — um app mais antigo a ignora e mostra mais notas, nunca menos. Pelo MCP, query_notes com base (e view) responde o mesmo que a tela.

Embutir uma Base numa nota. Numa linha sozinha, ![[leituras.lnq]] mostra a Base como uma tabela somente leitura no modo leitura, no editor formatado e na exportação; ![[leituras.lnq#Lidos]] mostra a visão Lidos (a visão sem nome responde pelo nome da aba, como Tabela). O nome no topo abre a Base, o título de cada linha abre a nota, e passando de 50 linhas a tabela diz quantas ficaram de fora. Se a visão agrupa (a tabela com Agrupar, ou o quadro), sai uma tabela por grupo, com o nome e a contagem de cada um em negrito, na ordem da tela. Ela é tão atual quanto o índice das notas, que a janela atualiza ao abrir a pasta. Nas fórmulas e nos filtros, this é a nota em que a Base está embutida (ou a própria Base, quando aberta): projeto == this.file.name faz uma Base só servir a todos os projetos, e file.hasLink(this.file) lista as notas que apontam para esta. Listas aceitam map, filter e reduce — por exemplo autores.map(value.upper()), notas.filter(value > 7) e precos.reduce(acc + value, 0), com value, index e acc —, além de containsAll, containsAny, flat e slice.

Agrupar, quebrar, congelar e colorir a tabela. Na tabela, Agrupar separa as linhas por uma propriedade, com um cabeçalho por grupo que mostra quantas notas ele tem; clicar no cabeçalho recolhe ou abre o grupo, e recolher é só da tela — não muda a Base, a contagem, os totais nem o CSV. Em Exibir ficam Quebrar o texto nas células (a linha cresce para mostrar o texto inteiro), Congelar a primeira coluna (ela fica parada enquanto as outras rolam para o lado) e Cores das linhas...: cada regra é uma expressão, como status == "atrasado" ou prazo < today(), e uma cor; a primeira regra verdadeira pinta a linha, num tom que acompanha o tema claro e o escuro. Tudo isso é guardado por visão, e um app mais antigo simplesmente mostra a tabela sem essas opções.

Linha do tempo, cores das opções e capa. A visão Linha do tempo desenha uma barra por nota, do campo de Início ao de Fim (sem fim, um dia só), com hoje marcado e a escala em dias, semanas ou meses; arrastar a barra desloca as duas datas pelo mesmo número de dias e grava na nota, e a cor da barra segue as cores das linhas. No editor de tipos, Cores das opções... dá uma cor a cada valor de uma Lista de opções: ela aparece na pílula da tabela, nos cartões e num ponto no cabeçalho da coluna do quadro. Na galeria, a capa pode ser a Primeira imagem da nota, sem precisar de uma propriedade para isso.

Propriedades, esquema e Git

Cada nota declara suas propriedades no frontmatter (type, status, autor…). Use a mini-barra Propriedades da nota para editá-las como campos tipados (texto, número, data, caixa de seleção) em vez de YAML cru — veja Notas em Markdown.

O .lnq é NDJSON (um registro por linha), pensado para o Git: duas máquinas podem editar a mesma Base em paralelo — uma acrescenta uma coluna, a outra ajusta um filtro — e o merge junta as duas mudanças sem conflito.

Esquema declarado (opcional). Por padrão o LightNote infere os campos de cada tipo a partir do que as notas já usam — você não precisa declarar nada. Quando quiser fixar o esquema, abra Ferramentas → Tipos de nota... (ou o botão de engrenagem da mini-barra Propriedades da nota): declare os campos de cada tipo, o seu tipo de dado (texto, número, data, caixa de seleção, lista de opções) e um modelo padrão. Com o esquema, um campo de lista de opções vira uma caixa de seleção com os valores permitidos, os campos declarados aparecem nos seletores de coluna e filtro da Base mesmo antes de qualquer nota usá-los, e o botão Aplicar modelo do tipo traz o esqueleto da nota. O esquema vive em .lightnote/types.ndjson — NDJSON mergeável, versionado no Git com as notas; apagá-lo não altera nota nenhuma, só volta a inferência.

Datas relativas no filtro. No valor de uma condição valem termos como hoje, ontem, amanhã, há 7 dias e em 2 semanas (também há 3 meses, em 1 semana). Com eles, vencimento = hoje e vencimento < hoje (atrasadas) continuam valendo amanhã — antes só dava para escrever a data do dia à mão, e a consulta salva envelhecia em 24 h. O valor é sempre um ponto no tempo, e a faixa sai da composição com o operador: modificado > há 7 dias é "mexi nesta semana". Uma nota sem data legível naquele campo não entra em nenhuma comparação de data, nem na negativa. Uma data ISO escrita à mão (2026-09-01) continua valendo como texto.

O índice roda em segundo plano. A Base e o Ferramentas → Consultar notas (SQL) varrem as notas antes de mostrar o resultado — um stat em cada arquivo e a leitura das que mudaram desde a última vez. Isso agora acontece fora da janela: a Base abre na hora dizendo Indexando as notas… na barra e se preenche quando termina; o botão Reindexar fica desabilitado enquanto isso, porque uma segunda varredura da mesma pasta não adiantaria nada.

Campos das tarefas

Campos das tarefas. Cada tarefa de um quadro de tarefas (.lnt) tem uma nota, e ela aparece na Base com os campos do quadro: task.status, task.column, task.done, task.due, task.start, task.end, task.completed, task.priority, task.progress, task.effort, task.tags, task.checklist, task.archived, task.board. Na tabela, o cabeçalho mostra o nome do campo (Status, Vencimento…), e o nome técnico fica na dica e no menu Propriedades. task.done é true na última coluna do Kanban, task.priority mostra o nome da prioridade, como no quadro (de Baixa a Urgente, vazio quando não há) — ordenar e filtrar usam o número gravado, de 1 a 4 e task.checklist mostra itens feitos/total. Eles só entram nos seletores quando a pasta tem um quadro, e são somente leitura: quem manda é o quadro, e a nota não recebe uma cópia no frontmatter — assim arrastar um cartão no Kanban nunca deixa os dois discordando. Para mudar o status, use o quadro de tarefas; no quadro da Base, agrupar por um campo task. mostra as colunas mas não aceita arraste. Numa tarefa de início relativo, task.start fica vazio, porque essa data só é calculada com o quadro aberto. Um status que você mesmo escreva no frontmatter da nota continua sendo seu e editável, ao lado do task.status. Em Ferramentas → Consultar notas (SQL) os mesmos campos se leem como task.status. task.column é a posição da coluna no Kanban (1, 2, 3…), e por isso o quadro da Base agrupado por task.status mostra as colunas na ordem do Kanban, e não em ordem alfabética.

Editar a Base com IA

Editar com IA…, na barra da Base, recebe um pedido em texto livre — preencha o autor de cada livro, marque como lido o que tem nota, mostre a coluna autor e ordene por ano — e a IA propõe as alterações: gravar propriedades no frontmatter das notas e mudar a estrutura da Base (mostrar ou ocultar colunas, o nome exibido de uma coluna, fórmulas, ordenação, agrupamento e filtro). Ela não cria nem apaga notas: isso continua sendo gesto da árvore.

A revisão é a mesma da tabela personalizada: nada é gravado antes do Aplicar, e o que você desmarcar fica de fora. A propriedade vai para a nota pelo mesmo caminho da célula — numa nota aberta com alterações, entra na aba e espera você salvar. Os campos calculados (os embutidos, os da tarefa e as fórmulas) não se gravam. A estrutura deixa a Base com alterações a salvar (Ctrl+S). Depois de aplicar, a faixa no alto oferece Desfazer, que volta as propriedades e a estrutura de uma vez.

Índice

Edição

Ferramentas

Automação (IA / scripts)

Referência