## -*- coding: utf-8 -*- <!DOCTYPE html> <% c.template_context['repo_name'] = getattr(c, 'repo_name', '') if hasattr(c, 'rhodecode_db_repo'): c.template_context['repo_type'] = c.rhodecode_db_repo.repo_type c.template_context['repo_landing_commit'] = c.rhodecode_db_repo.landing_rev[1] if getattr(c, 'rhodecode_user', None) and c.rhodecode_user.user_id: c.template_context['rhodecode_user']['username'] = c.rhodecode_user.username c.template_context['rhodecode_user']['email'] = c.rhodecode_user.email c.template_context['rhodecode_user']['notification_status'] = c.rhodecode_user.get_instance().user_data.get('notification_status', True) c.template_context['rhodecode_user']['first_name'] = c.rhodecode_user.first_name c.template_context['rhodecode_user']['last_name'] = c.rhodecode_user.last_name c.template_context['visual']['default_renderer'] = h.get_visual_attr(c, 'default_renderer') c.template_context['default_user'] = { 'username': h.DEFAULT_USER, 'user_id': 1 } %> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="${h.asset('js/vendors/webcomponentsjs/webcomponents-lite.min.js', ver=c.rhodecode_version_hash)}"></script> <link rel="import" href="${h.asset('js/rhodecode-components.html', ver=c.rhodecode_version_hash)}"> <title>${self.title()}</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> % if 'safari' in (request.user_agent or '').lower(): <meta name="referrer" content="origin"> % else: <meta name="referrer" content="origin-when-cross-origin"> % endif <%def name="robots()"> <meta name="robots" content="index, nofollow"/> </%def> ${self.robots()} <link rel="icon" href="${h.asset('images/favicon.ico', ver=c.rhodecode_version_hash)}" sizes="16x16 32x32" type="image/png" /> ## CSS definitions <%def name="css()"> <link rel="stylesheet" type="text/css" href="${h.asset('css/style.css', ver=c.rhodecode_version_hash)}" media="screen"/> <!--[if lt IE 9]> <link rel="stylesheet" type="text/css" href="${h.asset('css/ie.css', ver=c.rhodecode_version_hash)}" media="screen"/> <![endif]--> ## EXTRA FOR CSS ${self.css_extra()} </%def> ## CSS EXTRA - optionally inject some extra CSS stuff needed for specific websites <%def name="css_extra()"> </%def> ${self.css()} ## JAVASCRIPT <%def name="js()"> <script> // setup Polymer options window.Polymer = {lazyRegister: true, dom: 'shadow'}; // Load webcomponentsjs polyfill if browser does not support native Web Components (function() { 'use strict'; var onload = function() { // For native Imports, manually fire WebComponentsReady so user code // can use the same code path for native and polyfill'd imports. if (!window.HTMLImports) { document.dispatchEvent( new CustomEvent('WebComponentsReady', {bubbles: true}) ); } }; var webComponentsSupported = ( 'registerElement' in document && 'import' in document.createElement('link') && 'content' in document.createElement('template') ); if (!webComponentsSupported) { } else { onload(); } })(); </script> <script src="${h.asset('js/rhodecode/i18n/%s.js' % c.language, ver=c.rhodecode_version_hash)}"></script> <script type="text/javascript"> // register templateContext to pass template variables to JS var templateContext = ${h.json.dumps(c.template_context)|n}; var APPLICATION_URL = "${h.route_path('home').rstrip('/')}"; var ASSET_URL = "${h.asset('')}"; var DEFAULT_RENDERER = "${h.get_visual_attr(c, 'default_renderer')}"; var CSRF_TOKEN = "${getattr(c, 'csrf_token', '')}"; var APPENLIGHT = { enabled: ${'true' if getattr(c, 'appenlight_enabled', False) else 'false'}, key: '${getattr(c, "appenlight_api_public_key", "")}', % if getattr(c, 'appenlight_server_url', None): serverUrl: '${getattr(c, "appenlight_server_url", "")}', % endif requestInfo: { % if getattr(c, 'rhodecode_user', None): ip: '${c.rhodecode_user.ip_addr}', username: '${c.rhodecode_user.username}' % endif }, tags: { rhodecode_version: '${c.rhodecode_version}', rhodecode_edition: '${c.rhodecode_edition}' } }; </script> <%include file="/base/plugins_base.mako"/> <!--[if lt IE 9]> <script language="javascript" type="text/javascript" src="${h.asset('js/src/excanvas.min.js')}"></script> <![endif]--> <script language="javascript" type="text/javascript" src="${h.asset('js/rhodecode/routes.js', ver=c.rhodecode_version_hash)}"></script> <script> var alertMessagePayloads = ${h.flash.json_alerts(request=request)|n}; </script> ## avoide escaping the %N <script language="javascript" type="text/javascript" src="${h.asset('js/rhodecode-components.js', ver=c.rhodecode_version_hash)}"></script> <script>CodeMirror.modeURL = "${h.asset('') + 'js/mode/%N/%N.js?ver='+c.rhodecode_version_hash}";</script> ## JAVASCRIPT EXTRA - optionally inject some extra JS for specificed templates ${self.js_extra()} <script type="text/javascript"> Rhodecode = (function() { function _Rhodecode() { this.comments = new CommentsController(); } return new _Rhodecode(); })(); $(document).ready(function(){ show_more_event(); timeagoActivate(); clipboardActivate(); }) </script> </%def> ## JAVASCRIPT EXTRA - optionally inject some extra JS for specificed templates <%def name="js_extra()"></%def> ${self.js()} <%def name="head_extra()"></%def> ${self.head_extra()} ## extra stuff %if c.pre_code: ${c.pre_code|n} %endif </head> <body id="body"> <noscript> <div class="noscript-error"> ${_('Please enable JavaScript to use RhodeCode Enterprise')} </div> </noscript> ## IE hacks <!--[if IE 7]> <script>$(document.body).addClass('ie7')</script> <![endif]--> <!--[if IE 8]> <script>$(document.body).addClass('ie8')</script> <![endif]--> <!--[if IE 9]> <script>$(document.body).addClass('ie9')</script> <![endif]--> ${next.body()} %if c.post_code: ${c.post_code|n} %endif <rhodecode-app></rhodecode-app> </body> </html>