-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Beta #24
base: master
Are you sure you want to change the base?
Beta #24
Conversation
Improve escaping of `title` and `author` strings used in frontmatter: escape strings with double and single quotes when used in the frontmatter template.
Improve escaping of `title` and `author` strings used in frontmatter: escape strings with double and single quotes when used in the frontmatter template.
By moving the `semantic-release` config into a standalone `.releaserc.yaml` file and using. `npx -p` for the additional `semantic-release` plugins, we avoid polluting `package.json` with release dependencies. This should make the whole thing cleaner and easier to understand. I also removed `@semantic-release/git` from the config to stop commiting new versions of `manifest.json`, `versions.json` and `package.json` at each release, as this potentially leads to problems when merging branches.
…nd `package-lock.json` to 1.5.3 [skip ci] ## [1.5.3](1.5.2...1.5.3) (2024-12-29) ### Bug Fixes * 🎨 avoid using innerHTML and use createEl &Co. instead ([a5042ee](a5042ee)) * 💚 update semantic-release-obsidian plugin ([639844b](639844b))
implements jsonMartin#27 will work best together with the changes proposed in https://github.com/johannrichard/readwise-mirror/tree/deduplicate-files
- implement deduplication based on `readwise_url` property from exports: user can select to eitehr delete or tag duplicate entries - contents of the duplicate file will be overwritten - exact filename match will be kept if existing, - otherwise, the first match will be renamed in the vault so that links can be updated - validate frontmatter yaml and display error messages or rendered frontmatter
…able way to find dupes
- change `yaml` library
- add line-break in sample data - use `filenamify` to create valid filenames (incl. from titles with linebreaks) if `slugify` is disabled
- run`YAML.parse()` when validating frontmatter template
with a new setting, it is now possible to keep existing, additional frontmatter in files, and to protect from specific fields to be updated even if they exists in the frontmatter template. This works best if you also enable deduplication.
…ance - by implementing deduplication via metadatacache, we remove a dependency to another plugin *and* improve deduplication performance at the same time (approx. by a factor of 10 for 10 duplicates of one file).
🎉 This PR is included in version 1.6.0-beta.7 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
when multiple files exist, make sure we properly update the frontmatter for all duplicate files if setting is enabled
🎉 This PR is included in version 1.6.0-beta.8 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
ensure we get files with a compatible composed normalized path
🎉 This PR is included in version 1.6.0-beta.9 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
implement a fix to avoid line-breaks in long titles until platers/obsidian-linter#1227 is implemented in `platers/obsidian-linter`.
🎉 This PR is included in version 1.6.0-beta.10 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
…ing with filenames (e.g. to find duplicates with `getAbstractFilePath()`)
implement code to treat the case of multiple Readwise items with the same title (i.e. the same filename in Obsidian)
🎉 This PR is included in version 1.6.0-beta.11 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
explain the use-case for deduplication better and explain *local* and *remote* duplicates in the documentation
🎉 This PR is included in version 1.6.0-beta.11 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
…and protection, and slugification of filenames, as well as a refactor of the codebase (#21) * feat: ✨ add options to "slugify" the filenames implements jsonMartin#27 will work best together with the changes proposed in https://github.com/johannrichard/readwise-mirror/tree/deduplicate-files * docs: 📝 add section on slugifying filenames in README * refactor: 🎨 reduce chatter by using `console.debug()` more often * build: 👷 move dev-dependency * feat: ✨ implement deduplication and frontmatter validation - implement deduplication based on `readwise_url` property from exports: user can select to eitehr delete or tag duplicate entries - contents of the duplicate file will be overwritten - exact filename match will be kept if existing, - otherwise, the first match will be renamed in the vault so that links can be updated - validate frontmatter yaml and display error messages or rendered frontmatter * docs: ✨ introduce frontmatter validation and file deduplication * chore: 💩 add todo to check whether the dataview plugin is the only viable way to find dupes * ci: 💚 fix `package.json` version * build: 💚 fix`semantic-release` build * build: 💚 fix semantic-release on beta branch * build: 🚀 deploy on `beta` branch automatically * refactor: ➕ move to `yaml` from `js-yaml` - change `yaml` library * fix: ✅ improve robustness for data edge cases - add line-break in sample data - use `filenamify` to create valid filenames (incl. from titles with linebreaks) if `slugify` is disabled * fix: 🐛 fix frontmatter validation (ui) - run`YAML.parse()` when validating frontmatter template * fix: 🐛 increase filename max length to 255 characters * feat: ✨ update and protect frontmatter with a new setting, it is now possible to keep existing, additional frontmatter in files, and to protect from specific fields to be updated even if they exists in the frontmatter template. This works best if you also enable deduplication. * fix: 🐛 catch additional cases - update frontmatter when deduplication is turned off - catch case where deduplication is turned off and files are not written * docs: 📝 add feature documentatio for frontmatter update and protection add documentation for frontmatter updates and protection in the `README.md` * docs: 🐛 fix documentation mistakes * feat: 🚸 only protect fields that exist in the current frontmatter - protected fields which are not present in the current file will be added (if set in the template during first sync), and - will be protected in future syncs once they exist in the current file * docs: 🚸 explain frontmatter protection in more detail * refactor: 🚸 improve display of template blocks in settings improve the display long templates in the settings screen by adjusting the textarea dynamically. * refactor: 🚸 dynamically toggle slugify option visibility only show slugify options if the option to slugify is enabled * refactor: ♻️ refactor files and separate settings, definitions, and main plugin * refactor: ♻️ refactor codebase into separate `src` directory * refactor: ♻️ further refactoring of the code base separate models from ui, services, and main * chore: 🚚 move, refactor, and clean-up code * perf: ⚡️ remove dataviee dependency and improve deduplication performance - by implementing deduplication via metadatacache, we remove a dependency to another plugin *and* improve deduplication performance at the same time (approx. by a factor of 10 for 10 duplicates of one file). * fix: 🐛 correctly update frontmatter when deduplicating when multiple files exist, make sure we properly update the frontmatter for all duplicate files if setting is enabled * style: 🎨 format code * build: 🐛 fix local deploy system after refactor * fix: 🚑️ account for filename normalization ensure we get files with a compatible composed normalized path * fix: 👽 implement fix for dealing with `js-yaml` parsing implement a fix to avoid line-breaks in long titles until platers/obsidian-linter#1227 is implemented in `platers/obsidian-linter`. * refactor: use Obsidian's buil-in `normalizePath()` function when working with filenames (e.g. to find duplicates with `getAbstractFilePath()`) * feat: ✨ deduplicate Readwise duplicates implement code to treat the case of multiple Readwise items with the same title (i.e. the same filename in Obsidian) * docs: 📝 improve the deduplication documentation explain the use-case for deduplication better and explain *local* and *remote* duplicates in the documentation * style: 🎨 improve some of the new code and remove unused comments
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
add missing `src/ui/styles/styles.css` from src refactoring to release
catch error 429 (Rate Limit) in case header can't be read, catch (rare) empty results, handle other HTTP errors than 429 (@coderrabbit suggestions)
🎉 This PR is included in version 1.6.0-beta.12 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
correctly catch missing `created_at` and `updated_at` (was `highlighted_at`)
🎉 This PR is included in version 1.6.0-beta.14 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
pin osbidian release plugin in build scripts and use npm version instead of github version
🎉 This PR is included in version 1.6.0-beta.15 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
No description provided.