Module: Sourcerer::Jekyll

Defined in:
lib/sourcerer/jekyll.rb,
lib/sourcerer/jekyll/liquid/tags.rb,
lib/sourcerer/jekyll/bootstrapper.rb,
lib/sourcerer/jekyll/monkeypatches.rb,
lib/sourcerer/jekyll/liquid/filters.rb,
lib/sourcerer/jekyll/liquid/file_system.rb

Overview

This module encapsulates the logic for initializing a Jekyll-like Liquid templating environment. It loads necessary plugins, applies monkeypatches, and registers custom Liquid filters and tags.

Defined Under Namespace

Modules: Bootstrapper, Liquid, Monkeypatches

Class Method Summary collapse

Class Method Details

.initialize_liquid_runtimeObject

Initializes the Liquid templating runtime by loading plugins, applying patches, and registering custom filters.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/sourcerer/jekyll.rb', line 17

def self.initialize_liquid_runtime
  Bootstrapper.load_plugins
  Monkeypatches.patch_jekyll

  # Registration order matters: Liquid's Strainer `include`s each module in
  # turn, so a later registration wins over an earlier one for any
  # same-named filter method. Sourcerer's filters register LAST so that,
  # e.g., its `inspect` (which adds a `format` argument) overrides
  # Jekyll's `inspect` rather than being shadowed by it.
  # Ensure Jekyll filters are registered
  ::Liquid::Template.register_filter(::Jekyll::Filters)
  # Ensure jekyll-asciidoc filters are registered
  ::Liquid::Template.register_filter(::Jekyll::AsciiDoc::Filters)
  # Ensure Sourcerer filters are registered (last, so they can override)
  ::Liquid::Template.register_filter(::Sourcerer::Jekyll::Liquid::Filters)
  # Ensure Sourcerer tags are registered
  ::Liquid::Template.register_tag('embed', ::Sourcerer::Jekyll::Liquid::Tags::EmbedTag)
end