Sha256: 196c1477e0450d4acb177348c12687d1fe0190cfa32c38b50c0e75d3da0bf669
Contents?: true
Size: 419 Bytes
Versions: 4
Compression:
Stored size: 419 Bytes
Contents
# frozen_string_literal: true module Components class CodeBlock < Phlex::HTML FORMATTER = Rouge::Formatters::HTML.new def initialize(code, syntax:) @code = code @syntax = syntax end def template pre(class: "highlight p-5 whitespace-pre-wrap bg-stone-50") { unsafe_raw FORMATTER.format( lexer.lex(@code) ) } end private def lexer Rouge::Lexer.find(@syntax) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
phlex-0.5.3 | docs/components/code_block.rb |
phlex-0.5.2 | docs/components/code_block.rb |
phlex-0.5.1 | docs/components/code_block.rb |
phlex-0.5.0 | docs/components/code_block.rb |