jbake-org / jbake

Java based open source static site/blog generator for developers & designers.
http://jbake.org
MIT License
1.12k stars 326 forks source link

(Feature) Support German umlauts in URIs #663

Open LDeppe opened 3 years ago

LDeppe commented 3 years ago

Issue description

I use JBake to generate a HTML documentation out of ADOC files. With custom GSP templates I add a navigation bar to each baked HTML document from where you can easily switch from one document to the next. The navigation bar contains crossfile links between each baked document, which are based on the URIs of each document. This works fine as long as the URIs don't contain German umlauts. If there are German umlauts (like ä, ö or ü) in the URI, they will get escaped by JBake during the baking process: umlaut_link_test_äöü.adoc -> umlaut_link_test_%C3%A4%C3%B6%C3%BC.html Without a complicated workaround my application is expecting an HTML document with the normal, unescaped URI umlaut_link_test_äöü.html.
It would be nice to have an option in jbake.properties to configure how umlauts should be handled in the URI during the baking process.

Steps to reproduce the issue

I have attached a zip file with a java sample project. simple-umlauts-test.zip

  1. execute GenerateHtml.java from src/main/java/generation
  2. the generated html files can be found under target/documentation (there are already generated HTML files stored)

What's the expected result?

Baking doesn't escape umlauts in filenames: umlaut_link_test_äöü.adoc -> umlaut_link_test_äöü.html

What's the actual result?

JBakes escapes umlauts during baking process: umlaut_link_test_äöü.adoc -> umlaut_link_test_%C3%A4%C3%B6%C3%BC.html

Used versions

jbake: 2.6.5 asciidoctor: 2.4.3 groovy: 3.0.7

Conclusion

For my application purpose, I found a temporary workaround where I adapted the references to escape sequences. However, this solution is cumbersome and makes it much more harder to read and use. Still, it would be really nice to have a simple option in jbake.properties to configure how to handle umlauts in the URI during the baking process.

jonbullock commented 3 years ago

Thanks for taking the time to raise this and provide a sample project.