o3de / o3de.org

The O3DE website
Other
86 stars 164 forks source link

Open 3D Engine Website & Documentation

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.

Build the website locally

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.

Download the repository

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.

Setup Hugo, npm, and dependencies

  1. 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.

  2. To install npm, follow the instructions in the npm documentation. Installing npm also installs Node.js.

  3. To install dependencies, run the following command from the o3de.org repository:

    cd <path-to-repo>/o3de.org
    npm install

Build the site

  1. Open a terminal or shell and navigate to the o3de.org repository.

    cd <path-to-repo>/o3de.org
  2. 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 (usually 1313). 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
  3. 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.

Troubleshooting

Issue: Module not compatible

Running hugo server outputs the following warning:

WARN ... Module "project" is not compatible with this Hugo version; run "hugo mod graph" for more information.

Description

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.

Steps to fix

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.

Issue: Render of page failed / Can't evaluate field Store in page.Page

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

Description

This indicates that you are using an older version of Hugo that does not support the field page.Store.

Steps to fix

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.

Issue: SCSS processing failed

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.

Description 1

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.

Steps to fix

  1. Open a shell or terminal and navigate to o3de.org repository: cd <path-to-repo>/o3de.org

  2. 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.

  3. 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 bootstrap@4.6.1

Description 2

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.

Steps to fix

Installing an earlier version of Hugo:

  1. Download v0.115.3 extended from the release archive and extract the archive.

  2. 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).

  3. Open the executable with cmd+click and select Open from the context menu and accept the security popup, warning about an unsigned application.

  4. 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.