Skip to main content

Pelican plugin that generates a tag cloud from post tags

Project description

Tag Cloud: A Plugin for Pelican

Build Status PyPI Version License

This Pelican plugin generates a tag cloud from post tags.

Installation

This plugin can be installed via:

python -m pip install pelican-tag-cloud

For more detailed plugin installation instructions, please refer to the Pelican Plugin Documentation.

In order to use to use this plugin, you must edit your theme’s base template and style-sheet. You should change base.html to apply formats (and sizes) defined in style.css, as specified in Settings below.

Settings

Settings and their default values What does it do?
TAG_CLOUD_STEPS = 4 Count of different font sizes in the tag cloud
TAG_CLOUD_MAX_ITEMS = 100 Maximum number of tags in the cloud
TAG_CLOUD_SORTING = "random" Tag cloud ordering scheme. Valid values: random, alphabetically, alphabetically-rev, size, and size-rev
TAG_CLOUD_BADGE = True Optional setting: turn on badges, displaying the number of articles using each tag

Usage

The default theme does not include a tag cloud, but it is fairly easy to add one:

<ul class="tagcloud">
    {% for tag in tag_cloud %}
        <li class="tag-{{ tag.1 }}">
            <a href="{{ SITEURL }}/{{ tag.0.url }}">
            {{ tag.0 }}
                {% if TAG_CLOUD_BADGE %}
                    <span class="badge">{{ tag.2 }}</span>
                {% endif %}
            </a>
        </li>
    {% endfor %}
</ul>

You should then also define CSS styles with appropriate classes (tag-1 to tag-N, where N matches TAG_CLOUD_STEPS), tag-1 being the most frequent, and define a ul.tagcloud class with appropriate list-style to create the cloud. You should copy+paste this badge CSS rule ul.tagcloud .list-group-item <span>.badge if you are using the TAG_CLOUD_BADGE setting. (This rule, potentially long, is suggested to avoid conflicts with CSS frameworks such as Twitter Bootstrap.)

For example:

ul.tagcloud {
    list-style: none;
    padding: 0;
}

ul.tagcloud li {
    display: inline-block;
}

li.tag-1 {
    font-size: 150%;
}

li.tag-2 {
    font-size: 120%;
}

/* ... add li.tag-3 etc, as much as needed */

ul.tagcloud .list-group-item span.badge {
    background-color: grey;
    color: white;
}

By default, the tags in the cloud are sorted randomly, but if you prefer to have them sorted alphabetically, use alphabetically (ascending) and alphabetically-rev (descending). Also, it is possible to sort the tags by frequency (number of articles with this specific tag) using the values size (ascending) and size-rev (descending).

Contributing

Contributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting on existing issues.

To start contributing to this plugin, review the Contributing to Pelican documentation, beginning with the Contributing Code section.

License

This project is licensed under the AGPL-3.0 license.

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-tag-cloud-1.0.1.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

pelican_tag_cloud-1.0.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file pelican-tag-cloud-1.0.1.tar.gz.

File metadata

  • Download URL: pelican-tag-cloud-1.0.1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.10 CPython/3.7.12 Linux/5.8.0-1042-azure

File hashes

Hashes for pelican-tag-cloud-1.0.1.tar.gz
Algorithm Hash digest
SHA256 bf29107e7f2cd01f7710ed992dee7e5e67becb63c7de8a24719635d439f51f25
MD5 a7a5d2b8507bb8ebec92d0115ee4fd9a
BLAKE2b-256 40484777ee6c0cdd919fd607f15b9782f6cb91c1356ebf6dc1e547f71cf64950

See more details on using hashes here.

File details

Details for the file pelican_tag_cloud-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pelican_tag_cloud-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.10 CPython/3.7.12 Linux/5.8.0-1042-azure

File hashes

Hashes for pelican_tag_cloud-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0dee042f01821b6142f43907d27e3041b19677483f94cc9bf3162c209dbdd834
MD5 bb97674579a68952fa7125777b908f38
BLAKE2b-256 362daaa2a8bb3473774be0dd14616712a9397903b4e652b32d94710d820be1bb

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