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
-
Install the package using pip:
pip install djpress-publish-bluesky
-
Add the plugin to your
DJPRESS_SETTINGSinsettings.py:DJPRESS_SETTINGS = { # ... existing settings "PLUGINS": [ # ... existing plugins "djpress_publish_bluesky", ] }
-
Add the plugin settings to your
DJPRESS_SETTINGSinsettings.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
- Log into your Bluesky account
- Go to Settings > Privacy and Security > App passwords
- Click "Add App Password"
- Give it a name (e.g., "My DJ Press Blog")
- Don't give it any additional permissions
- Copy and save the password into your
DJPRESS_SETTINGSas 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:
- Check the Django logs for warning messages
- Verify your handle and app password is correct
- Ensure the plugin is enabled in settings
- Confirm your Bluesky pds_url is correct
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| djpress_publish_bluesky-1.2.0.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|