Mojolicious
Mojolicious is a web framework for the Perl programming language. Easy and powerful, Mojolicious makes web development fun!
Projects
Yancy - Flexible Content Management
A content management tool including a mobile-friendly editor for your database along with controllers and plugins to make building content-driven websites easy and fun!
Statocles - Static site generator
A static website generator using Mojolicious. Currently undergoing a rewrite to make it more compatible with Mojolicious and Yancy for better dynamic content editing.
Mercury - WebSocket Message Broker
Mercury is a WebSocket message broker. It is built using Mojolicious and allows websites to easily set up common messaging patterns to enable communication between worker processes on the backend or between clients on the frontend.
Plugins
Some plugins I've written for Mojolicious:
- Mojolicious::Command::export - Export a site to static files A command to crawl a Mojolicious app and write the result as a static website.
- Mojolicious::Plugin::AutoReload - Automatically update pages in web browsers A plugin to make design and content changes less work: Automatically reloading any open browser windows when needed.
- Mojolicious::Plugin::DBIC - Mojolicious <3 DBIx::Class A simple plugin to make the DBIx::Class ORM easier to use in Mojolicious.
- Mojolicious::Plugin::PODViewer - Documentation website This module was forked from the original Mojolicious::Plugin::PODRenderer when that was deprecated.
Talks
A Website For Yancy - A Practical Introduction to Mojolicious
Video of this talk given at The Perl Conference 2019
This is a 45-minute talk based on my series of three posts for the 2018 Mojolicious Advent Calendar: A Website For Yancy, A View To A POD, and You Only Export Twice. This talk gets into a bit more detail about how to get started using Mojolicious.
I gave this talk to Chicago.PM in January 2019. For a future version of the talk, I intend to explain route destinations a little better and explain more about the template syntax.
Articles
Mojolicious Blogs
- Mojolicious <3 DBIx::Class - Introducing Mojolicious::Plugin::DBIC.
- Writing Reusable Controllers - How to write reusable controllers to minimize the code you have to write.
- Writing Extensible Controllers - Following after Writing Reusable Controllers, how to subclass controllers.
2018 Mojolicious Advent Calendar
I wrote 8 total articles for the calendar, a feat I doubt I will repeat.
- Automatic Reload for Rapid Development - An article about Mojolicious::Plugin::AutoReload
- Testing Hooks and Helpers - Techniques for using Test::Mojo
- Making a list with Yancy - Another simple webapp with Yancy. A better version of the 2017 article.
- Minion Stands Alone - Using the Minion job queue without a Mojolicious site
- Who Watches the Minions - Getting data about running Minion system, including Minion's admin UI
- A Website for Yancy - The first of a three-part series: Starting a simple Markdown-based website using Yancy
- A View To A POD - The second part: Using Mojolicious::Plugin::PODViewer to view Perl POD documentation
- You Only Export Twice - The third and final part: Using Mojolicious::Command::export to export the site to static HTML files
2017 Mojolicious Advent Calendar
- Mocking a REST API
- Start a new Yancy App This was a very early article about Yancy