Module: JekyllIS::Images::Hooks
- Defined in:
- lib/jekyll-is/images/hooks.rb
Class Method Summary collapse
- .init_hooks(site) ⇒ void private
Class Method Details
.init_hooks(site) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/jekyll-is/images/hooks.rb', line 16 def init_hooks site Jekyll::Hooks::register [ :pages, :documents ], :pre_render do |page, _| unless page.data.dig('is_images', 'disable') JekyllIS::Images::Image::replace_page_image site, page end end Jekyll::Hooks::register [ :pages, :documents ], :post_parse do |page, document| unless page.data.dig('is_images', 'disable') processor = JekyllIS::Images::Kramdown::Processor::new site, page processor.process document.root end end Jekyll::Hooks::register [ :pages, :documents ], :post_render do |page, _| unless page.data.dig('is_images', 'disable') context = JekyllIS::Images::Context[site, page] # Следует использовать is_images.disable_auto_stuff для того, чтобы те же самые линки разместить # самостоятельно в шаблонах. Просто не использовать их при включенном плагие в целом — не имеет # смысла. unless context.config('disable_auto_stuff') page.output.sub! '</head>', "#{ JekyllIS::Images::Assets::stuff(context) }\n</head>" end end end Jekyll::Hooks::register :site, :after_reset do |site| context = JekyllIS::Images::Context[site, nil] if File.directory?(site.in_source_dir(".jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown")) JekyllIS::Images::Image::Cache::restore_static_files context end JekyllIS::Images::Assets::register context end Jekyll::Hooks::register :site, :post_write do |site| context = JekyllIS::Images::Context[site, nil] is_live = site.config['watch'] || site.config['serving'] || site.incremental? || JekyllIS::Images.cached_environment cache_path = site.in_source_dir context.cache_path if !is_live && File.directory?(cache_path) JekyllIS::Images::Image::Cache::clean_unused_files context end end end |