[openstreetmap/openstreetmap-website] Add dir="auto" to Markdown content for bidi (PR #5840)
Nitai Sasson
notifications at github.com
Thu Mar 27 22:30:24 UTC 2025
@NeatNit commented on this pull request.
> +
+ "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
+ ret
+ end
+ end
+
+ # only add dir="auto" to bare links
+ def convert_a(el, indent)
+ attr_bak = el.attr.dup
+ el.attr["dir"] = "auto" if !el.attr.key?("dir") && el.attr["href"] == inner(el, indent)
You're right, the autolinker needs to apply `dir="auto"` or `dir="ltr"` too. My code will pretty much only affect links made with the syntax `<https://example.com/>` which is pretty obscure IMHO.
Links with custom text (`[text](url)`) *should not* have `dir`. Links made with linkify need `dir="auto"` to handle cases like these:
מילים https://example.com/משהו/כלשהו
מילים https://example.com/משהו/כלשהו/index.html מילים
מילים https://example.com/ מילים
all of those links should render as isolated LTR. Note that GitHub falls here. Whereas:
מספרים [one וגם two](https://example.com/numbers/) ועוד
the link direction should not be isolated - the word "one" should appear to the right of "two". Result on GitHub is correct.
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/5840#discussion_r2017676461
You are receiving this because you are subscribed to this thread.
Message ID: <openstreetmap/openstreetmap-website/pull/5840/review/2723580422 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20250327/7a81a188/attachment.htm>
More information about the rails-dev
mailing list