GithubHelp home page GithubHelp logo

muety / mininote Goto Github PK

View Code? Open in Web Editor NEW
254.0 7.0 54.0 939 KB

πŸ“” A simple, self-hosted, encrypted Markdown note-taking editor

License: MIT License

JavaScript 46.43% Vue 50.77% Dockerfile 0.55% HTML 1.46% CSS 0.79%
self-hosted wiki notes note-taking vuejs nodejs markdown devtools hacktoberfest

mininote's People

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

mininote's Issues

Alert when leaving page with unsaved changes

It would be nice to have an alert when a user tries to close a tab / navigates to another site while there are unsaved changes, as shown in the screenshot below. There has to be a native browser API to do so (maybe window.onbeforeunload?).

image

Support Node >= 8.10 (UnhandledPromiseRejectionWarning)

Listening at http://localhost:3000
(node:21948) UnhandledPromiseRejectionWarning: Error: Exited with code 3
at ChildProcess.cp.once.code (/home/lisbeth/Documents/mininote/mininote-frontend/node_modules/opn/index.js:84:13)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Socket.stream.socket.on (internal/child_process.js:346:11)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at Pipe._handle.close [as _onclose] (net.js:567:12)
(node:21948) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:21948) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Usage *without* encryption

From what I saw, saving notes unencrypted isn't possible with the current code and there's no "switch" to configure it to behave that way. A way to configure, i.e. turn encryption on/off, would be nice.

I know this sounds like a step back, but I personally think the risk of forgetting a password is far worse than the risk of the local admin being able to read the notes in cleartext. With the current setup, you need to fully trust the administrator (and environment the app is running) anyway.

(I think being able to use something like Mailvelope or WebPG together with mininote, or encrypting the database as whole (i.e. to be able to store it in more unsafe locations securely) would make more sense.)

Make editor collapsible

Make the Markdown editor horizontally collapsible to have a wider rendered view, especially on small screens.

Logo design

Hi, I'm a logo designer I just saw your project and if you want I can design a logo for your project. So, what do you say?

Make notebooks be accessible via URL

Introduce very basic routing, so that a notebook recipes could be directly accessed (and therefore browser-bookmarked) via https://notes.myserver.ex/recipes.

Yarn run fail

I've tried to install mininote with yarn but it give me this error:
Schermata del 2021-01-09 18-37-09

Some info about my config:
SO: CentOS Stream 8
NodeJS: 14.15.4
Yarn: 1.22.5

Delete Notebook

Version: 1.0.2
S.O: Docker

I can create notebooks, and enter in it, but I canΒ΄t delete after.

Add Notebook controller for Router

Hi,

I would like to add the controller for the Notebook, so that we can easily handle the http requests and router.

We can also add more routes with controllers later on.

Importing bootstrap.css failed on build

ERROR in ./src/main.js
Module not found: Error: Can't resolve 'bootstrap/dist/css/bootstrap.css' in '/home/daniel/node/mininote/mininote-frontend/src'
 @ ./src/main.js 7:0-42

npm run build in /mininote-frontend generates the error above.

System: Ubuntu LTS
node -v: v9.8.0
npm -v: 5.6.0

Get rid of server-side authentication

Since we have "end-to-end" encryption now, we might actually get around all server-side authentication and therefore the current security risk of having to trust the server admin to not use modified code that initially logs your password (see here).

Currently, a note will only be returned by the server, if the user passes a correct password. Instead, we could simply return every note, since only a user with the right decryption key can make sense of it.

Only problem: this would be perfectly reasonable with "proper", bullet-proof encryption. Since we're using a user-generated password for encryption, though, it will potentially make things more prone to brute-force attacks where users are using too simple passwords.

Any thoughts?

Full screen / window Markdown mode

Hi,

Would it be possible to have a full screen, distraction free mode? I see that the splitter collapses the markdown to show a full window HTML preview, but it would be brilliant if the splitter can collapse the other way to let us write full window.

Dockerize

Create Dockerfile for building mininote as a Docker image with exposed port and ability to mount a volume.

Add support for HTTPS

I quickly tested this application and it works great! I didn't notice any information concerning HTTPS support? Is it planned? Thanks!

End-to-end encryption

Mustn't be crazily secure, simply use symmetric encryption with a notebook's password as key.

Full-text search

Come up with concept and demo implementation for full-text search. Software options include:

  • Meili
  • Bleve (not standalone?)
  • Solr (heavyweight / hard to configure?)

Any thoughts on this?

Fix styling bugs

There are several styling bugs which have not been there in an earlier version. The screenshot show a comparison between a mininote instance hosted on my private server that was installed several months ago and an instance that was installed today. The first screenshot shows the way it should look like, the second one how it currently looks like.

It might be due to version changes in the frontend's dependencies or something else. Please feel free to help me find out and fix this πŸ™‚

Right

image

Wrong

image

Right

image

Wrong

image

Why is password a requirement for notebooks?

As the contents of the notebooks are stored in a plain .json-file on my computer, what is the point of creating a password for them? And why is it required?

(If I could add a label, I'd add a question label :D )

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.