Docusaurus was created to hopefully make it super simple for you to create a site and documentation for your open source project.
After installation and preparation, much of the work to create a basic site for your docs is already complete.
Site Structure
Your site structure looks like the following:
root-directory├── docs└── website├── blog├── core│ └── Footer.js├── package.json├── pages├── sidebars.json├── siteConfig.js└── static
This assumes that you removed the example
.mdfiles that were installed with the initialization script.
All of your documentation files should be placed inside the docs directory as markdown .md files. Any blog posts should be inside the blog directory.
The blog posts must be formatted as
YYYY-MM-DD-your-file-name.md
Create Your Basic Site
To create a fully functional site, you only need to do a few steps:
Add your documentation to the
/docsdirectory as.mdfiles, ensuring you have the proper header in each file. One example header would be the following, whereidis the link name (e.g.,docs/intro.html) and thetitleis the webpage’s title.---id: introtitle: Getting Started---My new content here..
- Add zero or more docs to the
sidebars.jsonfile so that your documentation is rendered in a sidebar if you choose them to be.
If you do not add your documentation to the
sidebars.jsonfile, the docs will be rendered, but they can only be linked to from other documentation and visited with the known URL.
- Modify the
website/siteConfig.jsfile to configure your site, following the comments included in the docs and thewebsite/siteConfig.jsto guide you. - Create any custom pages and/or customize the
website/core/Footer.jsfile that provides the footer for your site. - Place assets, such as images, in the
website/static/directory. Run the site to see the results of your changes.
cd website yarn run start # or
npm run startNavigate to http://localhost:3000
Special Customization
Docs Landing Page
If you prefer to have your landing page be straight to your documentation, you can do this through a redirect.
- Remove the
index.jsfile from thewebsite/pagesdirectory, if it exists. Add a custom static
index.htmlpage in thewebsite/staticdirectory with the following contents:<!DOCTYPE html><html lang="en-US"><head><meta charset="UTF-8" /><metahttp-equiv="refresh"content="0; url=docs/id-of-doc-to-land-on.html"/><script type="text/javascript">window.location.href = 'docs/id-of-doc-to-land-on.html';</script><title>Your Site Title Here</title></head><body>If you are not redirected automatically, follow this<a href="docs/id-of-doc-to-land-on.html">link</a>.</body></html>
You will get the
idof the document to land on the.mdmetadata of that doc page.
Blog Only
You can also use Docusaurus to host your blog only.
