84 lines
2.0 KiB
Markdown
84 lines
2.0 KiB
Markdown
# nooo-hbsc
|
|
|
|
The new homebrewserver.club website :)
|
|
|
|
> https://homebrewserver.club/
|
|
|
|
## Build the site locally
|
|
|
|
### Get a local copy
|
|
|
|
```bash
|
|
$ git clone --recurse-submodules https://git.vvvvvvaria.org/varia/nooo-hbsc
|
|
```
|
|
|
|
### System requirements
|
|
|
|
Install the system requirements:
|
|
|
|
```bash
|
|
$ apt install -y python3 python3-dev python3-venv
|
|
```
|
|
|
|
### Python requirements
|
|
|
|
Then create a virtual environment and activate it:
|
|
|
|
```bash
|
|
$ python3 -m venv .venv
|
|
$ source .venv/bin/activate
|
|
```
|
|
|
|
Then install the requirements:
|
|
|
|
```bash
|
|
$ pip install -r requirements.txt
|
|
```
|
|
|
|
### Generating the site
|
|
|
|
Generate the content and run the server:
|
|
|
|
```bash
|
|
$ pelican content
|
|
$ pelican --listen --relative-urls
|
|
```
|
|
|
|
Then the site is available at the following URL:
|
|
|
|
> http://localhost:8000
|
|
|
|
## Working with the site
|
|
|
|
* Website articles and content are in [content](./content)
|
|
* The website theme is in [themes/homebrewtheme](./themes/homebrewtheme)
|
|
* Images are stored in [content/images](./content/images)
|
|
* Configs are stored in [content/downloads](./content/downloads)
|
|
|
|
While working on the site, you can run the following:
|
|
|
|
```bash
|
|
$ pelican --autoreload --listen --relative-urls
|
|
```
|
|
|
|
### Writing drafts
|
|
|
|
Use `Status: draft` in the article metadata. When the site is generated, the
|
|
`output/drafts` folder will be created with your new draft article. This allows
|
|
us to work on new articles and still store the pages here in the repository.
|
|
|
|
## Deploying the site
|
|
|
|
We have a Git hook setup, so just push as you would as normal:
|
|
|
|
```
|
|
$ git push origin master
|
|
```
|
|
|
|
Details for maintaining the hook on the Varia server are:
|
|
|
|
* We have cloned the site in `/srv/gitea/clones/homebrewserver.club`
|
|
* We have create a hook deployment script in `/srv/gitea/gitea-repositories/varia/homebrewserver.club.git/hooks/post-update`
|
|
|
|
How it works: when someone runs a `git push origin master`, the script in the `post-update` will run after the updating is finished. In this script, we run all the steps to publish the site as per usual. Such as running `pip install -r requirements.txt` and `pelican` to generate the new output.
|