Commit graph

209 commits

Author SHA1 Message Date
YazanAmmar
19ae3e841e chore(assets): resize and compress logo asset for smaller bundle size 2026-05-14 21:29:15 +03:00
YazanAmmar
bb84512f6e docs(readme): improve README structure and move detailed docs into docs/ 2026-05-14 20:25:12 +03:00
YazanAmmar
c07bf3ce25 docs(changelog): finalize release notes for v2.1.0 2026-05-14 18:05:14 +03:00
YazanAmmar
71aac0dee3 chore(release): bump to v2.1.0 and update min app version 2026-05-14 17:55:03 +03:00
YazanAmmar
e7958ffb15 build: revamp build pipeline to industry standards
- Migrated build logic from npm scripts to a dedicated `esbuild.config.mjs` file.
- Separated code quality checks (linting) and type checking (`tsc --noEmit`) into distinct pre-build steps.
- Fixed TypeScript module resolution in `tsconfig.json` to properly support bundlers.
- Automated the `dev` environment to instantly compile and copy assets to the local Obsidian vault on file changes.
- Updated README.md developer instructions to reflect the new build configuration process.
2026-04-15 23:32:33 +03:00
YazanAmmar
737695fae4 refactor: implement native getLanguage() and finalize guideline compliance
- Replaced manual language selection with Obsidian's native `getLanguage()` API.
- Removed `settings.language` from `PluginSettings` and cleaned up its lifecycle in `main.ts`.
- Updated "Translations & Languages" UI to be automated while keeping translation tools accessible.
2026-04-15 22:49:43 +03:00
YazanAmmar
5050d16124 refactor: remove legacy plugin ID migration and bump minAppVersion
- Removed `src/core/migrations.ts` entirely to comply with Obsidian guidelines (preventing modification of system hotkeys.json and community-plugins.json).
- Cleaned up related legacy ID migration logic from `main.ts` and `types.ts`.
- Bumped `minAppVersion` to `1.8.7` in preparation for native `getLanguage()` implementation.
- Removed unused `Notice` import in `main.ts`.
2026-04-15 20:53:15 +03:00
YazanAmmar
af77f6b54a refactor: relocate background media storage to plugin directory 2026-04-15 01:15:31 +03:00
YazanAmmar
880f9bebca refactor: replace HTMLElement prototype monkey-patch with a safe helper
- Remove `HTMLElement.prototype.setCssProps` polyfill from `utils.ts`.
- Introduce `setCssPropsSafe` helper using standard `style.setProperty` and `removeProperty`.
- Migrate all core engines (Style, Background, Notice) to use the new safe helper.
- Update UI components and modals to ensure secure CSS property manipulation.
- Ensure no direct calls to the legacy `setCssProps` remain in the codebase.
2026-04-15 00:51:16 +03:00
YazanAmmar
5966647b84 refactor: remove core UI overrides and simplify CSS scoping 2026-04-15 00:32:43 +03:00
YazanAmmar
989939fb80 fix: scope global CSS overrides and prevent core UI style leaks 2026-04-15 00:12:48 +03:00
YazanAmmar
a0688749ee fix: resolve interval memory leak and scope direction CSS 2026-04-14 23:52:25 +03:00
YazanAmmar
786923c1b7 refactor: update branding, locales, and switch to Obsidian native debounce
- Update README title and license year to 2026.
- Clean up settings labels by removing redundant "settings" word in multiple locales (en, ar, fa, fr).
- Refactor profile navigation and theme toggle to use `checkCallback` for better command palette integration.
- Replace custom debounce implementation with official Obsidian API across UI components and utils.
- Remove redundant debounce code from utils and background scripts.
2026-04-14 23:22:50 +03:00
YazanAmmar
e8d8e40021 docs: refine trademark policy and update README to focus on logo and visual identity protection 2026-04-14 21:23:27 +03:00
YazanAmmar
673ab13ba5 docs: add trademark policy and clarify branding restrictions 2026-04-13 23:01:44 +03:00
YazanAmmar
e6607215a5 refactor(tsconfig): modernize compiler options and enable strict settings 2026-04-13 00:48:01 +03:00
YazanAmmar
a22105356d fix(i18n): improve callout translations in ar and fa, update README path and variables count. 2026-04-13 00:44:30 +03:00
YazanAmmar
d43321f7c1 feat(theme-vars): expand color variable coverage and improve HEX/RGB callout flow
- add core color variables for navigation, links, editor, tables, canvas, tabs, and scrollbar active state
- add full official callout color set
- introduce RGB_TRIPLET_VARS for callout RGB triplets
- add normalizeHexColor and hexToRgbTriplet to color-pickers
- convert RGB triplets back to HEX in settingsTab for correct picker rendering
- extend TEXT_TO_BG_MAP for new text-related variables
2026-03-04 22:04:07 +03:00
Yazan Ammar
bbc7a60459
docs(changelog): add standard preamble and metadata 2026-02-20 22:43:25 +03:00
YazanAmmar
61fa8f29ad refactor: modularize core engine and settings UI
- extracted core logic into dedicated modules
- simplified main.ts and settingsTab.ts
- improved maintainability and separation of concerns
- no functional changes intended
2026-02-17 18:19:42 +03:00
YazanAmmar
c5a192157d docs(readme): clean up formatting, remove emojis, and fix links 2026-02-16 22:50:06 +03:00
YazanAmmar
114b44da88 docs(changelog): finalize and clean up release history 2026-02-16 15:04:24 +03:00
YazanAmmar
c8ab4ae28c chore(deps): bump eslint-plugin-eslint-comments to 4.4.0 2026-02-15 22:37:13 +03:00
YazanAmmar
424d066a41 docs: refactor changelog to structured release format 2026-02-15 22:36:26 +03:00
YazanAmmar
be0f16e17b fix: correct version to 2.0.0 and update README project structure 2026-02-14 23:12:29 +03:00
YazanAmmar
791f9a750d fix(manifest): remove obsidian from plugin id/description 2026-02-14 18:53:10 +03:00
YazanAmmar
29f6188f63 feat!: rebrand plugin to Theme Engine and implement full ID migration
- change manifest ID from color-master to theme-engine
- add first-run migration for settings, hotkeys, and enabled-plugin list
- refactor architecture and modularize UI
- migrate styles to structured SCSS setup
- clean lint configuration and remove deprecated eslint plugin
- update README, dev paths, and release metadata
2026-02-14 16:53:36 +03:00
YazanAmmar
8ec0f24b56 fix: resolve typing issues and prevent pinned profile vars reset 2026-02-14 02:27:49 +03:00
YazanAmmar
632c848702 fix(lint): resolve all ESLint warnings and errors 2026-02-14 01:08:55 +03:00
YazanAmmar
66d7c6c455 chore(lint): align ESLint config with Obsidian bot rules for consistent local validation 2026-02-14 00:14:53 +03:00
YazanAmmar
2188396685 feat(search): add empty-results badge and hide like card when no matches 2026-02-13 22:39:41 +03:00
YazanAmmar
f1ac4a7e03 fix(settings): polish CSS snippets UI and remove reorder flicker 2026-02-13 21:57:31 +03:00
YazanAmmar
473d5483fc refactor(settings): group related settings using native SettingGroup with safe fallback 2026-02-13 15:21:19 +03:00
YazanAmmar
56b8412698 polish(ui): minor visual improvements 2026-02-13 14:12:01 +03:00
YazanAmmar
1ffb00413a refactor(ui): align search with default behavior and clean up profile manager layout 2026-02-13 12:55:40 +03:00
YazanAmmar
edfbd78b24 polish(ui): adjust search bar placement for improved UX 2026-02-13 12:30:50 +03:00
YazanAmmar
3661dca0c1 style(ui): small visual and spacing improvements 2026-02-13 10:27:33 +03:00
YazanAmmar
a3f51fb662 refactor(types): remove unknown casts and add strict typings for settings 2026-02-12 22:31:48 +03:00
YazanAmmar
8a3cf993f4 refactor: restructure UI modals into a modular directory
- Break down the monolithic modals.ts into src/ui/modals/
- Group related modals into subdirectories (settings, editors, common, profiles)
- Implement a centralized export system via src/ui/modals/index.ts
- Improve code maintainability and resolve circular dependency risks"
2026-02-12 21:21:29 +03:00
YazanAmmar
84b6b69f58 chore: stop tracking build artifacts (main.js, styles.css) 2026-02-12 15:13:01 +03:00
YazanAmmar
d968d401b6 chore(deps): update dependencies and unignore manifest 2026-02-12 15:09:34 +03:00
YazanAmmar
2fca7c0d07 chore: remove unused empty states file 2026-02-12 14:43:29 +03:00
YazanAmmar
833f8ac869 refactor(styles): migrate to a modular SCSS architecture
- Reorganized style files into domain-specific directories (base, components, modals, settings).
- Centralized shared input and button styles for better consistency.
- Optimized animations and removed unused legacy code.
- Improved maintainability for future development.
2026-02-12 14:26:08 +03:00
YazanAmmar
a41062bc20 fix(ui): improve action buttons visibility in light mode 2026-02-12 11:26:28 +03:00
YazanAmmar
af117f461e chore: update external links (repo, issues, wiki) 2026-02-12 11:12:25 +03:00
YazanAmmar
1840af489e refactor(ui): redesign Like Plugin card to better match Obsidian settings style 2026-02-12 11:00:32 +03:00
YazanAmmar
345b0c26a3 chore: apply prettier + normalize line endings 2026-02-12 10:09:41 +03:00
Yazan Ammar
67b76ff3b5
Change Telegram Channel link in README
Updated the Telegram Channel link in the README.
2026-01-25 21:52:51 +03:00
YazanAmmar
da3808edbb fix: resolve merge conflict 2025-12-02 07:30:50 +03:00
YazanAmmar
ad2ddc6c44 refactor(build): integrate Prettier formatting and improve SCSS structure
Integrates Prettier into the build process for automatic code formatting
and refactors the SCSS file structure for better maintainability.

- Added `prettier` and `cpy-cli` as dev dependencies.
- Updated `package.json` scripts:
  - `npm run format` now runs automatically before `dev` and `build`.
  - `dev` script now uses `cpy-cli` for cross-platform compatibility instead of native `copy`.
- Refactored SCSS files:
  - Consolidated all `@keyframes` into `_base.scss` and removed duplicates from `_components.scss` and `_modals.scss`.
  - Moved modal-specific CSS from `_base.scss` to `_modals.scss`.
  - Moved `.notice` styling from `_components.scss` to `_base.scss`.
- Fixed UI/UX issues:
  - The snippet "Lock" button now correctly shows `cursor: pointer` and changes color based on its locked/unlocked state.
  - The snippet drag handle (`.cm-snippet-drag-handle`) now correctly shows `cursor: not-allowed` when locked.
  - Fixed text wrapping issues in modals by removing `max-width: 80%` from `.setting-item-description`.
2025-12-02 07:24:41 +03:00