|
|
|
# nooo-hbsc
|
|
|
|
|
|
|
|
The new homebrewserver.club website.
|
|
|
|
|
|
|
|
> https://homebrewserver.club/
|
|
|
|
|
|
|
|
## Build the site locally
|
|
|
|
|
|
|
|
### 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
|
|
|
|
$ invoke livereload
|
|
|
|
```
|
|
|
|
|
|
|
|
And then the Pelican development server will automatically reload
|
|
|
|
when you make changes. It is also possible to use:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ pelican --autoreload --listen --relative-urls
|
|
|
|
```
|
|
|
|
|
|
|
|
However, this will not automatically refresh your browser page.
|
|
|
|
|
|
|
|
### 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
|
|
|
|
|
|
|
|
Just run the usual:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ git push origin master
|
|
|
|
```
|