Skip to content

Commit 597e759

Browse files
committed
New Dancer2 manual; reorganize all documentation
Thanks to a grant from TPRF, we were able to overhaul the Dancer2 documentation. This includes reorganizing all documentation, and rewriting much of the content (Manual, Deployment, Cookbook, and Tutorial). This commit is made from squashing the commits from the docs/doc-grant-release branch.
1 parent b597707 commit 597e759

File tree

14 files changed

+5746
-4966
lines changed

14 files changed

+5746
-4966
lines changed

README.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -36,50 +36,55 @@ Dancer2 is easy and fun:
3636

3737
## Documentation Index
3838

39-
Documentation for Dancer2 is split into several sections:
39+
You have questions. We have answers.
4040

4141
- Dancer2 Tutorial
4242

43-
If you've never danced before, you should start by reading
44-
our [tutorial](https://metacpan.org/pod/Dancer2%3A%3ATutorial).
43+
Want to learn by example? The [Dancer2 tutorial](https://metacpan.org/pod/Dancer2%3A%3ATutorial)
44+
will take you from installation to a working application.
45+
46+
- Quick Start
47+
48+
Want to get going faster? [Quick Start](https://somewhere) will help
49+
you install Dancer2 and bootstrap a new application quickly.
4550

4651
- Manual
4752

48-
The [Dancer2::Manual](https://metacpan.org/pod/Dancer2%3A%3AManual) is the definitive reference for Dancer2. Here you will find
49-
information on the concepts of Dancer2 application development and a comprehensive reference to the Dancer2 domain specific
50-
language.
53+
Want to gain understanding of Dancer2 so you can use it best? The
54+
[Dancer2::Manual](https://metacpan.org/pod/Dancer2%3A%3AManual) is a
55+
comprehensive guide to the framework.
5156

5257
- Keyword Guide
5358

54-
The complete list of keywords for Dancer2 is documented in the [DSL Keywords](https://metacpan.org/pod/Dancer2%3A%3AManual#DSL-KEYWORDS)
55-
guide.
59+
Looking for a list of all the keywords? The [DSL guide](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3AKeywords)
60+
documents the entire Dancer2 DSL.
5661

57-
- Deployment
62+
- Configuration
5863

59-
For configuration examples of different deployment solutions involving
60-
Dancer2 and Plack, refer to [the deployment guide](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3ADeployment).
64+
Need to fine tune your application? The [configuration guide](https://metacpan.org/pod/Dancer2%3A%3AConfig)
65+
is a complete reference to all configuration options.
6166

62-
- Cookbook
67+
- Deployment
6368

64-
Specific examples of code for real-life problems and some 'tricks' for
65-
applications in Dancer2 can be found in [the Cookbook](https://metacpan.org/pod/Dancer2%3A%3ACookbook)
69+
Ready to get your application off the ground? [Deploying Dancer2 Applications](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3ADeployment)
70+
helps you deploy your application to a real-world host.
6671

67-
- Configuration
72+
- Cookbook
6873

69-
For configuration file details refer to [Dancer2::Config](https://metacpan.org/pod/Dancer2%3A%3AConfig). It is a
70-
complete list of all configuration options.
74+
How do I...? Our [cookbook](https://metacpan.org/pod/Dancer2%3A%3ACookbook)
75+
comes with various recipes in many tasty flavors!
7176

7277
- Plugins
7378

74-
Refer to [Dancer2::Plugins](https://metacpan.org/pod/Dancer2%3A%3APlugins) for a curated list of Dancer2
75-
plugins, or [search MetaCPAN](https://metacpan.org/search?q=Dancer2%3A%3APlugin) for a complete list.
79+
Looking for add-on functionality for your application? The [plugin guide](https://metacpan.org/pod/Dancer2%3A%3APlugins)
80+
contains our curated list of recommended plugins.
7681

77-
For information on how to author a plugin, see ["Writing the plugin" in Dancer2::Plugin](https://metacpan.org/pod/Dancer2%3A%3APlugin#Writing-the-plugin).
82+
For information on how to author a plugin, see [the plugin author's guide](https://metacpan.org/pod/Dancer2%3A%3APlugin#Writing-the-plugin).
7883

7984
- Dancer2 Migration Guide
8085

81-
[The migration guide](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3AMigration) provides the most up-to-date instructions on
82-
how to convert a Dancer (1) based application to Dancer2.
86+
Starting from Dancer 1? Jump over to [the migration guide](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3AMigration)
87+
to learn how to make the smoothest transition to Dancer2.
8388

8489
### Other Documentation
8590

lib/Dancer2.pm

Lines changed: 43 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -123,72 +123,83 @@ __END__
123123
124124
=head1 DESCRIPTION
125125
126-
Dancer2 is the new generation of L<Dancer>, the lightweight web-framework for
126+
Dancer2 is the new generation of L<Dancer>, the lightweight web framework for
127127
Perl. Dancer2 is a complete rewrite based on L<Moo>.
128128
129129
Dancer2 can optionally use XS modules for speed, but at its core remains
130-
fatpackable (packable by L<App::FatPacker>) so you could easily deploy Dancer2
130+
fatpackable (via L<App::FatPacker>), enabling you to easily deploy Dancer2
131131
applications on hosts that do not support custom CPAN modules.
132132
133-
Dancer2 is easy and fun:
133+
Creating web applications with Dancer2 is easy and fun:
134134
135+
#!/usr/bin/env perl
136+
137+
package HelloWorld;
135138
use Dancer2;
136-
get '/' => sub { "Hello World" };
137-
dance;
139+
140+
get '/' => sub {
141+
return "Hello, world!";
142+
};
143+
144+
true;
145+
146+
HelloWorld->to_app;
138147
139148
This is the main module for the Dancer2 distribution. It contains logic for
140149
creating a new Dancer2 application.
141150
142151
=head2 Documentation Index
143152
144-
Documentation on Dancer2 is split into several sections. Below is a
145-
complete outline on where to go for help.
153+
You have questions. We have answers.
146154
147155
=over 4
148156
149157
=item * Dancer2 Tutorial
150158
151-
If you are new to the Dancer approach, you should start by reading
152-
our L<Dancer2::Tutorial>.
159+
Want to learn by example? The L<Dancer2::Manual::Tutorial> will take you from
160+
installation to a working application.
161+
162+
item * Quick Start
163+
164+
Want to get going faster? L<Quick Start|Dancer2::Manual::QuickStart> will help you install Dancer2
165+
and bootstrap a new application quickly.
153166
154167
=item * Dancer2 Manual
155168
156-
L<Dancer2::Manual> is the reference for Dancer2. Here you will find
157-
information on the concepts of Dancer2 application development and
158-
a comprehensive reference to the Dancer2 domain specific
159-
language.
169+
Want to gain understanding of Dancer2 so you can use it best? The
170+
L<Dancer2::Manual> is a comprehensive guide to the framework.
160171
161172
=item * Dancer2 Keywords
162173
163-
The keywords for Dancer2 can be found under L<DSL Keywords|Dancer2::Manual/DSL KEYWORDS>.
174+
Looking for list of all the keywords? The L<DSL guide|Dancer2::Manual::Keywords>
175+
documents the entire Dancer2 DSL.
164176
165-
=item * Dancer2 Deployment
177+
=item * Dancer2 Config
166178
167-
For configuration examples of different deployment solutions involving
168-
Dancer2 and Plack, refer to L<Dancer2::Manual::Deployment>.
179+
Need to fine tune your application? The L<configuration guide|Dancer2::Manual::Config>
180+
is the complete reference to all configuration options.
169181
170-
=item * Dancer2 Cookbook
182+
=item * Dancer2 Deployment
171183
172-
Specific examples of code for real-life problems and some 'tricks' for
173-
applications in Dancer can be found in L<Dancer2::Cookbook>
184+
Ready to get your application off the ground? L<Deploying Dancer2 applications|Dancer2::Manual::Deployment>
185+
helps you deploy your application to a real-world host.
174186
175-
=item * Dancer2 Config
187+
=item * Dancer2 Cookbook
176188
177-
For configuration file details refer to L<Dancer2::Config>. It is a
178-
complete list of all configuration options.
189+
How do I...? Our L<cookbook|Dancer2::Manual::Cookbook> comes with various recipes
190+
in many tasty flavors!
179191
180192
=item * Dancer2 Plugins
181193
182-
Refer to L<Dancer2::Plugins> for a partial list of available Dancer2
183-
plugins. Note that although we try to keep this list up to date we
184-
expect plugin authors to tell us about new modules.
194+
Looking for add-on functionality for your application? The L<plugin guide|Dancer2::Manual::Plugins>
195+
contains our curated list of recommended plugins.
185196
186-
For information on how to author a plugin, see L<Dancer2::Plugin/Writing the plugin>.
197+
For information on how to author a plugin, see L<the plugin author's guide|Dancer2::Plugin/Writing the plugin>.
187198
188199
=item * Dancer2 Migration guide
189200
190-
L<Dancer2::Manual::Migration> provides the most up-to-date instruction on
191-
how to convert a Dancer (1) based application to Dancer2.
201+
Starting from Dancer 1? Jump over to the L<migration guide|Dancer2::Manual::Migration>
202+
to learn how to make the smoothest transition to Dancer2.
192203
193204
=back
194205
@@ -227,8 +238,9 @@ for guiding and shaping future development of Dancer2.
227238
=head1 SECURITY REPORTS
228239
229240
If you need to report a security vulnerability in Dancer2, send all pertinent
230-
information to L<dancer-security@dancer.pm|mailto:dancer-security@dancer.pm>. These matters are taken
231-
extremely seriously, and will be addressed in the earliest timeframe possible.
241+
information to L<dancer-security@dancer.pm|mailto:dancer-security@dancer.pm>, or report it
242+
via the GitHub security tool. These reports will be addressed in the earliest possible
243+
timeframe.
232244
233245
=head1 SUPPORT
234246

0 commit comments

Comments
 (0)