A powerful and customizable events module for HydePHP
HydePHP Events Module extends the capabilities of HydePHP, an elegant static site generator, by adding robust event management functionality. This package enables developers to easily create, paginate, and manage event pages within their HydePHP projects.
- Event Management: Create and manage events effortlessly.
- Hyde Pagination Support: Automatically paginate your event listings.
- TailwindCSS Integration: Publish and extend custom TailwindCSS configurations for event styling.
- Seamless Configuration: Publish and manage a dedicated configuration file for the events module.
- PHP: ^8.0
- HydePHP: ^1.7
Install the HydePHP Events Module via Composer:
composer require melasistema/hyde-events-module
After installation, publish the configuration file and TailwindCSS configuration using the following commands:
php hyde vendor:publish --tag=hyde-events-config
php hyde vendor:publish --tag=tailwind-events-config
Merge the contents of the published tailwind-events.config.js
file with your project's default Tailwind configuration. This ensures your event pages inherit custom styles while maintaining the consistency of your site's design.
const defaultTheme = require('tailwindcss/defaultTheme');
const hydeEventsConfig = require('./tailwind-events.config.js');
module.exports = {
darkMode: 'class',
content: [
'./_pages/**/*.blade.php',
'./resources/views/**/*.blade.php',
'./vendor/hyde/framework/resources/views/**/*.blade.php',
...hydeEventsConfig.content, // Merge Hyde Events Module content paths
],
theme: {
extend: {
...hydeEventsConfig.theme.extend, // Merge the extend section from the Hyde Events Module config
// Default and yours custom theme settings
},
},
plugins: [
// Default and yours custom theme settings
],
};
The HydePHP Events Module comes with pre-designed Blade templates for displaying events, event listings, and event details. If you want to customize the look and feel of these pages, you can publish the views to your project and modify them as needed.
To publish the views, run the following Artisan command:
php hyde vendor:publish --tag=hyde-events-views
This will copy the views from the package into your project
's resources/views/vendor/hyde-events directory.
Once the views are published, you can freely edit them in the resources/views/vendor/hyde-events
directory. For example, if you want to customize the layout or design of the event pages, you can modify the relevant Blade files here.
resources/views/vendor/hyde-events/event-post-feed.blade.php
: Customize the event listing page.
resources/views/vendor/hyde-events/components/event/article.blade.php
: Modify the individual event detail page.
By publishing the views, you gain full control over how events are presented in your application, making it easy to adapt the module to your specific design needs.
Leverage the included artisan commands to create new events:
php hyde make:event "Your Event Name"
This will generate an event Markdown file with the necessary front matter, ready to be customized.
Publish a pre-designed homepage for your events:
php hyde publish:homepage-events
Customize the homepage as needed by editing the generated files in your project.
The configuration file config/hyde-events.php
allows you to customize various aspects of the module, including:
- Pagination Settings: Define the number of events displayed per page.
Contributions are welcome! If you encounter any issues or have ideas for new features, feel free to submit an issue or open a pull request on the GitHub repository.
Clone the repository and install dependencies:
git clone https://github.com/melasistema/hyde-events-module.git
cd hyde-events-module
composer install
- Author: Luca Visciola (info@melasistema.com)
- Inspired by HydePHP: Created by Caen De Silva (HydePHP GitHub)
This package is licensed under the MIT License. See the LICENSE file for more details.
HydePHP Events Module: Bringing event management to the elegant world of HydePHP.