20

Click here to load reader

Your first website in under a minute with Dancer

  • Upload
    xsawyer

  • View
    3.120

  • Download
    0

Embed Size (px)

DESCRIPTION

Learn how to write your first website using Perl and Dancer in under a minute!This is a lightning talk given at a Tel Aviv Perl Mongers (TA.pm) group meeting.

Citation preview

Page 1: Your first website in under a minute with Dancer

Let's create a website!

Page 2: Your first website in under a minute with Dancer

Let's find an interesting module

● Go to CPAN● Search for something funny in Text::● We found Text::UpsideDown● It turns text upside down!● OMGZ0x0ztrzzzz11!

Page 3: Your first website in under a minute with Dancer

Text::UpsideDown

use Text::UpsideDown;

my $text   = “Hello world!”;

my $updown = upside_down($text);

● Okay, that's pretty simple

Page 4: Your first website in under a minute with Dancer

Installing Dancer

Page 5: Your first website in under a minute with Dancer

Installing Dancer

Page 6: Your first website in under a minute with Dancer

Creating the skeleton

● Dancer installs an app called “dancer”● Run it to create a directory structure● Pretty default design for free!

Page 7: Your first website in under a minute with Dancer
Page 8: Your first website in under a minute with Dancer

Adding code

● Edit main path in lib/UpsideDown.pm

# default path

get '/' => sub {

  # code to run when someone goes

  # to the main page

};

Page 9: Your first website in under a minute with Dancer

Adding code

● Suppose we get user text with a parameter● Use Dancer's “params” to reach it

● If it's called “text”, all we have to do is...

my $text = params­>{'text'};● Then to turn it upside down...

my $updown = upside_down($text);

Page 10: Your first website in under a minute with Dancer

What do we have so far?

● Someone reaches main page● We get text and turn it upside down

use Text::UpsideDown;

get '/' => sub {

    my $text   = params­>{'text'};

    my $updown = upside_down($text);

    ...

};

Page 11: Your first website in under a minute with Dancer

Rendering it

● Render template “view/index.tt”

● Send it the original text and the upside down

template index => {

    text       => $text,

    upsidedown => $updown,

};

Page 12: Your first website in under a minute with Dancer

Putting it all together

use Text::UpsideDown;

get '/' => sub {

  my $text = params­>{'text'};

  my $updown = upside_down($text);

  template index => {

    text       => $text,

    upsidedown => $updown,

  };

};

Page 13: Your first website in under a minute with Dancer

Now the template

● Edit index.tt file

● Add a form to send text● Add a text input to write the text● Display the upside down text● Provide a button to submit more text● …● Profit!

Page 14: Your first website in under a minute with Dancer

Creating a form

<form method=”post”>

<!-- stuff goes here -->

</form>

Page 15: Your first website in under a minute with Dancer

Adding a text input box

<form method=”post”>

<input type=”text” name=”text”

value=”<% text | html %>” />

</form>

Page 16: Your first website in under a minute with Dancer

Adding upside down text

<form method=”post”>

<input type=”text” name=”text”

value=”<% text | html %>” />

<code><% upsidedown | html %></code>

</form>

Page 17: Your first website in under a minute with Dancer

Add button to submit form

<form method=”post”>

<input type=”text” name=”text”

value=”<% text | html %>” />

<code><% upsidedown | html %></code>

<input type=”submit” value=”Upside Down!” />

</form>

Page 18: Your first website in under a minute with Dancer

Hit it!

Page 19: Your first website in under a minute with Dancer

upsidedown.casa.darkpan.com

Page 20: Your first website in under a minute with Dancer

Dancer available @ http://perldancer.org

Credit:Marco Fontani

(http://darkpan.com)