UNPKG

alpha-one

Version:

ideas about recurring tasks in Web- and Backend-Application building

77 lines (62 loc) 3.13 kB
teacup = require 'teacup' #=========================================================================================================== # TEACUP NAMESPACE ACQUISITION #----------------------------------------------------------------------------------------------------------- for name_ of teacup eval "#{name_.toUpperCase()} = teacup[ #{rpr name_} ]" #----------------------------------------------------------------------------------------------------------- templates = {} app_key = 'alpha-one' #----------------------------------------------------------------------------------------------------------- get_options = ( request ) -> return request[ app_key ] ? {} #----------------------------------------------------------------------------------------------------------- templates.layout = ( request, content ) -> O = get_options request page_style = O[ 'page-style' ] ? 'plain' title = O[ 'title' ] ? 'welcome' #......................................................................................................... return RENDER => DOCTYPE 5 HTML => #..................................................................................................... HEAD => META charset: 'utf-8' TITLE title #..................................................................................................... BODY ".#{page_style}", => RAW content #----------------------------------------------------------------------------------------------------------- templates.alternative_layout = ( request, content ) -> O = get_options request page_style = O[ 'page-style' ] ? 'plain' title = O[ 'title' ] ? 'welcome' #......................................................................................................... return RENDER => DOCTYPE 5 HTML => #..................................................................................................... HEAD => META charset: 'utf-8' TITLE title #..................................................................................................... # makes the layout more 'realistic' ... :-( BODY ".#{page_style}", DIV '.foo-wrapper', => DIV '.bar-wrapper', => DIV '.baz-wrapper', => RAW content #----------------------------------------------------------------------------------------------------------- templates.helo = ( request ) -> O = get_options request layout = O[ 'layout' ] ? @layout.bind @ debug O #......................................................................................................... return layout request, RENDER => DIV '#greeting', 'helo from teacup' #----------------------------------------------------------------------------------------------------------- request = {} request[ app_key ] = 'title': 'welcome to alpha-one' 'page-style': 'laid-back' # 'layout': templates.alternative_layout.bind templates info templates.helo request