# Varia website > https://varia.zone/ ## Pelican The Varia website is made with Pelican, a static site generator written in Python. This means that the website is first generated on a computer (using Python, Jinja and Pelican) into a set of html pages, files and images. This set of documents is then uploaded to the server. One of the things that Pelican uses is *plugins*. They are used to add extra features to the generation process of the website. In this repository there is a folder called 'plugins' and another one called 'plugins-custom'. The first one, 'plugins', is linked to the offical collection of plugins from the Pelican project '[pelican-plugins](https://github.com/getpelican/pelican-plugins/)'. The other one, 'plugins-custom', consists of plugins that we wrote ourself. ## Clone To clone both the varia.website and pelican-plugins repository, add the --recurse-submodules option in your git clone command: `$ git clone https://git.vvvvvvaria.org/varia/varia.website.git --recurse-submodules` If you forgot to clone with the submodile argument, you can still do it with the following command: `$ git submodule update --init --recursive` ## Install $ pip3 install -r requirements.txt ## Start You can make use of the makefile, for example by running the following command to start a python server: `$ make devserver` Visit the website at localhost:8000 To see what is in the makefile, try: `$ make help` ## Update submodules We are currently using two submodules: * pelican-plugins ([https://github.com/getpelican/pelican-plugins](https://github.com/getpelican/pelican-plugins)) * plugins-custom ([https://git.vvvvvvaria.org/varia/plugins-custom](https://git.vvvvvvaria.org/varia/plugins-custom)) To update these submodules within your (already) cloned repository, first init the submodule, and then update it: `cd /path/to/submodule` `git submodule init` `git submodule update` ## Posting Content We're using Pelican to generate a static website. The main way to add content to the website is by making 'posts' in the folder `content`. This can be done either locally or via the gitlab interface by creating a new file. Make sure that each article contains at least the following at the top of the document: Title: een nieuw initiatief Date: 2017-07-07 18:32 Category: news Tags: event, workshop slug: the-name-of-the-html-page lang: nl OR en Articles are written in a markup language called markdown. [Here](https://daringfireball.net/projects/markdown/syntax) is an overview of the syntax. You can also use the online editor in gitlab to help you.