migrate to semantic_ui:

This commit holds alot of changes in the UI, migration of bootstrap to semantic-ui, override of header.html and setting them for /search & /deposite endpoints. PS. The migration is not finished.
This commit is contained in:
mb
2020-06-10 15:33:11 +02:00
parent 657a12185a
commit 7d0255b15f
18 changed files with 891 additions and 423 deletions

View File

@@ -39,4 +39,5 @@ recursive-include invenio_theme_tugraz *.js
recursive-include invenio_theme_tugraz *.png
recursive-include invenio_theme_tugraz *.scss
recursive-include invenio_theme_tugraz *.svg
recursive-include invenio_theme_tugraz *.less
recursive-include tests *.py

View File

@@ -0,0 +1,29 @@
/*
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* invenio-theme-tugraz is free software; you can redistribute it and/or modify it
* under the terms of the MIT License; see LICENSE file for more details.
*/
#footer {
color: #fff;
&.footer-bottom {
background-color: #E4154B;
padding-top: 15px;
padding-bottom: 15px;
font-weight: 300;
font-size: 14px;
a {
text-decoration: none;
color: #ffffffd6;
font-weight: 600;
&:hover, &:focus {
color: #ffffff;
}
}
}
}

View File

@@ -0,0 +1,237 @@
/*
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* invenio-theme-tugraz is free software; you can redistribute it and/or modify it
* under the terms of the MIT License; see LICENSE file for more details.
*/
#int-menu-q-home-icon {
width: 18px;
height: 18px;
vertical-align: top;
fill: red;
}
/*****logo section******/
.affiliation-spacer{
display: table-cell;
vertical-align: middle;
width: 100%;
}
.affiliation-logo {
display: table-cell;
padding: 0 50px 0 0;
vertical-align: middle;
white-space: nowrap;
}
.affiliation {
background-color: white;
display: table;
margin: 0 auto 80px;
max-width: 1060px;
width: 100%;
text-decoration: none;
}
.affiliation-text {
display: table-cell;
font-size: 17px;
padding: 0 0 0 50px;
vertical-align: middle;
white-space: nowrap;
}
.affiliation-logo-claim {
display: inline-block;
font-size: 12px;
letter-spacing: 2px;
line-height: 17px;
padding: 0 17px 0 0;
text-align: right;
vertical-align: top;
}
a {
color: inherit;
text-decoration: none;
transition: background-color 0.15s ease 0s, color 0.15s ease 0s;
}
/*****END logo section******/
.short-menu {
display: table;
height: 49px;
width: 100%;
}
.short-menu-left {
border-right: 1px solid black;
display: table-cell;
text-align: right;
width: 50%;
}
.short-menu-right {
display: table-cell;
vertical-align: top;
width: 50%;
color:#000000;
}
.short-menu-left-search {
display: inline-block;
margin: 12px 9px 6px 0;
color:#000000;
}
.short-menu-right-h {
cursor: pointer;
display: inline-block;
margin: 12px 0 6px 9px;
padding: 5px;
}
.short-menu-right-main-menu {
display: inline-block;
margin-right: 3px;
vertical-align: top;
width: 21px;
}
svg:not(:root) {
overflow: hidden;
}
/***********MAIN menu*************/
.header {
min-width: 0;
position: relative;
width: 100%;
//height: 100%;
}
.main-menu-box {
box-sizing: border-box;
display: table;
margin: 0 auto;
max-width: 1060px;
padding: 9px 50px 8px;
text-align: left;
width: 100%;
}
.main-menu-entry {
display: table-cell;
text-align: center;
}
.main-menu-entry a {
box-decoration-break: clone;
padding: 5px 8px;
}
.main-menu-entry a:hover{
background-color: #000000;
color: #ffffff;
text-decoration: none;
}
.affiliation-text a:hover{
background-color: #000000;
color: #ffffff;
text-decoration : none;
}
.affiliation-logo :hover{
text-decoration: none;
}
.short-menu-right :hover{
background-color: #000000;
color: #ffffff;
}
.main-menu {
border-bottom: 1px solid #000;
box-sizing: border-box;
height: 39px;
margin-top: -1px;
overflow: hidden;
transition: height 0.3s linear 0s;
}
@media (max-width: 767.9px){
.main-menu {
height: auto;
}
}
@media (max-width: 767.9px){
.main-menu-entry {
display: table-row;
line-height: 1.9em;
}
}
@media screen and (max-width: 767.9px){
#int-header-logo-img {
width: 200px;
height: 75px;
}
}
@media screen and (max-width: 767.9px){
#int-header-logo {
padding: 50px 0;
text-align: center;
}}
@media screen and (max-width: 767.9px){
.affiliation{
margin: 0;
text-align: center;
}
.affiliation-text{
display: none;
}
.affiliation-logo-claim{
display: none;
}
.affiliation-spacer{
display: none;
}
}
@media (max-width: 767.9px){
.main-menu-box {
margin-top:15px;
width: 100%;
text-align: center;
}
}
.int-menu-q-open-icon {
width: 14px;
vertical-align: middle;
margin-left: 5px;
}
/*********************Custom overrides**********************/
/** Login with SAML**/
.col a{
cursor: pointer;
}
/**** hyperlink hover color ****/
a:focus,
a:hover {
color:#E4154B;
text-decoration:underline
}

