This commit is contained in:
Marc Beninca 2021-11-08 23:50:49 +01:00
parent 41c0eec147
commit 5ab9ec39df

View file

@ -1,12 +1,8 @@
# -*- coding: utf-8 -*-
import os import os
import shutil import shutil
import sys import sys
import datetime
from invoke import task from invoke import task
from invoke.util import cd
from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer
CONFIG = { CONFIG = {
@ -16,6 +12,7 @@ CONFIG = {
'port': 8000, 'port': 8000,
} }
@task @task
def clean(c): def clean(c):
"""Remove generated files""" """Remove generated files"""
@ -23,21 +20,25 @@ def clean(c):
shutil.rmtree(CONFIG['deploy_path']) shutil.rmtree(CONFIG['deploy_path'])
os.makedirs(CONFIG['deploy_path']) os.makedirs(CONFIG['deploy_path'])
@task @task
def build(c): def build(c):
"""Build local version of site""" """Build local version of site"""
c.run('pelican -s pelicanconf.py') c.run('pelican -s pelicanconf.py')
@task @task
def rebuild(c): def rebuild(c):
"""`build` with the delete switch""" """`build` with the delete switch"""
c.run('pelican -d -s pelicanconf.py') c.run('pelican -d -s pelicanconf.py')
@task @task
def regenerate(c): def regenerate(c):
"""Automatically regenerate site upon file modification""" """Automatically regenerate site upon file modification"""
c.run('pelican -r -s pelicanconf.py') c.run('pelican -r -s pelicanconf.py')
@task @task
def serve(c): def serve(c):
"""Serve site at http://localhost:8000/""" """Serve site at http://localhost:8000/"""
@ -53,12 +54,14 @@ def serve(c):
sys.stderr.write('Serving on port {port} ...\n'.format(**CONFIG)) sys.stderr.write('Serving on port {port} ...\n'.format(**CONFIG))
server.serve_forever() server.serve_forever()
@task @task
def reserve(c): def reserve(c):
"""`build`, then `serve`""" """`build`, then `serve`"""
build(c) build(c)
serve(c) serve(c)
@task @task
def preview(c): def preview(c):
"""Build production version of site""" """Build production version of site"""
@ -74,4 +77,3 @@ def publish(c):
'{} {production}:{dest_path}'.format( '{} {production}:{dest_path}'.format(
CONFIG['deploy_path'].rstrip('/') + '/', CONFIG['deploy_path'].rstrip('/') + '/',
**CONFIG)) **CONFIG))