blob: bff19e9c21f721638d9597119e67c12807d47ba5 [file] [log] [blame]
/**
* This layout accepts the following parameters:
*
* @param pageTitle the page title
* @param extraStyles , a list of CSS files to be added in the header
* @param scripts , a list of scripts to be imported
* @param contents the main page contents
* @param extraFooter, a section to be added before closing body
*/
// main layout
yieldUnescaped '''<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->'''
head {
meta charset: 'utf-8'
meta 'http-equiv': 'X-UA-Compatible', content: 'IE=edge'
meta name: 'viewport', content: "width=device-width, initial-scale=1"
title(pageTitle)
link(href: relative("img/favicon.ico"), type: "image/x-ico", rel: "icon")
def styles = extraStyles ?: []
['bootstrap.css', 'font-awesome.min.css', 'style.css', *styles].each {
link rel: 'stylesheet', type: 'text/css', href:
it.startsWith('http')?it:relative("css/$it")
}
}
body {
div(id: 'fork-me') {
a(href: 'https://github.com/apache/groovy') {
img(
style: "position: fixed; top: -14px; right: -14px; border: 0; z-index: 100",
src: 'https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67', alt: 'Fork me on GitHub', 'data-canonical-src': 'https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png'
)
}
}
div(id: 'st-container', class: "st-container st-effect-9") {
nav(class: "st-menu st-effect-9", id: "menu-12") {
h2(class: "icon icon-lab", 'Socialize')
ul {
menu['Socialize'].each {
def (text,url, style) = [it.name, it.link, it.style ]
li {
a(href: relative(url), class: 'icon') { yieldUnescaped "<span class='fa $style'></span> $text" }
}
}
}
}
// 'content push wrapper'
div(class: 'st-pusher') {
div(class: 'st-content') {
div(class: 'st-content-inner') {
yieldUnescaped '''<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->'''
if (mainContent) {
mainContent()
}
}
}
}
}
def scripts = extraScripts ?: []
['vendor/jquery-1.10.2.min.js', 'vendor/classie.js', 'vendor/bootstrap.js', 'vendor/sidebarEffects.js', 'vendor/modernizr-2.6.2.min.js','plugins.js', *scripts].each {
yieldUnescaped "<script src='${it.startsWith('http')?it:relative('js/'+it)}' defer></script>"
}
if (extraFooter) {
extraFooter()
}
script '''
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-257558-10', 'auto');
ga('send', 'pageview');
'''
}
yieldUnescaped '</html>'