Commit Graph

72 Commits

Author SHA1 Message Date
SebastianMC c3008946cc #185 - drop backward compatibility
- removed integration with Starred code plugin (which hasn't already been there for months)
2025-01-03 13:24:12 +01:00
SebastianMC a0bd47b210 #184 - Sort notes in Mmm-dd-yyyy format 2025-01-02 14:04:38 +01:00
SebastianMC efe8e13267 #156 - improved support for index-note-based folder notes - fresh head review
- typos correction
- comment updates for clarity
2024-09-05 20:01:11 +02:00
SebastianMC 60a60dfb72 #156 - improved support for index-note-based folder notes
- implementation completed, basic tests done
- needs code review with a fresh head
- needs more regression tests of affected sorting methods
2024-09-02 00:11:29 +02:00
SebastianMC 605d5026a6 #156 - improved support for index-note-based folder notes: PUT ON HOLD
- turned out to be not so trivial with one challenging place
- PUT ON HOLD
- added inline annotations with !!! (intentionally breaking the TS syntax)
2024-09-01 17:07:56 +02:00
SebastianMC 4ab21d6ff5 #145 - refactored the plugin integration point and sorting function invocation and wrapper(s) to work under Obsidian 1.6.0 (which introduced significant refactoring)
Remains to do:
- polish the code to remove duplication in main.js
- full testing under 1.6.0
- regression tests under latest 1.5.x (the code is backward compatible)
2024-05-13 20:14:03 +02:00
SebastianMC 2af53aa692 Removed debug console outputs 2024-05-13 14:51:05 +02:00
SebastianMC 107c32e461 The global `app` object becomes deprecated in Obsidian 1.6.0
- switched code to use the DI approach - the handle to `app` is handed over to the Plugin at initializaion. Keep in and supply down the execution chain, as needed
2024-05-13 14:36:13 +02:00
SebastianMC 8d9ccdd516 Version bump before release 2024-02-20 18:27:19 +01:00
SebastianMC 702fe9e027 Extracted and extended a basic integration test 2024-02-19 10:40:38 +01:00
SebastianMC ba54e63a48 #132 - new orders: `advanced recursive modified` and `advanced recursive created` 2024-02-19 08:53:43 +01:00
SebastianMC 424e56c962 Removed support for the experimental sorting methods: `aaa-z` and `a-zzz`. They weren't working correctly. 2024-02-13 16:24:15 +01:00
SebastianMC 53b5895e81 Bugfix for #131
Obsidian introduced breaking changes around File Explorer JS structure which prevented this custom-sort plugin from working.
- fix backward compatible with versions earlier that 1.5.4
- version bump before release
2024-02-09 14:24:04 +01:00
SebastianMC 9f4008c2a2 Revert "Bugfix for #131"
This reverts commit 238c027903.
2024-02-09 14:03:48 +01:00
SebastianMC 238c027903 Bugfix for #131
Obsidian introduced breaking changes around File Explorer JS structure which prevented this custom-sort plugin from working.
2024-02-07 23:34:27 +01:00
SebastianMC a2a808e78b Two experimental features + version bump before release
- `aaa-z` and `a-zzz` sort orders (uppercase first, alphanumeric order and lowercase  first, alphanumeric)
- `vsc-unicode` sort order, which is equivalent to what VS Code refers to as 'unicode' sorting (which name is arbitrary and confusing, yet familar to VS Code users)
2024-01-27 23:25:59 +01:00
SebastianMC 8d5ca13acb #127 - folder and file with the same (base) name advanced sorting support:
- bugfix for `files-first` or `folders-first` sorting methods
2024-01-26 00:34:24 +01:00
SebastianMC 958a9b017c #127 - folder and file with the same (base) name advanced sorting support:
- the last-resort default fallback sorting method (which was alphabetical) is extended to give preference to files. In other words, if all the specified sorting levels don't sort two items, the file goes first (if the other item is a folder)
- added explicit syntax to specify `files-first` or `folders-first`
2024-01-25 18:10:36 +01:00
SebastianMC 11d6623191 #123 - sorting by file basename by default (instead of fullname with ext)
- new syntax `a-z.` and `true a-z.` introduced to allow explicitly sorting by filename with ext
2024-01-25 10:47:05 +01:00
SebastianMC 3000da4edc Removed the unfinished partial implementation of overrideTitle functionality 2024-01-22 19:54:15 +01:00
SebastianMC b5a9684f56 Removed console.log statements which slipped in 2.1.1
Version bump before release
2023-11-24 18:59:15 +01:00
SebastianMC 88327f6314 #115 - Add inline regex support to match capital letters and lowercase letters explicitly 2023-11-24 18:52:26 +01:00
SebastianMC b4d55c8b70 #111 - changed the sorting behavior for items with undefined attributes
- sorting by bookmarks, item w/o bookmark pushed to the bottom in both: asc and desc orders
- sorting by metadata, item w/o metadata pushed to the bottom in both, asc and desc orders
- sorting by creation or modification date, advanced mode: empty folders (or folders having only folder children) are pushed to the bottom, regardless of asc or desc order
2023-11-13 15:48:27 +01:00
SebastianMC b854ce14ce #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- functionality completed!!!
- increased coverage of the new functionality with unit tests
- more unit tests possible
- basic manual tests done
- next step: real-life usage tests
2023-10-21 00:40:38 +02:00
SebastianMC 0031ee3a83 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin 2023-09-26 19:49:38 +02:00
SebastianMC 8197fca0f7 #89 - Support for multi-level sorting
- minor fix
2023-09-26 19:37:03 +02:00
SebastianMC e866023bbf #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- adjusted bookmarks integration to the merged from master multi-level sorting support and its implications
2023-09-26 19:33:19 +02:00
SebastianMC d8874629ba Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
#	src/custom-sort/sorting-spec-processor.ts
2023-09-26 19:26:00 +02:00
SebastianMC 1f0baebc41 #89 - Support for multi-level sorting
- full runtime processor extension plus necessary syntax adjustments
- backward compatibility with semi-two-levels
- extended meaning of sorting: lexeme
- extended and more fine-grained error messages for sorting order specifications
2023-09-26 18:56:44 +02:00
SebastianMC 527a03b050 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.spec.ts
#	src/custom-sort/custom-sort.ts
2023-09-19 15:43:09 +02:00
SebastianMC c5cd18f498 #89 - Support for multi-level sorting
- full runtime handling (application) of multi-level sorting
- full unit tests coverage of new functions
- metadata-based sorting extended to be applicable at each of sorting level, possibly with different metadata + full unit tests coverage
- having the run-time part ready, the missing part is the extending the sorting-spec-processor.ts
2023-09-19 15:34:39 +02:00
SebastianMC a3190cff62 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
2023-08-29 00:21:47 +02:00
SebastianMC 76ee3dfa62 #89 - Support for multi-level sorting
- fix in comparator by metadata to support multi-level sorting
- update of relevant existing unit tests
2023-08-29 00:17:58 +02:00
SebastianMC f72c4d61da #89 - Support for multi-level sorting
- removed unused imports
2023-08-29 00:12:06 +02:00
SebastianMC b809d73d54 Adjustment of comparator by bookmark order to support multi-level sorting 2023-08-29 00:09:07 +02:00
SebastianMC 85b0e722d2 Adjustment of comparator by bookmark order to support multi-level sorting 2023-08-29 00:07:45 +02:00
SebastianMC 726b3089b7 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
2023-08-29 00:06:32 +02:00
SebastianMC 8ea694fcf4 #89 - Support for multi-level sorting
- added run-time execution logic for multi-level sorting
- modified the sorter-by-metadata (required change for multi-level sorting)
- adjusted unit tests
- NO NEW UNIT TESTS
- no syntax added to support specification of multi-level (remains to be done)
2023-08-28 23:41:23 +02:00
SebastianMC 879c11b62f Introduction of 'overrideTitle' property for sorting group:
- sorting engine updated
- no dedicated syntax introduced, new feature used only in unit tests
- replaces the simplistic support for secondary sorting level for regexps
- unit tests
2023-08-25 19:10:38 +02:00
SebastianMC 2670cdb613 Fix for head tail regex match logic, when both regexp produce matching groups
- unit tests
2023-08-25 14:43:43 +02:00
SebastianMC 15c3ce833a Post-merge cleanup (auto-merge failures) 2023-08-24 11:30:15 +02:00
SebastianMC 947e384705 Post-merge cleanup (auto-merge failures) 2023-08-24 11:29:47 +02:00
SebastianMC eed3a65f08 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.spec.ts
#	src/custom-sort/custom-sort.ts
2023-08-24 11:25:41 +02:00
SebastianMC 3cc58f69b9 Refactoring of internal processing context plus support for implicit sorting specs
- !!! NO UNIT TESTS ADDED - remember to do it
2023-08-24 11:18:22 +02:00
SebastianMC 45f5918598 Major improvement: added support for determining and applying sort order currently selected in Obsidian UI
- the meaning of CustomSortOrder.standardObsidian changes from a fixed one to what is actually selected in Obsidian UI
- the CustomSortOrder.standardObsidian can be applied at a folder level (as the default for folder) and at a group level (this is a major addition)
- added a mapping of Obsidian UI sorting methods onto internal plugin sorting methods, plus addition of the Obsidian UI logic to push folders to the top unconditionally
- !!! NO NEW UNIT TESTS FOR THIS FEATURE - must add later
- not tested manually, as the commits extraction and pushing is done as part of #88 github issue
2023-08-24 01:11:22 +02:00
SebastianMC f48bc4d11f Simplification of this.app ==> app - this is a globally exposed object 2023-08-24 00:16:10 +02:00
SebastianMC 24b37eb87c Bugfix in sorterByMetadataField - reverse order working correctly now
- new unit tests
2023-08-24 00:09:04 +02:00
SebastianMC 5304c9d601 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
2023-06-30 19:30:59 +02:00
SebastianMC 037ada5a88
79 foldername variable support (#81)
* #79 - parent-folder-name variable support

- introductions of simplistic macros / templating support
- initially only one macro supported: {:%parent-folder-name%:}
  - macro expanded only for plain-text matching rules, ignored for regexp-based rules
  - for children of the root folder the macro is ignored
- unit tests for the new macros.ts
- unit tests for the testable part of updated custom-sort.ts
2023-06-30 19:05:29 +02:00
SebastianMC d32e71f064 #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- singificants refactoring, compilable, basic functions work
2023-05-05 20:49:08 +02:00