Skip to main content

DJ Press Bluesky Publisher

A plugin for DJ Press that automatically publishes your blog posts to your Bluesky account. When you publish a new post on your DJ Press site, this plugin will create a corresponding post on your Bluesky account with a customisable message.

Features

  • 🚀 Automatic posting to Bluesky when blog posts are published
  • 📝 Customisable post message
  • ✅ Keeps track of posts that have already been posted to Bluesky, so you don't get multiple posts for the same blog post.

Requirements

  • Python >= 3.10
  • Django >= 4.2
  • DJ Press >= 0.12.1
  • httpx>=0.28.0

Installation

  1. Install the package using pip:

    pip install djpress-publish-bluesky
    
  2. Add the plugin to your DJPRESS_SETTINGS in settings.py:

    DJPRESS_SETTINGS = {
        # ... existing settings
        "PLUGINS": [
            # ... existing plugins
            "djpress_publish_bluesky",
        ]
    }
    
  3. Add the plugin settings to your DJPRESS_SETTINGS in settings.py:

    DJPRESS_SETTINGS = {
        # ... existing settings
        "PLUGIN_SETTINGS": {
            # ... existing plugins
            "djpress_publish_Bluesky": {
                "enabled": True,
                "handle": "username.bksy.social",  # check your Bluesky account profile for the full handle
                "app_password": "...",  # create an app password and preferably load from an environment variable or secrets manager
                "site_url": "https://example.com",  # the URL to your site so we can create the links properly
                "post_message": "🚀 I created a new blog post!",  # this can be ommitted if you're happy with the default message shown here
                "pds_url": "https://bsky.social",  # this can be ommitted if using the default bsky.social app
            }
        }
    }
    

Configuration

Getting Your Bluesky Password

  1. Log into your Bluesky account
  2. Go to Settings > Privacy and Security > App passwords
  3. Click "Add App Password"
  4. Give it a name (e.g., "My DJ Press Blog")
  5. Don't give it any additional permissions
  6. Copy and save the password into your DJPRESS_SETTINGS as described above.

Usage

Once configured, the plugin works automatically. When you publish a new blog post, it will be posted to your Bluesky account using the configured message.

Note that a published post will only be published to Bluesky once - the first time it is saved and with is_published = True. This plugin keeps track of which posts have been published to Bluesky and won't publish them again. The list of published posts is stored in the plugin storage model.

Troubleshooting

If posts aren't appearing on Bluesky:

  1. Check the Django logs for warning messages
  2. Verify your handle and app password is correct
  3. Ensure the plugin is enabled in settings
  4. Confirm your Bluesky pds_url is correct
  5. Check that your posts are marked as published

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

Distributed under the MIT License. See LICENSE for more information.

Credits

Created by Stuart Maxwell Powered by DJ Press

Release files for djpress-publish-bluesky 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djpress-publish-bluesky 1.2.0
File Size Uploaded
djpress_publish_bluesky-1.2.0.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djpress-publish-bluesky 1.2.0
File Interpreter ABI Platform
djpress_publish_bluesky-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.3 kB

Release files / djpress_publish_bluesky-1.2.0.tar.gz

Download URL djpress_publish_bluesky-1.2.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1887f528d9a56f979050d452d89bffd6fde3b01f9a70004c2d83a51581c0310c
BLAKE2b-256 checksum
How to use checksums
8c21698d2ff3a67c371904675148fbbc8390591ff3f9b792d2494c3dc33d23ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.27.0 CPython/3.14.5 Linux/6.17.0-1018-azure

Release files / djpress_publish_bluesky-1.2.0-py3-none-any.whl

Download URL djpress_publish_bluesky-1.2.0-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c97618f942a15fe352f70136478ec54b948b9d53f82b185ed3a76aa7b7ab6d0d
BLAKE2b-256 checksum
How to use checksums
88d25ec370cbb6ee74ec08738c8a45d3fe47423ab31d25e227ca4f8b2dad19bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.27.0 CPython/3.14.5 Linux/6.17.0-1018-azure

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page