My Website tutorial part 1

Fri 20 December 2019

Part 1

get a linux system that can run python (preferrably python3...more on that later) and make sure that you have local access to it. Note you can also use a mac if the system is not the one you are working from (like say a raspberry pi that you are sshing into)... make sure that there are no firewalls in between you and the host, just to make things easier.

Once you get a system and get it updated for security

sudo apt-get update

Then make sure that you have python3-venv installed (this sets up a virtual python3 environment, so as not to mess with any other python packages you have running).

sudo apt-get install python3-venv -y

Once you have that installed, you will want to setup your site virtual environment. Typically i set up in my home directory even if I do all of my 'other' work in a separate directory, just so I know where to start my venv session.

python3 -m vevn newsitename

Then activate your virtual instance

source newsitename/bin/activate

Then perform the following PIP installs (version numbers will vary over time)

python3 -m pip install pelican==4.1 markdown==3.7

Then you can mkdir the root folder of the new site, and cd into it:

mkdir /var/www/newsitename; cd /var/www/newsitename/

from within this directory we will initialize the pelican site, then customize the commands to build it out.

$ pelican-quickstart

The site will then ask yu for a ton of information that will be used for creating the site:

This script will help you create a new Pelican-based website.

Please answer the following questions so this script can generate the files
needed by Pelican.


> Where do you want to create your new web site? [.]  
> What will be the title of this web site? newsitename
> Who will be the author of this web site? YOUR NAME 
> What will be the default language of this web site? [en] 
> Do you want to specify a URL prefix? e.g., http://example.com   (Y/n) Y
> Do you want to enable article pagination? (Y/n) y
> What is your time zone? [Europe/Paris] America/Los_Angeles
> Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n)y
> Do you want an auto-reload & simpleHTTP script to assist with theme and site development? (Y/n) y
> Do you want to upload your website using FTP? (y/N) N
> Do you want to upload your website using SSH? (y/N) Y
> Do you want to upload your website using Dropbox? (y/N) n
> Do you want to upload your website using S3? (y/N) N
> Do you want to upload your website using Rackspace Cloud Files? (y/N) n
> Do you want to upload your website using GitHub Pages? (y/N) n
Done. Your new project is available at /var/www/newsitename/

Then after all of this basic setup is done, you want to start up the devserver to see how the pages show:

make devserver

Open up a browser and navigate to http://ipaddressofyourhost:8000 and see what it is displaying

blogroll

social