You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+82Lines changed: 82 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,9 @@ This serves two purposes:
15
15
- Added a new `\Hyde\Framework\Exceptions\ParseException` exception class to handle parsing exceptions in data collection files in https://github.com/hydephp/develop/pull/1732
16
16
- Added a new `\Hyde\Framework\Exceptions\InvalidConfigurationException` exception class to handle invalid configuration exceptions in https://github.com/hydephp/develop/pull/1799
17
17
- The `\Hyde\Facades\Features` class is no longer marked as internal, and is now thus part of the public API.
18
+
- Added support for setting custom navigation items in the YAML configuration in https://github.com/hydephp/develop/pull/1818
19
+
- Added support for setting extra attributes for navigation items in https://github.com/hydephp/develop/pull/1824
20
+
- Introduced a new navigation config builder class to simplify navigation configuration in https://github.com/hydephp/develop/pull/1827
18
21
19
22
### Changed
20
23
-**Breaking:** The internals of the navigation system has been rewritten into a new Navigation API. This change is breaking for custom navigation implementations. For more information, see below.
@@ -23,6 +26,8 @@ This serves two purposes:
23
26
-**Breaking:** The `hyde.authors` config setting should now be keyed by the usernames. For more information, see below.
24
27
-**Breaking:** The `Author::create()` method now returns an array instead of a `PostAuthor` instance. For more information, see below.
25
28
-**Breaking:** The `Author::get()` method now returns `null` if an author is not found, rather than creating a new instance. For more information, see below.
29
+
-**Breaking:** The custom navigation item configuration now uses array inputs instead of the previous format. For more information, see the upgrade guide below.
30
+
-**Breaking:** Renamed the `hyde.navigation.subdirectories` configuration option to `hyde.navigation.subdirectory_display`.
26
31
- Medium: The `route` function will now throw a `RouteNotFoundException` if the route does not exist in https://github.com/hydephp/develop/pull/1741
27
32
- Minor: Navigation menu items are now no longer filtered by duplicates (meaning two items with the same label can now exist in the same menu) in https://github.com/hydephp/develop/pull/1573
28
33
- Minor: Due to changes in the navigation system, it is possible that existing configuration files will need to be adjusted in order for menus to look the same (in terms of ordering etc.)
@@ -43,6 +48,8 @@ This serves two purposes:
43
48
- Calling the `DataCollection` methods will no longer create the data collections directory in https://github.com/hydephp/develop/pull/1732
44
49
- Markdown includes are now converted to HTML using the custom HydePHP Markdown service, meaning they now support full GFM spec and custom Hyde features like colored blockquotes and code block filepath labels in https://github.com/hydephp/develop/pull/1738
45
50
- Markdown returned from includes are now trimmed of trailing whitespace and newlines in https://github.com/hydephp/develop/pull/1738
51
+
- Reorganized and cleaned up the navigation and sidebar documentation for improved clarity.
52
+
- Moved the sidebar documentation to the documentation pages section for better organization.
46
53
47
54
### Deprecated
48
55
- for soon-to-be removed features.
@@ -333,3 +340,78 @@ For example, an empty or malformed JSON file will now throw an exception like th
333
340
334
341
In order to normalize the thrown exceptions, we now rethrow the `ParseException` from `Symfony/Yaml` as our custom `ParseException` to match the JSON and Markdown validation.
335
342
Additionally, an exception will be thrown if a data file is empty, as this is unlikely to be intentional. Markdown files can have an empty body if front matter is present.
343
+
344
+
## New features
345
+
346
+
<!-- Editors note: Todo: Maybe move to the relevant docs... -->
347
+
348
+
### Navigation configuration changes
349
+
350
+
The custom navigation item configuration format has been updated to use array inputs. This change allows for more flexibility and consistency in defining navigation items.
Additionally, the `hyde.navigation.subdirectories` configuration option has been renamed to `hyde.navigation.subdirectory_display`. Update your configuration files accordingly.
373
+
374
+
### YAML configuration for navigation items
375
+
376
+
You can now set custom navigation items directly in your YAML configuration files. This provides an alternative to defining them in the PHP configuration files.
377
+
378
+
Example:
379
+
380
+
```yaml
381
+
navigation:
382
+
custom_items:
383
+
- label: Custom Item
384
+
destination: /custom-page
385
+
```
386
+
387
+
### Extra attributes for navigation items
388
+
389
+
Navigation items now support extra attributes, allowing you to add custom data or styling to your navigation elements. You can set these attributes in both PHP and YAML configurations.
These changes provide more flexibility and control over your site's navigation structure. Make sure to update your configuration files and any custom code that interacts with navigation items to align with these new formats and features.
0 commit comments