Mil Edit
Markdown List EditorMil Edit is a small javascript markdown list editor which supports basic text attributes (bold, italic), has undo/redo capabilities, and drag-and-drop.
The story goes that after realizing that most browser-based markdown editors are document editors, and not list editors, I set out to make my own browser-based markdown list editor! I decided my editor would exclusively operate on a single markdown list and support text attributes in hackerish-style1.
Here's a demo of mil-edit
embedded so you can get a feel for how it operates:
The first version of mil-edit
I implemented as a very simple 500-some-line javascript singleton which featured simple importing and exporting of a single markdown list using its load
and dump
functions. However, I quickly became un-satisfied with the un-maintainable and monolithic architecture of mil-edit
.
As such, I set out to make mil-edit-2
. The driving force behind it's development was a cleaner internal architecture. I separated out functionality into small modules, wrote my own markdown library2, and cleaned up the source a lot. Additionally, I added undo/redo and drag-and-drop capabilities to the feature set.
Unfortunately, regardless of the modularity I worked into mil-edit-2
, my architecture was flawed. I wrote tests after the fact3 and eventually the startup which was the driving force behind the development of mil-edit
failed4.
If I were to continue on mil-edit
nowawadays, I would like to re-implement, start from scratch, writing browserify modules and embrace TDD from day one. Oh yeah, I'd put focus on mobile-first.
- In
mil-edit
, you edit one line at a time. The line your editing shows markdown attributes like, **star bolding** _underline italicizing_ and converts it styled after you navigate to a different line. - My markdown library, dubbed
mil-markdown
, cut dependencies on 2 markdown libraries from the originalmil-edit
, by soley handling the import and exporting of a single markdown list. - This a painful mistake in application development and one I had to learn the hard way.
- Ask me to show you a demo of my failed startup which wraps Mmvp.js and my Mil Edit 2 abondware!