Commit graph

65 commits

Author SHA1 Message Date
Erik Michelson
eab189c3c6
Refactor login components and adjust login API routes (#1678)
* Refactor login components and adjust API routes

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Adjust API /me response and redux state

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Fix moved function

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Update cypress tests

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Adjust mock response

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Integrate new common fields and hook into profile page

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Remove openid

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Fix config mock

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-12-11 01:32:38 +01:00
Tilman Vatteroth
b68a55aa94
Move frontmatter types (#1664)
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-12-02 22:41:07 +00:00
renovate[bot]
c75978c9a4
Update dependency i18next to v21.5.2 (#1643)
* Update dependency i18next to v21.5.2

Signed-off-by: Renovate Bot <bot@renovateapp.com>

* Fix i18n imports

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-11-20 12:48:37 +00:00
Tilman Vatteroth
8a8bacc0aa
Introduce Markdown extensions (#1614)
* Introduce markdown extensions

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-11-15 17:04:49 +01:00
renovate[bot]
2abe40ef1d
Update dependency eslint-plugin-import to v2.25.2 (#1555)
* Update dependency eslint-plugin-import to v2.25.2

Signed-off-by: Renovate Bot <bot@renovateapp.com>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Make type imports more explicit

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Enforce use of type imports

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-10-17 18:45:58 +02:00
Erik Michelson
fc3a3fa1a9
Enable redux devtools extension (#1565) 2021-10-16 22:41:49 +02:00
Tilman Vatteroth
c017df0a3c Fix linting errors
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-10-16 12:10:10 +02:00
Tilman Vatteroth
36e445e631 Add slide mode with reveal.js
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-10-15 21:27:06 +02:00
Tilman Vatteroth
ee7cde0096 Change motd banner to motd modal
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-10-13 22:06:27 +02:00
Tilman Vatteroth
87d6285da5
Fix security related problems (#1522)
* Remove unnecessary capture group from regex

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Rename component to make name more expressive

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Remove redundant expression

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Filter vbscript links

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Remove superfluous parameter

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Check if handler is set

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Fix doc

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-10-01 22:51:57 +02:00
Tilman Vatteroth
0e512531a0
Improve Logging (#1519)
Improve Logging

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-09-28 22:06:35 +02:00
Tilman Vatteroth
7ec956e5c3
Remove document content (#1470)
* Merge documentContent and markdownContent

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Add hook for markdown content without frontmatter

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Use hook for export

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Let subcomponent handle the markdown content

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-09-05 14:27:44 +02:00
Erik Michelson
04e16d8880
Move frontmatter extraction from renderer to redux (#1413) 2021-09-02 11:15:31 +02:00
Tilman Vatteroth
553e9f8ead
Rework notifications (#1465)
* Rework notifications

- dispatchUINotification returns a promise that contains the notification id
- notifications use i18n instead of plain text

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

* Reformat code

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-08-31 22:21:29 +02:00
Tilman Vatteroth
6a43d0c5fb Reorganize redux types to avoid unnecessary type casting
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-07-26 21:53:08 +02:00
Tilman Vatteroth
015a5cf496 Extract the render ready status into an extra redux state
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-21 21:38:36 +02:00
Tilman Vatteroth
cfb2de8909 Add renderer ready state to global application state
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-19 16:02:55 +02:00
Tilman Vatteroth
4580bc9658
Fix splitter (#1307)
Use window for splitter resizing

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-12 16:20:11 +02:00
Erik Michelson
0aae1f70d2
Add prettier for codestyle and re-format everything (#1294) 2021-06-06 23:14:00 +02:00
Erik Michelson
726b084509
Fix task list checkboxes for numbered lists (#1233)
* Fix replacer regex

This regex handles the replacement of the [ ] with [x] and reverse.
Until now it was build to check for an unordered list beginning with "*" or "-".
This change permits "+" as well as digits followed by a dot (ordered lists).

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Add cypress tests for task lists

Signed-off-by: Erik Michelson <github@erik.michelson.eu>

* Add bracket syntax for numbered lists

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2021-05-04 20:34:16 +02:00
Tilman Vatteroth
0264e9a420
Fetch banner.txt from public URL instead of config (#1216) 2021-05-03 19:57:55 +00:00
Philip Molares
9cf7980334
Fix Communication between frontend and backend (#1201)
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-05-01 21:01:42 +00:00
Erik Michelson
8e5a667d18
The History PR: I - Move to redux (#1156) 2021-04-22 22:46:24 +02:00
Tilman Vatteroth
a86789dbef
Add toasts (#1073)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-03-11 20:51:11 +01:00
Erik Michelson
0b4a0afa16
Add table formatting on paste of detected table (#957) 2021-03-10 22:52:20 +01:00
Tilman Vatteroth
d9292e4db0
Merge basic and full markdown renderer (#1040)
The original idea of the basic-markdown-renderer and the full-markdown-renderer was to reduce the complexity. The basic markdown renderer should just render markdown code and the full markdown renderer should implement all the special hedgedoc stuff like the embeddings.
While developing other aspects of the software I noticed, that it makes more sense to split the markdown-renderer by the view and not by the features. E.g.: The slide markdown renderer must translate <hr> into <sections> for the slides and the document markdown renderer must provide precise scroll positions. But both need e.g. the ability to show a youtube video.

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-02-17 21:58:21 +00:00
Tilman Vatteroth
e12dc523f8
Adjust editor config (#976)
* Adjust editor config

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
2021-02-03 22:13:04 +01:00
Tilman Vatteroth
123f959fb3
Move and rename files (2/4) (#987)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-02-02 00:03:47 +01:00
Tilman Vatteroth
1b7abf9f27
Reorganize redux and hooks (1/4) (#985)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-02-01 22:55:49 +01:00
Tilman Vatteroth
586969f368
Wrap markdown rendering in iframe (#837)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-24 20:50:51 +01:00
Erik Michelson
527df561ef
Fix yaml metadata and document title not resetting on deletion (#915) 2021-01-07 17:38:06 +01:00
Tilman Vatteroth
28600d6508
Change copyright year from 2020 to 2021 (#917)
* 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>
2021-01-06 21:37:59 +01:00
Erik Michelson
b2cf2f134e
Add ability to use yaml-array for tags (#874) 2021-01-04 13:01:34 +01:00
Erik Michelson
721c8c0e5a
Enhance share dialog (#860) 2020-12-22 21:17:40 +01:00
Philip Molares
0c0841639a
added upload functionality (#758)
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-12-16 23:07:09 +01:00
Tilman Vatteroth
8ce344512c
Use fira code in editor (#695)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-12-14 23:58:46 +01:00
Philip Molares
f3bf7cd105
Added reuse information (#782)
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-11-22 21:50:07 +01:00
mrdrogdrog
1690a7bdcf
Improvement/move document content into redux (#691) 2020-10-28 22:15:00 +01:00
mrdrogdrog
101292da92
Feature/lazy load components (#590) 2020-09-26 09:54:17 +02:00
Philip Molares
44637c753e
Add dark mode (#554) 2020-09-13 18:04:02 +02:00
Erik Michelson
f636e5ec10
Save editor preferences to localStorage (#541 / #553)
* Added editor-preferences to redux store

* Add local-storage saving and retrieval of EditorConfig

* Change import to be in a single line

* Add equality check to redux-selector (as suggested by @mrdrogdrog)

* Save and load editor-config to/from localStorage
2020-09-09 11:22:52 +02:00
Erik Michelson
79469c5ddc
Show warning if note is longer than configured maximum length (#534)
* 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
2020-09-05 16:36:46 +02:00
Philip Molares
db4f2a4478
add missing autocompletions (#514)
* added missing autocompletions:
- code-block
- container
- header
- image
- link
- pdf

* added extraTags ([name=], [time=], [color=]) to the link autocompletion, because they trigger on the same characters
added getUser in /redux/user/methods to retrive the current user outside of .tsx files
improve the regexps on several autocompletion

* renamed hints to auto
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-09-01 22:28:08 +02:00
mrdrogdrog
c95a7e0fba
Add sync scroll button (#481)
* Add disable sync scroll button

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-08-25 21:36:25 +02:00
mrdrogdrog
0fadc09f2b
Restructure repository (#426)
organized repository 

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Philip Molares <git@molar.es>
2020-08-16 16:02:26 +02:00
Erik Michelson
dbce0181a4
Add register via username and refactor email-login to username-login (#313)
* 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
2020-08-04 23:13:12 +02:00
Jakob Klepp
fe2f7403aa
Add plantuml support (#327)
* Add plantuml support
* Enable PlantUML rendering only if plantumlServer config is set
* Show warning box when plantuml is enabled but no server is configured
2020-08-04 11:15:23 +02:00
Philip Molares
d0fc96b929
rework how the frontend is started (#361)
renamed frontend-config to api-url
renamed backend-config to config
removed api call to set frontend-config as the frontend either know where the backend is as it is delivered by it or get's this information via the enviroment variable REACT_APP_BACKEND
always start the client on Port 3001 as the backend will run on 3000 during development. changed the port on multiple occasions to accommodate for this
added package.json script 'start:dev'
changed README to better explain how to run backend and frontend side-by-side
2020-07-29 22:58:01 +02:00
Erik Michelson
9c19bb1d9d
Add support for image-proxies by (optional) piping of image urls through the backend (#315)
* Added config property for image proxies

* Added API call and image url replacing

* Added comment explaining why a local function is needed inside the useEffect

* Added CHANGELOG entry

* Changed wording of the CHANGELOG sentence

* Changed CHANGELOG entry

Co-Authored-By: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Removed fallback to original src

* Removed unnecessary API call for empty src URLs

* Simplify image url fetching

* Refactored imageframe to avoid rerendering of images

Co-Authored-By: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Renamed config property to useImageProxy

Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-07-29 22:28:32 +02:00
Philip Molares
b23a73ac51
added branding option (#301)
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>
2020-07-01 23:20:00 +02:00