Comments (6)
Finished PR to add theme support: #3330
from pelican.
I've worked on a PR to add theme support and a couple of other things to the GitHub Actions workflow: seanh#1
Seems to work for my site: https://github.com/seanh/seanh.github.io/blob/1a760df43eb3cf9b668e06c77bf29fd60c00b683/.github/workflows/pelican.yml#L16.
I'll tidy it up soon (commit history is a mess) and send it as a PR to the Pelican project
from pelican.
Hey Jacob. I don’t believe any Pelican maintainers have experience with this workflow, which was kindly contributed by @seanh, and thus we are ill-equipped to assist with this question.
@seanh: Any thoughts?
from pelican.
Unfortunately the shared workflow doesn't support themes yet, it's something I overlooked when writing the workflow. I've been meaning to send a PR to add a theme option but haven't got round to it yet.
In the meantime you could copy-paste the workflow that I use to deploy my own site, it does the same thing as the Pelican project's worklfow but supports a theme: https://github.com/seanh/seanh.github.io/blob/main/.github/workflows/pelican.yml
@justinmayer I think what the Pelican project's workflow needs is a theme
option added to the inputs
section at the top for the Git URL of a theme. Then, if a theme option is given, the workflow will need to clone the theme repo to a directory and pass the appropriate --theme
path to the pelican
command. Any THEME
setting in the user's Pelican config file should be ignored (overridden by the --theme
). For the --theme
path the workflow should probably pass an absolute path to the directory where it cloned the theme, using a relative path will be unreliable since users can change the location of the settings file with the settings
option.
from pelican.
Ah, thanks! Yeah, I ended up copying the workflow and adding steps to the build
job. Pretty similar to what you had done, and I agree the CI theme should override pelicanconf.py/publishconf.py.
from pelican.
Above-mentioned PR has been merged. Thank you, Sean!
from pelican.
Related Issues (20)
- Move Markdown down to a plugin of a new Convert class. HOT 4
- Plugin name disappeared from log messages HOT 8
- Missing `pelican` executable HOT 1
- End-user should enjoy reading error messages around the `PATH` (mis-)declaration. HOT 1
- Pelican theme contains advertisements HOT 1
- Markdown's autolinks (`<some-link>`) don't work with `{filename}` or `{static}` intra-site links HOT 3
- `INTRASITE_LINK_REGEX` is parsed in Markdown headers
- `--extra-settings` option in CLI conflict with site source path parameter
- Add more test case handling of `PATH`, et al variables inside `pelicanconf.py`
- Install Pelican via Homebrew HOT 1
- Static files of drafts will be published even when `DRAFT_SAVE_AS = ""` HOT 1
- Missing unit test for DEFAULT_CONFIG and `read_settings()` comparison HOT 3
- Fix test_pelican.py to ensure any directory while starting pytest.
- test_importer has an invalid pattern match; insert two missing spaces.
- Fix test_generators.py for correct pointing to test file.
- More unit tests for `settings.py`, specifically syntax and indentation error reporting of pelicanconf.py
- test_log.py failed during `LimitFilter` HOT 1
- CJK filename output HOT 2
- furo and pelican wants different versions of `pygments` package in requirements/docs.pip (hash: HEAD, v4.9.1) HOT 1
- Pelican 4.9's `simple` theme uses `<h2>` inconsistently HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pelican.