View File

@@ -0,0 +1,57 @@
/*
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* invenio-theme-tugraz is free software; you can redistribute it and/or modify it
* under the terms of the MIT License; see LICENSE file for more details.
*/
/* On hover color changed
* from #0377cd
* to #E4154B
*/
.section-content-white-bg a:hover,
.section-content-white-bg a:focus,
.section-content-light-bg a:hover,
.section-content-light-bg a:focus,
.hp-blog-section a:hover,
.hp-blog-section a:focus {
color: #E4154B;
}
/*
* Logos background frontpage.
* from rgba(173, 206, 224, 0.52)
* to #ffffff
*/
.section-content-light-bg {
background-color: #ffffff;
}
/*
* section title.
* from #0377cd
* to #000000
*/
.section-title {
color: #000000;
}
/***
login background color
from : rgba(13,95,137,.8)
To #ffffff
*/
.cover-page {
//text-align: center;
background-color: #ffffff;
}
/***
login & sigup page title
from : #0377cd
To #000000
*/
.panel-free-title {
color: #000000;
}

View File

@@ -0,0 +1,20 @@
/*
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* invenio-theme-tugraz is free software; you can redistribute it and/or modify it
* under the terms of the MIT License; see LICENSE file for more details.
*/
@import "header";
@import "footer";
@import "overrides";
/***
**TODO:
** test overriding variables.
***/
//@import "../invenio_app_rdm/theme";
//@import "variables";

View File

@@ -0,0 +1,17 @@
/*
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* invenio-theme-tugraz is free software; you can redistribute it and/or modify it
* under the terms of the MIT License; see LICENSE file for more details.
*/
/***
**TODO:
** test overriding variables.
***/
//@import "../invenio_app_rdm/variables.less";
//@navbar_background_image: unset;
//@navbar_background_color: #ffffff;

View File

@@ -10,9 +10,6 @@
from flask_babelex import gettext as _
# TODO: This is an example file. Remove it if your package does not use any
# extra configuration variables.
INVENIO_THEME_TUGRAZ_DEFAULT_VALUE = 'foobar'
"""Default value for the application."""
@@ -23,12 +20,6 @@ INVENIO_THEME_TUGRAZ_BASE_TEMPLATE = 'invenio_theme_tugraz/base.html'
# Theme Logo
THEME_LOGO = 'images/tug_logo.png'
# Instance's theme entrypoint file. Path relative to the ``assets/`` folder.
INSTANCE_THEME_FILE = './scss/invenio_tugraz_theme/theme.scss'
# Instance's search theme entrypoint file. Path under `assets` folder.
INSTANCE_SEARCH_THEME_FILE = './scss/invenio_tugraz_theme/search/theme.scss'
# Custom header.html
THEME_HEADER_TEMPLATE = 'invenio_theme_tugraz/header.html'
@@ -38,6 +29,8 @@ THEME_FRONTPAGE_TEMPLATE = 'invenio_theme_tugraz/frontpage.html'
# Login page
SECURITY_LOGIN_USER_TEMPLATE = 'invenio_theme_tugraz/accounts/login.html'
THEME_HEADER_LOGIN_TEMPLATE = 'invenio_theme_tugraz/accounts/header_login.html'
# footer template
THEME_FOOTER_TEMPLATE = 'invenio_theme_tugraz/footer.html'
@@ -57,3 +50,20 @@ BABEL_DEFAULT_TIMEZONE = 'Europe/Vienna'
I18N_LANGUAGES = [
('de', _('German'))
]
# Invenio-APP-RDM
# =============
SEARCH_UI_HEADER_TEMPLATE = 'invenio_theme_tugraz/header.html'
"""Search page's header template."""
# SEARCH_UI_SEARCH_TEMPLATE = 'invenio_theme_tugraz/search/search.html'
"""Search page's base template."""
# DEPOSITS_FORMS_BASE_TEMPLATE = 'invenio_app_rdm/deposits/forms/deposits.html'
"""Deposits form page's base template."""
DEPOSITS_HEADER_TEMPLATE = 'invenio_theme_tugraz/header.html'
"""Deposits header page's template."""
# DEPOSITS_UPLOADS_TEMPLATE = 'invenio_app_rdm/deposits/uploads.html'
"""Deposits user's uploads page template."""

View File

@@ -0,0 +1,44 @@
{%- if config.ACCOUNTS %}
{%- if not current_user.is_authenticated %}
<div class="main-menu-entry">
<a href="{{url_for_security('login', next=request.path)}}">Login
<svg shape-rendering="optimizeQuality" class="int-menu-q-open-icon"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="5.2753mm"
width="8.7548mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 31.02118 18.692033">
<g style="stroke-width:2.25" transform="translate(-164.49 -416.85)">
<path style="stroke-linejoin:round;stroke:#E4154B;stroke-linecap:round;stroke-width:2.5;fill:none"
d="m165.63 417.99 14.375 16.43 14.375-16.43"></path>
</g>
</svg>
</a>
</div>
{%- else %}
{%- if config.USERPROFILES %}
<a href="{{ url_for('invenio_userprofiles.profile') }}">
<i class="user icon"></i> {{ current_user.email }}
</a>
<!--- Logout link -->
<a class="dropdown-item" href="{{url_for_security('logout')}}">{{_('Logout')}}
<svg shape-rendering="optimizeQuality" class="int-menu-q-open-icon"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="5.2753mm"
width="8.7548mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 31.02118 18.692033">
<g style="stroke-width:2.25" transform="translate(-164.49 -416.85)">
<path style="stroke-linejoin:round;stroke:#E4154B;stroke-linecap:round;stroke-width:2.5;fill:none"
d="m165.63 417.99 14.375 16.43 14.375-16.43"></path>
</g>
</svg>
</a>
{%- endif %}
{%- endif %}
{%- endif %}

