Skip to content
Browse files

view ttsite

  • Loading branch information...
1 parent 9254744 commit 8c88d27342d66120731c1e875117aa9df9c657ef franck cuny committed
View
42 lib/MyFeedReader/View/TT.pm
@@ -0,0 +1,42 @@
+package MyFeedReader::View::TT;
+
+use strict;
+use base 'Catalyst::View::TT';
+
+__PACKAGE__->config({
+ INCLUDE_PATH => [
+ MyFeedReader->path_to( 'root', 'src' ),
+ MyFeedReader->path_to( 'root', 'lib' )
+ ],
+ PRE_PROCESS => 'config/main',
+ WRAPPER => 'site/wrapper',
+ ERROR => 'error.tt2',
+ TIMER => 0,
+ TEMPLATE_EXTENSION => '.tt2',
+});
+
+=head1 NAME
+
+MyFeedReader::View::TT - Catalyst TTSite View
+
+=head1 SYNOPSIS
+
+See L<MyFeedReader>
+
+=head1 DESCRIPTION
+
+Catalyst TTSite View.
+
+=head1 AUTHOR
+
+,,,
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
+
View
21 root/lib/config/col
@@ -0,0 +1,21 @@
+[% site.rgb = {
+ black = '#000000'
+ white = '#ffffff'
+ grey1 = '#46494c'
+ grey2 = '#c6c9cc'
+ grey3 = '#e3e6ea'
+ red = '#CC4444'
+ green = '#66AA66'
+ blue = '#89b8df'
+ orange = '#f08900'
+ };
+
+ site.col = {
+ page = site.rgb.white
+ text = site.rgb.grey1
+ head = site.rgb.grey3
+ line = site.rgb.orange
+ message = site.rgb.green
+ error = site.rgb.red
+ };
+-%]
View
26 root/lib/config/main
@@ -0,0 +1,26 @@
+[% # config/main
+ #
+ # This is the main configuration template which is processed before
+ # any other page, by virtue of it being defined as a PRE_PROCESS
+ # template. This is the place to define any extra template variables,
+ # macros, load plugins, and perform any other template setup.
+
+ IF Catalyst.debug;
+ # define a debug() macro directed to Catalyst's log
+ MACRO debug(message) CALL Catalyst.log.debug(message);
+ END;
+
+ # define a data structure to hold sitewide data
+ site = {
+ title => 'MyFeedReader - a simple feed reader',
+ };
+
+ # load up any other configuration items
+ PROCESS config/col
+ + config/url;
+
+ # set defaults for variables, etc.
+ DEFAULT
+ message = 'There is no message';
+
+-%]
View
8 root/lib/config/url
@@ -0,0 +1,8 @@
+[% base = Catalyst.req.base;
+
+ site.url = {
+ base = base
+ home = "${base}welcome"
+ message = "${base}message"
+ }
+-%]
View
2 root/lib/site/footer
@@ -0,0 +1,2 @@
+<!-- BEGIN site/footer -->
+<!-- END site/footer -->
View
3 root/lib/site/header
@@ -0,0 +1,3 @@
+<!-- BEGIN site/header -->
+<h1 class="title">[% template.title or site.title %]</h1>
+<!-- END site/header -->
View
12 root/lib/site/html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>[% template.title or site.title %]</title>
+ <style type="text/css">
+[% PROCESS ttsite.css %]
+ </style>
+ </head>
+ <body>
+[% content %]
+ </body>
+</html>
View
5 root/lib/site/layout
@@ -0,0 +1,5 @@
+<div id="header">[% PROCESS site/header %]</div>
+
+<div id="content">
+[% content %]
+</div>
View
8 root/lib/site/wrapper
@@ -0,0 +1,8 @@
+[% IF template.name.match('\.(css|js|txt)');
+ debug("Passing page through as text: $template.name");
+ content;
+ ELSE;
+ debug("Applying HTML page layout wrappers to $template.name\n");
+ content WRAPPER site/html + site/layout;
+ END;
+-%]
View
5 root/src/entry/view.tt2
@@ -0,0 +1,5 @@
+<h1><a href="[% entry.permalink %]">[% entry.title %]</a></h1>
+<span>Posted [% entry.date %] by [% entry.author %]</span>
+<div id="content">
+ [% entry.content %]
+</div>
View
10 root/src/error.tt2
@@ -0,0 +1,10 @@
+[% META title = 'Catalyst/TT Error' %]
+<p>
+ An error has occurred. We're terribly sorry about that, but it's
+ one of those things that happens from time to time. Let's just
+ hope the developers test everything properly before release...
+</p>
+<p>
+ Here's the error message, on the off-chance that it means something
+ to you: <span class="error">[% error %]</span>
+</p>
View
5 root/src/feed/index.tt2
@@ -0,0 +1,5 @@
+<ul>
+ [% FOREACH feed IN feeds %]
+ <li><a href="/feed/view/[% feed.id %]">[% feed.url %]</a></li>
+ [% END %]
+</ul>
View
8 root/src/feed/view.tt2
@@ -0,0 +1,8 @@
+<h1>[% feed.url %]</h1>
+
+<h3>entries</h3>
+<ul>
+ [% FOREACH entry IN feed.entries %]
+ <li><a href="/entry/[% entry.id %]">[% entry.permalink %]</a></li>
+ [% END %]
+</ul>
View
1 root/src/index.tt2
@@ -0,0 +1 @@
+to <a href="/feed/">your feeds</a>
View
16 root/src/message.tt2
@@ -0,0 +1,16 @@
+[% META title = 'Catalyst/TT View!' %]
+<p>
+ Yay! You're looking at a page generated by the Catalyst::View::TT
+ plugin module.
+</p>
+<p>
+ We have a message for you: <span class="message">[% message %]</span>.
+</p>
+<p>
+ Why not try updating the message? Go on, it's really exciting, honest!
+</p>
+<form action="[% site.url.message %]"
+ method="POST" enctype="application/x-www-form-urlencoded">
+ <input type="text" name="message" value="[% message %]" />
+ <input type="submit" name="submit" value=" Update Message "/>
+</form>
View
45 root/src/ttsite.css
@@ -0,0 +1,45 @@
+
+html {
+ height: 100%;
+}
+
+body {
+ background-color: [% site.col.page %];
+ color: [% site.col.text %];
+ margin: 0px;
+ padding: 0px;
+ height: 100%;
+}
+
+#header {
+ background-color: [% site.col.head %];
+ border-bottom: 1px solid [% site.col.line %];
+}
+
+#footer {
+ background-color: [% site.col.head %];
+ text-align: center;
+ border-top: 1px solid [% site.col.line %];
+ position: absolute;
+ bottom: 0;
+ left: 0px;
+ width: 100%;
+ padding: 4px;
+}
+
+#content {
+ padding: 10px;
+}
+
+h1.title {
+ padding: 4px;
+ margin: 0px;
+}
+
+.message {
+ color: [% site.col.message %];
+}
+
+.error {
+ color: [% site.col.error %];
+}
View
9 root/src/welcome.tt2
@@ -0,0 +1,9 @@
+[% META title = 'Catalyst/TT View!' %]
+<p>
+ Yay! You're looking at a page generated by the Catalyst::View::TT
+ plugin module.
+</p>
+<p>
+ This is the welcome page. Why not try the equally-exciting
+ <a href="[% site.url.message %]">Message Page</a>?
+</p>

0 comments on commit 8c88d27

Please sign in to comment.
Something went wrong with that request. Please try again.