* Update history on editor load and title change
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Add pinning to history from sidebar
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Add CHANGELOG entry
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Only update local history entries
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Update property names to match backend ones
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Show error notification on failure
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Apply requested changes from review
- rename use hook to reflect the situation that only local entries will be updated
- extract the update ready check from the hook
- rename vars to make comparison more clear
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Add location state dependency
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Split toolbar state into single location states
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Add CHANGELOG entry
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Pin dependency
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Use react state for view because of side-effects
The locationState was resetted on each search or tags filter update because these updates pushed a change to the location thus resulting in loss of the location state for the view.
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Remove unneeded import
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Change CHANGELOG entry
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Removed unnecessary typecast
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
* Change copyright year from 2020 to 2021
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Change copyright year in jetbrains copyright template
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Update Link classes to allow tooltips/titles
* Added read-only-view, Move note title extraction into separate file
(cherry picked from commit be23083ca3966f26b1b841d5cf4f21e299c8a55a)
(cherry picked from commit cbc595d3fc336b0a649c396dfae30fa08082384c)
* Optimized look of document-infobar
(cherry picked from commit 0176668b156da3fd7c534161a839ca0e3495119c)
# Conflicts:
# src/components/editor/document-bar/document-info/document-info-time-line.tsx
* Show help-button only in Editor-variant of AppBar
(cherry picked from commit 3c26e1619c774fe162cb3d8fae9e79ced92c9c3e)
* Update CHANGELOG
(cherry picked from commit d0d29e7d408515cc8f86df45d13fff60d741873e)
* Move motd-banner to top of page
(cherry picked from commit 43a9a274bf5da3fdf640ec905ab38153c81b014b)
* Refactor isInline to size property
(cherry picked from commit cb4ee74b7c97ec9711946f28924e9c890b752ea3)
# Conflicts:
# src/components/editor/document-bar/document-info/document-info-time-line.tsx
* Add size attribute to user-avatar
(cherry picked from commit 9629b58911b9d4f3aed81ef8c271fbc8e5a15aa4)
* Add mode-enum to app-bar
(cherry picked from commit 08f95be58974468c1e2897b475e5e3235b79c230)
* Split DocumentRenderPane into scrollable- and non-scrollable variant
(cherry picked from commit 44dd27edfd967745c548f7ae1fd2047e812cdc22)
* Removed unnecessary className
* Change dependencies
* Use emoji-picker-element instead of emoji-mart
* Optimize emoji-picker appeareance and data-source
* Add twemoji font to emoji-picker
* Add missing useEffect dependency
* Add emoji-shortcode map
* Include emoji-data into bundle and remove dynamic fetch
* Rename shortcode-map
* Fix emoji-picker being hidden on second attempt to open it
* Add support for skin-tone short-codes
* Remove whitespace line
* Don't reinitialize the picker on every open
* Fixed linting and test issues
* Update CHANGELOG entry
* Add mock-files, API calls and overall tokens-UI
* Added ability to add tokens
* Added token deletion feature (based on timestamp)
* Replace mock-method by real API code
* Add cypress tests
* Added CHANGELOG information
* Un-access-ify i18n
* Set unique react-element key to timestamp of token-creation
* Remove 'now' from changelog
* Use @mrdrogdrog's suggestion for the info label
- added csv-replacer
- changed highlghted-code plugin:
each replacer extracts what he need from the data-extra attribute now
- changed CHANGELOG.md
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
* Added emoji-mart as emoji-picker
* Fixed JSON to TypeScript-object parsing
* added fork awesome to emoji-picker
added ForkAwesomeIcons enum, because it's not possible to iterate over a typescript type consisting of strings [1]. This is a bit unfortunate since we now have two lists of all the fork awesome icons, but sadly it can not be done another way.
added fork awesome as a custom category to the emoji picker.
[1]: https://stackoverflow.com/questions/40863488/how-to-iterate-over-a-custom-literal-type-in-typescript
* made picker close, when clicking away
added react-use dependency for useClickAway hook
* Fixed emoji-picker loading images from unpkg instead of using font
* fixed addEmoji function
added tests
* Extract customIcons into useMemo
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Added config option to enable/disable the email signup
* Added register API call
* Added register button and error handling
* Show register button only if enabled in config
* Renamed login handler, added dir-attribute, removed obsolete css class
* Added separate registration page, changed email-login to internal-login
As an username is sufficient for registration, this commit changes the email-login into an username-based login. This login method is now called "internal" in the code.
This commit also introduces a new registration page instead of using the same form as for login.
* Added information texts below form fields
* Added error differentiation
* Added CHANGELOG entry
* Replace "magic string" with Enum representation
* Removed password-field to DOM rewrite
With the value attribute set, the password would be written to the DOM while typing. That's bad practise as attackers could read that password (e.g. with dirty CSS-hacks).
* Fixed backendConfig to config renaming
* Fixed links on register page being external links
* Refactored error handling to use string-enum that corresponds with i18n keys
* Fix chrome warnings regarding autocomplete and duplicated id
* Refactor login action buttons to use callbacks and handle promises directly
* Remove unnecessary async function
* Added promise chaining
* added all functionality to the toolbar buttons
* added unit tests for the toolbar functions
* added unit tests to CI
* Added translated titles to buttons of toolbar
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: mrdrogdrog <mr.drogdrog@gmail.com>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
* Fix history element's entry menu deletion button
The note deletion button inside the EntryMenu of a history element has one button to remove the note from the user's history and one to delete the note from the system. Both buttons pointed to the history-removal.
* Added modals for note deletion and note from history removal
* Removed redundant code
* Added CHANGELOG entry
* Added note title in deletion/removal prompts
* Refactored DeleteNoteItem and RemoveNoteEntryItem into one common component
* Refactored DeleteRemoveNoteItem-component and added two composition components
* Redesigned modal dialog to make the note title more clearly readable
* Renamed the generic dropdown-with-deletion-modal-component
added branding option via '@ <logo>' or '@ <name>' after the CodiMD logo and text.
This was a user can personalize their CodiMD instance
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
made some components wider in View Mode
These objects include
- `<img>` alone in a paragraph
- `<codimd-youtube>`
- `<codimd-vimeo>`
- `<codimd-pdf>`
This can be toggled via the `wider` prop in `MarkdownRenderer`
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Added regexes to replace name and time extras
* Added [color=#abc] replacements inside of blockquotes
This works with the following "algorithm":
1. Transform any [color=]-Tags with a valid css color into a codimd-quote-options element.
2. While transforming blockquotes, check if one of their paragraphs contains a codimd-quote-options element. If multiple are found, only the first one will be used.
3. Remove the codimd-quote-options element and set the border-left-color of the blockquote appropriately.
* Added correct CSS styling of blockquote extras
* Added tag icon when [color=...] is used outside a blockquote
In version 1.6 of CodiMD the [color=...] tag renders a tag-icon in the specified color when used outside of a blockquote paragraph.
* Added changelog entry
* Flip if-else in quote-options for better readability
* Flip another if-else in quote-options for better readability