Giter Site home page Giter Site logo

nextcloud / notes Goto Github PK

View Code? Open in Web Editor NEW
587.0 23.0 129.0 25.62 MB

✎ Distraction-free notes and writing

Home Page: https://apps.nextcloud.com/apps/notes

License: GNU Affero General Public License v3.0

Makefile 0.46% PHP 17.40% JavaScript 70.94% Vue 10.94% CSS 0.27%
nextcloud markdown markdown-editor distraction-free notes nextcloud-notes

notes's Introduction

Notes

The Notes app is a distraction free notes taking app for Nextcloud. It provides categories for better organization and supports formatting using Markdown syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate REST API allows for an easy integration into apps (Android, iOS, and 3rd-party apps like the console and many more which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.

Screenshot of Nextcloud Notes

🚀 Installation

In your Nextcloud, simply navigate to »Apps«, choose the category »Office«, find the Notes app and enable it. Then open the Notes app from the app menu.

Nextcloud will notify you about possible updates. Please have a look at CHANGELOG.md for details about changes.

❗ Bugs

Before reporting bugs:

👥 Maintainers

⚠️ Developer Info

Lint Test

Building the app

  1. Clone this into your apps folder of your Nextcloud
  2. In a terminal, run the command make dev-setup to install the dependencies
  3. Then to build the Javascript run make build-js or make watch-js to rebuild it when you make changes
  4. Enable the app through the app management of your Nextcloud

REST API for third-party apps

The notes app provides a JSON-API for third-party apps. Please have a look at our API documentation.

Admin configuration

It is possible to specify different defaults for the notes settings of new users using occ commands like these:

occ config:app:set notes noteMode --value="preview"
occ config:app:set notes fileSuffix --value=".md"
occ config:app:set notes defaultFolder --value="Shared notes"
Setting Property name Default Other available option(s)
Display mode for notes noteMode edit preview
File extension for new notes fileSuffix .txt .md
Folder to store your notes defaultFolder Notes Custom

notes's People

Contributors

ahangarha avatar andreasjacobsen93 avatar andyscherzinger avatar bernhardposselt avatar caco3 avatar davidprevot avatar deepdiver1975 avatar dependabot-preview[bot] avatar dependabot[bot] avatar gko avatar henni avatar icewind1991 avatar jancborchardt avatar juliushaertl avatar kesselb avatar korelstar avatar loki3000 avatar luka-nextcloud avatar lukasreschke avatar morrisjobke avatar newhinton avatar nextcloud-bot avatar provokateurin avatar rakekniven avatar raydiation avatar rushsteve1 avatar skjnldsv avatar stefan-niedermann avatar theatischbein avatar valdnet 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notes's Issues

Setting to choose notes folder

Hi,
I'm in a situation where my hosting provider (DreamHost) is ok with me installing Nextcloud on my space but doesn't want me to store personal files in said space. That's why I put all my files in a connected GDrive space (or similar). The Notes application create a Notes folder in my root folder and puts all the notes in there, which is a potential breach of my contract with the hosting provider.
I was wondering if it's possible to create a setting entry in the personal preferences to allow users to choose the folder where they want the notes saved, so that I can e.g. move it to the GDrive space or others.

Note renaming from within app

Yesterday I installed this app and created some test notes. What was very disappointing to me is that one cannot rename a note from inside the app, but has to do it in the Notes folder. This is not very intuitive.

Share a single note / publish

It would be shown in »read only« mode of course (see also #23). Basically the page like for share links with the blue header, in the content only the note text, formatted properly (no Markdown highlight stuff) and on the top right a download function.

The share icon could be in a 3-dot menu in the left navigation, where also »Delete« should be placed now that we get more stuff. We could layout it like in the Spreed app, where quick sharing by link is possible:
capture du 2016-12-15 16-22-04
Clicking on »Share link« shows the link in an input field below and also shows a copy button. We could also use the clipboard API to directly copy the share link to the clipboard.

We don’t need full-blown sharing with others on the same instance yet I’d say since there’s no realtime collab anyway. This is about publishing mainly. :)


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

note can not be entered in Chinese!

Note can not be entered in Chinese. But the note in owncloud can be entered in Chinese. Is this a bug? Or note in nextcloud does not support double-byte text?Is there a plan to solve this problem?

Internal server error from non-utf8 file

Steps to reproduce

  1. Store this test file (shift-jis) to notes directory
  2. Open note

Expected behaviour

Directory listing

Actual behaviour

No directory listing (error 503)

Server configuration

Operating system: FreeBSD 11.0

Web server: nginx 1.10.3

Database: postgresql 9.6

PHP version: 7.1.3

Nextcloud version: 11.0.2

Updated from an older Nextcloud/ownCloud or fresh install: fresh install

Where did you install Nextcloud from: internet

Signing status:

Signing status
No errors have been found.

redacted because of too long. I hope my test file is enough and that it's not my configuration mistake. Otherwise I'll come back and fill up everything.

"Enabled" apps not showing when Notes app is installed

Hi!

I just installed the latest version (2.1.1) of the Notes app (via git pull) on my ownCloud server 9.1.3 and now I don't see the apps list on the server anymore: I click on the App button and no "Enabled" apps are shown - only the "loading circle" is running for ever. If I click other items (Not enabled, Multimedia, ...) the apps are visible with all the information. On the other hand all the apps, even Notes, seem to be working OK.

If I manually delete the Notes app everything works fine and I see also all the Enabled applications. I've cheked the log but there is not much in it:

Error PHP Array to string conversion at /var/www/html/owncloud/settings/Controller/AppSettingsController.php#203 2017-01-06T12:45:04+00:00 Error PHP Array to string conversion at /var/www/html/owncloud/settings/Controller/AppSettingsController.php#202 2017-01-06T12:45:04+00:00 Error PHP Array to string conversion at /var/www/html/owncloud/settings/Controller/AppSettingsController.php#202 2017-01-06T12:45:04+00:00

Any ideas what might be the problem?

Unable to delete notes

I am on NextCloud 11.0.2 after migrating from OwnCloud. I am able to create new notes and edit existing notes but the delete button on the site does not do anything. If I attempt to delete using the app on my phone, the note will reappear after I refresh the app screen. I can manually delete them from the Notes folder in files. Thanks.

creating new note causes internal server error

Steps to reproduce:

  • Use notes app 2.2.0 with Nextcloud 11.0.1
  • Try to create a new note in the Nextcloud web ui
  • Take a look at the Nextcloud logs

Expected behavior:
The note is correctly created without any errors.

Actual behaviour:
It happens nothing. The Nextcloud logs report an internal server error:

ArgumentCountError: Too few arguments to function OC\Files\Storage\Wrapper\Encryption::file_put_contents(), 1 passed in /share/MD0_DATA/htdocs/owncloud/lib/private/Files/View.php on line 1124 and exactly 2 expected
/share/MD0_DATA/htdocs/owncloud/lib/private/Files/View.php - line 1124: OC\Files\Storage\Wrapper\Encryption->file_put_contents('files/Notes/Neu...')
/share/MD0_DATA/htdocs/owncloud/lib/private/Files/View.php - line 676: OC\Files\View->basicOperation('file_put_conten...', '/Ben/files/Note...', Array, NULL)
/share/MD0_DATA/htdocs/owncloud/lib/private/Files/Node/File.php - line 54: OC\Files\View->file_put_contents('/Ben/files/Note...', NULL)
/share/MD0_DATA/htdocs/owncloud/apps/notes/service/notesservice.php - line 152: OC\Files\Node\File->putContent(NULL)
/share/MD0_DATA/htdocs/owncloud/apps/notes/controller/notescontroller.php - line 88: OCA\Notes\Service\NotesService->update(22351, NULL, 'Ben')
[internal function] OCA\Notes\Controller\NotesController->create(NULL)
/share/MD0_DATA/htdocs/owncloud/lib/private/AppFramework/Http/Dispatcher.php - line 160: call_user_func_array(Array, Array)
/share/MD0_DATA/htdocs/owncloud/lib/private/AppFramework/Http/Dispatcher.php - line 90: OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Notes\Controller\NotesController), 'create')
/share/MD0_DATA/htdocs/owncloud/lib/private/AppFramework/App.php - line 114: OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Notes\Controller\NotesController), 'create')
/share/MD0_DATA/htdocs/owncloud/lib/private/AppFramework/Routing/RouteActionHandler.php - line 47: OC\AppFramework\App main('OCA\\Notes\\Contr...', 'create', Object(OC\AppFramework\DependencyInjection\DIContainer), Array)
[internal function] OC\AppFramework\Routing\RouteActionHandler->__invoke(Array)
/share/MD0_DATA/htdocs/owncloud/lib/private/Route/Router.php - line 299: call_user_func(Object(OC\AppFramework\Routing\RouteActionHandler), Array)
/share/MD0_DATA/htdocs/owncloud/lib/base.php - line 1010: OC\Route\Router->match('/apps/notes/not...')
/share/MD0_DATA/htdocs/owncloud/index.php - line 40: OC handleRequest()
{main}

