Static site generator that supports Markdown and reST syntax. Powered by Python.
  • Python 85.3%
  • CSS 8.7%
  • Jinja 6%
Find a file
Sean Hammond f9a0d9e56b
Combine build.yml and github_pages.yml
Combine `build.yml` and `github_pages.yml` into a single workflow file.
Having `build.yml` be a separate workflow file that `github_pages.yml`
calls has two problems:

1. All the inputs (and their types, descriptions, defaults) have to be
   duplicated in the two workflow files.

2. The reference to `@main` in `uses: "getpelican/pelican/.github/workflows/build.yml@main"`
   in the `github_pages.yml` workflow makes development and testing
   awkward.

For example let's say you want to send a pull request that contains
changes to `build.yml` and that also requires changes to
`github_pages.yml` at the same time. The problem is that the
`github_pages.yml` on your PR branch will still contain the reference to
`build.yml` `@main` so if you try to test the branch's version of
`github_pages.yml` it'll call the version of `build.yml` from `main` not
from the PR branch and will fail.

This commit move the build job from `build.yml` into `github_pages.yml`
but makes the deploy job optional: it adds a `deploy` input and will
only run the deploy job if `deploy = true` is passed.

Previously a user could test their build without deploying it by calling
the separate `build.yml` workflow. Now they can do it by calling the
`github_pages.yml` workflow and passing `deploy=false`.

This commit also moves the `concurrency` stuff from the workflow level
to the deploy level: it's okay to have multiple build jobs running
concurrently, just not multiple deploy jobs.
2024-10-14 17:20:25 +01:00
.github Combine build.yml and github_pages.yml 2024-10-14 17:20:25 +01:00
docs Release Pelican 4.10.1 2024-09-28 17:02:04 +00:00
pelican Clarify _include_path() parameter docstring 2024-10-02 19:08:26 +02:00
requirements Bump Pygments to 2.16.1 in test requirements; fixes #3385 (#3386) 2024-09-12 14:21:12 +02:00
samples pre-commit filter auto-indents templates, css, js 2024-05-31 07:34:01 -05:00
.coveragerc Improve test coverage, docs, and .gitignore 2024-06-01 18:51:46 -05:00
.editorconfig Adjust line length to 88 in EditorConfig 2023-10-31 16:50:48 +01:00
.git-blame-ignore-revs Ignore Ruff UP031 fixes in git blame 2024-06-02 09:01:21 +02:00
.gitattributes Tell GitHub-Linguist to ignore HTML files 2023-08-27 16:47:45 +02:00
.gitignore Adjust list of Git-ignored files 2024-09-16 15:11:14 +02:00
.mailmap .mailmap: Add mappings to consolidate author names and emails 2013-04-12 10:51:48 -04:00
.pre-commit-config.yaml Update Ruff linter 2024-06-25 11:00:41 +02:00
.readthedocs.yaml Build docs in zipped HTML and PDF formats 2023-08-03 14:44:13 +02:00
.vale.ini Add initial configuration for Vale prose linter 2024-07-30 09:56:27 +02:00
CONTRIBUTING.rst Rename default branch to main 2024-06-25 11:33:28 +02:00
LICENSE Update links to HTTPS and current 301 redirects in docs/templates/themes (#2661) 2020-04-12 16:38:35 +02:00
pyproject.toml Release Pelican 4.10.1 2024-09-28 17:02:04 +00:00
README.rst Rename default branch to main 2024-06-25 11:33:28 +02:00
tasks.py Enforce 75% code coverage in CI via Tox 2024-06-25 10:54:24 +02:00
THANKS Add more contributors to THANKS 2021-10-12 15:58:53 +02:00
tox.ini Enforce 75% code coverage in CI via Tox 2024-06-25 10:54:24 +02:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Pelican |build-status| |pypi-version| |downloads| |repology|
============================================================

Pelican is a static site generator, written in Python_, that allows you to create
web sites by composing text files in formats such as Markdown, reStructuredText, and HTML.

With Pelican, you can create web sites without worrying about databases or server-side programming.
Pelican generates static sites that can be served via any web server or hosting service.

You can perform the following functions with Pelican:

* Compose content in Markdown_ or reStructuredText_ using your editor of choice
* Simple command-line tool (re)generates HTML, CSS, and JS from your source content
* Easy to interface with version control systems and web hooks
* Completely static output is simple to host anywhere


Features
--------

Pelicans feature highlights include:

* Chronological content (e.g., articles, blog posts) as well as static pages
* Integration with external services
* Site themes (created using Jinja2_ templates)
* Publication of articles in multiple languages
* Generation of Atom and RSS feeds
* Code syntax highlighting via Pygments_
* Import existing content from WordPress, Dotclear, or RSS feeds
* Fast rebuild times due to content caching and selective output writing
* Extensible via a rich plugin ecosystem: `Pelican Plugins`_

Check out the `Pelican documentation`_ for further information.


How to get help, contribute, or provide feedback
------------------------------------------------

See our `contribution submission and feedback guidelines <CONTRIBUTING.rst>`_.


Source code
-----------

Pelicans source code is `hosted on GitHub`_. For information on how it works,
have a look at `Pelican's internals`_.


Why the name “Pelican”?
-----------------------

“Pelican” is an anagram of *calepin*, which means “notebook” in French.


.. Links

.. _Python: https://www.python.org/
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Markdown: https://daringfireball.net/projects/markdown/
.. _Jinja2: https://palletsprojects.com/p/jinja/
.. _Pygments: https://pygments.org/
.. _`Pelican Plugins`: https://github.com/pelican-plugins
.. _`Pelican documentation`: https://docs.getpelican.com/
.. _`Pelican's internals`: https://docs.getpelican.com/en/latest/internals.html
.. _`hosted on GitHub`: https://github.com/getpelican/pelican

.. |build-status| image:: https://img.shields.io/github/actions/workflow/status/getpelican/pelican/main.yml?branch=main
   :target: https://github.com/getpelican/pelican/actions/workflows/main.yml?query=branch%3Amain
   :alt: GitHub Actions CI: continuous integration status
.. |pypi-version| image:: https://img.shields.io/pypi/v/pelican.svg
   :target: https://pypi.org/project/pelican/
   :alt: PyPI: the Python Package Index
.. |downloads| image:: https://img.shields.io/pypi/dm/pelican.svg
   :target: https://pypi.org/project/pelican/
   :alt: Monthly Downloads from PyPI
.. |repology| image:: https://repology.org/badge/tiny-repos/pelican.svg
   :target: https://repology.org/project/pelican/versions
   :alt: Repology: the packaging hub