diff options
author | Ebrahim Byagowi <ebrahim@gnu.org> | 2016-09-11 19:08:09 +0300 |
---|---|---|
committer | Ebrahim Byagowi <ebrahim@gnu.org> | 2016-10-16 17:17:48 +0300 |
commit | 7e3ff1852340c33f5b8853190d6a24813d5920a2 (patch) | |
tree | 8bd56b5bbe2524599b8282303455954669d4f795 /lib | |
parent | 94c9dc514c54badbefb5e4e45bcf3650c0d0b83d (diff) |
Add RTL support to markdown renderer
Diffstat (limited to 'lib')
-rw-r--r-- | lib/banzai/filter/set_direction_filter.rb | 15 | ||||
-rw-r--r-- | lib/banzai/pipeline/gfm_pipeline.rb | 4 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lib/banzai/filter/set_direction_filter.rb b/lib/banzai/filter/set_direction_filter.rb new file mode 100644 index 00000000000..c2976aeb7c6 --- /dev/null +++ b/lib/banzai/filter/set_direction_filter.rb @@ -0,0 +1,15 @@ +module Banzai + module Filter + # HTML filter that sets dir="auto" for RTL languages support + class SetDirectionFilter < HTML::Pipeline::Filter + def call + # select these elements just on top level of the document + doc.xpath('p|h1|h2|h3|h4|h5|h6|ol|ul[not(@class="section-nav")]|blockquote|table').each do |el| + el['dir'] = 'auto' + end + + doc + end + end + end +end diff --git a/lib/banzai/pipeline/gfm_pipeline.rb b/lib/banzai/pipeline/gfm_pipeline.rb index 8d94b199c66..5da2d0b008c 100644 --- a/lib/banzai/pipeline/gfm_pipeline.rb +++ b/lib/banzai/pipeline/gfm_pipeline.rb @@ -25,7 +25,9 @@ module Banzai Filter::MilestoneReferenceFilter, Filter::TaskListFilter, - Filter::InlineDiffFilter + Filter::InlineDiffFilter, + + Filter::SetDirectionFilter ] end |