Enabled apps:
Calendar 1.5.0
Contacts 1.5.2
Notes 2.2.0

PHP-Version: 7.1.1
OS: Embedded QNAP-Linux

3rd party API: enable compression

In order to speed up synchronization with mobile devices (mobile connections often are slow and unreliable) it would be advantageous if the connection would be automatically compressed. Depending on the value of the HTTP header Accept-Encoding sent by the client (Android is sending this automatically), the response should be compressed and the respective header Content-Encoding should be activated.

As far as I can see, the ownCloud/Nextcloud App Framework does not provide any support for this. Is this really true? If yes, then we would have to implement it on our own. This is not a big deal, but requires to pick the Accept-Encoding into pieces. As an alternative one could try to use features from the web server. However, for Apache it wouldn't be straight forward, because a .htaccess file in this app would not apply to requests to the API (they go over index.php from nextcloud/server). Therefore, I'm not sure which solution would be best. Any ideas?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Update ownCloud appstore

@Henni
I don't know if it's intended, but the ownCloud appstore offers an old version of the notes app. I propose to update the entry continuously, because this could attract people to use this app and some of them could contribute to it -- and we are happy with every help, we get. 😃

(E.g., the tasks app has updated the ownCloud appstore entry although its repository has moved to Nextcloud.)

