Automatically resolve .html extension for Pages URLs
-
Follow this link to the root of Github repo: https://rdhar.github.io/hub-instance/
-
In another tab, follow this link to the root of Gitlab repo: https://rdhar.gitlab.io/lab-instance/
-
Observe that they are completely identical in build and structure. You can verify this since they're both hosted from public repos accessible from the first "Instance" hyperlink on any page.
-
Next, click through all the links of the Github instance. Notice that the .html file extension suffix is not visible anywhere in the URL. This is because Github automatically resolves the path to .html by default, without having to explicitly call it. This is very neat.
-
Similarly, click through all the links of the Gitlab instance. Notice that you can only access the index.html files.The rest of the pages fail to resolve despite using identical paths to Github.
From what I gather, this is because Github does not care (https://rsp.github.io/gh-pages-no-extension/) for the .html file extension if the link can be resolved otherwise. As a result, basic HTML pages have pretty URLs by default. Hence, neat.
Whereas, as you can see, Gitlab appears to explicitly require the .html file extension or fail to resolve the path otherwise. Only index.html pages have pretty URLs while the rest are shown with a .html dangling off at the end :(. Having to depend on Jekyll-config or YAML front-end is not a viable solution when you just want to throw up a few basic HTML pages.
ZD: https://gitlab.zendesk.com/agent/tickets/83774
cc// @nick.thomas @bikebilly