Install pelican
This commit is contained in:
parent
d362f22c64
commit
dd2635dfd9
7 changed files with 162 additions and 4 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -57,3 +57,7 @@ docs/_build/
|
||||||
|
|
||||||
# PyBuilder
|
# PyBuilder
|
||||||
target/
|
target/
|
||||||
|
|
||||||
|
srv.pid
|
||||||
|
pelican.pid
|
||||||
|
output/
|
||||||
|
|
4
build
4
build
|
@ -12,8 +12,6 @@ nvm use
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
pyvenv env
|
pyvenv env
|
||||||
env/bin/pip install -r requirements.txt --upgrade
|
env/bin/pip install -r requirements.txt
|
||||||
|
|
||||||
|
|
||||||
npm install
|
npm install
|
||||||
npm run build $@
|
|
||||||
|
|
103
develop_server.sh
Executable file
103
develop_server.sh
Executable file
|
@ -0,0 +1,103 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
##
|
||||||
|
# This section should match your Makefile
|
||||||
|
##
|
||||||
|
PY=${PY:-python3}
|
||||||
|
PELICAN=${PELICAN:-pelican}
|
||||||
|
PELICANOPTS=
|
||||||
|
|
||||||
|
BASEDIR=$(pwd)
|
||||||
|
INPUTDIR=$BASEDIR/content
|
||||||
|
OUTPUTDIR=$BASEDIR/output
|
||||||
|
CONFFILE=$BASEDIR/pelicanconf.py
|
||||||
|
|
||||||
|
###
|
||||||
|
# Don't change stuff below here unless you are sure
|
||||||
|
###
|
||||||
|
|
||||||
|
SRV_PID=$BASEDIR/srv.pid
|
||||||
|
PELICAN_PID=$BASEDIR/pelican.pid
|
||||||
|
|
||||||
|
function usage(){
|
||||||
|
echo "usage: $0 (stop) (start) (restart) [port]"
|
||||||
|
echo "This starts Pelican in debug and reload mode and then launches"
|
||||||
|
echo "an HTTP server to help site development. It doesn't read"
|
||||||
|
echo "your Pelican settings, so if you edit any paths in your Makefile"
|
||||||
|
echo "you will need to edit your settings as well."
|
||||||
|
exit 3
|
||||||
|
}
|
||||||
|
|
||||||
|
function alive() {
|
||||||
|
kill -0 $1 >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
function shut_down(){
|
||||||
|
PID=$(cat $SRV_PID)
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
if alive $PID; then
|
||||||
|
echo "Stopping HTTP server"
|
||||||
|
kill $PID
|
||||||
|
else
|
||||||
|
echo "Stale PID, deleting"
|
||||||
|
fi
|
||||||
|
rm $SRV_PID
|
||||||
|
else
|
||||||
|
echo "HTTP server PIDFile not found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PID=$(cat $PELICAN_PID)
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
if alive $PID; then
|
||||||
|
echo "Killing Pelican"
|
||||||
|
kill $PID
|
||||||
|
else
|
||||||
|
echo "Stale PID, deleting"
|
||||||
|
fi
|
||||||
|
rm $PELICAN_PID
|
||||||
|
else
|
||||||
|
echo "Pelican PIDFile not found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function start_up(){
|
||||||
|
local port=$1
|
||||||
|
echo "Starting up Pelican and HTTP server"
|
||||||
|
shift
|
||||||
|
$PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS &
|
||||||
|
pelican_pid=$!
|
||||||
|
echo $pelican_pid > $PELICAN_PID
|
||||||
|
cd $OUTPUTDIR
|
||||||
|
$PY -m pelican.server $port &
|
||||||
|
srv_pid=$!
|
||||||
|
echo $srv_pid > $SRV_PID
|
||||||
|
cd $BASEDIR
|
||||||
|
sleep 1
|
||||||
|
if ! alive $pelican_pid ; then
|
||||||
|
echo "Pelican didn't start. Is the Pelican package installed?"
|
||||||
|
return 1
|
||||||
|
elif ! alive $srv_pid ; then
|
||||||
|
echo "The HTTP server didn't start. Is there another service using port" $port "?"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo 'Pelican and HTTP server processes now running in background.'
|
||||||
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
# MAIN
|
||||||
|
###
|
||||||
|
[[ ($# -eq 0) || ($# -gt 2) ]] && usage
|
||||||
|
port=''
|
||||||
|
[[ $# -eq 2 ]] && port=$2
|
||||||
|
|
||||||
|
if [[ $1 == "stop" ]]; then
|
||||||
|
shut_down
|
||||||
|
elif [[ $1 == "restart" ]]; then
|
||||||
|
shut_down
|
||||||
|
start_up $port
|
||||||
|
elif [[ $1 == "start" ]]; then
|
||||||
|
if ! start_up $port; then
|
||||||
|
shut_down
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
usage
|
||||||
|
fi
|
|
@ -25,7 +25,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-preset-es2015": "=6.1.18",
|
"babel-preset-es2015": "=6.1.18",
|
||||||
"babel-preset-react": "=6.1.18w",
|
"babel-preset-react": "=6.1.18",
|
||||||
"babelify": "=7.3.0",
|
"babelify": "=7.3.0",
|
||||||
"browserify": "=13.0.1",
|
"browserify": "=13.0.1",
|
||||||
"clean-css": "=3.4.12",
|
"clean-css": "=3.4.12",
|
||||||
|
|
35
pelicanconf.py
Normal file
35
pelicanconf.py
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*- #
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
AUTHOR = 'Jake Howard'
|
||||||
|
SITENAME = 'TheOrangeOne'
|
||||||
|
SITEURL = ''
|
||||||
|
|
||||||
|
PATH = 'content'
|
||||||
|
|
||||||
|
TIMEZONE = 'Europe/London'
|
||||||
|
|
||||||
|
DEFAULT_LANG = 'en'
|
||||||
|
|
||||||
|
# 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
|
||||||
|
LINKS = (('Pelican', 'http://getpelican.com/'),
|
||||||
|
('Python.org', 'http://python.org/'),
|
||||||
|
('Jinja2', 'http://jinja.pocoo.org/'),
|
||||||
|
('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 = 15
|
||||||
|
|
||||||
|
# Uncomment following line if you want document-relative URLs when developing
|
||||||
|
#RELATIVE_URLS = True
|
17
publishconf.py
Normal file
17
publishconf.py
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*- #
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
# 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 *
|
||||||
|
|
||||||
|
SITEURL = 'http://theorangeone.net'
|
||||||
|
RELATIVE_URLS = False
|
||||||
|
|
||||||
|
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
||||||
|
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
|
|
@ -1,4 +1,5 @@
|
||||||
coverage==4.0.3
|
coverage==4.0.3
|
||||||
colorama==0.3.6
|
colorama==0.3.6
|
||||||
flake8==2.5.0
|
flake8==2.5.0
|
||||||
|
markdown==2.6.6
|
||||||
pelican==3.6.3
|
pelican==3.6.3
|
||||||
|
|
Reference in a new issue