Files
news.gitea.happylizard.me/bin/gems/jekyll_plugin_support-3.0.0/CHANGELOG.md
T
pizza2d1 4cee170d66
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s
Add bin and edit workflow
2026-09-16 13:11:16 -06:00

217 lines
6.4 KiB
Markdown

# Change Log
## 3.0.0 / 2025-02-09
* Numbered as v3.0.0 because `jekyll_draft` was at v2.1.0 and the two projects should have similar version numbers.
* `Jekyll_all_collections` was folded into this project.
* Now requires [Jekyll 4.4.1](https://jekyllrb.com/news/2025/01/29/jekyll-4-4-1-released/) or later,
and Ruby 3.2.0 or later
## 1.1.0 / 2025-02-07
* Now replaces include and layout variables with their values
* Renamed `@helper.markup` to `@helper.argument_string`
* Improved `nil` handling throughout
* Added the **Debug Demo production** launch configuration to debug the demo website in production mode
* Added the `bin/release_port` script that kills hung processes being debugged
* Added the `cleanDemo` task for the **Debug Demo production** and **Debug Demo development** tasks
* Many minor improvements to the demo.
* `JekyllSupport::JekyllPluginHelper::register` now accepts a `quiet` option, to suppress the signon message.
Use it like this:
```ruby
JekyllPluginHelper.register(self, 'tag_name', quiet: true)
```
## 1.0.3 / 2024-08-19
* Still fussing with error handling
## 1.0.2 / 2024-08-19
* Computes line_number and path properly
* Refactored demo CSS
* Improved custom plugin error handling and sample code.
The following seems to be optimal for custom plugins; it suppresses the ridiculously long stack trace that used to be generated:
```ruby
begin
# ...
rescue DemoInlineTagError => e # jekyll_plugin_support handles StandardError
@logger.error { e.logger_message }
exit! 1 if @die_on_demo_tag_error
e.html_message
end
```
## 1.0.1 / 2024-07-27
* Moved `warn_short_trace`, `maybe_reraise_error`, `remove_ansi_color`,
`format_error_message` and `exit_without_stack_trace` into `JekyllSupportError`.
* Added missing `shared_include.css` and `clippy.svg` to `demo/`.
* Fixed missing module name when invoking `format_error_message`.
## 1.0.0 / 2024-07-23
* Added the `redef_without_warning` method so tag and block plugins can be subclassed.
* Put most of the functionality into the `JekyllSupport` module.
* Made tag and block code more consistent
## 0.8.6 / 2024-06-11
* Fixup version, containing what was supposed to be in v0.8.5
## 0.8.5 / 2024-03-25
* Empty block tags now return a value. See https://talk.jekyllrb.com/t/empty-liquid-block-not-rendering
## 0.8.4 / 2024-02-27
* Problem in error handler fixed.
* A warning is logged if an environment variable is undefined and `die_if_undefined` is not set.
## 0.8.3 / 2024-01-05
* Variables defined in front matter of layouts and pages are now handled.
## 0.8.2 / 2024-01-03
* `JekyllSupport::JekyllBlock` and `JekyllSupport::JekyllTag` subclasses now have automatically created error classes,
named after the subclass.
* Error class methods have been provided for standardized and convenient error handling:
* `shorten_backtrace`
* `logger_message`
* `html_message`
* Tags now self-report when registered.
## 0.8.1 / 2023-12-10
* Added the `JekyllPluginHelper.remove_html_tags` method.
## 0.8.0 / 2023-11-14
* Restructured for better support of Liquid variables.
* Removed redundant class name in error message.
* Improved handling of StandardError.
* Demo site now shows how to define and handle custom errors.
* Added `@tag_config` variable, which can be inspected to determine whether to die on various types of exceptions.
* Added `format_error_message`, `maybe_reraise_error`, and `raise_error` to `JekyllBlock` and `JekyllTag`
* Adds a method called `shorten_backtrace` to `StandardError` and all custom error
classes defined by `JekyllSupport.define_error`.
See the `demo/` directory for examples of how to use this optional feature.
* The `plugin-vars` section in `_config.yml` was renamed to `liquid_vars`.
## 0.7.2 / 2023-08-14
* Hopefully takes care of issue [#4](../../issues/4).
## 0.7.1 / 2023-08-11
* Suppressed stack trace from issue [#4](../../issues/4).
* Now using Shopify `ruby-lsp` instead of `rebornix.Ruby` by Peng Lv
* Debug configurations changed to `rdbg` instead of `ruby`, so the `debase` development dependency was changed to
[`debug`](https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg),
which provides the `rdgb` command.
The `ruby-debug-ide` development dependency is also no longer required.
## 0.7.0 / 2023-05-22
* Added `error_short_trace` and `warn_short_trace` methods for displaying non-fatal errors on the console.
## 0.6.2 / 2023-05-15
* Removed annoying blank line output when attribute was invoked.
## 0.6.1 / 2023-04-12
* Added `CallChain.excerpt_caller` to detect if an excerpt is being generated.
## 0.6.0 / 2023-04-05
* Added attribution support
* Renamed `jekyll_plugin_support_helper.rb` to `jekyll_plugin_helper.rb`.
* Now returns `undefined` instead of `false'` when `@keys_values.empty?`
and parameter is not specified.
## 0.5.3 / 2023-03-19
* Added properties `argv_original`, `keys_values_original`, `remaining_markup_original`,
and `params_original`, which are the original values of `argv`, `keys_values`,
`remaining_markup`, and `params`, before environment variable expansion.
## 0.5.2 / 2023-03-17
* Added `@helper.remaining_markup` public method, which returns remaining markup passed to your tag,
after keyword and name/value parsing is complete.
* Finally wrote proper `rspec` tests.
* Finally documented argument parsing.
* Fixed bug introduced in v0.5.1 which did not remove elements from `@params`.
## 0.5.1 / 2023-02-17
* `no_arg_parsing` optimization added.
## 0.5.0 / 2023-02-15
* Plugins now register themselves
* Plugins now report their name and version
* `@layout`, `@paginator`, and `@theme` have values if supported by the version of Jekyll, and they are active.
(See [Jekyll docs](https://jekyllrb.com/docs/variables/).)
## 0.4.1 / 2023-02-14
* Fixed several problems
* Added demo site
## 0.4.0 / 2023-02-12
* `render_impl` for tags and blocks now predefines more instance variables:
* `@liquid_context` – passed to `render`
* `@config` Jekyll configuration
* `@envs` Environment variables
* `@mode` ('development', 'test' or 'production')
## 0.3.1 / 2023-02-07
* `JekyllBlock.render_impl` and `JekyllTag.render_impl` now define `@page` and `@site`.
## 0.3.0 / 2023-01-14
* Added support for tags, which should subclass JekyllSupport::JekyllTag
## 0.2.0 / 2023-01-12
* Refactored
## 0.1.0 / 2023-01-10
* Initial version; only supports Jekyll block tags