
Svelte components implementing pandoc's JSON AST for describing documents.
Quires is an innovative system designed for creating reactive and interactive documents from Markdown, leveraging the power of Svelte and djot — a modern parser developed by the creator of Pandoc, John MacFarlane. With Quires, you can produce "classy" web documents that extend the functionality of traditional Markdown through an HTML syntax interpretation, allowing for sophisticated customization based on class attributes. This makes it an excellent tool for developers and content creators looking to add dynamic web interactions alongside standard static site generation.
What sets Quires apart is its ability to handle different document formats seamlessly, including pandoc-flavored Markdown and raw djot. This flexibility allows you to employ a range of custom Svelte components that can enhance standard Markdown elements, creating a unique and engaging user experience that goes beyond simple document rendering.
Custom Svelte Components: Generate unique behaviors for document elements by creating Svelte components that can override default rendering methods, allowing you to tailor the display to your needs.
Dynamic Interaction: Quires allows you to add interactivity on top of your markdown documents using HTML classes. This means you can introduce buttons, forms, or any other HTML elements without disrupting the original content.
Contingent Quires: Utilize a domain-specific language (DSL) based on CSS selectors to selectively override components and behaviors within your documents. This granular control helps maintain consistency while allowing specific customization.
WebPack Integration: Quires includes a WebPack parser for djot, simplifying the inclusion of markdown in your projects and streamlining the build process.
Code Block Customization: Easily replace standard code block elements with custom components or modify existing ones based on language, enabling rich presentations of code snippets through enhanced styling.
Support for Asterisks Formatting: Djot’s unique formatting allows for a straightforward way to render bold and italic text using asterisks, which can be customized further through the creation of specific components.
Hierarchical State Management: The architecture of Quires enables effective state management passed down through component trees, ensuring children components receive necessary state info without unnecessary complexity.
Markdown to HTML Compilation: At its core, Quires maintains the foundational functionality of converting Markdown documents to raw HTML, ensuring that users can still rely on it for standard content generation.

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects
ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.