Currently Reading Widget
Currently Reading Widget for Craft CMS
A Craft CMS plugin that displays your currently reading books in a beautiful slider widget. Supports multiple book data sources including OpenLibrary.
Features
- Beautiful slider interface for displaying books
- Multiple data source support (OpenLibrary, Mock API)
- Customizable templates
- Responsive design
- Easy to extend with custom book APIs
Installation
- Open your terminal and go to your Craft project:
cd /path/to/project
- Then tell Composer to load the plugin:
composer require jaymeh/craft-currently-reading-widget
- In the Control Panel, go to Settings → Plugins and click the "Install" button for Currently Reading Widget.
Configuration
- Go to Settings → Plugins → Currently Reading Widget
- Select your preferred book data source (OpenLibrary or Mock API)
- Configure any additional settings specific to your chosen data source
Customization
Overriding Templates
You can override the default templates by creating your own versions in your Craft project:
Create a directory in your project:
templates/currently-reading/
Copy the template files from the plugin's
templates/currently-reading/
directory to your project's directory.Modify the templates as needed. Available templates:
slider.twig
- Renders books in a slider template
Customizing Styles
The plugin's styles can be customized in two ways:
Override the CSS file: Create your own CSS file in your project and override the plugin's classes:
.currently-reading-widget__slider { /* Your custom styles */ }
Add custom classes: The plugin's templates use BEM-style class names that you can extend or override in your own CSS.
Extending with Custom APIs
You can add your own book data source by:
- Creating a new class that implements
BookServiceInterface
- Registering your API in the
RegisterBookApiEvent
event:
use jaymeh\craftcurrentlyreadingwidget\events\RegisterBookApiEvent;
Event::on(
BookApiService::class,
RegisterBookApiEvent::class,
function(RegisterBookApiEvent $event) {
$event->apis['myapi'] = MyCustomApi::class;
}
);
Available Template Variables
In the slider template, you have access to the following variables:
books
- Array of book objects with properties:title
- Book titleauthor
- Book authorcoverImageUrl
- URL to book cover image
Support
For support, please open an issue in the GitHub repository or contact the plugin author.
License
This plugin is licensed under the Craft License.
Standard
Plus $8/year after one year.
To install this plugin, copy the command above to your terminal.
This plugin doesn't have any reviews.