Class: JekyllImgFlow::Tags::WatermarkTag

Inherits:
BaseTag
  • Object
show all
Defined in:
lib/jekyll-imgflow/tags/watermark_tag.rb

Overview

Watermark tag - validates and processes watermark operations

Instance Method Summary collapse

Methods inherited from BaseTag

#initialize

Constructor Details

This class inherits a constructor from JekyllImgFlow::Tags::BaseTag

Instance Method Details

#process(input_path, output_path, options = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/jekyll-imgflow/tags/watermark_tag.rb', line 9

def process(input_path, output_path, options = {})
  ensure_output_dir(output_path)

  watermark_path = options[:watermark]
  position = options[:position] || :bottom_right
  opacity = options[:opacity] || 0.7

  # Validate and translate position for providers
  translated_position = translate_watermark_position(position)
  translated_opacity = validate_opacity(opacity)

  @provider.add_watermark(watermark_path, position: translated_position,
                                          opacity: translated_opacity)
  @provider.execute(input_path, output_path)
  output_path
end