Module: Shellfie

Defined in:
lib/shellfie.rb,
lib/shellfie/cli.rb,
lib/shellfie/config.rb,
lib/shellfie/errors.rb,
lib/shellfie/parser.rb,
lib/shellfie/version.rb,
lib/shellfie/cli_info.rb,
lib/shellfie/renderer.rb,
lib/shellfie/theme_data.rb,
lib/shellfie/ansi_colors.rb,
lib/shellfie/ansi_parser.rb,
lib/shellfie/gif_palette.rb,
lib/shellfie/line_layout.rb,
lib/shellfie/themes/base.rb,
lib/shellfie/cli_generate.rb,
lib/shellfie/text_metrics.rb,
lib/shellfie/themes/macos.rb,
lib/shellfie/font_resolver.rb,
lib/shellfie/gif_generator.rb,
lib/shellfie/output_writer.rb,
lib/shellfie/themes/ubuntu.rb,
lib/shellfie/raster_painter.rb,
lib/shellfie/render_segment.rb,
lib/shellfie/theme_registry.rb,
lib/shellfie/ansi_normalizer.rb,
lib/shellfie/config_defaults.rb,
lib/shellfie/format_resolver.rb,
lib/shellfie/render_geometry.rb,
lib/shellfie/ansi_line_buffer.rb,
lib/shellfie/config_validation.rb,
lib/shellfie/parser_validation.rb,
lib/shellfie/themes/configured.rb,
lib/shellfie/animation_timeline.rb,
lib/shellfie/dependency_checker.rb,
lib/shellfie/svg_raster_wrapper.rb,
lib/shellfie/render_chrome_cache.rb,
lib/shellfie/rendering/text_painter.rb,
lib/shellfie/animation_frame_builder.rb,
lib/shellfie/animation_scroll_easing.rb,
lib/shellfie/headless_theme_registry.rb,
lib/shellfie/rendering/shape_helpers.rb,
lib/shellfie/rendering/window_chrome.rb,
lib/shellfie/themes/windows_terminal.rb,
lib/shellfie/image_magick_command_builder.rb

Defined Under Namespace

Modules: AnsiColors, AnsiNormalizer, CLIGenerate, CLIInfo, ConfigDefaults, ConfigValidation, ParserValidation, Rendering, TextMetrics, Themes Classes: AnimationFrameBuilder, AnimationScrollEasing, AnimationTimeline, AnsiLineBuffer, AnsiParser, CLI, Config, ConfigError, DependencyChecker, DependencyError, Error, FileSystemError, FontError, FontResolver, FormatResolver, Frame, GifGenerator, GifPalette, HeadlessThemeRegistry, ImageError, ImageMagickCommandBuilder, Line, LineLayout, OutputWriter, ParseError, Parser, RasterPainter, RenderChromeCache, RenderError, RenderGeometry, RenderSegment, Renderer, ResourceLimitError, Segment, SvgRasterWrapper, ThemeData, ThemeRegistry, ValidationError

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.inspect_config(source, scale: 1, shadow: true) ⇒ Object



41
42
43
44
45
# File 'lib/shellfie.rb', line 41

def inspect_config(source, scale: 1, shadow: true)
  config = parse(source)
  geometry = Renderer.new(config).estimate(scale: scale, shadow: shadow)
  { config: config.to_h, theme: config.theme, geometry: geometry }
end

.parse(source) ⇒ Object



21
22
23
# File 'lib/shellfie.rb', line 21

def parse(source)
  Parser.parse(source)
end

.render(config_or_source, output:, animate: nil, scale: 1, shadow: true, transparent: false, format: nil) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/shellfie.rb', line 30

def render(config_or_source, output:, animate: nil, scale: 1, shadow: true, transparent: false, format: nil)
  config = config_or_source.is_a?(Config) ? config_or_source : parse(config_or_source)
  animated = animate.nil? ? config.animated? : animate

  if animated
    GifGenerator.new(config).generate(output, scale: scale, shadow: shadow, transparent: transparent, format: format)
  else
    Renderer.new(config).render(output, scale: scale, shadow: shadow, transparent: transparent, format: format)
  end
end

.validate(source) ⇒ Object



25
26
27
28
# File 'lib/shellfie.rb', line 25

def validate(source)
  parse(source)
  true
end