- Add new editStyles module for centralized CSS variable management
- Introduce vertical centering option for action list in empty state
- Add margin-top deletion setting for more precise centering
- Implement collapsible appearance settings section in settings tab
- Refactor CSS variable structure to support multiple layout modes
- Update styles.css with new CSS variables for layout customization
- Move icon-text gap setting under appearance section for better organization
- Replaced all instances of "New tab" with "empty file view (new tab)" in the README.md file for consistency and clarity.
- Updated descriptions and explanations to accurately reflect the plugin's functionality related to the empty file view.
- Updated the error message in `src/main.ts` to specifically mention "the empty file view (new tab)" instead of "New tab" for better clarity and consistency with other UI elements.
- Updated descriptions and labels in settings to refer to the "empty file view (new tab)" instead of "New tabs" for better clarity.
- Modified the "Quick Actions" label in `src/main.ts` to dynamically include the command name.
- Updated the description for the "Display" setting in `ActionSettingsModal.ts` to explicitly mention both the empty file view and "Quick actions".
- Added quotes to "Save" in the description for child action changes in `ActionSettingsModal.ts` for better readability.
- Added a footer to the esbuild output file (`esbuild.config.mjs`) that includes license information for the `uuid` dependency.
- Moved the license section in `README.md` to the end of the file.
- Updated development dependencies in `package.json` and `package-lock.json` including `@eslint/js`, `@types/node`, `esbuild`, `eslint`, `typescript`, and `typescript-eslint`.
- Added a "Dependencies" section to the README.md file.
- Listed the project's dependency on the [uuid](https://github.com/uuidjs/uuid) library, including its license.
- Updated the README.md, manifest.json, and package.json descriptions to improve readability and formatting.
- Removed unnecessary quotation marks and corrected spacing.
- Added a function call to `closeAllNewTabs` in the `onunload` lifecycle method. This ensures that any new tabs created by the plugin are closed when the plugin is unloaded, preventing potential issues.
- Added a new setting to control the gap between the icon and text of the action buttons.
- Implemented a slider in the settings tab to adjust the gap, with a range of 0-50px and a default value of 10px.
- Updated the `styles.css` to use a CSS variable for the gap, allowing for dynamic adjustment.
- Added `adjustInt` function to `src/commons.ts` to truncate the number.
- Updated `src/constants.ts` to include the new CSS variable.
- Updated `src/main.ts` to set the CSS variable on plugin load.
- Added type checking for the new setting.
- Updated descriptions for hide message and hide default actions.
- Updated type checking for settings.
- Updated `manifest.json` to reflect compatibility with Obsidian 1.8.4.
- Modified the description in `manifest.json` and `package.json` to reflect the changes.
- Updated `versions.json` to reflect the new minimum Obsidian version.
- Added `CHANGELOG.md` to track changes.
- Added `docs/MaintenanceReport.md` to document compatibility with Obsidian versions, especially for features relying on undocumented behavior.
- Updated `README.md` to include a link to the `MaintenanceReport`.
- Moved `loggerOnError` function from `src/utils/loggerOnError.ts` to `src/commons.ts`.
- Updated import paths in `src/settings/action-edit.ts`, `src/settings/action-settingsModal.ts`, `src/settings/settingTab.ts`, `src/main.ts`, `src/settings/action-settings.ts`, `src/settings/hideDefault.ts`, and `src/ui/executionSuggester.ts` to reflect the change.
- This improves code organization by centralizing the error logging function in `commons.ts` and reducing duplication.
- Removed `allActionsBloodline` and `genNewCmdId` functions from `src/commons.ts`.
- Moved `allActionsBloodline` and `genNewCmdId` functions to `src/settings/action-basic.ts`.
- Updated import paths in `src/settings/action-settingsModal.ts` and `src/main.ts` to reflect the change.
- This improves code organization by centralizing action-related logic in `action-basic.ts` and removing unnecessary dependencies from `commons.ts`.
- Moved `chooseKindAndContent`, `chooseKind`, `chooseContent`, `chooseCommandOrFile`, `makeSettingsActionsHeader`, and `makeSettingsActionsList` functions from `src/settings/action-basic.ts` to `src/settings/action-settings.ts`.
- Updated import paths in `src/settings/action-settingsModal.ts` and `src/settings/settingTab.ts` to reflect the change.
- This improves code organization by separating the UI-related logic for action settings into a dedicated file.
- Extracted `moveAction`, `toPracticalAction`, `generateCommandCallback`, `generateFileCallback`, `cancelExecute`, and `groupingActions` functions from `src/settings/action-basic.ts` to `src/settings/action-edit.ts`.
- Updated import paths in `src/settings/action-basic.ts` and `src/main.ts` to reflect the change.
- This improves code organization and readability by separating the core action editing logic into a dedicated file.
- Renamed `src/settings/actionSettingsModal.ts` to `src/settings/action-settingsModal.ts`.
- Updated import paths in `src/settings/action-basic.ts` to reflect the change.
- Renamed `src/settings/action.ts` to `src/settings/action-basic.ts`.
- Updated import paths in `src/settings/actionSettingsModal.ts`, `src/settings/settingTab.ts`, `src/main.ts`, and `src/commons.ts` to reflect the change.
- Added a `closeAllNewTabs` function to close all open new tab leaves.
- Called `closeAllNewTabs` on plugin load, settings save, and when enabling/disabling the "add actions to new tabs" setting to ensure the correct behavior.
- Refactored `lazyLoad` to `backBurner` to better reflect its purpose.
- Refactored the `addButtonsIfNewTab` function to improve its handling of new tab actions.
- Introduced an `addButtonsEventHandler` to filter layout changes and only trigger the action when a new empty view is created.
- Updated the event listener to use the new handler.
- Improved code readability and maintainability.
- Corrected instances of "New Tabs" to "New tab" in various UI strings within the plugin. This includes descriptions in settings, the manifest, and the package.json file.
- Updated the description for the display setting in the action settings modal.
- Corrected a log message in `src/main.ts`.
- Removed `UNSAFE_PROPERTIES` constant from `src/unsafe.ts` and updated its usage in `src/settings/action.ts`.
- Directly accessed `app.commands.commands` and `app.commands.executeCommandById` in `src/settings/action.ts` to improve code readability and remove unnecessary indirection.
- Improved type safety by directly accessing `actionListEl` and `emptyTitleEl` properties of `UnsafeEmptyView` in `src/main.ts`.
- Updated references to reflect the changes.
- Renamed `UNSAFE_EMPTY_PROPERTIES` to `UNSAFE_EMPTY_PROPS` in `src/unsafe.ts` and updated its usage in `src/main.ts`.
- Updated references to the renamed constant.
- Renamed `UNSAFE_EMPTY_VIEW_PROPERTIES` to `UNSAFE_EMPTY_PROPERTIES` in `src/unsafe.ts` and updated its usage in `src/main.ts`.
- Added `UnsafeEmptyActionListEl` interface to `src/unsafe.ts` to improve type safety.
- Updated type annotations in `src/main.ts` to reflect the changes.
- Moved `UNSAFE_PROPERTIES`, `UNSAFE_CSS_CLASSES`, and `UNSAFE_VIEW_TYPES` constants from `src/constants.ts` to `src/unsafe.ts`.
- Updated imports in `src/main.ts` and `src/settings/action.ts` to reflect the change.
- Moved `UnsafeEmptyView`, `UnsafeAppCommands`, and `UnsafeApp` types from `src/types.ts` to a new file `src/unsafe.ts`.
- Updated imports in `src/settings/action.ts` and `src/main.ts` to reflect the change.
- Added a "ToDo" section to the README.md file to outline future development tasks, including setting file opening behavior, improving dialog usability, adding a method to display actions on the "New tab", and implementing copy/move action functionality.
- Updated the .gitmessage file to remove the language constraint.