Compare commits

...

66 Commits

Author SHA1 Message Date
Mojib Wali
8cee8ad7ac v1.0.5 2020-10-15 11:37:12 +02:00
Mojib Wali
deb7caad87 migrate:upon the changes to the datamodel.
modified the frontpage to render the latest datamodel schema.
2020-10-15 11:34:55 +02:00
Christoph Ladurner
95f566d48d all python files are now formated with black (#106)
* all python files are now formated with black

NOTE:
some configurations where necessary. flake8 line-length has to be set to 88
which is the default for black. but this was not enough some lines of black
where formated longer then 88 characters. found flake8-bugbear with B950.

with that and in combination with ignore=E501 it is possible to ignore long
lines, but if there are lines to long it will still point it out.

further also for isort some configuration was necessary

REFERENCES:
https://github.com/psf/black/blob/master/docs/compatible_configs.md#isort
https://github.com/psf/black/blob/master/docs/compatible_configs.md#flake8
https://github.com/PyCQA/flake8-bugbear#opinionated-warnings

* removed commented import statments

Co-authored-by: Christoph Ladurner <christoph.ladurner@tugraz.at>
2020-10-14 14:10:05 +02:00
Mojib Wali
f9993369f2 global: extension class to uppercase. (#105)
The extension class name is changed to uppercase.
2020-10-12 09:42:12 +02:00
Mojib Wali
c5edf62a9d translations: marked for translation
* Marked the strings & Url hyperlinks for translation.
* compiled and updated the translation files with the help of Babel commands.
* Added some test translations to check if it works.
2020-10-06 14:40:38 +02:00
Mojib Wali
900baa4b5b release: v1.0.4 2020-10-05 14:30:08 +02:00
Mojib Wali
3462a0c69d ci:use github actions to publish to pypi 2020-10-05 14:25:33 +02:00
Mojib
800ef950fa ci:use github actions to publish to pypi
This closes #94.
2020-10-05 14:15:26 +02:00
Mojib Wali
ec4aaf9c37 1.0.3d 2020-10-05 13:01:28 +02:00
Mojib Wali
5f7bcb6939 test:migrate to latest pytest-invenio and docker-services-cli (#97) 2020-10-01 11:44:18 +02:00
Mojib
917ad9a95e adding python 3.8 2020-10-01 10:54:16 +02:00
Mojib Wali
dac28d569e 1.0.3c 2020-10-01 10:32:18 +02:00
Christoph Ladurner
4c3a4f8eb3 layout updates (#83)
* changed menu bottom line from red to grey
* added more space around the more button

Following changes are about the article view on the front page
  - added color grey around the version badge
  - moved version badges to the right side
  - removed view button
  - moved open access badge to right bottom
  - changed open access badge to text only without background-color
  - added bottom border to the last article

The following changes are about the record landing page.
NOTE: the modified record landing page is for now disabled
  - added color grey around the version badge
  - moved DOI to the left side
  - moved open access to the same level as the DOI
  - changed open access badge to text only without background-color
  - unset box-shadow from the .rdm-sidebar
2020-09-30 13:39:25 +02:00
mb-wali
7a60cef6a6 1.0.3b 2020-09-21 13:52:23 +02:00
mb-wali
b54d6882a6 Update .travis.yml
added to compile catalog
2020-09-21 13:51:50 +02:00
mb-wali
07ddc61c0e 1.0.3a
pre-release
2020-09-21 10:52:14 +02:00
mb-wali
6871308b08 I18n (WIP)
# Translation (WIP)
* modified .pot file.
* created .po files for german translation with the help on Babel.
* Translated some text just to test the translation.
2020-09-21 10:44:07 +02:00
mb-wali
bcdbf225cd Accounts (WIP)
# Login template
* added the SSO login for TUGRAZ.
* corresponding styles to login.less.
* added a couple of semantic UI classes in order to adjust the form to the center.
* buttons/hyperlink using the standard tugraz theme with hover background color black.

# signup template
* added the SSO signup for TUGRAZ.
* added two columns, left some texts and right the signup form using semantic-UI classes.
*buttons/hyperlink using the standard tugraz theme with hover background color black.
2020-09-21 10:43:25 +02:00
mb-wali
f65dbf9342 base template for login and signup
# Login & Signup templates
invenio rdm default template for login and signup is using account_base template.
in order to create our own these steps are taken:

* Created base template for ```invenio-theme-tugraz```.
* Created account base template which has only extended ```navbar``` from the header template.
* Assigned the account_base template to the login and signup templates.
* updated ```config.py``` with new variables for base template and account_base template.
2020-09-04 11:58:22 +02:00
Nikita Lvov
9798dd9fa1 Improvements for the sign-up and login pages (#80)
* improvements to the login and sign up pages
* margin fixes
2020-09-01 13:39:51 +02:00
mb-wali
7ca5e97f0d Theme improvement (#78)
# Frontpage
* red divider border to 2px
* Recent uploads ```more``` button to the center of the column.
* Searchbar aligned with the rest of content, inside frontpage container.

# Header
* logos row from bootstrap to semantic UI classes.
* added first version repository logo.
* removed extra margin between menu and content.
* Navbar to a separate file, this way we can include with jinja to other pages such as login&signup.

# Html/Body
* Button element has the same hover as the hyperlinks.
2020-09-01 13:38:57 +02:00
Nikita Lvov
0239d1d8e7 First draft login/signup templates.
* Sign up and sign in templates.

* Update invenio_theme_tugraz/config.py

* Created a base template for accounts ```accounts_base.html```
2020-08-19 11:56:16 +02:00
mb-wali
7dbfaa178d Footer enhancement
* changes upon request see #66.
* footer checklist
background-color to #fbfcff & divider removed, also some small changed in frontpage templet. This closes #66.
2020-08-17 13:10:13 +02:00
mb-wali
942f05688d overriden some styles (#73)
* overriden some styles

square shape to the elements, button more float to the right. also keep the inpit to the search endpoint. This closes #72.

* removed unused css class
2020-08-14 08:16:05 +02:00
mb
a08d267227 version limit removed
This closes #43.
2020-08-12 09:26:52 +02:00
mb-wali
6c535de02e theme custom_changes 2020-08-11 15:26:21 +02:00
mb
e92c02cb49 theme custom changes
zero border radius to button, badges, segments etc. This closes #67.
2020-08-11 15:22:14 +02:00
mb
3dc86691a6 aligned grids
removed unnecessary styles, add space between underline and body.
2020-08-11 14:05:10 +02:00
mb
20d782aca7 forcing font-family
overriden some other css classes s
2020-08-10 11:10:56 +02:00
mb
a8c39262ff forcing font-family
custom theme changes see #67
2020-08-10 10:00:11 +02:00
mb-wali
f4e2fb93b7 footer template
Custom footer design.
2020-08-04 17:25:36 +02:00
mb
7f9ecbe4e4 footer template
first footer design concept is approved. This closes #10.
2020-08-04 17:20:06 +02:00
mb
e41918ec02 modified footer template upon change request. 2020-08-03 10:39:35 +02:00
mb
fd40186f8c updated test files
new releases from pytest required these changes.
2020-07-30 11:10:22 +02:00
mb
5e260acadd using coming-soon from invenio-rdm-records 2020-07-30 10:43:33 +02:00
mb
0887cf59bc updated ext
removed Todo & unnecessary lines.
2020-07-30 10:32:26 +02:00
mb
c500ddd914 footer draft
first draft of footer based on tugraz.at footer see issue #10, added new view /comingsoon for the views to come.
2020-07-28 15:03:00 +02:00
mb-wali
536f567901 Update .travis.yml 2020-07-27 11:50:38 +02:00
mb-wali
bb3fb7949b Update .travis.yml 2020-07-27 11:28:33 +02:00
mb-wali
f9d5e93544 Update README.rst 2020-07-27 10:55:27 +02:00
mb-wali
f441d3a854 modification
added missing css
* autofocus to search input
* changed the name to Repository
2020-07-24 12:02:31 +02:00
mb
96b53493e7 header page modification
changed the name to Repository. This closes #61.
2020-07-24 11:56:29 +02:00
mb
3c582bca5c added missing css
logo svg fill color changed to defaul, also added autofocus to search input. This closes #60
2020-07-23 14:18:01 +02:00
mb-wali
13ad4e0742 Update README.rst
typo fixed
2020-07-21 20:42:13 +02:00
mb-wali
d3b6b5f453 Merge pull request #55 from mb-wali/recent_uploads
Frontpage *recent_uploads
2020-07-21 14:32:16 +02:00
mb
00145cc0ee enhancement
reduced recent_uploads to 5 records, added searchbar to frontpage. This closes #47
2020-07-21 14:28:29 +02:00
mb
46faf1a7a5 adjustment to module
isort fixed this closes #53
2020-07-21 08:29:54 +02:00
mb-wali
11b3fef59f Update README.rst
coverage badge updated
2020-07-20 18:42:31 +02:00
Mojib
827e8224ab The width of underline is smaller now.
added margin left and right, This closes #51.
2020-07-20 10:14:27 +02:00
Mojib
141df29666 version badge
seperated version badge from publication_date
2020-07-20 09:24:08 +02:00
mb
aa21a8ad22 orcid logo
added orcid logo to static
2020-07-18 16:33:36 +02:00
mb
347f3edc03 fixed mapping on creators for authors.html
fixed margin of h2,h4 plus added some css style.
2020-07-17 22:13:36 +02:00
mb
de06337ae2 frontpage data
first draft designing the frontpage with recent uploads and segment for contact us.
2020-07-17 15:12:30 +02:00
mb-wali
503779d5b4 Merge pull request #49 from freelion93/issue_37
fix the browser compatibility; this closes #40
2020-07-15 09:23:36 +02:00
mb-wali
2ba22eba7f Merge pull request #52 from freelion93/issue_50
Fix the font-family import
2020-07-15 09:21:24 +02:00
mb
879fbdb385 limit isort to lower version 2020-07-15 09:17:25 +02:00
mb
64967416b3 dependencies: upgrade isort 2020-07-15 08:56:12 +02:00
Nikita Lvov
d00a5f1e55 fixing the font import for the new invenio rdm release; this closes #50 2020-07-14 22:15:21 +02:00
Nikita Lvov
125088d92c increase the underline menu line border size to 3px 2020-07-14 21:43:37 +02:00
Nikita Lvov
f8668b9f06 fix the browser compatibility; this closes #40 2020-07-13 14:29:01 +02:00
Mojib
47fd19c571 frontpage draft
views.py is rendering index.html which is / endpoint, which is the frontpage. config.py is disabling the default frontpage from invenio-app-rdm.
2020-07-13 13:16:00 +02:00
Mojib
47a4121fc3 arranged config.py variables
clear comments and module names added, also fixed the type this closes #15
2020-07-13 11:27:51 +02:00
mb-wali
32cd8c78fb v1.0.3 2020-07-10 13:53:12 +02:00
mb-wali
f6a8c15a60 v1.0.2a 2020-07-10 13:48:37 +02:00
mb
39688c0a67 hyperlink bug
fixed bug in login.html
2020-07-10 13:47:19 +02:00
mb
61d486edf1 hyperlink bug
fixed bug in login.html
2020-07-10 13:46:08 +02:00
61 changed files with 2307 additions and 862 deletions

View File

@@ -1,15 +0,0 @@
.git
*.gitignore
*.mo
*.pyc
*.swp
*.swo
*.~
.dockerignore
Dockerfile
docker-compose.yml
docker-compose-dev.yml
Procfile*

26
.github/workflows/pypi-publish.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
on:
push:
tags:
- v*
jobs:
build-n-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel
- name: Build package
run: |
python setup.py compile_catalog sdist bdist_wheel
- name: pypi-publish
uses: pypa/gh-action-pypi-publish@v1.3.1
with:
user: __token__
password: ${{ secrets.pypi_password }}

View File

@@ -5,6 +5,10 @@
# invenio-theme-tugraz is free software; you can redistribute it and/or # 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 # modify it under the terms of the MIT License; see LICENSE file for more
# details. # details.
branches:
except:
- /^v\d+\.\d+(\.\d+)?(\S*)?$/
notifications: notifications:
email: false email: false
@@ -24,12 +28,13 @@ cache:
env: env:
- REQUIREMENTS=lowest - REQUIREMENTS=lowest
- REQUIREMENTS=release DEPLOY=true - REQUIREMENTS=release
- REQUIREMENTS=devel - REQUIREMENTS=devel
python: python:
- "3.6" - "3.6"
- "3.7" - "3.7"
- "3.8"
before_install: before_install:
- "nvm install 6; nvm use 6" - "nvm install 6; nvm use 6"
@@ -48,17 +53,3 @@ script:
after_success: after_success:
- coveralls - coveralls
deploy:
skip_cleanup: true
skip_existing: true
provider: pypi
username: __token__
password:
secure: liNULZujbc8nScZRlDiGu5YxnCaiWZ+LJ4IyYJvC5+rZjl5dr/cf1t7STgrN7SckP/7jGO4mJjClroDG3mj/a8y4tA32XSupeRQClDeETuUcOoTvagZnHBPQ8bVOrYUeH0IEpBvGLcBIrt3WEh0ZolP+KOHhrbbkV00hleqlcN78RB1rPEP+zKVOYftzPiaRZJFl338K6Jf4AIoZPaUZNK5HdNBa5cv29VYwJkw+SeOy50duAAaDVQQsXXonIBtzcI9tLqKMbBhiSguHBt+AaKsGeK96n2LwRhBevFtc3iz1bPhJkUxrzsW+6gp1uzHUHgknotM3HPnR1wD+uKU3fc+j7xA4db/tTJpOCBae3Wzmxd13OZx0qLOUaYr5z/Drd+bPRJM9UMmaPtQGTn+kz13ATPvKEGgRzjmWEOrvrnuX9JLVux7zV9sfpfqritxtdfYGzHchw41Kfk8OFLPFTRPO1KE0Nr9CGzV6THSqR6n4AyteZ2VT0sU3w25bQu6obKTvxFq+tdcaHOeZoCCJYJzGwRdkrrWQl+joWJQ8AssOlv3vrmzPWuAWhPjcm2cK9MVTu/LMM1vvUr0vqn58GDylNYyifJFUitZQ7ReWb5GzzgwpcyDYfEK1bOUD00l2kEvrUL1lA64FLCSSjZeBCcnxMq/+odzNfOkXWLk34Ek=
distributions: sdist bdist_wheel
on:
tags: true
python: "3.6"
repo: mb-wali/invenio-theme-tugraz
condition: $DEPLOY = true

View File

@@ -6,23 +6,6 @@
# modify it under the terms of the MIT License; see LICENSE file for more # modify it under the terms of the MIT License; see LICENSE file for more
# details. # details.
# TODO: Transifex integration
#
# 1) Create message catalog:
# $ python setup.py extract_messages
# $ python setup.py init_catalog -l <lang>
# $ python setup.py compile_catalog
# 2) Ensure project has been created on Transifex under the inveniosoftware
# organisation.
# 3) Install the transifex-client
# $ pip install transifex-client
# 4) Push source (.pot) and translations (.po) to Transifex
# $ tx push -s -t
# 5) Pull translations for a single language from Transifex
# $ tx pull -l <lang>
# 6) Pull translations for all languages from Transifex
# $ tx pull -a
[main] [main]
host = https://www.transifex.com host = https://www.transifex.com

View File

@@ -6,14 +6,6 @@
# modify it under the terms of the MIT License; see LICENSE file for more # modify it under the terms of the MIT License; see LICENSE file for more
# details. # details.
# TODO: Generate this manifest file by running the following commands:
# (please sort the lines in this file after running below commands)
#
# git init
# git add -A
# pip install -e .[all]
# check-manifest -u
include .dockerignore include .dockerignore
include .editorconfig include .editorconfig
include .tx/config include .tx/config
@@ -42,3 +34,5 @@ recursive-include invenio_theme_tugraz *.svg
recursive-include invenio_theme_tugraz *.less recursive-include invenio_theme_tugraz *.less
recursive-include invenio_theme_tugraz *.ico recursive-include invenio_theme_tugraz *.ico
recursive-include tests *.py recursive-include tests *.py
recursive-include invenio_theme_tugraz *.jpg
recursive-include invenio_theme_tugraz *.gitkeep

View File

@@ -9,7 +9,7 @@
invenio-theme-tugraz invenio-theme-tugraz
====================== ======================
.. image:: https://img.shields.io/travis/inveniosoftware/invenio-app-rdm.svg .. image:: https://travis-ci.com/mb-wali/invenio-theme-tugraz.svg
:target: https://travis-ci.com/github/mb-wali/invenio-theme-tugraz :target: https://travis-ci.com/github/mb-wali/invenio-theme-tugraz
.. image:: https://img.shields.io/pypi/dm/invenio-theme-tugraz.svg .. image:: https://img.shields.io/pypi/dm/invenio-theme-tugraz.svg
@@ -23,8 +23,10 @@
.. image:: https://readthedocs.org/projects/invenio-theme-tugraz/badge/?version=latest .. image:: https://readthedocs.org/projects/invenio-theme-tugraz/badge/?version=latest
:target: https://invenio-theme-tugraz.readthedocs.io/en/latest/?badge=latest :target: https://invenio-theme-tugraz.readthedocs.io/en/latest/?badge=latest
.. image:: https://coveralls.io/repos/github/mb-wali/invenio-theme-tugraz/badge.svg?branch=master
:target: https://coveralls.io/github/mb-wali/invenio-theme-tugraz?branch=master .. image:: https://img.shields.io/coveralls/mb-wali/invenio-theme-tugraz.svg
:target: https://coveralls.io/r/mb-wali/invenio-theme-tugraz
TU Graz standard theme. TU Graz standard theme.
@@ -32,9 +34,9 @@ Features:
* TU Graz custom header template. * TU Graz custom header template.
* TU Graz custom footer template. * TU Graz custom footer template.
* TU Graz custom login template. * TU Graz custom login/signup templates.
* TU Graz custom sign up template. * TU Graz custom frontpage template.
* TU Grau custom frontpage template. * TU Graz custom contact template.
* TU Graz overriden theme. * TU Graz overriden theme.
Further documentation is available on Further documentation is available on

View File

@@ -10,45 +10,43 @@
import os import os
import sphinx.environment
# -- General configuration ------------------------------------------------ # -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here. # If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0' # needs_sphinx = '1.0'
# Do not warn on external images. # Do not warn on external images.
suppress_warnings = ['image.nonlocal_uri'] suppress_warnings = ["image.nonlocal_uri"]
# Add any Sphinx extension module names here, as strings. They can be # Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones. # ones.
extensions = [ extensions = [
'sphinx.ext.autodoc', "sphinx.ext.autodoc",
'sphinx.ext.coverage', "sphinx.ext.coverage",
'sphinx.ext.doctest', "sphinx.ext.doctest",
'sphinx.ext.intersphinx', "sphinx.ext.intersphinx",
'sphinx.ext.viewcode', "sphinx.ext.viewcode",
] ]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates'] templates_path = ["_templates"]
# The suffix(es) of source filenames. # The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string: # You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md'] # source_suffix = ['.rst', '.md']
source_suffix = '.rst' source_suffix = ".rst"
# The encoding of source files. # The encoding of source files.
#source_encoding = 'utf-8-sig' # source_encoding = 'utf-8-sig'
# The master toctree document. # The master toctree document.
master_doc = 'index' master_doc = "index"
# General information about the project. # General information about the project.
project = u'invenio-theme-tugraz' project = u"invenio-theme-tugraz"
copyright = u'2020, mojib wali' copyright = u"2020, mojib wali"
author = u'mojib wali' author = u"mojib wali"
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
@@ -58,11 +56,12 @@ author = u'mojib wali'
# Get the version string. Cannot be done with import! # Get the version string. Cannot be done with import!
g = {} g = {}
with open(os.path.join(os.path.dirname(__file__), '..', with open(
'invenio_theme_tugraz', 'version.py'), os.path.join(os.path.dirname(__file__), "..", "invenio_theme_tugraz", "version.py"),
'rt') as fp: "rt",
) as fp:
exec(fp.read(), g) exec(fp.read(), g)
version = g['__version__'] version = g["__version__"]
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = version release = version
@@ -76,9 +75,9 @@ language = None
# There are two options for replacing |today|: either, you set today to some # There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used: # non-false value, then it is used:
#today = '' # today = ''
# Else, today_fmt is used as the format for a strftime call. # Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y' # today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and # List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files. # directories to ignore when looking for source files.
@@ -86,46 +85,46 @@ exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all # The reST default role (used for this markup: `text`) to use for all
# documents. # documents.
#default_role = None # default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text. # If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True # add_function_parentheses = True
# If true, the current module name will be prepended to all description # If true, the current module name will be prepended to all description
# unit titles (such as .. function::). # unit titles (such as .. function::).
#add_module_names = True # add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the # If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default. # output. They are ignored by default.
#show_authors = False # show_authors = False
# The name of the Pygments (syntax highlighting) style to use. # The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx' pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting. # A list of ignored prefixes for module index sorting.
#modindex_common_prefix = [] # modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents. # If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False # keep_warnings = False
# If true, `todo` and `todoList` produce output, else they produce nothing. # If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False todo_include_todos = False
# -- Options for HTML output ---------------------------------------------- # -- Options for HTML output ----------------------------------------------
html_theme = 'alabaster' html_theme = "alabaster"
html_theme_options = { html_theme_options = {
'description': 'invenio module for TUGRAZ theme.', "description": "invenio module for TUGRAZ theme.",
'github_user': 'inveniosoftware', "github_user": "inveniosoftware",
'github_repo': 'invenio-theme-tugraz', "github_repo": "invenio-theme-tugraz",
'github_button': False, "github_button": False,
'github_banner': True, "github_banner": True,
'show_powered_by': False, "show_powered_by": False,
'extra_nav_links': { "extra_nav_links": {
'invenio-theme-tugraz@GitHub': 'https://github.com/mb-wali/invenio-theme-tugraz', "invenio-theme-tugraz@GitHub": "https://github.com/mb-wali/invenio-theme-tugraz",
'invenio-theme-tugraz@PyPI': 'https://pypi.python.org/pypi/invenio-theme-tugraz/', "invenio-theme-tugraz@PyPI": "https://pypi.python.org/pypi/invenio-theme-tugraz/",
} },
} }
# The theme to use for HTML and HTML Help pages. See the documentation for # The theme to use for HTML and HTML Help pages. See the documentation for
@@ -134,146 +133,148 @@ html_theme_options = {
# Theme options are theme-specific and customize the look and feel of a theme # Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the # further. For a list of options available for each theme, see the
# documentation. # documentation.
#html_theme_options = {} # html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory. # Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = [] # html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to # The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation". # "<project> v<release> documentation".
#html_title = None # html_title = None
# A shorter title for the navigation bar. Default is the same as html_title. # A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None # html_short_title = None
# The name of an image file (relative to this directory) to place at the top # The name of an image file (relative to this directory) to place at the top
# of the sidebar. # of the sidebar.
#html_logo = None # html_logo = None
# The name of an image file (within the static path) to use as favicon of the # The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large. # pixels large.
#html_favicon = None # html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here, # Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files, # relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static'] # html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or # Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied # .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation. # directly to the root of the documentation.
#html_extra_path = [] # html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format. # using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y' # html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to # If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities. # typographically correct entities.
#html_use_smartypants = True # html_use_smartypants = True
# Custom sidebar templates, maps document names to template names. # Custom sidebar templates, maps document names to template names.
html_sidebars = { html_sidebars = {
'**': [ "**": [
'about.html', "about.html",
'navigation.html', "navigation.html",
'relations.html', "relations.html",
'searchbox.html', "searchbox.html",
'donate.html', "donate.html",
] ]
} }
# Additional templates that should be rendered to pages, maps page names to # Additional templates that should be rendered to pages, maps page names to
# template names. # template names.
#html_additional_pages = {} # html_additional_pages = {}
# If false, no module index is generated. # If false, no module index is generated.
#html_domain_indices = True # html_domain_indices = True
# If false, no index is generated. # If false, no index is generated.
#html_use_index = True # html_use_index = True
# If true, the index is split into individual pages for each letter. # If true, the index is split into individual pages for each letter.
#html_split_index = False # html_split_index = False
# If true, links to the reST sources are added to the pages. # If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True # html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True # html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True # html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will # If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the # contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served. # base URL from which the finished HTML is served.
#html_use_opensearch = '' # html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml"). # This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None # html_file_suffix = None
# Language to be used for generating the HTML full-text search index. # Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages: # Sphinx supports the following languages:
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
#html_search_language = 'en' # html_search_language = 'en'
# A dictionary with options for the search language support, empty by default. # A dictionary with options for the search language support, empty by default.
# Now only 'ja' uses this config value # Now only 'ja' uses this config value
#html_search_options = {'type': 'default'} # html_search_options = {'type': 'default'}
# The name of a javascript file (relative to the configuration directory) that # The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used. # implements a search results scorer. If empty, the default will be used.
#html_search_scorer = 'scorer.js' # html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder. # Output file base name for HTML help builder.
htmlhelp_basename = 'invenio-theme-tugraz_namedoc' htmlhelp_basename = "invenio-theme-tugraz_namedoc"
# -- Options for LaTeX output --------------------------------------------- # -- Options for LaTeX output ---------------------------------------------
latex_elements = { latex_elements = {
# The paper size ('letterpaper' or 'a4paper'). # The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper', # 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
# The font size ('10pt', '11pt' or '12pt'). # 'pointsize': '10pt',
#'pointsize': '10pt', # Additional stuff for the LaTeX preamble.
# 'preamble': '',
# Additional stuff for the LaTeX preamble. # Latex figure (float) alignment
#'preamble': '', # 'figure_align': 'htbp',
# Latex figure (float) alignment
#'figure_align': 'htbp',
} }
# Grouping the document tree into LaTeX files. List of tuples # Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, # (source start file, target name, title,
# author, documentclass [howto, manual, or own class]). # author, documentclass [howto, manual, or own class]).
latex_documents = [ latex_documents = [
(master_doc, 'invenio-theme-tugraz.tex', u'invenio-theme-tugraz Documentation', (
u'mojib wali', 'manual'), master_doc,
"invenio-theme-tugraz.tex",
u"invenio-theme-tugraz Documentation",
u"mojib wali",
"manual",
),
] ]
# The name of an image file (relative to this directory) to place at the top of # The name of an image file (relative to this directory) to place at the top of
# the title page. # the title page.
#latex_logo = None # latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts, # For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters. # not chapters.
#latex_use_parts = False # latex_use_parts = False
# If true, show page references after internal links. # If true, show page references after internal links.
#latex_show_pagerefs = False # latex_show_pagerefs = False
# If true, show URL addresses after external links. # If true, show URL addresses after external links.
#latex_show_urls = False # latex_show_urls = False
# Documents to append as an appendix to all manuals. # Documents to append as an appendix to all manuals.
#latex_appendices = [] # latex_appendices = []
# If false, no module index is generated. # If false, no module index is generated.
#latex_domain_indices = True # latex_domain_indices = True
# -- Options for manual page output --------------------------------------- # -- Options for manual page output ---------------------------------------
@@ -281,12 +282,17 @@ latex_documents = [
# One entry per manual page. List of tuples # One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section). # (source start file, name, description, authors, manual section).
man_pages = [ man_pages = [
(master_doc, 'invenio-theme-tugraz', u'invenio-theme-tugraz Documentation', (
[author], 1) master_doc,
"invenio-theme-tugraz",
u"invenio-theme-tugraz Documentation",
[author],
1,
)
] ]
# If true, show URL addresses after external links. # If true, show URL addresses after external links.
#man_show_urls = False # man_show_urls = False
# -- Options for Texinfo output ------------------------------------------- # -- Options for Texinfo output -------------------------------------------
@@ -295,30 +301,36 @@ man_pages = [
# (source start file, target name, title, author, # (source start file, target name, title, author,
# dir menu entry, description, category) # dir menu entry, description, category)
texinfo_documents = [ texinfo_documents = [
(master_doc, 'invenio-theme-tugraz', u'invenio-theme-tugraz Documentation', (
author, 'invenio-theme-tugraz', 'invenio module for TUGRAZ theme.', master_doc,
'Miscellaneous'), "invenio-theme-tugraz",
u"invenio-theme-tugraz Documentation",
author,
"invenio-theme-tugraz",
"invenio module for TUGRAZ theme.",
"Miscellaneous",
),
] ]
# Documents to append as an appendix to all manuals. # Documents to append as an appendix to all manuals.
#texinfo_appendices = [] # texinfo_appendices = []
# If false, no module index is generated. # If false, no module index is generated.
#texinfo_domain_indices = True # texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'. # How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote' # texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu. # If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False # texinfo_no_detailmenu = False
# Example configuration for intersphinx: refer to the Python standard library. # Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = { intersphinx_mapping = {
'python': ('https://docs.python.org/', None), "python": ("https://docs.python.org/", None),
# TODO: Configure external documentation references, eg: # TODO: Configure external documentation references, eg:
# 'Flask-Admin': ('https://flask-admin.readthedocs.io/en/latest/', None), # 'Flask-Admin': ('https://flask-admin.readthedocs.io/en/latest/', None),
} }
# Autodoc configuraton. # Autodoc configuraton.
autoclass_content = 'both' autoclass_content = "both"

View File

@@ -8,7 +8,7 @@
"""invenio module for TUGRAZ theme.""" """invenio module for TUGRAZ theme."""
from .ext import inveniothemetugraz from .ext import InvenioThemeTugraz
from .version import __version__ from .version import __version__
__all__ = ('__version__', 'inveniothemetugraz') __all__ = ("__version__", "InvenioThemeTugraz")

View File

@@ -0,0 +1,153 @@
/*
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 Nikita Lvov.
*
* 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.
*/
.cover-page {
//text-align: center;
background-color: #ffffff;
}
#login-tug-logo {
& g {
fill: #e4154b;
}
}
#login-tug-logo:hover {
& g {
fill: #231f20;
}
}
.accounts-link {
margin: 5%;
color: #fff;
border: 1px solid #fff;
background-color: transparent;
}
.accounts-link :hover {
font-size: smaller !important;
color: white;
background-color: #000000 !important;
}
.tu-button-style button {
cursor: pointer;
border: 1px solid #fff;
background-color: transparent;
height: 29px;
color: #fff;
font-family: "Source Sans Pro";
font-weight: 300;
font-size: 16px;
}
.tu-button-style button:hover {
cursor: pointer;
color: white;
background-color: #000000 !important;
}
.form-accounts {
margin: 15%;
text-align: left !important;
& i {
color: #fff !important;
}
& label {
display: flex !important;
font-weight: 300 !important;
color: white !important;
}
& input {
border: 0px none !important;
padding: 0px !important;
border-bottom: 1px solid white !important;
background-color: transparent !important;
color: white !important;
border-radius: 0 !important;
width: 100% !important;
}
& input::placeholder {
opacity: 1 !important;
color: silver !important;
}
& th {
display: block;
}
& td {
display: inline-block;
}
}
.field > input::selection {
background: #50a2ce;
}
.accounts-header {
font-weight: 300 !important;
}
/***
login and sign-up pages form background color
*/
.sign-form {
background-color: #245b78 !important;
padding: 0 !important;
height: 100%;
}
.tug-button-login {
display: flex;
align-items: center;
fill: #e4154b;
}
.tug-button-login :hover {
fill: #000000;
}
.login-page-button {
margin: 5%;
text-align: center !important;
& a {
padding: 5px;
text-decoration: underline !important;
cursor: pointer;
}
& a:hover {
background-color: #000;
color: #fff !important;
text-decoration: none;
}
}
.login-page-button-white {
color: #fff !important;
font-family: "Source Sans Pro";
font-size: initial;
}
.login-page-button-black {
color: #000 !important;
font-family: "Source Sans Pro";
font-size: initial;
}
/***
allowing to switch columns on the sign-up page on the small screen
*/
.switch-grid {
display: flex;
}
@media (max-width: 767px) {
#switch_left {
order: 2;
}
#switch_right {
order: 1;
}
}

View File

@@ -7,23 +7,45 @@
*/ */
#footer { #footer {
color: #fff; color: #5E5E5E;
/*background-image: url("/static/images/footer.jpg");*/
-webkit-background-size: 100% 100%;
-moz-background-size: 100% 100%;
-o-background-size: 100% 100%;
background-size: 100% 100%;
min-height: 100%;
/* the following 2 lines are a hack for IE6 */
height: auto !important;
height: 100%;
width: 100%;
background-attachment: fixed;
&.footer-bottom { &.footer-bottom {
background-color: #E4154B; background-color: #f2f2f2;
padding-top: 15px; padding-top: 15px;
padding-bottom: 15px; padding-bottom: 15px;
font-weight: 300; font-size: 16px;
font-size: 14px;
a { a {
text-decoration: none; text-decoration: none;
color: #ffffffd6; color: #5E5E5E;
font-weight: 600;
&:hover, &:focus { &:hover, &:focus {
color: #ffffff; color: #ffffff;
background-color: #000000;
} }
} }
} }
} }
.bodytext{
font-size: 16px;
}
.spacer{
margin-top: 10px;
}
.spacer-long{
margin-top: 20px;
}

View File

@@ -0,0 +1,46 @@
/*
* 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.
*/
h4 {
display: block;
margin-block-start: 0.33em;
margin-block-end: 0.33em;
margin-inline-start: 0px;
margin-inline-end: 0px;
}
h2 {
margin-block-start: 0.83em;
margin-block-end: 0.83em;
margin-inline-start: 0px;
margin-inline-end: 0px;
}
.record-version {
color: #777777;
background-color: #f2f2f2 !important;
}
.random-records-frontpage article {
border-bottom: 1px solid rgba(34,36,38,.15);
margin-bottom: 1rem;
padding-bottom: 1rem;
}
.random-records-frontpage .more {
margin-top: 20px !important;
margin-bottom: 35px !important;
}
.random-records-frontpage h2 {
text-align: center;
}
.badges {
float: right;
}

View File

@@ -10,19 +10,11 @@
width: 18px; width: 18px;
height: 18px; height: 18px;
vertical-align: top; vertical-align: top;
fill: red; fill: #e4154b;
} }
/*****logo section******/ /*****logo section******/
.affiliation-spacer {
display: table-cell;
vertical-align: middle;
width: 100%;
}
.affiliation-logo { .affiliation-logo {
display: table-cell;
padding: 0 50px 0 0;
vertical-align: middle; vertical-align: middle;
white-space: nowrap; white-space: nowrap;
& a { & a {
@@ -48,7 +40,6 @@
.affiliation-text { .affiliation-text {
display: table-cell; display: table-cell;
font-size: 17px; font-size: 17px;
padding: 0 0 0 50px;
vertical-align: middle; vertical-align: middle;
white-space: nowrap; white-space: nowrap;
} }
@@ -87,18 +78,11 @@ a {
display: table-cell; display: table-cell;
width: 50%; width: 50%;
color: #000000; color: #000000;
& div {
stroke: #000;
stroke-linecap: round;
stroke-width: 2;
fill: none;
}
} }
.short-menu-right :hover { .short-menu-right :hover {
background-color: #000000; background-color: #000000;
color: #ffffff; color: #ffffff;
stroke: #fff;
} }
.short-menu-right-button { .short-menu-right-button {
@@ -205,14 +189,13 @@ svg:not(:root) {
padding-left: 0 !important; padding-left: 0 !important;
} }
.main-menu-underline { .main-menu-underline-line {
text-align: -webkit-center; border: 2px solid #e0e1e2 !important;
border-radius: 0;
} }
.main-menu-underline-line { #margin-divider{
background-color: #e4154b; margin-left: 155px; margin-right: 155px;
height: 5px;
width: 50%;
} }
.affiliation-text a:hover { .affiliation-text a:hover {
@@ -230,43 +213,6 @@ svg:not(:root) {
transition: height 0.3s linear 0s; transition: height 0.3s linear 0s;
} }
@media (max-width: 767.9px) {
.main-menu {
height: auto;
}
}
@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;
}
}
.int-menu-q-open-icon { .int-menu-q-open-icon {
width: 14px; width: 14px;
vertical-align: middle; vertical-align: middle;
@@ -278,4 +224,27 @@ svg:not(:root) {
.col a { .col a {
cursor: pointer; cursor: pointer;
} }
@media screen and (max-width: 767.9px) {
#int-header-logo-img {
width: 200px;
height: 75px;
}
#main-logo {
padding: 30px 0;
text-align: center;
display: block;
}
#repo-logo{
display: none;
}
.affiliation-logo-claim {
display: none;
}
}
.repo-img{
margin-right: 5px;
}
.inline-elements{
display: flex;
}

View File

@@ -0,0 +1,31 @@
.ui.inverted.header{
color:#000;
}
.login-page-button {
margin: 5%;
text-align: center !important;
& a {
padding: 5px;
cursor: pointer;
}
& a:hover {
background-color: #000;
color: #fff !important;
text-decoration: none;
}
}
.text-color{
color: #000;
}
@media (max-width: 767px) {
#switch_left {
order: 2;
}
#switch_right {
order: 1;
}
}

View File

@@ -0,0 +1,18 @@
/*
* 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.
*/
/*
* authors.html
*/
.inline-orcid {
height: 14px;
}
.text-muted {
color: #777;
}

View File

@@ -6,46 +6,120 @@
* under the terms of the MIT License; see LICENSE file for more details. * under the terms of the MIT License; see LICENSE file for more details.
*/ */
/* /***
* Logos background frontpage. * Logos background frontpage.
* from rgba(173, 206, 224, 0.52) * from rgba(173, 206, 224, 0.52)
* to #ffffff * to #ffffff
*/ ***/
.section-content-light-bg { .section-content-light-bg {
background-color: #ffffff; background-color: #ffffff;
} }
/* /***
* section title. * section title.
* from #0377cd * from #0377cd
* to #000000 * to #000000
*/ ***/
.section-title { .section-title {
color: #000000; color: #000000;
} }
/*** /***
login background color * login background color
from : rgba(13,95,137,.8) * from : rgba(13,95,137,.8)
To #ffffff * To #ffffff
*/ ***/
.cover-page { .cover-page {
//text-align: center; //text-align: center;
background-color: #ffffff; background-color: #ffffff;
} }
/*** /***
login & sigup page title * login & sigup page title
from : #0377cd * from : #0377cd
To #000000 * To #000000
*/ ***/
.panel-free-title { .panel-free-title {
color: #000000; color: #000000;
} }
/*** /***
forcing the font changes * force: the font changes
*/ ***/
body { *,
html, body,
h1, h2, h3, h4, h5, h6,
pre,
.ui.button,
.ui.items,
.ui.accordion .title:not(.ui),
.ui.items > .item > .content > .header,
.ui.modal > .header,
.ui.menu,
.ui.header,
.ui.form input[type],
.ui.form input[type]:focus {
font-family: "Source Sans Pro"; font-family: "Source Sans Pro";
} }
pre {
font-size: 14px;
}
/***
* search.button
***/
/*.ui.button,*/
.ui.search.button {
background-color:#e4154b;
}
.ui.button:hover,
.ui.search.button:hover {
background-color:#000000;
}
.ui.button:hover {
color:#fff;
}
/***
* force: remove corners from border
***/
.label-keyword,
.ui.label,
.ui.button,
.ui.rdm-sidebar,
.ui.menu,
.ui.input > input, /* it seams redundant but it is not */
.ui.segment,
.ui.selection.dropdown,
.ui.card,
.ui.cards > .card,
.ui.basic.button, .ui.basic.buttons .button,
.ui.action.input:not([class*="left action"]) > .button:last-child,
.ui.action.input:not([class*="left action"]) > .buttons:last-child > .button,
.ui.action.input:not([class*="left action"]) > .dropdown:last-child,
.ui.form input[type],
.ui.form input[type]:focus {
border-radius: 0;
}
/***
* force: rdm-side-bar same empty box as on the frontpage
***/
.ui.rdm-sidebar {
background-color: unset;
box-shadow: unset;
}
/***
* force: font weight: normal
***/
.ui.label {
font-weight: 400;
}

