Make sanitize convert text alignment styles to bootstrap classes
The kramdown converter for markdown uses inline styles for table column alignment which gets lost when we strip the styles so add bootstrap classes to replace it.
This commit is contained in:
parent
fbbcbf5c63
commit
f42a7a2d8d
1 changed files with 13 additions and 1 deletions
|
@ -3,10 +3,22 @@ Sanitize::Config::OSM = Sanitize::Config.merge(
|
|||
:elements => Sanitize::Config::RELAXED[:elements] - %w[div style],
|
||||
:remove_contents => %w[script style],
|
||||
:transformers => lambda do |env|
|
||||
style = env[:node]["style"] || ""
|
||||
|
||||
env[:node].remove_class
|
||||
env[:node].kwattr_remove("style", nil)
|
||||
env[:node].remove_attribute("style")
|
||||
|
||||
env[:node].add_class("table table-sm w-auto") if env[:node_name] == "table"
|
||||
|
||||
case style
|
||||
when /\btext-align:\s+left\b/
|
||||
env[:node].add_class("text-start")
|
||||
when /\btext-align:\s+center\b/
|
||||
env[:node].add_class("text-center")
|
||||
when /\btext-align:\s+right\b/
|
||||
env[:node].add_class("text-end")
|
||||
end
|
||||
|
||||
if env[:node_name] == "a"
|
||||
rel = env[:node]["rel"] || ""
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue