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 right
at end of line: moves cursor to position 0 in next container -
Arrow left
at beginning of line: moves cursor to position Infinity in next container -
Arrow down
at position of line: moves cursor to the same position in the next container -
Arrow up
at position of line: moves cursor to the same position in the previous container -
Delete
at end of line: moves the previous line upward or deletes the content of a non-text component -
Backspace
at front of (empty) line: removes the current line -
Backspace
at front of (non-empty) line: moves content (text) to the upward component or deletes the upward non-text component (both remove the current line) -
Enter
in middle or front of line: splits line into two parts -
Enter
at 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
- ...