Jo-Be-Co
417e654799
#1754 Conditional output on format templates
2026-04-20 23:15:54 +02:00
Jo-Be-Co
30809fb38d
fixed quoting errors in format-strings
2026-04-20 21:38:45 +02:00
Jo-Be-Co
ea33d8933a
test added with colons in tag comparison
2026-04-20 19:24:21 +02:00
Jo-Be-Co
962a5055b2
Fixed PR comments
2026-04-20 18:07:17 +02:00
Jo-Be-Co
dc353aa7e5
Merge branch 'master' into bifunctions
2026-04-17 08:50:53 +02:00
Jo-Be-Co
475f20b3cb
unit tests added for new list operations
2026-04-17 08:35:43 +02:00
Jo-Be-Co
a4bc39ee6b
switched from RegionInfo to AudibleApi.Locale
2026-04-15 00:45:55 +02:00
Jo-Be-Co
c72e5a3568
fixed matching of first property
2026-04-14 02:48:03 +02:00
Jo-Be-Co
56c15d3108
add checks on lists
2026-04-14 00:38:41 +02:00
Jo-Be-Co
810ea90770
introduce cmp tag as check with two operands
2026-04-14 00:30:34 +02:00
Jo-Be-Co
a010da5251
#1714 Convert the evaluation of the 'is' tag into two-parameter logic
2026-04-13 01:39:16 +02:00
Jo-Be-Co
f4e61d0445
hardend an commented unit tests for region output
2026-04-10 11:44:28 +02:00
Jo-Be-Co
54765fc181
Fixed cross-platform problems on region tests
2026-04-10 10:14:19 +02:00
Jo-Be-Co
b4f48cb54c
Extend <language> and <locale> tags to allow different outputs like ISO-codes or names in different languages
2026-04-10 09:43:11 +02:00
Jo-Be-Co
3e3da2298e
Add <first tag[...]>
2026-04-03 03:48:09 +02:00
Jo-Be-Co
2daf2da30a
Test fixes
2026-03-27 09:11:00 +01:00
Jo-Be-Co
1d1936734b
Test hardening.
...
Ensure tests check error and warning output to confirm assertions are correctly formulated.
2026-03-27 00:06:17 +01:00
Jo-Be-Co
fc92c633e1
No made up format for minutes as .NET already knows how to format them.
...
User documentation needs to follow.
2026-03-26 03:12:24 +01:00
Jo-Be-Co
3c71cb10b2
some minor fixes
2026-03-26 03:10:43 +01:00
Jo-Be-Co
6b26280aa8
Get formats for properties in given form to the formatters by no unescaping them in advance.
2026-03-25 14:23:03 +01:00
Jo-Be-Co
14d8bb2205
As stated in the "Naming Templates" documentation, support custom formatters on numbers.
...
Only trim spaces on tags where they are disruptive.
2026-03-25 02:34:32 +01:00
Jo-Be-Co
6d2b0b952d
- Inspect exception on regexp timeout
...
- special tests for checks with whitespace
- Escaping allows whitespace at the edges
2026-03-24 00:18:40 +01:00
Jo-Be-Co
fb277cff81
Faulty regex patterns will throw InvalidOperationException during evaluation.
2026-03-23 15:29:32 +01:00
Jo-Be-Co
02b9b4fa1c
QS updates:
...
- fixed documentation
- regexp-checks running with timeout and culture-invariant matching
- changed check-building in ConditionalTagCollection to use NonNull parameters. So no warnings occure.
- add tests for <!is ...> and escaped chars
2026-03-22 19:18:55 +01:00
Jo-Be-Co
7ecd571364
Corrections to documentation and comments.
2026-03-22 13:55:28 +01:00
Jo-Be-Co
32f3e6a886
Introduces the slice() format directive
2026-03-22 13:55:27 +01:00
Jo-Be-Co
e477c29890
New tags <minutes>, <tag> and <if abridged->...<-if abridged>
2026-03-22 13:55:27 +01:00
Jo-Be-Co
a8621699c1
Add numerical checks for conditional tag.
...
- numbers are compared with their value
- strings are compared by checking the length
- Collections are evaluated on cheking their size
2026-03-22 13:55:27 +01:00
Jo-Be-Co
cd9a070784
Allow two step formatting to get checkable values and not only single stringa
...
Introduce <is-> Tag. Like <has-> but with additional check on content.
Retrieve objects instead of string for conditions
Pass undefined formats as null instead of empty strings
2026-03-22 13:55:26 +01:00
Jo-Be-Co
508ea1032d
Tests are using empty values for various fields
2026-03-22 13:55:25 +01:00
Jo-Be-Co
10fc5837cb
Allow sorting in reverse order by specifying the sort key with lowercase
2026-03-22 13:55:25 +01:00
Jo-Be-Co
812e0c3b60
Format details on fields specified in format. Introduce by colon.
...
Use dictionaries for field access and sorting.
Added sorting to series lists.
2026-03-22 13:55:25 +01:00
Jo-Be-Co
d161bdfaeb
Introduce culture parameter for formatting.
2026-03-22 13:55:24 +01:00
Jo-Be-Co
7dd55a2545
Refactorings
2026-03-22 13:55:24 +01:00
Michael Bucari-Tovo
3ab1edc076
Code Cleanup
...
Make fields readonly
Remove unnecessary casts
Format document
Remove unnecessary usings
Sort usings
Use file-level namespaces
Order modifiers
2026-02-05 12:48:44 -07:00
Michael Bucari-Tovo
d67692355f
Enable project-wide nullable reference types
...
Added DB migration for nullable types.
2026-02-05 12:43:05 -07:00
MBucari
e850465ec1
Add more null safety
...
Enable project-wide nullable on LibationUiBase and LibationAvalonia
Explicitly parallelize unit tests
2025-12-30 13:17:11 -07:00
Youssef1313
03ed8e6b57
Migrate from VSTest to MTP
2025-12-21 15:03:52 +01:00
MBucari
fde78f4167
Update to .NET 10
...
- Update all project runtime targets
- Update all dependencies
- NOTE: Using Npgsql.EntityFrameworkCore.PostgreSQL RTM build from MyGet
- Delete unused pubxml files (they were made redundant by recent workflow changes)
- Replace Libation.sln with Libation.slnx
2025-11-20 15:56:47 -07:00
MBucari
e8c911e603
Improve management and validation of Libation settings
...
- Move all settings file logic into new LibationFiles class
- Configuration.LibationFiles is a singleton instance of the LibationFiles class.
- A LibationFiles instance is bound to a single appsettings.json path. All updates to LibationFiles location are updated in that appsettings.json file
- Unify initial setup and settings validation process
- Add LibationSetup which handles all startup validation of settings files and prompts users for setup if needed
- Added a new LibationUiBase.Tests test project with tests for various
2025-11-17 10:49:23 -07:00
Michael Bucari-Tovo
f98adef9e9
Update Dependencies
...
- Remove package references that are already included transitively
- Change Avalonia.ReactiveUI to ReactiveUI.Avalonia
2025-11-03 09:34:23 -07:00
Michael Bucari-Tovo
3b86fc405f
Add <has-> template tag
2025-08-19 18:41:31 -06:00
MBucari
4ea7f04921
Preserve space between series order numbers
2025-08-17 13:40:37 -06:00
Michael Bucari-Tovo
eda100b7ac
Remove FluentAssertions
2025-08-15 10:29:23 -06:00
Michael Bucari-Tovo
05fad01624
Update dependencies
2025-08-14 15:57:35 -06:00
Michael Bucari-Tovo
e1d789ccdc
Improve series order parsing and formatting
2025-08-14 15:37:53 -06:00
rmcrackan
0045202334
update dependencies
2025-08-13 07:52:13 -04:00
rmcrackan
72f92ec6c0
update dependencies
2025-08-10 11:21:34 -04:00
Michael Bucari-Tovo
ae012548bd
Smart handling of filename limitations cross platform
...
Automatically determine if filename lengths in the Books directory are limited to 255 UTF-16 characters (NTFS) or 255 UTF-8 bytes (pretty much every other file system) (#1260 )
In non-Windows environments, determine if the Books directory supports filenames containing characters which are illegal in Windows environments (<>|:*?). If it doesn't, then ensure those characters are included in the user's ReplacementCharacters settings (#1258 ).
2025-07-30 16:04:48 -06:00
Michael Bucari-Tovo
7024bbf823
Provide NTFS default characters for non-windows users ( #1258 )
2025-07-29 15:20:52 -06:00