Skip to main content

Pelican Custom CSS makes it easy to embed custom CSS into individual Pelican articles and pages.

Project description

pelican-css

pelican-css makes it easy to embed custom CSS into individual Pelican articles and pages.

How

git clone https://notabug.org/jorgesumle/pelican-css in your plugins folder and add the name of the plugin to your pelicanconf.py file:

PLUGIN_PATHS = ['plugins']
PLUGINS = ['pelican-css'] # You may have more plugins

Next, create css directory in your content directory...

website/
├── content
│   ├── css/
│   │   ├── your_custom_style1.css
│   │   └── your_custom_style2.css
│   ├── article1.md
│   └── pages
│       └── about.md
└── pelican.conf.py

And then add each resource as a comma-separated file name in the CSS tag:

Title: Mejor sin Wordpress
Date: 2017-02-09 18:51
Tags: programación, Wordpress, generador de páginas estáticas, generador de sitios web estáticos, rendimiento, eficiencia, comodidad, desventajas
Category: Desarrollo web
Author: jorgesumle
Slug: mejor-sin-wordpress
CSS: your_custom_style1.css, your_custom_style2.css

Finally, in your base template (likely named base.html), you need to add the following in your <head> tag:

{% if article %}
    {% if article.styles %}
        {% for style in article.styles %}
            {{ style|format(SITEURL) }}
        {% endfor %}
    {% endif %}
{% endif %}

So, in the template I use for my blog now looks like the following:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset=utf-8">
    <title>{% block title %} {{SITENAME}} {% endblock %}</title>
    <link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css" type="text/css">
    {% if article %}
        {% if article.styles %}
            {% for style in article.styles %}
                {{ style|format(SITEURL) }}
            {% endfor %}
        {% endif %}
    {% endif %}
  </head>
  <body>
    <div class=container>
        {% block header %}
            {% include "header.html" %}
        {% endblock %}

        <div class="content">
        {% block content %} {% endblock %}
        </div>

        {% block footer %}
            {% include "footer.html" %}
        {% endblock %}
    </div>
  </body>
</html>

That's it! Run your standard make html or make publish commands and your CSS will be copied and ref'd in the right places.

The previous code only works for articles. For most people that's enough. If you want to enable custom CSS in pages too insert the following code your <head> tag...

{% if page %}
    {% if page.styles %}
        {% for style in page.styles %}
            {{ style|format(SITEURL) }}
        {% endfor %}
    {% endif %}
{% endif %}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pelican_custom_css-0.0.1.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

pelican_custom_css-0.0.1-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file pelican_custom_css-0.0.1.tar.gz.

File metadata

  • Download URL: pelican_custom_css-0.0.1.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pelican_custom_css-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8f3b019f75bf6bc6761725a87ba0997e7a4bf337a69b7f614cd51abbf6d54caa
MD5 8e7573c12927763becd056fca69428dd
BLAKE2b-256 f847af3d4d2e7af873b2390b9c7002cd3aebd6f007bc8b5e513b40b66c46e15b

See more details on using hashes here.

File details

Details for the file pelican_custom_css-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pelican_custom_css-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 23d49793a48b462cb22095822259ac156cf7f0e42fe024297d4e57cf55af7a80
MD5 723ebee82fbebf3287a97ad08ffac545
BLAKE2b-256 00f18d52f2673388b32ac43e5321d7e380b8f0d0a520996d64af09e22bec6a66

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page