Skip to content

Commit ce3d06d

Browse files
author
Savannah Mastrangelo
committed
merged with ember-learn#164
2 parents b50916f + 6cc4e85 commit ce3d06d

File tree

23 files changed

+144
-230
lines changed

23 files changed

+144
-230
lines changed

addon/components/docs-demo/template.hbs

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
{{yield (hash
44
example=(component 'docs-demo/x-example')
55
snippet=(component 'docs-demo/x-snippet' did-init=(action 'registerSnippet') activeSnippet=activeSnippet)
6-
live-example=(component 'docs-demo/x-live-example')
76
)}}
87

98
{{#if snippets}}

addon/components/docs-demo/x-live-example-demo/component.js

-8
This file was deleted.

addon/components/docs-demo/x-live-example/component.js

-65
This file was deleted.

addon/components/docs-demo/x-live-example/styles.scss

-6
This file was deleted.

addon/components/docs-demo/x-live-example/template.hbs

-19
This file was deleted.

addon/components/docs-header/component.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { addonLogo } from 'ember-cli-addon-docs/utils/computed';
77
import { inject as service } from '@ember/service';
88
import { reads } from '@ember/object/computed';
99

10-
const { projectName, projectHref } = config['ember-cli-addon-docs'];
10+
const { projectName, projectHref, latestVersionName } = config['ember-cli-addon-docs'];
1111

1212
/**
1313
Render a header showing a link to your documentation, your project logo, a
@@ -36,6 +36,7 @@ export default Component.extend({
3636
projectVersion: service(),
3737

3838
projectHref,
39+
latestVersionName,
3940

4041
didInsertElement() {
4142
this._super(...arguments);

addon/components/docs-header/template.hbs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
{{#docs-header/link on-click=(action (toggle 'isShowingVersionSelector' this)) data-test-id='current-version'}}
2626
<span data-version-selector class='flex items-center'>
2727

28-
{{#if (or (eq currentVersion.name 'latest'))}}
28+
{{#if (or (eq currentVersion.name latestVersionName))}}
2929
{{#if currentVersion.tag}}
3030
{{currentVersion.tag}}
3131
{{else}}

addon/components/docs-header/version-selector/component.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,23 @@ import { inject as service } from '@ember/service';
33
import layout from './template';
44
import { sort } from '@ember/object/computed';
55
import { reads } from '@ember/object/computed';
6+
import config from 'dummy/config/environment';
7+
8+
const { latestVersionName, primaryBranch } = config['ember-cli-addon-docs'];
69

710
export default Component.extend({
811
layout,
912

13+
latestVersionName,
14+
primaryBranch,
15+
1016
projectVersion: service(),
1117
'on-close'() {},
1218

1319
currentVersion: reads('projectVersion.currentVersion'),
1420

1521
sortedVersions: sort('projectVersion.versions', function(a, b) {
16-
if (['latest', 'master'].includes(a.name) || ['latest', 'master'].includes(b.name) ) {
22+
if ([latestVersionName, primaryBranch].includes(a.name) || [latestVersionName, primaryBranch].includes(b.name) ) {
1723
return a.name > b.name;
1824
} else {
1925
return a.name < b.name;

addon/components/docs-header/version-selector/template.hbs

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@
1414
{{/if}}
1515
</span>
1616
<span class='font-medium'>
17-
{{if (eq version.name 'latest') 'Latest' version.name}}
17+
{{if (eq version.name latestVersionName) 'Latest' version.name}}
1818
</span>
1919

2020
<span class="ml-auto pl-8 flex items-center opacity-50">
21-
{{#if (or (eq version.name 'latest') (eq version.name 'master'))}}
21+
{{#if (or (eq version.name latestVersionName) (eq version.name primaryBranch))}}
2222
{{svg-jar (if version.tag 'git-tag' 'git-sha') height=16 width=16}}
2323
{{else}}
2424
{{svg-jar 'git-sha' height=16 width=16}}
2525
{{/if}}
2626

2727
<span class='text-xs font-mono pl-1'>
28-
{{#if (or (eq version.name 'latest') (eq version.name 'master'))}}
28+
{{#if (or (eq version.name latestVersionName) (eq version.name primaryBranch))}}
2929
{{#if version.tag}}
3030
{{version.tag}}
3131
{{else}}

addon/components/docs-viewer/x-main/component.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { getOwner } from '@ember/application';
99

1010
import layout from './template';
1111

12-
const projectHref = config['ember-cli-addon-docs'].projectHref;
12+
const { projectHref, primaryBranch } = config['ember-cli-addon-docs'];
1313

1414
const tagToSize = { H2: 'xs', H3: 'xs' };
1515
const tagToIndent = { H2: '0', H3: '4' };
@@ -76,14 +76,14 @@ export default Component.extend({
7676
let file = addonFiles.find(f => f.match(path));
7777

7878
if (file) {
79-
return `${projectHref}/edit/master/addon/${file}`;
79+
return `${projectHref}/edit/${primaryBranch}/addon/${file}`;
8080
}
8181
} else {
8282
let file = appFiles
8383
.filter(file => file.match(/template.(hbs|md)/))
8484
.find(file => file.match(path));
8585

86-
return `${projectHref}/edit/master/tests/dummy/app/${file}`;
86+
return `${projectHref}/edit/${primaryBranch}/tests/dummy/app/${file}`;
8787
}
8888
})
8989

addon/services/project-version.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@ import Service, { inject as service } from '@ember/service';
22
import { getOwner } from '@ember/application';
33
import { computed } from '@ember/object';
44
import { task } from 'ember-concurrency';
5+
import config from 'dummy/config/environment';
6+
7+
const { latestVersionName } = config['ember-cli-addon-docs'];
58

69
export default Service.extend({
710
docsFetch: service(),
811

912
_loadAvailableVersions: task(function*() {
1013
let response = yield this.get('docsFetch').fetch({ url: `${this.get('root')}versions.json` }).response();
11-
let json = yield response.ok ? response.json() : { latest: this.get('currentVersion') };
14+
let json = yield response.ok ? response.json() : { [latestVersionName]: this.get('currentVersion') };
1215

1316
this.set('versions', Object.keys(json).map(key => {
1417
let version = json[key];
@@ -38,7 +41,7 @@ export default Service.extend({
3841
// In development, this token won't have been replaced replaced
3942
if (currentVersion === 'ADDON_DOCS_DEPLOY_VERSION') {
4043
currentVersion = {
41-
name: 'latest',
44+
name: latestVersionName,
4245
tag: config.projectTag,
4346
path: '',
4447
sha: 'abcde'

blueprints/ember-cli-addon-docs/files/config/addon-docs.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
const AddonDocsConfig = require('ember-cli-addon-docs/lib/config');
55

66
module.exports = class extends AddonDocsConfig {
7-
// See https://ember-learn.github.io/ember-cli-addon-docs/latest/docs/deploying
7+
// See https://ember-learn.github.io/ember-cli-addon-docs/docs/deploying
88
// for details on configuration you can override here.
99
};

index.js

+16-22
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22

33
const fs = require('fs');
44
const path = require('path');
5-
const resolve = require('resolve');
65
const UnwatchedDir = require('broccoli-source').UnwatchedDir;
76
const MergeTrees = require('broccoli-merge-trees');
87
const Funnel = require('broccoli-funnel');
98
const EmberApp = require('ember-cli/lib/broccoli/ember-app'); // eslint-disable-line node/no-unpublished-require
109
const Plugin = require('broccoli-plugin');
1110
const walkSync = require('walk-sync');
1211

12+
const LATEST_VERSION_NAME = '-latest';
13+
1314
module.exports = {
1415
name: 'ember-cli-addon-docs',
1516

17+
LATEST_VERSION_NAME,
18+
1619
options: {
17-
ace: {
18-
modes: ['handlebars']
19-
},
2020
nodeAssets: {
2121
'highlight.js': {
2222
public: {
@@ -42,6 +42,7 @@ module.exports = {
4242
config(env, baseConfig) {
4343
let repo = this.parent.pkg.repository;
4444
let info = require('hosted-git-info').fromUrl(repo.url || repo);
45+
let userConfig = this._readUserConfig();
4546

4647
let config = {
4748
'ember-component-css': {
@@ -51,6 +52,8 @@ module.exports = {
5152
projectName: this.parent.pkg.name,
5253
projectTag: this.parent.pkg.version,
5354
projectHref: info && info.browse(),
55+
primaryBranch: userConfig.getPrimaryBranch(),
56+
latestVersionName: LATEST_VERSION_NAME,
5457
deployVersion: 'ADDON_DOCS_DEPLOY_VERSION'
5558
}
5659
};
@@ -93,13 +96,12 @@ module.exports = {
9396
includer.options.includeFileExtensionInSnippetNames = includer.options.includeFileExtensionInSnippetNames || false;
9497
includer.options.snippetSearchPaths = includer.options.snippetSearchPaths || ['tests/dummy/app'];
9598
includer.options.snippetRegexes = Object.assign({}, {
96-
begin: /{{#(?:docs-snippet|demo.example|demo.live-example)\sname=(?:"|')(\S+)(?:"|')/,
97-
end: /{{\/(?:docs-snippet|demo.example|demo.live-example)}}/,
99+
begin: /{{#(?:docs-snippet|demo.example)\sname=(?:"|')(\S+)(?:"|')/,
100+
end: /{{\/(?:docs-snippet|demo.example)}}/,
98101
}, includer.options.snippetRegexes);
99102

100103
let importer = findImporter(this);
101104

102-
importer.import(`${this._hasEmberSource() ? 'vendor' : 'bower_components'}/ember/ember-template-compiler.js`);
103105
importer.import('vendor/lunr/lunr.js', {
104106
using: [{ transformation: 'amd', as: 'lunr' }]
105107
});
@@ -112,10 +114,7 @@ module.exports = {
112114

113115
createDeployPlugin() {
114116
const AddonDocsDeployPlugin = require('./lib/deploy/plugin');
115-
const readConfig = require('./lib/utils/read-config');
116-
117-
let userConfig = readConfig(this.project);
118-
return new AddonDocsDeployPlugin(userConfig);
117+
return new AddonDocsDeployPlugin(this._readUserConfig());
119118
},
120119

121120
setupPreprocessorRegistry(type, registry) {
@@ -157,8 +156,7 @@ module.exports = {
157156
return new MergeTrees([
158157
vendor,
159158
this._highlightJSTree(),
160-
this._lunrTree(),
161-
this._templateCompilerTree()
159+
this._lunrTree()
162160
].filter(Boolean));
163161
},
164162

@@ -218,17 +216,13 @@ module.exports = {
218216
});
219217
},
220218

221-
_templateCompilerTree() {
222-
if (this._hasEmberSource()) {
223-
return new Funnel(path.dirname(resolve.sync('ember-source/package.json'), { basedir: this.project.root }), {
224-
srcDir: 'dist',
225-
destDir: 'ember'
226-
});
219+
_readUserConfig() {
220+
if (!this._userConfig) {
221+
const readConfig = require('./lib/utils/read-config');
222+
this._userConfig = readConfig(this.project);
227223
}
228-
},
229224

230-
_hasEmberSource() {
231-
return 'ember-source' in this.project.pkg.devDependencies;
225+
return this._userConfig;
232226
}
233227
};
234228

lib/config.js

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ module.exports = class AddonDocsConfig {
1010
this.repoInfo = gitRepoInfo();
1111
}
1212

13+
getPrimaryBranch() {
14+
return 'master';
15+
}
16+
1317
getRootURL() {
1418
let repository = this.project.pkg.repository || '';
1519
let info = hostedGitInfo.fromUrl(repository.url || repository);

0 commit comments

Comments
 (0)