A comprehensive online directory connecting readers, educators, and event organizers with Massachusetts-based authors. Built on Grav CMS with a custom theme and plugin.
- Author Profiles: Detailed profiles for Massachusetts writers including bio, genres, availability, and contact information
- Interactive County Map: Browse authors by Massachusetts county using an interactive Mapbox map
- Genre Browsing: Filter and discover authors by literary genre
- Fuzzy Search: Client-side search powered by Fuse.js for fast, typo-tolerant results
- Author Application System: Writers can submit applications to join the directory via Flex Objects
- Admin Dashboard: Full admin panel for managing applications, authors, and site content
- Responsive Design: Mobile-first design system with customizable colors, typography, and layout
- Image Management: Profile photo uploads with Cropper.js for image cropping
- PHP 8.0 or higher
- Grav CMS 1.7+
- Required Grav Plugins:
- Admin Panel
- Flex Objects
- Form
- Login
-
Install Grav CMS following the official documentation
-
Clone this repository into your Grav installation:
cd /path/to/grav git clone https://github.com/Seabmoby/Writers_Directory.git .
-
Install dependencies:
bin/grav install
-
Configure your Mapbox access token in the Admin Panel under Themes > Writers Directory > Map
-
Set up email configuration in Admin > Configuration > Email for application notifications
user/
├── plugins/
│ └── writers-directory/ # Main plugin
│ ├── blueprints/ # Flex Objects & form definitions
│ ├── classes/ # PHP service classes
│ ├── data/ # Reference data (genres, availability, counties)
│ └── templates/ # Twig template partials
├── themes/
│ └── writers-directory/ # Custom theme
│ ├── css/ # Compiled stylesheets
│ ├── js/ # JavaScript modules
│ ├── scss/ # SCSS source files
│ └── templates/ # Page templates
├── pages/ # Content pages
│ └── home/
│ ├── 01.writers/ # Author profile pages
│ ├── 02.counties/ # County landing pages
│ └── 03.genres/ # Genre landing pages
└── data/
└── flex-objects/
└── applications/ # Writer application submissions
Access theme configuration via Admin > Themes > Writers Directory:
- General: Logo uploads, featured author settings
- Colors: Full color palette customization
- Typography: Font family, sizes, and styling
- Layout: Spacing, borders, shadows, container width
- Map: Mapbox token and style configuration
- Advanced: Custom CSS and CSS variables
Configure the plugin via Admin > Plugins > Writers Directory:
- Email notification recipients
- Application form settings
- Search indexing options
The theme uses SCSS for styling. To compile:
cd user/themes/writers-directory
npm install
npm run buildcomposer testPlease read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
For security concerns, please review our SECURITY.md file.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
- Built on Grav CMS
- Maps powered by Mapbox GL JS
- Search powered by Fuse.js
- Image cropping by Cropper.js
- Developed for the Massachusetts Center for the Book