Code Monkey home page Code Monkey logo

react-client's Introduction

HedgeDoc Logo

#HedgeDoc on matrix.org version POEditor Mastodon Twitter REUSE Compliance Check Nest.JS CI codecov

HedgeDoc lets you create real-time collaborative markdown notes.

Getting Started

State of the project

HedgeDoc 1.x is stable and used around the world, but the codebase has grown over time, making it hard to add new features.
We are currently working on HedgeDoc 2, a complete rewrite of HedgeDoc. Please note the following:

  • This branch contains the latest development code and does not implement all features yet. If you are looking for the 1.x source code, have a look at the master branch.
  • The 1.x release is maintenance-only. We do not accept feature requests or PRs for this release anymore and may choose to close non-critical bug reports, if the bug will be non-existent in 2.0.
  • HedgeDoc 2 will be split in two components. The backend and the frontend. Both are present in this repository.

Development

Information for setting up a local development environment can be found in the developer documentation

HedgeDoc 2 Alpha

Curious about the new look and feel of HedgeDoc 2? We provide a demo of the alpha on hedgedoc.dev.

If you want to try it out on your own devices, visit the HedgeDoc 2 docs. But be aware that these may change over time.

Contributions

We welcome contributions!
Have a look at our contribution docs to find out how you can help. If you want to contribute to HedgeDoc 2, please join our development chat.

License

Licensed under AGPLv3. For our list of contributors, see AUTHORS.

The license does not include the HedgeDoc logo, whose terms of usage can be found in the github repository.

react-client's People

Contributors

dependabot[bot] avatar dermolly avatar erikmichelson avatar herhde avatar mrdrogdrog avatar renovate-bot avatar renovate[bot] avatar sisheogorath avatar stragu avatar truh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-client's Issues

Edit default note text

Hi, I'd like to be able to edit default text show when a new note is created, before the user begins typing. See this forum discussion. Wondering if this could be customized in a manner that survives Docker pulls. Thanks!
Screenshot_20200424_184913

Video autoplay in slide-mode

Description

I want the video to play automatically in slide mode, but after opening the document in slideshow mode, all videos set to autoplay start playing.

This is the code to insert the video:

<video src="https://srv-file7.gofile.io/download/ZEw73Z/Nitro%20trip%20majora%2010.03.2020(720P_HD).mp4" controls="controls" loop="loop" width=100% autoplay="autoplay"></video>

Expected behavior

The video does not play automatically until the slideshow transitions to a page with a video.

In addition, I want to pause autoplay for all videos on the edit page.

JIT-load 3rd-party-scripts

@ErikMichelson asked:
Would it be possible to only load these external scripts like dropbox-integration when the user clicks the export button? It currently seems as if it will be loaded always if an appKey is specified and that's maybe not so great in terms of privacy.

Use await/async

Currently we are using promise chaining. We should switch to the async/await syntax.

on phone can't select text for copy / paste

I'm using firefox on my android phone, and when i open a pad.. I can't select text as in the other apps, where i just do a long click and android shows me options to copy/paste etc...

Night mode detection

If we provide a night mode/dark theme for the new frontend it would be fancy to use the CSS based detection which would allow browsers to indicate that users prefer dark themes and CodiMD could pick that up automatically.

Working code for the old frontend exists in this PR of mine: hedgedoc/hedgedoc#339

Link target URLs pointing to same server require a leading slash

When creating a link like this:

[interesting animals](dogs)

CodiMD doesn't render a link to that page. Instead it has to be formatted like this:

[interesting animals](/dogs)

It would make the data much more portable and compatible with some other markdown based systems if full relative links would be supported.

Better Wiki support

