shelf
Suas anotações em Markdown, numa biblioteca.
Um aplicativo desktop que transforma qualquer pasta de arquivos Markdown numa biblioteca: uma estante por pasta, busca em todo o conteúdo e um leitor com exportação para PDF.
Cada pasta vira uma estante
Aponte para uma pasta e todo diretório com arquivos .md vira uma fileira de cartões, em ordem alfabética. Notas, documentação e textos espalhados ficam num lugar só.
Ache o texto em qualquer documento
A busca mostra só os livros cujo título ou conteúdo combina, por frase exata, todas as palavras ou qualquer palavra, com opções de maiúsculas, palavra inteira e expressão regular.
Abra já no trecho que você procurava
O livro abre com a busca na barra de achar e todas as ocorrências marcadas, com navegação entre elas, em tema claro ou escuro que acompanha o sistema.
Mais recursos
Leitor de Markdown
Renderiza CommonMark com tabelas, listas de tarefas e notas de rodapé, além de diagramas ER do Mermaid.
Exportação para PDF
Gera um PDF do documento aberto, com títulos, listas, citações e código; tabelas e imagens saem como texto simples.
Pastas ignoradas
Ignora por padrão pastas como .git, node_modules e target, e aceita seus próprios padrões.
Sobre o projeto
O shelf é para quem guarda anotações, documentação e textos em Markdown espalhados por pastas e quer lê-los como uma biblioteca, sem abrir um editor. Você aponta para uma pasta e ele monta as estantes, com busca em todo o conteúdo.
É um leitor, não um editor. O código aparece em fonte monoespaçada, sem realce de sintaxe, e só os diagramas ER do Mermaid são renderizados; qualquer outro bloco mermaid continua como código.
Tecnologias
Rust, com a interface em Dioxus sobre o webview do sistema; pulldown-cmark para o Markdown, genpdf para o PDF e regex para a busca.
Licença: MIT
Instalar o shelf
Precisa de Rust 1.88 ou mais novo, WebKitGTK 4.1 e libxdo (webkit2gtk-4.1 e xdotool no Arch; libwebkit2gtk-4.1-dev e libxdo-dev no Debian e no Ubuntu).
Pacote .deb
Para Debian 12 ou mais novo e Ubuntu 22.04 ou mais novo.
curl -LO https://gitlab.com/alteronauta/shelf/-/releases/v1.0.0/downloads/shelf_1.0.0_amd64.deb
sudo apt install ./shelf_1.0.0_amd64.deb
Binário para qualquer Linux amd64
Precisa de WebKitGTK 4.1, GTK 3 e libxdo instalados.
curl -LO https://gitlab.com/alteronauta/shelf/-/releases/v1.0.0/downloads/shelf-v1.0.0-linux-amd64.tar.gz
sudo tar -xzf shelf-v1.0.0-linux-amd64.tar.gz -C /usr/local --strip-components=1
Do código-fonte
Instala em ~/.local, com o ícone e o atalho no menu de aplicativos.
git clone https://gitlab.com/alteronauta/shelf.git && cd shelf
./build-linux.sh
O macOS tem um script que monta o aplicativo. Os detalhes estão no README.