Ingo Andelhofs
Student at Hasselt University
Notebook is a simple Markdown and LaTeX Math editor build in React. The goal of this project is to create a modular / extensible editor for the web. Notebook also supports a user-friendly interface so that beginners or non-technical users can use this editor with ease, while advanced users can type really fast.
- 
Export (Notebook) 
- 
Import (Notebook) - Using a property
- Using a method
 
- 
Actions - Undo
- Redo
- Copy
- Paste
 
- 
Restrictions - Allow specific line types only
 
- 
Actions - Copy (one line)
- Paste (one line)
 
- 
Cursor Behaviour - 
Keys - 
Arrow rightat end of line: moves cursor to position 0 in next container
- 
Arrow leftat beginning of line: moves cursor to position Infinity in next container
- 
Arrow downat position of line: moves cursor to the same position in the next container
- 
Arrow upat position of line: moves cursor to the same position in the previous container
- 
Deleteat end of line: moves the previous line upward or deletes the content of a non-text component
- 
Backspaceat front of (empty) line: removes the current line
- 
Backspaceat front of (non-empty) line: moves content (text) to the upward component or deletes the upward non-text component (both remove the current line)
- 
Enterin middle or front of line: splits line into two parts
- 
Enterat end of line:
 
- 
- 
Selection - Select (one line)
- Set cursor correctly
 
 
- 
- 
Textual Line - 
Paragraph 
- 
Headings - Header 1
- Header 2
- Header 3
 
- 
Textual decoration - Bold, Italic, Marked, ...
- Math
 
 
- 
- 
List Line -  ?Move to textual line
- Ordered list
- Unordered list
- Change list type (1. -> a.)
 
-  
- 
Actions - Remove line to textual line (if only one line is left)
- Add line in front (check how to handle enters???)
 
- 
Image Line - Drag and Drop Image
- Paste Image
- Upload Image
- From Notebook storage (If files are saved different from the Notebook itself)
-  Options
- Sizing
- Alignment
- Border
 
 
- 
Grid Line - Lines
- Grid
-  Options
- Size (Spacing)
 
 
- 
Table Line -  Add
- Column
- Row
 
-  Remove
- Column
- Row
 
 
-  Add
- Block Limitations
- Tooltip (line type options)
- Moving Lines (up/down)
- Extra Line wrapper actions
- Notebook
- NotebookLine
- TextLine
- ImageLine
- ...
 
 
- NotebookLine
- position
- first
- last
- optional
- setCaretOptions
- resetCaretOptions
- caretOptions
 
- shared
- createLine
- removeLine
- selectLine
- moveToNextLine
- moveToPreviousLine
- updateData
- selected
 
- shared actions (Notebook - NotebookLine)
- changeLineType
- ...