diff --git a/packages/create-app/templates/default-app/app-config.yaml.hbs b/packages/create-app/templates/default-app/app-config.yaml.hbs
index a8e1e194a0..aff375ad29 100644
--- a/packages/create-app/templates/default-app/app-config.yaml.hbs
+++ b/packages/create-app/templates/default-app/app-config.yaml.hbs
@@ -42,7 +42,7 @@ proxy:
changeOrigin: true
techdocs:
- storageUrl: https://techdocs-mock-sites.storage.googleapis.com
+ storageUrl: http://localhost:7000/techdocs/static/docs
auth:
providers: {}
diff --git a/packages/create-app/templates/default-app/packages/app/package.json.hbs b/packages/create-app/templates/default-app/packages/app/package.json.hbs
index 57e705d4fc..7d34a94c7b 100644
--- a/packages/create-app/templates/default-app/packages/app/package.json.hbs
+++ b/packages/create-app/templates/default-app/packages/app/package.json.hbs
@@ -10,6 +10,7 @@
"@backstage/plugin-catalog": "^{{version}}",
"@backstage/plugin-register-component": "^{{version}}",
"@backstage/plugin-scaffolder": "^{{version}}",
+ "@backstage/plugin-techdocs": "^{{version}}",
"@backstage/test-utils": "^{{version}}",
"@backstage/theme": "^{{version}}",
"history": "^5.0.0",
diff --git a/packages/create-app/templates/default-app/packages/app/src/App.test.tsx b/packages/create-app/templates/default-app/packages/app/src/App.test.tsx
index a05924ee00..e88c3b47dd 100644
--- a/packages/create-app/templates/default-app/packages/app/src/App.test.tsx
+++ b/packages/create-app/templates/default-app/packages/app/src/App.test.tsx
@@ -11,6 +11,9 @@ describe('App', () => {
data: {
app: { title: 'Test' },
backend: { baseUrl: 'http://localhost:7000' },
+ techdocs: {
+ storageUrl: 'http://localhost:7000/techdocs/static/docs',
+ },
},
context: 'test',
},
diff --git a/packages/create-app/templates/default-app/packages/app/src/apis.ts b/packages/create-app/templates/default-app/packages/app/src/apis.ts
index 4cc2ebe03a..7fc59cc9d7 100644
--- a/packages/create-app/templates/default-app/packages/app/src/apis.ts
+++ b/packages/create-app/templates/default-app/packages/app/src/apis.ts
@@ -18,11 +18,17 @@ import { catalogApiRef, CatalogClient } from '@backstage/plugin-catalog';
import { scaffolderApiRef, ScaffolderApi } from '@backstage/plugin-scaffolder';
+import {
+ techdocsStorageApiRef,
+ TechDocsStorageApi,
+} from '@backstage/plugin-techdocs';
+
export const apis = (config: ConfigApi) => {
// eslint-disable-next-line no-console
console.log(`Creating APIs for ${config.getString('app.title')}`);
const backendUrl = config.getString('backend.baseUrl');
+ const techdocsStorageUrl = config.getString('techdocs.storageUrl');
const builder = ApiRegistry.builder();
@@ -43,5 +49,10 @@ export const apis = (config: ConfigApi) => {
builder.add(scaffolderApiRef, new ScaffolderApi({ discoveryApi }));
+ builder.add(
+ techdocsStorageApiRef,
+ new TechDocsStorageApi({ apiOrigin: techdocsStorageUrl }),
+ );
+
return builder.build();
};
diff --git a/packages/create-app/templates/default-app/packages/app/src/plugins.ts b/packages/create-app/templates/default-app/packages/app/src/plugins.ts
index 4063fb509b..f6bef70188 100644
--- a/packages/create-app/templates/default-app/packages/app/src/plugins.ts
+++ b/packages/create-app/templates/default-app/packages/app/src/plugins.ts
@@ -1,3 +1,4 @@
export { plugin as CatalogPlugin } from '@backstage/plugin-catalog';
export { plugin as RegisterComponent } from '@backstage/plugin-register-component';
export { plugin as ScaffolderPlugin } from '@backstage/plugin-scaffolder';
+export { plugin as TechDocsPlugin } from '@backstage/plugin-techdocs';
diff --git a/packages/create-app/templates/default-app/packages/app/src/sidebar.tsx b/packages/create-app/templates/default-app/packages/app/src/sidebar.tsx
index 69ba469130..6520dfbe6e 100644
--- a/packages/create-app/templates/default-app/packages/app/src/sidebar.tsx
+++ b/packages/create-app/templates/default-app/packages/app/src/sidebar.tsx
@@ -1,5 +1,6 @@
import React from 'react';
import HomeIcon from '@material-ui/icons/Home';
+import LibraryBooks from '@material-ui/icons/LibraryBooks';
import CreateComponentIcon from '@material-ui/icons/AddCircleOutline';
import {
Sidebar,
@@ -17,6 +18,7 @@ export const AppSidebar = () => (
{/* Global nav, not org-specific */}
+
{/* End global nav */}
diff --git a/packages/create-app/templates/default-app/packages/backend/src/plugins/techdocs.ts b/packages/create-app/templates/default-app/packages/backend/src/plugins/techdocs.ts
index a7b713fcb6..dfd9eb5e33 100644
--- a/packages/create-app/templates/default-app/packages/backend/src/plugins/techdocs.ts
+++ b/packages/create-app/templates/default-app/packages/backend/src/plugins/techdocs.ts
@@ -1,6 +1,7 @@
import {
createRouter,
DirectoryPreparer,
+ GithubPreparer,
Preparers,
Generators,
LocalPublish,
@@ -15,12 +16,15 @@ export default async function createPlugin({
}: PluginEnvironment) {
const generators = new Generators();
const techdocsGenerator = new TechdocsGenerator(logger);
+
generators.register('techdocs', techdocsGenerator);
- const directoryPreparer = new DirectoryPreparer(logger);
const preparers = new Preparers();
+ const directoryPreparer = new DirectoryPreparer(logger);
+ const githubPreparer = new GithubPreparer(logger);
preparers.register('dir', directoryPreparer);
+ preparers.register('github', githubPreparer);
const publisher = new LocalPublish(logger);