Commit graph

123 commits

Author SHA1 Message Date
Tilman Vatteroth
82472227f9
Replace react-html-parser with html-to-react (#1327)
* Replace react-html-parser with html-to-react

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-18 23:26:36 +02:00
Erik Michelson
57f46f489b
Add word count in document info modal (#738)
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-17 22:31:28 +02:00
Tilman Vatteroth
4b3990d0db
Add extra test suite for emojis (#1322)
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-17 21:19:05 +02:00
Tilman Vatteroth
6c4c5a81af Fix tests
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-12 18:25:47 +02:00
Tilman Vatteroth
0ecd255297 Fix test
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-12 18:25:47 +02:00
Tilman Vatteroth
a25c13176d Fix test
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-12 18:25:47 +02:00
Tilman Vatteroth
ed9f4aefab Add mock for upload response
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2021-06-12 18:25:47 +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
Tilman Vatteroth
e1d096ba1d
Don't show error if no intro.md was found (#1221) 2021-05-03 19:56:44 +00:00
Tilman Vatteroth
2c5a03b3ee
Restructures + New Evironment Variables (#1230)
* Use document base uri for react router

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

* Rename getAndSetUser to fetchAndSetUser

Getter should be reserved for simple get functions.
Everything that does a bit more logic should use a more meaningful verb.

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

* Rename getFrontPageContent to fetchFrontPageContent

Getter should be reserved for simple get functions.
Everything that does a bit more logic should use a more meaningful verb.

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

* Reformat code

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

* Use PUBLIC_URL env var in index.html

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

* Introduce new environment variables

For better testing (especially if you have multiple endpoints) this commit introduces
REACT_APP_BACKEND_BASE_URL, REACT_APP_FRONTEND_ASSETS_URL and REACT_APP_CUSTOMIZE_ASSETS_URL

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

* Remove redundant license information

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

* Remove redundant license information

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

* Fix rebase issues

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

* Remove unused file

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

* Correct parameter

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

* Fix run tasks

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

* Force use of bash

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

* Fix link to cypress picture

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

* revert change

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

* fix url

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

* Remove license info

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

* Revert rebase issues

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

* Add missing banner code

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

* Fix test url

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

* Useless change to trigger github

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

* Don't set backend base url because this break the mock mode detection

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

Co-authored-by: Philip Molares <philip.molares@udo.edu>
2021-05-02 22:38:43 +02: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
Philip Molares
29d9d49f5a
Change api route to /api/private (#1189) 2021-04-15 22:10:15 +02:00
renovate[bot]
b42cb8fc49
Update dependency cypress to v7 (#1183)
* Update dependency cypress to v7

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

* Use global beforeEach for config loading

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

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
2021-04-14 22:28:50 +02:00
Erik Michelson
7a21a26166
Disallow data and javascript URIs (#1186)
* Disallow data and javascript URIs

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2021-04-11 22:48:31 +02:00
Erik Michelson
0b4a0afa16
Add table formatting on paste of detected table (#957) 2021-03-10 22:52:20 +01:00
Tilman Vatteroth
107f0f6fa3
Code improvements (#1086)
* Extract code into hook
* Refactor code to remove let
* Reformat code
* Extract version-info-modal into components
* Use main block in landinglayout
* Add fixedWidth and classname attribute to IconButton

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-03-10 22:45:05 +01:00
Tilman Vatteroth
029295dd3b
Replace acme.png with demo.png (#1089)
* Replace acme.png with demo.png

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-03-09 22:03:54 +00:00
Erik Michelson
6d2dde477c
Add one-click login if possible (#1043) 2021-03-09 23:00:14 +01:00
Erik Michelson
f9809a4edf
Add e2e tests for diagrams and embeddings (#1025) 2021-02-22 22:27:59 +01:00
Tilman Vatteroth
47f5e7653b
Readd legacy pdf short code markdown it plugin (#1023)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-02-08 20:03:49 +01:00
Tilman Vatteroth
5b1940f0ba
Add quote extra markdown it plugin (#1020)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-02-08 18:29:02 +01:00
Tilman Vatteroth
7f6e0e53a7
Add custom intro page by fetching markdown content from a file (#697)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-02-08 15:03:11 +01: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
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
0627e0f551
Replace document bar with sidebar (#937)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-24 21:39:47 +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
Tilman Vatteroth
908a5ce984
Rewrite tests (#948)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-15 21:54:43 +00:00
Tilman Vatteroth
9f6b1a9a46
Fix counter continue in highlighted-fence-replacer.tsx (#943)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-13 11:52:06 +01:00
Philip Molares
7be64bc582
added a spoiler container (#947)
changed toolbar to insert the new spoiler container
changed tests accordingly

References:
https://github.com/markdown-it/markdown-it-container
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-01-13 11:45:33 +01:00
Philip Molares
9330adf564
fixed title extraction to exclude latex code, but include rendered latex (#946)
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-01-12 18:18:56 +01:00
Tilman Vatteroth
3db6bcf892
Improve tests (#944)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-11 22:22:11 +00: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
Tilman Vatteroth
887c3b9dd3
Feature/browserstack (#902)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-06 13:09:33 +01:00
Erik Michelson
b2cf2f134e
Add ability to use yaml-array for tags (#874) 2021-01-04 13:01:34 +01:00
Tilman Vatteroth
bf42b9c460
Minor fixes (#911)
* Replace full links

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Use dark mode hook

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Add overflow for graphviz and abc

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Cap max height of toc overlay

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Remove extension from css import

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Fix hook

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2021-01-03 00:19:10 +01:00
Erik Michelson
95c563255d
Add support for editor-mode URL parameters (#873) 2020-12-22 21:45:11 +01:00
Tilman Vatteroth
1c6e6e10fb
Replace codimd with hedgedoc (#875)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-12-22 17:27:26 +01:00
Philip Molares
1b563f7f89
fix pasting text (#871)
* fix onPast bug in editor

the event was prevented, if event.clipboardData.files was defined. This always the case. Now we check if this filelist object has at least on entry to start the onPaste handler for file uploads.

Signed-off-by: Philip Molares <philip.molares@udo.edu>

* added e2e test that verifies that pasting text still works

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-12-21 11:58:43 +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
fee1605636
Add custom language list for highlight js without 1c (#809)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-12-07 21:36:14 +01:00
Philip Molares
e0dbb05572
changed calls to cy.route to cy.intercept (#806)
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-11-30 12:31:54 +01:00
Philip Molares
a24ef18dd4
added table overlay to table toolbar button. (#763)
Co-authored by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-11-29 13:17:40 +01:00
Erik Michelson
e8ccd44ff7
Fixed branding icon path in mocked cypress config (#804)
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2020-11-28 23:59:17 +01:00
Philip Molares
26b420c500
added copy check in code e2e test (#799)
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-11-28 22:35:14 +01:00
renovate[bot]
a7aae1ae4a
Update dependency cypress to v6 (#798)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2020-11-28 11:51:40 +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
42cbb51bfa
Feature/hedgedoc logo (#606) 2020-11-15 21:37:39 +01:00
Philip Molares
b3a0411a35
fix cypress runs (#755)
This PR fixes the cypress tests, by adding a stub to the put request.
2020-11-15 18:00:53 +01:00
Philip Molares
0e058e16e2
move taskLists from full to basic renderer (#725) 2020-11-01 21:38:17 +01:00
mrdrogdrog
460badb97b
Update multiple packages (#719)
* Update multiple packages

- @typescript-eslint/eslint-plugin
- @typescript-eslint/parser
- eslint-config-react-app
- eslint-config-standard
- react-scripts

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* fix type

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* deduplicate code

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Disable test because it doesn't work

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* repair service worker

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* Lazy load mermaid

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* use show error

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* fix tsconfig in cypress

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

* fix import integration test

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-10-25 21:17:59 +01:00
Erik Michelson
5574f09ef5
Replace emoji-mart with emoji-picker-element (#620)
* 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
2020-10-10 23:12:17 +02:00
Erik Michelson
053edb9ace
Add access token management to profile (#653)
* 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
2020-10-10 11:38:32 +02:00
Erik Michelson
729ad652b3
Added markdown-file import (#645)
* Added markdown-file import

* Reset file input after read, don't add unnecessary blank lines

* Add cypress-file-upload dependency

* Add cypress tests for md file importing

* Added CHANGELOG entry
2020-10-09 21:26:04 +02:00
Philip Molares
9f7a106834
added markdown export (#627) 2020-10-06 12:43:17 +02:00
Philip Molares
1ab9b58031
Extract clean title from first heading (#616)
* removed first-header-extractor
get first heading from markdown rende
* don't remove editor or renderer just hide them
this way both are always up to date and can be shown very fast
* extracted image alt attribute into first title. too
* added tests as suggested by @mrdrogdrog
2020-09-30 23:50:32 +02:00
Erik Michelson
0f31c3b0b4
Autocompletion and toolbar button for collapsable blocks (#615)
* Add autocompletion for <details construct

* Add toolbar button for <details>-construct

* Added CHANGELOG notice
2020-09-30 23:35:10 +02:00
Erik Michelson
01a68b1efe
Change element.io links to matrix.to links (#614)
* Change element.io links to matrix.to links

Following to the discussion in codimd/server#496, this commit changes element.io links to matrix.to in the new react-client as well.

* Updated cypress test for new link
2020-09-30 18:19:17 +02:00
Philip Molares
9c38655a92
fixed highlight fence in regard to '=' (showLines) and '!' (wrapLines) (#594)
this was just a simple index problem. The 0. entry of a regex result is the whole string and not the first capture group

added e2e tests to fix this in the future
cypress does currently not support copy to clipboard in firefox so this part of the test is commented out (for the time being)
2020-09-22 23:17:19 +02:00
Erik Michelson
be2428f22c
Extract URLs in extra file and change riot link to element-link (#551)
* Update matrix chat link to new element URL

* Correct other usages of the element link

* Extracted static external links into separate file
2020-09-13 16:38:53 +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
mrdrogdrog
0e912d64dd
Rename codimd to hedgedoc (#434)
Rename codimd to hedgedoc
2020-09-02 21:17:26 +02:00
mrdrogdrog
3a0e35a9f3
Improve render performance (#511)
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
2020-09-02 20:51:47 +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
ef36123377
Replace MathJax with KaTeX (#497)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
2020-08-27 15:13:35 +02:00
Philip Molares
13b7854c65
made the addCodeFences function also work without selections (#428)
* made the addCodeFences function also work without selections
changed tests accordingly

* add codeFence change in CHANGELOG.md
2020-08-19 21:26:22 +02:00
Philip Molares
5a56784cd0 enhanced the e2e history.spec 2020-08-17 09:40:44 +02:00
Philip Molares
d15ab657a6
Added toolbar e2e tests (#409)
* added toolbar e2e test
changed addTable function

* fixed toolbar unit test

* added emoji to toolbar e2e tests
added selection with link to toolbar e2e tests
2020-08-15 01:39:48 +02:00
Philip Molares
c15f0d9900
Add Emoji/FA Autocompletion (#387)
added emoji/fork-awesome autocompletion
added autocompletion e2e test

Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
2020-08-14 13:58:59 +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
Philip Molares
29709d2ba4
Add YAML-metadata for notes and change the document title accordingly (#310)
* 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>
2020-07-18 22:17:36 +02:00
Philip Molares
f0fe7f5ac2
added e2e tests (#298)
- added e2e tests for
  - banner
  - history
  - intro
  - language
  - link
- added e2e workflow
- added cypress badge to README
2020-07-16 11:22:53 +02:00