<commit_before>
=head1 NAME

Mojolicious::Guides - Mojolicious guide to the galaxy

=head1 DON'T PANIC!

We are constantly working on new documentation, follow us on
L<Twitter|http://twitter.com/kraih>, L<GitHub|http://github.com/kraih/mojo>
or join the official IRC channel C<#mojo> on C<irc.perl.org> to get all the
latest updates.

=head1 LEARNING PERL

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

=head1 SCREENCASTS

Before starting with the tutorial below, you should take a look at the
wonderful L<Mojocasts|http://mojocasts.com/e1>, they will give you a general
overview of what L<Mojolicious> is all about.

=head1 TUTORIAL

=over 2

=item L<Mojolicious::Lite>

A really fast and fun way to get started developing web applications with
Mojolicious is the L<Mojolicious::Lite> tutorial. Almost everything you learn
there can also be applied to normal L<Mojolicious> applications and is
considered a prerequisite for the guides. You should definitely take a look!

=back

=head1 GUIDES

=over 2

=item L<Mojolicious::Guides::Growing>

Starting a L<Mojolicious::Lite> prototype from scratch and growing it into a
well structured L<Mojolicious> application.

=item L<Mojolicious::Guides::Routing>

Simple and fun introduction to the L<Mojolicious> router.

=item L<Mojolicious::Guides::Rendering>

Generating content with the L<Mojolicious> renderer.

=item L<Mojolicious::Guides::Cookbook>

Cooking with L<Mojolicious>, recipes for every taste.

=item L<Mojolicious::Guides::Contributing>

Become a part of the ongoing L<Mojolicious> development.

=item L<Mojolicious::Guides::FAQ>

Answers to the most frequently asked questions.

=back

=head1 HIGHLIGHTS

L<Mojolicious> and L<Mojolicious::Lite> are the sum of many parts, small
building blocks that can be used independently, these are the most prominent
ones.

=over 2

=item L<Mojo::UserAgent>

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

=item L<Mojo::DOM>

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

=item L<Mojo::JSON>

Minimalistic JSON implementation that just works.

=item L<Mojo::Server::Daemon>

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

=item L<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 L<Mojo::Server::Hypnotoad>.

=item L<Mojo::Server::CGI>, L<Mojo::Server::PSGI>

Transparent CGI and L<PSGI> support out of the box.

=item L<Mojo::IOLoop>

A minimalistic event loop with support for multiple reactor backends.

=item L<Mojo::Template>

Very Perl-ish and minimalistic template system.

=item L<Test::Mojo>

Test driven development toolkit for web applications.

=item L<ojo>

Fun oneliners using everything above.

=back

=head1 MORE

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

=head1 SUPPORT

If you have any questions the documentation might not yet answer, don't
hesitate to ask on the
L<mailing-list|http://groups.google.com/group/mojolicious> or the official IRC
channel C<#mojo> on C<irc.perl.org>.

=cut
<commit_msg>new introduction for the tutorial<commit_after>
=head1 NAME

Mojolicious::Guides - Mojolicious guide to the galaxy

=head1 DON'T PANIC!

We are constantly working on new documentation, follow us on
L<Twitter|http://twitter.com/kraih>, L<GitHub|http://github.com/kraih/mojo>
or join the official IRC channel C<#mojo> on C<irc.perl.org> to get all the
latest updates.

=head1 LEARNING PERL

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

=head1 SCREENCASTS

Before starting with the tutorial below, you should take a look at the
wonderful L<Mojocasts|http://mojocasts.com/e1>, they will give you a general
overview of what L<Mojolicious> is all about.

=head1 TUTORIAL

=over 2

=item L<Mojolicious::Lite>

A really fast and fun way to get started developing web applications with
Mojolicious is the L<Mojolicious::Lite> tutorial. This micro web framework is
only a thin wrapper around the normal web framework, so almost everything you
learn here also applies to full L<Mojolicious> applications. 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!

=back

=head1 GUIDES

=over 2

=item L<Mojolicious::Guides::Growing>

Starting a L<Mojolicious::Lite> prototype from scratch and growing it into a
well structured L<Mojolicious> application.

=item L<Mojolicious::Guides::Routing>

Simple and fun introduction to the L<Mojolicious> router.

=item L<Mojolicious::Guides::Rendering>

Generating content with the L<Mojolicious> renderer.

=item L<Mojolicious::Guides::Cookbook>

Cooking with L<Mojolicious>, recipes for every taste.

=item L<Mojolicious::Guides::Contributing>

Become a part of the ongoing L<Mojolicious> development.

=item L<Mojolicious::Guides::FAQ>

Answers to the most frequently asked questions.

=back

=head1 HIGHLIGHTS

L<Mojolicious> and L<Mojolicious::Lite> are the sum of many parts, small
building blocks that can be used independently, these are the most prominent
ones.

=over 2

=item L<Mojo::UserAgent>

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

=item L<Mojo::DOM>

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

=item L<Mojo::JSON>

Minimalistic JSON implementation that just works.

=item L<Mojo::Server::Daemon>

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

=item L<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 L<Mojo::Server::Hypnotoad>.

=item L<Mojo::Server::CGI>, L<Mojo::Server::PSGI>

Transparent CGI and L<PSGI> support out of the box.

=item L<Mojo::IOLoop>

A minimalistic event loop with support for multiple reactor backends.

=item L<Mojo::Template>

Very Perl-ish and minimalistic template system.

=item L<Test::Mojo>

Test driven development toolkit for web applications.

=item L<ojo>

Fun oneliners using everything above.

=back

=head1 MORE

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

=head1 SUPPORT

If you have any questions the documentation might not yet answer, don't
hesitate to ask on the
L<mailing-list|http://groups.google.com/group/mojolicious> or the official IRC
channel C<#mojo> on C<irc.perl.org>.

=cut

{'fraction_non_alphanumeric': 0.08638673442096817, 'fraction_numerical': 0.004279219042524739, 'mean_word_length': 5.279596977329975, 'pattern_counts': {'":': 0, '<': 91, '<?xml version=': 0, '>': 91, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4302130', 'n_tokens_mistral': 2474, 'n_tokens_neox': 2372, 'n_words': 904}