├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public ├── .htaccess ├── apple-touch-icon.png ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── index.html └── manifest.json └── src ├── App.js ├── assets └── images │ └── logo.svg ├── components ├── Menu.jsx ├── RawSegment.jsx └── notes │ ├── Attributes.jsx │ ├── Editor.jsx │ ├── Finder.jsx │ ├── Viewer.jsx │ └── editors │ ├── MarkdownEditor.jsx │ └── TextEditor.jsx ├── helpers ├── Api.js ├── Help.js ├── History.js └── MarkdownConverter.js ├── index.js ├── models ├── Notes.js └── index.js ├── pages ├── Home.jsx ├── Notes.jsx ├── Settings.jsx ├── auth │ ├── Login.jsx │ ├── Logout.jsx │ └── Register.jsx └── notes │ └── Editor.jsx ├── stores ├── AppLoading.js ├── Auth.js ├── Editor.js ├── Help.js ├── Settings.js ├── Viewer.js └── index.js └── styles ├── main.css └── scss ├── _semantic.scss ├── components └── _menu.scss ├── main.scss └── pages └── _notes.scss /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | 3 | # Created by https://www.gitignore.io/api/node,sass,macos,windows,intellij 4 | 5 | ### Intellij ### 6 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 7 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 8 | 9 | # User-specific stuff 10 | .idea/ 11 | 12 | # CMake 13 | cmake-build-*/ 14 | 15 | # Mongo Explorer plugin 16 | .idea/**/mongoSettings.xml 17 | 18 | # File-based project format 19 | *.iws 20 | 21 | # IntelliJ 22 | out/ 23 | 24 | # mpeltonen/sbt-idea plugin 25 | .idea_modules/ 26 | 27 | # JIRA plugin 28 | atlassian-ide-plugin.xml 29 | 30 | # Cursive Clojure plugin 31 | .idea/replstate.xml 32 | 33 | # Crashlytics plugin (for Android Studio and IntelliJ) 34 | com_crashlytics_export_strings.xml 35 | crashlytics.properties 36 | crashlytics-build.properties 37 | fabric.properties 38 | 39 | # Editor-based Rest Client 40 | .idea/httpRequests 41 | 42 | ### Intellij Patch ### 43 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 44 | 45 | # *.iml 46 | # modules.xml 47 | # .idea/misc.xml 48 | # *.ipr 49 | 50 | # Sonarlint plugin 51 | .idea/sonarlint 52 | 53 | ### macOS ### 54 | # General 55 | .DS_Store 56 | .AppleDouble 57 | .LSOverride 58 | 59 | # Icon must end with two \r 60 | Icon 61 | 62 | # Thumbnails 63 | ._* 64 | 65 | # Files that might appear in the root of a volume 66 | .DocumentRevisions-V100 67 | .fseventsd 68 | .Spotlight-V100 69 | .TemporaryItems 70 | .Trashes 71 | .VolumeIcon.icns 72 | .com.apple.timemachine.donotpresent 73 | 74 | # Directories potentially created on remote AFP share 75 | .AppleDB 76 | .AppleDesktop 77 | Network Trash Folder 78 | Temporary Items 79 | .apdisk 80 | 81 | ### Node ### 82 | # Logs 83 | logs 84 | *.log 85 | npm-debug.log* 86 | yarn-debug.log* 87 | yarn-error.log* 88 | 89 | # Runtime data 90 | pids 91 | *.pid 92 | *.seed 93 | *.pid.lock 94 | 95 | # Directory for instrumented libs generated by jscoverage/JSCover 96 | lib-cov 97 | 98 | # Coverage directory used by tools like istanbul 99 | coverage 100 | 101 | # nyc test coverage 102 | .nyc_output 103 | 104 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 105 | .grunt 106 | 107 | # Bower dependency directory (https://bower.io/) 108 | bower_components 109 | 110 | # node-waf configuration 111 | .lock-wscript 112 | 113 | # Compiled binary addons (https://nodejs.org/api/addons.html) 114 | build/Release 115 | 116 | # Dependency directories 117 | node_modules/ 118 | jspm_packages/ 119 | 120 | # TypeScript v1 declaration files 121 | typings/ 122 | 123 | # Optional npm cache directory 124 | .npm 125 | 126 | # Optional eslint cache 127 | .eslintcache 128 | 129 | # Optional REPL history 130 | .node_repl_history 131 | 132 | # Output of 'npm pack' 133 | *.tgz 134 | 135 | # Yarn Integrity file 136 | .yarn-integrity 137 | 138 | # dotenv environment variables file 139 | .env 140 | 141 | # parcel-bundler cache (https://parceljs.org/) 142 | .cache 143 | 144 | # next.js build output 145 | .next 146 | 147 | # nuxt.js build output 148 | .nuxt 149 | 150 | # vuepress build output 151 | .vuepress/dist 152 | 153 | # Serverless directories 154 | .serverless 155 | 156 | ### Sass ### 157 | .sass-cache/ 158 | *.css.map 159 | *.sass.map 160 | *.scss.map 161 | 162 | ### Windows ### 163 | # Windows thumbnail cache files 164 | Thumbs.db 165 | ehthumbs.db 166 | ehthumbs_vista.db 167 | 168 | # Dump file 169 | *.stackdump 170 | 171 | # Folder config file 172 | [Dd]esktop.ini 173 | 174 | # Recycle Bin used on file shares 175 | $RECYCLE.BIN/ 176 | 177 | # Windows Installer files 178 | *.cab 179 | *.msi 180 | *.msix 181 | *.msm 182 | *.msp 183 | 184 | # Windows shortcuts 185 | *.lnk 186 | 187 | 188 | # End of https://www.gitignore.io/api/node,sass,macos,windows,intellij -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
You're adding your first note.
53 | 54 |A word about encryption.
55 | 56 |57 | Encryption is done 100% client-side, meaning the server never sees 58 | the content of the non-encrypted note. The title is not encrypted, 59 | so be sure to use a non-confidential title for your notes. 60 |
61 | 62 |You can choose to encrypt on a per-note basis.
63 | 64 |65 | You must provide an encryption key to encrypt your notes. The same 66 | encryption key will be needed every time you want to read the note. 67 | If you lose your key, you lose your note(s) that are using that key. 68 |
69 | 70 |71 | You can use a different encryption key for a group of notes (or even 72 | every note), but you'll have to go back and forth to the settings 73 | page every time. 74 |
75 | 76 |Would you like to set your encryption key now?
77 |Your notes will appear here. Click here to start writing one!
38 |{shortContent}
49 |Are you sure you want to delete this note? This action is not reversible.
49 |You must provide your encryption key to view this note.
108 |Unable to decrypt this note with the encryption key you provided.
120 |Would you like to clear all the application saved settings?
33 | 34 |It's better if you're using a shared computer in a non-incognito mode.
35 | 36 | {!this.state.cleared ? ( 37 | 38 | ) : ( 39 |All caches have been cleared.
40 | )} 41 |