gitextract_1f_tfmxn/ ├── .babelrc ├── .boostnoterc.sample ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── .prettierrc ├── .snapcraft/ │ └── travis_snapcraft.cfg ├── .travis.yml ├── FAQ.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── PULL_REQUEST_TEMPLATE.md ├── __mocks__/ │ └── electron.js ├── appdmg.json ├── browser/ │ ├── components/ │ │ ├── CodeEditor.js │ │ ├── CodeEditor.styl │ │ ├── ColorPicker.js │ │ ├── ColorPicker.styl │ │ ├── MarkdownEditor.js │ │ ├── MarkdownEditor.styl │ │ ├── MarkdownPreview.js │ │ ├── MarkdownSplitEditor.js │ │ ├── MarkdownSplitEditor.styl │ │ ├── ModalEscButton.js │ │ ├── ModalEscButton.styl │ │ ├── NavToggleButton.js │ │ ├── NavToggleButton.styl │ │ ├── NoteItem.js │ │ ├── NoteItem.styl │ │ ├── NoteItemSimple.js │ │ ├── NoteItemSimple.styl │ │ ├── RealtimeNotification.js │ │ ├── RealtimeNotification.styl │ │ ├── SideNavFilter.js │ │ ├── SideNavFilter.styl │ │ ├── SnippetTab.js │ │ ├── SnippetTab.styl │ │ ├── StorageItem.js │ │ ├── StorageItem.styl │ │ ├── StorageList.js │ │ ├── StorageList.styl │ │ ├── TagListItem.js │ │ ├── TagListItem.styl │ │ ├── TodoListPercentage.js │ │ ├── TodoListPercentage.styl │ │ ├── TodoProcess.js │ │ ├── TodoProcess.styl │ │ ├── markdown.styl │ │ └── render/ │ │ └── MermaidRender.js │ ├── lib/ │ │ ├── CMLanguageList.js │ │ ├── CSSModules.js │ │ ├── Languages.js │ │ ├── Mutable.js │ │ ├── RcParser.js │ │ ├── SnippetManager.js │ │ ├── TextEditorInterface.js │ │ ├── confirmDeleteNote.js │ │ ├── consts.js │ │ ├── context.js │ │ ├── contextMenuBuilder.js │ │ ├── convertModeName.js │ │ ├── customMeta.js │ │ ├── date-formatter.js │ │ ├── findNoteTitle.js │ │ ├── findStorage.js │ │ ├── getTodoStatus.js │ │ ├── htmlTextHelper.js │ │ ├── i18n.js │ │ ├── keygen.js │ │ ├── markdown-it-deflist.js │ │ ├── markdown-it-fence.js │ │ ├── markdown-it-frontmatter.js │ │ ├── markdown-it-sanitize-html.js │ │ ├── markdown-toc-generator.js │ │ ├── markdown.js │ │ ├── markdown2.js │ │ ├── markdownTextHelper.js │ │ ├── newNote.js │ │ ├── normalizeEditorFontFamily.js │ │ ├── search.js │ │ ├── slugify.js │ │ ├── spellcheck.js │ │ ├── turndown.js │ │ ├── ui-themes.js │ │ ├── utils.js │ │ └── wakatime-plugin.js │ ├── main/ │ │ ├── Detail/ │ │ │ ├── Detail.styl │ │ │ ├── DetailVars.styl │ │ │ ├── FolderSelect.js │ │ │ ├── FolderSelect.styl │ │ │ ├── FromUrlButton.js │ │ │ ├── FromUrlButton.styl │ │ │ ├── FullscreenButton.js │ │ │ ├── FullscreenButton.styl │ │ │ ├── InfoButton.js │ │ │ ├── InfoButton.styl │ │ │ ├── InfoPanel.js │ │ │ ├── InfoPanel.styl │ │ │ ├── InfoPanelTrashed.js │ │ │ ├── MarkdownNoteDetail.js │ │ │ ├── MarkdownNoteDetail.styl │ │ │ ├── NoteDetailInfo.styl │ │ │ ├── PermanentDeleteButton.js │ │ │ ├── RestoreButton.js │ │ │ ├── RestoreButton.styl │ │ │ ├── SnippetNoteDetail.js │ │ │ ├── SnippetNoteDetail.styl │ │ │ ├── StarButton.js │ │ │ ├── StarButton.styl │ │ │ ├── TagSelect.js │ │ │ ├── TagSelect.styl │ │ │ ├── ToggleDirectionButton.js │ │ │ ├── ToggleDirectionButton.styl │ │ │ ├── ToggleModeButton.js │ │ │ ├── ToggleModeButton.styl │ │ │ ├── TrashButton.js │ │ │ ├── TrashButton.styl │ │ │ └── index.js │ │ ├── DevTools/ │ │ │ ├── index.dev.js │ │ │ ├── index.js │ │ │ └── index.prod.js │ │ ├── Main.js │ │ ├── Main.styl │ │ ├── NewNoteButton/ │ │ │ ├── NewNoteButton.styl │ │ │ └── index.js │ │ ├── NoteList/ │ │ │ ├── NoteList.styl │ │ │ └── index.js │ │ ├── SideNav/ │ │ │ ├── ListButton.js │ │ │ ├── PreferenceButton.js │ │ │ ├── PreferenceButton.styl │ │ │ ├── SearchButton.js │ │ │ ├── SearchButton.styl │ │ │ ├── SideNav.styl │ │ │ ├── StorageItem.js │ │ │ ├── StorageItem.styl │ │ │ ├── SwitchButton.styl │ │ │ ├── TagButton.js │ │ │ └── index.js │ │ ├── StatusBar/ │ │ │ ├── StatusBar.styl │ │ │ └── index.js │ │ ├── TopBar/ │ │ │ ├── TopBar.styl │ │ │ └── index.js │ │ ├── global.styl │ │ ├── index.js │ │ ├── lib/ │ │ │ ├── AwsMobileAnalyticsConfig.js │ │ │ ├── Commander.js │ │ │ ├── ConfigManager.js │ │ │ ├── ThemeManager.js │ │ │ ├── ZoomManager.js │ │ │ ├── dataApi/ │ │ │ │ ├── addStorage.js │ │ │ │ ├── attachmentManagement.js │ │ │ │ ├── copyFile.js │ │ │ │ ├── createFolder.js │ │ │ │ ├── createNote.js │ │ │ │ ├── createNoteFromUrl.js │ │ │ │ ├── createSnippet.js │ │ │ │ ├── deleteFolder.js │ │ │ │ ├── deleteNote.js │ │ │ │ ├── deleteSnippet.js │ │ │ │ ├── exportFolder.js │ │ │ │ ├── exportNote.js │ │ │ │ ├── exportNoteAs.js │ │ │ │ ├── exportStorage.js │ │ │ │ ├── exportTag.js │ │ │ │ ├── fetchSnippet.js │ │ │ │ ├── formatHTML.js │ │ │ │ ├── formatMarkdown.js │ │ │ │ ├── formatPDF.js │ │ │ │ ├── getContentFormatter.js │ │ │ │ ├── getFilename.js │ │ │ │ ├── index.js │ │ │ │ ├── init.js │ │ │ │ ├── migrateFromV5Storage.js │ │ │ │ ├── migrateFromV6Storage.js │ │ │ │ ├── moveNote.js │ │ │ │ ├── removeStorage.js │ │ │ │ ├── renameStorage.js │ │ │ │ ├── reorderFolder.js │ │ │ │ ├── resolveStorageData.js │ │ │ │ ├── resolveStorageNotes.js │ │ │ │ ├── toggleStorage.js │ │ │ │ ├── updateFolder.js │ │ │ │ ├── updateNote.js │ │ │ │ └── updateSnippet.js │ │ │ ├── eventEmitter.js │ │ │ ├── ipcClient.js │ │ │ ├── modal.js │ │ │ ├── notify.js │ │ │ ├── shortcut.js │ │ │ └── shortcutManager.js │ │ ├── modals/ │ │ │ ├── CreateFolderModal.js │ │ │ ├── CreateFolderModal.styl │ │ │ ├── CreateMarkdownFromURLModal.js │ │ │ ├── CreateMarkdownFromURLModal.styl │ │ │ ├── NewNoteModal.js │ │ │ ├── NewNoteModal.styl │ │ │ ├── PreferencesModal/ │ │ │ │ ├── Blog.js │ │ │ │ ├── ConfigTab.styl │ │ │ │ ├── Crowdfunding.js │ │ │ │ ├── Crowdfunding.styl │ │ │ │ ├── ExportTab.js │ │ │ │ ├── FolderItem.js │ │ │ │ ├── FolderItem.styl │ │ │ │ ├── FolderList.js │ │ │ │ ├── FolderList.styl │ │ │ │ ├── HotkeyTab.js │ │ │ │ ├── InfoTab.js │ │ │ │ ├── InfoTab.styl │ │ │ │ ├── PluginsTab.js │ │ │ │ ├── PreferencesModal.styl │ │ │ │ ├── SnippetEditor.js │ │ │ │ ├── SnippetList.js │ │ │ │ ├── SnippetTab.js │ │ │ │ ├── SnippetTab.styl │ │ │ │ ├── StorageItem.js │ │ │ │ ├── StorageItem.styl │ │ │ │ ├── StoragesTab.js │ │ │ │ ├── StoragesTab.styl │ │ │ │ ├── Tab.styl │ │ │ │ ├── UiTab.js │ │ │ │ └── index.js │ │ │ ├── RenameFolderModal.js │ │ │ ├── RenameModal.styl │ │ │ └── RenameTagModal.js │ │ └── store.js │ └── styles/ │ ├── Detail/ │ │ └── TagSelect.styl │ ├── index.styl │ ├── mixins/ │ │ ├── alert.styl │ │ ├── btn.styl │ │ ├── circle.styl │ │ ├── fullsize.styl │ │ ├── input.styl │ │ ├── marked.styl │ │ ├── tooltip.styl │ │ └── util.styl │ ├── shared/ │ │ └── btn.styl │ ├── theme/ │ │ └── dark.styl │ └── vars.styl ├── contributing.md ├── dev-scripts/ │ └── dev.js ├── dictionaries/ │ ├── de_DE/ │ │ ├── LICENSE │ │ ├── de_DE.aff │ │ └── de_DE.dic │ ├── en_GB/ │ │ ├── LICENSE │ │ ├── en_GB.aff │ │ └── en_GB.dic │ └── fr_FR/ │ ├── fr_FR.aff │ └── fr_FR.dic ├── docs/ │ ├── build.md │ ├── code_style.md │ ├── de/ │ │ ├── build.md │ │ └── debug.md │ ├── debug.md │ ├── fr/ │ │ ├── build.md │ │ └── debug.md │ ├── jp/ │ │ ├── build.md │ │ └── debug.md │ ├── ko/ │ │ ├── build.md │ │ └── debug.md │ ├── pt_BR/ │ │ ├── build.md │ │ └── debug.md │ ├── ru/ │ │ ├── build.md │ │ └── debug.md │ ├── zh_CN/ │ │ ├── build.md │ │ └── debug.md │ └── zh_TW/ │ └── build.md ├── extra_scripts/ │ ├── boost/ │ │ └── boostNewLineIndentContinueMarkdownList.js │ └── codemirror/ │ ├── addon/ │ │ ├── edit/ │ │ │ └── closebrackets.js │ │ └── hyperlink/ │ │ └── hyperlink.js │ ├── mode/ │ │ ├── bfm/ │ │ │ ├── bfm.css │ │ │ └── bfm.js │ │ └── gfm/ │ │ └── gfm.js │ └── theme/ │ └── nord.css ├── gruntfile.js ├── index.js ├── lib/ │ ├── ipcServer.js │ ├── main-app.js │ ├── main-menu.js │ ├── main-window.js │ ├── main.development.html │ ├── main.production.html │ └── touchbar-menu.js ├── locales/ │ ├── cs.json │ ├── da.json │ ├── de.json │ ├── en.json │ ├── es-ES.json │ ├── fa.json │ ├── fr.json │ ├── hu.json │ ├── it.json │ ├── ja.json │ ├── ko.json │ ├── no.json │ ├── pl.json │ ├── pt-BR.json │ ├── pt-PT.json │ ├── ru.json │ ├── sq.json │ ├── th.json │ ├── tr.json │ ├── zh-CN.json │ └── zh-TW.json ├── package.json ├── prettier.config ├── readme.md ├── resources/ │ ├── app.icns │ └── dmg.icns ├── snap/ │ ├── gui/ │ │ └── boostnote.desktop │ └── snapcraft.yaml ├── tests/ │ ├── .gitignore │ ├── components/ │ │ ├── TagListItem.snapshot.test.js │ │ └── __snapshots__/ │ │ └── TagListItem.snapshot.test.js.snap │ ├── dataApi/ │ │ ├── addStorage.js │ │ ├── attachmentManagement.test.js │ │ ├── copyFile.test.js │ │ ├── createFolder.test.js │ │ ├── createNote.test.js │ │ ├── createNoteFromUrl.test.js │ │ ├── createSnippet.test.js │ │ ├── deleteFolder.test.js │ │ ├── deleteNote-test.js │ │ ├── deleteSnippet-test.js │ │ ├── exportFolder-test.js │ │ ├── exportStorage-test.js │ │ ├── init.js │ │ ├── migrateFromV6Storage-test.js │ │ ├── moveNote-test.js │ │ ├── removeStorage-test.js │ │ ├── renameStorage-test.js │ │ ├── reorderFolder-test.js │ │ ├── toggleStorage-test.js │ │ ├── updateFolder-test.js │ │ ├── updateNote-test.js │ │ └── updateSnippet-test.js │ ├── date-formatter-test.js │ ├── fixtures/ │ │ ├── TestDummy.js │ │ └── markdowns.js │ ├── helpers/ │ │ ├── setup-browser-env.js │ │ └── setup-electron-mock.js │ ├── jest.js │ └── lib/ │ ├── __snapshots__/ │ │ └── markdown.test.js.snap │ ├── boostnoterc/ │ │ ├── .boostnoterc.all │ │ ├── .boostnoterc.invalid │ │ └── .boostnoterc.valid │ ├── contextMenuBuilder.test.js │ ├── escapeHtmlCharacters.test.js │ ├── find-storage.test.js │ ├── find-title.test.js │ ├── get-todo-status.test.js │ ├── html-text-helper.test.js │ ├── markdown-text-helper.test.js │ ├── markdown-toc-generator.test.js │ ├── markdown.test.js │ ├── normalize-editor-font-family.test.js │ ├── rc-parser.test.js │ ├── search.test.js │ ├── slugify.test.js │ ├── snapshots/ │ │ └── markdown-test.js.md │ ├── spellcheck.test.js │ ├── themeManager.test.js │ └── utils.test.js ├── webpack-production.config.js ├── webpack-skeleton.js └── webpack.config.js