Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix white-space collapsing #175

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Fix white-space collapsing #175

wants to merge 1 commit into from

Conversation

devjones
Copy link

@devjones devjones commented Jan 18, 2023

The Anki html renderer does not properly collapse white space in the current implementation.

Showdownjs's makeHtml will convert the following string:
This is a really really long sentence

into an html snippet like:

<p>This&nbsp;is&nbsp;a&nbsp;really&nbsp;really&nbsp;long&nbsp;sentence</p>

This normally renders fine, but if you are on a mobile device with limited screen width, the sentence will be broken at a whatever character hits the maximum width of the card. Depending on screen width, you may have the first line break in the middle of a word.

This isn't what we want. We want white space to collapse at the last word that can be fully displayed in a line. The only way I've found to do this is by replacing &nbsp; with literal spaces. In this case, the returned html snippet will be:

<p>This is a really really long sentence</p>

If the screen width maxes out at the second character in the word long then that entire word will be pushed to the next line.

@putzwasser
Copy link
Contributor

This introduces a new problem: Intentionally added non-breaking spaces get removed/replaced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants