.. | ||
blog | ||
community | ||
docs | ||
src | ||
static | ||
.gitignore | ||
babel.config.js | ||
docusaurus.config.js | ||
package.json | ||
README.md | ||
sidebars-community.js | ||
sidebars.js |
Premake Website
Premake website is built using Docusaurus 2, a modern static website generator. Search functionality is provided for free by Algolia DocSearch.
All docs pages can be found in the docs/
folder.
Adding a new entry to the docs
Editing our documentation website is very simple. You don't have to build a whole website for this. All pages are stored in Markdown files, so in order to add a new entry:
- Add a new Markdown file into the
docs/
folder. Follow naming conventions there. - Add your Markdown file's name into the
sidebars.js
. Make sure you've kept alphabetical order among category items.
Use other files as references.
Installation
npm install
Local Development
npm start
This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.
To see a list of broken links (mistakes happen!), be sure to run npm run build
before submitting updates. Your changes will be rejected if they contain broken links.
Build
npm run-script build
This command generates static content into the build
directory and can be served using any static contents hosting service.
GitHub Actions
- Every push and pull request that affects anything in
website/**
will trigger website build (to make sure that no errors like broken links were introduced) - Every push to the master branch in this repo that affects anything in
website/**
will trigger website deployment. It means that the website will be built and pushed to the master branch of premake.github.io.
Deployment
Target repo for deployment is specified in docusaurus.config.js
.
organizationName
is a GitHub account name: github.com/premake/premake.github.ioprojectName
is a target repository: github.com/premake/premake.github.io
docusaurus deploy
command is used to automatically build and push static files into premake.github.io repo.
Deployments are authenticated by a key pair. The private key is hosted in premake-core
in Settings > Secrets. The public key is host in premake.github.io
in Settings > Deploy Keys.