KeenWrite

By gitlab-DaveJarvis

KeenWrite Alternatives

Similar projects and alternatives to KeenWrite

  1. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  2. Hugo

    The world’s fastest framework for building websites.

  3. ShellCheck

    504 KeenWrite VS ShellCheck

    ShellCheck, a static analysis tool for shell scripts

  4. pandoc

    467 KeenWrite VS pandoc

    Universal markup converter

  5. fzf

    :cherry_blossom: A command-line fuzzy finder

  6. ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

  7. imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

  8. micro-editor

    A modern and intuitive terminal-based text editor

  9. fd

    198 KeenWrite VS fd

    A simple, fast and user-friendly alternative to 'find'

  10. ImageMagick

    ImageMagick is a free, open-source software suite for creating, editing, converting, and displaying images. It supports 200+ formats and offers powerful command-line tools and APIs for automation, scripting, and integration across platforms.

  11. typst

    179 KeenWrite VS typst

    A markup-based typesetting system that is powerful and easy to learn.

  12. mdBook

    118 KeenWrite VS mdBook

    Create book from markdown files. Like Gitbook but implemented in Rust

  13. glow

    85 KeenWrite VS glow

    Render markdown on the CLI, with pizzazz! πŸ’…πŸ»

  14. file

    Read-only mirror of file CVS repository, updated every half hour. NOTE: do not make pull requests here, nor comment any commits, submit them usual way to bug tracker or to the mailing list. Maintainer(s) are not tracking this git mirror.

  15. quarkdown

    13 KeenWrite VS quarkdown

    πŸͺ Markdown with superpowers: from ideas to papers, presentations, websites, books, and knowledge bases.

  16. parser

    13 KeenWrite VS parser

    πŸ“œ Extract meaningful content from the chaos of a web page

  17. mitex

    LaTeX support for Typst, powered by Rust and WASM. https://mitex-rs.github.io/mitex/

  18. flyingsaucer

    XML/XHTML and CSS 2.1 renderer in pure Java

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better KeenWrite alternative or higher similarity.

KeenWrite discussion

Log in or Post with

KeenWrite reviews and mentions

