diff cpack/dml/skin/framework/kube.pl @ 0:718306e29690 tip

commiting public release
author Daniel Wolff
date Tue, 09 Feb 2016 21:05:06 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cpack/dml/skin/framework/kube.pl	Tue Feb 09 21:05:06 2016 +0100
@@ -0,0 +1,76 @@
+/* Part of DML (Digital Music Laboratory)
+	Copyright 2014-2015 Samer Abdallah, University of London
+	 
+	This program is free software; you can redistribute it and/or
+	modify it under the terms of the GNU General Public License
+	as published by the Free Software Foundation; either version 2
+	of the License, or (at your option) any later version.
+
+	This program is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public
+	License along with this library; if not, write to the Free Software
+	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+:- module(kube, []).
+
+/** <module> Enables use of Kube CSS framework
+*/
+
+:- use_module(library(http/html_write)).
+:- use_module(library(http/html_head)).
+:- use_module(library(htmlutils)).
+
+:- set_prolog_flag(double_quote,string).
+
+http:location( kube, css(kube310), []).
+
+user:head(kube(_),Head) --> !,
+   html(head([ meta([name(viewport), content("width-device-width,initial-scale=1")]) 
+             | Head ])).
+
+requirements -->
+   html_requires("//imperavi.com/css/combined.min.css"),
+   html_requires("//imperavi.com/js/combined.min.js").
+
+user:body(kube(Nav),Body) --> !,
+   { setting(htmlutils:appname, AppName) },
+   use_font("Source Sans Pro",sourcepro),
+   % html_requires(kube('kube.min.css')),
+   requirements,
+
+	html(body(class=kubepage,
+             [ div( class=wrap, 
+                   [ nav([id=nav,class=[navbar,fullwidth]], 
+                     \navmenu(AppName,Nav))
+                   ])
+             , div(class=wrap,
+                   div(id=main, 
+                       [   aside(id=side,nav([class=nav,id="side-nav"],
+                                             \navmenu(AppName,Nav)))
+                       ,   div(id=area,Body)
+                       ]))
+             , div(class=wrap,
+                   footer(id=footer, 
+                          [a(href='.',AppName), nav(class=[navbar,'navbar-right'], ul(\Nav))]))
+             ])).
+
+navmenu(AppName,Nav) --> html(ul([li(\link(root,b(AppName))),\Nav])).
+navmenu(Nav) --> html(nav(class=[navbar,"navbar-left"],ul(\Nav))).
+sidebar(Contents) --> html(aside(id=side,Contents)).
+
+button_link(Ref,Content) --> 
+   html(a([class('btn btn-small'),href(Ref)],Content)).
+
+% menu(Classes,Content) --> 
+%    html(div(class(['pure-menu', 'pure-menu-open'|Classes]), Content)).
+% % Add pure-menu-selected to active item
+% hmenu(Heading,Items) --> 
+%    menu(['pure-menu-horizontal'], [a([href='.',class="pure-menu-heading"],Heading), ul(\Items)]).
+
+% vmenu(Heading,Items) --> 
+%    menu([], [a([href='.',class="pure-menu-heading"],Heading), ul(\Items)]).