- Added
@jekyll_versioninstance variable exposing raw HTML content of the page being processed - Added
@raw_contentinstance variable exposing raw HTML content of the page being processed
- Modified
JekyllPluginHelper.expand_envto only expand Bash environment variables ($VARor${VAR}), not Windows environment variables (%VAR%) - Removed the
use_wslvarparameter fromJekyllPluginHelper.expand_envmethod signature env_var_expand_windowsremains available for plugins that specifically need Windows environment variable expansion
- Support for Claude CLI is
provided in the
.claudedirectory. This was implemented so it would work with other LLMs, for example Cursor and MiniMax Mini-Agent. JekyllPluginHelper.env_var_expand_windowsexpands Windows environment variables (surrounded by%characters) using a case-insensitive search, which also works when running on Linux and macOS. This is used byjekyll_flexible_include_plugin.JekyllPluginHelper.wsl_detected?detects if Jekyll is running under WSL- Changed
JekyllPluginHelper.initializeto makeno_arg_parsinga keyword argument. - Now requires
jekyll_draftusingGemfileinstead of the gemspec, to avoid a warning when runningbundle install. - Handles
includevariables with types other thanString.
- Now looks up Windows environment variables (surrounded by
%characters). An error is generated for undefined variables.
- Added attribute
orderand methodfieldto supportjekyll_outline. - Added another constructor for
AllCollectionsHooks::APage, calledapage_from. - Added new method
new_attributeto moduleJekyllSupport. - The displayed date field (
:dateor:last_modified) now defaults to the primary sort field. - Modified specs tests.
- Jekyll tag
AllCollectionsTagnow accepts an optional parameter calledcollection_name, which filters the selected data source. A warning is logged if the data source is anything butall_collections. - Moved
APageand its constructors to theJekyllCollectionsmodule.
- Numbered as v3.0.0 because
jekyll_draftwas at v2.1.0 and the two projects should have similar version numbers. Jekyll_all_collectionswas folded into this project.- Now requires Jekyll 4.4.1 or later, and Ruby 3.2.0 or later
- Now replaces include and layout variables with their values
- Renamed
@helper.markupto@helper.argument_string - Improved
nilhandling throughout - Added the Debug Demo production launch configuration to debug the demo website in production mode
- Added the
bin/release_portscript that kills hung processes being debugged - Added the
cleanDemotask for the Debug Demo production and Debug Demo development tasks - Many minor improvements to the demo.
JekyllPluginHelper.registernow accepts aquietoption to suppress the signon message
- Still fussing with error handling
- Computes line_number and path properly
- Refactored demo CSS
- Improved custom plugin error handling and sample code
- Moved
warn_short_trace,maybe_reraise_error,remove_ansi_color,format_error_messageandexit_without_stack_traceintoJekyllSupportError. - Added missing
shared_include.cssandclippy.svgtodemo/. - Fixed missing module name when invoking
format_error_message.
- Added the
redef_without_warningmethod so tag and block plugins can be subclassed. - Put most of the functionality into the
JekyllSupportmodule. - Made tag and block code more consistent
- Fixup version, containing what was supposed to be in v0.8.5
- Empty block tags now return a value. See https://talk.jekyllrb.com/t/empty-liquid-block-not-rendering
- Problem in error handler fixed.
- A warning is logged if an environment variable is undefined and
die_if_undefinedis not set.
- Variables defined in front matter of layouts and pages are now handled.
JekyllSupport::JekyllBlockandJekyllSupport::JekyllTagsubclasses now have automatically created error classes, named after the subclass.- Error class methods have been provided for standardized and convenient error handling:
shorten_backtracelogger_messagehtml_message
- Tags now self-report when registered.
- Added the
JekyllPluginHelper.remove_html_tagsmethod.
- 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_configvariable, which can be inspected to determine whether to die on various types of exceptions. - Added
format_error_message,maybe_reraise_error, andraise_errortoJekyllBlockandJekyllTag - Added
shorten_backtraceto StandardError and all custom error classes defined byJekyllSupport.define_error - The
plugin-varssection in_config.ymlwas renamed toliquid_vars
- Hopefully takes care of issue #4.
- Suppressed stack trace from issue #4.
- Now using Shopify
ruby-lspinstead ofrebornix.Rubyby Peng Lv - Debug configurations changed to
rdbginstead ofruby, so thedebasedevelopment dependency was changed todebug - The
ruby-debug-idedevelopment dependency is no longer required
- Added
error_short_traceandwarn_short_tracemethods for displaying non-fatal errors on the console.
- Removed annoying blank line output when attribute was invoked.
- Added
CallChain.excerpt_callerto detect if an excerpt is being generated.
- Added attribution support
- Renamed
jekyll_plugin_support_helper.rbtojekyll_plugin_helper.rb. - Now returns
undefinedinstead offalse'when@keys_values.empty?and parameter is not specified.
- Added properties
argv_original,keys_values_original,remaining_markup_original, andparams_original, which are the original values ofargv,keys_values,remaining_markup, andparams, before environment variable expansion.
- Added
@helper.remaining_markuppublic method, which returns remaining markup passed to your tag, after keyword and name/value parsing is complete.- Finally wrote proper
rspectests. - Finally documented argument parsing.
- Fixed bug introduced in v0.5.1 which did not remove elements from
@params.
- Finally wrote proper
no_arg_parsingoptimization added.
- Plugins now register themselves
- Plugins now report their name and version
@layout,@paginator, and@themehave values if supported by the version of Jekyll, and they are active. (See Jekyll docs.)
- Fixed several problems
- Added demo site
-
render_implfor tags and blocks now predefines more instance variables:@liquid_context– passed torender@configJekyll configuration@envsEnvironment variables@mode('development', 'test' or 'production')
JekyllBlock.render_implandJekyllTag.render_implnow define@pageand@site.
- Added support for tags, which should subclass JekyllSupport::JekyllTag
- Refactored
- Initial version; only supports Jekyll block tags