Mojolicious::Plugin::TagHelpers - Tag Helpers Plugin
# Mojolicious $self->plugin('tag_helpers'); # Mojolicious::Lite plugin 'tag_helpers';
Mojolicous::Plugin::TagHelpers is a collection of HTML5 tag helpers for Mojolicious. This is a core plugin, that means it is always enabled and its code a good example for learning to build new plugins. Note that this module is EXPERIMENTAL and might change without warning!
<%= base_tag %>
Generate base tag refering to the current base URL.
base
<base href="http://localhost/cgi-bin/myapp.pl" />
<%= check_box employed => 1 %> <%= check_box employed => 1, id => 'foo' %>
Generate checkbox input element.
<input name="employed" type="checkbox" value="1" /> <input id="foo" name="employed" type="checkbox" value="1" />
<%= file_field 'avatar' %> <%= file_field 'avatar', id => 'foo' %>
Generate file input element.
<input name="avatar" type="file" /> <input id="foo" name="avatar" type="file" />
<%= form_for login => (method => 'post') => begin %> <%= text_field 'first_name' %> <%= submit_button %> <% end %> <%= form_for login => {foo => 'bar'} => (method => 'post') => begin %> <%= text_field 'first_name' %> <%= submit_button %> <% end %> <%= form_for '/login' => (method => 'post') => begin %> <%= text_field 'first_name' %> <%= submit_button %> <% end %> <%= form_for 'http://kraih.com/login' => (method => 'post') => begin %> <%= text_field 'first_name' %> <%= submit_button %> <% end %>
Generate form for route, path or URL.
<form action="/path/to/login" method="post"> <input name="first_name" /> <input value="Ok" type="submit" /> </form> <form action="/path/to/login/bar" method="post"> <input name="first_name" /> <input value="Ok" type="submit" /> </form> <form action="/login" method="post"> <input name="first_name" /> <input value="Ok" type="submit" /> </form> <form action="http://kraih.com/login" method="post"> <input name="first_name" /> <input value="Ok" type="submit" /> </form>
<%= hidden_field foo => 'bar' %> <%= hidden_field foo => 'bar', id => 'bar' %>
Generate hidden input element.
<input name="foo" type="hidden" value="bar" /> <input id="bar" name="foo" type="hidden" value="bar" />
<%= input_tag 'first_name' %> <%= input_tag 'first_name', value => 'Default name' %> <%= input_tag 'employed', type => 'checkbox' %> <%= input_tag 'country', type => 'radio', value => 'germany' %>
Generate form input element.
<input name="first_name" /> <input name="first_name" value="Default name" /> <input name="employed" type="checkbox" /> <input name="country" type="radio" value="germany" />
<%= javascript 'script.js' %> <%= javascript begin %> var a = 'b'; <% end %>
Generate script tag for Javascript asset.
Javascript
<script src="script.js" type="text/javascript" /> <script type="text/javascript"><![CDATA[ var a = 'b'; ]]></script>
<%= link_to Home => 'index' %> <%= link_to index => begin %>Home<% end %> <%= link_to index => {foo => 'bar'} => (class => 'links') => begin %> Home <% end %> <%= link_to '/path/to/file' => begin %>File<% end %> <%= link_to 'http://mojolicio.us' => begin %>Mojolicious<% end %> <%= link_to url_for->query(foo => $foo) => begin %>Retry<% end %>
Generate link to route, path or URL, by default the capitalized link target will be used as content.
<a href="/path/to/index">Home</a> <a href="/path/to/index">Home</a> <a class="links" href="/path/to/index/bar">Home</a> <a href="/path/to/file">File</a> <a href="http://mojolicio.us">Mojolicious</a> <a href="/current/path?foo=something">Retry</a>
<%= password_field 'pass' %> <%= password_field 'pass', id => 'foo' %>
Generate password input element.
<input name="pass" type="password" /> <input id="foo" name="pass" type="password" />
<%= radio_button country => 'germany' %> <%= radio_button country => 'germany', id => 'foo' %>
Generate radio input element.
<input name="country" type="radio" value="germany" /> <input id="foo" name="country" type="radio" value="germany" />
<%= select_field language => [qw/de en/] %> <%= select_field language => [qw/de en/], id => 'lang' %> <%= select_field country => [[Germany => 'de'], 'en'] %> <%= select_field country => [[Europe => [Germany => 'de']]] %>
Generate select, option and optgroup elements.
<select name="language"> <option name="de">de</option> <option name="en">en</option> </select> <select id="lang" name="language"> <option name="de">de</option> <option name="en">en</option> </select> <select name="country"> <option name="de">Germany</option> <option name="en">en</option> </select> <select id="lang" name="language"> <optgroup label="Europe"> <option name="de">Germany</option> <option name="en">en</option> </optgroup> </select>
<%= stylesheet 'foo.css' %> <%= stylesheet begin %> body {color: #000} <% end %>
Generate style or link tag for CSS asset.
CSS
<link href="foo.css" media="screen" rel="stylesheet" type="text/css" /> <style type="text/css"><![CDATA[ body {color: #000} ]]></style>
<%= submit_button %> <%= submit_button 'Ok!', id => 'foo' %>
Generate submit input element.
<input type="submit" value="Ok" /> <input id="foo" type="submit" value="Ok!" />
<%= tag 'div' %> <%= tag 'div', id => 'foo' %> <%= tag div => begin %>Content<% end %>
HTML5 tag generator.
<div /> <div id="foo" /> <div>Content</div>
<%= text_field 'first_name' %> <%= text_field 'first_name', value => 'Default name' %>
Generate text input element.
<input name="first_name" /> <input name="first_name" value="Default name" />
<%= text_area 'foo' %> <%= text_area foo => begin %> Default! <% end %>
Generate textarea element.
<textarea name="foo"></textarea> <textarea name="foo"> Default! </textarea>
Mojolicious::Plugin::TagHelpers inherits all methods from Mojolicious::Plugin and implements the following new ones.
register
$plugin->register;
Register helpers in Mojolicious application.
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.