Source files for the TU Delft Bicycle Laboratorium's website.
- The website is built using Pelican. Review the Pelican documentation to get familiar with how to create pages and articles.
- The source files are in the git branch called
source
. This is the default branch of the repository. The HTML files are generated in a Github Action and pushed to themaster
branch, which is automatically served to http://mechmotum.github.io. Don't manually edit files in themaster
branch (except if a special need arises). - All articles, pages, and similar content should be written in reStructuredText. See the Sphinx reStructuredText primer to learn the syntax.
- All changes, in general, should be submitted as Github pull requests. Don't
commit directly to the
source
branch. Doing so will ensure that the website is at least built with no errors on the CI service. - Binary Assets such as images, videos, etc should be served from an external
hosting site. The information for pushing binary objects to the Dreamhost
DreamObject bucket is in the Fietslab Commons Google Drive. Do not commit
binary assets to this Github repository. Images should be all lower case
unique filenames with a
-
to separate words, for example:my-image-for-this-blog-post.png
. All assets are store in the same directory on the object store and should have unique file names.
It is good practice to build the documentation locally so that you can review change before submitting a pull request.
First, clone the Pelican plugin repository:
$ git clone git@github.com:getpelican/pelican-plugins.git
Note the path to the plugin repository, e.g.:
/home/my_username/.../pelican-plugins
Clone the theme repository (you want the mechmotum branch to be active because we have custom edits on the theme):
$ git clone -b mechmotum git@github.com:mechmotum/pelican-alchemy.git
Note the path to the theme, e.g.:
/home/my_username/.../pelican-alchemy
Clone your fork of this repository and change into the new directory:
$ git clone git@github.com:<your github username>/mechmotum.github.io.git $ cd mechmotum.github.io/
Create a configuration file called config.yml
and add the full path to
where you installed the plugins and theme (note the added /alchemy subfolder in
THEME_PATH):
$ echo "THEME_PATH: /home/my_username/.../pelican-alchemy/alchemy" > config.yml $ echo "PLUGIN_PATHS: /home/my_username/.../pelican-plugins" >> config.yml
Create a conda environment with pelican and the other needed dependencies:
$ conda env create -f env.yml $ conda activate bikelab-website
Now you can build and serve the documentation with this Make command (not available on Windows by default):
(bikelab-website)$ make devserver
or using Invoke (works on all operating systems):
(bikelab-website)$ invoke livereload
If this succeeds you can open the website in your web browser at http://localhost:8000.
While the server is running you can change the website source files and they
will be build automatically. Refresh your web browser to view the changes. Use
<Ctrl>+C
to kill the webserver.
The first step is to create a new branch that will hold the commits for your changes:
$ git checkout -b my-branch-name
Now edit existing files, create new files and add with git add
my-new-file.rst
, or move or remove things as needed. Once you are happy with
your changes (use make devsever
as explained above to check), the commit
your changes:
$ git commit -am "My edits to the website."
Now push your branch to your fork on Github:
$ git push origin my-branch-name
You should see a message in the response with a URL for opening a pull request on the primary repository. Click that and then open the pull request on Github. As you get feedback on the pull request, add new commits to this branch and push those to your fork. The pull request will update automatically with your changes.
$ git commit -am "My fixes based on feedback in the PR." $ git push origin my-branch-name
This repository is licensed under the CC-BY 4.0 license.