* Add maximum document length config option
* Show remaining characters in tooltip of status-bar length-info
* Remove unnecessary checkDocumentLength function
* Add max-length warning
* Update translation wording
* Set dialog to medium size
* Add coloring to status-bar length info
* Improve wording in warning modal
* Add cypress e2e tests
I included the cypress-commands package and set the language level to ES6 to allow easier testing e.g. of element attributes.
* Changed way how the modal-advice was styled and positioned
* Show warning modal only on first length exceeding
* Improved length tooltip by adding messages when exceeding or reaching limit
* Add mock files
Note that revisions-list needs to be called revisions in the reality to be confirm with the API spec, but our mocking solution doesn't allow that...
* Add revisions API calls
* Fix line endings in mock files
* Extend CommonModal to accept size and additionalClasses
* Clarify variable name in API request
* Add react-diff-viewer as dependency
* Add revision chooser modal
* Fix type of route params
* Added and updated mock files
* Added user-icon list per revision
* Added translation to alt text of avatars
* Updated mock file to remove inconsistencies
* Add caching for revisions
* Sort mock file revisions-list descending by timestamp
* Pre-select first/newest revision on first modal open
* Regenerated yarn.lock file from scratch
* Applied requested changes in variable names and line lengths
* User UserAvatar component instead of manually set image
* Move revision-modal-list-entry to own component
* Removed unnecessary return statements
Massive improvement of render performance by:
- replacing the codimd-line-marker with an in-memory map
- an observation of the changed markdown code to identify changed lines
- a unique react-key calculation
* Replaced connection indicator in editor top bar with user-menu
* Added basic layout of bottom document bar
* Fixed margins between elements
* Reorganized document-bar
* Added dividers into toolbar
* Move files from task-bar to document-bar and remove test file
* moved connection-indicator components into its own folder
* moved document bar to the top
* moved connection-indicator once again
* Change design
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* New idea for timestamps
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add css
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Revert "Add css"
This reverts commit 6780aa05
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Revert "New idea for timestamps"
This reverts commit bf2891e1
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* split import / export
* Made version input field to a common component
* added read-only modal
added document-time
added placeholder text for permissions
* remove flex-nowrap from editor toolbar
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add codimd permission menu
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Move permission picker to the right
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* add use memo
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add user-select-none to documenttime component
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* added status-bar
* fixed status-bar
* Add document info mock
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* changed published to share in i18n
* reordered document bar
moved share modal in it's own component
* changed the divider color in the toolbar
* Add details to document info
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add pin mock button
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Restructure toolbar after rebase and extract EmojiPicker+Button into component
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Correct linue number output
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add some space into status bar
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Cleanup code to make ESLint happy
* Fix Toc button position
* Added link to presentation mode button
* Cache codemirror props
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Fix code blocks not being completely visible
* Improve document info modal
- The document info timeline always wrapped the received moment.js-object into a new moment.js object instead of directly using the given one.
- The timestamps were configured to be displayed without suffix, but this is necessary to support valid translation grammar.
- There was no margin between the icons and the texts.
* Highlighted user name in document-info modal
* Add avatar icon to document-info modal
* Improved english translation of the share-info
* Improve performance of copyable-fields by using useCallback
* Add translation keys for pin-to-history button
* Forwarded note title to editor-menu for deletion modal info
* Add placeholders to translations
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* change translation
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Change permission dropdown to permission button
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Fix translations of emoji-picker and preferences
* remove unused imports
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add alt attribute
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Fix share button and i18n files
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Fix use of i18n keys
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Use modal-body
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* useCallback
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Use more specific i18n key
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add a new entry and move i18n key for usercontribution
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Fix i18nkey für shareLink
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* remove unused i18nkey
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Rename component DocumentInfo to DocumentInfoButton
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Extract revision button code into own component
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* wrap buttons in navbar-nav
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* organize imports
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* organize imports
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Added editor-preferences modal
* Added functionality to preferences modal
* Activated search and replace feature in CodeMirror
* pdf export unavailability notice (#403)
* added pdf export unavailability notice with link to FAQ
as many users ask all the time why this was removed and when they'll get it back, this seemed like a fine solution in the meantime.
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
* Refactored editor-preferences to just use one generic select component
* Fixed warnings regarding duplicated controlId and missing useCb-deps
* Reorganized translation keys
* Fixed i18n indentation for POEditor.com
* Added translation key for 'avatar of ...'
* Remove fragment
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Use user-avatar in document-info-line.tsx
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Revert changes in user-avatar and solve the problem otherwise
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Removed unnecessary import
* Removed another unnecessary import
* Refactored EditorPreferenceSelect to use enum and automatic type conversions
* Remove unused CodeMirror reference
* Fix spacing problem
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Increate size of image
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* fixed share-link's space around the copyable-field
Co-authored-by: Philip Molares <philip.molares@udo.edu>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Philip Molares <git@molar.es>
* 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>
* Add plantuml support
* Enable PlantUML rendering only if plantumlServer config is set
* Show warning box when plantuml is enabled but no server is configured
* Added yaml-frontmatter extracting and error handling
* add tests
* changed document-title, so the editor can change the title to the title of the yaml metadata. closes#303
* extracted first line parsing in a core rule of markdown-it
document title will now be determined like this:
1. yaml metadata title
2. opengraph title
3. first level one heading
4. 'Untitled'
* added documentTitle e2e test
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Philip Molares <philip@mauricedoepke.de>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: mrdrogdrog <mr.drogdrog@gmail.com>
* Update dependency react-bootstrap to v1.2.1
* Fixed sort-button event name
With the upgrade to Bootstrap-React 1.2.1 the ButtonProps extend now React.HTMLAttributes which in favor extends the DOMAttributes interface. This interface defines almost every possible attribute for DOM-/HTML-elements.
Our SortButtonProps interface introduced an onChange event handler with a type matching our condition. With the BS-React upgrade the onChange event must not be redefined/overriden with this type and therefore I renamed it.
* updated react-bootstrap to 1.2.2
* fixed wrong prop name in HistoryToolbar
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Philip Molares <philip.molares@udo.edu>
* Added TOC support and anchors for headings
* Moved @types/markdown-it-anchor from devDependencies to dependencies
* Add subnode renderer
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Added node-replacer for toc generation
ul lists may not be nested inside a p element. Therefore replaces this replacer every p that has a div.table-of-contents inside of it with the div directly.
* Add index to replacer function
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Add TOC to example code
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Remove unused import
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* Removed unnecessary div wrapper of toc
* Fixed toc-renderer
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
this makes it possible to use abbreviations like these
```
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium
The HTML specification
is maintained by the W3C.
```
Co-authored-by: Philip Molares <philip@mauricedoepke.de>
this makes it possible to use definition lists like
```
Term 1
: Definition 1
with lazy continuation.
Term 2 with *inline markup*
: Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
_Compact style:_
Term 1
~ Definition 1
Term 2
~ Definition 2a
~ Definition 2b
```
Co-authored-by: Philip Molares <philip@mauricedoepke.de>
* Add basic markdown it rendering
* Add markdown preview
* Add embedings for vimeo, youtube, gist
* Add support for legacy shortcodes and link detection
* Set "both" as editor default
* Add markdown-it-task-lists
* Add twemoji
* Changed SlideShare short-code behaviour from embedding to generating a link
* Extract markdown it parser debugger into separate component
* Deactivate markdown it linkify for now
* Add link safety attributes
* Add one-click-embedding component and use it
* Added embedding changes and deprecations to CHANGELOG.md
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Philip Molares <philip@mauricedoepke.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>