Merge pull request #2767 from Lucas-C/invoke-template-minor-improvement

This commit is contained in:
Justin Mayer 2020-07-23 22:31:34 +02:00 committed by GitHub
commit 2372e8e574
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

1
THANKS
View file

@ -97,6 +97,7 @@ Kyle Fuller
Laureline Guerin Laureline Guerin
Leonard Huang Leonard Huang
Leroy Jiang Leroy Jiang
Lucas Cimon
Marcel Hellkamp Marcel Hellkamp
Marco Milanesi Marco Milanesi
Marcus Fredriksson Marcus Fredriksson

View file

@ -1,12 +1,15 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
import shlex
import shutil import shutil
import sys import sys
import datetime import datetime
from invoke import task from invoke import task
from invoke.main import program
from invoke.util import cd from invoke.util import cd
from pelican import main as pelican_main
from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer
from pelican.settings import DEFAULT_CONFIG, get_settings_from_file from pelican.settings import DEFAULT_CONFIG, get_settings_from_file
@ -54,17 +57,17 @@ def clean(c):
@task @task
def build(c): def build(c):
"""Build local version of site""" """Build local version of site"""
c.run('pelican -s {settings_base}'.format(**CONFIG)) pelican_run('-s {settings_base}'.format(**CONFIG))
@task @task
def rebuild(c): def rebuild(c):
"""`build` with the delete switch""" """`build` with the delete switch"""
c.run('pelican -d -s {settings_base}'.format(**CONFIG)) pelican_run('-d -s {settings_base}'.format(**CONFIG))
@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 {settings_base}'.format(**CONFIG)) pelican_run('-r -s {settings_base}'.format(**CONFIG))
@task @task
def serve(c): def serve(c):
@ -90,7 +93,7 @@ def reserve(c):
@task @task
def preview(c): def preview(c):
"""Build production version of site""" """Build production version of site"""
c.run('pelican -s {settings_publish}'.format(**CONFIG)) pelican_run('-s {settings_publish}'.format(**CONFIG))
@task @task
def livereload(c): def livereload(c):
@ -130,7 +133,7 @@ def cf_upload(c):
@task @task
def publish(c): def publish(c):
"""Publish to production via rsync""" """Publish to production via rsync"""
c.run('pelican -s {settings_publish}'.format(**CONFIG)) pelican_run('-s {settings_publish}'.format(**CONFIG))
c.run( c.run(
'rsync --delete --exclude ".DS_Store" -pthrvz -c ' 'rsync --delete --exclude ".DS_Store" -pthrvz -c '
'-e "ssh -p {ssh_port}" ' '-e "ssh -p {ssh_port}" '
@ -147,3 +150,7 @@ def gh_pages(c):
'-m {commit_message} ' '-m {commit_message} '
'{deploy_path} -p'.format(**CONFIG)) '{deploy_path} -p'.format(**CONFIG))
{% endif %} {% endif %}
def pelican_run(cmd):
cmd += ' ' + program.core.remainder # allows to pass-through args to pelican
pelican_main(shlex.split(cmd))