- Plugin architecture 𐍈
- Load the core plugin, plus only the feature plugins that you want to use
- Reduces in-memory size and attackable surface area
- Add custom functionality easily by writing your own plugins
- Items on this list marked with 𐍈 are provided by the core plugin
- Items on this list marked with ± are provided by one of the feature plugins
- Themes (on the hosted site) 𐍈
- Light-lift theme system - you can override just a few of the default partials if you want
- Two themes included; Halcyonic, for content-rich sites, and Coming Soon for pre-launch sites
- Pages ±
- Content-controlled 'brochure pages', with layout controlled by Page Templates
- Can be organised into Page Sections (nested to any depth), with dynamically generated menus
- Inserts ±
- Re-usable content fragments that can be pulled into any template on any page
- News section ±
- Blog ±
- Comments 𐍈
- Ready to add to any content; enabled by default on blog posts and optionally on news posts
- Fully nested comment threads, so you can easily see who is replying to who at any level
- Email notifications of replies to comments and posts
- Uses reCAPTCHA to block bots, and Akismet to flag potential spam for moderation
- Spam moderation feature sends training data back to Akismet, to improve its accuracy in future
- Mailing lists ±
- Double opt-in, user subscription management, 'do not contact' feature
- Newsletters ±
- HTML mailshots, generated from MJML templates for cross-platform compatibility
- Basic form handlers ±
- e.g. 'email form data to site owner' - useful for contact and enquiry forms
- Protected by reCAPTCHA and Akismet
- Access control ±
- Create access groups, and add/remove members from them,
- Use the
current_user_can_access?( :group_name )
helper to show/hide content
- Site search ±
- Ready to support multiple search backends (default is pg_search multisearch)
- Tags 𐍈
- Upvotes (AKA 'likes') on posts and comments
- Supports downvotes too, if you want a full rating/ranking system
- User profile pages ±
- With links to user-generated content such as recent comments, recent blog posts, etc
- User accounts 𐍈
- User administration in website admin area
- Authentication powered by Devise
- ACL-based authorisation system for admin area, powered by Pundit
- Site settings and feature flags 𐍈
- Website admin area for both, plus a rake task for command-line access to feature flags
- Sitemap generation and search-engine notification, powered by SitemapGenerator ±
- Emails can be generated from MJML or HTML templates 𐍈
- Using MJML allows you to produce more reliably cross-platform HTML emails
- Default MJML templates included for most features that send email
- Built-in tracking of web stats and email stats
- Build your own charts and dashboards for viewing and analyzing stats
- Powered by Blazer
- Default config includes a dozen useful charts and queries to get you started