niraj.dev

← Register of issued works

Nº ND·26-003 RustWaylandMarkdownPDF

nWriter

One column of text, a warm page - and a spreadsheet engine, a PDF typesetter and a versioned file format underneath.

NWRITER - Interface specimen
Fig. 1 · Screenshot pending - swap this figure for a real capture (see repo README)

What it is

nWriter is a writing app in the spirit of iA Writer: one column of text, a warm page, and nothing else competing for attention. Markdown highlights in place, focus modes dim everything but the sentence you're on, and thirteen templates cover the distance from blank page to invoice to research paper.

The restraint is the interface, not the engineering. Behind the page sit an embedded spreadsheet engine with formulas and cell styling, and a PDF typesetter with real control over typography and page setup - so a budget or a formatted report never forces you out of the app.

Documents live in .nd - a ZIP-based format that carries its own full edit history. Sync resolves conflicts with a proper three-way merge, a web viewer opens .nd files in the browser, and the CLI exports with --to-pdf, --to-html and --to-nd. Your writing stays in a file you own, with its whole past attached.

Highlights

  • Markdown editing with in-place syntax highlighting and focus modes
  • Embedded spreadsheet engine - formulas and cell styling inside a document
  • PDF export with custom typography and page setup
  • Native .nd format: ZIP-based, with full edit history
  • Document sync with three-way merge conflict resolution
  • Web-based viewer for .nd files
  • Thirteen templates - blank, invoice, budget, research paper and more

Install

git clone https://github.com/niraj-envision/nWriter.git
cd nWriter
./install.sh
nd-writer notes.nd

Builds a release binary and installs to ~/.local - no root required. Optimized for Wayland/Hyprland desktops.

Specification

LanguageRust
PlatformLinux desktop · Wayland / Hyprland
DependenciesSelf-contained release build
LicenceMIT
Repositorygithub.com/niraj-envision/nWriter