Markdown page description - anyway to create check lists like in LML (leightweight markup language)

Thanks for all the work on the notepad in Nextcloud...
I've been using Zim-Wiki (zim-wiki.org) for some years now and find that the check box feature in the "create list" feature to be invaluable. I'd like to transition this aspect of my business to Nextcloud/notes but I cannot with out this functionality. (I see that Markdown does deal with creating a checkbox but it is not interactive.
To be clear the zim-wiki checkboxes are interactive... clicking them either checks the box or unchecks it.

Thanks again,
Wayne #

Add edit/preview toggle

Sometimes you just want to read notes. Then it is more convenient if you can read it as formatted text without the whole markdown "noise".

The current implementation (simplemde branch, not yet merged) always shows the edit mode. This way I don't get why I need the Notes app. Because this is more or less the same as editing the notes with the default Nextcloud texteditor.

Put star on the left side of the note

Currently it’s on the right side. We should put it on the left side to be consistent with the sidebars in other apps.

For that, the <ul> just needs the class="with-icon" to have padding to the left. Then the star can be positioned on the left of it.

cc @korelstar @Henni

Notes disappear from the Notes Menu

I have experienced that the app does not show any notes anymore. They are present in the notes folder, however, I cannot access or edit them with the app. The mobile-app from f-droid shows connection issues. This is interesting insofar as I did not change anything with the server and it worked pretty much out of the box. I am using version 2.2.0 on Nextcloud 11.0.1

Save the note as a MarkDown file

  • Type: suggestion

When I write a new note, it is stored as Notes/my_note_name.txt.

The extension could be .md, in order to make the note readable directly in any markdown viewer.

Rendering bugs on PC app

  • Type: bug
  • Platform: PC

There are several rendering bugs when looking a note from the PC app. All the following text is correctly rendered on the Android app.

#A: Title without space after the `#`

>>> B: multiple citation

**`C: Some code in bold`**

*`D: Some code in italic`*

- E: A nested
    - list

But this is what I got on the PC app:

support for attachments / images [$106]

It would be nice to have some kind of attachment support to add an image or another file to a note


BountySource is no longer directly supported or endorsed by this repository. See #547 for more information. There is, however, an existing $136 open bounty on this issue.

E/S server error android client

Hi, i just setup a new nextcloud server, and im' getting a problem with the note app.
When I add notes 1 by 1 it looks to be worling, but when i try to copy all my text notes in the folder (700 files), the nextcloud notes web interface shows empty folder, and the android app don't connect anymore, sending an error, in french : "Détails de connexion incorrects: URL/ Serveur a des erreurs".

May be it's due to a wrong filename or a bgi quantity of notes ?

Thank you for your help, and thank you for your job.

Folder support

It would be nice if Notes, for a better workflow, supports folders to sort/structure taken notes.

Regards,
ank0m

Manage concurrent edits of notes

Currently, we have no proper handling of concurrent edits. Those can happen in many scenarios and it results in lost updates:

Scenario 1: Shared notes

  • User A shares a note to User B
  • both users open their notes app and begin to edit
  • when User B finishes after User A, all changes made by User A will be overwritten by User B without notice by User B (or User A)

Scenario 2: Mobile clients

  • the user makes changes using a client app on the mobile phone without network connection
  • later, the user edits the same note somewhere else, e.g. on a desktop computer using the web app
  • when the mobile device reconnects and synchronizes, one note overwrites the other without notice by the user

I would like to improve this situation and I thought about a strategy how to cope with this. We are experiencing a classical lost update problem, due to a write-write-conflict. Traditional databases use locking to prevent this. However, in our situation, we have a distributed system, where locking is not appropriate. Instead, I would propose to use optimistic concurrency control. This means, we allow always editing and try to resolve conflicts later on.

To do this, two steps are needed: 1.) Identify conflicts, and 2.) Resolve conflicts.