Posts with mentions or reviews of KeenWrite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-06-03.
  • Quarkdown: A modern Markdown-based typesetting system
    14 projects | news.ycombinator.com | 3 Jun 2025
    My FOSS text editor, KeenWrite[1], takes a similar approach: Markdown -> XHTML -> TeX -> PDF. The software architecture shows how you can have processor chains:

    https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/ima...

    I wrote KeenWrite to help writing a sci-fi novel where I can use variables for character names, places, etc. See the tutorials[2] for details.

    For anyone still using pandoc and shell scripts, my Typesetting Markdown[3] series describes building a script-based infrastructure for converting Markdown into PDF.

    [1]: https://keenwrite.com/

    [2]: https://www.youtube.com/watch?v=CFCqe3A5dFg&t=15s

    [3]: https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...

  • MdBook – a command line tool to create books with Markdown
    11 projects | news.ycombinator.com | 10 Nov 2024
  • Techniques I Use to Create a Great User Experience for Shell Scripts
    16 projects | news.ycombinator.com | 13 Sep 2024
    The build-template can then be reused to enhance other shell scripts. Note how by defining the command-line arguments as data you can provide a general solution to usage information:

    https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/scripts/...

    Further, the same command-line arguments list can be used to parse the options:

    https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/scripts/...

    If you want to get even more clever, it's possible to have the template parse the command-line arguments automatically for any particular script. Tweak the arguments list slightly by prefixing the name of the variable to assign to the option:

        ARGUMENTS+=(
  • Home to Anything JavaFX Related
    10 projects | news.ycombinator.com | 17 Aug 2024
  • Typst: An easy to learn alternative for LaTex
    14 projects | news.ycombinator.com | 20 Jul 2024
    A few of my Markdown documents:

    * https://impacts.to/downloads/lowres/impacts.pdf

    * https://whitemagicsoftware.com/softcover/technical.pdf

    * https://whitemagicsoftware.com/softcover/jekyll-hyde.pdf

    Respectfully, keeping presentation logic and content completely separated while having precise control over layout is possible even with Markdown, as my example documents demonstrate. ConTeXt is an exquisite typesetting system that makes keeping such separation possible.

    The deeper issue relates to the software's architecture, which, IMO, systems like Typst, Obsidian, and others fail to implement broadly enough. Here's KeenWrite's architecture (the "Proposed" row):

    https://gitlab.com/DaveJarvis/KeenWrite/-/raw/main/docs/imag...

    Although only Markdown is currently implemented, it's possible to plug other text-based input formats to produce an XHTML document. The instructions for how to typeset XHTML documents are defined by a theme. You can think of a theme as an XML to TeX translation system. From there, going from XML to TeX is straightforward (using ConTeXt), allowing full control over the final output format.

    I am the author of KeenWrite. The following tutorial shows how its themes work:

    https://www.youtube.com/watch?v=3QpX70O5S30&list=PLB-WIt1cZY...

  • Show HN: I made a tool to clean and convert any webpage to Markdown
    17 projects | news.ycombinator.com | 14 Apr 2024
    I wrote a series of blog posts about typesetting Markdown using pandoc:

    https://dave.autonoma.ca/blog

    I found pandoc on its own to be a little limiting:

    * Awkward to use interpolated variables within prose.

    * No real-time preview prior to rendering the final document.

    * Limited options for TeX support (e.g., SVG vs. inline; ConTeXt vs. LaTeX).

    * Inconsistent syntax for captions and cross-references.

    For my purposes, I wanted to convert variable-laden Markdown and R Markdown to text, XHTML, and PDF formats. Eventually I replaced my tool chain of yamlp + pandoc + knitr with an integrated FOSS cross-platform desktop editor.

    https://keenwrite.com/

    KeenWrite uses flexmark-java + Renjin to provide a solution that can replace pandoc + knitr.

    Note how the captions and cross-reference syntax for images, tables, and equations is unified to use a double-colon sigil:

    https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/ref...

  • Magika: AI powered fast and efficient file type identification
    15 projects | news.ycombinator.com | 15 Feb 2024
  • Ask HN: What's the best way to write a book in Markdown?
    4 projects | news.ycombinator.com | 12 Nov 2023
    My Typesetting Markdown series[1] describes crafting shell scripts to cobble together pandoc, knitr, math, ConTeXt, and YAML-based interpolated variables to produce PDF files.

    For my sci-fi novel, my character sheet was inside of a spreadsheet. It dawned on me that the character sheet could be replaced with a YAML file and integrated with a Markdown editor. I developed KeenWrite[2] to replace the scripts while allowing me to use interpolated variables and R inside of the prose.

    My novel has two separate timelines and I wanted to make sure that dates lined up correctly without having to do the date math manually. I implemented a number date functions in R[3] based around an "anchor" date. As long as all my other dates are relative (in days) to the anchor date, all the math checks out. Possessives and pronouns are also handled in R (meaning I can change a character's gender by changing a single variable, provided I haven't referenced any sex-specific body parts or characteristics).

    Also, I wanted a nice-looking PDF file to send to alpha readers (more wanted, see profile). For that, I crafted KeenWrite Themes[4] along with a video tutorial series showing how all the software components work together.

    [1]: https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...

    [2]: https://keenwrite.com/

    [3]: https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/R/conver...

    [4]: https://gitlab.com/DaveJarvis/keenwrite-themes/

    [5]: https://www.youtube.com/playlist?list=PLB-WIt1cZYLm1MMx2FBG9...

  • Show HN: Generate pdf with gitbook or mdbook url
    6 projects | news.ycombinator.com | 11 Nov 2023
    I developed KeenWrite[0] with similar ideas to mdbook: typeset into PDF from Markdown. Technically, this happens in three stages. First, the Markdown is converted to XHTML. Second, the XHTML is converted to TeX commands. Third, the ConTeXt typesetting system produces a PDF file. Both the GUI and CLI can export to PDF.[1]

    Like mdbook, the themes are isolated. Instead of CSS, KeenWrite themes are written in ConTeXt. There are several example starter themes.[2] A "thesis" theme would be a nice addition, but there's a problem.

    Markdown lacks a standard for cross-references and citations. An open KeenWrite issue animates a possible UX solution.[3] The topic of references/citations has been discussed on CommonMark[4] without much movement. Parsing cross-references and citations would benefit flexmark-java[5] integrations. KeenWrite uses flexmark-java, but I'm otherwise unaffiliated. If anyone is interested in helping, reach out (see profile).

    [0]: https://keenwrite.com/

    [1]: https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/cmd...

    [2]: https://gitlab.com/DaveJarvis/keenwrite-themes/

    [3]: https://gitlab.com/DaveJarvis/KeenWrite/-/issues/145

    [4]: https://talk.commonmark.org/t/cross-references-and-citations...

    [5]: https://github.com/vsch/flexmark-java

  • The Windows installer of ImageMagick will no longer be signed
    9 projects | news.ycombinator.com | 28 Oct 2023
    My desktop text editor, KeenWrite, uses Wine, rcedit-x64.exe, osslsigncode, and a shell script. First, rcedit-x64.exe tags the binary with identifying information:

    https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/installe...

    Then osslsigncode applies the certificate:

    https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/scripts/...

    Echoing what Rodeoclash wrote: Having to pay to play on Windows for an open-source project that makes $0 is a decline of ownership over our own machines.

  • A note from our sponsor - SaaSHub
    www.saashub.com | 13 Jun 2026
    SaaSHub helps you find the best software and product alternatives Learn more β†’