Skip to content
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.

A text document editor that focuses on writing text documents, doesn't attempt to do everything, with a minimalistic UI that focuses on semantics

Notifications You must be signed in to change notification settings

zastrowm/TextRight.ContentEditor.Desktop

Repository files navigation

The foundations of a text-document editor, written from the ground up using WPF primitives.

image-20200706202959017

Features

A simple text-editor control that supports:

  • Headers
  • Paragraphs
  • Undo/Redo

Not yet ready for production, but a cool tinkering project.

Historical Notes

I liked markdown, but wanted to be able to add more rich-text; specifically I wanted a representation for:

  • new blocks like notes/warnings/errors
  • a way to add additional meta-data to blocks
  • images to be stored with the document

In 2013, I started off with a web-based side-by-side markdown editor & preview called EMD-Editor - the thing I liked about it was that it allowed images to be uploaded and stored with the document as base64.

Along the lines of markup language, I toyed with the idea of a a markdown-language which I named TextRight (get it, it's not mark-down, but text-right). It didn't get much past the idea phase, but I did have a repository for the start of the language.

Eventually, I realized what I was really looking for what as a rich-text-document editor, not file format - I simply focused on the file format because that's what I was familiar with. So, with that in mind, I started writing a rich-text-document editor, focusing on document semantics instead of text formatting - that is, the document wouldn't represent bolded text, it would represent it as emphasized text and allow the renderer concern itself with how emphasized text was presented.

This led to TextRight.ContentEditor, which was an implementation in HTML/TypeScript. I was able to get to the point of a cool web demo in which text selection and text cursor movement was written from the ground-up - it didn't use content-editor or any libraries to calculate positions etc.

Eventually I rewrote it via TextRight.ContentEditor.Next with a focus of adding undo/redo from the beginning and making sure that tests were written from the beginning using TDD.

In 2015, I decided I wanted to go back to the desktop and rewrote it in C#/WPF via TextRight.ContentEditor.Desktop, again with a good focus on testing. Over the years, I've continued tinkering and adding small features, but didn't add many features beyond basic text editing. However, it did spawn dotnet-guaper primarily to speed up development of the editor.

About

A text document editor that focuses on writing text documents, doesn't attempt to do everything, with a minimalistic UI that focuses on semantics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages