base.html 18.7 KB
Newer Older
Anton Petrov's avatar
Anton Petrov committed
1
<!--
2
Copyright [2009-2017] EMBL-European Bioinformatics Institute
Anton Petrov's avatar
Anton Petrov committed
3 4 5 6 7 8 9 10 11 12 13
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

Anton Petrov's avatar
Anton Petrov committed
14
{% load staticfiles %}
Anton Petrov's avatar
Anton Petrov committed
15
{% load compress %}
16
{% load portal_extras %}
Anton Petrov's avatar
Anton Petrov committed
17
<!DOCTYPE html>
18
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="rnacentralApp" ng-cloak>
Anton Petrov's avatar
Anton Petrov committed
19 20
    <head>
        {% block meta_tags %}
21 22 23 24 25 26 27
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
            <meta name="viewport" content="width=device-width">
            <meta name="twitter:card" content="summary">
            <meta name="twitter:site" content="@RNAcentral">
            <meta name="twitter:creator" content="@RNAcentral">
            <meta name="twitter:title" content="RNAcentral">
28
            <meta name="twitter:image" content="https://rnacentral.org{% static "img/logo/rnacentral-logo.png" %}">
Anton Petrov's avatar
Anton Petrov committed
29
        {% endblock meta_tags %}
30
        <base href="/"/>
Anton Petrov's avatar
Anton Petrov committed
31 32 33 34 35

        <title>
            {% block title %} RNAcentral {% endblock %}
        </title>

36
        <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/genoverse.css" %}">
Anton Petrov's avatar
Anton Petrov committed
37
        {% compress css %}
38
            {% block stylesheets %}
39
                <!-- warning: feature viewer css conflicts with bootstrap for navbar etc. -->
40
                <link rel="stylesheet" href="{% static "node_modules/tipsy-1a/src/stylesheets/tipsy.css" %}">
41
                <link rel="stylesheet" href="{% static "node_modules/feature-viewer-burkov/css/style.css" %}">
42 43 44 45 46 47
                <link rel="stylesheet" href="{% static "node_modules/bootstrap/dist/css/bootstrap.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/font-awesome/css/font-awesome.css" %}">
                <link rel="stylesheet" href="{% static "css/ebi-global.css" %}">
                <link rel="stylesheet" href="{% static "css/ebi-visual.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/slick-carousel/slick/slick.css" %}"/>
                <link rel="stylesheet" href="{% static "node_modules/slick-carousel/slick/slick-theme.css" %}"/>
48
                <link rel="stylesheet" href="{% static "css/main.css" %}">
49
                <link rel="stylesheet" href="{% static "node_modules/animate.css/animate.css" %}">
50 51
                <link rel="stylesheet" href="{% static "node_modules/hopscotch/dist/css/hopscotch.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/angular-loading-bar/build/loading-bar.css" %}">
52 53
                <link rel="stylesheet" href="{% static "node_modules/timelinejs3/compiled/css/timeline.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/timelinejs3/compiled/css/fonts/font.bevan-pontanosans.css" %}">
54 55 56 57 58 59
                <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/controlPanel.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/fileDrop.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/karyotype.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/resizer.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/trackControls.css" %}">
                <link rel="stylesheet" href="{% static "node_modules/@rnacentral/genoverse/dist/css/tooltips.css" %}">
60
                <link rel="stylesheet" href="{% static "node_modules/angularjs-slider/dist/rzslider.css" %}">
carlosribas's avatar
carlosribas committed
61
                <link rel="stylesheet" href="{% static "css/show-message.css" %}">
62
            {% endblock stylesheets %}
Anton Petrov's avatar
Anton Petrov committed
63
        {% endcompress %}
Anton Petrov's avatar
Anton Petrov committed
64

Anton Petrov's avatar
Anton Petrov committed
65 66 67
        {% compress js %}
          {% block javascript %}
          {% endblock javascript %}
68 69
          <!-- polyfill JSON.stringify for Angular.js -->
          <!--[if lte IE 7]>