View File

@@ -0,0 +1,11 @@
/*
* Copyright (C) 2020 Graz University of Technology
*
* 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.
*/
.access-right {
color: #e9711c;
float: right;
}

View File

@@ -6,10 +6,16 @@
* under the terms of the MIT License; see LICENSE file for more details. * under the terms of the MIT License; see LICENSE file for more details.
*/ */
@import "variables";
@import "header"; @import "header";
@import "footer"; @import "footer";
@import "overrides"; @import "overrides";
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro&display=swap"); @import "frontpage";
@import "record";
@import "macros";
@import "login";
@import (css)
url("https://fonts.googleapis.com/css?family=Source+Sans+Pro&display=swap");
/*** /***
**TODO: **TODO:

View File

@@ -10,57 +10,87 @@
from flask_babelex import gettext as _ from flask_babelex import gettext as _
INVENIO_THEME_TUGRAZ_DEFAULT_VALUE = 'foobar' INVENIO_THEME_TUGRAZ_DEFAULT_VALUE = _("TU Graz Repository")
"""Default value for the application.""" """Default value for the application."""
INVENIO_THEME_TUGRAZ_BASE_TEMPLATE = 'invenio_theme_tugraz/base.html' INVENIO_THEME_TUGRAZ_BASE_TEMPLATE = "invenio_theme_tugraz/base.html"
"""Default base template for the demo page.""" """TU Graz Default base template"""
THEME_LOGO = 'images/tug_logo.png' INVENIO_THEME_TUGRAZ_ACCOUNT_BASE = "invenio_theme_tugraz/accounts/accounts_base.html"
"""TU Graz logo""" """TU Graz Default account base template"""
THEME_HEADER_TEMPLATE = 'invenio_theme_tugraz/header.html' INVENIO_THEME_TUGRAZ_ICON = "images/icon_use.png"
"""TU Graz header template"""
THEME_FRONTPAGE_TEMPLATE = 'invenio_theme_tugraz/frontpage.html'
"""Frontpage template"""
SECURITY_LOGIN_USER_TEMPLATE = 'invenio_theme_tugraz/accounts/login.html'
"""Login template"""
THEME_HEADER_LOGIN_TEMPLATE = 'invenio_theme_tugraz/accounts/header_login.html'
"""login page header"""
THEME_FOOTER_TEMPLATE = 'invenio_theme_tugraz/footer.html'
"""footer template"""
INVENIO_THEME_TUGRAZ_ICON = 'images/icon_use.png'
"""icon used in login page""" """icon used in login page"""
THEME_FRONTPAGE_TITLE = _('Frontpage Title') INVENIO_THEME_TUGRAZ_LOGIN_IMG = "images/login_logo.png"
"""TU Logo for forms"""
# Invenio-theme
# ============
# See https://invenio-theme.readthedocs.io/en/latest/configuration.html
#
THEME_LOGO = "images/tug_logo.png"
"""TU Graz logo"""
THEME_SEARCHBAR = False
"""Enable or disable the header search bar."""
THEME_HEADER_TEMPLATE = "invenio_theme_tugraz/header.html"
"""TU Graz header template"""
THEME_FRONTPAGE = False
"""Use default frontpage."""
THEME_HEADER_LOGIN_TEMPLATE = "invenio_theme_tugraz/accounts/header_login.html"
"""login page header"""
THEME_FOOTER_TEMPLATE = "invenio_theme_tugraz/footer.html"
"""footer template"""
THEME_FRONTPAGE_TITLE = _("TU Graz Repository")
"""Frontpage title.""" """Frontpage title."""
THEME_SITENAME = _('Application Name') THEME_SITENAME = _("Repository")
"""Site name.""" """Site name."""
SECURITY_REGISTER_USER_TEMPLATE = \ # Invenio-accounts
'invenio_theme_tugraz/accounts/register_user.html' # ============
# See https://invenio-accounts.readthedocs.io/en/latest/configuration.html
# COVER_TEMPLATE = 'invenio_theme_tugraz/accounts/accounts_base.html'
"""Cover page template for login and sign up pages."""
SECURITY_LOGIN_USER_TEMPLATE = "invenio_theme_tugraz/accounts/login_user.html"
"""Login template"""
SECURITY_REGISTER_USER_TEMPLATE = "invenio_theme_tugraz/accounts/register_user.html"
"""Sigup template"""
# Invenio-I18N # Invenio-I18N
# ============ # ============
# See https://invenio-i18n.readthedocs.io/en/latest/configuration.html # See https://invenio-i18n.readthedocs.io/en/latest/configuration.html
BABEL_DEFAULT_LOCALE = 'en' BABEL_DEFAULT_LOCALE = "en"
# Default time zone # Default time zone
BABEL_DEFAULT_TIMEZONE = 'Europe/Vienna' BABEL_DEFAULT_TIMEZONE = "Europe/Vienna"
# Other supported languages (do not include BABEL_DEFAULT_LOCALE in list). # Other supported languages (do not include BABEL_DEFAULT_LOCALE in list).
I18N_LANGUAGES = [ I18N_LANGUAGES = [("de", _("German"))]
('de', _('German'))
]
# Invenio-APP-RDM # Invenio-app-rdm
# ============= # =============
SEARCH_UI_HEADER_TEMPLATE = 'invenio_theme_tugraz/header.html' # See https://invenio-app-rdm.readthedocs.io/en/latest/configuration.html
SEARCH_UI_HEADER_TEMPLATE = "invenio_theme_tugraz/header.html"
"""Search page's header template.""" """Search page's header template."""
DEPOSITS_HEADER_TEMPLATE = 'invenio_theme_tugraz/header.html' DEPOSITS_HEADER_TEMPLATE = "invenio_theme_tugraz/header.html"
"""Deposits header page's template.""" """Deposits header page's template."""
# Invenio-rdm-records
# =============
# See https://invenio-rdm-records.readthedocs.io/en/latest/configuration.html
# Uncomment below to override records landingpage.
# from invenio_rdm_records.config import RECORDS_UI_ENDPOINTS
# RECORDS_UI_ENDPOINTS["recid"].update(
# template="invenio_theme_tugraz/record_landing_page.html"
# )
"""override the default record landing page"""

View File

@@ -8,36 +8,24 @@
"""invenio module for TUGRAZ theme.""" """invenio module for TUGRAZ theme."""
from flask_babelex import gettext as _
from . import config from . import config
class inveniothemetugraz(object): class InvenioThemeTugraz(object):
"""invenio-theme-tugraz extension.""" """invenio-theme-tugraz extension."""
def __init__(self, app=None): def __init__(self, app=None):
"""Extension initialization.""" """Extension initialization."""
# TODO: This is an example of translation string with comment. Please
# remove it.
# NOTE: This is a note to a translator.
_('A translation string')
if app: if app:
self.init_app(app) self.init_app(app)
def init_app(self, app): def init_app(self, app):
"""Flask application initialization.""" """Flask application initialization."""
self.init_config(app) self.init_config(app)
app.extensions['invenio-theme-tugraz'] = self app.extensions["invenio-theme-tugraz"] = self
def init_config(self, app): def init_config(self, app):
"""Initialize configuration.""" """Initialize configuration."""
# Use theme's base template if theme is installed
if 'BASE_TEMPLATE' in app.config:
app.config.setdefault(
'INVENIO_THEME_TUGRAZ_BASE_TEMPLATE',
app.config['BASE_TEMPLATE'],
)
for k in dir(config): for k in dir(config):
if k.startswith('INVENIO_THEME_TUGRAZ_'): if k.startswith("INVENIO_THEME_TUGRAZ_"):
app.config.setdefault(k, getattr(config, k)) app.config.setdefault(k, getattr(config, k))

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020 TU Graz.
# 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.
"""Frontpage records."""
from __future__ import absolute_import, print_function
from elasticsearch_dsl.query import Q
from invenio_search.api import RecordsSearch
class FrontpageRecordsSearch(RecordsSearch):
"""Search class for records that goes on the frontpage."""
class Meta:
"""Default index and filter for frontpage search."""
index = "rdmrecords"
default_filter = Q("query_string", query=("access.access_right:open"))

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1"
id="Ebene_1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px"
y="0px"
width="70px"
height="50px"
viewBox="190 340 200.28 241.89"
enable-background="new 0 0 595.28 841.89"
xml:space="preserve">
<line fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" x1="241.96" y1="442.299" x2="241.96" y2="595"/>
<polyline fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" points="373.803,349.25 241.933,442.299 146.321,442.299 "/>
<polyline fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" points="420.543,444.71 330.344,508.354 251.826,508.354 "/>
<line fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" x1="330.344" y1="508.354" x2="330.344" y2="544.901"/>
<polyline fill="none" stroke="#000000" stroke-width="3" stroke-linejoin="round" stroke-miterlimit="10" points="373.703,466.061 373.703,403.966 281.505,469.021 281.505,508.354 "/>
<polyline fill="#e4154b" stroke="#000000" stroke-width="3" points="241.96,442.299 241.96,595 146.321,442.299 241.96,442.299"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -0,0 +1,89 @@
{#
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.
#}
<!DOCTYPE html>
<html{% if html_css_classes %} class="{{ html_css_classes|join(' ') }}"{% endif %} lang="{{ current_i18n.locale.language|safe }}" dir="{{ current_i18n.locale.text_direction }}">
<head>
{%- block head %}
{%- block head_meta %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{%- if description %}<meta name="description" content="{{ description }}" />{% endif %}
{%- if keywords %}<meta name="keywords" content="{{ keywords }}" />{% endif %}
{%- if config.get('THEME_GOOGLE_SITE_VERIFICATION', None) %}
{%- for google_id in config.THEME_GOOGLE_SITE_VERIFICATION %}
<meta name="google-site-verification" content="{{google_id}}"/>
{%- endfor %}
{%- endif %}
{%- endblock head_meta %}
{%- block head_title %}
{%- set title = title or _(config.THEME_SITENAME) or _('Invenio') %}
<title>{{title}}</title>
{%- endblock head_title %}
{%- block head_links %}
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}"/>
{%- if keywords %}<link rel="canonical" href="{{ canonical_url }}"/>{% endif %}
{%- block head_links_langs %}
{%- if alternate_urls %}
{%- for alt_ln, alternate_url in alternate_urls.items() %}
<link rel="alternate" hreflang="{{ alt_ln }}" href="{{ alternate_url }}"/>
{%- endfor %}
{%- endif %}
{%- endblock %}
{%- block head_apple_icons %}
{%- for size in [144, 114, 72, 57] %}
{%- set icon_name = 'apple-touch-icon-%d-precomposed.png' | format(size) %}
<link rel="apple-touch-icon-precomposed" sizes="{{ size }}x{{ size }}" href="{{ url_for('static', filename=icon_name) }}"/>
{%- endfor %}
{%- endblock head_apple_icons %}
{%- endblock head_links %}
{%- block header %}{% endblock header %}
{%- block css %}
{{ webpack['theme.css'] }}
{{ webpack['invenio-theme-tugraz-theme.css'] }}
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
{%- endblock css %}
{%- endblock head %}
</head>
<body ng-csp {% if body_css_classes %} class="{{ body_css_classes|join(' ') }}"{% endif %}{% if g.ln %} lang="{{ g.ln.split('_', 1)[0]|safe }}"{% if rtl_direction %} {{ rtl_direction|safe }}{% endif %}{% endif %} itemscope itemtype="http://schema.org/WebPage" data-spy="scroll" data-target=".scrollspy-target">
{%- block body %}
{%- block browserupgrade %}
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
{%- endblock browserupgrade %}
{%- block body_inner %}
{%- block navbar_header %}
{%- include "invenio_theme_tugraz/navbar.html" %}
{%- endblock navbar_header %}
{#
{%- block page_header %}
{% include config.THEME_HEADER_TEMPLATE %}
{%- endblock page_header %}
#}
{%- block page_body %}
{% include "invenio_theme/body.html" %}
{%- endblock page_body %}
{%- endblock body_inner %}
{%- block javascript %}
{% include config.THEME_JAVASCRIPT_TEMPLATE %}
{%- endblock javascript %}
{%- block trackingcode %}{% include config.THEME_TRACKINGCODE_TEMPLATE %}
{%- endblock %}
{%- endblock body %}
</body>
</html>

View File

@@ -5,14 +5,14 @@
{%- if config.SECURITY_REGISTERABLE %} {%- if config.SECURITY_REGISTERABLE %}
<div class="short-menu-right-button"> <div class="short-menu-right-button">
<a href="{{ url_for('security.register') }}"> <a href="{{ url_for('security.register') }}">
<i class="user plus icon circular"></i> Sign Up <i class="user plus icon circular"></i> {{_ ("Sign Up")}}
</a> </a>
</div> </div>
{%- endif %} {%- endif %}
<div class="short-menu-right-button"> <div class="short-menu-right-button">
<a href="{{url_for_security('login', next=request.path)}}" style="text-decoration:none"> <a href="{{url_for_security('login', next=request.path)}}" style="text-decoration:none">
<i class="sign in icon circular"></i> Login <i class="sign in icon circular"></i> {{_ ("Log in")}}
</a> </a>
</div> </div>

View File

@@ -1,72 +0,0 @@
{#
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/page_cover.html" %}
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{% 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="ui header">{{ _('Log in to account') }}</h3>
{%- endblock form_header %}
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %}
<div class="ui fluid animated fade large button basic" tabindex="0">
<div class="visible content">
<a href="{{ url_for('sso_saml.sso', idp='idp') }}">
{% trans type='TUG' %} Log in with {{ type }}{% endtrans %}
</a>
</div>
<div class="hidden content">
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px">
</div>
</div>
<div class="ui horizontal divider">
Or
</div>
{%- endif %}
{%- block form_outer %}
{%- with form = 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="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="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 registerable %}
</div>
{%- 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

@@ -0,0 +1,75 @@
{#
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali
Copyright (C) 2020 Nikita Lvov
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 config.INVENIO_THEME_TUGRAZ_ACCOUNT_BASE %}
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{% block page_body %}
<div class="spacer-long"></div>
<div class="ui container">
<div class="ui centered grid">
<div class="ui padded segments big form">
<div class="ui login segment padded">
<div class="divider hidden"></div>
{%- block form_header %}
<h3 class="ui login header">{{ _('Log in to Repository') }}</h3>
{%- endblock form_header %}
<!--Login with SSO-->
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %}
<div class="login-page-button">
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="inverted tiny image label">
{% trans type='TUGRAZ' %} Login with {{ type }}{% endtrans %}
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a>
</div>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or")}}</span></div>
{%- endif %}
{%- block form_outer %}
{%- with form = login_user_form %}
<form action="{{ url_for_security('login') }}" method="POST" name="login_user_form" class="ui big form">
{{ form.hidden_tag() }}
{{ form_errors(form) }}
{{ 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 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="ui primary segment padded text-muted">
{% trans sitename=config.ACCOUNTS_SITENAME %}New to {{ sitename }}?{% endtrans %}
<a href="{{ url_for_security('register', next=request.args.get('next')) }}">{{ _('Sign Up') }}</a>
</div>
{%- endif %}
{%- endblock registerable %}
{%- block recoverable %}
{%- if security.recoverable %}
<div class="ui basic segment padded">
<a class="ui inverted header tiny"
href="{{ url_for_security('forgot_password') }}">{{ _('Forgot password?') }}</a>
</div>
{%- endif %}
{%- endblock recoverable %}
</div>
</div>
</div>
{% endblock page_body %}

View File

@@ -1,29 +1,66 @@
{# -*- coding: utf-8 -*- {#
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali
Copyright (C) 2020 Nikita Lvov
This file is part of Invenio. invenio-theme-tugraz is free software; you can redistribute it and/or
Copyright (C) 2015-2020 CERN. modify it under the terms of the MIT License; see LICENSE file for more
details.
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.ACCOUNTS_COVER_TEMPLATE %}
{% extends config.INVENIO_THEME_TUGRAZ_ACCOUNT_BASE %}
{% from "invenio_accounts/_macros.html" import render_field, form_errors %} {% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{% block page_body %} {% block page_body %}
<div class="spacer-long"></div>
<div class="ui padded segments big form"> <div class="ui container">
<div class="ui segment padded relaxed">
<div class="divider hidden"></div> <div class="ui two column stackable centered grid switch-grid">
<div class="centered row">
<h1 class="ui header">{{ _('Create an Account') }}</h1>
</div>
<div class="column" id="switch_left">
<div class="ui basic segment">
<h4 class="ui header">{{ _('Citeable. Discoverable.') }}</h4>
<p class="bodytext">
{{ _('Uploads get a Digital Object Identifier (DOI) to make them easily and uniquely citeable.')}}</h5>
<h4 class="ui header">{{ _('Communities.') }}</h4>
<p class="bodytext">
{{ _('Accept or reject uploads to your own community (e.g workshops, EU projects, institutions or entire disciplines).') }}
</h5>
<h4 class="ui header">{{ _('Trusted Research Data Management') }}</h4>
<p class="bodytext">
{{ _('Built on top of TU Graz expertise in managing of the research data from the Graz University of Technology.') }}
</h5>
</div>
</div>
<div class="column" id="switch_right">
<!--Sigup with SSO-->
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %}
<div class="login-page-button">
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="inverted tiny image label">
<span style="font-size: 18px;">{{ _('Sign up with TUGRAZ ') }}</span>
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a>
</div>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or")}}</span></div>
{%- endif %}
{%- block form_header %} {%- block form_header %}
<h3 class="ui header"> <!-- can add a header img-->
{% trans sitename=config.ACCOUNTS_SITENAME %}Sign up for an {{ sitename }} account!{% endtrans %} {%- block form_outer %}
</h3> {%- endblock form_outer %}
{%- endblock form_header %} {%- endblock form_header %}
{%- with form = register_user_form %} {%- with form = register_user_form %}
<form action="{{ url_for_security('register') }}" method="POST" <form class="ui big form" action="{{ url_for_security('register') }}" method="POST" name="register_user_form">
name="register_user_form">
{{ form_errors(form) }} {{ form_errors(form) }}
{{ form.hidden_tag() }} {{ form.hidden_tag() }}
{%- block registration_form_fields scoped %} {%- block registration_form_fields scoped %}
@@ -38,18 +75,19 @@
<div class="grouped fields">{{ form.recaptcha() }}</div> <div class="grouped fields">{{ form.recaptcha() }}</div>
{%- endif %} {%- endif %}
<button type="submit" class="ui fluid large signup submit button"> <div class="centered row">
<button type="submit" class="ui fluid large submit button">
<i class="ui edit outline icon"></i>{{ _('Sign Up') }} <i class="ui edit outline icon"></i>{{ _('Sign Up') }}
</button> </button>
</div>
</form> </form>
{%- endwith %} {%- endwith %}
<div class="divider hidden"></div>
<div class="ui divider"></div>
</div> </div>
<div class="ui secondary segment padded">
{{ _('Already have an account?') }}
<a href="{{ url_for_security('login') }}">{{ _('Log In') }}</a>
</div>
</div> </div>
</div>
{% endblock page_body %} {% endblock page_body %}

View File

@@ -6,12 +6,84 @@
modify it under the terms of the MIT License; see LICENSE file for more modify it under the terms of the MIT License; see LICENSE file for more
details. details.
#} #}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html{% if html_css_classes %} class="{{ html_css_classes|join(' ') }}"{% endif %} lang="{{ current_i18n.locale.language|safe }}" dir="{{ current_i18n.locale.text_direction }}">
<head> <head>
<meta charset="utf-8" /> {%- block head %}
{%- block head_meta %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{%- if description %}<meta name="description" content="{{ description }}" />{% endif %}
{%- if keywords %}<meta name="keywords" content="{{ keywords }}" />{% endif %}
{%- if config.get('THEME_GOOGLE_SITE_VERIFICATION', None) %}
{%- for google_id in config.THEME_GOOGLE_SITE_VERIFICATION %}
<meta name="google-site-verification" content="{{google_id}}"/>
{%- endfor %}
{%- endif %}
{%- endblock head_meta %}
{%- block head_title %}
{%- set title = title or _(config.THEME_SITENAME) or _('Invenio') %}
<title>{{title}}</title>
{%- endblock head_title %}
{%- block head_links %}
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}"/>
{%- if keywords %}<link rel="canonical" href="{{ canonical_url }}"/>{% endif %}
{%- block head_links_langs %}
{%- if alternate_urls %}
{%- for alt_ln, alternate_url in alternate_urls.items() %}
<link rel="alternate" hreflang="{{ alt_ln }}" href="{{ alternate_url }}"/>
{%- endfor %}
{%- endif %}
{%- endblock %}
{%- block head_apple_icons %}
{%- for size in [144, 114, 72, 57] %}
{%- set icon_name = 'apple-touch-icon-%d-precomposed.png' | format(size) %}
<link rel="apple-touch-icon-precomposed" sizes="{{ size }}x{{ size }}" href="{{ url_for('static', filename=icon_name) }}"/>
{%- endfor %}
{%- endblock head_apple_icons %}
{%- endblock head_links %}
{%- block header %}{% endblock header %}
{%- block css %}
{{ webpack['theme.css'] }}
{{ webpack['invenio-theme-tugraz-theme.css'] }}
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
{%- endblock css %}
{%- endblock head %}
</head> </head>
<body> <body ng-csp {% if body_css_classes %} class="{{ body_css_classes|join(' ') }}"{% endif %}{% if g.ln %} lang="{{ g.ln.split('_', 1)[0]|safe }}"{% if rtl_direction %} {{ rtl_direction|safe }}{% endif %}{% endif %} itemscope itemtype="http://schema.org/WebPage" data-spy="scroll" data-target=".scrollspy-target">
{%- block page_body %}{%- endblock page_body %} {%- block body %}
{%- block browserupgrade %}
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
{%- endblock browserupgrade %}
{%- block body_inner %}
{%- block page_header %}
{% include config.THEME_HEADER_TEMPLATE %}
{%- endblock page_header %}
{%- block page_body %}
{% include "invenio_theme/body.html" %}
{%- endblock page_body %}
{%- block page_footer %}
{% include config.THEME_FOOTER_TEMPLATE %}
{%- endblock page_footer %}
{%- endblock body_inner %}
{%- block javascript %}
{% include config.THEME_JAVASCRIPT_TEMPLATE %}
{%- endblock javascript %}
{%- block trackingcode %}{% include config.THEME_TRACKINGCODE_TEMPLATE %}
{%- endblock %}
{%- endblock body %}
</body> </body>
</html> </html>

View File

@@ -0,0 +1,10 @@
<ul>
<li><strong>{{_('Safe')}}</strong> &mdash; {{_('your research is stored safely for the future in TU Graz library for as long as TU Graz library exists.')}}</li>
<li><strong>{{_('Trusted')}}</strong> &mdash; {{_('built and operated by CERN and OpenAIRE to ensure that everyone can join in Open Science.')}}</li>
<li><strong>{{_('Citeable')}}</strong> &mdash; {{_('every upload is assigned a Digital Object Identifier (DOI), to make them citable and trackable.')}}</li>
<li><strong>{{_('No waiting time')}}</strong> &mdash; {{_('Uploads are made available online as soon as you hit publish, and your DOI is registered within seconds.')}}</li>
<li><strong>{{_('Open or closed')}}</strong> &mdash; {{_('Share e.g. anonymized clinical trial data with only medical professionals via our restricted access mode.')}}</li>
<li><strong>{{_('Versioning')}}</strong> &mdash; {{_("Easily update your dataset with our versioning feature.")}}</li>
<li><strong>{{_('Usage statisics')}}</strong> &mdash; {{_("All uploads display standards compliant usage statistics")}}</li>
</ul>

View File

@@ -0,0 +1,41 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2020 Graz University of Technology
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.
origin: invenio-rdm-records/doi.html
#}
{%- set id_doi = record.identifiers | doi_identifier %}
<div>
<div class="get-badge"
data-toggle="tooltip"
data-placement="bottom"
style="cursor: pointer;"
title="Get the DOI badge!">
<img id="record-doi-badge"
data-target="[data-modal='{{ id_doi }}']"
src="{{ url_for('invenio_formatter_badges.badge', title='DOI', value=id_doi, ext='svg') }}"
alt="{{ id_doi }}">
</div>
<div id="doi-modal" class="ui modal fade badge-modal" data-modal="{{ id_doi }}">
<h2 class="header">
{{_ ("RDM DOI Badge")}}
</h2>
<div class="content">
<h4><small>{{_ ("DOI")}}</small></h4>
<h4><pre>{{ id_doi }}</pre></h4>
{% from "semantic-ui/invenio_formatter/macros/badges.html" import badges_formats_list %}
{{ badges_formats_list(url_for('invenio_formatter_badges.badge', title='DOI', value=id_doi, ext='svg',
_external=True, _scheme='https'), id_doi | pid_url(scheme='doi')) }}
</div>
</div>
</div>

View File

@@ -16,19 +16,82 @@
{{ webpack['invenio-theme-tugraz-js.js'] }} {{ webpack['invenio-theme-tugraz-js.js'] }}
{%- endblock javascript %} {%- endblock javascript %}
<div class="spacer"></div>
<footer id="footer" class="footer-bottom"> <footer id="footer" class="footer-bottom">
<div class="ui grid container">
<div class="eight wide column left aligned"> <div class="ui container">
{% trans invenio_rdm="http://inveniosoftware.org/products/rdm" %}Powered by <a
href="{{invenio_rdm}}">InvenioRDM</a>{% endtrans %} <div class="ui grid">
<div class="doubling four column row">
<div class="column">
<h2>{{_ ("Repository")}}</h2>
<p class="bodytext">
<a href="{{ url_for('invenio_rdm_records.coming_soon') }}">
{{_ ("Impressum")}}<i class="angle right icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_rdm_records.coming_soon') }}">
{{_ ("Data protection")}}<i class="angle right icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_rdm_records.coming_soon') }}">
{{_ ("Feedback")}}<i class="angle right icon"></i>
</a>
</p>
</div> </div>
<div class="eight wide column right aligned">
<!--
{%- if config.I18N_LANGUAGES %} <div class="column">
{% from "invenio_i18n/macros/language_selector.html" import language_selector_dropdown %}
{{ language_selector_dropdown() }} <h2>{{_ ("Features")}}</h2>
{%- endif %}
--> <h4>{{_ ("Scalability")}}</h4>
<h4>{{_ ("Institutional integration")}}</h4>
<h4>{{_ ("Next Generation Repository")}}
</h4>
<h4>{{_ ("Repository Profiles")}}</h4>
<h4>{{_ ("Resilient")}}</h4>
</div>
<div class="column">
<h2>{{_ ("Connected Services")}}</h2>
<p class="bodytext">
<a href="https://pure.tugraz.at" title="PURE">
{{_ ("PURE")}} <i class="external alternate icon"></i></a><br>
<a href="http://campusonline.tugraz.at" title="CAMPUS online">
{{_ ("CampusOnline")}} <i class="external alternate icon"></i></a><br>
<a href="https://rdm.tugraz.at" title="CAMPUS online">
{{_ ("Research Data Management")}} <i class="external alternate icon"></i></a><br>
</p>
</div>
<div class="column">
<h2>{{_ ("Accessibility")}}</h2>
<p class="bodytext">{{_ ("Tipp:")}}<br> {{_ ("Use Ctrl + and Crtl -")}}<br> {{_ ("to change the font size.")}}</p>
</div>
</div> </div>
</div> </div>
</div>
</footer> </footer>

View File

@@ -1,25 +0,0 @@
{#
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 "semantic-ui/invenio_theme/frontpage.html" %}
{%- block page_header %}
{%- include "invenio_theme_tugraz/header_frontpage.html" %}
{%- endblock page_header %}
{%- block page_body %}
{%- block first_section%}
{%- endblock first_section%}
{%- block second_section%}
{%- endblock second_section%}
{%- endblock page_body%}

View File

@@ -11,110 +11,16 @@
<header> <header>
{%- block navbar %} {%- block navbar %}
<nav class="navbar navbar-default navbar-static-top"> <nav>
<div class="container">
{%- block navbar_header %} {%- block navbar_header %}
{%- include "invenio_theme_tugraz/navbar.html" %}
<!----MENU------------------------------------------------------------->
<div class="short-menu" id="all-menu-top-table">
<div class="short-menu-left">
<div id="all-menu-top-left-item">
<div class="short-menu-left-search">
{%- if config.I18N_LANGUAGES %}
<div class="short-menu-left-lang" 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().upper() [0:2]}}</a>
{%- endif %}
{%- endfor %}
</div>
{%- endif %}
<div class="search-icon-header">
<a href="/search">
<svg class="short-menu-icon" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="26.015" width="26.015" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 26.01515 26.01515">
<g stroke-miterlimit="10" transform="translate(1,1)">
<circle cy="8.5" cx="8.5" r="8" style="stroke-miterlimit:10;stroke-width:2"></circle>
<path style="stroke-width:2;stroke-miterlimit:10;stroke-linecap:round" d="m14.156 14.156 9.344 9.344"></path>
</g>
</svg>
</a>
</div>
</div>
</div>
</div>
<div class="short-menu-right">
{# <div class="short-menu-right-h"> onclick="toggleVisibility('heading');"> #}
{%- block navbar_right %}
{%- include config.THEME_HEADER_LOGIN_TEMPLATE %}
{%- endblock navbar_right %}
</div>
</div>
</div>
<!----END MENU------------------------------------------------------------->
<div class="affiliation" id="int-header">
<div class="affiliation-text">
<a title="RDM" href="{{url_for('invenio_theme_frontpage.index')}}">
TU Graz
<br>{{_ ("Research Data Management")}}
</a>
</div>
<div class="affiliation-spacer"></div>
<div class="affiliation-logo" id="int-header-logo">
<a href="https://www.tugraz.at" title="TU Graz Home" target="_blank">
<div class="affiliation-logo-claim">
<div class="affiliation-logo-claim-single">{{_ ("SCIENCE")}}</div>
<div class="affiliation-logo-claim-single">{{_ ("PASSION")}}</div>
<div class="affiliation-logo-claim-single">{{_ ("TECHNOLOGY")}}</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 d="m0 103.73h207.45v207.46l-207.45 0.01v-207.47z"></path>
<path d="m228.19 103.73h207.46v207.46h-207.46v-207.46z"></path>
<path d="m456.41 103.73h207.44v207.46h-207.44v-207.46z"></path>
<path d="m103.72 0h207.47v207.46h-207.47v-207.46z"></path>
<path 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>
<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>
<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>
<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>
<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 d="m1059.6 0h69.102v69.121h-69.102v-69.121z"></path>
</g>
</g>
</svg>
</a>
</div>
</div>
{%- endblock navbar_header %} {%- endblock navbar_header %}
<div class="ui container">
<div class="ui grid stackable container"> <div class="ui grid stackable container">
<div class="three column row centered" style="padding-bottom: 0;"> <div class="three column row centered" style="padding-bottom: 0;">
<div class="two wide column main-menu-entry main-menu-entry-svg"> <div class="two wide column main-menu-entry main-menu-entry-svg">
<a href="{{url_for('invenio_theme_frontpage.index')}}" title="Home"> <a href="{{url_for('invenio_theme_tugraz.index')}}" title="Home">
<svg shape-rendering="geometricPrecision" id="int-menu-q-home-icon" <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" 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" version="1.1" xml:space="preserve" height="36.997" width="35.969"
@@ -125,7 +31,7 @@
transform="translate(-279.72 -403.28)"> transform="translate(-279.72 -403.28)">
</polyline> </polyline>
</svg> </svg>
Home {{_ ("Home")}}
</a> </a>
</div> </div>
{%- for item in current_menu.submenu('main').children|sort(attribute='order') if item.visible recursive %} {%- for item in current_menu.submenu('main').children|sort(attribute='order') if item.visible recursive %}
@@ -134,51 +40,25 @@
</div> </div>
{%- endfor %} {%- endfor %}
</div> </div>
<div class="row">
<div class="column centered main-menu-underline"> <div id="margin-divider" class="ui divider main-menu-underline-line">
<div class="main-menu-underline-line"></div>
</div>
</div>
<div class="row">
</div> </div>
</div> </div>
<!-- <div class="spacer"></div>
{%- block navbar_inner %}
<div id="navbar" class="navbar-collapse collapse">
{%- block navbar_nav %}
{%- if config.THEME_SEARCHBAR %}
{%- block navbar_search %}
<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 %}
{%- endblock navbar_nav %}
</div>
{%- endblock navbar_inner %}
-->
</div> </div>
{%- endblock navbar %}
</div>
</nav> </nav>
{%- endblock navbar %}
{%- block flashmessages %} {%- block flashmessages %}
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%} {%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }} {{ flashed_messages() }}
{%- endblock %} {%- endblock %}
{#
{%- block breadcrumbs %} {%- block breadcrumbs %}
{%- include "invenio_theme/breadcrumbs.html" %} {%- include "invenio_theme/breadcrumbs.html" %}
{%- endblock breadcrumbs %} {%- endblock breadcrumbs %}
#}
</header> </header>

View File

@@ -1,53 +0,0 @@
{#
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 config.THEME_HEADER_TEMPLATE %}
{#- Remove search field from top bar on frontpage #}
{%- block navbar_search %}{% endblock %}
{%- block navbar %}
{{ super() }}
{%- block frontpage_search %}
<!--
<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="ui center aligned header">
{{ _(config.THEME_FRONTPAGE_TITLE) }}
</h1>
{%- endblock frontpage_title %}
-->
{%- block frontpage_form %}
<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

@@ -9,8 +9,144 @@
{%- extends config.INVENIO_THEME_TUGRAZ_BASE_TEMPLATE %} {%- extends config.INVENIO_THEME_TUGRAZ_BASE_TEMPLATE %}
{%- block page_body %} {%- from "invenio_theme_tugraz/macros/authors.html" import creators -%}
TODO: Example template, please remove if you do not need it.
{{_('Welcome to %(module_name)s', module_name=module_name)}}
{%- endblock %}
{%- block page_body %}
<div class="ui container">
{%- block frontpage_search %}
{%- block frontpage_form %}
<div class="ui center aligned grid">
<div class="sixteen wide column">
<form action="{{config.THEME_SEARCH_ENDPOINT}}" class="ui form" role="search">
<div class="ui fluid big action icon input">
<input type="text" name="q" autofocus="autofocus" placeholder="{{ _("Type and press enter to search") }}">
<button type="submit" class="ui icon search button">
<i class="icon search"></i>
</button>
</div>
</form>
</div>
</div>
<div class="ui divider hidden"></div>
{%- endblock frontpage_form %}
{%- endblock frontpage_search %}
<div class="ui stackable grid">
<!---Recent uploads-->
<div class="ten wide column random-records-frontpage">
<h2>{{_('Recent uploads')}}</h2>
{%- for r in records %}
{%- set creation_date = r._created|from_isodatetime -%}
{%- set record_url = url_for('invenio_records_ui.recid', pid_value=r['id']) %}
<article>
<!--TODO:
something with doi
-->
<div class="badges">
<!--Publication date badge-->
<span class="ui label teal" title="{{_('Publication date')}}">
{{ r.metadata.publication_date }}
</span>
<!--Version badge-->
<span class="ui label record-version" title="{{_('Version')}}">
{{ (' Version ' ~ r.version ~ '') if r.version else 'Version' }}
</span>
<!--Resource type badge-->
<span class="ui label grey" title="{{_('Resource type')}}">
{{r.metadata.resource_type | cast_to_dict | vocabulary_title('resource_type') }}
</span>
<span class="label record-version">
<!--TODO: add subtype--->
</span>
</div>
<h4>
<a href="{{ record_url }}">
{{r.metadata.titles[0].title}}
</a>
</h4>
<p>
{{ creators(r.metadata.creators) }}
</p>
<p class="hidden-xs">
<a href="{{record_url}}">
{{ r.metadata.descriptions[0].description | striptags | truncate(300) }}
</a>
</p>
<div class="ui grid">
<div class="two column row">
<div class="left floated column">
<small>
{% trans user=userprofile, date=creation_date | dateformat('long')%}
Uploaded on {{date}}
{% endtrans %}
</small>
</div>
<div class="right floated column">
<span class="access-right">
{{ r.access.access_right | make_dict_like('access_right') | vocabulary_title('access_right') | lower }}
</span>
</div>
</div>
</div>
</article>
<!----TODO: more versions
-->
{%- endfor %}
<div class="ui two column centered grid">
<a class="ui button more" href="{{url_for('invenio_search_ui.search')}}">{{_('More')}}</a>
</div>
</div>
<!---segments-->
<div class="six wide column">
<!--contact us-->
<div class="ui segment" style="padding-bottom: 10px;">
<h4>{{_ ("Need help?")}} </h4>
<div style="padding-bottom: 10px;">
<a href="{{ url_for('invenio_theme_tugraz.index')}}" class="fluid ui button">
{{_ ("Contact us")}}
</a>
</div>
<p>
{{config.THEME_SITENAME}} {{_ ("prioritizes all Recent uploads.")}}
</p>
<p>
{{_ ("We can help with:")}}
</p>
<ul>
<li>{{_ ("Uploading your research data, software, preprints, etc.")}}</li>
<li>{{_ ("One-on-one with")}} {{config.THEME_SITENAME}} {{_ ("supporters.")}}</li>
<li>{{_ ("Quota increases beyond our default policy.")}}</li>
<li>{{_ ("Scripts for automated uploading of larger datasets.")}}</li>
</ul>
</div>
<div class="ui segment" style="padding-bottom: 10px;">
<h4>{{_ ("Why use")}} {{config.THEME_SITENAME}}?</h4>
{% include "invenio_theme_tugraz/benefits.html" %}
</div>
</div>
</div>
</div>
{%- endblock %}

View File

@@ -0,0 +1,31 @@
{#
Copyright (C) 2020 Zenodo
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.
#}
{%- macro creators (authors_list) %}
{%- for creators in authors_list %}
{%- if creators.identifiers.Orcid %}
<a href="{{creators.identifiers.Orcid|pid_url('orcid')}}" target="_blank" ><img class="inline-orcid" src="{{ url_for('static', filename='extra/orcid.png')}}" /></a>
{%- endif %}
<span class="text-muted" {% if creators.affiliations %} {% for affiliation in creators.affiliations %} data-toggle="tooltip" title="{{affiliation.name}}" {%- endfor %} {% endif %}>{{creators.name}}</span>
{% if not loop.last %}; {% endif %}
{%- endfor %}
{%- endmacro %}
<!--TODO: contributers-->
{%- macro contributors(contributors_list) %}
{%- for group in contributors_list|groupby('type')%}
<h5>{{group.grouper|contributortype_title}}(s)</h5>
{{authors(group.list)}}
{%- endfor %}
{%- endmacro %}

View File

@@ -0,0 +1,117 @@
{#
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.
#}
<div class="ui container">
<div class="short-menu" id="all-menu-top-table">
<div class="short-menu-left">
<div id="all-menu-top-left-item">
<div class="short-menu-left-search">
{%- if config.I18N_LANGUAGES %}
<div class="short-menu-left-lang" 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().upper() [0:2]}}</a>
{%- endif %}
{%- endfor %}
</div>
{%- endif %}
<div class="search-icon-header">
<a href="{{url_for('invenio_search_ui.search')}}">
<svg class="short-menu-icon" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg" height="26.015" width="26.015" version="1.1"
xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
viewBox="0 0 26.01515 26.01515">
<g stroke-miterlimit="10" transform="translate(1,1)">
<circle cy="8.5" cx="8.5" r="8" style="stroke-miterlimit:10;stroke-width:2"></circle>
<path style="stroke-width:2;stroke-miterlimit:10;stroke-linecap:round" d="m14.156 14.156 9.344 9.344">
</path>
</g>
</svg>
</a>
</div>
</div>
</div>
</div>
<div class="short-menu-right">
{%- block navbar_right %}
{%- include config.THEME_HEADER_LOGIN_TEMPLATE %}
{%- endblock navbar_right %}
</div>
</div>
<!----END MENU------------------------------------------------------------->
<div class="ui grid" id="main-logo">
<!--Left-->
<div class="left floated left aligned six wide column" id="repo-logo">
<div class="inline-elements">
<div class="repo-img">
<img height="51.862" src="{{ url_for('static', filename='images/Icon_1_v2.svg')}}">
</div>
<div class="affiliation-text">
<a title="RDM" href="{{url_for('invenio_theme_tugraz.index')}}">
TU Graz
<br>
{{_ ("Repository")}}
</a>
</div>
</div>
</div>
<!--Right-->
<div class="right floated right aligned six wide column">
<div class="affiliation-logo" id="int-header-logo">
<a href="https://www.tugraz.at" title="TU Graz Home" target="_blank">
<div class="affiliation-logo-claim">
<div class="affiliation-logo-claim-single">{{_ ("SCIENCE")}}</div>
<div class="affiliation-logo-claim-single">{{_ ("PASSION")}}</div>
<div class="affiliation-logo-claim-single">{{_ ("TECHNOLOGY")}}</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 d="m0 103.73h207.45v207.46l-207.45 0.01v-207.47z"></path>
<path d="m228.19 103.73h207.46v207.46h-207.46v-207.46z"></path>
<path d="m456.41 103.73h207.44v207.46h-207.44v-207.46z"></path>
<path d="m103.72 0h207.47v207.46h-207.47v-207.46z"></path>
<path 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>
<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>
<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>
<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>
<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 d="m1059.6 0h69.102v69.121h-69.102v-69.121z"></path>
</g>
</g>
</svg>
</a>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,113 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2020 Graz University of Technology
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.
origin: invenio-rdm-records/record_landing_page.html
#}
{%- extends config.BASE_TEMPLATE %}
{%- block css %}
{{ super() }}
{{ webpack['invenio-rdm-records-theme.css'] }}
{%- endblock css %}
{%- from "invenio_rdm_records/macros/files.html" import file_list_box, preview_file_box %}
{%- block page_body %}
<div class="ui container">
<div class="ui padded relaxed grid">
<div class="two column row">
<div class="ten wide column">
{%- block record_body %}
<div class="left floated left aligned column">
<span class="ui label teal" title="Publication date">
{{ record.publication_date|to_date|format_date(format='long') }}
</span>
<span class="ui label record-version">
Version {{ record.version }}
</span>
<span class="ui label grey">
{{ record.resource_type | vocabulary_title('resource_type') }}
</span>
</div>
<h1>{{ record.titles[0].title }}</h1>
<p>
{%- include "invenio_rdm_records/details/creators.html" %}
</p>
{%- if record.contributors %}
<p>
{%- include "invenio_rdm_records/details/contributors.html" %}
</p>
{%- endif %}
<div class="ui grid">
<div class="two column row">
<div class="left floated column">
{%- include "invenio_theme_tugraz/details/doi.html" %}
</div>
<div class="right floated column">
{#
{%- include "invenio_rdm_records/details/contact.html" %}
#}
<span class="access-right">
{{ record | vocabulary_title('access_right') | lower_case }}
</span>
</div>
</div>
</div>
{%- include "invenio_rdm_records/details/citation.html" %}
{%- include "invenio_rdm_records/details/keywords.html" %}
{%- include "invenio_rdm_records/details/description.html" %}
{%- include "invenio_rdm_records/details/licenses.html" %}
{# files #}
{%- if record.files and record | can_list_files %}
{%- set files = record.files %}
{{ preview_file_box(files | select_preview_file, pid) }}
{{ file_list_box(files.dumps(), pid) }}
{%- else %}
<br>
<p style="text-align: center;">
No associated files.
</p>
{% endif %}
{# More details #}
{%- endblock record_body %}
</div>
<div class="six wide column">
{% block sidebar %}
<div class="ui segment rdm-sidebar">
{%- include "invenio_rdm_records/details/side_bar.html" %}
</div>
{% endblock sidebar %}
</div>
</div>
</div>
</div>
{%- endblock page_body %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-rdm-records-js.js'] }}
{# Communities management #}
{{ webpack['invenio-communities-records.js'] }}
{{webpack['previewer_theme.js']}}
{%- endblock javascript %}

View File

@@ -6,10 +6,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: invenio-theme-tugraz 1.0.0\n" "Project-Id-Version: invenio-theme-tugraz 1.0.4\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n" "Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2020-06-25 14:39+0200\n" "POT-Creation-Date: 2020-10-06 14:28+0200\n"
"PO-Revision-Date: 2020-06-25 14:39+0200\n" "PO-Revision-Date: 2020-10-06 10:27+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n" "Language: de\n"
"Language-Team: de <LL@li.org>\n" "Language-Team: de <LL@li.org>\n"
@@ -19,86 +19,342 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n" "Generated-By: Babel 2.8.0\n"
#: invenio_theme_tugraz/config.py:43 #: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:52
msgid "Application Name" msgid "TU Graz Repository"
msgstr "" msgstr ""
#: invenio_theme_tugraz/config.py:54 #: invenio_theme_tugraz/config.py:55
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:31
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:67
msgid "Repository"
msgstr "Repository"
#: invenio_theme_tugraz/config.py:80
msgid "German" msgid "German"
msgstr "Deutsche"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:27
msgid "Invenio"
msgstr "Invenio"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:3
msgid "Safe"
msgstr "Sicher"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:3
msgid ""
"your research is stored safely for the future in TU Graz library for as "
"long as TU Graz library exists."
msgstr ""
"Ihre Forschung wird für die Zukunft sicher in der Bibliothek der TU Graz "
"gespeichert als solange die Bibliothek TU Graz existiert."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:4
msgid "Trusted"
msgstr "" msgstr ""
#. NOTE: This is a note to a translator. #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:4
#: invenio_theme_tugraz/ext.py:24 msgid ""
msgid "A translation string" "built and operated by CERN and OpenAIRE to ensure that everyone can join "
"in Open Science."
msgstr "" msgstr ""
#: invenio_theme_tugraz/views.py:30 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:5
msgid "invenio-theme-tugraz" msgid "Citeable"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:22 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:5
msgid ""
"every upload is assigned a Digital Object Identifier (DOI), to make them "
"citable and trackable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:6
msgid "No waiting time"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:6
msgid ""
"Uploads are made available online as soon as you hit publish, and your "
"DOI is registered within seconds."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:7
msgid "Open or closed"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:7
msgid ""
"Share e.g. anonymized clinical trial data with only medical professionals"
" via our restricted access mode."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:8
msgid "Versioning"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:8
msgid "Easily update your dataset with our versioning feature."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:9
msgid "Usage statisics"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:9
msgid "All uploads display standards compliant usage statistics"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:34
msgid "Impressum"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:38
msgid "Data protection"
msgstr "Datenschutzerklärung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:42
msgid "Feedback"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:51
msgid "Features"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:53
msgid "Scalability"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:55
msgid "Institutional integration"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:57
msgid "Next Generation Repository"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:60
msgid "Repository Profiles"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:62
msgid "Resilient"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:69
msgid "Connected Services"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:73
msgid "PURE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:76
msgid "CampusOnline"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:79
msgid "Research Data Management"
msgstr "Forschungsdatenmanagement"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
msgid "Accessibility"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Tipp:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Use Ctrl + and Crtl -"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "to change the font size."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:34
msgid "Home"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:24
msgid "Type and press enter to search"
msgstr "Suchbegriff eingeben und “Enter” drücken (?)"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:40
msgid "Recent uploads"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:52
msgid "Publication date"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:57
msgid "Version"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:62
msgid "Resource type"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:91
#, python-format #, python-format
msgid "" msgid ""
"Powered by <a\n" "\n"
" href=\"%(invenio_rdm)s\">InvenioRDM</a>" " Uploaded on %(date)s\n"
" "
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:119 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:110
msgid "Main Menu" msgid "More"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:132 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:119
msgid "Research Data Management" msgid "Need help?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:141 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:123
msgid "WISSEN" msgid "Contact us"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:142 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:127
msgid "TECHNIK" msgid "prioritizes all Recent uploads."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:143 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:130
msgid "LEIDENSCHAFT" msgid "We can help with:"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:191 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:135
msgid "Search" msgid "Uploading your research data, software, preprints, etc."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:14 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
#, python-format msgid "One-on-one with"
msgid "Welcome to %(module_name)s"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "supporters."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:137
msgid "Quota increases beyond our default policy."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:138
msgid "Scripts for automated uploading of larger datasets."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:143
msgid "Why use"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:77
msgid "SCIENCE"
msgstr "Wissenschaft"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
msgid "PASSION"
msgstr "Leidenschaft"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
msgid "TECHNOLOGY"
msgstr "Technik"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:59
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:80
msgid "Sign Up"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:15
msgid "Log in"
msgstr "Einloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:30 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:30
msgid "Logout" msgid "Logout"
msgstr "Ausloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:24
msgid "Log in to Repository"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:18 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:31
msgid "Log in to account"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:26
#, python-format #, python-format
msgid " Log in with %(type)s" msgid " Login with %(type)s"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:41 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:35
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:54
msgid "Or"
msgstr "Oder"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46
msgid "Log In" msgid "Log In"
msgstr "" msgstr "Einloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:53 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:58
#, python-format #, python-format
msgid "New to %(sitename)s?" msgid "New to %(sitename)s?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:54 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:68
msgid "Sign Up"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:63
msgid "Forgot password?" msgid "Forgot password?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:22
msgid "Create an Account"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:27
msgid "Citeable. Discoverable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:29
msgid ""
"Uploads get a Digital Object Identifier (DOI) to make them easily and "
"uniquely citeable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:30
msgid "Communities."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:32
msgid ""
"Accept or reject uploads to your own community (e.g workshops, EU "
"projects, institutions or entire disciplines)."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:34
msgid "Trusted Research Data Management"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:36
msgid ""
"Built on top of TU Graz expertise in managing of the research data from "
"the Graz University of Technology."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:50
msgid "Sign up with TUGRAZ "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/details/doi.html:28
msgid "RDM DOI Badge"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/details/doi.html:32
msgid "DOI"
msgstr ""
#~ msgid ""
#~ "your research is stored safely for "
#~ "the future in CERNs Data Centre "
#~ "for as long as CERN exists."
#~ msgstr ""
#~ msgid "One-on-one with {{config.THEME_SITENAME}} supporters."
#~ msgstr ""

View File

@@ -7,9 +7,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: invenio-theme-tugraz 1.0.0\n" "Project-Id-Version: invenio-theme-tugraz 1.0.4\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n" "Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2020-06-25 14:39+0200\n" "POT-Creation-Date: 2020-10-06 14:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,86 +18,331 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n" "Generated-By: Babel 2.8.0\n"
#: invenio_theme_tugraz/config.py:43 #: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:52
msgid "Application Name" msgid "TU Graz Repository"
msgstr "" msgstr ""
#: invenio_theme_tugraz/config.py:54 #: invenio_theme_tugraz/config.py:55
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:31
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:67
msgid "Repository"
msgstr ""
#: invenio_theme_tugraz/config.py:80
msgid "German" msgid "German"
msgstr "" msgstr ""
#. NOTE: This is a note to a translator. #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:27
#: invenio_theme_tugraz/ext.py:24 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:27
msgid "A translation string" msgid "Invenio"
msgstr "" msgstr ""
#: invenio_theme_tugraz/views.py:30 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:3
msgid "invenio-theme-tugraz" msgid "Safe"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:22 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:3
#, python-format
msgid "" msgid ""
"Powered by <a\n" "your research is stored safely for the future in TU Graz library for as "
" href=\"%(invenio_rdm)s\">InvenioRDM</a>" "long as TU Graz library exists."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:119 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:4
msgid "Main Menu" msgid "Trusted"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:132 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:4
msgid ""
"built and operated by CERN and OpenAIRE to ensure that everyone can join "
"in Open Science."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:5
msgid "Citeable"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:5
msgid ""
"every upload is assigned a Digital Object Identifier (DOI), to make them "
"citable and trackable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:6
msgid "No waiting time"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:6
msgid ""
"Uploads are made available online as soon as you hit publish, and your "
"DOI is registered within seconds."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:7
msgid "Open or closed"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:7
msgid ""
"Share e.g. anonymized clinical trial data with only medical professionals"
" via our restricted access mode."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:8
msgid "Versioning"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:8
msgid "Easily update your dataset with our versioning feature."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:9
msgid "Usage statisics"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:9
msgid "All uploads display standards compliant usage statistics"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:34
msgid "Impressum"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:38
msgid "Data protection"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:42
msgid "Feedback"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:51
msgid "Features"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:53
msgid "Scalability"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:55
msgid "Institutional integration"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:57
msgid "Next Generation Repository"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:60
msgid "Repository Profiles"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:62
msgid "Resilient"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:69
msgid "Connected Services"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:73
msgid "PURE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:76
msgid "CampusOnline"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:79
msgid "Research Data Management" msgid "Research Data Management"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:141 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
msgid "WISSEN" msgid "Accessibility"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:142 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "TECHNIK" msgid "Tipp:"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:143 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "LEIDENSCHAFT" msgid "Use Ctrl + and Crtl -"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:191 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Search" msgid "to change the font size."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:14 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:34
msgid "Home"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:24
msgid "Type and press enter to search"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:40
msgid "Recent uploads"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:52
msgid "Publication date"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:57
msgid "Version"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:62
msgid "Resource type"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:91
#, python-format #, python-format
msgid "Welcome to %(module_name)s" msgid ""
"\n"
" Uploaded on %(date)s\n"
" "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:110
msgid "More"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:119
msgid "Need help?"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:123
msgid "Contact us"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:127
msgid "prioritizes all Recent uploads."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:130
msgid "We can help with:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:135
msgid "Uploading your research data, software, preprints, etc."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "One-on-one with"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "supporters."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:137
msgid "Quota increases beyond our default policy."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:138
msgid "Scripts for automated uploading of larger datasets."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:143
msgid "Why use"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:77
msgid "SCIENCE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
msgid "PASSION"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
msgid "TECHNOLOGY"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:59
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:80
msgid "Sign Up"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:15
msgid "Log in"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:30 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:30
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:18 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:24
msgid "Log in to account" msgid "Log in to Repository"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:26 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:31
#, python-format #, python-format
msgid " Log in with %(type)s" msgid " Login with %(type)s"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:41 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:35
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:54
msgid "Or"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46
msgid "Log In" msgid "Log In"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:53 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:58
#, python-format #, python-format
msgid "New to %(sitename)s?" msgid "New to %(sitename)s?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:54 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:68
msgid "Sign Up"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login.html:63
msgid "Forgot password?" msgid "Forgot password?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:22
msgid "Create an Account"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:27
msgid "Citeable. Discoverable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:29
msgid ""
"Uploads get a Digital Object Identifier (DOI) to make them easily and "
"uniquely citeable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:30
msgid "Communities."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:32
msgid ""
"Accept or reject uploads to your own community (e.g workshops, EU "
"projects, institutions or entire disciplines)."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:34
msgid "Trusted Research Data Management"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:36
msgid ""
"Built on top of TU Graz expertise in managing of the research data from "
"the Graz University of Technology."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:50
msgid "Sign up with TUGRAZ "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/details/doi.html:28
msgid "RDM DOI Badge"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/details/doi.html:32
msgid "DOI"
msgstr ""

View File

@@ -12,4 +12,4 @@ This file is imported by ``invenio_theme_tugraz.__init__``,
and parsed by ``setup.py``. and parsed by ``setup.py``.
""" """
__version__ = '1.0.2' __version__ = "1.0.5"

View File

@@ -8,23 +8,40 @@
"""invenio module for TUGRAZ theme.""" """invenio module for TUGRAZ theme."""
# TODO: This is an example file. Remove it if you do not need it, including from typing import Dict
# the templates and static folders as well as the test case.
from elasticsearch_dsl.utils import AttrDict
from flask import Blueprint, render_template from flask import Blueprint, render_template
from flask_babelex import gettext as _
from .search import FrontpageRecordsSearch
blueprint = Blueprint( blueprint = Blueprint(
'invenio_theme_tugraz', "invenio_theme_tugraz",
__name__, __name__,
template_folder='templates', template_folder="templates",
static_folder='static', static_folder="static",
) )
@blueprint.route("/") @blueprint.route("/")
def index(): def index():
"""Render a basic view.""" """Render frontpage view."""
return render_template( return render_template(
"invenio_theme_tugraz/index.html", "invenio_theme_tugraz/index.html",
module_name=_('invenio-theme-tugraz')) records=FrontpageRecordsSearch()[:5].sort("-created").execute(),
) # pragma: no cover
@blueprint.app_template_filter("make_dict_like")
def make_dict_like(value: str, key: str) -> Dict[str, str]:
"""Convert the value to a dict like structure.
in the form of a key -> value pair.
"""
return {key: value} # pragma: no cover
@blueprint.app_template_filter("cast_to_dict")
def cast_to_dict(attr_dict):
"""Return the dict structure of AttrDict variable."""
return AttrDict.to_dict(attr_dict) # pragma: no cover

View File

@@ -10,17 +10,15 @@ from invenio_assets.webpack import WebpackThemeBundle
theme = WebpackThemeBundle( theme = WebpackThemeBundle(
__name__, __name__,
'assets', "assets",
default='semantic-ui', default="semantic-ui",
themes={ themes={
'semantic-ui': dict( "semantic-ui": dict(
entry={ entry={
'invenio-theme-tugraz-theme': "invenio-theme-tugraz-theme": "./less/invenio_theme_tugraz/theme.less",
'./less/invenio_theme_tugraz/theme.less', "invenio-theme-tugraz-js": "./js/invenio_theme_tugraz/theme.js",
'invenio-theme-tugraz-js':
'./js/invenio_theme_tugraz/theme.js'
}, },
dependencies={} dependencies={},
) )
} },
) )

View File

@@ -7,6 +7,6 @@
# details. # details.
[pytest] [pytest]
pep8ignore = docs/conf.py ALL addopts = --isort --pydocstyle --pycodestyle --doctest-glob="*.rst" --doctest-modules --cov=invenio_theme_tugraz --cov-report=term-missing
addopts = --pep8 --doctest-glob="*.rst" --doctest-modules --cov=invenio_theme_tugraz --cov-report=term-missing testpaths = tests invenio_theme_tugraz
testpaths = docs tests invenio_theme_tugraz live_server_scope = module

View File

@@ -7,8 +7,11 @@
# modify it under the terms of the MIT License; see LICENSE file for more # modify it under the terms of the MIT License; see LICENSE file for more
# details. # details.
pydocstyle invenio_theme_tugraz tests docs && \ docker-services-cli up postgresql es redis
isort -rc -c -df && \ python -m check_manifest --ignore ".travis-*" && \
check-manifest --ignore ".travis-*" && \ python -m sphinx.cmd.build -qnNW docs docs/_build/html && \
sphinx-build -qnNW docs docs/_build/html && \ docker-services-cli up es postgresql redis
python setup.py test python -m pytest
tests_exit_code=$?
docker-services-cli down
exit "$tests_exit_code"

View File

@@ -37,3 +37,20 @@ output-dir = invenio_theme_tugraz/translations/
[update_catalog] [update_catalog]
input-file = invenio_theme_tugraz/translations/messages.pot input-file = invenio_theme_tugraz/translations/messages.pot
output-dir = invenio_theme_tugraz/translations/ output-dir = invenio_theme_tugraz/translations/
[flake8]
max-line-length = 88
extend-ignore = E203
select = C,E,F,W,B,B950
ignore = E501
[isort]
multi_line_output = 3
include_trailing_comma = True
force_grid_wrap = 0
use_parentheses = True
ensure_newline_before_comments = True
line_length = 88
[pycodestyle]
ignore = E203,E501

121
setup.py
View File

@@ -12,40 +12,45 @@ import os
from setuptools import find_packages, setup from setuptools import find_packages, setup
readme = open('README.rst').read() readme = open("README.rst").read()
history = open('CHANGES.rst').read() history = open("CHANGES.rst").read()
tests_require = [ tests_require = [
'check-manifest>=0.25', "pytest-invenio>=1.4.0",
'coverage>=4.0',
'isort>=4.3.3, <5.0.0',
'pydocstyle>=2.0.0',
'pytest-cov>=2.5.1',
'pytest-pep8>=1.0.6',
'pytest-invenio>=1.2.1',
] ]
extras_require = { extras_require = {
'docs': [ "docs": [
'Sphinx>=1.5.1', "Sphinx>=1.5.1",
], ],
'tests': tests_require, "mysql": [
"invenio-db[mysql]>=1.0.0",
],
"postgresql": [
"invenio-db[postgresql]>=1.0.0",
],
"sqlite": [
"invenio-db>=1.0.0",
],
"tests": tests_require,
} }
extras_require['all'] = [] extras_require["all"] = []
for reqs in extras_require.values(): for reqs in extras_require.values():
extras_require['all'].extend(reqs) extras_require["all"].extend(reqs)
setup_requires = [ setup_requires = [
'Babel>=1.3', "Babel>=1.3",
'pytest-runner>=3.0.0,<5', "pytest-runner>=3.0.0,<5",
] ]
install_requires = [ install_requires = [
'Flask-BabelEx>=0.9.4', "Flask-BabelEx>=0.9.4",
'Flask-WebpackExt>=1.0.0', "Flask-WebpackExt>=1.0.0",
'invenio-assets>=1.2.0,<1.3.0', "invenio-assets>=1.2.0",
'invenio-i18n>=1.2.0', "invenio-i18n>=1.2.0",
"elasticsearch_dsl>=7.2.1",
"invenio_search>=1.3.1",
] ]
packages = find_packages() packages = find_packages()
@@ -53,69 +58,57 @@ packages = find_packages()
# Get the version string. Cannot be done with import! # Get the version string. Cannot be done with import!
g = {} g = {}
with open(os.path.join('invenio_theme_tugraz', 'version.py'), 'rt') as fp: with open(os.path.join("invenio_theme_tugraz", "version.py"), "rt") as fp:
exec(fp.read(), g) exec(fp.read(), g)
version = g['__version__'] version = g["__version__"]
setup( setup(
name='invenio-theme-tugraz', name="invenio-theme-tugraz",
version=version, version=version,
description=__doc__, description=__doc__,
long_description=readme + '\n\n' + history, long_description=readme + "\n\n" + history,
keywords='invenio, theme, invenioRDM, TU-Graz, Graz University of Technology, statistics', keywords="invenio, theme, invenioRDM, TU-Graz, Graz University of Technology, statistics",
license='MIT', license="MIT",
author='mojib wali', author="mojib wali",
author_email='mojib.wali@tugraz.at', author_email="mojib.wali@tugraz.at",
url='https://github.com/mb-wali/invenio-theme-tugraz', url="https://github.com/mb-wali/invenio-theme-tugraz",
packages=packages, packages=packages,
zip_safe=False, zip_safe=False,
include_package_data=True, include_package_data=True,
platforms='any', platforms="any",
entry_points={ entry_points={
'invenio_base.apps': [ "invenio_base.apps": [
'invenio_theme_tugraz = invenio_theme_tugraz:inveniothemetugraz', "invenio_theme_tugraz = invenio_theme_tugraz:InvenioThemeTugraz",
], ],
'invenio_base.blueprints': [ "invenio_base.blueprints": [
'invenio_theme_tugraz = invenio_theme_tugraz.views:blueprint', "invenio_theme_tugraz = invenio_theme_tugraz.views:blueprint",
], ],
'invenio_i18n.translations': [ "invenio_i18n.translations": [
'messages = invenio_theme_tugraz', "messages = invenio_theme_tugraz",
], ],
'invenio_assets.webpack': [ "invenio_assets.webpack": [
'invenio_theme_tugraz_theme = invenio_theme_tugraz.webpack:theme', "invenio_theme_tugraz_theme = invenio_theme_tugraz.webpack:theme",
], ],
'invenio_config.module': [ "invenio_config.module": [
'invenio_theme_tugraz = invenio_theme_tugraz.config', "invenio_theme_tugraz = invenio_theme_tugraz.config",
], ],
# TODO: Edit these entry points to fit your needs.
# 'invenio_access.actions': [],
# 'invenio_admin.actions': [],
# 'invenio_assets.bundles': [],
# 'invenio_base.api_apps': [],
# 'invenio_base.api_blueprints': [],
# 'invenio_base.blueprints': [],
# 'invenio_celery.tasks': [],
# 'invenio_db.models': [],
# 'invenio_pidstore.minters': [],
# 'invenio_records.jsonresolver': [],
}, },
extras_require=extras_require, extras_require=extras_require,
install_requires=install_requires, install_requires=install_requires,
setup_requires=setup_requires, setup_requires=setup_requires,
tests_require=tests_require, tests_require=tests_require,
classifiers=[ classifiers=[
'Environment :: Web Environment', "Environment :: Web Environment",
'Intended Audience :: Developers', "Intended Audience :: Developers",
'License :: OSI Approved :: MIT License', "License :: OSI Approved :: MIT License",
'Operating System :: OS Independent', "Operating System :: OS Independent",
'Programming Language :: Python', "Programming Language :: Python",
'Topic :: Internet :: WWW/HTTP :: Dynamic Content', "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
'Topic :: Software Development :: Libraries :: Python Modules', "Topic :: Software Development :: Libraries :: Python Modules",
'Programming Language :: Python :: 3', "Programming Language :: Python :: 3",
'Programming Language :: Python :: 3.6', "Programming Language :: Python :: 3.6",
'Programming Language :: Python :: 3.7', "Programming Language :: Python :: 3.7",
'Programming Language :: Python :: 3.8', "Programming Language :: Python :: 3.8",
'Development Status :: 1 - Planning', "Development Status :: 3 - Alpha",
], ],
) )

View File

@@ -12,32 +12,21 @@ See https://pytest-invenio.readthedocs.io/ for documentation on which test
fixtures are available. fixtures are available.
""" """
import os
import shutil import shutil
import tempfile import tempfile
import pytest import pytest
from flask import Flask from flask import Flask
from flask_babelex import Babel from flask_babelex import Babel
from invenio_db import InvenioDB, db
from invenio_i18n import InvenioI18N from invenio_i18n import InvenioI18N
from invenio_search import InvenioSearch
from invenio_theme_tugraz import inveniothemetugraz from invenio_theme_tugraz import InvenioThemeTugraz
from invenio_theme_tugraz.views import blueprint
@pytest.fixture() @pytest.fixture(scope="module")
def app():
"""Flask app fixture."""
app = Flask('myapp')
app.config.update(
I18N_LANGUAGES=[('en', 'English'), ('de', 'German')],
)
Babel(app)
InvenioI18N(app)
app.register_blueprint(create_blueprint_from_app(app))
return app
@pytest.fixture(scope='module')
def celery_config(): def celery_config():
"""Override pytest-invenio fixture. """Override pytest-invenio fixture.
@@ -46,14 +35,38 @@ def celery_config():
return {} return {}
@pytest.fixture(scope='module') @pytest.fixture()
def create_app(instance_path): def app(request):
"""Application factory fixture.""" """Basic Flask application."""
def factory(**config): instance_path = tempfile.mkdtemp()
app = Flask('testapp', instance_path=instance_path) app = Flask("testapp")
app.config.update(**config) DB = os.getenv("SQLALCHEMY_DATABASE_URI", "sqlite://")
app.config.update(
I18N_LANGUAGES=[("en", "English"), ("de", "German")],
SQLALCHEMY_DATABASE_URI=DB,
SQLALCHEMY_TRACK_MODIFICATIONS=False,
)
Babel(app) Babel(app)
inveniothemetugraz(app) InvenioDB(app)
app.register_blueprint(blueprint) InvenioSearch(app)
InvenioThemeTugraz(app)
InvenioI18N(app)
with app.app_context():
db_url = str(db.engine.url)
if db_url != "sqlite://" and not database_exists(db_url):
create_database(db_url)
db.create_all()
def teardown():
with app.app_context():
db_url = str(db.engine.url)
db.session.close()
if db_url != "sqlite://":
drop_database(db_url)
shutil.rmtree(instance_path)
request.addfinalizer(teardown)
app.test_request_context().push()
return app return app
return factory

View File

@@ -10,30 +10,29 @@
from flask import Flask from flask import Flask
from invenio_theme_tugraz import inveniothemetugraz from invenio_theme_tugraz import InvenioThemeTugraz
def test_version(): def test_version():
"""Test version import.""" """Test version import."""
from invenio_theme_tugraz import __version__ from invenio_theme_tugraz import __version__
assert __version__ assert __version__
def test_init(): def test_init():
"""Test extension initialization.""" """Test extension initialization."""
app = Flask('testapp') app = Flask("testapp")
ext = inveniothemetugraz(app) ext = InvenioThemeTugraz(app)
assert 'invenio-theme-tugraz' in app.extensions assert "invenio-theme-tugraz" in app.extensions
app = Flask('testapp') app = Flask("testapp")
ext = inveniothemetugraz() ext = InvenioThemeTugraz()
assert 'invenio-theme-tugraz' not in app.extensions assert "invenio-theme-tugraz" not in app.extensions
ext.init_app(app) ext.init_app(app)
assert 'invenio-theme-tugraz' in app.extensions assert "invenio-theme-tugraz" in app.extensions
def test_view(base_client): def test_app(app):
"""Test view.""" """Test extension initialization."""
res = base_client.get("/") theme = InvenioThemeTugraz(app)
assert res.status_code == 200
assert 'Welcome to invenio-theme-tugraz' in str(res.data)