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.orgrepository- Hugo (extended version 0.145 or later), a static site generator that builds the website.
- Go (version 1.23.0 or later), the runtime for Hugo and its associated features. This may install with Hugo, depending on your install method. Run
go versionafter installing Hugo to verify. - dart-sass (version 1.90.0 or later), the current Sass processor, which doesn't ship with Hugo.
- npm (or another package manager) to install the bootstrap package, which Hugo needs for styling.
Note
Version references on here are recommendations and known to work as of the the last update to the repo. Versions prior to the listed ones may work, but are not guaranteed to, due to breaking changes in both Dart-Sass and Hugo. Likewise, while we try to reasonably keep up with version changes, future versions may also introduce breaking changes. If you run into troubles not addressed in the Troubleshooting session, then try with the exact versions mentioned above.
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. 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.orgrepository:cd <path-to-repo>/o3de.org hugo mod get npm install
-
Open a terminal or shell and navigate to the
o3de.orgrepository.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 stopThe above command starts a server on
localhostusing 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=falseswitch 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.
- Download the o3de/hugo-odie theme to the same parent folder in which you've downloaded this repo
- In hugo.toml, uncomment the hugo-odie
replacementsline to alias the reference to hugo-odie - Rebuild the o3de site
Important
Remember to undo the uncomment before opening a PR for your changes!
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.145 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.PageThis 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.orgrepository: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]