1. Identify conflicts
In order to check, if a note has been changed in the meanwhile (from getting the current state from the server to putting the changed data back to the server) we could use the ETags I proposed in #49 (in summary: it represents the state of the note by using a checksum over all attributes).
The client (mobile client or web app) has to save the current ETag for each note and update it on every synchronization (this is required for #49, too). When the note is edited, the client sends the HTTP header If-Match: "etag". The server (i.e. NotesController resp. NotesAPIController) checks if the ETag from the HTTP request header matches the current ETag from filesystem/database. If true, the note is changed and sent back to the client. If not, the server sends the HTTP response code 412 Precondition Failed and the current server state of the note in the body of the response. The client now sees that the note has changed in the meanwhile and resolves the write-write-conflict (see 2.)).
These changes are totally backwards-compatible and conform to the HTTP protocol.

2. Resolve conflicts:
The client now has data from local changes and remote changes and has to do something. This is harder than the first step and multiple reactions are possible.

a) Let the user decide: ask the user whether i) overwrite local changes, ii) overwrite remote changes, or iii) save local (or remote) changes as new note.
b) Let the user merge: provide an interface which allows for merging the files (you know it from your version control).
c) Try to merge automatically: merge all changes automatically, e.g. using the google-diff-match-patch (Demo, Code) library.

I think, user interaction has to be avoided, so I'm preferring c), but I don't know if this will always work.

However, I wanted to write down my thoughts on this so that everybody can participate on a discussion on this. The first step is easy to implement and must be done in this app (controller). The second step is much more comprehensive and requires changes on those clients (i.e. this app, Android app, iOS app) which should be concurrency-save.

Any comments are welcome :-)
How high do you would estimate the importance of this issue?
Does nextcloud/server (resp. its clients like nextcloud/android and desktop clients) deal with this issue?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Note open in two windows leads to lost data