70
            <script src="{% static "node_modules/json3/lib/json3.js" %}"></script>
71 72 73 74 75 76 77 78 79 80 81 82 83 84
          <![endif]-->
          <!-- create Angular.js custom element tags -->
          <!--[if lte IE 8]>
            <script>
              document.createElement('ng-include');
              document.createElement('ng-pluralize');
              document.createElement('ng-view');

              // Optionally these for CSS
              document.createElement('ng:include');
              document.createElement('ng:pluralize');
              document.createElement('ng:view');
            </script>
          <![endif]-->
Anton Petrov's avatar
Anton Petrov committed
85
        {% endcompress %}
Anton Petrov's avatar
Anton Petrov committed
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

        <!-- Favicons -->
        <link rel="shortcut icon"                    href="{% static "img/icons/favicon.ico"                  %}" type="image/x-icon" />
        <link rel="apple-touch-icon"                 href="{% static "img/icons/apple-touch-icon.png"         %}" />
        <link rel="apple-touch-icon" sizes="57x57"   href="{% static "img/icons/apple-touch-icon-57x57.png"   %}" />
        <link rel="apple-touch-icon" sizes="60x60"   href="{% static "img/icons/apple-touch-icon-60x60.png"   %}" />
        <link rel="apple-touch-icon" sizes="72x72"   href="{% static "img/icons/apple-touch-icon-72x72.png"   %}" />
        <link rel="apple-touch-icon" sizes="76x76"   href="{% static "img/icons/apple-touch-icon-76x76.png"   %}" />
        <link rel="apple-touch-icon" sizes="114x114" href="{% static "img/icons/apple-touch-icon-114x114.png" %}" />
        <link rel="apple-touch-icon" sizes="120x120" href="{% static "img/icons/apple-touch-icon-120x120.png" %}" />
        <link rel="apple-touch-icon" sizes="144x144" href="{% static "img/icons/apple-touch-icon-144x144.png" %}" />
        <link rel="apple-touch-icon" sizes="152x152" href="{% static "img/icons/apple-touch-icon-152x152.png" %}" />

        {% block extra_head %}{% endblock %}
    </head>

102
    <body class="level2" ng-controller="MainContent">
Anton Petrov's avatar
Anton Petrov committed
103 104 105 106
        <header>
        {% include "portal/header.html" %}
        </header>

Anton Petrov's avatar
Anton Petrov committed
107
        <div class="container">
Anton Petrov's avatar
Anton Petrov committed
108

Anton Petrov's avatar
Anton Petrov committed
109
          <div class="container-main">
110 111 112 113 114 115
            <!--[if lt IE 10]>
              <div class="alert alert-danger">
                You are using an <strong>outdated browser</strong> and as a result this website may not function as intended. Please <a href="http://whatbrowser.org/">upgrade your browser</a> to improve your experience.</p>
              </div>
            <![endif]-->

Anton Petrov's avatar
Anton Petrov committed
116
            <noscript>
117
              <div class="alert alert-danger">
118
                Javascript is currently disabled or is not supported by this browser. Please enable JavaScript for full functionality.
Anton Petrov's avatar
Anton Petrov committed
119 120
              </div>
            </noscript>
121

122
            <div ng-show="!displaySearchInterface">
carlosribas's avatar
carlosribas committed
123 124 125 126 127
              {% if "portal/message"|template_exists %}
                  <div id="show-message">
                      {% include "portal/message" %}
                  </div>
              {% endif %}
128 129
              {% block content %}{% endblock %}
            </div>
130
            <text-search-results ng-if="displaySearchInterface"></text-search-results>
Anton Petrov's avatar
Anton Petrov committed
131
          </div>
Anton Petrov's avatar
Anton Petrov committed
132 133 134 135 136 137 138 139

          <footer>
            <div id="local-footer">
              {% block optional-footer %}{% endblock  %}
            </div>
            {% include "portal/footer.html" %}
          </footer>

Anton Petrov's avatar
Anton Petrov committed
140
        </div> <!-- container -->
Anton Petrov's avatar
Anton Petrov committed
141

Boris A. Burkov's avatar
Boris A. Burkov committed
142
        <div id="data-protection-message-configuration" data-message="This website requires cookies and limited processing of your personal data in order to function. By using this site you are agreeing to this as outlined in our <a class='white-color' href='https://www.ebi.ac.uk/data-protection/privacy-notice/rnacentral'>Privacy Policy</a> and <a href='https://www.ebi.ac.uk/about/terms-of-use'>Terms of Use</a>." data-service-id="myService" data-data-protection-version="0.1"></div>
143 144


Anton Petrov's avatar
Anton Petrov committed
145 146
        {% compress js %}
          {% block extra_js %}
147 148
            <script src="{% static "node_modules/jquery/dist/jquery.js" %}"></script>
            <script src="{% static "node_modules/slick-carousel/slick/slick.js" %}"></script>
149 150 151 152
            <script src="{% static "node_modules/hopscotch/dist/js/hopscotch.js" %}"></script>
            <script src="{% static "node_modules/angular/angular.js" %}"></script>
            <script src="{% static "node_modules/angular-animate/angular-animate.js" %}"></script>
            <script src="{% static "node_modules/angular-resource/angular-resource.js" %}"></script>
153
            <script src="{% static "node_modules/angular-sanitize/angular-sanitize.js" %}"></script>
154
            <script src="{% static "node_modules/angular-filter/dist/angular-filter.js" %}"></script>
155
            <script src="{% static "node_modules/angular-ui-bootstrap/dist/ui-bootstrap-tpls.js" %}"></script>
156
            <script src="{% static "node_modules/angular-loading-bar/build/loading-bar.js" %}"></script>
157 158
            <script src="{% static "node_modules/underscore/underscore.js" %}"></script>
            <script src="{% static "node_modules/moment/moment.js" %}"></script>
159
            <script src="{% static "node_modules/js-md5/build/md5.min.js" %}"></script>
160
            <script src="{% static "node_modules/@rnacentral/fornac/dist/scripts/fornac.js" %}"></script>
161
            <script src="{% static "node_modules/d3/d3.js" %}"></script>
162 163
            <script src="{% static "node_modules/clipboard/dist/clipboard.js" %}"></script>
            <script src="{% static "node_modules/timelinejs3/compiled/js/timeline.js" %}"></script>
164
            <script src="{% static "node_modules/angularjs-slider/dist/rzslider.js" %}"></script>
165
            <!-- warning, feature-viewer.bundle.js includes jquery, so it breaks slick and everything else -->
166
            <script src="{% static "node_modules/@rnacentral/feature-viewer/src/feature-viewer.js" %}"></script>
167
            <!-- Genoverse bundle contains jquery, avoid conflict with our jquery - let Genoverse go first -->
168
            <script src="{% static "node_modules/@rnacentral/genoverse/dist/js/genoverse.concat.nodeps.js" %}"></script>
169 170 171 172
            <script src="{% static "node_modules/jquery-ui-bundle/jquery-ui.js" %}"></script>
            <script src="{% static "node_modules/jquery.mousehold/jquery.mousehold.js" %}"></script>
            <script src="{% static "node_modules/jquery.mousewheel/jquery.mousewheel.js" %}"></script>
            <script src="{% static "node_modules/tipsy-1a/src/javascripts/jquery.tipsy.js" %}"></script>
173
            <script src="{% static "node_modules/svg-pan-zoom/dist/svg-pan-zoom.js" %}"></script>
Anton Petrov's avatar
Anton Petrov committed
174
            <script src="{% static "node_modules/save-svg-as-png/lib/saveSvgAsPng.js" %}"></script>
175 176 177
            <!-- New genoverse contains tooltip from jquery ui, it conflicts with bootstrap - bridge it! -->
            <!-- Bridge doesn't work now
            <!-- <script>$.widget.bridge('uitooltip', $.ui.tooltip);</script> -->
178

