← All projects

Web

LaTeX editor

Overleaf-style editor: an article introducing this portfolio, rendered live.

Done Sprint S13-S14 · 8 points
In short, no jargon for non-developersRead the summaryClose
What it is
An editor for scientific documents, in the style of Overleaf: you write on the left, the layout (headings, mathematical formulas) appears live on the right.
What it is for
LaTeX is the writing tool of researchers; the article you read in it presents this portfolio.
What it shows
Knowledge of the tools of the research world, and an editor that guides authors to their mistakes.
Source code

How the pieces fit together

Diagram: Editor → Parser (at each keystroke) ; Parser → Renderer (tree) ; Renderer → Preview ; Parser → Diagnostics ; Diagnostics → Editor (lead to the line). at each keystroke tree lead to the line Editor source and preview Parser TypeScript, hand-written Renderer two passes, KaTeX Diagnostics line and column Preview safe HTML

Edit the article live

This article introduces the portfolio. It is parsed and rendered in your browser by the project's TypeScript library, formulas by KaTeX: edit it, the preview follows.

Preview

Diagnostics

    Outline

      Tech stack

      • TypeScript
      • KaTeX
      • LaTeX

      Who does what

      TypeScript
      The LaTeX parser into a located tree and the safe HTML rendering, with no dependency; run directly by Node for the tests.
      KaTeX
      Renders the mathematical formulas, without trusting it with links (trust: false).
      LaTeX
      The language read (structure, lists, tables, mathematics, references) and the article introducing the portfolio.

      Definition of Done

      • Code reviewed, diff by diff
      • Unit and integration tests green
      • Green CI on Linux, Windows and macOS when compiled
      • README, REVIEW.md and DECISIONS.md up to date
      • Texts in French and English
      • Demo deployed and tested on mobile