NeatNit left a comment (openstreetmap/openstreetmap-website#5840)
> This is a version that modifies the document, consisting of replaced
> `document` method, assuming we don't need to add `dir` on inline elements:
>
> ```ruby
> def document
> return @document if @document
>
> @document = Kramdown::Document.new(self)
>
> add_dir = lambda do |element|
> target_types = %w[p header pre codeblock ul ol table dl math]
> element.attr["dir"] ||= "auto" if target_types.include?(element.type
> == :html_element ? element.value : element.type.to_s)
> element.children.each(&add_dir)
> end
> add_dir.call(@document.root)
>
> @document
> end
> ```
Thank you, I want to use this method instead of mine. Just a couple of
questions:
Is it good practice to use a lambda like that? Wouldn't it be better to define
a function normally and call that? (I'm a Ruby newbie, but this seems a bit
strange to me)
And, is `element.type == :html_element` supposed to catch elements written as
HTML within the Markdown source? In which case I think we should not add
`dir="auto"` - if the user crafts their own HTML for whatever reason, we
shouldn't change their work.
----
I will not be able to make modifications to the code for the next few days
(until Tuesday or Wednesday, most likely), but I'd like to do this:
- [ ] Modify document upon creation instead of deriving a converter (i.e. what
I replied to just now)
- [ ] Make `linkify` add `dir="ltr"` to links - this would also affect
changeset comments and the like
- [ ] Made triple sure that links made with `<URL>` markdown syntax actually
get `dir="auto"` - I did not test this enough and it likely fails in some
cases. Namely when the URL contains Unicode characters and they get replaced by
`%D7%90` or whatever.
I'll make these changes as soon as I can, next week. If any more feedbacks
comes up I'll handle it too.
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/5840#issuecomment-2759773367
You are receiving this because you are subscribed to this thread.
Message ID:
<openstreetmap/openstreetmap-website/pull/5840/c2759773...@github.com>
_______________________________________________
rails-dev mailing list
rails-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/rails-dev