Sha256: c0b8997e424e77de44437f2fba835e79ab26eb00d89f9ee5a0874def9c9b19ad

Contents?: true

Size: 889 Bytes

Versions: 10

Compression:

Stored size: 889 Bytes

Contents

require 'rouge'

module Snuffle
  module Formatters

    class Html

      include Formatters::Base

      def formatter
        Rouge::Formatters::HTML.new(css_class: 'highlight', line_numbers: true)
      end

      def lexer
        lexer = Rouge::Lexers::Ruby.new
      end

      def content
        Haml::Engine.new(output_template).render(
          Object.new, {
            summary: summary,
            source_lines: preprocessed,
            date: Time.now.strftime("%Y/%m/%d"),
            time: Time.now.strftime("%l:%M %P")
          }
        )
      end

      def output_template
        File.read(File.dirname(__FILE__) + "/templates/output.html.haml")
      end

      def preprocessed
        formatter.format(lexer.lex(source))
      end

      def root_path
        "doc/snuffle/source"
      end

      def file_extension
        ".htm"
      end

    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
snuffle-0.14.2 lib/snuffle/formatters/html.rb
snuffle-0.14.1 lib/snuffle/formatters/html.rb
snuffle-0.14.0 lib/snuffle/formatters/html.rb
snuffle-0.13.0 lib/snuffle/formatters/html.rb
snuffle-0.12.2 lib/snuffle/formatters/html.rb
snuffle-0.12.1 lib/snuffle/formatters/html.rb
snuffle-0.12.0 lib/snuffle/formatters/html.rb
snuffle-0.11.1 lib/snuffle/formatters/html.rb
snuffle-0.10.1 lib/snuffle/formatters/html.rb
snuffle-0.9.1 lib/snuffle/formatters/html.rb