Hyphenation support?

As I personally prefer the look of justified text (with proper hyphenation!) I would love to see the addition of a hyphenation setting to auto-insert ­ (or the equivalent Unicode character!) in text. Unlike hyphenation: auto (which doesn’t work properly on most browsers), explicit soft hyphens do tend to work. And since a Knuth-Liang hyphenation crate for Rust exists, this should be feasible, right?

I currently build my site using a horrible, hacked together - and insanely slow - mix of Python (templates, markdown processing & hyphenation) and node.js (KaTeX & minimization). So it would be good for my sanity to be able to switch at some point :joy:

I warmly recommend the (client-side) Hyphenology library which supports more than just English right out of the box.

I’m not a big fan of doing things client-side that could easily be done on the server (or in this case: before even serving the file). The hyphenation crate also supports more than just English (as long as you have the appropriate dictionary).

Even the 2 KiB for the loader are probably more than the handful of 0xad-s you would have on a typical page. And the ~22 KiB if the browser doesn’t support it are definitely more.

1 Like

Ah, sorry. I should have checked the repository before posting.
I agree: The crate you mentioned looks very good.

1 Like

I tried inserting the following in markdown_to_html (possibly not the right place to do this, as page/text language doesn’t seem to be available directly, but it is easier to recognize text or other input here):

// Business as usual
if let Ok(hyphenator) = hyphenation::Standard::from_embedded(
) {
            .map(|w| {
                    .map(|s| {
} else {

And it works:

1 Like

Just noticed I didn’t post this in “Feature Requests”… is there any way to move the topic?