feat(global refactoring): Refactor project architecture and add new features#69
Merged
feat(global refactoring): Refactor project architecture and add new features#69
Conversation
…efactoring + new features Global project refactoring + new features (--save-id, --force-new)
Owner
Author
|
👋 Hi, Myastr0! Thanks for opening a PR. We will review it soon. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Keep Page ID Between Sync
Resolves #67
Summary
This PR introduces the ability to persist Notion page IDs between synchronizations, allowing mk-notes to update existing pages instead of always creating new ones. This is achieved through two new options:
--save-idand--force-new.Key Changes
New Features
saveIdoption: When enabled, saves the Notion page ID back to the source markdown file, allowing subsequent syncs to update the same pageforceNewoption: Forces creation of a new page even if an existing page ID is foundArchitecture Refactoring
entities/subdirectoriesrepositories/subdirectoriesinfrastructure/converters/infrastructure/sources/infrastructure/destinations/infrastructure/parsers/__tests__/folders)Element Classes Enhancements
idproperty to all Element classes to track Notion block IDstoContentString()method to all Element classes for serialization back to markdownidparameterSource Repository Changes
Filefrom interface to class with newpathpropertyupdateFile()method toSourceRepositoryinterface for writing changes back to source filesupdateFile()inFileSystemSourceRepositoryOther Changes
NotionPage.childrenmutable (removedreadonly)mkNotesInternalIdtoidinParseResultfor consistencyMK_NOTES_INTERNAL_ID_PROPERTY_NAMEconstantDocumentation Updates
CLI Commands Guide (
docs/content/docs/cli/guides/cli-commands.mdx):--save-id(-s) option with usage examples--force-new(-f) option with usage examplesGitHub Actions Sync Action (
docs/content/docs/github-actions/available-actions/2-sync-action.mdx):save-idandforce-newinputs to the inputs tablesave-idProgrammatic Usage Guide (
docs/content/docs/cli/guides/programmatic-usage.mdx):SynchronizeOptionsinterface documentation with new optionsAPI Documentation (
docs/docs/api/):All Submissions:
New Feature Submissions:
Changes to Core Features:
Usage
CLI
GitHub Action
Programmatic