View File

@@ -7,66 +7,52 @@
details.
#}
{%- extends config.ACCOUNTS_COVER_TEMPLATE %}
{%- extends "invenio_theme/page_cover.html" %}
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{% block panel %}
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-body">
{% block page_body %}
<div class="ui padded segments big form">
<div class="ui segment padded">
<div class="divider hidden"></div>
{%- block form_header %}
<h3 class="text-center panel-free-title">{{_('Log in to account') }}</h3>
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH == 'True' %}
<div class="col">
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="btn btn-default btn-lg btn-block"
class="btn btn-outline-primary btn-block">
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="25px">
<!--- <img src="/static/images/icons_use.png" height="19px"> -->
{% trans type='TUGRAZ' %} Log in with {{ type }}{% endtrans %}
</a>
</div>
<h3 align="center">— OR —</h3>
{%- endif %}
<h3 class="ui header">{{ _('Log in to account') }}</h3>
{%- endblock form_header %}
<!--TODO:
Add login with shibboleth
-->
{%- block form_outer %}
{%- with form = login_user_form %}
<form action="{{ url_for_security('login') }}" method="POST" name="login_user_form">
<form action="{{ url_for_security('login') }}" method="POST"
name="login_user_form">
{{ form.hidden_tag() }}
{{ form_errors(form) }}
{{ render_field(form.email, icon="fa fa-user", autofocus=True, errormsg=False) }}
{{ render_field(form.password, icon="fa fa-lock", errormsg=False) }}
<button type="submit" class="btn btn-primary btn-lg btn-block"><i class="fa fa-sign-in"></i> {{_('Log In')}}</button>
{{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
<button type="submit" class="ui fluid large submit primary button">
<i class="ui sign-in icon"></i>{{ _('Log In') }}
</button>
</form>
{%- endwith %}
{%- endblock form_outer %}
<div class="divider hidden"></div>
</div>
{%- block registerable %}
{%- if security.registerable %}
<div class="panel-footer text-center">
<h4 class="text-muted">{% trans sitename=config.ACCOUNTS_SITENAME %}New to {{sitename}}?{% endtrans %} <a href="{{url_for('security.register')}}">{{_('Sign Up')}}</a></h4>
<div class="ui primary segment padded">
{% trans sitename=config.ACCOUNTS_SITENAME %}New to {{ sitename }}?{% endtrans %}
<a href="{{ url_for('security.register') }}">{{ _('Sign Up') }}</a>
</div>
{%- endif %}
{%- endblock %}
{%- endblock registerable %}
</div>
<div align="center" class="text-muted">
<a href="{{url_for('security.forgot_password')}}" class="text-light mr-3">{{_('Forgot password?')}}
</a>
</div>
</div>
{% endblock panel %}
{%- block recoverable %}
{%- if security.recoverable %}
<a class="ui inverted header tiny"
href="{{ url_for('security.forgot_password') }}">{{ _('Forgot password?') }}</a>
{%- endif %}
{%- endblock recoverable %}
{% endblock page_body %}

View File

@@ -7,10 +7,18 @@
details.
#}
{%- block css %}
{{ webpack['invenio-theme-tugraz-theme.css'] }}
{%- endblock %}
<footer id="footer" class="footer-bottom">
<div class="container">
<div class="row">
<div class="col-xs-6 col-xs-push-6 text-right">
<div class="ui grid container">
<div class="eight wide column left aligned">
{% trans invenio_rdm="http://inveniosoftware.org/products/rdm" %}Powered by <a
href="{{invenio_rdm}}">InvenioRDM</a>{% endtrans %}
</div>
<div class="eight wide column right aligned">
<!--
{%- if config.I18N_LANGUAGES %}
{% from "invenio_i18n/macros/language_selector.html" import language_selector_dropdown %}
@@ -18,9 +26,5 @@
{%- endif %}
-->
</div>
<div class="col-xs-6 col-xs-pull-6">
{% trans invenio_rdm="http://inveniosoftware.org/products/rdm" %}Powered by <a href="{{invenio_rdm}}">InvenioRDM</a>{% endtrans %}
</div>
</div>
</div>
</footer>

View File

@@ -7,59 +7,114 @@
details.
#}
{%- extends "invenio_theme/frontpage.html" %}
{%- extends "semantic-ui/invenio_theme/frontpage.html" %}
{%- block page_header %}
{%- include "invenio_theme_tugraz/header_frontpage.html" %}
{%- endblock page_header %}
{%- block head_links %}
{{ super() }}
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600|Oswald|Source+Code+Pro:400&amp;display=swap" rel="stylesheet">
{%- endblock head_links %}
{%- block page_body %}
{%- block first_section%}
{%- endblock first_section%}
{%- block second_section%}
<section class="brought-to-you-section section-content-light-bg">
<div class="container">
<span class="section-title">Brought to you by</span>
<div class="row centered">
<div class="col">
<a href="http://www.bnl.gov/"><img src="/static/images/logo-bnl.png" title="Brookhaven National Laboratory"></a>
<a href="https://www.library.caltech.edu/"><img src="/static/images/logo-caltechlibrary.png" title="Caltech Library"></a>
<a href="http://home.cern"><img src="/static/images/logo-cern.png" title="CERN"></a>
<a href="https://ctsa.ncats.nih.gov/cd2h/"><img src="/static/images/logo-cd2h.png" title="CTSA Program National Center for Data to Health"></a>
<div class="ui container">
<div class="ui padded relaxed centered grid">
<div class="four column row">
<div class="column">
<a href="http://www.bnl.gov/">
<img src="/static/images/logo-bnl.png" title="Brookhaven National Laboratory">
</a>
</div>
<div class="column">
<a href="https://www.library.caltech.edu/">
<img src="/static/images/logo-caltechlibrary.png" title="Caltech Library">
</a>
</div>
<div class="column">
<a href="http://home.cern">
<img src="/static/images/logo-cern.png" title="CERN">
</a>
</div>
<div class="column">
<a href="https://ctsa.ncats.nih.gov/cd2h/">
<img src="/static/images/logo-cd2h.png" title="CTSA Program National Center for Data to Health">
</a>
</div>
</div>
<div class="row centered">
<div class="col">
<a href="https://www.data-futures.org/"><img src="/static/images/logo-data-futures.png" title="Data Futures"></a>
<a href="http://www.earthobservations.org/"><img src="/static/images/logo-geo.svg" title="Group on Earth Observations"></a>
<a href="https://www.hzdr.de/"><img src="/static/images/logo-hzdr.png" title="Helmholtz Zentrum Dresden-Rossendorf"></a>
<a href="http://home.infn.it/"><img src="/static/images/logo-infn.svg" title="Istituto Nazionale di Fisica Nucleare"></a>
<div class="four column row">
<div class="column">
<a href="https://www.data-futures.org/">
<img src="/static/images/logo-data-futures.png" title="Data Futures">
</a>
</div>
<div class="column">
<a href="http://www.earthobservations.org/">
<img src="/static/images/logo-geo.svg" title="Group on Earth Observations">
</a>
</div>
<div class="column">
<a href="https://www.hzdr.de/">
<img src="/static/images/logo-hzdr.png" title="Helmholtz Zentrum Dresden-Rossendorf">
</a>
</div>
<div class="column">
<a href="http://home.infn.it/">
<img src="/static/images/logo-infn.svg" title="Istituto Nazionale di Fisica Nucleare">
</a>
</div>
</div>
<div class="row centered">
<div class="col">
<a href="https://ec.europa.eu/jrc/"><img src="/static/images/logo-jrc.svg" title="Joint Research Centre"></a>
<a href="https://www.northwestern.edu/"><img src="/static/images/logo-northwestern-university.png" title="Northwestern University"></a>
<a href="https://www.openaire.eu/"><img src="/static/images/logo-openaire.png" title="OpenAIRE"></a>
<a href="https://tind.io/"><img src="/static/images/logo-tind.png" title="TIND"></a>
<div class="four column row">
<div class="column">
<a href="https://ec.europa.eu/jrc/">
<img src="/static/images/logo-jrc.svg" title="Joint Research Centre">
</a>
</div>
<div class="column">
<a href="https://www.northwestern.edu/">
<img src="/static/images/logo-northwestern-university.png" title="Northwestern University">
</a>
</div>
<div class="column">
<a href="https://www.openaire.eu/">
<img src="/static/images/logo-openaire.png" title="OpenAIRE">
</a>
</div>
<div class="column">
<a href="https://tind.io/">
<img src="/static/images/logo-tind.png" title="TIND">
</a>
</div>
</div>
<div class="row centered">
<div class="col">
<a href="https://ulakbim.tubitak.gov.tr"><img src="/static/images/logo-tubitak.svg" title="Tubitak"></a>
<a href="https://www.tugraz.at/en/home/"><img src="/static/images/logo-tu-graz.svg" title="TU Graz"></a>
<a href="https://www.uni-hamburg.de/"><img src="/static/images/logo-uni-hamburg.png" title="Universität Hamburg"></a>
<a href="https://www.uni-muenster.de/en/"><img src="/static/images/logo-uni-munster.png" title="University of Münster"></a>
<div class="four column row">
<div class="column">
<a href="https://ulakbim.tubitak.gov.tr">
<img src="/static/images/logo-tubitak.svg" title="Tubitak">
</a>
</div>
<div class="column">
<a href="https://www.tugraz.at/en/home/">
<img src="/static/images/logo-tu-graz.svg" title="TU Graz">
</a>
</div>
<div class="column">
<a href="https://www.uni-hamburg.de/">
<img src="/static/images/logo-uni-hamburg.png" title="Universität Hamburg">
</a>
</div>
<div class="column">
<a href="https://www.uni-muenster.de/en/">
<img src="/static/images/logo-uni-munster.png" title="University of Münster">
</a>
</div>
</div>
</div>
</div>
</section>
{%- endblock %}
{%- endblock second_section%}
{%- endblock page_body%}

View File

@@ -18,18 +18,17 @@
{%- block navbar_header %}
<div class="header">
<div class="main-menu" id="heading">
<div class="main-menu-box">
<div class="main-menu-entry">
<a href="{{url_for('invenio_theme_frontpage.index')}}" title="Home">
<svg shape-rendering="geometricPrecision" id="int-menu-q-home-icon"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
version="1.1" xml:space="preserve" height="36.997" width="35.969"
enable-background="new 0 0 595.28 841.89" y="0px" x="0px"
xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
viewBox="0 0 35.969 36.997451">
enable-background="new 0 0 595.28 841.89" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 35.969 36.997451">
<polyline style="stroke:#E4154B;stroke-linecap:square;stroke-width:4;fill:none"
points="282.72 437.28 282.72 414.77 297.71 406.69 312.69 414.77 312.69 437.28"
transform="translate(-279.72 -403.28)">
@@ -40,76 +39,41 @@
</div>
{%- if not current_user.is_authenticated %}
<div class="main-menu-entry">
<a href="{{url_for_security('login', next=request.path)}}">Login
<div class="main-menu-entry">
{%- for item in current_menu.submenu('main').children|sort(attribute='order') if item.visible recursive %}
<a href="{{ item.url }}">{{ item.text|safe }}
<svg shape-rendering="optimizeQuality" class="int-menu-q-open-icon"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
height="5.2753mm" width="8.7548mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 31.02118 18.692033">
<g style="stroke-width:2.25" transform="translate(-164.49 -416.85)">
<path
style="stroke-linejoin:round;stroke:#E4154B;stroke-linecap:round;stroke-width:2.5;fill:none"
d="m165.63 417.99 14.375 16.43 14.375-16.43"></path>
</g>
</svg>
</a>
</div>
{% else %}
<!---Name or email of the logged in user-->
<div class="main-menu-entry">
<i class="fa fa-user mr-2"></i>
{{ current_user.profile.full_name if current_user.profile.full_name else current_user.email }}
</div>
<div class="main-menu-entry">
<!--- Looping the link we have for the user which is logged in-->
{%- for item in current_menu.submenu('settings').children if item.visible %}
<a class="dropdown-item" href="{{ item.url }}">
{{ item.text|safe }}
<svg shape-rendering="optimizeQuality" class="int-menu-q-open-icon"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
height="5.2753mm" width="8.7548mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 31.02118 18.692033">
<g style="stroke-width:2.25" transform="translate(-164.49 -416.85)">
<path
style="stroke-linejoin:round;stroke:#E4154B;stroke-linecap:round;stroke-width:2.5;fill:none"
<path style="stroke-linejoin:round;stroke:#E4154B;stroke-linecap:round;stroke-width:2.5;fill:none"
d="m165.63 417.99 14.375 16.43 14.375-16.43"></path>
</g>
</svg>
</a>
{%- endfor %}
<!--- Logout link -->
</div>
<a class="dropdown-item" href="{{url_for_security('logout')}}">{{_('Logout')}}
<svg shape-rendering="optimizeQuality" class="int-menu-q-open-icon"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
height="5.2753mm" width="8.7548mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 31.02118 18.692033">
<g style="stroke-width:2.25" transform="translate(-164.49 -416.85)">
<path
style="stroke-linejoin:round;stroke:#E4154B;stroke-linecap:round;stroke-width:2.5;fill:none"
d="m165.63 417.99 14.375 16.43 14.375-16.43"></path>
</g>
</svg>
</a>
<div class="main-menu-entry">
<div class="right menu">
<ul class="no-dots-list">
<div class="item">
{%- block navbar_right %}
<li>{%- include config.THEME_HEADER_LOGIN_TEMPLATE %}</li>
{%- endblock navbar_right %}
</div>
</ul>
</div>
</div>
</div>
{% endif %}
</div>
</div>
@@ -130,7 +94,8 @@
<span style="margin-right:10px; font-size:18px;">
{%- for l in current_i18n.get_locales() %}
{%- if current_i18n.language != l.language %}
<a href="{{ url_for('invenio_i18n.set_lang', lang_code=l.language) }}">{{ l.get_display_name() [0:2]}}</a>
<a
href="{{ url_for('invenio_i18n.set_lang', lang_code=l.language) }}">{{ l.get_display_name() [0:2]}}</a>
{% else %}
<strong>{{ l.get_display_name() [0:2] }}</strong>
{%- endif %}
@@ -140,9 +105,9 @@
<a href="/search">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#"
viewBox="0 0 26.01515 26.01515" width="26.015" height="26.015" class="all-menu-top-icon">
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 26.01515 26.01515" width="26.015"
height="26.015" class="all-menu-top-icon">
<g transform="translate(1,1)" stroke-miterlimit="10"
style="stroke-linejoin:round;stroke:#000;stroke-miterlimit:10;stroke-width:2;fill:none">
<circle style="stroke-miterlimit:10;stroke-width:2" r="8" cx="8.5" cy="8.5"></circle>
@@ -172,7 +137,6 @@
<div class="affiliation" id="int-header">
<div class="affiliation-text">
<a title="RDM" href="{{url_for('invenio_theme_frontpage.index')}}">
TU Graz
@@ -189,95 +153,65 @@
<div class="affiliation-logo-claim-single">TECHNIK</div>
<div class="affiliation-logo-claim-single">LEIDENSCHAFT</div>
</div>
<svg id="int-header-logo-img"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg" xml:space="preserve"
height="51.862" width="141.1" version="1.1" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 141.10001 51.862499">
<g transform="matrix(1.25 0 0 -1.25 0 51.862)"><g transform="scale(.1)"><path style="fill:#e4154b" d="m0 103.73h207.45v207.46l-207.45 0.01v-207.47z"></path>
<svg id="int-header-logo-img" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="51.862" width="141.1" version="1.1"
xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
viewBox="0 0 141.10001 51.862499">
<g transform="matrix(1.25 0 0 -1.25 0 51.862)">
<g transform="scale(.1)">
<path style="fill:#e4154b" d="m0 103.73h207.45v207.46l-207.45 0.01v-207.47z"></path>
<path style="fill:#e4154b" d="m228.19 103.73h207.46v207.46h-207.46v-207.46z"></path>
<path style="fill:#e4154b" d="m456.41 103.73h207.44v207.46h-207.44v-207.46z"></path>
<path style="fill:#e4154b" d="m103.72 0h207.47v207.46h-207.47v-207.46z"></path>
<path style="fill:#e4154b" d="m352.68 207.46h207.44v207.46h-207.44v-207.46z"></path>
<path style="fill:#231f20" d="m751.04 277.91h-66.426v33.195h171.19v-33.195h-66.407v-173.73h-38.359v173.73"></path>
<path style="fill:#231f20"
d="m1048.3 180.22c0-12.461-2.25-23.711-6.72-33.75-4.5-10.039-10.61-18.555-18.36-25.567-7.76-7.031-16.9-12.421-27.503-16.21-10.605-3.809-22.109-5.7036-34.551-5.7036-12.422 0-23.945 1.8946-34.551 5.7036-10.605 3.789-19.824 9.179-27.656 16.21-7.851 7.012-13.984 15.528-18.34 25.567-4.394 10.039-6.582 21.289-6.582 33.75v130.89h38.379v-129.59c0-5.039 0.801-10.351 2.442-15.898 1.64-5.547 4.336-10.664 8.125-15.332s8.789-8.516 15.039-11.523c6.211-3.008 13.926-4.512 23.144-4.512 9.199 0 16.914 1.504 23.145 4.512 6.23 3.007 11.25 6.855 15.039 11.523 3.77 4.668 6.48 9.785 8.12 15.332 1.63 5.547 2.45 10.859 2.45 15.898v129.59h38.38v-130.89"></path>
d="m751.04 277.91h-66.426v33.195h171.19v-33.195h-66.407v-173.73h-38.359v173.73"></path>
<path style="fill:#231f20"
d="m832.56 75.664c-7.597 3.2812-17.46 4.8632-25.332 4.8632-22.929 0-35.605-14.434-35.605-33.184 0-18.613 12.383-32.637 33.34-32.637 5.351 0 9.59 0.5274 12.969 1.3086v23.867h-20.84v14.414h39.687v-49.297c-10.41-2.6172-21.25-4.707-31.816-4.707-31.797 0-53.906 14.805-53.906 45.742 0 31.348 20.566 48.906 53.906 48.906 11.406 0 20.41-1.4453 28.867-3.8086l-1.27-15.469"></path>
d="m1048.3 180.22c0-12.461-2.25-23.711-6.72-33.75-4.5-10.039-10.61-18.555-18.36-25.567-7.76-7.031-16.9-12.421-27.503-16.21-10.605-3.809-22.109-5.7036-34.551-5.7036-12.422 0-23.945 1.8946-34.551 5.7036-10.605 3.789-19.824 9.179-27.656 16.21-7.851 7.012-13.984 15.528-18.34 25.567-4.394 10.039-6.582 21.289-6.582 33.75v130.89h38.379v-129.59c0-5.039 0.801-10.351 2.442-15.898 1.64-5.547 4.336-10.664 8.125-15.332s8.789-8.516 15.039-11.523c6.211-3.008 13.926-4.512 23.144-4.512 9.199 0 16.914 1.504 23.145 4.512 6.23 3.007 11.25 6.855 15.039 11.523 3.77 4.668 6.48 9.785 8.12 15.332 1.63 5.547 2.45 10.859 2.45 15.898v129.59h38.38v-130.89">
</path>
<path style="fill:#231f20"
d="m856.2 69.375h16.758v-15.332h0.293c0.84 6.289 8.574 16.914 19.824 16.914 1.836 0 3.828 0 5.782-0.5273v-17.715c-1.68 0.918-5.059 1.4454-8.457 1.4454-15.333 0-15.333-17.832-15.333-27.52v-24.785h-18.867v67.52"></path>
d="m832.56 75.664c-7.597 3.2812-17.46 4.8632-25.332 4.8632-22.929 0-35.605-14.434-35.605-33.184 0-18.613 12.383-32.637 33.34-32.637 5.351 0 9.59 0.5274 12.969 1.3086v23.867h-20.84v14.414h39.687v-49.297c-10.41-2.6172-21.25-4.707-31.816-4.707-31.797 0-53.906 14.805-53.906 45.742 0 31.348 20.566 48.906 53.906 48.906 11.406 0 20.41-1.4453 28.867-3.8086l-1.27-15.469">
</path>
<path style="fill:#231f20"
d="m913.75 65.84c7.324 3.1446 17.187 5.1172 25.215 5.1172 22.09 0 31.23-8.5351 31.23-28.457v-8.6523c0-6.8165 0.156-11.934 0.293-16.914 0.137-5.1172 0.41-9.8242 0.84-15.078h-16.602c-0.703 3.5352-0.703 8.0078-0.839 10.098h-0.293c-4.36-7.4618-13.81-11.661-22.38-11.661-12.793 0-25.332 7.207-25.332 20.059 0 10.078 5.195 15.976 12.383 19.258 7.187 3.2812 16.464 3.9453 24.355 3.9453h10.41c0 10.879-5.195 14.551-16.328 14.551-8.008 0-16.035-2.8907-22.363-7.3438l-0.586 15.078zm22.11-52.715c5.782 0 10.274 2.3633 13.223 6.0352 3.105 3.8086 3.945 8.6523 3.945 13.906h-8.164c-8.437 0-20.957-1.3086-20.957-11.68 0-5.7617 5.195-8.2617 11.953-8.2617"></path>
d="m856.2 69.375h16.758v-15.332h0.293c0.84 6.289 8.574 16.914 19.824 16.914 1.836 0 3.828 0 5.782-0.5273v-17.715c-1.68 0.918-5.059 1.4454-8.457 1.4454-15.333 0-15.333-17.832-15.333-27.52v-24.785h-18.867v67.52">
</path>
<path style="fill:#231f20"
d="m985.69 69.375h57.422v-14.414l-36.04-39.473h37.31v-13.633h-60.235v14.297l36.715 39.59h-35.172v13.633"></path>
d="m913.75 65.84c7.324 3.1446 17.187 5.1172 25.215 5.1172 22.09 0 31.23-8.5351 31.23-28.457v-8.6523c0-6.8165 0.156-11.934 0.293-16.914 0.137-5.1172 0.41-9.8242 0.84-15.078h-16.602c-0.703 3.5352-0.703 8.0078-0.839 10.098h-0.293c-4.36-7.4618-13.81-11.661-22.38-11.661-12.793 0-25.332 7.207-25.332 20.059 0 10.078 5.195 15.976 12.383 19.258 7.187 3.2812 16.464 3.9453 24.355 3.9453h10.41c0 10.879-5.195 14.551-16.328 14.551-8.008 0-16.035-2.8907-22.363-7.3438l-0.586 15.078zm22.11-52.715c5.782 0 10.274 2.3633 13.223 6.0352 3.105 3.8086 3.945 8.6523 3.945 13.906h-8.164c-8.437 0-20.957-1.3086-20.957-11.68 0-5.7617 5.195-8.2617 11.953-8.2617">
</path>
<path style="fill:#231f20"
d="m985.69 69.375h57.422v-14.414l-36.04-39.473h37.31v-13.633h-60.235v14.297l36.715 39.59h-35.172v13.633">
</path>
<path style="fill:#e4154b" d="m1059.6 0h69.102v69.121h-69.102v-69.121z"></path>
</g>
</g>
</svg>
</a>
</div>
</div>
{%- endblock navbar_header %}
{%- block flashmessages %}
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }}
{%- endblock %}
{%- block breadcrumbs %}
{%- include "invenio_theme/breadcrumbs.html" %}
{%- endblock breadcrumbs %}
<!--
{%- block navbar_inner %}
<div id="navbar" class="navbar-collapse collapse">
{%- block navbar_nav %}
<!----------------search bar--------------------------->
{%- if config.THEME_SEARCHBAR %}
{%- block navbar_search %}
<div align="center">
<form class="navbar-form navbar-center" action="/search" role="search">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="q" placeholder="{{_('Search')}}">
<div class="input-group-btn">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
</div>
</div>
<div class="item" id="header-search-bar">
<form class="form" action="{{ config.THEME_SEARCH_ENDPOINT }}" role="search">
<div class="ui action icon input">
<input type="text" name="q" placeholder="{{ _('Search') }}">
<button type="submit" class="ui icon search button">
<i class="icon search"></i>
</button>
</div>
</form>
</div>
{%- endblock navbar_search %}
{%- endif %}
<ul class="nav navbar-nav">
{%- for item in current_menu.submenu('main').children|sort(attribute='order') if item.visible recursive %}
{%- if item.children %}
<li class="dropdown{{ ' active' if item.active else ''}}">
<a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"
href="{{ item.url }}">{{ item.text|safe }} <b class="caret"></b></a>
<ul class="dropdown-menu">{{ loop(item.children|sort(attribute='order')) }}</ul>
</li>
{%- else %}
<li {{
' class="active"'|safe if item.active and loop.depth == 1 else '' }}><a href="{{ item.url }}">{{
item.text|safe }}</a></li>
{%- endif %}
{%- endfor %}
</ul>
{%- endblock navbar_nav %}
</div>
{%- endblock navbar_inner %}
-->
</div>
@@ -300,6 +234,12 @@
}
</script>
{%- block flashmessages %}
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }}
{%- endblock %}
{%- block breadcrumbs %}
{%- include "invenio_theme/breadcrumbs.html" %}
{%- endblock breadcrumbs %}
</header>