179 180 181
            <script src="{% static "js/d3/d3.ExpertDatabaseSequenceDistribution.js" %}"></script>
            <script src="{% static "js/d3/d3.speciesSunburst.js" %}"></script>
            <script src="{% static "js/d3/d3.speciesTree.js" %}"></script>
182

183 184 185
            <script src="{% static "js/app.js" %}"></script>
            <script src="{% static "js/components/main-content.controller.js" %}"></script>
            <script src="{% static "js/components/routes.service.js" %}"></script>
186
            <!-- <script src="{% static "js/components/tour.service.js" %}"></script> -->
187 188 189

            <script src="{% static "js/components/underscore.module.js" %}"></script>

190 191
            <script src="{% static "js/components/homepage/homepage.module.js" %}"></script>

192 193
            <script src="{% static "js/components/use-cases/use-cases.module.js" %}"></script>

194
            <script src="{% static "js/components/expert-database/expert-database.module.js" %}"></script>
195 196 197
            <script src="{% static "js/components/expert-database/expert-database-top.component.js" %}"></script>
            <script src="{% static "js/components/expert-database/expert-database-left.component.js" %}"></script>
            <script src="{% static "js/components/expert-database/expert-database-right.component.js" %}"></script>
198
            <script src="{% static "js/components/expert-database/normalize-expert-db-name.service.js" %}"></script>
199

200
            <script src="{% static "js/components/sequence/sequence.module.js" %}"></script>
201 202 203 204 205
            <script src="{% static "js/components/sequence/abstract/abstract.component.js" %}"></script>
            <script src="{% static "js/components/sequence/publications/publication.component.js" %}"></script>
            <script src="{% static "js/components/sequence/publications/publications.component.js" %}"></script>
            <script src="{% static "js/components/sequence/taxonomy/taxonomy.component.js" %}"></script>
            <script src="{% static "js/components/sequence/xrefs/xrefs.component.js" %}"></script>
206
            <script src="{% static "js/components/sequence/xrefs/xref-publications/xref-publications.component.js" %}"></script>
207
            <script src="{% static "js/components/sequence/2d/2d.component.js" %}"></script>
208
            <script src="{% static "js/components/sequence/go-annotations/go-annotations.component.js" %}"></script>
Anton Petrov's avatar
Anton Petrov committed
209
            <script src="{% static "js/components/sequence/ensembl-compara/ensembl-compara.component.js" %}"></script>
Anton Petrov's avatar
Anton Petrov committed
210
            <script src="{% static "js/components/sequence/xrefs/mirbase-word-cloud/mirbase-word-cloud.component.js" %}"></script>
211
            <script src="{% static "js/components/sequence/protein-targets/protein-targets.component.js" %}"></script>
Anton Petrov's avatar
Anton Petrov committed
212
            <script src="{% static "js/components/sequence/lncrna-targets/lncrna-targets.component.js" %}"></script>
213
            <script src="{% static "js/components/sequence/rfam/rfam.component.js" %}"></script>
214 215

            <script src="{% static "js/components/sequence-search/nhmmer.sequence.search.js" %}"></script>
216
            <script src="{% static "js/components/sequence-search/sequence-search.module.js" %}"></script>
217

218 219 220 221 222
            <script src="{% static "js/components/genome-browser/genome-browser.module.js" %}"></script>
            <script src="{% static "js/components/genome-browser/genoverse-utils.service.js" %}"></script>
            <script src="{% static "js/components/genome-browser/genome-browser.controller.js" %}"></script>
            <script src="{% static "js/components/genome-browser/genoverse.component.js" %}"></script>

223
            <script src="{% static "js/components/text-search/text-search.module.js" %}"></script>
224
            <script src="{% static "js/components/text-search/text-search.service.js" %}"></script>
225
            <script src="{% static "js/components/text-search/sanitize.filter.js" %}"></script>
226 227 228
            <script src="{% static "js/components/text-search/plaintext.filter.js" %}"></script>
            <script src="{% static "js/components/text-search/capitalize-first.filter.js" %}"></script>
            <script src="{% static "js/components/text-search/underscores-to-spaces.filter.js" %}"></script>
