Point Blank is a VS Code extension designed to transform the markdown editing experience into a powerful and intuitive outliner. This tool is intended for writers, developers, and anyone who uses markdown for note-taking, documentation, or brainstorming.
Get it on the VS Code Marketplace!
Point Blank offers intelligent list styling, hierarchical folding, and support for structured data templates. This includes a refactored template system with new syntax for file-based templates and inline node insertion.
For a comprehensive overview of features, commands, configuration, and contributing guidelines, please visit our documentation website.
Point Blank's architecture is designed to be modular, performant, and maintainable, centered around an immutable document model that serves as the single source of truth. Key components include:
DocumentModel: Manages the document's state and usesDocumentParserto create an immutableDocumentTree.DecorationManager: Applies visual decorations to the editor based on theDocumentTreeandDecorationCalculator.CommandManager: Registers and handles all user commands, interacting with theDocumentModeland other components.DocumentParser: A stateless component responsible for converting text into an immutableDocumentTree. It uses a highly efficient "dirty range" incremental parsing strategy to ensure excellent performance even in very large documents.
For a detailed history of changes, see the CHANGELOG.
This project is licensed under the LGPL License.
Contributions are welcome! If you're interested in contributing, please feel free to open an issue or submit a pull request.
To get started with development:
- Clone the repository.
- Run
pnpm installto install the dependencies. - Run
pnpm run watchto start the webpack watcher. - Press
F5to open a new VS Code window with the extension loaded.