O Noia traz a simplicidade de volta aos seus textos, mas com o rigor semântico que a ciência exige. Escrita aberta que se adapta ao seu estilo, recuperação rápida de informações e exportação versátil.
Foque no que importa para você. Publique, não pereça.
O Noia (representado pela letra grega Ni - Ν) é um hard-fork do excelente projeto Zettlr. Ele nasceu para unir o melhor de quatro mundos em uma única ferramenta voltada para pesquisadores, matemáticos e power-users:
- A Fundação (Zettlr): Herdamos a elegância minimalista, a velocidade do CodeMirror 6, a integração com Pandoc/Zotero e a filosofia Privacy-First (arquivos locais).
- O Poder Semântico (Obsidian): Implementação nativa de Callouts/Admonitions (estilo Google AI Studio) e uma arquitetura de Chunking Semântico que permite a correção ortográfica (LanguageTool) de notas com dezenas de milhares de palavras sem colapsar.
- A Estética (Upscayl): O tema oficial Cyberpunk Brazil traz a paleta Dark Void com acentos em Neon Emerald, Cyber Gold e Electric Blue, combinados com superfícies glassmorphic.
- O Rigor Científico (TikZ & TeX): (Em desenvolvimento) Onde outros editores param no KaTeX básico, o Noia visa a integração de renderização de grafos, árvores e diagramas complexos via TikZJax (WebAssembly) em tempo real.
- Privacidade em primeiro lugar: Suas anotações ficam no seu disco local.
- Citações fáceis: Integração estreita com Zotero, JabRef, etc.
- Exportação Acadêmica: Suporte a modelos LaTeX e Word via Pandoc.
- Zettelkasten: Suporte para técnicas modernas de gestão do conhecimento.
- Pesquisa de texto completo ultrarrápida.
- 🟢 Tema Cyberpunk Brazil: UI nativa de alto contraste para longas sessões de escrita.
- 📝 Callouts Nativos: Suporte integrado a
> [!note],> [!warning],> [!error]renderizados diretamente no AST do editor. - 🧠 LanguageTool Unbound: Algoritmo de particionamento de texto que burla o limite de caracteres de APIs de correção.
- 📐 Advanced Math Engine: Suporte planejado para renderização de blocos TikZ.
O Noia implementa um motor de renderização de Admonitions/Callouts 100% nativo no CodeMirror 6, eliminando wrappers HTML instáveis e transferindo a autoridade visual para as linhas do editor.
- Imunidade ao LaTeX (KaTeX): Geometria concêntrica via
box-shadow inset, garantindo que fórmulas display ($$) e blocos de código não quebrem as bordas do card. - Aninhamento Profundo: Suporte para até 3 níveis de profundidade (
> > [!tipo]) com cálculo matemático de recuo e herança canônica de estado. - UX de Edição Fluida: Ocultação visual dos marcadores Markdown (
>) no repouso, com revelação imediata apenas na linha sob o cursor (.cm-activeLine). - Scrollbars Customizadas: Contenção de overflow vertical fantasma no WebKit e barras horizontais translúcidas dedicadas para conteúdos largos.
Inicie o bloco com > [!tipo]. O motor mapeia nativamente 15 tipos com paleta neon e glifos SVG:
| Tipo Base | Cor | Aliases Suportados |
|---|---|---|
[!note] |
Azul | note |
[!info] |
Azul Claro | info |
[!tip] |
Verde Claro | tip, hint, important |
[!idea] |
Amarelo Neon | idea, ide |
[!success] |
Verde | success, check, done |
[!question] |
Roxo | question, help, faq |
[!warning] |
Amarelo | warning, caution, attention |
[!failure] |
Vermelho Claro | failure, fail, missing |
[!danger] |
Vermelho Forte | danger |
[!bug] |
Rosa/Carmim | bug, error |
[!example] |
Laranja | example, snippet |
[!quote] |
Cinza | quote |
[!cite] |
Cinza | cite, reference |
[!abstract] |
Ciano | abstract, summary, tldr |
[!todo] |
Azul | todo, task |
- Sprint 2.2 (Pendente): Interatividade de Dobra (Interactive Folding)
Implementar o colapso dinâmico via chevron para modificadores[+-].
Débito Técnico Mapeado: Corrigir o cálculo do range emfoldServicepara desdobramento de blocos densos sem exigir linha vazia (>) entre cabeçalho e corpo. - Sprint 3: Desbloqueio de Notas Longas (LanguageTool Chunking via buffer de 15.000 caracteres).
- Sprint 4: Rebranding de Metadados e Binários de SO (compilação de ícones nativos e isolamento de
appId).
O Noia é um aplicativo baseado em Electron. Para começar a desenvolver, você precisará de:
- Node.js (Versão 20+ LTS).
- Yarn (Ativado via
corepack enable). - Toolchain de Compilação C++:
- Windows: Visual Studio Build Tools (Desktop development with C++).
- macOS: XCode command-line tools (
xcode-select --install). - Linux:
build-essentialou equivalente.
Clone o repositório e instale as dependências:
git clone https://github.com/SEU-USUARIO/Noia.git
cd Noia
yarn installPara iniciar o ambiente de desenvolvimento com Hot Module Reloading (HMR):
yarn start(Nota: No Windows, recomenda-se executar o yarn start utilizando o terminal Git Bash para evitar erros com scripts Unix).
O Noia herda a arquitetura robusta do Zettlr, dividida entre um processo principal (Main) e processos de renderização (Renderers/SPAs).
- Main Process (
source/app): Funciona como um servidor que orquestra as janelas e faz a ponte com o SO. Contém olifecycle.ts, oapp-service-container.tse os Service Providers (singletons). - Renderer Processes (
source/common/modules): SPAs construídas com Vue.js 3 e Pinia. A comunicação com o Main Process é feita via IPC (Electron), injetada por um script de preload. - Editor Core: O coração da edição de texto é o CodeMirror 6, estendido com
ViewPluginseDecorationSetscustomizados (onde os Callouts do Noia são injetados).
yarn start: Inicia o app em modo de desenvolvimento. Useyarn start --cleanna primeira vez para gerar o diretório de testes.yarn package: Empacota o aplicativo (sem instalador) para a plataforma atual.yarn release:{platform-arch}: Empacota e gera o instalador (ex:release:win-x64,release:mac-arm).yarn lint: Roda o ESLint e o verificador de tipos do TypeScript.
.
├── out/ & release/ # Binários compilados e instaladores
├── resources/icons/ # Ícones da marca Noia (Ni - Ν)
├── source/ # Código-fonte
│ ├── app/ # Main process (Service Providers, IPC)
│ ├── common/ # Módulos compartilhados
│ │ ├── modules/markdown-editor/ # CodeMirror 6 (Temas, Renderers, Callouts)
│ │ └── vue/ # Componentes Vue 3
│ └── win-*/ # SPAs das janelas (win-main, win-preferences, etc.)
└── static/ # Arquivos estáticos (CSL, dicionários, defaults)
Este software é licenciado sob a GNU GPL v3-License.
O Noia é um fork independente. A marca original "Zettlr" e seus logotipos (Zeta) pertencem aos seus respectivos criadores e foram substituídos neste repositório pela marca "Noia" (Ni), em estrita conformidade com as diretrizes de uso da licença original.