I ran into a problem earlier when I had this app open in two separate browser windows. I typed a lot of data into one of these, and there was a spinner going constantly in the corner. Refreshing the page caused everything I had typed to be lost - it had not been saved, hence the spinner.

I looked at my logs and as far as I can tell, the app was unable to save the note because it was (or had been) opened in another window:

OCP\Lock\LockedException: "Notes/my_note.txt" is locked

Is the app supposed to continually retry saving in a case like this? If so, it doesn't seem like it happened here. Another potential solution would be to save unsynced data locally - this would also be useful if the connection drops.

I tried reproducing this, but I was unable to. I'm not sure exactly what caused the note to be locked, but I'm posting this to see if others have run into the same issue.

First run experience

When you first open the Notes app, you see this:
capture du 2016-10-25 14-34-55

A few things we can improve here:

  • Show »New note« text label next to the plus icon if you have less than 3 notes. So you get to know the button before the text vanishes.
  • Start with a default empty note. This also enables us to focus the content area so people can start writing right away. If we do this we also don’t necessarily need to add the »New note« text, because the first note is called »New note«.
  • Have placehodler text for the textarea saying something like Write …. We do this at Litewrite.
  • We could also have a short friendly »Example note« of explanatory text. This would allow us to showcase the markdown functionality real quick (not go crazy) and directly show how it will look like. We also do this at Litewrite but the text should be a bit shorter. :)

What do you think @nextcloud/notes? :)

notes filename with iso compliant date

Hi,

maybe an enhancement. The filename of one single note prefixed with an ISO compliant time (YYYY-MM-DD) stamp e.g.

2016-01-06_myawesomenote.txt

also in combination with filname-based tagging #37 (e.g. see tagspaces).

import/scan folder

Hi i recently transfered my notes from ios to my nextcloud and I love this app. I placed all my notes in the Notes folder made by this app but they do not apear in the notes app, The app should have an import (drag and drop .txt and .md files) and should scan the folder for missing notes in the app gui.

Enhancements and new Features

Hi, my first review of the official notes app is done and I want to summarize it a little from my point of view:

  1. Missing feature: tagging
  2. Problem with Sharing
  3. (more in the future) Sharing with externals

1: For me it would be a big enhancement. If you are able to tag your notes and you have a search for it available, it would be much easier to oversee a large amount of notes.
The tagging feature could be a big advantage for some users.

2: In two cases the storing of the notes within the files app is a problem in case of sharing the notes with others:

  • User 1 has already been using the notes app and now gets the "Notes" folder shared by User 2. This will result in a "Notes (2)" folder which will not be recognized by the app.
  • User 1 only wants to share a specific note with User 2. The note will be displayed in the root directory of User 2 and will not be recognized by the app either.

IMHO this is not the behaviour a typical end user would expect, if it wants to share a specific note or all notes (the folder) to another user, which is also using the app.

3: Another point is the cloud as a paradgim: as a user you maybe would expect to have the ability of sharing your notes to external parties. This is actually possible via the files app, but wouldn't it be nicer to display these notes within the notes app itself? (just a prospect)

lost notes !!!

That's the second time that i lost my notes while writting, and just retrieving a old and partial version .

Navigation sidebar not accessible on small screens

On small screens, the navigation sidebar (with the list of notes) is hidden by default. Instead, a Hamburger icon is shown. However, when clicking on this button, nothing happens (NextCloud 10 and ownCloud 9.1; tested with Firefox 45 ESR on Desktop and Android 6 on Mobile). This makes the notes app completely unusable on, e.g., mobile devices.

