Step 2 - Understand the Pelican Files and Folders

Step two, we're going to look at the files that was set up when we ran pelican-quickstart

The Python syntax is super easy to read and follow. Pelican is also very simple and ideal for you as an introduction to programming. This tutorial will help you set up a blog, a website or both depending on what need is. And host it on GitHub for the world to see.

Ways to look at the files

You just use, your notepad to look at the files and the programming, however there are various integrated development environments (IDE) that make it a lot easier.

integrated development environments color codes the files, which help you navigate the files.

  • When you installed Python, you also installed Idle. Idle is Python's integrated development environment.
  • Visual Studio Code, developed by Microsoft, is another IDE. It is free to use and works well with Python also.

The content folder

Once you start creating pages, the content folder will contain for example your blog posts.

The output folder

The output folder will contain the files that you will be uploading

The Makefile

The Makefile is the instructions within Pelican to make the HTML files and how to serve the pages up to your browers, so you can see them.

The pelicanconf.py file

AUTHOR = 'me'

you added this during the set up and you can change it now if you want to. remember to write within the quotation marks.

SITENAME = 'My Favorite Yogurt Toppings'

you added this during the set up and you can change it now if you want to. remember to write within the quotation marks.

SITEURL = ''

Leave it like this for now, this is what you will fill out if your blog/website will be part of a bigger website

PATH = 'content'

Leave it like this, as mentioned above this is where the posts are going. As you probably guessed, you can change this if needed.

TIMEZONE = 'America/Los_Angeles'

To find your time zone, check this wikipedia page

DEFAULT_LANG = 'en'

To find the appropriate language code for your site, check this government page

The optional feed settings

You are going to leave these as is, if you decide to provide for your readers at a later date, you can read how to configure them [here](https://docs.getpelican.com/en/stable/settings.html#feed-settings

The # in front of the first line means that it is a comment that pelican will skip

# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None

Blogroll and social links

Once, your website/blog is up we will get back to these, but for now leave them. But give some thought to other websites or blogs you want to link to.

The same goes for social links, it could be your own or somebodyelses.

# Blogroll
LINKS = (('Pelican', 'https://getpelican.com/'),
         ('Python.org', 'https://www.python.org/'),
         ('Jinja2', 'https://palletsprojects.com/p/jinja/'),
         ('You can modify those links in your config file', '#'),)

# Social widget
SOCIAL = (('You can add links in your config file', '#'),
          ('Another social link', '#'),)

DEFAULT_PAGINATION = 20

The number is how many posts you want on one page before there is next page link

RELATIVE_URLS = True

Again, this is relevant if your site will be part of a larger website.

# Uncomment following line if you want document-relative URLs when developing
#RELATIVE_URLS = True

The publishconf.py file

You will not be using "make publish" for this project, but if you are using it for future projects you will need to fill out below and/or uncomment lines depending

# This file is only used if you use `make publish` or
# explicitly specify it as your config file.

import os
import sys
sys.path.append(os.curdir)
from pelicanconf import *

# If your site is available via HTTPS, make sure SITEURL begins with https://
SITEURL = ''
RELATIVE_URLS = False

FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/{slug}.atom.xml'

DELETE_OUTPUT_DIRECTORY = True

# Following items are often useful when publishing

#DISQUS_SITENAME = ""
#GOOGLE_ANALYTICS = ""

<< See step 1 | See step 3 >>

COMMENTS

helpful links