Provided by: libmojolicious-perl_8.33+dfsg-1_all bug

NAME

       Mojolicious::Guides - The Mojolicious Guide to the Galaxy

DON'T PANIC!

       The Mojolicious <https://mojolicious.org> documentation is structured into three parts. The "TUTORIAL"
       everyone starts with, the "GUIDES" that explain all major features in detail, and the class "REFERENCE"
       listing all available APIs.

       Some parts of the documentation only use the Mojolicious::Lite micro web framework for examples, but
       that's merely a convenience for the reader. Almost all features are exactly the same for full Mojolicious
       applications.

BASICS

       Learning Perl
         If    you    are    new    to    Perl,    we   recommend   Learn   Perl   in   2   hours   30   minutes
         <http://qntm.org/files/perl/perl.html>  for  a  quick   introduction,   or   the   Modern   Perl   book
         <https://pragprog.com/book/swperl/modern-perl-fourth-edition>,  freely  available in many formats. Both
         are excellent introductions to the language. For more books and documentation, check out learn.perl.org
         <http://learn.perl.org/>.

       Learning Web Technologies
         All web development starts with HTML, CSS and JavaScript, to learn the basics we recommend the  Mozilla
         Developer  Network  <https://developer.mozilla.org/en-US/docs/Web>.  And if you want to know more about
         how browsers and web servers actually communicate, there's  also  a  very  nice  introduction  to  HTTP
         <https://developer.mozilla.org/en-US/docs/Web/HTTP>.

CONVENTIONS

       Modern Perl
         Mojolicious  uses  a  modern  subset  of Perl exclusively, and therefore all documentation assumes that
         strict, warnings, utf8 and Perl 5.10 features are enabled, even if examples don't specifically  mention
         it.

           use strict;
           use warnings;
           use utf8;
           use feature ':5.10';

         Some  modules,  like Mojo::Base and Mojolicious::Lite, will enable them for you automatically, whenever
         they are used.

       Variable names
         For brevity and clarity, example variables will reflect the type of data the API  uses.  For  instance,
         $bytes  or  $chars  to  distinguish whether it is encoded bytes or decoded characters in a Perl string,
         $bool if the value just indicates true or false, $c to denote a Mojolicious::Controller object, or $app
         to denote the application object.

TUTORIAL

       Mojolicious::Guides::Tutorial
         A fast and fun way to get started developing web applications with Mojolicious. The tutorial introduces
         the Mojolicious::Lite micro web framework, which is only a thin wrapper around the full web  framework.
         The  simplified  notation  introduced  in  the  tutorial  is commonly used throughout the guides and is
         therefore considered a prerequisite, you should definitely take a look!

GUIDES

       Mojolicious::Guides::Growing
         Starting a Mojolicious::Lite prototype from scratch and growing it into a  well-structured  Mojolicious
         application.

       Mojolicious::Guides::Routing
         Simple and fun introduction to the Mojolicious router.

       Mojolicious::Guides::Rendering
         Generating content with the Mojolicious renderer.

       Mojolicious::Guides::Testing
         Powerful yet elegant testing techniques and tools for Mojolicious and other web applications.

       Mojolicious::Guides::Cookbook
         Cooking with Mojolicious, recipes for every taste.

       Mojolicious::Guides::Contributing
         Become a part of the ongoing Mojolicious development.

       Mojolicious::Guides::FAQ
         Answers to the most frequently asked questions.

HIGHLIGHTS

       Mojolicious  and  Mojolicious::Lite  are  the sum of many parts, built on top of the Mojo web development
       toolkit. Small building blocks that can be used independently for all kinds of  applications,  these  are
       the most prominent ones.

       Mojo::UserAgent
         Full featured non-blocking I/O HTTP and WebSocket user agent.

       Mojo::DOM
         Very fun and minimalistic HTML/XML DOM parser with CSS selector support.

       Mojo::JSON
         Minimalistic JSON implementation that just works.

       Mojo::Server::Daemon
         Full  featured,  highly  portable non-blocking I/O HTTP and WebSocket server, with self-restart support
         through Mojo::Server::Morbo, perfect for development and testing.

       Mojo::Server::Prefork
         Full featured, UNIX optimized, preforking non-blocking I/O HTTP and WebSocket server with  support  for
         zero downtime software upgrades (hot deployment) through Mojo::Server::Hypnotoad.

       Mojo::Server::CGI, Mojo::Server::PSGI
         Transparent CGI and PSGI support out of the box.

       Mojo::IOLoop
         A minimalistic event loop with support for multiple reactor backends.

       Mojo::Template
         Very Perl-ish and minimalistic template system.

       Test::Mojo
         Testing toolkit for web applications.

       ojo
         Fun one-liners using everything above.