229 230 231 232
            <script src="{% static "js/components/text-search/export-results.search.js" %}"></script>
            <script src="{% static "js/components/text-search/text-search-bar/text-search-bar.component.js" %}"></script>
            <script src="{% static "js/components/text-search/text-search-results/text-search-results.component.js" %}"></script>

233 234
            <script src="{% static "js/components/ebiFrameworkNotificationBanner.js" %}"></script>

235 236
          {% endblock extra_js %}
        {% endcompress %}
237

238
        <!-- bootstrap conflicts with jquery-ui tooltip, so it should go after datatables and genoverse -->
239
        <script src="{% static "node_modules/bootstrap/dist/js/bootstrap.js" %}"></script>
240

241 242 243 244 245 246 247 248 249 250
        <script>
            $(function() {
              // record javascript errors for selenium
              window.onerror=function(msg){
                  $("body").attr("JSError",msg);
              };
              // initialise bootstrap tooltips
              $('.help').tooltip();
            });
            if(!window.console){ window.console = {log: function(){} }; }
251
            console.log('Welcome to the RNAcentral javascript console!');
252
        </script>
253

carlosribas's avatar
carlosribas committed
254
        <script>
255 256 257 258 259 260 261 262
            (function(){
              var x = document.getElementById("show-message");
              if (x) {
                  x.className = "show";
                  // After 5 seconds, remove the show class from DIV
                  setTimeout(function(){ x.className = x.className.replace("show", ""); }, 5000);
              }
            })();
carlosribas's avatar
carlosribas committed
263 264
        </script>

carlosribas's avatar
carlosribas committed
265 266 267 268 269 270
        <!--[if lte IE 8]>
        <script type="text/javascript">
            // bootstrap angular.js manually on IE < 8
            $(document).ready(function() {
                angular.bootstrap(document);
            });
carlosribas's avatar
carlosribas committed
271
        </script>
carlosribas's avatar
carlosribas committed
272
        <![endif]-->
273

Anton Petrov's avatar
Anton Petrov committed
274 275
        {% block extra_js_uncompressed %}
        {% endblock %}
Anton Petrov's avatar
Anton Petrov committed
276

277 278 279 280 281 282 283 284 285 286 287
        <!--Google Analytics-->
        <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-51212613-1', 'rnacentral.org');
          ga('send', 'pageview');
        </script>
        <!--Google Analytics-->

Anton Petrov's avatar
Anton Petrov committed
288 289 290
        <!--Doorbell.io feedback-->
        <script type="text/javascript">
            window.doorbellOptions = {
291 292 293
                appKey: 'iPUykwSlDQ7fuIHlRux5tNce109WQyyUYCAyksCG41X57V793oTm0w4VCx7nSlbC',
                hideButton: true,
                strings: {
Anton Petrov's avatar
Anton Petrov committed
294
                  'email-input-placeholder': 'Your email (optional)',
295
                  'intro-text': 'The <strong>current URL</strong> and your <strong>browser</strong> version are sent automatically',
296
                }
Anton Petrov's avatar
Anton Petrov committed
297 298 299 300
            };
            (function(d, t) {
                var g = d.createElement(t);g.id = 'doorbellScript';g.type = 'text/javascript';g.async = true;g.src = 'https://embed.doorbell.io/button/2991?t='+(new Date().getTime());(d.getElementsByTagName('head')[0]||d.getElementsByTagName('body')[0]).appendChild(g);
            }(document, 'script'));
301 302 303 304 305
            $(function(){
              $('.doorbell-feedback').on('click', function(){
                doorbell.show();
              });
            });
Anton Petrov's avatar
Anton Petrov committed
306 307
        </script>
        <!--Doorbell.io feedback-->
308 309 310 311 312 313

        <script>
          var global_settings = {
            EBI_SEARCH_ENDPOINT: '{% get_ebi_search_endpoint %}',
          };
        </script>
Anton Petrov's avatar
Anton Petrov committed
314 315
    </body>
</html>