Native Package Manager

    ember-page-title

    7.0.0 • Public • Published

    ember-page-title Ember Observer Score CI

    This addon provides a helper for changing the title of the page you're on.

    Installing via ember-cli

    ember install ember-page-title

    Compatibility

    • Ember.js v3.20 or above
    • Ember CLI v3.20 or above
    • Node.js v12 or above
    Fastboot vs Non-Fastboot Notes

    Post Install Setup Notes

    As of v3.0.0 this addon maintains the page title by using the <title> tag in your document's <head>. This is necessary for FastBoot compatibility.

    Non-fastboot apps should keep the <title> tag in index.html to ensure that the initial page is valid HTML. The title will be removed and replaced when your app boots.

    Fastboot apps MUST remove the <title> tag from index.html. As of v6.0.0 this is done automatically if you use ember install ember-page-title to install this addon. Can also be run manually using ember g ember-page-title to update the title if FastBoot is installed.

    Digging in

    Visit the Docs site

    API

    {{page-title}} Helper

    attribute type default description
    separator string " | " Which separator should be displayed after this instance of {{page-title}}
    prepend boolean true If the token should be prepended or appended to the list of tokens
    replace boolean false Replace all previous elements with the active
    front boolean false If the token should always be in the beginning of the resulting title.

    The default values for separator, prepend and replace are configurable via config/environment.js:

    // config/environment.js
    
    module.exports = function (environment) {
      let ENV = {
        pageTitle: {
          replace: true,
        },
      };
    
      return ENV;
    };

    page-title Service

    If you want to be notified when the page title has been updated, you can extend and override the page-title service and provide your own titleDidUpdate hook. The titleDidUpdate hook receives the new title as its sole argument.

    // app/services/page-title.js
    
    import EmberPageTitleService from 'ember-page-title/services/page-title';
    
    export default class PageTitleService extends EmberPageTitleService {
      titleDidUpdate(title) {
        // Do something with the new title.
      }
    }

    Testing

    assert the page title with the supplied getPageTitle test helper:

    import { getPageTitle } from 'ember-page-title/test-support';
    
    module('Acceptance | Register Page', function(hooks) {
      setupApplicationTest(hooks);
    
      test('visiting /register', async function(assert) {
        const registerURL = '/register';
        await visit(registerURL);
    
        assert.equal(currentURL(), registerURL);
        assert.equal(getPageTitle(), 'Register | Some Website');
      });
    });

    Upgrading notes for 5.x to 6.x

    • ember-page-title no longer requires the usage of ember-cli-head. Please remove {{head-layout}} from your application's application.hbs route template.
    • {{title}} has been removed, please rename to {{page-title}}.

    Contributing

    Contributors are welcome! Please provide a reproducible test case. Details will be worked out on a case-per-case basis. Maintainers will get in touch when they can, so delays are possible. For contribution guidelines, see the code of conduct.

    Publishing Documentation

    To publish documentation, run the following command:

    ember github-pages:commit --message "update documentation"
    git push origin gh-pages:gh-pages

    Install

    npm i ember-page-title

    DownloadsWeekly Downloads

    51,279

    Version

    7.0.0

    License

    MIT

    Unpacked Size

    29.4 kB

    Total Files

    17

    Last publish

    Collaborators

    • knownasilya
    • ef4
    • tce
    • melsumner
    • alonbukai