https://aileron-projects.github.io/
This repository contains website contents
In additions to the documentation managed in this repository, documentations of sub-projects are also aggregated and hosted.
This idea is just like Antra which is used by Spring project. But we do not use Antra to keep this project and documentation mechanism quite simple.
Document aggregation is scripted in
- GitHub workflow (.github/workflows/gh-pages.yaml).
- Shell Script (make.sh called from the workflow).
- Make (Makefile called from the shell).
block-beta
columns 3
space:1
website["🟪 <b>aileron-projects.github.io</b></br>(This repository)"]
space:1
space:3
project1["🟩 <b>Sub Project Foo</b></br>TAG: v1.0.0</br>TAG: v1.0.1</br>TAG: v1.0.3</br>..."]
project2["......"]
project3["🟩 <b>Sub Project Bar</b></br>TAG: v2.1.0</br>TAG: v2.2.0</br>TAG: v2.3.0</br>..."]
website --"fetch"--> project1
website --"fetch"--> project2
website --"fetch"--> project3
- Create project folder in content/.
- See the content/go/ for example.
- Prepare
build.sh
in the directory.
- Add
build.sh
path in the Makfile. - Add project link in hugo.yaml.
- Project link should go in the
params.versions
.
- Project link should go in the
- Commit changes.
Sub-projects must have documentation structure described here.
Documents must be saved in docs/website/
.
See the example in aileron-example/.
If documents follow this structure,
${project-repo}/
└── docs/
└── website/
├── foo/
│ ├── _index.en.md
│ ├── example.go
│ └── some-image.svg
├── bar/
│ ├── index.en.md
│ ├── example.go
│ └── some-image.svg
└── baz/
├── alice.en.md
└── bob.en.md
Non markdown (*.md
) files are moved into the static/ directory.
the actual website structure becomes as follows.
${tag}/
├── foo --- /${tag}/foo
├── bar --- /${tag}/bar
└── baz/ --- /${tag}/baz
├── alice --- /${tag}/baz/alice
└── bob --- /${tag}/baz/bob
Basically, use _index.md
to keep directory structure simple.
Environment setup
- Install Hugo Extended Version.
- Install Dart Sass.
- Install Node.js.
Run on local
git clone --recursive https://github.com/aileron-projects/aileron-projects.github.io.git
cd aileron-projects.github.io
npm install
cd themes/docsy/ && npm install
cd ../../
hugo server -D
Hugo and docsy versions used to build the website are written in the .github/workflows/gh-pages.yaml.
See also hugo CLI documentations.