rfcs
rfcs copied to clipboard
Build-time configuration of index.html
I'd like to gauge interest / comments for an easier way to customize index.html output.
Use-case
We have some dynamic values that we want to interpolate into the index.html file at build time. For example, static classes on the <html> element and special meta attributes.
Ember already provides the content-for hook, but adding individual attributes to specific html elements is trickier.
Possible solution
- Exposing the internal
configReplacePatternsAPI, for example aaddReplacePatternmethod or a key under config (environment.js), sayadditionalReplacePatterns: [ … ] - Allowing custom 'slots' for use with
{{content-for 'my-slot'}}.
Reference code
https://github.com/ember-cli/ember-cli/blob/b24b73b388934796ca915ca665b48a27c857199b/lib/utilities/ember-app-utils.js#L169
It doesn't meet your needs here, but for discussion sake what we do is use ember-cli-deploy-json-config to extract our index.html into JSON and then parse that json on the server to send a final index.html with these dynamic parts added there.
Thanks, good suggestions!
We also have a hack in place to make this work. But it would be cleaner if something like this was available in core. Customizing index.html is pretty common.
I assume, under Embroider (if it's possible / allowed at some point), that using https://github.com/jantimon/html-webpack-plugin might be an option to customise the final index.html?