Here are the essential parts of this project's file structure. The first,
dceu2019/
contains a Django project and hugo_site/
contains the
Hugo <https://gohugo.io/>
__ project for static site generation (the main
site)::
. ├── dceu2019 # <= Django project │ ├── db.sqlite3 # <= NOT in repo │ ├── init.py │ ├── manage.py │ ├── MANIFEST.in │ ├── media │ ├── README.md │ ├── setup.cfg │ ├── setup.py │ ├── src │ │ ├── dceu2019 │ │ │ ├── apps │ │ │ │ └── init.py │ │ │ ├── init.py │ │ │ ├── locale │ │ │ ├── settings │ │ │ │ ├── base.py │ │ │ │ ├── dev.py │ │ │ │ ├── init.py │ │ │ │ ├── local.py # <= NOT in repo │ │ │ │ ├── pretalx.py │ │ │ │ └── production.py │ │ │ ├── static │ │ │ ├── templates │ │ │ ├── urls.py │ │ │ └── wsgi.py │ │ └── init.py │ └── staticfiles │ └── ... └── hugo_site # <= Hugo project ├── content # <= This is where all the content lives! │ └── ... └── themes └── dceu2019 # <= The theme ├── layouts # <= HTML templates ├── static # <= CSS etc └── ...
We use a static main site because we want to archive the main conference website as easily as possible. We are using the latest Hugo from the Debian repositories, but the version from Ubuntu 18.04 is too old.
See below method to directly fetch 2 .deb files from a Debian mirror and install them.
.. code-block:: console
$ wget https://mirror.csclub.uwaterloo.ca/debian/pool/main/libs/libsass/libsass1_3.5.5-4_amd64.deb -O /tmp/libsass1.deb $ wget https://mirror.csclub.uwaterloo.ca/debian/pool/main/h/hugo/hugo_0.55.6+really0.54.0-1_amd64.deb -O /tmp/hugo.deb $ sudo dpkg -i /tmp/hugo.deb /tmp/libsass1.deb
$ cd hugo_site
$ hugo server
The Django project will be used before and during the conference for planning purposes: Talk submissions, scheduling, and ticket holder services such as ride sharing and accommodation sharing.
You can install and work on a development version following these steps:
.. code-block:: console
$ mkvirtualenv -p python3
$ pip install -e "dceu2019[dev]"
$ pre-commit install
$ python dceu2019/manage.py
$ python dceu2019/manage.py migrate
$ python dceu2019/manage.py init
$ python dceu2019/manage.py runserver
Add an item to the array in this file: hugo_site/data/sponsors.json
, and logo image here: hugo_site/static/static/sponsors/
.. code-block:: json
{ "name": "Company Name", "logo": "logo.png", "website": "#" }