Releases: hydephp/hyde
v0.32.0-beta - Introducing the new Realtime Compiler
About
The biggest feature added in this release is a complete rewrite of the realtime compiler, bringing native exception handling and more!
There are also some changes to the composer.json where some dependencies have been moved to the Framework package. Minor bugfix update to Blade image views. A new config file for the cache driver is also added.
What's Changed
- Rewrite Realtime Compiler by @caendesilva in hydephp/framework#508
- Fix: #506: Move ext-simplexml in composer.json to suggest as it is not a strict dependency by @caendesilva in hydephp/framework#510
- Skip generating auxiliary files in the main built loop when there is no underlying content by @caendesilva in hydephp/framework#511
- Improve metadata for featured post images by @caendesilva in hydephp/framework#512
- Refactor to use Laravel cache helper instead of custom implementation by @caendesilva in hydephp/framework#514
Errata
This version mistakenly removed a dependency required by another dependency. Please update to v0.32.1-beta for a patched version fixing this.
Full Changelog: hydephp/framework@v0.31.1-beta...v0.32.0-beta
v0.31.0-beta - Markdown Intelligence
Major features & changes
Markdown pre and post-processing
hydephp/framework#488 adds a framework and a few implementations for Markdown postprocessing and preprocessing. Examples for these can be found in the Markdown documentation.
Colored blockquotes hydephp/framework#484
This preprocessor adds colored blockquotes using an easy semantic syntax.
Automatic filepath label for codeblocks hydephp/framework#487 (pre and post)
Write a comment with the filepath on the first line of a fenced Markdown code block, and it will be added as a label in the top right corner. Works both with and without Torchlight.
Makes documentation pages smarter
Hyde is all about taking something simple, and making it special. The blog posts are a great example of this, where Hyde manages to extract and generate rich data from the Markdown. But the documentation pages (with the exception of the sidebar) have been a little... plain. None of the actual article content is really that semantic. This PR begins to fix that. It does this by splitting the rendered Markdown document into three semantic parts, header, main content, and footer. This provides hooks for injecting dynamic content, all while keeping the HTML logically structured.
Create automatic link to documentation source files
Now Hyde can automatically add links to documentation pages that takes the user to a GitHub page (or similar) to edit the page. This makes it great for open-source projects looking to allow others to contribute to the documentation in a quick and easy manner.
The feature is automatically enabled when you specify a base URL in the Docs configuration file. Hyde expects this to be a GitHub path, but it will probably work with other methods as well, if not, please send a PR and/or create an issue on the GitHub repository!
What's Changed
- Add Markdown Post/Preprocessors by @caendesilva in hydephp/framework#488
- Fix #490 Make heading permalinks visible by @caendesilva in hydephp/framework#493
- Link to markdown source files by @caendesilva in hydephp/framework#498
- Make documentation pages smarter by @caendesilva in hydephp/framework#501
- Fix #499: Make the search dialog positioning fixed by @caendesilva in hydephp/framework#503
Full Changelog: hydephp/framework@v0.30.1-beta...v0.31.0-beta
v0.30.1-beta - Fix package.json version formatting error
What's Changed
- Update Changelog by @github-actions in #174
- Fix package.json version formatting error by @caendesilva in #175
Full Changelog: v0.30.0-beta...v0.30.1-beta
v0.30.0-beta - Add inline Blade support to Markdown
What's Changed
Main feature, is adding inline Blade support to all Markdown based pages. The release also fixes a few bugs.
Add inline Blade support to markdown hydephp/framework#478
Fix hydephp/framework#460: Add color-scheme meta
Fix Bug hydephp/framework#471: og:title and twitter:title should use the page title, and only use config one as fallback hydephp/framework#473
Fix bug hydephp/framework#471, make title metadata dynamic
Bump HydeFront to v1.10
Full Changelog: hydephp/framework@v0.29.1-beta...v0.30.0-beta
Full Changelog: v0.29.0-beta...v0.30.0-beta
v0.29.0-beta - Add a frontend documentation searchengine
About
This release adds a search feature to documentation sites. It works by precompiling a JSON search index saved to your _site/docs directory.
Documentation sites then load this using AJAX through the new HydeSearch plugin, which searches your documentation in realtime!
You can try out a hosted demo here https://demos.desilva.se/gist/github/hydephp/experiments/hydesearch/FullHydeDemo/docs/search.html
What's Changed
-
Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3 by @dependabot in hydephp/framework#456
-
Create the backend search index generation for documentation pages by @caendesilva in hydephp/framework#459
-
Add the HydeSearch frontend integration for documentation pages by @caendesilva in hydephp/framework#465
-
Make the search feature configurable and toggleable by @caendesilva in hydephp/framework#467
-
Load HydeFront v1.9.x needed for HydeSearch by @caendesilva in hydephp/framework#468
-
Fix #169: remove white-space: pre from
<code>
, allowing it to wrap by @caendesilva in #170 -
Update frontend and framework files by @github-actions in #172
Full Changelog: hydephp/framework@v0.28.1-beta...v0.29.0-beta
Full Changelog: v0.28.1-beta...v0.29.0-beta
v0.28.1-beta - Vendor security patch
What's Changed
- Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3 by @dependabot in #167
Full Changelog: v0.28.0-beta...v0.28.1-beta
v0.28.0-beta - Refactor configuration files
Changes to the configuration files
The entire configuration system has been refactored.
Snake_case is used for all configuration keys
All configuration keys are now in the snake_case_format. Published configuration files will need to be updated accordingly. This is pretty fast in a modern code editor like VS Code.
Documentation options have been moved to a new file
The documentation page specific options have been moved to the config/docs.php
file.
You may need to republish Blade views if you have done so before.
This is also easy to do in a modern code editor. See this example of the search and replace I used
to update the codebase:
hyde.docs_sidebar_header_title
=> docs.header_title
Authors.yml has been removed
The authors.yml and related services have been removed. Define authors in the main Hyde config instead.
Deprecations and removals
The deprecated option named hyde.docs_directory
has been removed.
Use docs.output_directory
instead.
What's Changed
- Refactor configuration to use snake_case for all options, and extract documentation settings to own file by @caendesilva in hydephp/framework#444
- Refactor author configuration system by @caendesilva in hydephp/framework#449
Full Changelog: hydephp/framework@v0.27.12-beta...v0.28.0-beta
v0.27.1-beta - Bump Framework version
About
Service update to include the latest hyde/framework version upon new installs.
What's Changed
Upgrade hyde/framework v0.27.5-beta => v0.27.11-beta
Full Changelog: v0.27.0-beta...v0.27.1-beta
v0.27.0-beta - Sitemaps and RSS feeds
New Features
Adds sitemap.xml generation
When a site_url is set, (and the feature is not disabled in the config), a sitemap.xml will automatically be generated during the static site building process.
Adds RSS feed generation
When enabled, an RSS feed with your Markdown blog posts will be generated when you compile your static site.
Note that this requires that a site_url is set!
'generateRssFeed' => true, // Default is true
A link to the RSS feed is automatically added to blog related pages, and the index page. See example of generated HTML:
<link rel="alternate" type="application/rss+xml" title="HydePHP Canary RSS Feed" href="http://localhost:8080/feed.xml" />
Changes
ext-simplexml
has been added as a requirement tocomposer.json
- The order of page builders have been changed, so that Blade and Markdown pages are compiled first.
This allows you to browse the most common parts of the site (like the index page) while the other
pages are being generated. - Merge "Site URL Configuration" options. Please republish your configs.
- Remove @HydeConfigVersion annotation from config/hyde.php
- Adds page slug property to BladePages for compatibility, fixing bug where Blade pages did not render the canonical link meta tag
Fixes
- Fix bug where categorized documentation sidebar items were not sorted by @caendesilva in hydephp/framework#422
Full changelog: hydephp/framework@v0.26.0-beta...v0.27.5-beta
v0.26.0-beta - "The Meta Update"
About
This release improves how metadata is generated and handled. It contains breaking changes.
Upgrading
Please note that this update contains breaking changes in the config file and blade templates.
To update, you will need to update the config/hyde.php
file, as well as any Blade templates you may have published.
What's Changed
Please see the following pull requests for more detailed information about each.
-
Unify the $page property and add a fluent metadata helper by @caendesilva in hydephp/framework#388
-
Remove redundancy and merge Meta and Metadata models #384 by @caendesilva in hydephp/framework#390
-
Update helper namespaces by @caendesilva in hydephp/framework#395
-
Fix #385: Move page parsers into models/parsers namespace by @caendesilva in hydephp/framework#394
-
Fix #379: Extract menu logo to component by @caendesilva in hydephp/framework#396
-
Fix #398: Remove the deprecated Metadata model by @caendesilva in hydephp/framework#400
New Features
New fluent helper for defining global metadata and open graph properties in config
'meta' => [
Meta::name('foo', 'bar'),
Meta::property('foo', 'bar'),
]
Quickly customize the navigation menu logo
You can now customize the following component to update the navigation menu logo/brand without affecting the navigation menu as a whole
<!-- hyde::components.navigation.navigation-brand -->
<a aria-label="Home page link" href="{{ $homeRoute }}" class="font-bold px-4">
{{ config('hyde.name', 'HydePHP') }}
</a>
Canonical meta/link tags are automatically added when a site base URL is set
<link rel="canonical" href="https://example.org/posts/my-new-blog-post.html" />
API Changes
This list may not be exhaustive, but serves to give a quick overview of internal changes
The Metadata model has been removed, it's features is merged into the Meta helper class.
Some helpers have been moved into the Helper namespace. Like most changes in this release, Blade views and config files need to be updated.
Here is a table over the changes
Old FQCN | New FQCN |
---|---|
Hyde\Framework\Features | Hyde\Framework\Helpers\Features |
Hyde\Framework\Markdown | Hyde\Framework\Helpers\Markdown |
Hyde\Framework\Meta | Hyde\Framework\Helpers\Meta |
Full Changelog: hydephp/framework@v0.25.0-beta...v0.26.0-beta