Skip to main content

A Pelican plugin to create share URLs of article

Project description

Share Post: A Plugin for Pelican

Build Status PyPI Version Downloads License

Share Post is a Pelican plugin that creates share links in articles that allow site visitors to share the current article with others in a privacy-friendly manner.

Many web sites have share widgets to let readers share posts on social networks. Most of these widgets are used by vendors for online tracking. These widgets can also be visually-distracting and negatively affect readers’ attention.

Share Post creates old-school URLs for some popular sites which your theme can use. These links do not have the ability to track site visitors. They can also be unobtrusive depending on how Pelican theme uses them.

Installation

This plugin can be installed via:

python -m pip install pelican-share-post

As long as you have not explicitly added a PLUGINS setting to your Pelican settings file, then the newly-installed plugin should be automatically detected and enabled. Otherwise, you must add share_post to your existing PLUGINS list. For more information, please see the How to Use Plugins documentation.

Usage

This plugin adds to each Pelican article a dictionary of URLs that, when followed, allows the reader to easily share the article via specific channels. When activated, the plugin adds the attribute share_post to each article with the following format:

article.share_post = {
	"email": "<URL>",
	"diaspora": "<URL>",
	"facebook": "<URL>",
	"hacker-news": "<URL>",
	"linkedin": "<URL>",
	"mastodon": "<URL>",
	"reddit": "<URL>",
	"twitter": "<URL>",
	"bluesky": "<URL>",
}

You can then access those variables in your template. For example:

{% if article.share_post and article.status != 'draft' %}
<section>
  <p id="post-share-links">
    Share on:
    <a href="{{article.share_post['email']}}" title="Share via Email">Email</a><a href="{{article.share_post['diaspora']}}" title="Share on Diaspora">Diaspora</a><a href="{{article.share_post['facebook']}}" title="Share on Facebook">Facebook</a><a href="{{article.share_post['hacker-news']}}" title="Share on Hacker News">Hacker News</a><a href="{{article.share_post['linkedin']}}" title="Share on LinkedIn">LinkedIn</a><a href="{{article.share_post['mastodon']}}" title="Share on Mastodon">Mastodon</a><a href="{{article.share_post['reddit']}}" title="Share via Reddit">Reddit</a><a href="{{article.share_post['twitter']}}" title="Share on Twitter">Twitter</a><a href="{{article.share_post['bluesky']}}" title="Share on Bluesky">Bluesky</a>
  </p>
</section>
{% endif %}

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.

Contributors

License

This project is licensed under the MIT 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_share_post-1.2.1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pelican_share_post-1.2.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file pelican_share_post-1.2.1.tar.gz.

File metadata

  • Download URL: pelican_share_post-1.2.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pelican_share_post-1.2.1.tar.gz
Algorithm Hash digest
SHA256 f6dc774ba2527f8a10e8c27dcf8d63d05515b94e05eca7dc7a647e2683a6be3d
MD5 cd9dae60f644822739c7ae38685f6869
BLAKE2b-256 0cc2ff54225243bb001c1a0d82bc953f6219a5698286f3dcc9680666ef735c0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pelican_share_post-1.2.1.tar.gz:

Publisher: main.yml on pelican-plugins/share-post

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pelican_share_post-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pelican_share_post-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fc299140bb66e0fac23b4e907e8be161b678c6dd81cabc582c74479f2cd33efb
MD5 49b44d86b001e8324ce0680afb406aa5
BLAKE2b-256 427d1ce09fa82d59f32e516e0b148946a3840d2984d693520ae8368d3e0773f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pelican_share_post-1.2.1-py3-none-any.whl:

Publisher: main.yml on pelican-plugins/share-post

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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