1
0
Fork 0
forked from github/pelican
Commit graph

118 commits

Author SHA1 Message Date
Deniz Turgut
eca0ee04b7
use JSON values for extra settings in invoke template
Signed-off-by: Deniz Turgut <dturgut@gmail.com>
2022-03-23 22:33:57 +03:00
Lukas Winkler
2e35bc90a6 Change spaces to tab as required by Makefile
Closes #2941
2021-11-27 10:31:14 +01:00
disk0x
31b282f3e2 Add SFTP upload to Makefile
Some managed web hosts do not allow uploads via scp or rsync, so the
sftp command is a necessary alternative.
2021-10-05 07:51:34 +02:00
Ben Sturmfels
c5c7483268
Remove shebang lines from generated pelicanconf.py and publishconf.py.
These configuration files do not need a #! line as they are not intended to be
executed directly and are not marked as executable. (In practise this doesn't
cause any problems - it just came up in a Guix bug report because Guix
transforms the #! lines.)

The "coding: utf-8" lines are also no longer required now that Pelican is Python
3 only.
2021-10-05 10:00:48 +11:00
Romain Porte
a00284f744
Automatically open browser when Invoke task starts web server (#2764)
When the `serve` and `livereload` targets are invoked, a web browser will be
automatically opened, pointing to the locally-served website.

If no web browser can be found by the module, the `open()` call returns
`False`, but no exception is raised. This means that it is still possible
to call livereload on a remote machine and access it without any error
being triggered.

Signed-off-by: Romain Porte <microjoe@microjoe.org>
2021-04-19 15:59:41 +02:00
Justin Mayer
31398d4247 Improve consistency between Makefile targets & help 2021-02-19 08:22:16 +01:00
Mirek Długosz
f846191edd livereload task improvements
- use custom build command, with caching turned on - this reduces site
  build time by around 40% on my testing machines
- collect all glob patterns in a list and then call `server.watch`
  on each item - this allows to have single place where callback
  function must be specified
- use '**/*.html' as glob in template, to track changes in
  subdirectories
2021-02-09 20:49:48 +01:00
Justin Mayer
449a8e6ac4
Merge pull request #2766 from davidjb/patch-1
Fix port 0 & remove duplicate port arguments in Makefile
2020-08-11 13:04:19 +02:00
Arnaud Rebillout
40d09875e6 Makefile, include tags directory in rsync command
By default, the rsync option '--cvs-exclude' excludes the 'tags'
directory. For a blog, it's a bit unfortunate, as it's quite common to
have a `tags` directory in a blog, either for the tag pages or the tag
feeds.

With this commit, we force rsync to include this directory, and save a
little headache to users who wonder why their tags are present in the
output directory, but are not present on the server.
2020-08-11 16:29:44 +07:00
Lucas Cimon
ee80399be1
Fixups post-review 2020-06-09 18:12:24 +02:00
Lucas Cimon
d3c4bcc254
Invoke template : avoiding to spawn unnecessary process + passing-through CLI args to pelican 2020-06-09 16:01:46 +02:00
David Beitey
d3aa4f7c7c
Remove duplicate port arguments in Makefile
The PORT variable check earlier in the Makefile sets up the `-p` argument as part of PELICANOPTS so prior to this change `-p` was duplicated on each of the serve targets.
2020-06-07 01:46:16 +00:00
Justin Mayer
d9809c34fc Allow setting host in Invoke serve & livereload tasks
Instead of serving on localhost by default with no way to override, the
host can now be configured, allowing both `serve` and `livereload` tasks
to serve output on non-localhost addresses such as `0.0.0.0`.
2020-04-30 15:21:04 +02:00
Boian Berberov
bf85991ee6
Quote Makefile paths so it handles spaces 2020-04-13 11:17:39 +02:00
Justin Mayer
276a14ae05
Merge pull request #2687 from LouisJackman/add-devserver-global-make-target
Add a devserver-global Make task for non-local dev testing
2020-04-12 21:49:15 +02:00
Justin Mayer
e7ef546661 Add PORT to serve-global Makefile task 2020-04-12 19:43:09 +02:00
Kurt McKee
7bbd3dc6fb
Update links to HTTPS and current 301 redirects in docs/templates/themes (#2661)
This also updates the Tumblr API to use HTTPS as documented in the
current Tumblr API docs.
2020-04-12 16:38:35 +02:00
Nik
ab5e78db2a Handle case of missing port in target "serve-global"
Also factor out the check for the SERVER variable to avoid nested
ifdefs.

Fixes #2696
2020-03-14 08:47:57 +01:00
LouisJackman
bd1ab74031 Add a devserver-global task for non-local dev testing
The devserver target recently acquired a sane default of restricting
access only to localhost. This is good for security. However, it can
frustrate some usages like testing on phones on a local network or
hosting the dev server within VMs (e.g. Docker for Mac) which see host
OS browsers as not being 127.0.0.1.

Add a new target called `devserver-global` for this case. As it's longer
to type, the more svelte `devserver` will retain the more secure
defaults that will suffice for most users; they can use the
longer-to-type `devserver-global` target to relax the localhost-only
restriction.
2020-01-23 21:29:13 +00:00
Kevin Yap
1e0e541b57 Initial pass of removing Python 2 support
This commit removes Six as a dependency for Pelican, replacing the
relevant aliases with the proper Python 3 imports. It also removes
references to Python 2 logic that did not require Six.
2019-11-26 06:16:41 +09:00
Justin Mayer
f52f276f2e Separate SSH user/host/path vars in tasks.py
Refs #2623
2019-10-09 11:17:44 -07:00
Romain Porte
8734bd1a6f
templates: tasks.py: introduce "production_port" to fix #2623
The syntax passed to rsync for specifying the port is incorrect. In the
Makefile template, the -e option is correctly used to pass the port. We
use the same syntax here to pass the SSH port.

This fix issue #2623.

Signed-off-by: Romain Porte <microjoe@microjoe.org>
2019-09-24 22:19:10 +02:00
Justin Mayer
a4cecd2d0c Add theme templates, CSS, JS to Invoke livereload task 2019-06-20 08:30:04 +02:00
Justin Mayer
cf2275c3be Add settings file to Invoke livereload watch list 2019-06-20 08:18:00 +02:00
Justin Mayer
c8b0b52d4e Use port settings in Invoke livereload task
Instead of using LiveReload's default port 5500, use the existing `port`
value from the task's CONFIG dictionary, which defaults to 8000.
2019-06-20 08:12:14 +02:00
Justin Mayer
ae7af1d696 Remove redundant vars in Invoke livereload task 2019-06-20 08:08:48 +02:00
Justin Mayer
8b4c46d74b Invoke serve task docstring: port is configurable 2019-06-20 07:49:48 +02:00
Justin Mayer
4b5610175f Invoke: Make settings file name handling more DRY
Instead of repeating hard-coded 'pelicanconf.py' values throughout
Invoke's task.py template, assign default settings file names to
variables, and use those variables where applicable.
2019-06-19 16:11:16 +02:00
Justin Mayer
5525a9021e Use OUTPUT_PATH setting in Invoke tasks.py template
The default setting for OUTPUT_PATH is already 'output', so it would be
more DRY to use the existing default value instead of a hardcoded
'output' string.
2019-06-19 15:45:32 +02:00
John Franey
ca012bd288 Update livereload Invoke task and add docs
Removes the `livereload` dependency from `setup.py`.

Updates the `invoke livereload` task by moving the `livereload` import
into the task function since it is now an optional dependency.

Updates the Invoke section of the documentaion with instructions on
using the `livereload` Invoke task.
2019-06-18 22:59:34 -04:00
John Franey
28383a6355 Add livereload invoke task. Fixes #1326
Adds a `livereload` invoke task that builds the project and reloads the
browser window when content files are updated.

Usage:

```console
$ invoke livereload
[I 190202 16:28:30 server:298] Serving on http://127.0.0.1:5500
[I 190202 16:28:30 handlers:59] Start watching changes
[I 190202 16:28:30 handlers:61] Start detecting changes
[I 190202 16:28:32 handlers:132] Browser Connected: http://127.0.0.1:5500/
```

See: https://livereload.readthedocs.io/en/latest/
2019-06-18 22:49:09 -04:00
Kenneth Lyons
4a3a06af8a
Remove stopserver from .PHONY prereqs in Makefile template 2018-12-12 13:25:14 -08:00
Bryan Brattlof
59cca7adb5
Remove unnecessary whitespace stripping 2018-11-28 10:31:21 -06:00
Deniz Turgut
a3b256db1e Use pelican.server class in invoke template 2018-11-25 21:43:40 +03:00
MinchinWeb
3a0add4b6e Convert FEED settings from %s to {slug} redux (#2432)
* Convert FEED settings from `%s` to `{slug}` redux

Closes #2106, Closes #2383
2018-11-03 16:12:20 +01:00
Joao Moreira
d965575f4a Add current date when publishing with ghp tool.
Re-submission of #2083 based on Invoke's task.py.
2018-10-30 19:05:31 -05:00
Justin Mayer
a6600e2fca
Merge pull request #2378 from davidag/fix-makefile-template
Avoid escaping dollar signs in Makefile template
2018-07-09 10:42:58 +02:00
Kevin Deldycke
c04a4701b8 Replace Fabric by Invoke. 2018-07-08 21:33:10 +02:00
David Alfonso
7d18a4f3b8 Avoid escaping dollars in Makefile template
If dollars are escaped, the commands don't work as expected (i.e. doing
variable substitution).
2018-07-07 19:48:52 +02:00
Jorge Maldonado Ventura
ec15105c2f Remove extra endif from Makefile template 2018-07-03 20:57:12 +02:00
Johannes 'josch' Schauer
a5edbf8546 Remove develop_server.sh in favour of pelican serving static files itself
Competing static site generators integrate the functionality of regenerating
content and serving it into their main executable. In pelican this
functionality used to be in an external script `develop_server.sh` which
resides in the blog base directory. This has the disadvantage that changes in
pelican can break the `develop_server.sh` scripts which will not automatically
be upgraded together with pelican by package managers. Thus, pelican should
integrate this functionality into its main executable.

To this end, this commit removes `develop_server.sh` and adds three command
line options to the pelican executable:

 * `-l/--listen` starts the HTTP server (`-s/--serve` was already taken)
 * `-p/--port` specifies the port to listen at
 * `-b/--bind` specifies the IP to bind to

`--listen` and `--autoreload` can be used together to achieve the same
effect that other static site generators offer: Serve files via HTTP
while at the same time auto-generating the content.

Since the `develop_server.sh` script was removed, pelican-quickstart looses the
`develop` option.

Since the `develop_server.sh` script was removed, the Makefile looses the
`stopserver` target and the `devserver` target is replaced by running `pelican
-l` in the foreground.

Since pelican now offers the `--listen` option, the fabfile uses that instead
of starting the socketserver itself.
2018-06-22 19:22:38 +02:00
Siltaar
9e035ed727 fix ""DIR 2018-03-29 15:20:10 +02:00
Siltaar
e9c2409eab Allow develop_server.sh to work with paths containing spaces 2018-03-29 15:05:00 +02:00
ix5
6d46bf4257 pelican-quickstart: switch to jinja2
- Use the jinja2 templating language for Makefile, fabfile,
  pelicanconf, publishconf, and develop-server.sh
- Add logic in pelican_quickstart.py
- Let jinja2 handle opening and reading template files
- Remove thus unused functions for string.Template
2017-12-10 04:05:38 +01:00
Justin Mayer
68724e9682 Encourage use of https:// in SITEURL
Refs #2183 #2186
2017-07-25 09:00:41 -07:00
Jonas Lundholm Bertelsen
1c96d8c933 Correct import of socketserver on Python 3 2017-07-24 12:25:21 +02:00
evilroot
fdf355c377 Fix rsync_upload in Makefile template 2017-06-08 22:59:12 +01:00
fxfitz
b65a790b50 Switch over to use awscli 2017-03-13 17:59:43 -05:00
bnice5000
c11b8ceb09 Update rebuild to respect OUTPUT_RETENTION
Fixes #1955
2016-06-14 08:42:48 -04:00
Justin Mayer
132fe9a4fa Merge pull request #1923 from Jangsea/use_ghp_import_push_option
Use 'ghp-import -p' to push instead of 'git push origin {branch}'
2016-04-03 18:51:23 -07:00