Add RTL support (BIDI) #575

Chiuso
aperto 5 anni fa da ahangarha · 8 commenti
ahangarha 5 anni fa ha commentato (Migrato da github.com)

Plume simply is LTR suited. It doesn't follow direction based on the language. Therefore, If a post be made in RTL languages (such as Persian, Arabic, Urdu or Hebrew) the text is still shown in LTR. I just tested it on http://fediverse.blog/ and the result is as following:

RTL problem on plume v0.3.0

  • Plume version: Plume 0.3.0
  • Web Browser: Firefox 66.0.4
Plume simply is LTR suited. It doesn't follow direction based on the language. Therefore, If a post be made in RTL languages (such as Persian, Arabic, Urdu or Hebrew) the text is still shown in LTR. I just tested it on http://fediverse.blog/ and the result is as following: ![RTL problem on plume v0.3.0](https://user-images.githubusercontent.com/11241315/57585212-1edda900-74fa-11e9-9096-a35456476817.png) - **Plume version:** Plume 0.3.0 - **Web Browser:** Firefox 66.0.4
ahangarha 5 anni fa ha commentato (Migrato da github.com)

I tried to work on this issue. I need some help with understanding template in rust. I couldn't figure out where to find related stuff to@Html(&article.content) which is in templates/posts/details.rs.html.

Moreover, I couldn't find the workflow for building and testing the project after committing changes.

I do appreciate any help. Otherwise, it seems I cannot continue!

I tried to work on this issue. I need some help with understanding template in rust. I couldn't figure out where to find related stuff to`@Html(&article.content)` which is in `templates/posts/details.rs.html`. Moreover, I couldn't find the workflow for building and testing the project after committing changes. I do appreciate any help. Otherwise, it seems I cannot continue!
trinity-1686a 5 anni fa ha commentato
Proprietario

Html(..) means whatever is inside won't get escaped so there can be html content in it (otherwise pictures, links and so on would be escaped instead of shown properly). article is a Post structure (defined in plume-models/src/posts.rs around line 40), and content is it's field containing the html-rendered body of the article. I think your best bet would be to add dir="auto" to the surrounding <article>, if there is need for more changes it will probably be in the Rust part.

If you have installed a test instance, to rebuild, just stop the running one and run cargo run, it will recompile what needs to. The other (maybe easier way) is to make a pull request. After a few minutes it should appear here, and it will be updated with each new commit you push

`Html(..)` means whatever is inside won't get escaped so there can be html content in it (otherwise pictures, links and so on would be escaped instead of shown properly). `article` is a `Post` structure (defined in plume-models/src/posts.rs around line 40), and `content` is it's field containing the html-rendered body of the article. I think your best bet would be to add `dir="auto"` to the surrounding `<article>`, if there is need for more changes it will probably be in the Rust part. If you have installed a test instance, to rebuild, just stop the running one and run `cargo run`, it will recompile what needs to. The other (maybe easier way) is to make a pull request. After a few minutes it should appear [here](https://pr-list.joinplu.me/), and it will be updated with each new commit you push
ahangarha 5 anni fa ha commentato (Migrato da github.com)

Actually adding dir="auto" would make whole of the article follow direction based on the first letter on the article. As per my experience, this is not going to work properly. I have already put it for H1 and H2, but it should be added to each and every paragraph tags in the post content.

This is the result of applying dir=auto to article tag:

applying dir=auto to article tag

If I be right, this should be handled from markdown interpreter. Right?

For test, I can send WIP PR. would it work?

Actually adding `dir="auto"` would make whole of the article follow direction based on the first letter on the article. As per my experience, this is not going to work properly. I have already put it for H1 and H2, but it should be added to each and every paragraph tags in the post content. This is the result of applying `dir=auto` to article tag: ![applying `dir=auto` to article tag](https://user-images.githubusercontent.com/11241315/57635775-1601db80-75bd-11e9-9d7d-1f428214e796.png) If I be right, this should be handled from markdown interpreter. Right? For test, I can send WIP PR. would it work?
trinity-1686a 5 anni fa ha commentato
Proprietario

I think you are right.
Yes you can make WIP PR, just write it's WIP in the title or the first message so we know it's not ready for review yet :)

I think you are right. Yes you can make WIP PR, just write it's WIP in the title or the first message so we know it's not ready for review yet :)
ahangarha 5 anni fa ha commentato (Migrato da github.com)

So I will apply dir="auto" to article for the time being till we can solve this issue permanently.

So I will apply `dir="auto"` to article for the time being till we can solve this issue permanently.
ahangarha 5 anni fa ha commentato (Migrato da github.com)

May you guide me for this issue: where is the MD to HTML engine? I need to work on that to add bidi support. Logically it is out of this project, but where?

May you guide me for this issue: where is the MD to HTML engine? I need to work on that to add bidi support. Logically it is out of this project, but where?
trinity-1686a 5 anni fa ha commentato
Proprietario

the markdown processor we use is pulldown-cmark

the markdown processor we use is [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark)
ahangarha 5 anni fa ha commentato (Migrato da github.com)

The issue is opened on pulldown-cmark repo and I try chance to apply changes. if they accept, it would be a great step ahead

The issue is opened on [pulldown-cmark repo](https://github.com/raphlinus/pulldown-cmark/issues/408) and I try chance to apply changes. if they accept, it would be a great step ahead
KitaitiMakoto chiuso questo probleam 3 anni fa
Effettua l'accesso per partecipare alla conversazione.
Nessuna milestone
Nessuna assegnatario
2 Partecipanti
Notifiche
Data di scadenza
La data di scadenza non è valida o fuori intervallo. Si prega di utilizzare il formato 'aaaa-mm-dd'.

Nessuna data di scadenza impostata.

Dipendenze

Nessuna dipendenza impostata.

Riferimento: Plume/Plume#575
Caricamento…
Non ci sono ancora contenuti.