explaingit

iamgio/quarkdown

13,960KotlinAudience · writerComplexity · 2/5Setup · moderate

TLDR

Quarkdown lets you write documents in an enhanced Markdown format with programmable functions, then export them as books, papers, websites, PDFs, or interactive slideshows from one source file.

Mindmap

mindmap
  root((repo))
    What it does
      Enhanced Markdown
      Programmable functions
      Multi-format output
    Output Formats
      HTML pages
      PDF export
      Slideshows
      Books and papers
    Features
      Standard library
      Custom functions
      Live preview
      VS Code extension
    Audience
      Writers
      Researchers
      Document authors
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Write a presentation in plain text and export it as an interactive slideshow without a separate presentation tool.

USE CASE 2

Author an academic paper or book from a single source file and export to a paged PDF layout.

USE CASE 3

Build a documentation website or wiki from a Quarkdown file using built-in layout and navigation functions.

USE CASE 4

Create reusable document templates as custom functions and share them with others as importable libraries.

Tech stack

Kotlin

Getting it running

Difficulty · moderate Time to first run · 30min

In plain English

Quarkdown is a tool for writing documents using an expanded version of Markdown. Markdown is a simple way to format plain text with a few symbols, often used for notes and web pages. Quarkdown takes that familiar format and adds more power, so a single source file can be turned into different kinds of finished documents: a print ready book, an academic paper, a website, a knowledge base, or an interactive slideshow. The big difference from plain Markdown is that Quarkdown adds functions. A function is a small named command you can call inside your text, written with a dot and curly braces, that produces some result. The README shows examples where you define your own function, such as a greeting, and then call it with arguments to generate text. There is a built in standard library offering layout tools, input and output, math, and even conditions and loops, and you can write your own functions and share them as libraries. The authors describe the language as Turing complete, meaning it can express any computation. The README lists the output formats, called targets. It can produce HTML in several styles: a continuous flowing page like Notion or Obsidian, a paged layout for papers and books, slides for presentations, and a documentation style for wikis. All of these can also be exported to PDF, and plain text is supported too. You choose the type with a doctype command inside the file. A comparison table sets Quarkdown against other tools like LaTeX, Typst, AsciiDoc, and MDX. It also mentions live preview, fast compilation, and a Visual Studio Code extension.

Copy-paste prompts

Prompt 1
I have a Quarkdown file for a presentation. Help me write a custom function that generates a speaker-notes block with a title and bullet points I can call inline.
Prompt 2
Show me how to use Quarkdown's built-in math and layout functions to create a two-column academic paper with numbered sections.
Prompt 3
I want to output my Quarkdown document as both a PDF paper and an HTML slideshow. Walk me through setting the doctype command for each target format.
Prompt 4
Help me write a Quarkdown loop that iterates over a list of chapter titles and generates a formatted table of contents automatically.
Prompt 5
How do I install the Quarkdown VS Code extension and set up live preview so I can see changes as I write?
Open on GitHub → Explain another repo

← iamgio on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.