An uber-quick tool to create a Pelican static-site and deploy it to GitHub Pages.
Project description
turbopelican
An uber-quick tool to create a Pelican static-site and deploy it to GitHub Pages.
Explanation
GitHub lets you host static websites at your own subdomain. If your GitHub
username is mrjohndoe, you can host a website at
https://mrjohndoe.github.io. The same applies for organizations. If your
GitHub organization is called MySpecialOrg, you can host a website at
https://myspecialorg.github.io.
turbopelican is a tool which swiftly creates a static website to deploy at
your subdomain. Any developer with a GitHub account and uv installed
(see here) can
deploy a website in minutes.
Usage
Before you run turbopelican, create a new repository where you will keep the
source for your website.
ℹ️ NOTE: Make sure that the site-url uses the GitHub repository's name. For example, if you want the website to be
https://johndoe.github.io, your GitHub repository will need to be calledjohndoe.github.io.
After your repository is created, copy the git repository URL. You'll need it later.
Then enter your settings for your repository, and under "Code and automation" click "Pages". The section "Build and deployment" allows you to choose a source. Chose "GitHub actions".
Next, you need to run turbopelican. Users are recommended to run
turbopelican using uvx:
$ uvx turbopelican init turbopelican.github.io
Who is the website author? [Ilya Simpson]
What is the name of the website? [turbopelican.github.io] Time to Clock Back
What timezone will your website use? [Pacific/Auckland]
What language will your website use? [en]
What is your website URL? [https://turbopelican.github.io]
Initialized empty Git repository in /home/elliot/projects/turbopelican.github.io/.git/
Using CPython 3.11.11
Creating virtual environment at: .venv
Resolved 23 packages in 0.66ms
Installed 21 packages in 13ms
+ anyio==4.9.0
+ blinker==1.9.0
+ docutils==0.21.2
+ feedgenerator==2.1.0
+ idna==3.10
+ jinja2==3.1.6
+ markdown==3.7
+ markdown-it-py==3.0.0
+ markupsafe==3.0.2
+ mdurl==0.1.2
+ ordered-set==4.1.0
+ pelican==4.11.0
+ pygments==2.18.0
+ python-dateutil==2.9.0.post0
+ pytz==2025.1
+ rich==13.9.4
+ six==1.17.0
+ sniffio==1.3.1
+ typing-extensions==4.12.2
+ unidecode==1.3.8
+ watchfiles==1.0.4
You can use the defaults, or choose your own values. In the example above, I
have decided to give the website a non-default name, but I have left the other
settings. turbopelican then creates a new repository mypersonalsite, with
everything ready to push to GitHub.
ℹ️ NOTE: Make sure that the site-url uses the GitHub repository's name. For example, if you want the website to be
https://johndoe.github.io, your GitHub repository will need to be calledjohndoe.github.io.
You will then need to push your code to GitHub:
cd turbopelican.github.io
git add .
git commit -q -m "Initial commit."
git remote add origin git@github.com:turbopelican/turbopelican.github.io.git # Use your own git repo reference
git push -q --set-upstream origin main
Now look at your repository on GitHub. You should be able to see the repository:
If you navigate back to the settings for GitHub Pages, you should see a message informing you that your website is already live.
ℹ️ NOTE: It may take a minute for this prompt to appear, because GitHub Actions must first deploy your website.
If you follow the link, you should be able to see your newly deployed website.
You can learn more about Pelican here.
Configuration
Pelican still targets Python 3.9, which does not bundle built-in support for
reading TOML configuration. Projects using turbopelican require Python 3.11
or higher, and therefore adopt the newer convention of placing configuration
in a TOML file rather than Python scripts. Generally, you should only need to
modify turbopelican.toml, rather than pelicanconf.py or publishconf.py.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turbopelican-0.4.0.tar.gz.
File metadata
- Download URL: turbopelican-0.4.0.tar.gz
- Upload date:
- Size: 492.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c18958207e09224b936d444d2ea4633b3e945dc03b72d3d4c19c332c48986313
|
|
| MD5 |
24b8ce0e9371253d3138466b03a38257
|
|
| BLAKE2b-256 |
554fda8ed9fa713f241bc7d04d65400b99b5fa1dfb958b49d3440cdd734c73a9
|
File details
Details for the file turbopelican-0.4.0-py3-none-any.whl.
File metadata
- Download URL: turbopelican-0.4.0-py3-none-any.whl
- Upload date:
- Size: 67.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89c47ae96fbc6dd6c23fcde1f7e01fc5983e7443b99ec8423f65c7e350000a6f
|
|
| MD5 |
650e0a10823e1ce97bb7626c34121cea
|
|
| BLAKE2b-256 |
6cde2ca898018e1eda1d56d3dd45fa6611880f38861bb57640e90db6f976a56c
|