Contents from this repository are published at "https://unikraft.org/" with sub-links available from the top bar:
- documentation: "https://unikraft.org/docs/"
- community information (including hackathons): "https://unikraft.org/community/"
- blog: "https://unikraft.org/blog/"
The Unikraft site is written in Markdown and published via Hugo and the Docsy theme.
You can build the site inside a Docker environment. For this, you will need to install Docker-CE. You can do that by following the instructions here, or by running:
Note: Building the site inside a Docker environment is highly recommended, since you will work in the same environment as the deployed site, so there will be no errors regarding packages version or filesystem layout.
curl -fsSL https://get.docker.com/ | sh
To then deploy the site, run:
$ make container
$ make devenv
# To be run inside the docker env
$ npm install
$ make serve
You may need admin privileges to run the first 2 commands.
You can also build the site natively.
For a native build, you need to install hugo
.
You can do it by following the instructions here.
Then, to build and deploy the site, run:
$ hugo serve
Note: This may lead to errors due to different hugo
versions or other environment problems.
The problems can be avoided by building the webside inside a Docker environment.
If you choose to build the site natively, make sure you use Hugo v0.98.0
.
After building and deploying the site, hugo
provides instructions on accessing and using it:
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Access the http://localhost:1313/
URL in the browser to view the site.
If you are trying to add or update content on this repository, there are some things you should have in mind.
You can refer to different pages and sections in the site by using paths starting from content/en
directory.
For example, say you want to add a reference to the development/booting
page.
Inside the repository, the file used to render the page can be found here, its location from the repository root being content/en/docs/develop/booting.md
.
To achieve this, you can add the following line in your working .md
page:
[your reference](docs/develop/booting)
givind the path of the file starting after the content/en
directory.
You can also refer specific sections of one page by adding /#section
to the end of the path.
You can find the sections of a page listed on the rigth side of the page.
For example, a reference to the ARM
section of the booting page would look like this:
[your reference](docs/develop/booting/#arm)