Module: Klods::Components::Code

Included in:
Builders
Defined in:
lib/klods/components/code.rb

Instance Method Summary collapse

Instance Method Details

#code_block(a = nil, b = nil) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/klods/components/code.rb', line 4

def code_block(a = nil, b = nil)
  props, content = Core.normalize_args(a, b)
  props = props.transform_keys(&:to_s)
  extra_class = props.delete("class")
  cls = Core.class_names("klods-pre", Core.resolve_class(extra_class))
  attrs = props.merge("class" => cls.empty? ? nil : cls).compact
  Core.el("pre", attrs, Core.el("code", {}, content))
end

#inline_code(a = nil, b = nil) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/klods/components/code.rb', line 13

def inline_code(a = nil, b = nil)
  props, content = Core.normalize_args(a, b)
  props = props.transform_keys(&:to_s)
  extra_class = props.delete("class")
  cls = Core.class_names("klods-code", Core.resolve_class(extra_class))
  attrs = props.merge("class" => cls.empty? ? nil : cls).compact
  Core.el("code", attrs, content)
end

#kbd(a = nil, b = nil) ⇒ Object



22
23
24
25
# File 'lib/klods/components/code.rb', line 22

def kbd(a = nil, b = nil)
  props, children = Core.normalize_args(a, b)
  Core.build(tag: "kbd", base: "klods-kbd", props: props, children: children)
end

#samp(a = nil, b = nil) ⇒ Object



27
28
29
30
# File 'lib/klods/components/code.rb', line 27

def samp(a = nil, b = nil)
  props, children = Core.normalize_args(a, b)
  Core.build(tag: "samp", base: "klods-samp", props: props, children: children)
end

#var_el(a = nil, b = nil) ⇒ Object



32
33
34
35
# File 'lib/klods/components/code.rb', line 32

def var_el(a = nil, b = nil)
  props, children = Core.normalize_args(a, b)
  Core.build(tag: "var", base: "klods-var", props: props, children: children)
end