Skip to content

Seabmoby/Writers_Directory

Massachusetts Writers Directory

A comprehensive online directory connecting readers, educators, and event organizers with Massachusetts-based authors. Built on Grav CMS with a custom theme and plugin.

Features

  • 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

Requirements

  • PHP 8.0 or higher
  • Grav CMS 1.7+
  • Required Grav Plugins:
    • Admin Panel
    • Flex Objects
    • Form
    • Email
    • Login

Installation

  1. Install Grav CMS following the official documentation

  2. Clone this repository into your Grav installation:

    cd /path/to/grav
    git clone https://github.com/Seabmoby/Writers_Directory.git .
  3. Install dependencies:

    bin/grav install
  4. Configure your Mapbox access token in the Admin Panel under Themes > Writers Directory > Map

  5. Set up email configuration in Admin > Configuration > Email for application notifications

Project Structure

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

Configuration

Theme Settings

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

Plugin Settings

Configure the plugin via Admin > Plugins > Writers Directory:

  • Email notification recipients
  • Application form settings
  • Search indexing options

Development

SCSS Compilation

The theme uses SCSS for styling. To compile:

cd user/themes/writers-directory
npm install
npm run build

Running Tests

composer test

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Security

For security concerns, please review our SECURITY.md file.

License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

Acknowledgments

About

Massachusetts Writers Directory - A Grav CMS-based directory connecting readers with Massachusetts authors

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors