- Now replaces include and layout variables with their values
- Renamed @helper.markup to @helper.argument_string
JekyllSupport::JekyllPluginHelper::register
now accepts aquiet
option, 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. The following seems to be optimal for custom plugins; it suppresses the ridiculously long stack trace that used to be generated:
rescue DemoInlineTagError => e # jekyll_plugin_support handles StandardError @logger.error { e.logger_message } exit! 1 if @die_on_demo_tag_error e.html_message
- Moved
warn_short_trace
,maybe_reraise_error
,remove_ansi_color
,format_error_message
andexit_without_stack_trace
intoJekyllSupportError
. - Added missing
shared_include.css
andclippy.svg
todemo/
. - Fixed missing module name when invoking
format_error_message
.
- 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
- 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_undefined
is not set.
- Variables defined in front matter of layouts and pages are now handled.
JekyllSupport::JekyllBlock
andJekyllSupport::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.
- Added the
JekyllPluginHelper.remove_html_tags
method.
- 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
, andraise_error
toJekyllBlock
andJekyllTag
- Adds a method called
shorten_backtrace
toStandardError
and all custom error classes defined byJekyllSupport.define_error
. See thedemo/
directory for examples of how to use this optional feature. - The
plugin-vars
section in_config.yml
was renamed toliquid_vars
.
- Hopefully takes care of issue #4.
- Suppressed stack trace from issue #4.
- Now using Shopify
ruby-lsp
instead ofrebornix.Ruby
by Peng Lv - Debug configurations changed to
rdbg
instead ofruby
, so thedebase
development dependency was changed todebug
, which provides therdgb
command. Theruby-debug-ide
development dependency is also no longer required.
- Added
error_short_trace
andwarn_short_trace
methods for displaying non-fatal errors on the console.
- Removed annoying blank line output when attribute was invoked.
- Added
CallChain.excerpt_caller
to detect if an excerpt is being generated.
- Added attribution support
- Renamed
jekyll_plugin_support_helper.rb
tojekyll_plugin_helper.rb
. - Now returns
undefined
instead 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_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
.
- Finally wrote proper
no_arg_parsing
optimization added.
- 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.)
- Fixed several problems
- Added demo site
-
render_impl
for tags and blocks now predefines more instance variables:@liquid_context
– passed torender
@config
Jekyll configuration@envs
Environment variables@mode
('development', 'test' or 'production')
JekyllBlock.render_impl
andJekyllTag.render_impl
now define@page
and@site
.
- Added support for tags, which should subclass JekyllSupport::JekyllTag
- Refactored
- Initial version; only supports Jekyll block tags