Apache Theme for ASF Pelican
Note In 2019 Infra created ASF-Pelican as a structure and template for projects to use to build their websites, and for the ASF's own website.
In 2024, Infra moved from ASF-Pelican to the ASF Infrastructure Pelican Action GitHub Action to perform the same functions without being closely tied to BuildBot. The repository for this GHA is github.com/apache/infrastructure-actions/tree/main/pelican.
The following material is correct for both ASF-Pelican and its replacement.
The Apache Theme is available at github.com/apache/template-site/tree/main.theme, in the "gha-compliant" branch.
It has two types of files:
- Page templates
- CSS stylesheets
Page templates
- base.html - the main template. Other templates extend this template automatically, including those in the default Pelican theme.
- page.html - this overrides Pelican's
default/simple page.html
, which includes<h1>{{ page.title }}</h1>
, which we do not want.
Change base.html
as necessary. Add new override templates if you need them.
See the Pelican documentation for information about inheritance from the simple theme.
CSS stylesheets
In this site the css included by base.html
is in the content
tree.
There are site- or template-specific overrides to the stylesheet frameworks, but these are not done as Pelican specifies.
styles.css
- consists of custom site CSS overrides. Edit as needed. Here we include the CSS for the ASF permalink style. This file is in the same directory as the html and is included inline with{% include "styles.css" %}
.
Page metadata
This theme uses the following metadata:
-
Title. Used in
base.html
with<title>{{ page.title }}</title>
to provide the page title. -
Notice. This is notice text, which is typically a link to the license.
{% if page.notice %}<!-- {{ page.notice }} -->{% endif %}
-
License. This is an alternative to Notice.
-
bodytag. This adds attributes to the
<body>
element. This allows the mainindex.ezmd
to have the same template, but with a different layout.<body{% if page.bodytag %} {{ page.bodytag }}{% endif %} >
Pelican settings
Manage Pelican settings in the pelicanconf.yaml file at the top level of the template.
Some important settings:
site:
name: NAME OF YOUR SITE
description: DESCRIPTION OF YOUR SITE
domain: YOURSITE.apache.org
logo: images/logo.png
repository: https://github.com/apache/YOUR_REPO/blob/main/content/
trademarks: Apache, the Apache feather logo, and "Project" are trademarks or registered trademarks
Pelican theme
This is a custom theme Pelican templates use Jinja.
Pelican variables set in pelicanconf.py
Note: early users of this template worked with pelicanconf.py
, which is not part of the latest release. This information is for their convenience.
SITENAME = u'Apache <pmc>'
SITEDOMAIN = '<pmc>.apache.org'
SITEURL = 'https://<pmc>.apache.org'
SITELOGO = 'https://<pmc>.apache.org/images/logo.png'
SITEDESC = u'<pmc desc>'
SITEREPOSITORY = 'https://github.com/apache/<pmc-site>/blob/<branch>/content/'
TRADEMARKS = u'Apache, the Apache feather logo, and <pmc> are trademarks or registered trademarks'
CURRENTYEAR = date.today().year
Copyright 2024, The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache® and the Apache feather logo are trademarks of The Apache Software Foundation.