Here are some tips about Pelican that you might find useful.
GitHub Pages offer an easy and convenient way to publish Pelican sites. There are two types of GitHub Pages: Project Pages and User Pages. Pelican sites can be published as both Project Pages and User Pages.
To publish a Pelican site as a Project Page you need to push the content of the output dir generated by Pelican to a repository’s gh-pages branch on GitHub.
The excellent ghp-import, which can be installed with easy_install or pip, makes this process really easy.
For example, if the source of your Pelican site is contained in a GitHub repository, and if you want to publish that Pelican site in the form of Project Pages to this repository, you can then use the following:
$ pelican content -o output -s pelicanconf.py
$ ghp-import output
$ git push origin gh-pages
The ghp-import output command updates the local gh-pages branch with the content of the output directory (creating the branch if it doesn’t already exist). The git push origin gh-pages command updates the remote gh-pages branch, effectively publishing the Pelican site.
Note
The github target of the Makefile created by the pelican-quickstart command publishes the Pelican site as Project Pages, as described above.
To publish a Pelican site in the form of User Pages, you need to push the content of the output dir generated by Pelican to the master branch of your <username>.github.io repository on GitHub.
Again, you can take advantage of ghp-import:
$ pelican content -o output -s pelicanconf.py
$ ghp-import output
$ git push git@github.com:elemoine/elemoine.github.io.git gh-pages:master
The git push command pushes the local gh-pages branch (freshly updated by the ghp-import command) to the elemoine.github.io repository’s master branch on GitHub.
Note
To publish your Pelican site as User Pages, feel free to adjust the github target of the Makefile.
Tip #1:
To automatically update your Pelican site on each commit, you can create a post-commit hook. For example, you can add the following to .git/hooks/post-commit:
pelican content -o output -s pelicanconf.py && ghp-import output && git push origin gh-pages
Tip #2:
To use a custom domain with GitHub Pages, you need to put the domain of your site (e.g., blog.example.com) inside a CNAME file at the root of your site. To do this, create the content/extras/ directory and add a CNAME file to it. Then use the STATIC_PATHS setting to tell Pelican to copy this file to your output directory. For example:
STATIC_PATHS = ['images', 'extra/CNAME']
EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},}
The easiest way is to paste the embed code of the video from these sites directly into your source content.
Alternatively, you can also use Pelican plugins like liquid_tags, pelican_youtube, or pelican_vimeo to embed videos in your content.