mirror of
https://github.com/ETLCPP/etl.git
synced 2026-06-15 08:26:04 +08:00
* Add ranges * Initial Hugo setup * Work in progress * Added selection for local or remote site * Updated to 'light' theme * Changed to using Hextra Hugo theme * Changed to using Hextra Hugo theme * Changed to Hextra Hugo theme * Change to Hextra Hugo theme * Updated Hugo setup. * Updated Hugo setup. # Conflicts: # docs/releases/_index.md * Work in progress * Added new fonts Added new documentation * Latest documentation updates * Latest documentation updates # Conflicts: # docs/containers/array.md # docs/containers/array_view.md # docs/containers/array_wrapper.md # docs/containers/bip_buffer_spsc_atomic.md # docs/containers/bitset.md # docs/containers/indirect_vector.md # docs/containers/vector.md # docs/getting-started/compilers.md * Added bloom_filter markdown doc * Added more documentation Updated CSS for light and dark modes * Fixed some menus Added mode documentation files * Updated CSS rules Added badges to home page Added uniqur_ptr + pool tutorial * Fixed formatting on the home page markdown Modified light amd dark code formatting * Updated unique_ptr-with-pool * Added container and shared message tutorials * Updates to documentation * Added const_multimap * Updated source-formatting.md * Added initial raw text files form Web site editor * Innore coverage build directory * Exported raw text documentation files from the web site editor * Hugo updates * Added Hugo intalation and markdown descriptions * More addition to the documentation * Added closure.md and updates to delegate.md * Added format.md * Added documentation for etl::delegate_observable, etl::function, Base64 codec * Added io_port documentation * Added basic_format_spec * Added documentation for string_stream and string utilities. * Added more documentation Updated the documentation CSS * Added documentation for clocks, day, duration * Added more documentation for chrono classes Updated callouts * More chrono documentation * Completed chrono documentation * Maths functions documentation * Completed maths documentation * Completed maths documentation * Completed maths documentation * Completed maths documentation * Added multiple documentation files * Added iterator.md * Added debug_count.md and versions.md * Added debug_count.md and versions.md * Added more documentation * More documentation * Added some design pattern documentation Modified some of the layout files Modified the About documentation * Converted more documentation pages Modified the site CSS * Added more documentation Moced some documentation files to new directories * Added more documentation Tweaks to CSS * Added callback_timer_deferred_locked documentation * Added callback_timer_locked documentation * More documentation updates * More documentation updates * More documentation updates * New documentation files. Harmonised file name format * New documentation files. * Multiple document updates * Multiple document updates * Final conversion of web pages * Updates before PR * Updates before PR * Updates before PR # Conflicts: # docs/blog/_index.md * Final pre PR updates * Updates to message framework documentation * Renamed directory * Fix spelling * Added author and date to blog files Moved documentation files merged from development * Fixed 'Description' typo * Fix typos # Conflicts: # docs/IO/io_port.md # docs/containers/sets/const-multiset.md # docs/containers/sets/const-set.md # docs/maths/correlation.md # docs/maths/gamma.md * Renamed two files to lower case * Minor renaming * Added author and date * Updated callout on bresenham_line.md Added support for showing the ETL version on the documentation first page, by copying the version.txt file as a hugo asset. Updated the Python 'update_release.py' to copy 'version.txt' * Replace space in filename with hyphen. Added more information to hugo-commands.md * Replace space in filename with hyphen. Added more information to hugo-commands.md # Conflicts: # docs/getting-started/view-the-docs-locally/hugo-commands.md * Added a link to pseudo_moving_average.md * Updated title pages for groups * Fixed missing 404 for non-existent pages * Fixed coordinate variable names in the 'Calculating the intersection' example --------- Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de> Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com> Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.co.uk>
145 lines
5.5 KiB
Markdown
145 lines
5.5 KiB
Markdown
# Viewing the documentation locally
|
|
|
|
The documentation for this project is built using [Hugo](https://gohugo.io/), a static site generator.
|
|
This guide will walk you through installing Hugo and running the documentation site on your machine.
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
- You must have already cloned this repository, including its submodules (the Hugo themes are stored as submodules).
|
|
- If you cloned without submodules, run this first:
|
|
```bash
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
---
|
|
|
|
## Step 1: Install Hugo Extended
|
|
|
|
This project requires the **extended** version of Hugo, which includes support for additional features such as SCSS/Sass processing.
|
|
Make sure you install the extended version, not the standard one.
|
|
|
|
### Windows
|
|
|
|
1. The easiest way to install Hugo on Windows is via [Chocolatey](https://chocolatey.org/). If you have it installed, open a command prompt as Administrator and run:
|
|
```bash
|
|
choco install hugo-extended -y
|
|
```
|
|
2. If you don't have Chocolatey, you can download Hugo Extended directly from the [Hugo releases page](https://github.com/gohugoio/hugo/releases).
|
|
Download the file named `hugo_extended_x.x.x_windows-amd64.zip`, extract it, and add the folder to your system PATH.
|
|
3. Verify the installation by opening a new command prompt and running:
|
|
```bash
|
|
hugo version
|
|
```
|
|
You should see the word **extended** in the output, for example: `hugo v0.x.x+extended`.
|
|
|
|
### macOS
|
|
|
|
1. The easiest way to install Hugo Extended on macOS is via [Homebrew](https://brew.sh/). Homebrew installs the extended version by default. If you have it installed, open a terminal and run:
|
|
```bash
|
|
brew install hugo
|
|
```
|
|
2. If you don't have Homebrew, you can install it first by following the instructions at [brew.sh](https://brew.sh/), then run the command above.
|
|
3. Verify the installation by running:
|
|
```bash
|
|
hugo version
|
|
```
|
|
You should see the word **extended** in the output, for example: `hugo v0.x.x+extended`.
|
|
|
|
### Linux
|
|
|
|
1. Package managers often provide an older or non-extended version of Hugo, so the recommended approach is to download the latest extended release directly from the [Hugo releases page](https://github.com/gohugoio/hugo/releases).
|
|
Download the file named `hugo_extended_x.x.x_linux-amd64.tar.gz`, then run:
|
|
```bash
|
|
tar -xzf hugo_extended_x.x.x_linux-amd64.tar.gz
|
|
sudo mv hugo /usr/local/bin/
|
|
```
|
|
2. Verify the installation by running:
|
|
```bash
|
|
hugo version
|
|
```
|
|
You should see the word **extended** in the output, for example: `hugo v0.x.x+extended`.
|
|
|
|
---
|
|
|
|
## Step 2: Run the documentation site
|
|
|
|
1. Open a terminal (or command prompt on Windows) and navigate to the `hugo` directory inside the project:
|
|
```bash
|
|
cd hugo
|
|
```
|
|
|
|
2. Start the Hugo development server:
|
|
```bash
|
|
hugo server
|
|
```
|
|
|
|
3. Hugo will start a local web server. You will see output similar to:
|
|
```
|
|
Web Server is available at http://localhost:1313/
|
|
```
|
|
|
|
4. Open your browser and go to **http://localhost:1313/** to view the documentation.
|
|
|
|
---
|
|
|
|
## Stopping the server
|
|
|
|
To stop the Hugo server, go back to your terminal and press **Ctrl+C**.
|
|
|
|
---
|
|
|
|
## Editing the Documentation
|
|
|
|
The documentation source files are located in the `/docs` directory at the root of the repository —
|
|
**not** inside the `hugo` directory. Hugo is configured to mount this directory automatically via
|
|
`hugo.toml`, so any changes you make to files in `/docs` will be picked up by the Hugo development
|
|
server straight away.
|
|
|
|
Here is a quick overview of where things live:
|
|
```
|
|
hugo/
|
|
├── layouts/ # HTML templates (you probably won't need to touch these)
|
|
├── themes/ # The Hugo theme (managed as a git submodule)
|
|
└── hugo.toml # Hugo configuration file (includes the /docs content mount)
|
|
|
|
docs/
|
|
└── section-name/ # Each subdirectory becomes a section in the documentation
|
|
├── _index.md # The landing page for that section
|
|
└── my-page.md # Individual pages within the section
|
|
```
|
|
|
|
### Adding or Editing a Page
|
|
|
|
All documentation pages are written in **Markdown** (`.md` files). To edit an existing page, open
|
|
the relevant `.md` file in the `/docs` directory and make your changes.
|
|
|
|
The documentation is written in [Goldmark](https://github.com/teekennedy/goldmark-markdown) markdown.
|
|
|
|
Hugo uses [Goldmark](https://github.com/teekennedy/goldmark-markdown) as its default Markdown processor for versions 0.60.0 and newer.
|
|
It is built into Hugo, providing high-performance and fully [CommonMark](https://commonmark.org/)-compliant rendering, along with support for [GitHub](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) Markdown.
|
|
|
|
### Starting a New Page
|
|
|
|
A template file is provided at `docs/page-template.md` to use as a starting point. Copy it to the
|
|
appropriate section directory, rename it, and edit the front matter, in particular, change the
|
|
`title` and remove the `draft: true` line, otherwise Hugo will not include your page in the
|
|
documentation.
|
|
|
|
### Previewing Your Changes
|
|
|
|
If you have the Hugo development server running (see [Step 2](#step-2--run-the-documentation-site)),
|
|
your changes will appear in the browser automatically as soon as you save the file. There is no need
|
|
to restart the server.
|
|
|
|
### Images and Other Assets
|
|
|
|
If you need to include images in your documentation, place them in the `hugo/static/` directory and
|
|
reference them in your Markdown like so:
|
|
```markdown
|
|

|
|
```
|
|
|
|
The site will automatically refresh in your browser whenever you save changes to the documentation files.
|