Skip to content

Instantly share code, notes, and snippets.

@groupdock
Created October 28, 2010 19:13
Show Gist options
  • Save groupdock/652109 to your computer and use it in GitHub Desktop.
Save groupdock/652109 to your computer and use it in GitHub Desktop.
XML Specification layout for sproutcore applicaiton
<% # SPROUTCORE DEFAULT INDEX TEMPLATE
# This template provide provides a basic wrapper for a SproutCore client.
# Most of the time, it will be sufficient for your own needs. However, if
# you need to create your own template, you can do so by copying this file
# into your client, naming it 'index.rhtml' and then adding the options
# :layout => 'lib/index' to your Buildfile.
#
# See the comments in this file for more information on what you can
# change.
-%>
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Todo List"
description="Todo List"
author="Luc Castera (Intellum)"
author_email="lcastera@intellum.com"
author_location="Atlanta, GA"
author_affiliation="Intellum"
author_link="http://intellum.com"
thumbnail="http://s3.amazonaws.com/intlmplatform/documents/22/original/todo.png"
appstore_image="http://groupdock.com/images/todo-appstore-image.png"
screenshot="http://s3.amazonaws.com/intlmplatform/documents/23/original/Todo-Screenshot.png"
height="300">
<Require feature="opensocial-0.9"/>
</ModulePrefs>
<Content type="html" views="home,canvas">
<![CDATA[
<title><%= title %></title>
<% #
# You may choose to load one or more bootstrap resources. These are
# JS targets that you would like to load at the top of the page. Specify
# these in your Buildfile with the 'bootstrap' config.
-%>
<%= bootstrap %>
<% #
# This line should appear in your head area to include the stylesheets
# generated by your client. If you need to include your own
# stylesheets, you don't need to change it here. Instead use the
# required option in your config.
-%>
<%= stylesheets_for_client %>
<%= @content_for_page_styles %>
</head>
<% # The theme CSS class is added automatically based on your chosen theme.
# If you need to specify a custom theme name, use CONFIG.theme_name
-%>
<body class="<%= [theme_name(:default => 'sc-theme'), 'focus'].compact.join(' ') %>">
<% # This section is used to setup additional optional class names on the
# body content based on JS-selected conditions. Use this to make sure you
# show the proper CSS as soon as the page appears.
-%>
<%= inline_javascript('sproutcore/bootstrap:setup_body_class_names') %>
<% #
# This is where you root body element will appear. To cause your
# content to appear here, just declare content_for('body') in one of
# your partials.
-%>
<%= @content_for_body %>
<% #
# This is where your loading screen will appear. To add a loading screen
# just declare content_for('loading') in one of your partials. If you use
# sc-gen to generate your app, it will create a file called loading.rhtml
# under english.lproj. You can insert the desired content there.
-%>
<% unless @content_for_loading.blank? %>
<div id="loading">
<%= @content_for_loading %>
</div>
<% end -%>
<% #
# This is where the resources you declare will appear. By default anything
# you add to partials will be added to this section unless you specify
# otherwise. Note that resources are initially hidden so you can pull them
# apart as needed on page load.
-%>
<% unless @content_for_resources.blank? %>
<!-- Resources to be removed from DOM on page load -->
<div id="resources" style="display:none; visibility: hidden;">
<%= @content_for_resources -%>
</div>
<% end -%>
<% #
# This line should appear at the bottom of your page to include your
# generated JavaScript and any libraries you reference. If you need
# to include other javascripts, add them to the :requires option of
# your client in routes.rb instead of changing it here.
-%>
<%= javascripts_for_client %>
<% unless @content_for_page_javascript.blank? %>
<%= @content_for_page_javascript %>
<% end -%>
<% #
# If you use old-style view helpers in your page, this method must be
# called to actually add the page views to your HTML. Normally this will
# not generate any content.
-%>
<% #render_page_views -%>
<!-- Start SproutCore on Page Load -->
<script type="text/javascript">gadgets.util.registerOnLoadHandler(SC.didLoad);</script>
<% #
# The final content section can be used to add any last minute setup you
# need to do before the page ends. This is required for loading unit
# tests among other things.
-%>
<%= @content_for_final -%>
]]>
</Content>
</Module>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment