Richtext Editor: WYSIWYG
A rich text editor adds formatting options (bold, italic, ...) to text fields.
It also allows the user to insert links, images, videos, tables etc without that he/she has to write html code.
You immediately see the rendered html tags or What You See Is What You Get (WYSIWYG)
There are a couple of richtext/WSIWYG editors plugins available: TinyMCE, Summernote, Froala, ... After some research, I decided to use CKeditor. It is not the most lighweight and elegantly written piece of code but once you know how to tweek it, it is a very versatile rich text editor. It is also the best maintained and the most widely used.
The editor will only be displayed when the text is focused (inline mode). This keeps the interface clean as not to confuse the user with irrelevant options.
There are two configurations: minimal and advanced but these can easily be customized.