@tomhughes commented on this pull request.
> + # "li", # child; sometimes container
+
+ "table", # similar to Discourse, where the <div> parent of <table>
gets dir="auto" (no parent div in kramdown)
+ # "td", # child
+ # "th", # child; not actually a thing in kramdown but hypothetically
might be in the future
+
+ "dl",
+ # "dd", "dt", # child - since it's similar to a list, it has the same
behavior as a list
+
+ "math" # don't know how this ends up, but dir="auto" is probably
correct
+ ].each do |name|
+ define_method :"convert_#{name}" do |el, indent|
+ attr_bak = el.attr.dup # can't avoid mutating the attr hash, so make
a backup
+ el.attr["dir"] = "auto" unless el.attr.key?("dir") # if by some
miracle dir is already defined, don't override it
+ ret = super(el, indent)
+ el.attr.replace(attr_bak) # restore backup
What happens if we don't restore the original attributes? Does the element get
reused in a way that breaks things?
I can't say for sure as I couldn't find anything that broke when that restore
was removed but would just doing `el = el.dup` as the first thing to duplicate
the element be a workable alternative?
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/5840#pullrequestreview-2718316456
You are receiving this because you are subscribed to this thread.
Message ID:
<openstreetmap/openstreetmap-website/pull/5840/review/2718316...@github.com>
_______________________________________________
rails-dev mailing list
rails-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/rails-dev