summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/default-layout-wrapper.hamlet47
-rw-r--r--templates/default-layout.hamlet3
-rw-r--r--templates/homepage.hamlet38
-rw-r--r--templates/homepage.julius1
-rw-r--r--templates/homepage.lucius6
-rw-r--r--templates/normalize.lucius439
-rw-r--r--templates/pagenav.hamlet10
-rw-r--r--templates/userpage.hamlet21
-rw-r--r--templates/userpage.lucius2
9 files changed, 567 insertions, 0 deletions
diff --git a/templates/default-layout-wrapper.hamlet b/templates/default-layout-wrapper.hamlet
new file mode 100644
index 0000000..37a22d9
--- /dev/null
+++ b/templates/default-layout-wrapper.hamlet
@@ -0,0 +1,47 @@
+\<!doctype html>
+\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
+\<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
+\<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
+\<!--[if gt IE 8]><!-->
+<html class="no-js" lang="en"> <!--<![endif]-->
+ <head>
+ <meta charset="UTF-8">
+
+ <title>#{pageTitle pc}
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+
+ ^{pageHead pc}
+
+ \<!--[if lt IE 9]>
+ \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ \<![endif]-->
+
+ <script>
+ document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');
+ <body>
+ <div class="container">
+ <header>
+ <div id="main" role="main">
+ ^{pageBody pc}
+ <footer>
+ #{extraCopyright $ appExtra $ settings master}
+
+ $maybe analytics <- extraAnalytics $ appExtra $ settings master
+ <script>
+ if(!window.location.href.match(/localhost/)){
+ window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];
+ (function() {
+ \ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ \ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ \ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ }
+ \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6. chromium.org/developers/how-tos/chrome-frame-getting-started -->
+ \<!--[if lt IE 7 ]>
+ <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">
+ <script>
+ window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})
+ \<![endif]-->
diff --git a/templates/default-layout.hamlet b/templates/default-layout.hamlet
new file mode 100644
index 0000000..fa86744
--- /dev/null
+++ b/templates/default-layout.hamlet
@@ -0,0 +1,3 @@
+$maybe msg <- mmsg
+ <div #message>#{msg}
+^{widget}
diff --git a/templates/homepage.hamlet b/templates/homepage.hamlet
new file mode 100644
index 0000000..c40be5c
--- /dev/null
+++ b/templates/homepage.hamlet
@@ -0,0 +1,38 @@
+<h1>_{MsgHello}
+
+<ol>
+ <li>Now that you have a working project you should use the #
+ \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #
+ You can also use this scaffolded site to explore some basic concepts.
+
+ <li> This page was generated by the #{handlerName} handler in #
+ \<em>Handler/Root.hs</em>.
+
+ <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #
+ <em>config/routes
+
+ <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #
+ most of them are brought together by the <em>defaultLayout</em> function which #
+ is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #
+ All the files for templates and wigdets are in <em>templates</em>.
+
+ <li>
+ A Widget's Html, Css and Javascript are separated in three files with the #
+ \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.
+
+ <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.
+
+ <li #form>
+ This is an example trivial Form. Read the #
+ \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #
+ on the yesod book to learn more about them.
+ $maybe (info,con) <- submission
+ <div .message>
+ Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>
+ <form method=post action=@{HomeR}#form enctype=#{formEnctype}>
+ ^{formWidget}
+ <input type="submit" value="Send it!">
+
+ <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #
+ test suite that performs tests on this page. #
+ You can run your tests by doing: <pre>yesod test</pre>
diff --git a/templates/homepage.julius b/templates/homepage.julius
new file mode 100644
index 0000000..efae799
--- /dev/null
+++ b/templates/homepage.julius
@@ -0,0 +1 @@
+document.getElementById("#{aDomId}").innerHTML = "This text was added by the Javascript part of the homepage widget.";
diff --git a/templates/homepage.lucius b/templates/homepage.lucius
new file mode 100644
index 0000000..54986f8
--- /dev/null
+++ b/templates/homepage.lucius
@@ -0,0 +1,6 @@
+h1 {
+ text-align: center
+}
+h2##{aDomId} {
+ color: #990
+}
diff --git a/templates/normalize.lucius b/templates/normalize.lucius
new file mode 100644
index 0000000..9fc7ae4
--- /dev/null
+++ b/templates/normalize.lucius
@@ -0,0 +1,439 @@
+/*! normalize.css 2011-08-12T17:28 UTC ยท http://github.com/necolas/normalize.css */
+
+/* =============================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/*
+ * Corrects block display not defined in IE6/7/8/9 & FF3
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+
+/*
+ * Corrects inline-block display not defined in IE6/7/8/9 & FF3
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+/*
+ * Prevents modern browsers from displaying 'audio' without controls
+ */
+
+audio:not([controls]) {
+ display: none;
+}
+
+/*
+ * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
+ * Known issue: no IE6 support
+ */
+
+[hidden] {
+ display: none;
+}
+
+
+/* =============================================================================
+ Base
+ ========================================================================== */
+
+/*
+ * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
+ * http://clagnut.com/blog/348/#c790
+ * 2. Keeps page centred in all browsers regardless of content height
+ * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
+ * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ overflow-y: scroll; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 3 */
+ -ms-text-size-adjust: 100%; /* 3 */
+}
+
+/*
+ * Addresses margins handled incorrectly in IE6/7
+ */
+
+body {
+ margin: 0;
+}
+
+/*
+ * Addresses font-family inconsistency between 'textarea' and other form elements.
+ */
+
+body,
+button,
+input,
+select,
+textarea {
+ font-family: sans-serif;
+}
+
+
+/* =============================================================================
+ Links
+ ========================================================================== */
+
+a {
+ color: #00e;
+}
+
+a:visited {
+ color: #551a8b;
+}
+
+/*
+ * Addresses outline displayed oddly in Chrome
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/*
+ * Improves readability when focused and also mouse hovered in all browsers
+ * people.opera.com/patrickl/experiments/keyboard/test
+ */
+
+a:hover,
+a:active {
+ outline: 0;
+}
+
+
+/* =============================================================================
+ Typography
+ ========================================================================== */
+
+/*
+ * Addresses styling not present in IE7/8/9, S5, Chrome
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/*
+ * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome
+*/
+
+b,
+strong {
+ font-weight: bold;
+}
+
+blockquote {
+ margin: 1em 40px;
+}
+
+/*
+ * Addresses styling not present in S5, Chrome
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/*
+ * Addresses styling not present in IE6/7/8/9
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/*
+ * Corrects font family set oddly in IE6, S4/5, Chrome
+ * en.wikipedia.org/wiki/User:Davidgothberg/Test59
+ */
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em;
+}
+
+/*
+ * Improves readability of pre-formatted text in all browsers
+ */
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+/*
+ * 1. Addresses CSS quotes not supported in IE6/7
+ * 2. Addresses quote property not supported in S4
+ */
+
+/* 1 */
+
+q {
+ quotes: none;
+}
+
+/* 2 */
+
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+small {
+ font-size: 75%;
+}
+
+/*
+ * Prevents sub and sup affecting line-height in all browsers
+ * gist.github.com/413930
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+
+/* =============================================================================
+ Lists
+ ========================================================================== */
+
+ul,
+ol {
+ margin: 1em 0;
+ padding: 0 0 0 40px;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+nav ul,
+nav ol {
+ list-style: none;
+ list-style-image: none;
+}
+
+
+/* =============================================================================
+ Embedded content
+ ========================================================================== */
+
+/*
+ * 1. Removes border when inside 'a' element in IE6/7/8/9
+ * 2. Improves image quality when scaled in IE7
+ * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/*
+ * Corrects overflow displayed oddly in IE9
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+
+/* =============================================================================
+ Figures
+ ========================================================================== */
+
+/*
+ * Addresses margin not present in IE6/7/8/9, S5, O11
+ */
+
+figure {
+ margin: 0;
+}
+
+
+/* =============================================================================
+ Forms
+ ========================================================================== */
+
+/*
+ * Corrects margin displayed oddly in IE6/7
+ */
+
+form {
+ margin: 0;
+}
+
+/*
+ * Define consistent margin and padding
+ */
+
+fieldset {
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/*
+ * 1. Corrects color not being inherited in IE6/7/8/9
+ * 2. Corrects alignment displayed oddly in IE6/7
+ */
+
+legend {
+ border: 0; /* 1 */
+ *margin-left: -7px; /* 2 */
+}
+
+/*
+ * 1. Corrects font size not being inherited in all browsers
+ * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome
+ * 3. Improves appearance and consistency in all browsers
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/*
+ * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet
+ * 2. Corrects inner spacing displayed oddly in IE6/7
+ */
+
+button,
+input {
+ line-height: normal; /* 1 */
+ *overflow: visible; /* 2 */
+}
+
+/*
+ * Corrects overlap and whitespace issue for buttons and inputs in IE6/7
+ * Known issue: reintroduces inner spacing
+ */
+
+table button,
+table input {
+ *overflow: auto;
+}
+
+/*
+ * 1. Improves usability and consistency of cursor style between image-type 'input' and others
+ * 2. Corrects inability to style clickable 'input' types in iOS
+ */
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer; /* 1 */
+ -webkit-appearance: button; /* 2 */
+}
+
+/*
+ * 1. Addresses box sizing set to content-box in IE8/9
+ * 2. Addresses excess padding in IE8/9
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/*
+ * 1. Addresses appearance set to searchfield in S5, Chrome
+ * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/*
+ * Corrects inner padding displayed oddly in S5, Chrome on OSX
+ */
+
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/*
+ * Corrects inner padding and border displayed oddly in FF3/4
+ * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/*
+ * 1. Removes default vertical scrollbar in IE6/7/8/9
+ * 2. Improves readability and alignment in all browsers
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+
+/* =============================================================================
+ Tables
+ ========================================================================== */
+
+/*
+ * Remove most spacing between table cells
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/templates/pagenav.hamlet b/templates/pagenav.hamlet
new file mode 100644
index 0000000..ae38a2d
--- /dev/null
+++ b/templates/pagenav.hamlet
@@ -0,0 +1,10 @@
+<p>(page #{pageNumber}/#{pages}):
+
+$if doPrev
+ <a href=@{UserR cid}?page=#{prevPageNumber}>Prev
+$else
+ Prev
+$if doNext
+ <a href=@{UserR cid}?page=#{nextPageNumber}>Next
+$else
+ Next
diff --git a/templates/userpage.hamlet b/templates/userpage.hamlet
new file mode 100644
index 0000000..27353d0
--- /dev/null
+++ b/templates/userpage.hamlet
@@ -0,0 +1,21 @@
+<h1>#{username}
+
+$if isUser
+ <p>
+ <form method=post action=@{UserR cid}#form enctype=#{formEnctype}>
+ ^{formWidget}
+ <input type="submit" value="Submit time entry">
+$else
+
+<table>
+ <tr>
+ <th>Category
+ <th>Hours
+ <th>Date
+ $forall (a,b,c) <- entries
+ <tr .timeentry>
+ <td>#{a}
+ <td>#{b}
+ <td>#{c}
+
+^{pageNavWidget}
diff --git a/templates/userpage.lucius b/templates/userpage.lucius
new file mode 100644
index 0000000..29920d8
--- /dev/null
+++ b/templates/userpage.lucius
@@ -0,0 +1,2 @@
+tr.timeentry:nth-child(even) {background: #9f9}
+tr.timeentry:nth-child(odd) {background: #fff}