In the past, a respective issue existed already (owncloud/notes#55), but it was closed in favor of a core issue (owncloud/core#9838) which is still open. However, there was also a pull request (owncloud/notes#61) by @jancborchardt with the intention to fix the issue. But at least for me, the button doesn't work in current master.

3rd party API: speed up synchronization

Dear 3rd-party app developer for Nextcloud notes,

as far as I know these are @phedlund (iOS/MacOS), @stefan-niedermann and myself (Android). It seems that @steppenhahn doesn't work on his app anymore, but you (and everyone else) are also invited to participate in the discussion 😉 . If you know anybody else who uses the 3rd-party API, please give a hint. 😃

I would like to enhance the API in order to speed up synchronization and, therefore, discuss ideas on how to realize this.

Currently, on every synchronization, the whole list of notes with the content of every note has to be retrieved from the server to the mobile device. This has two disadvantages, especially if you have many and/or large notes:

  1. On slow network connections, the transfer of the list of notes takes a long time.
  2. On slow devices, the processing of the list of notes takes a long time.

Typically, only a small subset of notes have changed since the last synchronization. Therefore, it would be advantageous to limit the transferred notes to changed data only. However, in order to realize this, we have to change the server API -- and this could be done in different ways. Therefore, I'm introducing my idea and asking you to review and/or propose other ideas.

In order to check if a note was changed, we need to break the whole note down to a small attribute value that could be transferred and compared in place of the original note data. This value has to reflect changes to the text of the note (content) as well as to its meta-data (favorite, title, category (see #6), modified). Some possible approaches:

  • use modified time
  • use ETag from the note's file
  • use own checksum

Since modified time and file ETag only reflect the content and not its meta-data, I propose to use an own checksum, i.e. the md5 sum of concatenated attributes content, favorite, title, category and modified. Attributes introduced in the future will have to be added to the checksum when they're introduced. I propose to call this checksum the ETag of the note (not file!) and add it as new attribute etag to db/note.php.

Now, on every synchronization, the client has to save this new ETag in its local database and send the list of known ETags on every synchronization request. In return, the server checks for every note, if the note's ETag has changed and sends only changed/new notes as full notes and unchanged notes as reduced entry with the note's ID only.

The server API changes would be fully backward compatible:

  • old server app version will ignore the list of ETags sent by the client
  • new server app does not require the client to send the list of ETags
  • old clients will ignore the new ETag attribute sent by the server
  • new clients should do not require the ETag to be sent by the server
  • the ETag is calculated only on the server, so there will be no problem if it changes due to new attributes

I've implemented a prototype for this and did some benchmarks. In my experimental setup, I have 51 notes with a total length of 70KB.

  • server: Interestingly, the checksum calculation does not noticeably slow down the server reaction: before I had ~810ms, now it's about 830ms.
  • slow mobile phone: synchronization speed up from ~9000ms to ~3000ms (if no note was changed) => significant!
  • fast mobile phone: synchronization speed up from ~1150ms to ~900ms (if no note was changed)
  • message size:
    • request becomes 2KB larger (due to the list of ETags) => minimal
    • response when everything is new/changed: from 81KB to 83KB => minimal
    • response with no changes: from 81KB to 613 bytes => significant!

What do you think about this approach? Any doubts? Any other ideas? Any enhancements?

Search is not where expected

Hi @Henni ,
i recently updated the app and was happy to see the search functionality.
Though i didn't expect it in the left sidebar but in the top right corner next to the user name where it is in the files, contacts and calendar app, too.

So this is a request to move it to the well-known place :)

PS.: Works great! :)

cc @nextcloud/designers

Remove outdated loading.gif

Do we need that gif still? It’s the old look and also core has it with icon-loading since some versions. :)

Ability to search notes

Hi dev, it is nice to have a search function for notes. I have plenty of notes, which is no problem searching in android. But the problem is when I use Internet Browser from Windows I have to search all the notes, it kinda dizzy.. :)

Undo deletion

Currently it is pretty easy to delete a note accidentally. A confirmation question would avoid this.

Replace mdEdit

mdEdit seems to be unmaintained (the last commit was on the 17th October 2015). Therefore, it would maybe make sense to think about a replacement.

A really nice editor, for example, is SimpleMDE (see also Github repo).

Pressing enter multiple times can result in the cursor leaving the viewport

When you press enter a bunch of times (for whatever reason – to leave whitespace in a document for example) it can occur that your cursor goes below the viewport. It only hops back into view when you start typing.

Other editors make it so that there’s always about 2 lines of margin on the bottom under the cursor, and that the view already jumps on enter, not only on typing. See Atom or Sublime for example.

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.