https://github.com/twowheeldev/markupbluesky
Processwire Module to show a users Bluesky posts
https://github.com/twowheeldev/markupbluesky
Last synced: 17 days ago
JSON representation
Processwire Module to show a users Bluesky posts
- Host: GitHub
- URL: https://github.com/twowheeldev/markupbluesky
- Owner: TwoWheelDev
- License: mit
- Created: 2025-04-24T21:38:15.000Z (30 days ago)
- Default Branch: main
- Last Pushed: 2025-04-29T10:18:02.000Z (25 days ago)
- Last Synced: 2025-05-07T20:17:50.278Z (17 days ago)
- Language: PHP
- Size: 49.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MarkupBluesky for ProcessWire
  
The **MarkupBluesky** module allows you to embed and manage content from [Bluesky Social](https://bsky.app) within your ProcessWire pages using a custom fieldtype. Designed with flexibility in mind, it supports fetching posts from a given Bluesky handle and includes configurable options such as number of posts and whether to include reposts.
## Features
- Custom ProcessWire fieldtype with options for:
- Setting a Bluesky handle
- Choosing how many posts to show
- Toggling inclusion of reposts
- Outputs formatted markup via `MarkupBluesky` for front-end rendering
- Stores settings per-page using JSON in the database
- Includes a `Textformatter` to render individual posts to a page## Installation
1. Copy all module files to `site/modules/BlueskyFeed/`
2. Inside ProcessWire Admin:
- Go to **Modules > Refresh**
- Install `MarkupBluesky` (this will also install `InputfieldBluesky` and `FieldTypeBluesky`)
- Optionally install `TextformatterBluesky`## Usage
### Feed Rendering
#### 1. Add Field to Template
- Create a new field of type `Bluesky`
- Add it to any template where you want to configure a Bluesky feed#### 2. Configure Per Page
Once added, you can:
- Enter the Bluesky handle (e.g. `@yourusername.bsky.social`)
- Set the number of posts (default: 5)
- Choose whether to include reposts#### 3. Rendering on Frontend
When using the rendering two dependencies are needed:
- `FancyBox` (to post images to be displayed full screen)
- `HLS` (to allow users to play emebedded videos)These can be added to the head of the page:
```html```
To output the feed to the page:
```php
echo $modules->get('MarkupBluesky')->renderFeed($page->bluesky);
```### Post Rendering
#### 1. Add the Textformatter to the required field
#### 2. Add the URL of the post you want to display to the page (in the field configured with the Textformatter)
- The post url is as displayed in the browser e.g https://bsky.app/profile/bsky.app/post/3lndjyecwcs2a
- The user handle (bsky.app) will be converted to an atProto DID and stored in the database table, so if a user changes their handle
the original link will still render the correct post
- To ensure images and videos are rendered and viewable, the `FancyBox` and `HLS` scripts should be added as detailed above### License
MIT β do whatever you want, just donβt blame me if it breaks π
### Credits
Built by TwoWheelDev π
Powered by ProcessWire and fueled by curiosity.