Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 463 lines (247 sloc) 8.196 kb
8ea5ba2 renamed Mojo::Manual to Mojolicious::Book
Sebastian Riedel authored
1
7a7723f @kraih more consistent POD formatting
authored
2 =encoding utf8
3
8ea5ba2 renamed Mojo::Manual to Mojolicious::Book
Sebastian Riedel authored
4 =head1 NAME
5
7a77b78 @kraih fixed many typos
authored
6 Mojolicious::Guides - Mojolicious guide to the galaxy
8ea5ba2 renamed Mojo::Manual to Mojolicious::Book
Sebastian Riedel authored
7
659b840 fixed typos
Sebastian Riedel authored
8 =head1 DON'T PANIC!
8ea5ba2 renamed Mojo::Manual to Mojolicious::Book
Sebastian Riedel authored
9
bac6cc4 @kraih added title to twitter and github links
authored
10 We are constantly working on new documentation, follow us on
9162e45 @kraih documentation updates are rarely mentioned on Twitter
authored
11 L<GitHub|http://github.com/kraih/mojo> or join the official IRC channel
12 C<#mojo> on C<irc.perl.org> to get all the latest updates.
a1a7060 added WebSocket support, happy 1000th commit!
Sebastian Riedel authored
13
23aae00 @kraih added BASICS section to Mojolicious::Guides
authored
14 =head1 BASICS
15
16 =over 2
17
18 =item Learning Perl
58bc987 @amenonsen Link to learn.perl.org from Guides.pod (closes #244)
amenonsen authored
19
27ccf4d @marcusramberg Rephrase reference line and readd reference to learn.perl.org. (Closes #...
marcusramberg authored
20 If you are new to Perl, we recommend
97eae38 @kraih switch from 78 to 79 characters
authored
21 L<Learn Perl in 2 hours 30 minutes|http://qntm.org/files/perl/perl.html> for a
22 quick introduction, or the
30e5d74 @kraih reflow POD for tempire
authored
23 L<Modern Perl book|http://modernperlbooks.com/books/modern_perl/>, freely
24 available in many formats. Both are excellent introductions to the language.
25 For more books and documentation, check out
26 L<learn.perl.org|http://learn.perl.org/>.
58bc987 @amenonsen Link to learn.perl.org from Guides.pod (closes #244)
amenonsen authored
27
23aae00 @kraih added BASICS section to Mojolicious::Guides
authored
28 =item Learning Web Technologies
035cd84 @kraih recommend MDN for learning HTML
authored
29
18fe6ff @kraih more knowledge of web technologies is required
authored
30 All web development starts with HTML, CSS and JavaScript, to learn the basics
31 we recommend the
d6a8b61 @kraih mention how to learn more about HTTP
authored
32 L<Mozilla Developer Network|https://developer.mozilla.org/en-US/docs/Web>. And
8be41ca @kraih documentation tweak
authored
33 if you want to know more about how browsers and web servers actually
34 communicate, there's also a very nice introduction to
d6a8b61 @kraih mention how to learn more about HTTP
authored
35 L<HTTP|https://developer.mozilla.org/en-US/docs/Web/HTTP>.
035cd84 @kraih recommend MDN for learning HTML
authored
36
23aae00 @kraih added BASICS section to Mojolicious::Guides
authored
37 =back
38
cfc35e2 cleanup
Sebastian Riedel authored
39 =head1 TUTORIAL
40
5b8cca4 @kraih highlight tutorial
authored
41 =over 2
42
7eb472b @kraih move tutorial from Mojolicious::Lite to Mojolicious::Guides::Tutorial
authored
43 =item L<Mojolicious::Guides::Tutorial>
5b8cca4 @kraih highlight tutorial
authored
44
19a25f7 @kraih more links
authored
45 A fast and fun way to get started developing web applications with
0e68479 @kraih much simpler tutorial description
authored
46 L<Mojolicious>. The tutorial introduces the L<Mojolicious::Lite> micro web
47 framework, which is only a thin wrapper around the full web framework. The
19a25f7 @kraih more links
authored
48 simplified notation introduced in the tutorial is commonly used throughout the
80fbf18 @kraih fix line length in guides
authored
49 guides and is therefore considered a prerequisite, you should definitely take a
50 look!
cfc35e2 cleanup
Sebastian Riedel authored
51
5b8cca4 @kraih highlight tutorial
authored
52 =back
53
3387874 renamed Mojolicious::Book to Mojolicious::Guides
Sebastian Riedel authored
54 =head1 GUIDES
a1a7060 added WebSocket support, happy 1000th commit!
Sebastian Riedel authored
55
e8805d1 @kraih changed indentation style
authored
56 =over 2
a1a7060 added WebSocket support, happy 1000th commit!
Sebastian Riedel authored
57
ca2dfa9 @kraih promote growing guide
authored
58 =item L<Mojolicious::Guides::Growing>
59
60 Starting a L<Mojolicious::Lite> prototype from scratch and growing it into a
f273dd0 @kraih fixed a few typos
authored
61 well-structured L<Mojolicious> application.
ca2dfa9 @kraih promote growing guide
authored
62
3a82d0b fixed tests to not use IPv6
Sebastian Riedel authored
63 =item L<Mojolicious::Guides::Routing>
64
65 Simple and fun introduction to the L<Mojolicious> router.
66
ab7c4c4 fixed typo
Sebastian Riedel authored
67 =item L<Mojolicious::Guides::Rendering>
68
69 Generating content with the L<Mojolicious> renderer.
70
124730a started cookbook
Sebastian Riedel authored
71 =item L<Mojolicious::Guides::Cookbook>
72
73 Cooking with L<Mojolicious>, recipes for every taste.
74
00c4a88 @kraih replaced Mojolicious::Guides::CodingGuidelines with Mojolicious::Guides:...
authored
75 =item L<Mojolicious::Guides::Contributing>
1be577a added FAQ
Sebastian Riedel authored
76
e26f4eb @kraih documentation tweaks
authored
77 Become a part of the ongoing L<Mojolicious> development.
1be577a added FAQ
Sebastian Riedel authored
78
00c4a88 @kraih replaced Mojolicious::Guides::CodingGuidelines with Mojolicious::Guides:...
authored
79 =item L<Mojolicious::Guides::FAQ>
a1a7060 added WebSocket support, happy 1000th commit!
Sebastian Riedel authored
80
e26f4eb @kraih documentation tweaks
authored
81 Answers to the most frequently asked questions.
a1a7060 added WebSocket support, happy 1000th commit!
Sebastian Riedel authored
82
83 =back
8ea5ba2 renamed Mojo::Manual to Mojolicious::Book
Sebastian Riedel authored
84
ead75da @kraih ho ho ho
authored
85 =head1 HIGHLIGHTS
b7b418f @kraih ho ho ho
authored
86
87 L<Mojolicious> and L<Mojolicious::Lite> are the sum of many parts, small
6b22662 @kraih ho ho ho
authored
88 building blocks that can be used independently, these are the most prominent
89 ones.
b7b418f @kraih ho ho ho
authored
90
e8805d1 @kraih changed indentation style
authored
91 =over 2
b7b418f @kraih ho ho ho
authored
92
6af6d35 @kraih Deprecated Mojo::Client in favor of the much sleeker Mojo::UserAgent
authored
93 =item L<Mojo::UserAgent>
b7b418f @kraih ho ho ho
authored
94
aae26ef @kraih no need to mention HTTP version everywhere
authored
95 Full featured non-blocking I/O HTTP and WebSocket user agent.
b7b418f @kraih ho ho ho
authored
96
97 =item L<Mojo::DOM>
98
f4a860c @kraih no need to mention HTML and CSS versions
authored
99 Very fun and minimalistic HTML/XML DOM parser with CSS selector support.
b7b418f @kraih ho ho ho
authored
100
101 =item L<Mojo::JSON>
102
103 Minimalistic JSON implementation that just works.
104
105 =item L<Mojo::Server::Daemon>
106
80fbf18 @kraih fix line length in guides
authored
107 Full featured, highly portable non-blocking I/O HTTP and WebSocket server, with
108 self-restart support through L<Mojo::Server::Morbo>, perfect for development
109 and testing.
b7b418f @kraih ho ho ho
authored
110
cc86d1a @kraih added modules Mojo::Server::Prefork and Mojolicious::Command::prefork
authored
111 =item L<Mojo::Server::Prefork>
b7b418f @kraih ho ho ho
authored
112
5effb79 @kraih more links to Mojo::IOLoop
authored
113 Full featured, UNIX optimized, preforking non-blocking I/O HTTP and WebSocket
cc86d1a @kraih added modules Mojo::Server::Prefork and Mojolicious::Command::prefork
authored
114 server with support for zero downtime software upgrades (hot deployment)
115 through L<Mojo::Server::Hypnotoad>.
b7b418f @kraih ho ho ho
authored
116
a1a16bb @kraih removed Mojo::Server::FastCGI so it can be maintained as a separe distri...
authored
117 =item L<Mojo::Server::CGI>, L<Mojo::Server::PSGI>
b7b418f @kraih ho ho ho
authored
118
442e164 @kraih added experimental to_psgi method to Mojo::Server::PSGI
authored
119 Transparent CGI and L<PSGI> support out of the box.
b7b418f @kraih ho ho ho
authored
120
b7193ca @kraih link to plugins and commands
authored
121 =item L<Mojo::IOLoop>
122
123 A minimalistic event loop with support for multiple reactor backends.
124
b7b418f @kraih ho ho ho
authored
125 =item L<Mojo::Template>
126
66442bf @kraih updated Mojo::Template documentation a bit
authored
127 Very Perl-ish and minimalistic template system.
b7b418f @kraih ho ho ho
authored
128
129 =item L<Test::Mojo>
130
46de638 @kraih emphasize that TDD is just a tool
authored
131 Testing toolkit for web applications.
b7b418f @kraih ho ho ho
authored
132
133 =item L<ojo>
134
4ad5dba @kraih fixed a few typos
authored
135 Fun one-liners using everything above.
b7b418f @kraih ho ho ho
authored
136
137 =back
138
aa3c6bb @kraih link to spin-off projects again
authored
139 =head1 SPIN-OFFS
140
141 These modules are not part of the L<Mojolicious> distribution, but have been
142 designed to be used with it and are being developed under the same umbrella.
143
144 =over 2
145
146 =item L<Mojo::Pg>
147
148 A tiny wrapper around L<DBD::Pg> that makes
149 L<PostgreSQL|http://www.postgresql.org> a lot of fun to use with
150 L<Mojolicious>.
151
152 =item L<Minion>
153
154 A job queue for L<Mojolicious> with support for multiple backends.
155
156 =back
157
db45a2e @kraih added class hierarchy to guides
authored
158 =head1 REFERENCE
159
71b1df6 @kraih fixed example trees
authored
160 This is the class hierarchy of the L<Mojolicious> distribution.
db45a2e @kraih added class hierarchy to guides
authored
161
162 =over 2
163
164 =item * L<Mojo::Base>
165
166 =over 2
167
168 =item * L<Mojo>
169
170 =over 2
171
172 =item * L<Mojolicious>
173
174 =over 2
175
176 =item * L<Mojolicious::Lite>
177
178 =over 2
179
180 =item * L<Mojo::HelloWorld>
181
182 =back
183
184 =back
185
186 =back
187
188 =item * L<Mojo::Cache>
189
190 =item * L<Mojo::Cookie>
191
192 =over 2
193
194 =item * L<Mojo::Cookie::Request>
195
196 =item * L<Mojo::Cookie::Response>
197
198 =back
199
200 =item * L<Mojo::DOM::CSS>
201
202 =item * L<Mojo::DOM::HTML>
203
204 =item * L<Mojo::Date>
205
206 =item * L<Mojo::EventEmitter>
207
208 =over 2
209
210 =item * L<Mojo::Asset>
211
212 =over 2
213
214 =item * L<Mojo::Asset::File>
215
216 =item * L<Mojo::Asset::Memory>
217
218 =back
219
220 =item * L<Mojo::Content>
221
222 =over 2
223
224 =item * L<Mojo::Content::MultiPart>
225
226 =item * L<Mojo::Content::Single>
227
228 =back
229
b563152 @kraih allow Mojo::IOLoop to signal when it is shutting down gracefully
authored
230 =item * L<Mojo::IOLoop>
231
db45a2e @kraih added class hierarchy to guides
authored
232 =item * L<Mojo::IOLoop::Client>
233
234 =item * L<Mojo::IOLoop::Delay>
235
236 =item * L<Mojo::IOLoop::Server>
237
238 =item * L<Mojo::IOLoop::Stream>
239
240 =item * L<Mojo::Log>
241
242 =item * L<Mojo::Message>
243
244 =over 2
245
246 =item * L<Mojo::Message::Request>
247
248 =item * L<Mojo::Message::Response>
249
250 =back
251
252 =item * L<Mojo::Reactor>
253
254 =over 2
255
56afdcd @kraih fixed a few errors in the class hierarchy
authored
256 =item * L<Mojo::Reactor::Poll>
257
258 =over 2
259
db45a2e @kraih added class hierarchy to guides
authored
260 =item * L<Mojo::Reactor::EV>
261
56afdcd @kraih fixed a few errors in the class hierarchy
authored
262 =back
db45a2e @kraih added class hierarchy to guides
authored
263
264 =back
265
266 =item * L<Mojo::Server>
267
268 =over 2
269
270 =item * L<Mojo::Server::CGI>
271
272 =item * L<Mojo::Server::Daemon>
273
274 =over 2
275
276 =item * L<Mojo::Server::Prefork>
277
278 =back
279
280 =item * L<Mojo::Server::PSGI>
281
282 =back
283
284 =item * L<Mojo::Transaction>
285
286 =over 2
287
288 =item * L<Mojo::Transaction::HTTP>
289
290 =item * L<Mojo::Transaction::WebSocket>
291
292 =back
293
294 =item * L<Mojo::UserAgent>
295
56afdcd @kraih fixed a few errors in the class hierarchy
authored
296 =item * L<Mojolicious::Plugins>
297
db45a2e @kraih added class hierarchy to guides
authored
298 =back
299
300 =item * L<Mojo::Exception>
301
302 =item * L<Mojo::Headers>
303
304 =item * L<Mojo::Home>
305
306 =item * L<Mojo::JSON::Pointer>
307
308 =item * L<Mojo::Parameters>
309
310 =item * L<Mojo::Path>
311
312 =item * L<Mojo::Server::Hypnotoad>
313
314 =item * L<Mojo::Server::Morbo>
315
316 =item * L<Mojo::Template>
317
318 =item * L<Mojo::URL>
319
320 =item * L<Mojo::Upload>
321
322 =item * L<Mojo::UserAgent::CookieJar>
323
324 =item * L<Mojo::UserAgent::Proxy>
325
326 =item * L<Mojo::UserAgent::Server>
327
328 =item * L<Mojo::UserAgent::Transactor>
329
330 =item * L<Mojolicious::Command>
331
332 =over 2
333
334 =item * L<Mojolicious::Command::cgi>
335
336 =item * L<Mojolicious::Command::cpanify>
337
338 =item * L<Mojolicious::Command::daemon>
339
340 =item * L<Mojolicious::Command::eval>
341
342 =item * L<Mojolicious::Command::generate::app>
343
344 =item * L<Mojolicious::Command::generate::lite_app>
345
346 =item * L<Mojolicious::Command::generate::makefile>
347
348 =item * L<Mojolicious::Command::generate::plugin>
349
350 =item * L<Mojolicious::Command::get>
351
352 =item * L<Mojolicious::Command::inflate>
353
354 =item * L<Mojolicious::Command::prefork>
355
356 =item * L<Mojolicious::Command::psgi>
357
358 =item * L<Mojolicious::Command::routes>
359
360 =item * L<Mojolicious::Command::test>
361
362 =item * L<Mojolicious::Command::version>
363
364 =item * L<Mojolicious::Commands>
365
366 =over 2
367
368 =item * L<Mojolicious::Command::generate>
369
370 =back
371
56afdcd @kraih fixed a few errors in the class hierarchy
authored
372 =back
373
db45a2e @kraih added class hierarchy to guides
authored
374 =item * L<Mojolicious::Controller>
375
376 =item * L<Mojolicious::Plugin>
377
378 =over 2
379
380 =item * L<Mojolicious::Plugin::Charset>
381
382 =item * L<Mojolicious::Plugin::Config>
383
384 =over 2
385
386 =item * L<Mojolicious::Plugin::JSONConfig>
387
388 =back
389
390 =item * L<Mojolicious::Plugin::DefaultHelpers>
391
392 =item * L<Mojolicious::Plugin::EPLRenderer>
393
394 =item * L<Mojolicious::Plugin::EPRenderer>
395
396 =item * L<Mojolicious::Plugin::HeaderCondition>
397
398 =item * L<Mojolicious::Plugin::Mount>
399
400 =item * L<Mojolicious::Plugin::PODRenderer>
401
402 =item * L<Mojolicious::Plugin::TagHelpers>
403
404 =back
405
406 =item * L<Mojolicious::Renderer>
407
408 =item * L<Mojolicious::Routes::Match>
409
410 =item * L<Mojolicious::Routes::Pattern>
411
412 =item * L<Mojolicious::Routes::Route>
413
414 =over 2
415
416 =item * L<Mojolicious::Routes>
417
418 =back
419
420 =item * L<Mojolicious::Sessions>
421
422 =item * L<Mojolicious::Static>
423
424 =item * L<Mojolicious::Types>
425
426 =item * L<Mojolicious::Validator>
427
428 =item * L<Mojolicious::Validator::Validation>
429
430 =item * L<Test::Mojo>
431
432 =back
433
434 =item * L<Mojo::ByteStream>
435
436 =item * L<Mojo::Collection>
437
438 =item * L<Mojo::DOM>
439
e9e69af @kraih deprecated Object-Oriented Mojo::JSON API
authored
440 =item * L<Mojo::JSON>
441
06843f7 @kraih deprecate object-oriented Mojo::Loader API
authored
442 =item * L<Mojo::Loader>
443
db45a2e @kraih added class hierarchy to guides
authored
444 =item * L<Mojo::Util>
445
446 =item * L<ojo>
447
448 =back
449
69cc134 refer to wiki from guides
Sebastian Riedel authored
450 =head1 MORE
451
80fbf18 @kraih fix line length in guides
authored
452 A lot more documentation and examples by many different authors can be found in
453 the L<Mojolicious wiki|http://github.com/kraih/mojo/wiki>.
69cc134 refer to wiki from guides
Sebastian Riedel authored
454
4d1f878 @kraih added support links to documentation
authored
455 =head1 SUPPORT
456
457 If you have any questions the documentation might not yet answer, don't
458 hesitate to ask on the
459 L<mailing-list|http://groups.google.com/group/mojolicious> or the official IRC
460 channel C<#mojo> on C<irc.perl.org>.
461
8ea5ba2 renamed Mojo::Manual to Mojolicious::Book
Sebastian Riedel authored
462 =cut
Something went wrong with that request. Please try again.