Sha256: 798563d2deb9233317fc4dc2af1b95639c673d7a1f326ab0d3c41f318687ad37
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
# typed: strict # frozen_string_literal: true module Bhook class Theme extend T::Sig sig { params(theme_path: String).void } def initialize(theme_path) @page_template = T.let(File.read(File.join(theme_path, 'page.erb')), String) @after_h1_template = T.let(File.read(File.join(theme_path, '_after_h1.erb')), String) strategy = ->(binding_instance) { ERB.new(@after_h1_template, trim_mode: '-').result(binding_instance) } @after_h1_strategy = T.let(strategy, T.proc.params(binding_instance: Binding).returns(String)) end sig { params(md: String, src_file_sha: T.nilable(String), src_file_date: T.nilable(String), file_url: T.nilable(String)).returns(String) } def render_page(md, src_file_sha, src_file_date, file_url) src_title = T.let('', String) doc = Kramdown::Document.new(md) output, warnings = Converter::Html.convert(doc.root, doc.options.merge( after_h1_strategy: @after_h1_strategy, h1_callback: ->(str) { src_title = str } )) ERB.new(@page_template, trim_mode: '-').result(binding) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bhook-0.1.6 | lib/bhook/theme.rb |
bhook-0.1.5 | lib/bhook/theme.rb |
bhook-0.1.4 | lib/bhook/theme.rb |