title: Which JavaScript SPA frameworks allow changes to <head> elements?
body: <p>In a typical PHP, Python, Rails, etc., web app, like a blog or wiki, it is customary to use the templating language, not only for <code>&lt;body&gt;</code> elements but also <code>&lt;head&gt;</code> elements like, most obviously the <code>&lt;title&gt;</code>. For example, the blog main page may have the blog (site) name and a tagline in the <code>&lt;title&gt;</code>, while each post page has a post title followed by the site name. In some cases, you may also want to conditionally add or modify the content of <code>&lt;head&gt;</code> elements, such as a <code>&lt;meta&gt;</code> tag or a <code>&lt;link&gt;</code> to an Atom/RSS feed that you want to exclude from certain pages.</p>
  
  <p>From my research so far, most JavaScript SPA applications tend to be concerned only with <code>&lt;body&gt;</code> content (which unarguably is where the action is). AngularJS appears to be alone in showing in its tutorial (<a href="https://docs.angularjs.org/tutorial/step_03" rel="nofollow">step 3</a>) the capability to use templating in the <code>&lt;title&gt;</code> and even so it comes with caveats. The Ember.js <a href="https://www.youtube.com/watch?v=1QHrlFlaXdI" rel="nofollow">blog building example by Tom Dale</a> doesn't even bother with the <code>&lt;title&gt;</code> so it ends up reading "Ember Starter Kit" even at the end. In the TodoMVC app, the <code>&lt;title&gt;</code> elements are hard-coded for each example, so that doesn't help.</p>
  
  <p>In searching SO for an answer, I found the <a href="https://stackoverflow.com/questions/14207643/is-it-possible-to-modify-the-head">following question</a> where it was suggested that one should assign to <code>document.title</code>. However, that only takes care of <code>&lt;title&gt;</code>. If some other tag in the <code>&lt;head&gt;</code> needs templating or conditional inclusion, as suggested above, there appears to be no ready-made solution. Is that really the case?</p>