* Working on an aritim-dark theme, very WIP still
* Update aritim.js
* Added new theme "Aritim-Dark"
* removing aritim-dark "brace" theme for now
* Updating style with some changes
* Reset branch back to the original upstream state, to create a different pull-request for moving all themes outside
* Reset branch back to the original upstream state
* Moved all themes out into their own .js theme files
* Updating master to use the seperated themes stuff
* Moved themes into their own const
* Removed switch case for themes and simplified it. Thanks Laurent for the help!
* Adding Aritim-Dark to theme options
* md importer: decode uri encoded links to cover case of special chars in linked image names
* md importer: temp debug logs for linux test pipeline
* md importer: more temp debug logs
* md importer: tests, add special char image name on linux
* md importer: tests, use const not let
* md importer: remove debug logs
* The basic editor is working! No list continuation still though
* List continuation is working! Now to delete when entering again and not typing on line + handle ordered lists
* Supports checkboxes + attempted at setting font
* Editor font works now; now need to fix the delete (look at past state)
* Fix deletion problem
* Add ordered list handler
* Add comments
* Extract insertListLine
* End lists on enter for empty bullets
* Add MarkdownView (renders badly though)
* Save edited text from MarkdownEditor
* Cleanup
* Refactor react-native-markdown-editor/
* Rename react-native-markdown-editor/ => MarkdownEditor/
* Cleanup
* Fix preview styles; still need to fix checkbox problem
* Fix keyboard padding
* Change name back to #body_changeText
* Incorporate PR feedback from @laurent22
* wip: Move MarkdownEditor/ from ReactNativeClient/lib/ to ReactNativeClient/
* Move MarkdownEditor/ from ReactNativeClient/lib/ to ReactNativeClient/
* Remove log statement
* Focus TextInput in MarkdownEditor from grandparent
* Make eslint happy
* Extract textInputRefName to shared variable
* Remove accidental #setState
* Cleanup
* Cleanup
* Run linter
* Cleanup
* Update button order
* Improve styles for config descriptions
* Allow descriptions to be added to BOOL type Setting configs
* Add editorBeta Setting
* Move FailSafe details to description text
* Update descriptionText styles
* Put the editor under the beta flag toggle
* Incorporate PR feedback from @laurent22
* Refactor Markdown editor focusing
* Cleanup
* Reorder MarkdownEditor formats
* Make applyListFormat behavior more intuitive
* Add comment
* Show MarkdownEditor with preview by default
* Show preview by default, then hide on typing
* Fix MarkdownEditor selection bug
* Cleanup
* Update Markdown button styles
* Make Markdown button colors theme-conscious
* Fix merge conflict resolution mistake
* Fix broken import
* Delete package-lock.json
* Reset package-lock.json
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
* API: Fix updation of tags when updating a note
* Add test for fix updation of tags
* Rewrite unit test and change variable name
* Use consistent variables and function calls
* Use default function call and change variable
* Handle case when tags is empty string
* Restructure test cases and improve tags check
* Update documentation
* Trying to get TuiEditor to work
* Tests with TinyMCE
* Fixed build
* Improved asset loading
* Added support for Joplin source blocks
* Added support for Joplin source blocks
* Better integration
* Make sure noteDidUpdate event is always dispatched at the right time
* Minor tweaks
* Fixed tests
* Add support for checkboxes
* Minor refactoring
* Added support for file attachments
* Add support for fenced code blocks
* Fix new line issue on code block
* Added support for Fountain scripts
* Refactoring
* Better handling of saving and loading notes
* Fix saving and loading ntoes
* Handle multi-note selection and fixed new note creation issue
* Fixed newline issue in test
* Fixed newline issue in test
* Improve saving and loading
* Improve saving and loading note
* Removed undeeded prop
* Fixed issue when new note being saved is incorrectly reloaded
* Refactoring and improve saving of note when unmounting component
* Fixed TypeScript error
* Small changes
* Improved further handling of saving and loading notes
* Handle provisional notes and fixed various saving and loading bugs
* Adding back support for HTML notes
* Added support for HTML notes
* Better handling of editable nodes
* Preserve image HTML tag when the size is set
* Handle switching between editor when the note has note finished saving
* Handle templates
* Handle templates
* Handle loading note that is being saved
* Handle note being reloaded via sync
* Clean up
* Clean up and improved logging
* Fixed TS error
* Fixed a few issues
* Fixed test
* Logging
* Various improvements
* Add blockquote support
* Moved CWD operation to shim
* Removed deleted files
* Added support for Joplin commands
* Speed up Linux Sync with KeepAlive Client
* Tidying up
* eslint
* Fix Breaking of building mobile client
* Refactor to make building on android possible
* Coding Convention
* Update shim-init-node.js
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
* Add a Basic Resource Screen
Implement "Open in External Viewer"
Add @types/lodash as a devDependency, prettyBytes for pretty printing bytes
Implement display of Orphaned Resources
Implement deletion of Resources
Implement sorting logic
Minor Styling
Remove Compiled js
Review - No more Orphan display, LIMIT resources
ResourceScreen - use DB for sorting
Database - Version 28 (Index on Resource size)
Add compiled JS with eslint --fix
Add ResourceScreen to ignore files, delete from repo
Disable enforce-react-hooks
* Second review round
* Update ResourceScreen.tsx
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
* Super basic QuickAction is working!
* QuickAction successfully creates notes
* Update icons
* Update icons and support new to-do
* Update icons and support new to-do
* Fixed
* Extract QuickActions
* It works as long as you go out of the edit screen (saving is not sufficient)
* working? but still kinda buggy...
* Cleanup
* Cleanup
* Cleanup
* Use the same pattern as onJoplinLinkClick_
* Cleanup
* Cleanup
* Remove pluginAssets/index.js change
* manual Andoid linking
* Transition QuickActions.js to .ts
* Unstage QuickActions.js in favor of .ts
* Move QuickActions out of lib/
* Add comment about userInfo in QuickActions
* Remove redundant QuickActions file
* Remove pluginAssets/index to resolve conflict
* Update CONTRIBUTING.md to include test runner troubleshooting
* Add `npm run tsc` to Unit Tests docs
Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
* add katex font KaTeX_Size4-Regular.woff2
fixes#2477
* deleted: ElectronClient/app/gui/note-viewer/pluginAssets/katex/fonts/KaTeX_Size4-Regular.woff2
* add font to buildAssets.js
* register font in katex.js
* prepare files in case we need other fonts in the future
* use all fonts
* Support export of multiple notes to pdf files.
* Update in response to review comments.
Find unique filenames when exporting multiple pdfs.
Simplify delay.
* Eliminate redundant retries and fix error message in fs shim unique filename search.
* Make output filenames consistent between single and multi pdf export.
* Remove unnecessary white space.
* Remove legacy sleep in pdf export and add a little more variability to unique filename search.
* Refresh the note list if the selected tag is deleted.
* Handle case where last note is untagged (by following the note)
* Corrections.
* Correct call to asynchronous function.
Previously a title with brackets was escaped incorrectly. The brackets were replaced by underscores.
The following title `title [square] (round)` looked like this:
[title _square_ _round_](:/c54794f53e5e4b1aa558699e255d5f95)
Now it looks like this:
[title \[square\] (round)](:/c54794f53e5e4b1aa558699e255d5f95)
fixes#2085
* Add renderer plugin to handle tabs in code blocks.
* Add plugin to renderer package list.
* Attempt to fix unrelated linter issues.
* Fix unrelated linter problems.
The problems exist on master prior to the branch.
* Fix more inherited linter problems.
* Emphasise note title and de-emphasise note toolbar.
* Remove redundant titles from pre-packaged notes.
* Revert additions to theme.
* Revert de-emphasis of note toolbar icons.
* Revert bolding of title.
* Undo change to theme
* Use h1 style as basis for title editor style.
Times a factor to make up for html scaling.
* Use text style as basis for editor title style, scaled to match html h1.
* Add version info to profile error message. Add profile version to desktop About Box.
* Add profile error to log.
* Use shim to retrive version number.
* Refactor to use registry instead of BaseModel to get database.
* Remove call to logger.
* Improve code readability.
* Added new date format YYYY.MM.DD.
* revert change as this file is autogenerated
Co-authored-by: Akos Keresztes <60130238+keresztesa@users.noreply.github.com>
* md importer: first pass import attachment resources with markdown files
* md importer: import resources from md - no unneeded saves, check if files exist, regex name
* md importer: test import of local files as resources, separate method for importing linked files, comment regex matching md tags
* md importer: move stateful regex to method scope, remove spurius await
* md importer: lint
* md importer: respond to PR comments: remove test nesting, test sample, check if path is dir, use shim.fsDriver
* md importer: use file-path methods for getting attachment path
* md importer: use extractImageUrls helper, test for file with zero links
* md importer: try catch around importLocalImages, improve test
* md importer: importing attached images cover case where link also appears elsewhere in doc
* md importer: only create 1 resource if note contains duplicate links, test
* md importer: remove log
* md importer: remove use of lodash
* Fix jump of focus following deletion action.
Applies to notes, folders and tags.
* Add tests for reducer item delete handling.
* Add comments.
* Clean up.
* Desktop: don't count completed to-dos in note counts when they are not shown
* Desktop: review comments for commit 0383dcc
* Desktop: fix remaining lint issues with commit 1fe4685
* Replace linked Note ids by relative paths in MD Exporter.
* Added tests for the MD Exporter.
* Changed fs.readdirSync use for earlier Node version (v8)
In the previous commit the code used fs.readdirSync from Node v10 or
later. But since Joplin still uses v8, I changed the use of
fs.readdirSync to be in line with the earlier api.
* Updated readDirSync use for Node v10, which allows gets folder names too.
* Revert "Updated readDirSync use for Node v10, which allows gets folder names too."
This reverts commit 8f255db120861dd7773d99e1b63f4864d39594cf.
Because the Travis builds still use Node v8. This is fine as well, the
readdirSync returns the filenames in the directory.
* Added reservedNames param to findUniqueFilename
Follow up to #893
Now using middleware to set the tags when a note is selected
This avoids the ugly code in the NoteTextComponent where we determine
if tags are to be fetched, identify if they have been modified, fetch
them and then dispatch an action to update the store which might
again re-render the component.
Also implements style related fixes from #1000
Signed-off-by: Abijeet <abijeetpatro@gmail.com>
Fixes: #469
* Started updating to use external renderer package
* Added way to build renderer assets
* Done mobile compatilibty
* Upgrade joplin-renderer
* Added joplin-renderer package
* Moved button row to separate component file and started Sharing dialog
* Adding Sharing dialog
* Applied "npx react-codemod rename-unsafe-lifecycles"
* More UI
* Tools: Improved TypeScript integration
* Improved share dialog
* Tools Added support for translation validation in CI, and added support for plural translations
* Improved UI and sharing workflow
* Share workflow
* Cleaned up and improved sharing config error handling
* Fixed build scripts and doc for TypeScript
* Run linter
* Delete unused file
* Implement CssUtils
* Inject custom CSS styles
* Add info about custom CSS styles to README
* Add note that ElectronClient/app/app.js is generated
* Add support for Setting.TYPE_BUTTON
* Add buttons in Preferences to open custom CSS files
* Swap custom CSS filenames
* Swap custom CSS filenames
* Wrap "Edit" with translation fn
* Incorporate PR feedback from @laurent22
* Add openOrCreateFile to Settings
* Move openOrCreateFile to shim
* Removing header for now - see https://github.com/laurent22/joplin/pull/2099#discussion_r353120915
* Add check for Electron's cli arg --remote-debugging-port and discard it to prevent cli arg parser raising Unknown flag exception.
* Jump to next iteration once arg processed
* Allow only the strict form of flag as --x=y
* Adding node counts for folders and tags
* Add unit tests
* Fix count update when the tag list for a note is updated
* Right align note counts and remove from the settings screen
* Folder note count calculation update to include descendants
* Update Setting.js
* Change count style and fix click on counts
* Fix tag/folder count update on delete/add note
* Review updates
* Add keyboard modes to editor (vim, emacs, default)
This adds a new option to settings, and then sets the
appropriate keyboard handler in the ace editor.
The "default" option is equivalent to the old keyboard
behaviour.
* Remove stray console.log
* Move the keyboard-mode setting to the general section
* Change `keyboardMode` setting to `editor.keyboardMode`
* Add forkawesome icons
* Add resource icon for specific filetypes
* Ignore resource link styling on mobile
* whtiespace
* render txt icons and adjust icon sizes
* Replace fork-awesome font with inline svg so icons work on mobile
* Add comment describing the source of resource icons
* Added options for selecting layout
* Toggle through the layouts based on config
* Used redux state for getting layout settings
* Removed duplicated strings for layout options
* Moved option for selecting layouts to "View" menu
* Add menu item to toggle note list #1988
* Hiding the noteList now fully works + standardized casing for noteList #1988
* hiding verticalResizer to fully hide note list and its extra border #1988
* curly braces on the same line #1988
* fa-tasks is "less" worse as an icon for toggle note list #1988
* liking this icon a whole lot more
* removed useless width tweak
* Stop watching external edits
* move onClose to options
* Wrap openExternal in promise
* More specific error with locale
* Removed localization of external edit error
* add setting: export.pdfPageSize
* create 2 settings: size and orientation
* export.pdfPageOrientation: use string instead of boolean
* add other page formats supported by Electron
* Desktop, Cli: enex_to_md: support italic in span tags
* Desktop, Cli: enex_to_md: readd debug message to resolve CI conflict
* Desktop, Cli: enex_to_md: fix CI errors
add spaces to commented out debug messages
* Desktop, Cli: enex_to_md: remove redundant commented out debug message
* Desktop, Cli: enex_to_md: readd redundant commented out debug message
CI wants it in there - maybe remove in another PR
* Adding duplicate button on screen-header.js when selecting notes; Adding 'duplicateMultipleNotes' function on Note.js;
* Using for-loop like the rest of the code does
* changing from 'uniqueTitle' to 'ensureUniqueTitle'
* Revert "Revert "Desktop: Add ENEX to HTML export (#1795)""
This reverts commit 50b66cceca.
* Revert "Revert "Desktop, Cli: Fixed interop service so that it still allow auto-detecting importer based on format (required for Cli and for test units)""
This reverts commit c7c57ab2a5.
* Fix the .md importer
* Add comment re future refactor
* Rm importerClass for .md importer
* Fix EnexToMd module name
* Make editor font "Menlo"
* Add .vscode/* to .gitignore
* Add "editor font" config UI
* Render "editor font" chosen in config
* Add shim.mobilePlatform()
* Use style.editor.fontFamily rather than editorFont
* Add default font option
* Fixed for Android
* Add `escape` to go back from Dropbox Login screen
* Add .vscode/ to .gitignore
* Remove call to enexXmlToMd
* The 2 enex importers have distinct functionality!
* Add tmp #deleteAllNotebooks
* checkbox state still not persisting
* images now fixed, but checkboxes still broken
* Figured out that #ipcProxySendToHost is important for handling checkbox
* cleanup closing br and en-todo tags + add notes
* Handle en-media, add NOTEs & TODOs, & format html
* Clean up some of the logging
* cleanHtml is a nice beautifier, but callback hell ensues...
* Rm #htmlFormat
* Recreating the xml actually seems to work
* Add test (not functional rn)
* Add test for checkboxes
* Add test for image en-media
* Separate tests into 2 function calls
* Clean up test
* Add `en-media-audio` test
* Add bad resource test
* Misc cleanup
* Rm SlateEditor files
* Misc cleanup
* Remove #deleteAllNotebooks button
* Add names to tests
* Extract resourceUtils
* Rm DropboxLoginScreen esc behavior, part of another PR
* Misc cleanup
* Improve audioElement, add attachment import support
* Misc cleanup
* Add svg test for enex_to_html
* Clean up test
* Set markup_language to MARKUP_LANGUAGE_HTML to tell renderer that the content is only HTML
* Rename to newModuleByFormat_ for clarity
* Add comment to clarify newModuleFromPath_
* Trying to implement headless server
* Cli: Cleaned up and completed server command so that it is usable. Added warnings as it is advanced usage only at this point.
* Restored welcome assets
* Update eslint config
* Applied linter to lib
* Applied eslint config to CliClient/app
* Removed prettier due to https://github.com/prettier/prettier/pull/4765
* First pass on test units
* Applied linter config to test units
* Applied eslint config to clipper
* Applied to plugin dir
* Applied to root of ElectronClient
* Applied on RN root
* Applied on CLI root
* Applied on Clipper root
* Applied config to tools
* test hook
* test hook
* test hook
* Added pre-commit hook
* Applied rule no-trailing-spaces
* Make sure root packages are installed when installing sub-dir
* Added doc
* Dekstop,CLI: enex_to_md: add html/md test file pairs
* one pair for basic text formatting tags: strong, b, i, em
* and one using span tags with inline styles for bold formatting
Note: The html files include the Evernote-typical "linebreak tags inside of separate <div> tags"
to represent empty lines!
* Desktop,Cli: enex_to_md: support bold in span tags using inline styles
* function isSpanWithStyle() checks if further processing of a span tag
makes sense
* function isSpanStyleBold() checks if bold formatting via styles is
used - a similar function could be written for each span-inline-style-format
that should be supported
* Desktop,Cli: enex_to_md: fix saving span attrs in state object
pushing attributes of span tag to state object now
happens outside of isSpanWithStyle()
* enable drag and drop fileURLs
* fix windows fileURL syntax
* introduce encodeURI function
* fixed encoding issue
* use path-utils.js to deal with fileURL path conversion
* add changes as requested
* Minor rewording 'On the' -> 'In the', additional info about attaching files
* change call of toFileProtocolPath
* enable test script to check syntax for all OS-platforms
* First pass of adding support for templates
* remove default value from template prompt
* Add template placeholder text
* Add mustache templates with datetime support for new notes
* Moved template code to utils, added separate prompt for templates
* Add templates to menu and allow for keyboad only use
* update template prompt for dark theme
* update with laurents suggestions, add refresh button
* revert template command, remove new note prompt