diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 88e9d1fa..c45fec8f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -20,6 +20,9 @@ jobs:
- name: Lint Test App
run: yarn lint
working-directory: test-app
+ - name: Lint Docs
+ run: yarn lint
+ working-directory: docs
test:
name: Tests
@@ -106,3 +109,21 @@ jobs:
EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }}
run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO
working-directory: test-app
+
+ docs:
+ name: Docs app
+ runs-on: ubuntu-latest
+ timeout-minutes: 20
+ needs: test
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 1
+ - uses: volta-cli/action@v1
+ with:
+ node-version: 12
+ - name: Install Dependencies
+ run: yarn install --frozen-lockfile
+ - name: Test
+ run: yarn test:ember --launch ${{ matrix.browser }}
+ working-directory: docs
diff --git a/docs/.editorconfig b/docs/.editorconfig
new file mode 100644
index 00000000..c35a0024
--- /dev/null
+++ b/docs/.editorconfig
@@ -0,0 +1,19 @@
+# EditorConfig helps developers define and maintain consistent
+# coding styles between different editors and IDEs
+# editorconfig.org
+
+root = true
+
+[*]
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+indent_style = space
+indent_size = 2
+
+[*.hbs]
+insert_final_newline = false
+
+[*.{diff,md}]
+trim_trailing_whitespace = false
diff --git a/docs/.ember-cli b/docs/.ember-cli
new file mode 100644
index 00000000..ee64cfed
--- /dev/null
+++ b/docs/.ember-cli
@@ -0,0 +1,9 @@
+{
+ /**
+ Ember CLI sends analytics information by default. The data is completely
+ anonymous, but there are times when you might want to disable this behavior.
+
+ Setting `disableAnalytics` to true will prevent any data from being sent.
+ */
+ "disableAnalytics": false
+}
diff --git a/docs/.eslintignore b/docs/.eslintignore
new file mode 100644
index 00000000..701947ed
--- /dev/null
+++ b/docs/.eslintignore
@@ -0,0 +1,22 @@
+# unconventional js
+/blueprints/*/files/
+/vendor/
+
+# compiled output
+/dist/
+/tmp/
+
+# dependencies
+/bower_components/
+/node_modules/
+
+# misc
+/coverage/
+!.*
+.*/
+.eslintcache
+
+# ember-try
+/.node_modules.ember-try/
+/bower.json.ember-try
+/package.json.ember-try
diff --git a/docs/.eslintrc.js b/docs/.eslintrc.js
new file mode 100644
index 00000000..b6c0eb7c
--- /dev/null
+++ b/docs/.eslintrc.js
@@ -0,0 +1,52 @@
+'use strict';
+
+module.exports = {
+ root: true,
+ parser: 'babel-eslint',
+ parserOptions: {
+ ecmaVersion: 2018,
+ sourceType: 'module',
+ ecmaFeatures: {
+ legacyDecorators: true,
+ },
+ },
+ plugins: ['ember'],
+ extends: [
+ 'eslint:recommended',
+ 'plugin:ember/recommended',
+ 'plugin:prettier/recommended',
+ ],
+ env: {
+ browser: true,
+ },
+ rules: {},
+ overrides: [
+ // node files
+ {
+ files: [
+ './.eslintrc.js',
+ './.prettierrc.js',
+ './.template-lintrc.js',
+ './ember-cli-build.js',
+ './index.js',
+ './testem.js',
+ './blueprints/*/index.js',
+ './config/**/*.js',
+ ],
+ parserOptions: {
+ sourceType: 'script',
+ },
+ env: {
+ browser: false,
+ node: true,
+ },
+ plugins: ['node'],
+ extends: ['plugin:node/recommended'],
+ },
+ {
+ // Test files:
+ files: ['tests/**/*-test.{js,ts}'],
+ extends: ['plugin:qunit/recommended'],
+ },
+ ],
+};
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 00000000..72cc11e5
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,29 @@
+# See https://help.github.com/ignore-files/ for more about ignoring files.
+
+# compiled output
+/dist/
+/tmp/
+
+# dependencies
+/bower_components/
+/node_modules/
+
+# misc
+/.env*
+/.pnp*
+/.sass-cache
+/.eslintcache
+/connect.lock
+/coverage/
+/libpeerconnection.log
+/npm-debug.log*
+/testem.log
+/yarn-error.log
+
+# ember-try
+/.node_modules.ember-try/
+/bower.json.ember-try
+/package.json.ember-try
+
+# editors
+/.idea/
diff --git a/docs/.npmignore b/docs/.npmignore
new file mode 100644
index 00000000..399ddfe2
--- /dev/null
+++ b/docs/.npmignore
@@ -0,0 +1,37 @@
+# compiled output
+/dist/
+/tmp/
+
+# dependencies
+/bower_components/
+
+# misc
+/.bowerrc
+/.editorconfig
+/.ember-cli
+/.env*
+/.eslintcache
+/.eslintignore
+/.eslintrc.js
+/.git/
+/.github/
+/.gitignore
+/.prettierignore
+/.prettierrc.js
+/.template-lintrc.js
+/.travis.yml
+/.watchmanconfig
+/bower.json
+/config/ember-try.js
+/CONTRIBUTING.md
+/ember-cli-build.js
+/testem.js
+/tests/
+/yarn-error.log
+/yarn.lock
+.gitkeep
+
+# ember-try
+/.node_modules.ember-try/
+/bower.json.ember-try
+/package.json.ember-try
diff --git a/docs/.prettierignore b/docs/.prettierignore
new file mode 100644
index 00000000..92216555
--- /dev/null
+++ b/docs/.prettierignore
@@ -0,0 +1,21 @@
+# unconventional js
+/blueprints/*/files/
+/vendor/
+
+# compiled output
+/dist/
+/tmp/
+
+# dependencies
+/bower_components/
+/node_modules/
+
+# misc
+/coverage/
+!.*
+.eslintcache
+
+# ember-try
+/.node_modules.ember-try/
+/bower.json.ember-try
+/package.json.ember-try
diff --git a/docs/.prettierrc.js b/docs/.prettierrc.js
new file mode 100644
index 00000000..534e6d35
--- /dev/null
+++ b/docs/.prettierrc.js
@@ -0,0 +1,5 @@
+'use strict';
+
+module.exports = {
+ singleQuote: true,
+};
diff --git a/docs/.template-lintrc.js b/docs/.template-lintrc.js
new file mode 100644
index 00000000..f35f61c7
--- /dev/null
+++ b/docs/.template-lintrc.js
@@ -0,0 +1,5 @@
+'use strict';
+
+module.exports = {
+ extends: 'recommended',
+};
diff --git a/docs/.watchmanconfig b/docs/.watchmanconfig
new file mode 100644
index 00000000..e7834e3e
--- /dev/null
+++ b/docs/.watchmanconfig
@@ -0,0 +1,3 @@
+{
+ "ignore_dirs": ["tmp", "dist"]
+}
diff --git a/docs/app/app.js b/docs/app/app.js
new file mode 100644
index 00000000..6a7f6c35
--- /dev/null
+++ b/docs/app/app.js
@@ -0,0 +1,12 @@
+import Application from '@ember/application';
+import Resolver from 'ember-resolver';
+import loadInitializers from 'ember-load-initializers';
+import config from 'docs/config/environment';
+
+export default class App extends Application {
+ modulePrefix = config.modulePrefix;
+ podModulePrefix = config.podModulePrefix;
+ Resolver = Resolver;
+}
+
+loadInitializers(App, config.modulePrefix);
diff --git a/test-app/app/components/page-title-pane.hbs b/docs/app/components/page-title-pane.hbs
similarity index 100%
rename from test-app/app/components/page-title-pane.hbs
rename to docs/app/components/page-title-pane.hbs
diff --git a/test-app/app/components/page-title-pane/nested-template.hbs b/docs/app/components/page-title-pane/nested-template.hbs
similarity index 100%
rename from test-app/app/components/page-title-pane/nested-template.hbs
rename to docs/app/components/page-title-pane/nested-template.hbs
diff --git a/test-app/app/components/page-title-pane/nested-template.scss b/docs/app/components/page-title-pane/nested-template.scss
similarity index 100%
rename from test-app/app/components/page-title-pane/nested-template.scss
rename to docs/app/components/page-title-pane/nested-template.scss
diff --git a/test-app/app/components/window-pane.hbs b/docs/app/components/window-pane.hbs
similarity index 100%
rename from test-app/app/components/window-pane.hbs
rename to docs/app/components/window-pane.hbs
diff --git a/test-app/app/components/window-pane.scss b/docs/app/components/window-pane.scss
similarity index 100%
rename from test-app/app/components/window-pane.scss
rename to docs/app/components/window-pane.scss
diff --git a/test-app/app/helpers/highlight.js b/docs/app/helpers/highlight.js
similarity index 100%
rename from test-app/app/helpers/highlight.js
rename to docs/app/helpers/highlight.js
diff --git a/docs/app/index.html b/docs/app/index.html
new file mode 100644
index 00000000..dcfb29d5
--- /dev/null
+++ b/docs/app/index.html
@@ -0,0 +1,26 @@
+
+
+
+ Ember Page Title
+
+
+
+
+
+
+ {{content-for "head"}}
+
+
+
+
+ {{content-for "head-footer"}}
+
+
+ {{content-for "body"}}
+
+
+
+
+ {{content-for "body-footer"}}
+
+
diff --git a/docs/app/router.js b/docs/app/router.js
new file mode 100644
index 00000000..588b8cb3
--- /dev/null
+++ b/docs/app/router.js
@@ -0,0 +1,11 @@
+import EmberRouter from '@ember/routing/router';
+import config from 'docs/config/environment';
+
+export default class Router extends EmberRouter {
+ location = config.locationType;
+ rootURL = config.rootURL;
+}
+
+Router.map(function () {
+ this.route('docs', { path: '/' });
+});
diff --git a/test-app/app/routes/docs.js b/docs/app/routes/docs.js
similarity index 100%
rename from test-app/app/routes/docs.js
rename to docs/app/routes/docs.js
diff --git a/test-app/app/styles/app.scss b/docs/app/styles/app.scss
similarity index 100%
rename from test-app/app/styles/app.scss
rename to docs/app/styles/app.scss
diff --git a/test-app/app/styles/code.scss b/docs/app/styles/code.scss
similarity index 100%
rename from test-app/app/styles/code.scss
rename to docs/app/styles/code.scss
diff --git a/test-app/app/styles/colors.scss b/docs/app/styles/colors.scss
similarity index 100%
rename from test-app/app/styles/colors.scss
rename to docs/app/styles/colors.scss
diff --git a/test-app/app/styles/components.scss b/docs/app/styles/components.scss
similarity index 100%
rename from test-app/app/styles/components.scss
rename to docs/app/styles/components.scss
diff --git a/test-app/app/styles/fonts.scss b/docs/app/styles/fonts.scss
similarity index 100%
rename from test-app/app/styles/fonts.scss
rename to docs/app/styles/fonts.scss
diff --git a/test-app/app/styles/grid.scss b/docs/app/styles/grid.scss
similarity index 100%
rename from test-app/app/styles/grid.scss
rename to docs/app/styles/grid.scss
diff --git a/test-app/app/styles/routes/docs.scss b/docs/app/styles/routes/docs.scss
similarity index 100%
rename from test-app/app/styles/routes/docs.scss
rename to docs/app/styles/routes/docs.scss
diff --git a/docs/app/templates/application.hbs b/docs/app/templates/application.hbs
new file mode 100644
index 00000000..e2147cab
--- /dev/null
+++ b/docs/app/templates/application.hbs
@@ -0,0 +1 @@
+{{outlet}}
\ No newline at end of file
diff --git a/test-app/app/templates/docs.hbs b/docs/app/templates/docs.hbs
similarity index 99%
rename from test-app/app/templates/docs.hbs
rename to docs/app/templates/docs.hbs
index 7b9ba18f..d318bf01 100644
--- a/test-app/app/templates/docs.hbs
+++ b/docs/app/templates/docs.hbs
@@ -62,7 +62,7 @@
diff --git a/docs/config/ember-cli-update.json b/docs/config/ember-cli-update.json
new file mode 100644
index 00000000..b078875e
--- /dev/null
+++ b/docs/config/ember-cli-update.json
@@ -0,0 +1,21 @@
+{
+ "schemaVersion": "1.0.0",
+ "packages": [
+ {
+ "name": "ember-cli",
+ "version": "3.28.3",
+ "blueprints": [
+ {
+ "name": "addon",
+ "outputRepo": "https://github.com/ember-cli/ember-addon-output",
+ "codemodsSource": "ember-addon-codemods-manifest@1",
+ "isBaseBlueprint": true,
+ "options": [
+ "--welcome",
+ "--yarn"
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/docs/config/environment.js b/docs/config/environment.js
new file mode 100644
index 00000000..8fac8ba6
--- /dev/null
+++ b/docs/config/environment.js
@@ -0,0 +1,53 @@
+/* eslint-disable */
+
+module.exports = function (environment) {
+ let ENV = {
+ modulePrefix: 'docs',
+ environment,
+ rootURL: '/',
+ locationType: 'auto',
+ EmberENV: {
+ FEATURES: {
+ // Here you can enable experimental features on an ember canary build
+ // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
+ },
+ EXTEND_PROTOTYPES: {
+ // Prevent Ember Data from overriding Date.parse.
+ Date: false,
+ },
+ },
+
+ APP: {
+ // Here you can pass flags/options to your application instance
+ // when it is created
+ },
+ };
+
+ if (environment === 'development') {
+ // ENV.APP.LOG_RESOLVER = true;
+ // ENV.APP.LOG_ACTIVE_GENERATION = true;
+ // ENV.APP.LOG_TRANSITIONS = true;
+ // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
+ // ENV.APP.LOG_VIEW_LOOKUPS = true;
+ }
+
+ if (environment === 'test') {
+ // Testem prefers this...
+ ENV.locationType = 'none';
+
+ // keep test console output quieter
+ ENV.APP.LOG_ACTIVE_GENERATION = false;
+ ENV.APP.LOG_VIEW_LOOKUPS = false;
+
+ ENV.APP.rootElement = '#ember-testing';
+ ENV.APP.autoboot = false;
+ }
+
+ if (environment === 'production') {
+ ENV.locationType = 'hash';
+ ENV.rootURL = '/ember-page-title/';
+
+ }
+
+ return ENV;
+};
diff --git a/docs/config/optional-features.json b/docs/config/optional-features.json
new file mode 100644
index 00000000..b26286e2
--- /dev/null
+++ b/docs/config/optional-features.json
@@ -0,0 +1,6 @@
+{
+ "application-template-wrapper": false,
+ "default-async-observers": true,
+ "jquery-integration": false,
+ "template-only-glimmer-components": true
+}
diff --git a/docs/config/targets.js b/docs/config/targets.js
new file mode 100644
index 00000000..0e263268
--- /dev/null
+++ b/docs/config/targets.js
@@ -0,0 +1,27 @@
+'use strict';
+
+const browsers = [
+ 'last 1 Chrome versions',
+ 'last 1 Firefox versions',
+ 'last 1 Safari versions',
+];
+
+// Ember's browser support policy is changing, and IE11 support will end in
+// v4.0 onwards.
+//
+// See https://deprecations.emberjs.com/v3.x#toc_3-0-browser-support-policy
+//
+// If you need IE11 support on a version of Ember that still offers support
+// for it, uncomment the code block below.
+
+const isCI = Boolean(process.env.CI);
+const isProduction = process.env.EMBER_ENV === 'production';
+
+if (isCI || isProduction) {
+ browsers.push('ie 11');
+}
+
+module.exports = {
+ browsers,
+ node: 'current', // This is here to avoid "SyntaxError: Unexpected token '.'" from fastboot ember-app.js
+};
diff --git a/docs/ember-cli-build.js b/docs/ember-cli-build.js
new file mode 100644
index 00000000..7c021fd4
--- /dev/null
+++ b/docs/ember-cli-build.js
@@ -0,0 +1,43 @@
+/* eslint-env node */
+'use strict';
+
+const EmberApp = require('ember-cli/lib/broccoli/ember-app');
+
+module.exports = function (defaults) {
+ let environment = EmberApp.env();
+ let isDeploying = environment === 'production';
+
+ let app = new EmberApp(defaults, {
+ 'ember-cli-babel': {
+ includePolyfill: true,
+ },
+ autoImport: isDeploying
+ ? {
+ publicAssetURL: 'https://ember-cli.github.io/ember-page-title',
+ }
+ : {},
+ fingerprint: {
+ extensions: [
+ 'js',
+ 'css',
+ 'png',
+ 'jpg',
+ 'gif',
+ 'map',
+ 'eot',
+ 'ttf',
+ 'woff',
+ 'woff2',
+ 'svg',
+ ],
+ prepend: '/ember-page-title/',
+ },
+ sassOptions: {
+ includePaths: ['app'],
+ },
+ svg: {
+ paths: ['public/assets/images'],
+ },
+ });
+ return app.toTree();
+};
diff --git a/docs/jsconfig.json b/docs/jsconfig.json
new file mode 100644
index 00000000..1a22d144
--- /dev/null
+++ b/docs/jsconfig.json
@@ -0,0 +1,6 @@
+{
+ "compilerOptions": {
+ "experimentalDecorators": true
+ },
+ "exclude": ["tmp", "dist"]
+}
diff --git a/docs/package.json b/docs/package.json
new file mode 100644
index 00000000..13aeb490
--- /dev/null
+++ b/docs/package.json
@@ -0,0 +1,82 @@
+{
+ "name": "docs",
+ "version": "7.0.0",
+ "description": "Page Titles for Ember applications",
+ "keywords": [
+ "page title",
+ "title",
+ "component",
+ "fastboot"
+ ],
+ "license": "MIT",
+ "author": "Tim Evans ",
+ "repository": "https://github.com/ember-cli/ember-page-title",
+ "scripts": {
+ "build": "ember build --environment=production",
+ "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
+ "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix",
+ "lint:hbs": "ember-template-lint .",
+ "lint:hbs:fix": "ember-template-lint . --fix",
+ "lint:js": "eslint . --cache",
+ "lint:js:fix": "eslint . --fix",
+ "start": "ember serve",
+ "test": "npm-run-all lint test:*",
+ "test:ember": "ember test",
+ "format:hbs": "prettier **/*.hbs --write --parser=glimmer",
+ "format:js": "prettier **/*.js --write",
+ "release": "standard-version"
+ },
+ "devDependencies": {
+ "@ember/optional-features": "^2.0.0",
+ "@ember/test-helpers": "^2.4.2",
+ "@glimmer/component": "^1.0.4",
+ "@glimmer/tracking": "^1.0.4",
+ "babel-eslint": "^10.1.0",
+ "broccoli-asset-rev": "^3.0.0",
+ "ember-auto-import": "^2.0.0",
+ "ember-cli": "~3.28.3",
+ "ember-cli-babel": "^7.26.6",
+ "ember-cli-code-coverage": "^1.0.0",
+ "ember-cli-dependency-checker": "^3.2.0",
+ "ember-cli-github-pages": "^0.2.2",
+ "ember-cli-htmlbars": "^5.7.1",
+ "ember-cli-inject-live-reload": "^2.1.0",
+ "ember-cli-sass": "^10.0.1",
+ "ember-cli-terser": "^4.0.2",
+ "ember-cli-update": "^1.0.1",
+ "ember-disable-prototype-extensions": "^1.1.3",
+ "ember-inline-svg": "^1.0.0",
+ "ember-load-initializers": "^2.1.2",
+ "ember-maybe-import-regenerator": "^1.0.0",
+ "ember-page-title": "8.0.0-alpha.0",
+ "ember-qunit": "^5.1.5",
+ "ember-resolver": "^8.0.3",
+ "ember-source": "~3.28.3",
+ "ember-source-channel-url": "^3.0.0",
+ "ember-template-lint": "^3.6.0",
+ "ember-truth-helpers": "^3.0.0",
+ "eslint": "^7.32.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-ember": "^10.5.4",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-prettier": "^3.4.1",
+ "eslint-plugin-qunit": "^6.2.0",
+ "loader.js": "^4.7.0",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^2.3.2",
+ "qunit": "^2.16.0",
+ "sass": "^1.43.3",
+ "standard-version": "^9.3.2",
+ "webpack": "^5.0.0"
+ },
+ "engines": {
+ "node": "12.* || 14.* || >= 16"
+ },
+ "ember": {
+ "edition": "octane"
+ },
+ "homepage": "https://ember-cli.github.io/ember-page-title",
+ "volta": {
+ "extends": "../package.json"
+ }
+}
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Bold.eot b/docs/public/assets/fonts/OfficeCodePro-Bold.eot
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Bold.eot
rename to docs/public/assets/fonts/OfficeCodePro-Bold.eot
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Bold.otf b/docs/public/assets/fonts/OfficeCodePro-Bold.otf
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Bold.otf
rename to docs/public/assets/fonts/OfficeCodePro-Bold.otf
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Bold.ttf b/docs/public/assets/fonts/OfficeCodePro-Bold.ttf
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Bold.ttf
rename to docs/public/assets/fonts/OfficeCodePro-Bold.ttf
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Bold.woff b/docs/public/assets/fonts/OfficeCodePro-Bold.woff
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Bold.woff
rename to docs/public/assets/fonts/OfficeCodePro-Bold.woff
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Bold.woff2 b/docs/public/assets/fonts/OfficeCodePro-Bold.woff2
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Bold.woff2
rename to docs/public/assets/fonts/OfficeCodePro-Bold.woff2
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Regular.eot b/docs/public/assets/fonts/OfficeCodePro-Regular.eot
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Regular.eot
rename to docs/public/assets/fonts/OfficeCodePro-Regular.eot
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Regular.otf b/docs/public/assets/fonts/OfficeCodePro-Regular.otf
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Regular.otf
rename to docs/public/assets/fonts/OfficeCodePro-Regular.otf
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Regular.ttf b/docs/public/assets/fonts/OfficeCodePro-Regular.ttf
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Regular.ttf
rename to docs/public/assets/fonts/OfficeCodePro-Regular.ttf
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Regular.woff b/docs/public/assets/fonts/OfficeCodePro-Regular.woff
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Regular.woff
rename to docs/public/assets/fonts/OfficeCodePro-Regular.woff
diff --git a/test-app/public/assets/fonts/OfficeCodePro-Regular.woff2 b/docs/public/assets/fonts/OfficeCodePro-Regular.woff2
similarity index 100%
rename from test-app/public/assets/fonts/OfficeCodePro-Regular.woff2
rename to docs/public/assets/fonts/OfficeCodePro-Regular.woff2
diff --git a/test-app/public/assets/images/arrow.svg b/docs/public/assets/images/arrow.svg
similarity index 100%
rename from test-app/public/assets/images/arrow.svg
rename to docs/public/assets/images/arrow.svg
diff --git a/test-app/public/assets/images/ember-logo.svg b/docs/public/assets/images/ember-logo.svg
similarity index 100%
rename from test-app/public/assets/images/ember-logo.svg
rename to docs/public/assets/images/ember-logo.svg
diff --git a/test-app/public/assets/images/icon.png b/docs/public/assets/images/icon.png
similarity index 100%
rename from test-app/public/assets/images/icon.png
rename to docs/public/assets/images/icon.png
diff --git a/test-app/public/assets/images/icon.svg b/docs/public/assets/images/icon.svg
similarity index 100%
rename from test-app/public/assets/images/icon.svg
rename to docs/public/assets/images/icon.svg
diff --git a/docs/public/crossdomain.xml b/docs/public/crossdomain.xml
new file mode 100644
index 00000000..0c16a7a0
--- /dev/null
+++ b/docs/public/crossdomain.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/public/robots.txt b/docs/public/robots.txt
new file mode 100644
index 00000000..f5916452
--- /dev/null
+++ b/docs/public/robots.txt
@@ -0,0 +1,3 @@
+# http://www.robotstxt.org
+User-agent: *
+Disallow:
diff --git a/docs/testem.js b/docs/testem.js
new file mode 100644
index 00000000..e6d0e28f
--- /dev/null
+++ b/docs/testem.js
@@ -0,0 +1,26 @@
+'use strict';
+
+module.exports = {
+ test_page: 'tests/index.html?hidepassed',
+ disable_watching: true,
+ launch_in_ci: ['Chrome'],
+ launch_in_dev: ['Chrome'],
+ browser_start_timeout: 120,
+ browser_args: {
+ Chrome: {
+ ci: [
+ // --no-sandbox is needed when running Chrome inside a container
+ process.env.CI ? '--no-sandbox' : null,
+ '--headless',
+ '--disable-dev-shm-usage',
+ '--disable-software-rasterizer',
+ '--mute-audio',
+ '--remote-debugging-port=0',
+ '--window-size=1440,900',
+ ].filter(Boolean),
+ },
+ Firefox: {
+ ci: ['--headless'],
+ },
+ },
+};
diff --git a/docs/tests/acceptance/docs-test.js b/docs/tests/acceptance/docs-test.js
new file mode 100644
index 00000000..88fdddfe
--- /dev/null
+++ b/docs/tests/acceptance/docs-test.js
@@ -0,0 +1,19 @@
+import { visit, fillIn } from '@ember/test-helpers';
+import { module, test } from 'qunit';
+import { setupApplicationTest } from 'ember-qunit';
+import { getPageTitle } from 'ember-page-title/test-support';
+
+module('Acceptance: title', function (hooks) {
+ setupApplicationTest(hooks);
+
+ test('docs page renders', async function (assert) {
+ await visit('/');
+ assert.equal(getPageTitle(), 'Ember Page Title');
+ });
+
+ test('user can modify title', async function (assert) {
+ await visit('/');
+ await fillIn('[data-test-edit-title]', 'New Title');
+ assert.equal(getPageTitle(), 'New Title');
+ });
+});
diff --git a/docs/tests/index.html b/docs/tests/index.html
new file mode 100644
index 00000000..be4c796e
--- /dev/null
+++ b/docs/tests/index.html
@@ -0,0 +1,36 @@
+
+
+
+ ember-page-title tests
+
+
+
+
+
+ {{content-for "head"}} {{content-for "test-head"}}
+
+
+
+
+
+ {{content-for "head-footer"}} {{content-for "test-head-footer"}}
+
+
+ {{content-for "body"}} {{content-for "test-body"}}
+
+
+
+
+
+
+
+
+
+
+ {{content-for "body-footer"}} {{content-for "test-body-footer"}}
+
+
diff --git a/docs/tests/test-helper.js b/docs/tests/test-helper.js
new file mode 100644
index 00000000..0abf5a9b
--- /dev/null
+++ b/docs/tests/test-helper.js
@@ -0,0 +1,8 @@
+import Application from 'docs/app';
+import config from 'docs/config/environment';
+import { setApplication } from '@ember/test-helpers';
+import { start } from 'ember-qunit';
+
+setApplication(Application.create(config.APP));
+
+start();
diff --git a/package.json b/package.json
index 4459c4ea..8b7da53f 100644
--- a/package.json
+++ b/package.json
@@ -2,6 +2,7 @@
"private": true,
"workspaces": [
"addon",
+ "docs",
"test-app"
],
"volta": {
diff --git a/test-app/app/controllers/application.js b/test-app/app/controllers/application.js
deleted file mode 100644
index 2ba1c340..00000000
--- a/test-app/app/controllers/application.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Controller from '@ember/controller';
-import { inject as service } from '@ember/service';
-
-export default class ApplicationController extends Controller {
- @service('router')
- router;
-}
diff --git a/test-app/app/helpers/equals.js b/test-app/app/helpers/equals.js
deleted file mode 100644
index 24c8fcd5..00000000
--- a/test-app/app/helpers/equals.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import { isEqual } from '@ember/utils';
-import { helper } from '@ember/component/helper';
-
-export default helper(function ([a, b]) {
- return isEqual(a, b);
-});
diff --git a/test-app/app/router.js b/test-app/app/router.js
index 3a8a7a61..4d57c5dd 100644
--- a/test-app/app/router.js
+++ b/test-app/app/router.js
@@ -18,7 +18,6 @@ Router.map(function () {
this.route('hollywood');
this.route('feed', { path: '/feeds/:name' });
this.route('reader');
- this.route('docs', { path: '/' });
this.route('fastboot', function () {
this.route('multiple', function () {
this.route('titles');
diff --git a/test-app/app/styles/app.css b/test-app/app/styles/app.css
new file mode 100644
index 00000000..e69de29b
diff --git a/test-app/app/templates/application.hbs b/test-app/app/templates/application.hbs
index 17607f84..7e08d009 100644
--- a/test-app/app/templates/application.hbs
+++ b/test-app/app/templates/application.hbs
@@ -1,5 +1,2 @@
-{{! template-lint-disable simple-unless }}
-{{#unless (equals this.router.currentRouteName 'docs')}}
- {{page-title 'My App'}}
-{{/unless}}
+{{page-title 'My App'}}
{{outlet}}
\ No newline at end of file
diff --git a/test-app/app/templates/posts.hbs b/test-app/app/templates/posts.hbs
index 4ab1ef56..bb625063 100644
--- a/test-app/app/templates/posts.hbs
+++ b/test-app/app/templates/posts.hbs
@@ -1 +1 @@
-{{page-title 'Posts'}}
\ No newline at end of file
+{{page-title 'Posts'}}
diff --git a/test-app/package.json b/test-app/package.json
index baf1b066..dca53429 100644
--- a/test-app/package.json
+++ b/test-app/package.json
@@ -38,7 +38,6 @@
"@glimmer/component": "^1.0.4",
"@glimmer/tracking": "^1.0.4",
"babel-eslint": "^10.1.0",
- "broccoli-asset-rev": "^3.0.0",
"ember-auto-import": "^2.0.0",
"ember-cli": "~3.28.3",
"ember-cli-babel": "^7.26.6",
@@ -46,14 +45,10 @@
"ember-cli-dependency-checker": "^3.2.0",
"ember-cli-fastboot": "^3.2.0-beta.4",
"ember-cli-fastboot-testing": "^0.5.0",
- "ember-cli-github-pages": "^0.2.2",
"ember-cli-htmlbars": "^5.7.1",
"ember-cli-inject-live-reload": "^2.1.0",
- "ember-cli-sass": "^10.0.1",
- "ember-cli-terser": "^4.0.2",
"ember-cli-update": "^1.0.1",
"ember-disable-prototype-extensions": "^1.1.3",
- "ember-inline-svg": "^1.0.0",
"ember-load-initializers": "^2.1.2",
"ember-maybe-import-regenerator": "^1.0.0",
"ember-page-title": "8.0.0-alpha.0",
@@ -74,7 +69,6 @@
"npm-run-all": "^4.1.5",
"prettier": "^2.3.2",
"qunit": "^2.16.0",
- "sass": "^1.43.3",
"standard-version": "^9.3.2",
"webpack": "^5.0.0"
},
diff --git a/test-app/tests/blanket-options.js b/test-app/tests/blanket-options.js
deleted file mode 100644
index 67fd537a..00000000
--- a/test-app/tests/blanket-options.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/* globals blanket, module */
-
-var options = {
- modulePrefix: 'ember-page-title',
- filter: '//.*ember-page-title/.*/',
- antifilter: '//.*(tests|template).*/',
- loaderExclusions: [],
- enableCoverage: true,
- cliOptions: {
- reporters: ['lcov'],
- autostart: true,
- },
-};
-if (typeof exports === 'undefined') {
- blanket.options(options);
-} else {
- module.exports = options;
-}