SPIN-OFFS

       These modules are not part of the Mojolicious distribution, but have been designed to be used with it and
       are being developed under the same umbrella.

       Mojo::Pg
         A  tiny  wrapper  around  DBD::Pg that makes PostgreSQL <http://www.postgresql.org> a lot of fun to use
         with   Mojolicious.   Perform   queries   blocking   and   non-blocking,   use   all    SQL    features
         <https://www.postgresql.org/docs/current/static/sql.html>   PostgreSQL  has  to  offer,  generate  CRUD
         queries from data structures, manage your database schema with migrations and build scalable  real-time
         web applications with the publish/subscribe pattern.

         Examples:   The   minimal   chat  <https://github.com/mojolicious/mojo-pg/tree/master/examples/chat.pl>
         application will show you how to scale WebSockets to multiple servers,  and  the  well-structured  blog
         <https://github.com/mojolicious/mojo-pg/tree/master/examples/blog>  application  how  to  apply the MVC
         design pattern in practice.

       Minion
         A full featured job queue for Mojolicious with  support  for  multiple  backends  (such  as  PostgreSQL
         <http://www.postgresql.org>).  Job  queues  allow  you to process time and/or computationally intensive
         tasks in background processes, outside of the request/response  lifecycle.  Among  those  tasks  you'll
         commonly  find  image  resizing,  spam filtering, HTTP downloads, building tarballs, warming caches and
         basically everything else you can imagine that's not super fast.

         Examples: The link checker <https://github.com/mojolicious/minion/tree/master/examples/linkcheck>  will
         show you how to integrate background jobs into well-structured Mojolicious applications.

REFERENCE

       This is the class hierarchy of the Mojolicious distribution.

       • Mojo

       • Mojo::Base

         • Mojolicious

           • Mojo::HelloWorld

           • Mojolicious::Lite

         • Mojo::Cache

         • Mojo::Cookie

           • Mojo::Cookie::Request

           • Mojo::Cookie::Response

         • Mojo::DOM::CSS

         • Mojo::DOM::HTML

         • Mojo::Date

         • Mojo::EventEmitter

           • Mojo::Asset

             • Mojo::Asset::File

             • Mojo::Asset::Memory

           • Mojo::Content

             • Mojo::Content::MultiPart

             • Mojo::Content::Single

           • Mojo::IOLoop

           • Mojo::IOLoop::Client

           • Mojo::IOLoop::Server

           • Mojo::IOLoop::Stream

           • Mojo::IOLoop::Subprocess

           • Mojo::IOLoop::TLS

           • Mojo::Log

           • Mojo::Message

             • Mojo::Message::Request

             • Mojo::Message::Response

           • Mojo::Reactor

             • Mojo::Reactor::Poll

               • Mojo::Reactor::EV

           • Mojo::Server

             • Mojo::Server::CGI

             • Mojo::Server::Daemon

               • Mojo::Server::Prefork

             • Mojo::Server::PSGI

           • Mojo::Transaction

             • Mojo::Transaction::HTTP

             • Mojo::Transaction::WebSocket

           • Mojo::UserAgent

           • Mojolicious::Plugins

         • Mojo::Exception

         • Mojo::Headers

         • Mojo::JSON::Pointer

         • Mojo::Parameters

         • Mojo::Path

         • Mojo::Promise

           • Mojo::IOLoop::Delay

         • Mojo::Server::Hypnotoad

         • Mojo::Server::Morbo

         • Mojo::Server::Morbo::Backend

           • Mojo::Server::Morbo::Backend::Poll

         • Mojo::Template

         • Mojo::URL

         • Mojo::Upload

         • Mojo::UserAgent::CookieJar

         • Mojo::UserAgent::Proxy

         • Mojo::UserAgent::Server

         • Mojo::UserAgent::Transactor

         • Mojolicious::Command

           • Mojolicious::Command::cgi

           • Mojolicious::Command::daemon

           • Mojolicious::Command::eval

           • Mojolicious::Command::get

           • Mojolicious::Command::prefork

           • Mojolicious::Command::psgi

           • Mojolicious::Command::routes

           • Mojolicious::Command::version

           • Mojolicious::Command::Author::cpanify

           • Mojolicious::Command::Author::generate::app

           • Mojolicious::Command::Author::generate::lite_app

           • Mojolicious::Command::Author::generate::makefile

           • Mojolicious::Command::Author::generate::plugin

           • Mojolicious::Command::Author::inflate

           • Mojolicious::Commands

             • Mojolicious::Command::Author::generate

         • Mojolicious::Controller

         • Mojolicious::Plugin

           • Mojolicious::Plugin::Config

             • Mojolicious::Plugin::JSONConfig

           • Mojolicious::Plugin::DefaultHelpers

           • Mojolicious::Plugin::EPLRenderer

             • Mojolicious::Plugin::EPRenderer

           • Mojolicious::Plugin::HeaderCondition

           • Mojolicious::Plugin::Mount

           • Mojolicious::Plugin::TagHelpers

         • Mojolicious::Renderer

         • Mojolicious::Routes::Match

         • Mojolicious::Routes::Pattern

         • Mojolicious::Routes::Route

           • Mojolicious::Routes

         • Mojolicious::Sessions

         • Mojolicious::Static

         • Mojolicious::Types

         • Mojolicious::Validator

         • Mojolicious::Validator::Validation

         • Test::Mojo

       • Mojo::ByteStream

       • Mojo::Collection

       • Mojo::DynamicMethods

       • Mojo::DOM

       • Mojo::File

         • Mojo::Home

       • Mojo::JSON

       • Mojo::Loader

       • Mojo::Util

       • Mojo::WebSocket

       • ojo

MORE

       A  lot  more  documentation  and  examples by many different authors can be found in the Mojolicious wiki
       <http://github.com/mojolicious/mojo/wiki>.

SUPPORT

       If you have any questions the documentation might not yet answer, don't hesitate to ask  on  the  mailing
       list    <http://groups.google.com/group/mojolicious>   or   the   official   IRC   channel   "#mojo"   on
       "irc.freenode.net"                                       (chat                                       now!
       <https://kiwiirc.com/nextclient/#irc://irc.freenode.net/mojo?nick=guest-?>).

perl v5.30.0                                       2020-02-13                           Mojolicious::Guides(3pm)