microsite/README.md
This folder holds the service and configuration that runs Backstage's documentation hosted at https://backstage.io.
It pulls content in from the root /docs folder and builds it into the resulting HTML web site.
This website was created with Docusaurus.
Testing the web site locally is a great way to see what final website will look like after publishing, and is ideal for testing more complex changes, large updates to navigation, or complex page designs that may include special alignment, which may not otherwise be validated through continuous integration.
$ yarn install
$ yarn start
This command starts a local development server and opens up a browser window. Most content changes made to the docs/ root folder are reflected live without having to restart the server.
$ yarn build
This command generates static content into the build directory, which is what will be deployed to GitHub pages from the master branch.
Your project file structure should look something like this
my-docusaurus/
docs/
doc-1.md
doc-2.md
doc-3.md
website/
blog/
2016-3-11-oldest-post.md
2017-10-24-newest-post.md
core/
node_modules/
pages/
static/
css/
img/
package.json
sidebars.js
siteConfig.js
Edit docs by navigating to docs/ and editing the corresponding document:
docs/doc-to-be-edited.md
---
id: page-needs-edit
title: This Doc Needs To Be Edited
---
Edit me...
For more information about docs, click here
Edit blog posts by navigating to website/blog and editing the corresponding post:
website/blog/post-to-be-edited.md
---
id: post-needs-edit
title: This Blog Post Needs To Be Edited
---
Edit me...
For more information about blog posts, click here
Create the doc as a new markdown file in /docs, example docs/newly-created-doc.md:
---
id: newly-created-doc
title: This Doc Needs To Be Edited
---
My new content here..
Refer to that doc's ID in an existing sidebar in website/sidebars.js:
// Add newly-created-doc to the Getting Started category of docs
module.exports = {
...
docs: {
"Getting Started": [
"quick-start",
"newly-created-doc" // new doc here
],
...
},
...
}
For more information about adding new docs, click here
Make sure there is a header link to your blog in website/siteConfig.js:
website/siteConfig.js
headerLinks: [
...
{ blog: true, label: 'Blog' },
...
]
Create the blog post with the format YYYY-MM-DD-My-Blog-Post-Title.md in website/blog:
website/blog/2018-05-21-New-Blog-Post.md
---
author: Frank Li
authorURL: https://twitter.com/foobarbaz
authorFBID: 503283835
title: New Blog Post
---
Lorem Ipsum...
For more information about blog posts, click here
Add links to docs, custom pages or external links by editing the headerLinks field of website/siteConfig.js:
website/siteConfig.js
{
headerLinks: [
...
/* you can add docs */
{ doc: 'my-examples', label: 'Examples' },
/* you can add custom pages */
{ page: 'help', label: 'Help' },
/* you can add external links */
{ href: 'https://github.com/facebook/docusaurus', label: 'GitHub' },
...
],
...
}
For more information about the navigation bar, click here
Docusaurus uses React components to build pages. The components are saved as .js files in website/pages/en:
If you want your page to show up in your navigation header, you will need to update website/siteConfig.js to add to the headerLinks element:
website/siteConfig.js
{
headerLinks: [
...
{ page: 'my-new-custom-page', label: 'My New Custom Page' },
...
],
...
}
Learn more about Docusaurus custom pages.
Full documentation can be found on the Docusaurus website.
If you want to make images zoomable on click, add the data-zoomable attribute to your img element.
.md file, convert  syntax to ``Code block line highlighting uses custom magic comments. Currently, we have the following magic comments:
highlight-next-linehighlight-starthighlight-endhighlight-add-next-linehighlight-add-starthighlight-add-endhighlight-remove-next-linehighlight-remove-starthighlight-remove-endA feedback widget is provided by the docusaurus-pushfeedback plugin, which connects to the https://pushfeedback.com service. Styling of the button is configured in microsite/src/theme/customTheme.scss, while the plugin itself is configured in microsite/docusaurus.config.js.
Feedback submissions are connected to an account owned by @Rugvip and are available on request, reach out to @Rugvip on Discord.
To patch the documentation for the stable version, you can submit a PR to the correct patch/v<version> branch. For example, if 1.48.0 is the stable version, you would submit a fix to the branch patch/v1.48.0. Once your fix is in, you can trigger the deploy_microsite GH action (or wait until the next run on master) and you should see the fix on the stable version at https://backstage.io/docs.