Sha256: 6e1323bd0d31848a68903257fc940884f487d05c711efed55dfbbf8f23fc1c3a

Contents?: true

Size: 681 Bytes

Versions: 1

Compression:

Stored size: 681 Bytes

Contents

# frozen_string_literal: true

module Jekyll
  module Diagrams
    class VegaBlock < Block
      CONFIGURATIONS = %w[scale].freeze

      def render_svg(code, config)
        code = render_with_stdin_stdout('vl2vg', code) if block_name == 'vegalite'

        command = build_command(config)

        render_with_stdin_stdout(command, code)
      end

      def build_command(config)
        command = +'vg2svg'

        CONFIGURATIONS.each do |conf|
          command << " --#{conf} #{config[conf]}" if config.key?(conf)
        end

        command
      end
    end
  end
end

%i[vega vegalite].each do |tag|
  Liquid::Template.register_tag(tag, Jekyll::Diagrams::VegaBlock)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-diagrams-0.9.2 lib/jekyll-diagrams/vega.rb