CodiMD already has the underlying features necessary for using it as a wiki (especially arbitrary named page creation). There are a couple of minor changes that would make this much easier to use, however:

  1. ability to add internal links with the [[NewPage]] syntax (currently, a user needs to use [NewPage](/NewPage)
  2. A way of seeing backlinks (Maybe a left sided TOC like menu on the view mode only would be an option)
  3. An editor button for adding wiki links

Add table view to history

Some people prefer a table view instead of the cards. We should implement an toggle button or something.

add browser e2e tests

we should add some kind of browser e2e tests to ensure the frontend behaves the way we think and that nobody breaks it in future commits

which framework should we use for this?

LaTeX and Side-By-Side editing is buggy

Hey!

When you are doing syncronized side-by-side editing and put inline LaTeX the left (code) side will always scroll away from your cursor:

Once the JS latex rendering on the preview kicks in there seem to be some resizing going on where the result is having the left (code/editing) side scroll upwards away from where the cursor is.

I've created a document that exhibits the behaviour:
https://demo.codimd.org/lxKeQqQITm62S1wQf0h7Yw#

Idea: Slide improvements

Hey lads,
since I'm working quite often with the slide mode I've got some ideas to discuss and propose:

Download compiled slides

Add a Presentation item to the download menu for offline (or wherever) usage, which outputs the compiled slides

  • without the footer
  • including assets like
    • CSS
    • JS
    • image assets (or whatever you can upload)
  • as an archive

Editor: Slide options in the toolbar

Add a slide option button to the editor toolbar, opening a dialog to dis-/enable the type: slide and other options in the front YAML.
If enabled, show buttons for individual slides in the toolbar, like uploading a background image, adding a fragment, new slide (--- or ----) etc.

Vertical alignment options

Implement an option to set the vertical alignment of a slide, useful for background images and title slides. Example where it would be useful to align the content:
example
I think this would be a bit too much, since it is possible through HTML & CSS and afaik not part of reveal.js.


(IMHO one issue for this epic is fine, as long as we don't have implementation plans or lengthy discussions.) So, please share your thoughts on this!

Idea: History overhaul / Explore page

Hey lads,
I've stared an issue in the old tracker, but I guess it is time for another approach, discussing a slight overhaul of the history overview. Here are my points to start with:

  • Add a list view
  • Add per item/document:
    1. Number of words or another indicator for the document's size
    2. Avatars of the most active users
    3. Number of visitors
    4. Creation time
    5. Number of revisions
  • Add sort functions according to 2.
  • Hide empty documents
  • Implement directories to structure the overview (per user, may be obsolete since we have tags, but tbh I don't know how to use them)
  • Add multi-selection capabilities for downloading/"deleting"/tagging multiple documents at once

So, your thoughts please!

browser displays incorrect title in edit mode

Under certain conditions, the title displayed by the web browser in CodiMD "edit" mode is "CodiMD - Collaborateive markdown notes" rather than the title following "# " on the first line of the page.

image

To reproduce:

  • open Firefox (not yet tested in other browsers)
  • in a new tab, open https://demo.codimd.org/Jrm4lt_pTCyqpQqVmBrImA?edit
  • observe the title in the tab above the URL bar; sometimes it is necessary to wait a few seconds and/or change the cursor position in the text to see the issue; if the page has been open recently, it may be necessary to use Private Browsing Mode to observe this issue
  • switching to "view" mode and then back to "edit" mode works around this issue, although changes in title are not displayed by the browser until switching to another view again

highlight the AGPL on the demo homepage

Glancing at the homepage, I would not have noticed this was free/libre/open software. I only found out because of the way someone referred me. Please add a clear reference, maybe "This is entirely free/libre/open software under GNU AGPL" or "free/libre/open software" as a focus point or something to make it clear to visitors. It's a valuable trust signal.

automatic history upload

if the user has no history on the server, the frontend currently offers to upload a possible localStorage history.

I think it would be a good idea to look in the localStorage to determine if there is something to upload and then do that automatic. Also the localStorage should be cleared after a successful upload.

That would make the process of going from a anonymous user to a user with a profile a bit smoother and doesn't require to see the magic import button at the right moment...

Add possibility to change editor font (with ligatures)

Actually it's more about ligatures (i don't know if CodiMD supports them), but as I have Fira Code installed on my system, i really would like to use it in the editor to benefit from the ligatures provided by this font.

Add frontend config file

We need some frontend configurations like the url of the backend server. We could fetch them from a config.json in the public directory.

import old history object from localstorage

we'll need to convert the old history to the new version if no new history exists in localstorage.

example data:

[{"id":"Cqwcq-gUQPCbSTMLUtgokA","text":"Test note 1","time":1589578171048,"tags":[]},{"id":"871MNsgsQv2z8lKWNcWVLA","text":"Test note 2","time":1589578045759,"tags":[]}]

Correction of spelling in context menu

Hi everyone.
Is there a possibility for spelling correction in the context menu?
When I am using codimd (firefox), the right click brings me this:
132
I drive my bicicle. (test sentence).
But it would be much nicer to have a context menu like this:
(example from the github page):
333
Do you think this is possible to implement?
Thanks a lot!

Number of character / number of words

hello

intersting information are:

  • number of charcacter in the resulting format (html, odm, pdf)
  • number of words in the resulting format

right now the information of number of charracter is about every single markdown markup

Use image alt text as header text as fallback

I have the following scenario:

# ![Header](imgsrc)

## Header

### Header

Instead of text, I want an image at the top of my document. This screws up the ToC but it doesn't have to if the image is used as a header and if the image comes with an alt text.

I propose that the app falls back to using the alt text of an image if available.

backspace in markdown editor broken on Firefox for Android (AOSP-Keyboard)

This issue relates to fixing the backspace functionality in the markdown editor on Firefox for Android.

I'll do some more investigation into what's going wrong here later on in the week, have my hands tied moving at the moment ๐Ÿ˜

For context, here's the discussion so far from the CodiMD chat:

00:16 <alec> Does anyone here use the markdown editor on Firefox for android?
00:16 <alec> My backspace doesn't seem to work
17:17 <&amenthes> @alec: I'm using it sometimes on android/firefox
17:18 <&amenthes> I can confirm that backspace does nothing on the demo instance O_O
17:18 <&amenthes> this never occurred to me, and I could have sworn that I would probably have needed that every now and then
17:18 <&amenthes> I'm running a bisect to find where this was introduced (if so)
17:29 <&amenthes> interestingly, the very same commit does let me use backspace just fine
17:30 <&amenthes> `4c90863`
17:34 <&amenthes> For a reason i don't yet understand, it now also works on demo.codimd.org.
17:35 <&amenthes> interestingly I can remove characters, but I apparently can't backspace newlines
17:36 <&amenthes> this is really broken in quite odd ways.
17:37 <&amenthes> good news is: it's exactly as broken on my local clone :-D
17:37 <&amenthes> (I was misled earlier, becaus one apparently can delete the characters one just typed a few seconds ago)
17:38 <&amenthes> I'll investigate a bit further
17:38 <&amenthes> but could you open an issue here, @alec? https://github.com/codimd/server/issues

Externals Syntax for CodiMD (Internal) or HackMD Notes

Editing and previewing in Night Theme is currently all great, but the published note keeps its bright white background, and there seems to be no settings that can toggle it for now.

My current workaround is copy and pasting the entire <style> ... </style> code from https://hackmd.io/hackmd-dark-theme to my CodiMD note, which is quite lengthy, and it feels awkward to do this on every note I intend to publish later on.

With HackMD, we're able to use {%hackmd noteid %} to include content from other HackMD notes, and I'm a big fan of this particular dark theme hack. Will this become a supported feature for CodiMD as well? Also, would it be practical for syntax {%codimd noteid %} to look up notes within the local server?

Progressive Web App

Through progressive web app manifests it should be possible to allow CodiMD or single note to be easily added to homescreens of mobile devices with an App-like user experience.

PWAs have more features, but if I'm not mistaken, for adding to home screen all we would need is to generate a json file containing things like a link and links to icons in various sizes.

In edit modes, the top bar is always available. In view mode it disappears when you scroll

If the top bar with the edit buttons and such could float in view mode... that would be extremely helpful. There are many times when I'm reviewing a doc and I see something that needs to be changed... but i have to scroll all the way back to the top, then click the edit button... then scroll all the way back down to where I was.
This isn't a big deal for something short, but when you're working on a very lengthy doc this gets really really annoying after a while.
I wouldn't think it would be a hard change since the functionality is already there in the other modes.

rename via-oauth2 component to via-one-click

I think it's confusing that the component for all oauth2 logins is called via-oauth2, when oauth2 is also the name for our general purpose oauth2 button.

Therefore I think via-on-click is a better name.
In the same vein OAuth2Type and OAuth2Map should be renamed to...

Dollar sign in a link title causes incorrect underlining in edit text

A link title containing a dollar sign, e.g.:

[the $20 bill](https://en.wikipedia.org/wiki/United_States_twenty-dollar_bill#/media/File:US_$20_Series_2006_Obverse.jpg)

causes the portion after the link to also be underlined in the text being edited, and causes links to not be underlined at all in all subsequent paragraphs.

Escaping the dollar sign with a backslash works around the issue.

Example (link):
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.