A hosting service for Jekyll Blogs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

22 lines
1.9 KiB

# MyJekyllBlog Web Application
## Technology
This application uses the [Mojolicious Framework](https://docs.mojolicious.org/). [Minion](https://docs.mojolicious.org/Minion)
is used as a job queue for long-running processes. **MJB::DB**, the database model found in `../DB/` uses the
[DBIx::Class](https://metacpan.org/pod/DBIx::Class) ORM and can be accessed from this application through `$c->db`.
## File & Directory Structure
| Name | Purpose |
| ---------------------- | ---------------------------------------------------------------------------------------------------- |
| lib/MJB/Web.pm | This is the library where the application startup happens. It's where the magic happens. |
| lib/MJB/Web/Command | CLI commands that could be run by admins w/ shells -- see commands by running `./script/mjb --help` |
| lib/mjb/Web/Controller | Contains controllers, all HTTP requests eventually end up here (or just rendering a template) |
| lib/mjb/Web/Plugin | Plugins can do a lot. Mostly used here for interfacing more stand-alone libraries for use from mojo |
| lib/mjb/Web/Task | Minion jobs, these are long-running code that can be handled by the builder or certbot servers |
| mkits | Email templates, see [Email::MIME::Kit](https://metacpan.org/pod/Email::MIME::Kit) for more info |
| public | Contains static assets that are hosted with the web application |
| script | Contains scripts |
| templates | The templates for the webapp. See [Mojo::Template](https://docs.mojolicious.org/Mojo/Template) |
| cpanfile | [CPAN Dependencies File](https://metacpan.org/dist/Module-CPANfile/view/lib/cpanfile.pod) |