This repository contains the website and documentation for Open 3D Engine (O3DE).
If you would like to build a local version of the site, all it takes is cloning this repo, following the local instructions, and under a minute for a build. For more information, refer to Contributing to O3DE Documentation
Otherwise, documentation is browsable in this repository at content/docs
. API documentation is stored in this repository at static/docs/api
, generated using the default Doxygen HTML templates. You can browse the API references without needing to install Hugo, NodeJS, or build the website.
If you are working on the documentation or interested in seeing a specific branch of the documentation, you can build the O3DE website on your local machine.
To build the O3DE website locally, you need the items below.
o3de.org
repository- Hugo (extended version 0.93 or later), a static site generator that builds the website.
- npm (or another package manager) to install the bootstrap package, which Hugo needs for styling.
You can download this repository or clone it onto your local machine. Cloning the repository will copy the whole repository to your local machine. This allows you to contribute to the documentation, such as pull the latest changes, create branches, and make pull requests.
- To download, click on the green Code button on this website and select Download ZIP.
- To clone
- Open a terminal or shell in the directory where you want this repository to be in.
- Run the command
git clone https://github.com/o3de/o3de.org.git
.
-
To install Hugo (extended version), follow the instructions for your machine in the Hugo documentation.
Note: You must install the extended version of Hugo, version 0.93 or later. If downloading a prebuilt binary, make sure the filename starts with
hugo_extended
. -
To install npm, follow the instructions in the npm documentation. Installing npm also installs Node.js.
-
To install dependencies, run the following command from the
o3de.org
repository:cd <path-to-repo>/o3de.org npm install
-
Open a terminal or shell and navigate to the
o3de.org
repository.cd <path-to-repo>/o3de.org
-
Run the command
hugo server
.$ hugo server Start building sites … | EN -------------------+-------- Pages | 902 Paginator pages | 0 Non-page files | 0 Static files | 17173 Processed images | 0 Aliases | 0 Sitemaps | 1 Cleaned | 0 Built in 10394 ms Watching for changes in C:\O3DE\o3de.org\{assets,content,layouts,package.json,static} Watching for config changes in C:\O3DE\o3de.org\config.toml Environment: "development" Serving pages from memory Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender Web Server is available at http://localhost:1313/ (bind address 127.0.0.1) Press Ctrl+C to stop
The above command starts a server on
localhost
using an available port (usually1313
). The command prints the address and port in the console. You can view your server in a web browser. The server will continue to run as long as the terminal that is running the server remains open. If you need to view the site over a network connection, you can use the command below to specify a server and port.hugo server --port 44541 --bind=0.0.0.0
Note, for macOS platform, you must run Hugo with the
--watch=false
switch enabled. For example:hugo server --port 44541 --bind=0.0.0.0 --watch=false
-
To view a local build of the O3DE website, open a web browser and go to http://localhost:1313/.
You can now view the O3DE website on your local machine! Find the O3DE documentation under the Learn section of the O3DE website.
Running hugo server
outputs the following warning:
WARN ... Module "project" is not compatible with this Hugo version; run "hugo mod graph" for more information.
This indicates that you are not using the correct edition or version of Hugo. The o3de.org
website requires Hugo extended edition, version 0.93 or later.
Install the latest release of Hugo extended, following the instructions for your machine in the Hugo documentation. If downloading a prebuilt binary, make sure the filename starts with hugo_extended
.
Running hugo server
outputs the following error:
ERROR ... render of "page" failed: execute of template failed: template: blog/single.html:8:7: executing "main" at <partial "blog/content.html" .>: error calling partial: "C:\o3de.org\layouts\partials\blog\content.html:10:17": execute of template failed: template: partials/blog/content.html:10:17: executing "partials/blog/content.html" at <.Page.Store.Get>: can't evaluate field Store in type page.Page
This indicates that you are using an older version of Hugo that does not support the field page.Store.
Install the latest release of Hugo extended, following the instructions for your machine in the Hugo documentation. If downloading a prebuilt binary, make sure the filename starts with hugo_extended
.
Running hugo server
outputs the following error:
Error: Error building site: TOCSS: failed to transform "blah.sass" (text/x-sass): SCSS processing failed: file "stdin", line 26, col 1: File to import not found or unreadable: bootstrap/scss/functions.
This indicates that your local o3de.org
repository may be missing bootstrap, or that the wrong version is installed. Similar errors may indicate that other dependent packages are missing.
For a complete list of required dependencies, see package.json
.
-
Open a shell or terminal and navigate to
o3de.org
repository:cd <path-to-repo>/o3de.org
-
Verify that the required dependencies have been installed by running the command,
npm list
. This outputs the list of dependencies and indicates whether or not they've been installed. -
Install missing dependencies. You can install all of the dependencies by running the command,
npm install
. Or, you can install a specific dependency. For example:npm install [email protected]
If you are on a Mac (particularly an ARM Mac) and have confirmed you have Bootstrap installed, but are still getting this error, it is very likely a known issue with libsass and Mac's file limits.
Installing an earlier version of Hugo:
-
Download v0.115.3 extended from the release archive and extract the archive.
-
To use it alongside an existing copy of Hugo, copy the
hugo
executable into/usr/local/bin
and rename it to distinguish it from your existing version (for example,hugo1153
). -
Open the executable with
cmd+click
and selectOpen
from the context menu and accept the security popup, warning about an unsigned application. -
Call the executable in the command line to run server (for example,
hugo1153 server
).
Alternatively, you can increase your maxfiles ulimit
. The process for this varies dramatically depending on Mac OS version, so consult the documentation for the version you are running.