View File

@@ -13,33 +13,41 @@
{#- Remove search field from top bar on frontpage #}
{%- block navbar_search %}{% endblock %}
{%- block navbar_inner %}
{%- block navbar %}
{{ super() }}
{%- block frontpage_search %}
<div class="row frontpage-search">
<div class="col-md-12">
<!--
<div id="frontpage-search-bar" class="ui container fluid cover-page">
-->
<div class="ui container two column centered middle aligned grid">
<div class="row middle aligned">
<div class="sixteen wide column frontpage-search">
<!--
{%- block frontpage_title %}
<h1 class="text-center">
<h1 class="ui center aligned header">
{{ _(config.THEME_FRONTPAGE_TITLE) }}
</h1>
{%- endblock frontpage_title %}
-->
{%- block frontpage_form %}
<form action="/search">
<div class="form-group">
<div class="input-group">
<input type="text" name="q" class="input-lg form-control" placeholder="Type and press enter to search">
<div class="input-group-btn">
<button type="submit" class="btn btn-lg btn-default"><i class="fa fa-search"></i></button>
</div>
</div>
<form action="/search" class="ui form">
<div class="ui fluid action input">
<input type="text" name="q" class="form-control" placeholder="Type and press enter to search">
<button type="submit" class="ui icon search button"><i class="search icon"></i></button>
</div>
</form>
<div class="ui divider hidden"></div>
{%- endblock frontpage_form %}
</div>
</div>
</div>
<!--
</div>
-->
{%- endblock frontpage_search %}
{% endblock %}

View File

@@ -0,0 +1,23 @@
{# -*- coding: utf-8 -*-
This file is part of Invenio.
Copyright (C) 2015-2020 CERN.
Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.
#}
{% extends config.SEARCH_UI_HEADER_TEMPLATE %}
{%- block navbar_search %}
<div id="header-search-bar" class="item">
<form class="ui form" action="{{config.THEME_SEARCH_ENDPOINT}}" role="search">
<div class="ui action icon input">
<input type="text" name="q" placeholder="{{_('Search')}}">
<button type="submit" class="ui icon button orange"><i class="icon search"></i></button>
</div>
</form>
</div>
{%- endblock navbar_search %}

View File

@@ -0,0 +1,23 @@
{% extends config.SEARCH_UI_BASE_TEMPLATE %}
{%- block page_header %}
{%- include "invenio_theme_tugraz/search/invenio_search_ui/header.html" %}
{%- endblock page_header %}
{%- block javascript %}
{{ super() }}
{%- block javascript_searchapp_customization %}
{{ webpack['search_ui_app_customizations.js'] }}
{%- endblock javascript_searchapp_customization %}
{{ webpack['search_ui_app.js'] }}
<script type="text/javascript">
window.initSearchApp("search-ui-app", {{ config|format_config("recid")|tojson }});
</script>
{%- endblock javascript %}
{%- block page_body %}
<div id="search-ui-app"></div>
{%- endblock page_body -%}

View File

@@ -0,0 +1,15 @@
{#
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
invenio-theme-tugraz is free software; you can redistribute it and/or
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{%- extends "invenio_theme_tugraz/search/invenio_search_ui/search.html" %}
{% block javascript_searchapp_customization %}
{{ webpack['invenio-app-rdm-search-app-js.js'] }}
{% endblock javascript_searchapp_customization %}

View File

@@ -6,22 +6,21 @@
"""JS/CSS Webpack bundles for theme."""
from flask_webpackext import WebpackBundle
from invenio_assets.webpack import WebpackThemeBundle
def theme():
"""Returns module's webpack bundle.
This is a callable function in order to lazy load `current_app`
and avoid working outside application context.
"""
return WebpackBundle(
theme = WebpackThemeBundle(
__name__,
'assets',
default='semantic-ui',
themes={
'semantic-ui': dict(
entry={
# TODO:
'invenio-theme-tugraz-theme':
'./less/invenio_theme_tugraz/theme.less',
#'invenio-theme-tugraz-js':
#'./js/invenio_theme_tugraz/example.js',
},
dependencies={
'jquery': '3.1.0'
dependencies={}
)
}
)

View File

@@ -80,7 +80,7 @@ setup(
'messages = invenio_theme_tugraz',
],
'invenio_assets.webpack': [
'invenio_theme_tugraz = invenio_theme_tugraz.webpack:theme',
'invenio_theme_tugraz_theme = invenio_theme_tugraz.webpack:theme',
],
'invenio_config.module': [
'invenio_theme_tugraz = invenio_theme_tugraz.config',