Compare commits

..

68 Commits

Author SHA1 Message Date
Christoph Ladurner
7cb3b5a83b release v4.0.2 2022-09-09 10:37:05 +02:00
David
936c085f05 css: adapt skip-to-main button (#280) 2022-08-18 18:32:09 +02:00
Christoph Ladurner
d43cf0e4b5 release v4.0.1 2022-08-05 10:28:27 +02:00
Christoph Ladurner
73a344eb52 update translation 2022-08-05 10:28:05 +02:00
Christoph Ladurner
aa37718a2c improve wording on search options 2022-08-05 10:28:05 +02:00
Christoph Ladurner
3a500543c6 release v4.0.0 2022-07-29 13:27:53 +02:00
Christoph Ladurner
e310a4ca38 remove unnecessary html code for header-search-bar
unnecessary because the react component which is handling this id is generating
the html code.
2022-07-29 13:22:52 +02:00
Christoph Ladurner
c3f55030dc fix warning from semantic-ui-react Search component 2022-07-29 13:22:52 +02:00
Christoph Ladurner
95d27fdd8c add marc21 and lom to the searchbar
copy pasted code from invenio_app_rdm/searchbar. it was necessary to
do that to configure the shown list.
2022-07-29 13:22:52 +02:00
Christoph Ladurner
28b956cfaa change searchbar layout and use invenio-app-rdm searchbar
the searchbar is now on the top of the header, left of the language switch. the
new searchbar introduced a new feature, it could handle different indices like
all repository or communities. But the problem is where to place the new search
bar. for the moment the compromise is to put it on the top right.

this position may not be compatible with tugraz layout.
2022-07-29 13:22:52 +02:00
Christoph Ladurner
5ac2a68848 remove grey color of community block and reduce size 2022-07-29 13:22:52 +02:00
Christoph Ladurner
0399814fe0 migrate js to use prettier 2022-07-29 13:22:52 +02:00
Christoph Ladurner
f11facc9d6 release v3.9.3 2022-07-17 20:55:54 +02:00
Christoph Ladurner
c9bc56e168 fix broken search page
the invenioRDM version v9.1 introduced a new search feature. the implementation
assumes that the id header-search-bar exists on the page. if that is not the
case the page will not be rendered.

this fix adds a hidden search element as invenioRDM v9.1 introduced. the page is
not using this at the moment because it would need some further layout
adjustments.

further moves this fix the local search element to the header to be existent on
the index and search page. for the future this should be undone and the new
invenioRDM search should be used.
2022-07-17 20:55:12 +02:00
Mojib Wali
cb9b80668c release: v3.9.2 2022-06-28 15:48:50 +02:00
David
5bf5ce4268 fix: adopt renaming of serialize function (#269) 2022-06-28 15:39:44 +02:00
Mojib Wali
79a9014878 release v3.9.1 2022-06-02 10:38:05 +02:00
David
708d10ae1a fix: restrict babel version (#266) 2022-05-30 15:39:15 +02:00
David
0dc9240e73 dep: adapt to v9 (#263) 2022-05-30 13:58:46 +02:00
David
7f1286bd6b fix: add trigger to accordion (#265) 2022-05-30 13:58:20 +02:00
Christoph Ladurner
f883dc7760 release v3.9.0 2022-05-27 15:32:50 +02:00
Christoph Ladurner
7c250a41fe refactor 2022-05-25 12:47:09 +02:00
Christoph Ladurner
c9ff126c28 align with invenio-app-rdm community changes 2022-05-25 12:47:09 +02:00
Christoph Ladurner
597b8b0905 add .git-blame-ignore-revs 2022-05-12 09:06:52 +02:00
Christoph Ladurner
903498185f migrate to use black as opinionated auto formater 2022-05-12 09:06:52 +02:00
Christoph Ladurner
4fd0501c58 global: migrate setup.py to setup.cfg 2022-05-12 09:06:52 +02:00
mb-wali
d8c91df396 v3.8.0 2022-03-03 11:01:12 +01:00
Mojib Wali
0da96559ec global: migrate to v8 2022-03-03 10:53:03 +01:00
mb-wali
e73fc3633d v3.7.0 2021-12-07 10:01:49 +01:00
David
aa2c3112df dep: bump config module (#252) 2021-12-06 14:51:33 +01:00
David
62d23f104c docs: adjust sphinx to flask2 (#251) 2021-12-06 14:47:55 +01:00
David
07d7e6fa0e update register and login view (#247)
fix: remove redundant closing div tag for register

ui: update register and login template with accordion

styling: modify accordion css

translation: add german translation
2021-11-08 10:33:11 +01:00
Mojib Wali
27f1501b31 v3.6.1 2021-09-01 12:02:36 +02:00
David Eckhard
6299da5ca2 fix: css for ui divider 2021-08-10 11:52:50 +02:00
David Eckhard
9ec241684d fix: add font locally and remove google dependency 2021-08-10 10:29:32 +02:00
Mojib Wali
c73571c2b7 v3.6.0 2021-08-05 10:05:49 +02:00
mb-wali
db52ca8aad config: removes i18n config
This closes #236
2021-08-05 10:05:03 +02:00
mb-wali
21b67cb3e0 revert: removes override for
* records landingpage (details)
* deposit page (deposit create and depsosit edit)
2021-08-05 09:54:12 +02:00
mb-wali
f22e62dfb0 style: changes deposit form segment color
css: refactor variables
2021-07-08 15:31:16 +02:00
mb-wali
8eb5152963 refactor: views & deposit override
separates the views from override deposit
2021-07-08 15:31:07 +02:00
mb-wali
a8a4aab191 i18n: update translations 2021-06-24 13:38:37 +02:00
mb-wali
2815c35590 styling: adds tug logo 2021-06-24 13:38:37 +02:00
mb-wali
fc13dc8228 login_user: extended user login template
adds support for oauth and new configs
2021-06-24 13:38:37 +02:00
Mojib Wali
2290dbe3cb v3.4.1 2021-06-04 12:02:12 +02:00
mb-wali
15f4d5fce3 dep: bump in config module 2021-06-04 11:55:41 +02:00
mb-wali
b76f27c037 global: route blueprint migrated to config-tugraz
This is required to make sure config module is independent
2021-06-04 11:55:41 +02:00
Mojib Wali
4aa72c003b v3.4.0 2021-06-01 12:37:16 +02:00
mb-wali
fb906bda72 global: refactor upon release changes
resource_type: change in index and values of resource type.

func: that will serialize list of records.
2021-06-01 12:32:03 +02:00
mb-wali
808aca3f60 details: modified resource_type 2021-06-01 12:32:03 +02:00
mb-wali
5f49389fb1 global: migrate v4 2021-06-01 12:32:03 +02:00
mb-wali
4930e78c3a documents: adds reference guide version 2 2021-05-27 12:53:59 +02:00
David Eckhard
1ad73cc001 ui: change title to data-tooltip 2021-05-27 12:24:45 +02:00
Mojib Wali
7623af2fb1 v3.0.3 2021-05-17 15:01:47 +02:00
mb-wali
b05d9cbf97 bugfix: removes overrides item 2021-05-17 15:01:26 +02:00
Mojib Wali
ef74ebd075 v3.0.2 2021-05-17 14:44:03 +02:00
mb-wali
af0258580c badges(ui): adds tug theme badge colors 2021-05-17 14:43:23 +02:00
David Eckhard
3423caaa70 refactor: use correct class for badge on index page. css rewrite/comment 2021-05-17 13:40:12 +02:00
David Eckhard
3c616bedd5 ui: adapt color badges 2021-05-17 13:40:12 +02:00
mb-wali
3376040e78 bugfix(ui): logos alignment 2021-05-17 12:40:15 +02:00
mb-wali
9906e0e635 feature: adds credits to footer 2021-05-17 10:33:53 +02:00
Mojib Wali
fa8299a032 v3.0.1 2021-05-07 11:57:20 +02:00
mb-wali
b79e0ff919 documents: adds missing documents
this closes #206
2021-05-07 11:56:06 +02:00
rekt-hard
34ecce4842 ui: display access badge
index: UIJSONSerializer is used in order to serialize the elasticsearch results
2021-05-06 09:46:25 +02:00
mb-wali
e47b2b169a feature: override deposit & deposit edit 2021-05-03 13:56:21 +02:00
Mojib Wali
58c1af28ab v3.0.0 2021-04-30 16:11:45 +02:00
mb-wali
a762615741 global: migrate to v3 2021-04-30 16:11:02 +02:00
Mojib Wali
e141afa602 v2.1.2 2021-04-30 13:52:25 +02:00
mb-wali
2b3d6bce7b dep: restrict config-tugraz to v2 release 2021-04-30 13:51:46 +02:00
69 changed files with 1569 additions and 2618 deletions

View File

@@ -15,15 +15,6 @@ insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
# Python files
[*.py]
indent_size = 4
# isort plugin configuration
known_first_party = invenio_theme_tugraz
multi_line_output = 2
default_section = THIRDPARTY
skip = .eggs
# RST files (used by sphinx)
[*.rst]
indent_size = 4

1
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1 @@
cd71ecd24b8fc2253a58c60082c80a87c8085601

View File

@@ -15,7 +15,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel
pip install setuptools wheel babel
- name: Build package
run: |
python setup.py compile_catalog sdist bdist_wheel

View File

@@ -1,3 +1,11 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2022 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.
name: CI
on:
@@ -20,42 +28,18 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
requirements-level: [min, pypi]
db-service: [postgresql12]
python-version: [3.8, 3.9]
requirements-level: [pypi]
db-service: [postgresql13]
search-service: [elasticsearch7]
exclude:
- python-version: 3.6
requirements-level: pypi
- python-version: 3.7
requirements-level: min
- python-version: 3.8
requirements-level: min
- python-version: 3.9
requirements-level: min
- db-service: postgresql12
requirements-level: min
- search-service: elasticsearch7
requirements-level: min
include:
- db-service: postgresql12
DB_EXTRAS: "postgresql"
- search-service: elasticsearch7
SEARCH_EXTRAS: "elasticsearch7"
env:
DB: ${{ matrix.db-service }}
SEARCH: ${{ matrix.search-service }}
EXTRAS: all,${{ matrix.DB_EXTRAS }},${{ matrix.SEARCH_EXTRAS }}
EXTRAS: tests,${{ matrix.SEARCH_EXTRAS }}
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -67,7 +51,7 @@ jobs:
- name: Generate dependencies
run: |
python -m pip install --upgrade pip setuptools py wheel requirements-builder
pip install wheel requirements-builder
requirements-builder -e "$EXTRAS" --level=${{ matrix.requirements-level }} setup.py > .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt
- name: Cache pip
uses: actions/cache@v2

View File

@@ -5,6 +5,11 @@
# 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.
#
# 1) Create message catalog:
# $ python setup.py extract_messages
# $ python setup.py update_catalog -l de
# $ python setup.py compile_catalog
[main]
host = https://www.transifex.com

View File

@@ -8,6 +8,117 @@
Changes
=======
Version v4.0.2 (release 2022-09-09)
- release v4.0.1
- update translation
- improve wording on search options
Version v4.0.1 (release 2022-08-05)
- update translation
- improve wording on search options
Version v4.0.0 (release 2022-07-29)
- remove unnecessary html code for header-search-bar
- fix warning from semantic-ui-react Search component
- add marc21 and lom to the searchbar
- change searchbar layout and use invenio-app-rdm searchbar
- remove grey color of community block and reduce size
- migrate js to use prettier
Version 3.9.2 (released 2022-06-28)
- fix: adopt renaming of serialize function (#269)
Version 3.9.1 (released 2022-06-02)
- fix: add trigger to accordion (#265)
- dep: adapt to v9 of invenioRDM(#263)
Version 3.9.0 (released 2022-05-27)
- global: migrate setup.py to setup.cfg #260
Version 3.8.0 (released 2022-03-03)
- global: migrate to v8 of invenioRDM #257
Version 3.7.0 (released 2021-12-07)
- dep: bump config module #252
- docs: adjust sphinx to flask2 #251
- update register and login view #247
Version 3.6.1 (released 2021-09-01)
- fix: add font locally and remove google dependency #242
- fix: css for ui divider #243
Version 3.6.0 (released 2021-05-08)
- config: removes i18n config #239
- revert: removes override for details,deposit page #238
- styling: changes deposit form segment color #234
- refactor: views & deposit override #235
- login_user: extended user login template #230
Version 3.4.1 (released 2021-06-04)
- global: route blueprint migrated to config-tugraz #228
Version 3.4.0 (released 2021-06-01)
- documents: adds reference guide version 2 #225
- ui: change title to data-tooltip #224
- global: migrate inveniordm v4 #226
Version 3.0.3 (released 2021-06-01)
- bugfix: removes overrides item #222
Version 3.0.2 (released 2021-05-17)
- feature: adds credits to footer #217
- ui: adapt color badges #220
- badges(ui): adds tug theme badge colors #221
Version 3.0.1 (released 2021-05-07)
- override depsit & edit #210
- ui: display access badge #212
- documents: adds missing documents #216
Version 3.0.0 (released 2021-04-30)
- Migrated to invenioRDM v3 #209
Version 2.0.9 (released 2021-04-15)
- bugfix: created field using old metadata #196
- fix: blur link on click, clickable login with TUG button #194
Version 2.0.6 (released 2021-04-8)
- bugfixes: modified config vars #191
Version 1.9.0 (released 2021-03-11)
- DOI minting #161
- Zammad contact Form #156
Version 1.0.3 (released 2020-07-10)
- firefox compatibility: centering the menu underline #40
- adds font-family #50
Version 1.0.1 (released 2020-07-08)
- Login page modified #48
Version 0.1.0 (released TBD)
- Initial public release.

View File

@@ -34,7 +34,11 @@ recursive-include invenio_theme_tugraz *.svg
recursive-include invenio_theme_tugraz *.less
recursive-include invenio_theme_tugraz *.ico
recursive-include invenio_theme_tugraz *.pdf
recursive-include invenio_theme_tugraz *.ttf
recursive-include invenio_theme_tugraz *.txt
recursive-include tests *.py
recursive-include invenio_theme_tugraz *.jpg
recursive-include invenio_theme_tugraz *.gitkeep
recursive-include .github/workflows *.yml
include .git-blame-ignore-revs

View File

@@ -15,7 +15,6 @@ encoding = utf-8
[jinja2: **/templates/**.html]
encoding = utf-8
extensions = jinja2.ext.autoescape, jinja2.ext.with_
# Extraction from JavaScript files

View File

@@ -8,7 +8,7 @@
"""Sphinx configuration."""
import os
from invenio_theme_tugraz import __version__
# -- General configuration ------------------------------------------------
@@ -44,9 +44,9 @@ source_suffix = ".rst"
master_doc = "index"
# General information about the project.
project = u"invenio-theme-tugraz"
copyright = u"2020, Graz University of Technology"
author = u"Graz University of Technology"
project = "invenio-theme-tugraz"
copyright = "2020, Graz University of Technology"
author = "Graz University of Technology"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -54,17 +54,8 @@ author = u"Graz University of Technology"
#
# The short X.Y version.
# Get the version string. Cannot be done with import!
g = {}
with open(
os.path.join(os.path.dirname(__file__), "..", "invenio_theme_tugraz", "version.py"),
"rt",
) as fp:
exec(fp.read(), g)
version = g["__version__"]
# The full version, including alpha/beta/rc tags.
release = version
release = __version__
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -250,8 +241,8 @@ latex_documents = [
(
master_doc,
"invenio-theme-tugraz.tex",
u"invenio-theme-tugraz Documentation",
u"Graz University of Technology",
"invenio-theme-tugraz Documentation",
"Graz University of Technology",
"manual",
),
]
@@ -285,7 +276,7 @@ man_pages = [
(
master_doc,
"invenio-theme-tugraz",
u"invenio-theme-tugraz Documentation",
"invenio-theme-tugraz Documentation",
[author],
1,
)
@@ -304,7 +295,7 @@ texinfo_documents = [
(
master_doc,
"invenio-theme-tugraz",
u"invenio-theme-tugraz Documentation",
"invenio-theme-tugraz Documentation",
author,
"invenio-theme-tugraz",
"invenio module for TUGRAZ theme.",
@@ -328,6 +319,8 @@ texinfo_documents = [
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
"python": ("https://docs.python.org/", None),
"flask": ("https://flask.palletsprojects.com/", None),
"werkzeug": ("https://werkzeug.palletsprojects.com/", None),
# TODO: Configure external documentation references, eg:
# 'Flask-Admin': ('https://flask-admin.readthedocs.io/en/latest/', None),
}

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020-2022 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
@@ -9,6 +9,7 @@
"""invenio module for TUGRAZ theme."""
from .ext import InvenioThemeTugraz
from .version import __version__
__version__ = "4.0.2"
__all__ = ("__version__", "InvenioThemeTugraz")

View File

@@ -1,203 +0,0 @@
import React, { Component } from "react";
import {
Button,
Card,
Icon,
Label,
Loader,
Dimmer,
Message,
} from "semantic-ui-react";
import { FieldArray } from "formik";
import { FetchDoi, MapDatacite } from "datacite-rest";
export class DoiMint extends Component {
constructor(props) {
super(props);
this.record = props.record || {};
this.configs = props.config || {};
this.metadata = this.record.metadata;
this.is_doi = false;
this.id_doi = "";
// check for existing identifiers
if (
typeof this.metadata.identifiers != "undefined" &&
this.metadata.identifiers != null &&
this.metadata.identifiers.length != null &&
this.metadata.identifiers.length > 0 &&
this.metadata.identifiers[0] != null
) {
for(var identifier of this.metadata.identifiers){
if (identifier.scheme == "doi"){
this.is_doi = true;
this.id_doi = identifier.identifier;
}
}
}
// add metadata to the state
this.state = {
identifiers: [],
showLoader: false,
doi_id: "",
errorMsg: "",
isError: false,
};
}
render() {
// this should fetch a new doi
var pushDoi = (form) => {
// activate the loader
this.setState({
showLoader: true,
});
// get the prefix from backend
const prefix = this.configs.datacite_prefix;
const suffix = this.configs.datacite_suffix;
const host_url = this.configs.datacite_host_url
if (prefix !== null && suffix !== null) {
// get mapped DOI
const mapped = MapDatacite(this.metadata, this.record.id, prefix, suffix, host_url);
const _fetchdoi = new FetchDoi("/getdoi");
// Create a new DOI
_fetchdoi
.create(mapped)
.then((data) => {
// if there is an error
if (data.data.errors) {
this.setState({
showLoader: false,
isError: true,
errorMsg: data.data.errors[0].title,
});
}
// new doi is fetched
else {
// add new identifier
const _identifiers = [
{
identifier: data.data.data.data.id,
scheme: "doi",
},
];
// submit the value to the form
this.setState({ identifiers: _identifiers });
form.setFieldValue(
"metadata.identifiers",
this.state.identifiers
);
this.is_doi = true;
// deactivate the loader
this.setState({
showLoader: false,
doi_id: this.state.identifiers[0].identifier,
});
}
})
.catch((error) => {
console.log("error", error);
});
} else {
this.setState({
showLoader: false,
isError: true,
errorMsg: "Not configured!",
});
}
};
// // get a link of dio
// var doiLink = (doiId) => {
// window.open(`https://doi.org/${doiId}`, "_blank");
// };
return (
<Card className="actions">
<Card.Content>
<Card.Header>
<Icon name="certificate" />
Datacite DOI
</Card.Header>
<Card.Description>
<span style={{ color: "#B6B6B6" }}>
Record must be a <b>published</b> record to mint a DOI.
</span>
</Card.Description>
{this.state.isError && (
<Message negative>
<Message.Header>{this.state.errorMsg}</Message.Header>
<p>Please contact Repository supporters!</p>
</Message>
)}
{/* when the Component is rendered */}
{!this.is_doi && (
<FieldArray name="metadata.identifiers">
{(fieldArrayProps) => {
const { form } = fieldArrayProps;
return (
<div
style={{
marginTop: "10px",
textAlign: "center",
}}
>
<Button
compact
className="save-button"
disabled={!this.record.is_published}
as={"label"}
color="green"
size="large"
onClick={() => pushDoi(form)}
>
<Icon name="certificate" />
Get DOI Now!
</Button>
{this.state.showLoader && (
<Dimmer active inverted>
<Loader inverted>Loading...</Loader>
</Dimmer>
)}
</div>
);
}}
</FieldArray>
)}
{this.is_doi && (
<div
style={{
textAlign: "center",
marginTop: "10px",
}}
>
{this.state.doi_id && (
<Message positive>
<Message.Header>A DOI is registered!</Message.Header>
<p>Please save the deposit. </p>
</Message>
)}
<Label
size="large"
color="blue"
>
<strong>DOI: </strong>
<Label.Detail>{this.state.doi_id || this.id_doi}</Label.Detail>
</Label>
</div>
)}
</Card.Content>
</Card>
);
}
}

View File

@@ -1,47 +0,0 @@
// This file is part of React-Invenio-Deposit
// Copyright (C) 2020 CERN.
// Copyright (C) 2020 Northwestern University.
// Copyright (C) 2021 Graz University of Technology.
//
// React-Invenio-Deposit is free software; you can redistribute it and/or modify it
// under the terms of the MIT License; see LICENSE file for more details.
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { FieldLabel, TextField } from 'react-invenio-forms';
export class PublisherField extends Component {
render() {
const { fieldPath, label, labelIcon, placeholder, required } = this.props;
return (
<TextField
fieldPath={fieldPath}
helpText={
'The publisher is used to formulate the citation, if you are plannig to mint a new DOI this publisher will be cited.'
}
label={
<FieldLabel htmlFor={fieldPath} icon={labelIcon} label={label} />
}
placeholder={placeholder}
required={required}
/>
);
}
}
PublisherField.propTypes = {
fieldPath: PropTypes.string.isRequired,
label: PropTypes.string,
labelIcon: PropTypes.string,
placeholder: PropTypes.string,
required: PropTypes.bool,
};
PublisherField.defaultProps = {
fieldPath: 'metadata.publisher',
label: 'Publisher',
labelIcon: 'building outline',
placeholder: 'Enter publisher name',
};

View File

@@ -1,522 +0,0 @@
// This file is part of InvenioRDM
// Copyright (C) 2020 CERN.
// Copyright (C) 2020 Northwestern University.
// Copyright (C) 2021 Graz University of Technology.
//
// Invenio App RDM is free software; you can redistribute it and/or modify it
// under the terms of the MIT License; see LICENSE file for more details.
import _get from "lodash/get";
import React, { Component, createRef } from "react";
import {
Button,
Card,
Container,
Grid,
Icon,
Ref,
Sticky,
} from "semantic-ui-react";
import {
AccessRightField,
ComingSoonField,
CreatibutorsField,
DatesField,
DepositFormApp,
FormFeedback,
DeleteButton,
DepositFormTitle,
DescriptionsField,
FileUploader,
FundingField,
IdentifiersField,
LanguagesField,
PublishButton,
PublicationDateField,
ResourceTypeField,
SaveButton,
SubjectsField,
TitlesField,
RelatedWorksField,
VersionField,
LicenseField,
} from "react-invenio-deposit";
import { AccordionField } from "react-invenio-forms";
import { DoiMint } from "./DoiMint";
import { PublisherField } from "./PublisherField";
export class RDMDepositForm extends Component {
constructor(props) {
super(props);
this.config = props.config || {};
// TODO: retrieve from backend
this.config["canHaveMetadataOnlyRecords"] = true;
// TODO: Make ALL vocabulary be generated by backend.
// Currently, some vocabulary is generated by backend and some is
// generated by frontend here. Iteration is faster and abstractions can be
// discovered by generating vocabulary here. Once happy with vocabularies,
// then we can generate it in the backend.
this.vocabularies = {
metadata: {
...this.config.vocabularies,
titles: {
...this.config.vocabularies.titles,
},
descriptions: {
type: [
{ text: "Abstract", value: "abstract" },
{ text: "Methods", value: "methods" },
{ text: "Series Information", value: "seriesinformation" },
{ text: "Table of Contents", value: "tableofcontents" },
{ text: "Technical Info", value: "technicalinfo" },
{ text: "Other", value: "other" },
],
},
creators: {
type: [
{ text: "Person", value: "personal" },
{ text: "Organization", value: "organizational" },
],
role: [
{ text: "Editor", value: "editor" },
{ text: "Data Curator", value: "datacurator" },
{ text: "Data Manager", value: "datamanager" },
{ text: "Project Manager", value: "projectmanager" },
],
},
contributors: {
type: [
{ text: "Person", value: "personal" },
{ text: "Organization", value: "organizational" },
],
role: [
{ text: "Editor", value: "editor" },
{ text: "Data Curator", value: "datacurator" },
{ text: "Data Manager", value: "datamanager" },
{ text: "Project Manager", value: "projectmanager" },
],
},
dates: {
type: [
{ text: "Accepted", value: "accepted" },
{ text: "Available", value: "available" },
{ text: "Copyrighted", value: "copyrighted" },
{ text: "Collected", value: "collected" },
{ text: "Created", value: "created" },
{ text: "Issued", value: "issued" },
{ text: "Submitted", value: "submitted" },
{ text: "Updated", value: "updated" },
{ text: "Valid", value: "valid" },
{ text: "Withdrawn", value: "withdrawn" },
{ text: "Other", value: "other" },
],
},
// TODO: Replace with an API backend
funding: {
funder: [
{
name: "National Institutes of Health (US)",
identifier: "funder1",
scheme: "funderScheme1",
},
{
name: "European Commission (EU)",
identifier: "funder2",
scheme: "funderScheme2",
},
],
award: [
{
title: "CANCER &AIDS DRUGS--PRECLIN PHARMACOL/TOXICOLOGY",
number: "N01CM037835-016",
identifier: "awardA",
scheme: "awardSchemeA",
parentScheme: "funderScheme1",
parentIdentifier: "funder1",
},
{
title:
"Beyond the Standard Model at the LHC and with Atom Interferometers.",
number: "228169",
identifier: "awardB1",
scheme: "awardSchemeB",
parentScheme: "funderScheme2",
parentIdentifier: "funder2",
},
{
title: "ENvironmental COnditions in GLAucoma Patients",
number: "747441",
identifier: "awardB2",
scheme: "awardSchemeB",
parentScheme: "funderScheme2",
parentIdentifier: "funder2",
},
],
},
related_identifiers: {
resource_type: this.config.vocabularies.resource_type,
scheme: [
{ text: "ARK", value: "ark" },
{ text: "ARXIV", value: "arxiv" },
{ text: "BIBCODE", value: "bibcode" },
{ text: "DOI", value: "doi" },
{ text: "EAN13", value: "ean13" },
{ text: "EISSN", value: "eissn" },
{ text: "HANDLE", value: "handle" },
{ text: "IGSN", value: "igsn" },
{ text: "ISBN", value: "isbn" },
{ text: "ISSN", value: "issn" },
{ text: "ISTC", value: "istc" },
{ text: "LISSN", value: "lissn" },
{ text: "LSID", value: "lsid" },
{ text: "PMID", value: "pmid" },
{ text: "PURL", value: "purl" },
{ text: "UPC", value: "upc" },
{ text: "URL", value: "url" },
{ text: "URN", value: "urn" },
{ text: "W3ID", value: "w3id" },
],
relations: [
{ text: "Is cited by", value: "iscitedby" },
{ text: "Cites", value: "cites" },
{ text: "Is supplement to", value: "issupplementto" },
{ text: "Is supplemented by", value: "issupplementedby" },
{ text: "Is continued by", value: "iscontinuedby" },
{ text: "Continues", value: "continues" },
{ text: "Is described by", value: "isdescribedby" },
{ text: "Describes", value: "describes" },
{ text: "Has metadata", value: "hasmetadata" },
{ text: "Is metadata for", value: "ismetadatafor" },
{ text: "Has version", value: "hasversion" },
{ text: "Is version of", value: "isversionof" },
{ text: "Is new version of", value: "isnewversionof" },
{ text: "Is previous version of", value: "ispreviousversionof" },
{ text: "Is part of", value: "ispartof" },
{ text: "Has part", value: "haspart" },
{ text: "Is referenced by", value: "isreferencedby" },
{ text: "References", value: "references" },
{ text: "Is documented by", value: "isdocumentedby" },
{ text: "Documents", value: "documents" },
{ text: "Is compiled by", value: "iscompiledby" },
{ text: "Compiles", value: "compiles" },
{ text: "Is variant form of", value: "isvariantformof" },
{ text: "Is original form of", value: "isoriginalformof" },
{ text: "Is identical to", value: "isidenticalto" },
{ text: "Is reviewed by", value: "isreviewedby" },
{ text: "Reviews", value: "reviews" },
{ text: "Is derived from", value: "isderivedfrom" },
{ text: "Is source of", value: "issourceof" },
{ text: "Is required by", value: "isrequiredby" },
{ text: "Requires", value: "requires" },
{ text: "Is obsoleted by", value: "isobsoletedby" },
{ text: "Obsoletes", value: "obsoletes" },
],
},
subjects: {
options: [
{
text: "Deep Learning",
value: {
subject: "Deep Learning",
scheme: "user",
identifier: "U1",
},
},
{
text: "MeSH: Cognitive Neuroscience",
value: {
subject: "Cognitive Neuroscience",
scheme: "mesh",
identifier: "D000066494",
},
},
{
text: "FAST: Glucagonoma",
value: {
subject: "Glucagonoma",
scheme: "fast",
identifier: "943672",
},
},
],
limitToOptions: [
{ text: "All", value: "all" },
{ text: "MeSH", value: "mesh" },
{ text: "FAST", value: "fast" },
],
},
},
};
// check if files are present
this.noFiles = false;
if (
!Array.isArray(this.props.files.entries) ||
(!this.props.files.entries.length && this.props.record.is_published)
) {
this.noFiles = true;
}
}
formFeedbackRef = createRef();
sidebarRef = createRef();
accordionStyle = {
header: { className: "inverted brand", style: { cursor: "pointer" } },
};
render() {
return (
<DepositFormApp
config={this.config}
record={this.props.record}
files={this.props.files}
permissions={this.props.permissions}
>
<FormFeedback fieldPath="message" />
<Container style={{ marginTop: "10px" }}>
<DepositFormTitle />
<Grid>
<Grid.Row>
<Grid.Column width={11}>
<AccordionField
fieldPath=""
active={true}
label={"Files"}
ui={this.accordionStyle}
>
{this.noFiles && this.props.record.is_published && (
<p
style={{
textAlign: "center",
opacity: "0.5",
cursor: "default !important",
}}
>
<em>The record has no files.</em>
</p>
)}
<FileUploader
isDraftRecord={!this.props.record.is_published}
quota={{
maxFiles: 100,
maxStorage: 10 ** 10,
}}
/>
</AccordionField>
{/**TODO: uncomment to use IdentifiersField*/}
{/* <AccordionField
fieldPath=""
active={true}
label={"Files"}
ui={this.accordionStyle}
>
<IdentifiersField />
<ComingSoonField
fieldPath="metadata.identifiers"
label="Identifier(s)"
labelIcon="barcode"
/>
<br />
</AccordionField> */}
<AccordionField
fieldPath=""
active={true}
label={"Basic Information"}
ui={this.accordionStyle}
>
<ResourceTypeField
options={this.vocabularies.metadata.resource_type}
required
/>
<TitlesField
options={this.vocabularies.metadata.titles}
required
/>
<PublicationDateField required />
<CreatibutorsField
label={"Creators"}
labelIcon={"user"}
fieldPath={"metadata.creators"}
roleOptions={this.vocabularies.metadata.creators.role}
schema="creators"
required
/>
<DescriptionsField
options={this.vocabularies.metadata.descriptions}
editorConfig={{
removePlugins: [
"Image",
"ImageCaption",
"ImageStyle",
"ImageToolbar",
"ImageUpload",
"MediaEmbed",
"Table",
"TableToolbar",
"TableProperties",
"TableCellProperties",
],
}}
/>
<LicenseField
fieldPath="metadata.rights"
searchConfig={{
searchApi: {
axios: {
headers: {
Accept: "application/vnd.inveniordm.v1+json",
},
url: "/api/vocabularies/licenses",
withCredentials: false,
},
},
initialQueryState: {
filters: [["tags", "recommended"]],
},
}}
serializeLicenses={(result) => ({
title: result.title_l10n,
description: result.description_l10n,
id: result.id,
link: result.props.url,
})}
/>
<br />
</AccordionField>
<AccordionField
fieldPath=""
active={true}
label={"Recommended Information"}
ui={this.accordionStyle}
>
<CreatibutorsField
addButtonLabel={"Add contributor"}
label={"Contributors"}
labelIcon={"user plus"}
fieldPath={"metadata.contributors"}
roleOptions={this.vocabularies.metadata.contributors.role}
schema="contributors"
modal={{
addLabel: "Add contributor",
editLabel: "Edit contributor",
}}
/>
{/**TODO: uncomment to use Subjects*/}
{/* <SubjectsField
initialOptions={_get(
this.props.record,
"metadata.subjects",
null
)}
limitToOptions={
this.vocabularies.metadata.subjects.limitToOptions
}
/>
<ComingSoonField
fieldPath="metadata.subjects"
label="Subjects"
labelIcon="tag"
/> */}
{/**TODO- enable once issue is solved:
* https://github.com/inveniosoftware/invenio-app-rdm/issues/738
*/}
{/* <LanguagesField
initialOptions={_get(
this.props.record,
"ui.languages",
[]
).filter((lang) => lang !== null)} // needed because dumped empty record from backend gives [null]
serializeSuggestions={(suggestions) =>
suggestions.map((item) => ({
text: item.title_l10n,
value: item.id,
key: item.id,
}))
}
/> */}
<DatesField options={this.vocabularies.metadata.dates} />
<VersionField />
<PublisherField required />
<br />
</AccordionField>
{/**TODO: uncomment to use FundingField*/}
{/* <AccordionField
fieldPath=""
active={true}
label={"Funding"}
ui={this.accordionStyle}
>
<FundingField options={this.vocabularies.metadata.funding} />
<ComingSoonField
fieldPath="metadata.funding"
label="Awards"
labelIcon="money bill alternate outline"
/>
<br />
</AccordionField> */}
<AccordionField
fieldPath=""
active={true}
label={"Related works"}
ui={this.accordionStyle}
>
<RelatedWorksField
options={this.vocabularies.metadata.related_identifiers}
/>
<br />
</AccordionField>
</Grid.Column>
<Ref innerRef={this.sidebarRef}>
<Grid.Column width={5} className="deposit-sidebar">
<Sticky context={this.sidebarRef} offset={50}>
<Card className="actions">
<Card.Content>
<SaveButton fluid className="save-button" />
<PublishButton fluid />
</Card.Content>
</Card>
<Card className="actions">
<Card.Content>
<DeleteButton
fluid
// TODO: make is_published part of the API response
// so we don't have to do this
isPublished={this.props.record.is_published}
/>
</Card.Content>
</Card>
<AccessRightField
label={"Protection"}
labelIcon={"shield"}
/>
{this.config.data_cite && (
<DoiMint
record={this.props.record}
config={this.config.data_cite}
/>
)}
</Sticky>
</Grid.Column>
</Ref>
</Grid.Row>
</Grid>
</Container>
</DepositFormApp>
);
}
}

View File

@@ -1,23 +0,0 @@
// This file is part of InvenioRDM
// Copyright (C) 2020 CERN.
// Copyright (C) 2020 Northwestern University.
//
// Invenio App RDM is free software; you can redistribute it and/or modify it
// under the terms of the MIT License; see LICENSE file for more details.
import React from "react";
import ReactDOM from "react-dom";
import "semantic-ui-css/semantic.min.css";
import { getInputFromDOM } from "react-invenio-deposit";
import { RDMDepositForm } from "./RDMDepositForm";
ReactDOM.render(
<RDMDepositForm
record={getInputFromDOM("deposits-record")}
files={getInputFromDOM("deposits-record-files")}
config={getInputFromDOM("deposits-config")}
permissions={getInputFromDOM("deposits-record-permissions")}
/>,
document.getElementById("deposit-form")
);

View File

@@ -1,324 +0,0 @@
/*
* 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_app_rdm/search/components.js
*/
import React, { useState } from "react";
import { Card, Item, Input, Label, Button, Grid, Checkbox, List, } from "semantic-ui-react";
import { BucketAggregation, Toggle } from "react-searchkit";
import _ from "lodash";
import _truncate from "lodash/truncate";
import Overridable from "react-overridable";
import { SearchBar } from "@js/invenio_search_ui/components";
export const RDMRecordResultsListItem = ({ result, index }) => {
const description = _.get(result, "metadata.description", "No description");
const version = _.get(result, "metadata.version", "");
const creators = _.get(result, "metadata.creators", []);
const title = _.get(result, "metadata.title", "No title");
const subjects = _.get(result, "metadata.subjects", null);
const rights = _.get(result, "metadata.rights", null)
const publicationDate = _.get(result, "ui.publication_date_l10n_long", "No publication date found");
const createdDate = _.get(result, "ui.created_date_l10n_long", "No creation date found.");
const resourceType = _.get(result, "ui.resource_type", "No resource type");
const access = _.get(result, "ui.access_right.title", "No access rights");
const accessRightCategory = _.get(result, "ui.access_right.category", "closed");
const accessRightIcon = _.get(result, "ui.access_right.icon", "closed");
const accessRight = {type: access, category: accessRightCategory, icon: accessRightIcon, rights};
const href = `/records/${result.id}`;
return (
<Item key={index}>
<Item.Content>
<div className="badges">
<Label className="record-version">
{publicationDate} {version ? `(${version})` : null}
</Label>
<Label className="teal">
{resourceType}
</Label>
</div>
<Item.Header href={href}>{title}</Item.Header>
<Creators creators={creators}/>
<Item.Description href={href}>
{_truncate(description.replace(/(<([^>]+)>)/ig, ''), { length: 350 })}
</Item.Description>
<Footer subjects={subjects} createdDate={createdDate} accessRight={accessRight}/>
</Item.Content>
</Item>
);
};
const Creators = ({creators}) => {
const creatorTags = creators.map((creator, index) => {
return <Creator key={index} creator={creator}/>;
});
return (
<div className="creators">
{creatorTags}
</div>
);
};
const Identifiers = ({creator}) => {
return (
<div className="identifiers">
{_.isObject(creator.identifiers) && creator.identifiers.hasOwnProperty("orcid") &&
<Orcid creator={creator}/>
}
</div>
);
};
const Orcid = ({creator}) => {
const href = `https://orcid.org/${creator.identifiers.orcid}`
return (
<a href={href} target="_blank">
<img className="inline-orcid" src="/static/extra/orcid.png"/>
</a>
);
};
const Creator = ({creator}) => {
return (
<div className="creator">
<Identifiers creator={creator}/>
<span className="text-muted">{creator.person_or_org.name}</span>
</div>
);
};
const Footer = ({subjects, createdDate, accessRight}) => {
return (
<Item.Extra>
<div className="left floated column">
{subjects && subjects.map((subject, index) => (
<Label key={index} size="tiny">
{subject.subject}
</Label>
))}
{createdDate && (
<div>
<small>
Uploaded on <span>{createdDate}</span>
</small>
</div>
)}
</div>
<div className="right floated column">
<span className={`ui access-right ${accessRight.category}`}>
<i className={`icon ${accessRight.icon}`}></i>
{accessRight.type} {accessRight.rights && accessRight.rights.map((right, index) => (
<a key={index} href={right.uri}>({right.identifier})</a>
))}
</span>
</div>
</Item.Extra>
);
};
/**
* ATTENTION:
* The following classes are only here because it is not easily possible to
* import it from the original module.
* If there is in the future a possibility to import following classes from
* invenio_app_rdm then this should be done!
*/
export const RDMRecordResultsGridItem = ({ result, index }) => {
const description = _.get(result, "metadata.description", "No description");
return (
<Card fluid key={index} href={`/records/${result.pid}`}>
<Card.Content>
<Card.Header>{result.metadata.title}</Card.Header>
<Card.Description>
{_truncate(description, { length: 200 })}
</Card.Description>
</Card.Content>
</Card>
);
};
export const RDMRecordSearchBarContainer = () => {
return (
<Overridable id={"SearchApp.searchbar"}>
<SearchBar />
</Overridable>
);
};
export const RDMRecordSearchBarElement = ({
placeholder: passedPlaceholder,
queryString,
onInputChange,
executeSearch,
}) => {
const placeholder = passedPlaceholder || "Search";
const onBtnSearchClick = () => {
executeSearch();
};
const onKeyPress = (event) => {
if (event.key === "Enter") {
executeSearch();
}
};
return (
<Input
action={{
icon: "search",
onClick: onBtnSearchClick,
className: "search",
}}
placeholder={placeholder}
onChange={(event, { value }) => {
onInputChange(value);
}}
value={queryString}
onKeyPress={onKeyPress}
/>
);
};
export const RDMRecordFacetsValues = ({
bucket,
isSelected,
onFilterClicked,
getChildAggCmps,
}) => {
const childAggCmps = getChildAggCmps(bucket);
const [isActive, setisActive] = useState(false);
const hasChildren = childAggCmps && childAggCmps.props.buckets.length > 0;
return (
<List.Item key={bucket.key}>
<div
className={`title ${hasChildren ? "" : "facet-subtitle"} ${
isActive ? "active" : ""
}`}
>
<List.Content floated="right">
<Label circular>{bucket.doc_count}</Label>
</List.Content>
{hasChildren ? (
<i
className={`angle ${isActive ? "down" : "right"} icon`}
onClick={() => setisActive(!isActive)}
></i>
) : null}
<Checkbox
label={bucket.label}
value={bucket.key}
onClick={() => onFilterClicked(bucket.key)}
checked={isSelected}
/>
</div>
<div className={`content facet-content ${isActive ? "active" : ""}`}>
{childAggCmps}
</div>
</List.Item>
);
};
const SearchHelpLinks = () => {
return (
<Overridable id={"RdmSearch.SearchHelpLinks"}>
<Grid className="padded-small">
<Grid.Row className="no-padded">
<Grid.Column>
<Card className="borderless-facet">
<Card.Content>
<a>Advanced search</a>
</Card.Content>
</Card>
</Grid.Column>
</Grid.Row>
<Grid.Row className="no-padded">
<Grid.Column>
<Card className="borderless-facet">
<Card.Content>
<a>Search guide</a>
</Card.Content>
</Card>
</Grid.Column>
</Grid.Row>
</Grid>
</Overridable>
);
};
export const RDMRecordFacets = ({ aggs, currentResultsState }) => {
return (
<>
<Toggle
title="Versions"
label="View all versions"
filterValue={["all_versions", "true"]}
/>
{aggs.map((agg) => {
return (
<div key={agg.title} className="ui accordion">
<BucketAggregation title={agg.title} agg={agg} />
</div>
);
})}
<SearchHelpLinks />
</>
);
};
export const RDMBucketAggregationElement = ({ title, containerCmp }) => {
return (
<Card className="borderless-facet">
<Card.Content>
<Card.Header>{title}</Card.Header>
</Card.Content>
<Card.Content>{containerCmp}</Card.Content>
</Card>
);
};
export const RDMToggleComponent = ({
updateQueryFilters,
userSelectionFilters,
filterValue,
label,
title,
isChecked,
}) => {
const _isChecked = (userSelectionFilters) => {
const isFilterActive =
userSelectionFilters.filter((filter) => filter[0] === filterValue[0])
.length > 0;
return isFilterActive;
};
const onToggleClicked = () => {
updateQueryFilters(filterValue);
};
var isChecked = _isChecked(userSelectionFilters);
return (
<Card className="borderless-facet">
<Card.Content>
<Card.Header>{title}</Card.Header>
</Card.Content>
<Card.Content>
<Checkbox
toggle
label={label}
onClick={onToggleClicked}
checked={isChecked}
/>
</Card.Content>
</Card>
);
};

View File

@@ -1,30 +0,0 @@
/*
* 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.
*/
import { defaultComponents, createSearchAppInit } from "@js/invenio_search_ui";
import {
RDMRecordResultsListItem,
RDMBucketAggregationElement,
RDMRecordFacets,
RDMRecordFacetsValues,
RDMRecordResultsGridItem,
RDMRecordSearchBarContainer,
RDMRecordSearchBarElement,
RDMToggleComponent,
} from "./components";
const initSearchApp = createSearchAppInit({
"ResultsList.item": RDMRecordResultsListItem,
"BucketAggregation.element": RDMBucketAggregationElement,
"BucketAggregationValues.element": RDMRecordFacetsValues,
"ResultsGrid.item": RDMRecordResultsGridItem,
"SearchApp.facets": RDMRecordFacets,
"SearchApp.searchbarContainer": RDMRecordSearchBarContainer,
"SearchBar.element": RDMRecordSearchBarElement,
"SearchFilters.ToggleComponent": RDMToggleComponent,
});

View File

@@ -1,5 +1,9 @@
import $ from 'jquery';
import 'semantic-ui-css';
import $ from "jquery";
import "semantic-ui-css";
import { MultipleOptionsSearchBar } from "@js/invenio_search_ui/components";
import { i18next } from "@translations/invenio_app_rdm/i18next";
import ReactDOM from "react-dom";
import React from "react";
// called on document ready
$(function () {
@@ -13,23 +17,21 @@ function importZammadScript() {
document.head.appendChild(scriptNode);
$.getScript("https://ub-support.tugraz.at/assets/form/form.js", () => {
$('#feedback-form').ZammadForm({
messageTitle: 'Contact us',
$("#feedback-form").ZammadForm({
messageTitle: "Contact us",
showTitle: true,
messageSubmit: 'Submit',
messageThankYou: 'Thank you for your message, (#%s). We will get back to you as quickly as possible!',
modal: true
messageSubmit: "Submit",
messageThankYou:
"Thank you for your message, (#%s). We will get back to you as quickly as possible!",
modal: true,
});
});
}
// used for sticky test instance notification
$('.ui.sticky.test-instance')
.sticky({
context: 'body'
})
;
$(".ui.sticky.test-instance").sticky({
context: "body",
});
export function toggleVisibility(id) {
var element = document.getElementById(id);
@@ -39,3 +41,14 @@ export function toggleVisibility(id) {
}
window.toggleVisibility = toggleVisibility;
const headerSearchbar = document.getElementById("header-search-bar");
const searchBarOptions = JSON.parse(headerSearchbar.dataset.options);
ReactDOM.render(
<MultipleOptionsSearchBar
options={searchBarOptions}
placeholder={i18next.t("Search records...")}
/>,
headerSearchbar
);

View File

@@ -0,0 +1,14 @@
/*
* Copyright (C) 2022 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.
*/
.ui.container.page-subheader-outer {
background-color: unset;
}
.ui.fluid.container {
width: fit-content;
}

View File

@@ -0,0 +1,15 @@
/*
* Copyright (C) 2021 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.
*/
// deposit form segment styling
.ui.inverted.brand.segment {
background-color: @greyLight !important;
color: @tugrazBlack !important;
label {
color: @tugrazBlack;
}
}

View File

@@ -0,0 +1,93 @@
Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -46,6 +46,9 @@
}
}
}
div .logos a:hover {
background-color: transparent !important;
}
}
.bodytext{

View File

@@ -20,9 +20,11 @@ h2 {
margin-inline-end: 0px;
}
.record-version {
color: @greyDark;
.ui.blue.labels .label,
.ui.blue.label {
color: @greyDark !important;
background-color: @recordVersionBackground !important;
border-color: @recordVersionBackground !important;
}
.random-records-frontpage article {

View File

@@ -187,6 +187,7 @@ svg:not(:root) {
.main-menu-underline-line {
border: 2px solid @greyLight !important;
border-radius: 0;
background-color: @greyLight;
}
#margin-divider{
@@ -254,3 +255,10 @@ span.home-inline{
border: solid @notificationBorder 1px;
z-index: 100000;
}
#skip-to-main {
background-color: @primaryButton;
&:focus {
background-color: @primaryButtonInverted;
}
}

View File

@@ -77,12 +77,25 @@ pre {
background-color: @tugrazRed;
}
.ui.button:hover,
.ui.search.button:hover {
background-color: @primaryButtonHoverBackground;
/***
* accordion title
***/
.ui.accordion.styled {
.title,
.title.active {
background-color: @greyLight;
color: rgba(0, 0, 0, 0.6);
}
}
.ui.button:hover {
/***
* buttons hover and accordion hover
***/
.ui.button:hover,
.ui.search.button:hover,
.ui.accordion.styled .title:hover,
.ui.accordion.styled .accordion .title:hover {
background-color: @primaryButtonHoverBackground;
color: @primaryButton;
}
@@ -97,6 +110,7 @@ pre {
.ui.input > input, /* it seams redundant but it is not */
.ui.segment,
.ui.selection.dropdown,
.ui.accordion.styled,
.ui.card,
.ui.cards > .card,
.ui.basic.button, .ui.basic.buttons .button,
@@ -123,32 +137,32 @@ pre {
font-weight: 400;
}
.ui.label.access-right {
float: right;
color: @accessRight;
background-color: white;
// override access badges color
.ui.label.access-status {
&.open {
color: @accessRightOpen;
background-color: white;
}
&.restricted {
color: @accessRightRestricted;
background-color: white;
background-color: @accessRightOpen;
}
&.embargoed {
color: @accessRightEmbargoed;
background-color: white;
background-color: @accessRightEmbargoed;;
}
&.metadata-only {
background-color: @accessRightMetadata;
}
}
&.closed {
color: @accessRightClosed;
background-color: white;
@font-face {
font-family: "Source Sans Pro";
src: url('./fonts/SourceSansPro/SourceSansPro-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}
}
@font-face {
font-family: "Source Sans Pro";
src: url('./fonts/SourceSansPro/SourceSansPro-Italic.ttf') format('truetype');
font-weight: 400;
font-style: italic;
}

View File

@@ -26,3 +26,14 @@
.identifiers {
display: inline;
}
// // align badges to the right
// .ui.items > .item .extra.labels-actions {
// float: right;
// width: auto;
// // remove action buttons from search results
// .ui.small.compact.right.floated.button {
// display: none;
// }
// }

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020-2022 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.
@@ -14,8 +14,8 @@
@import "search";
@import "macros";
@import "login";
@import (css)
url("https://fonts.googleapis.com/css?family=Source+Sans+Pro&display=swap");
@import "deposit";
@import "communities";
/***
**TODO:
@@ -33,3 +33,7 @@
transition: background-color 0.15s ease 0s, color 0.15s ease 0s;
outline: none;
}
.nowrap-link {
white-space: nowrap;
}

View File

@@ -17,15 +17,20 @@
// badge colors, accessibility
@accessRight : #e9711c;
@accessRightOpen : #e9711c;
@accessRightOpen : @accessRight;
@accessRightRestricted: #fbbd08;
@accessRightEmbargoed : #db2828;
@accessRightClosed : #db2828;
@accessRightClosed : @accessRightEmbargoed;
@accessRightMetadata : #2185D0;
// primary colors TU Graz
@tugrazBlack: #231f20;
@tugrazRed : #e4154b;
// general
@primaryBackground: #fff;
@primaryText : #000;
// accent colors
@greyDark : #777;
@@ -35,24 +40,19 @@
// link and button colors
@primaryLinkInverted : #000;
@primaryLinkBackgroundInverted: #fff;
@primaryLink : #fff;
@primaryLinkHoverBackground : #000;
@primaryButton : #fff;
@primaryButtonHoverBackground : #000;
@primaryButtonInverted : #000f;
@primaryLinkInverted : @primaryText;
@primaryLinkBackgroundInverted: @primaryBackground;
@primaryLink : @primaryBackground;
@primaryLinkHoverBackground : @primaryText;
@primaryButton : @primaryBackground;
@primaryButtonHoverBackground : @primaryText;
@primaryButtonInverted : @primaryText;
// general
@primaryBackground: #fff;
@primaryText : #000;
// account (signin, signup) specific
@primaryFormAccounts : #fff;
@primaryFormAccounts : @primaryBackground;
@formAccountsInputPlaceholder : silver;
@fieldInputSelectionBackground: #50a2ce;
@signInBackground : #245b78;

View File

@@ -9,7 +9,6 @@
"""invenio module for TUGRAZ theme."""
from flask_babelex import gettext as _
from invenio_app_rdm.config import RECORDS_UI_ENDPOINTS
INVENIO_THEME_TUGRAZ_DEFAULT_VALUE = _("TU Graz Repository")
"""Default value for the application."""
@@ -17,9 +16,7 @@ INVENIO_THEME_TUGRAZ_DEFAULT_VALUE = _("TU Graz Repository")
INVENIO_THEME_TUGRAZ_BASE_TEMPLATE = "invenio_theme_tugraz/base.html"
"""TU Graz Default base template"""
INVENIO_THEME_TUGRAZ_ACCOUNT_BASE = (
"invenio_theme_tugraz/accounts/accounts_base.html"
)
INVENIO_THEME_TUGRAZ_ACCOUNT_BASE = "invenio_theme_tugraz/accounts/accounts_base.html"
"""TU Graz Default account base template"""
INVENIO_THEME_TUGRAZ_ICON = "images/icon_use.png"
@@ -76,20 +73,9 @@ THEME_SITENAME = _("Repository")
SECURITY_LOGIN_USER_TEMPLATE = "invenio_theme_tugraz/accounts/login_user.html"
"""Login template"""
SECURITY_REGISTER_USER_TEMPLATE = (
"invenio_theme_tugraz/accounts/register_user.html"
)
SECURITY_REGISTER_USER_TEMPLATE = "invenio_theme_tugraz/accounts/register_user.html"
"""Sigup template"""
# Invenio-I18N
# ============
# See https://invenio-i18n.readthedocs.io/en/latest/configuration.html
BABEL_DEFAULT_LOCALE = "en"
# Default time zone
BABEL_DEFAULT_TIMEZONE = "Europe/Vienna"
# Other supported languages (do not include BABEL_DEFAULT_LOCALE in list).
I18N_LANGUAGES = [("de", _("German"))]
# Invenio-app-rdm
# =============
# See https://invenio-app-rdm.readthedocs.io/en/latest/configuration.html
@@ -119,17 +105,4 @@ DEPOSITS_HEADER_TEMPLATE = "invenio_theme_tugraz/header.html"
TUG_ROUTES = {
"index": "/",
"comingsoon": "/comingsoon",
"guide": "/guide",
"terms": "/terms",
"gdpr": "/gdpr",
"deposit_create": "/uploads/new",
"deposit_edit": "/uploads/<pid_value>",
"getdoi": "/getdoi",
"record_detail": "/records/<pid_value>",
}
# Datacite
# INVENIO_DATACITE_URL = ""
# INVENIO_DATACITE_UNAME = ""
# INVENIO_DATACITE_PASS = "password"
# INVENIO_DATACITE_PREFIX = ""

View File

@@ -9,7 +9,7 @@
"""invenio module for TUGRAZ theme."""
from . import config
from .views import deposit_create, deposit_edit, index, record_detail
from .views import index
class InvenioThemeTugraz(object):
@@ -25,9 +25,6 @@ class InvenioThemeTugraz(object):
# add index route rule
# https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.add_url_rule
app.add_url_rule("/", "index", index)
app.add_url_rule("/uploads/new", "deposit_create", deposit_create)
app.add_url_rule("/uploads/<pid_value>", "deposit_edit", deposit_edit)
app.add_url_rule("/records/<pid_value>", "record_detail", record_detail)
self.init_config(app)
app.extensions["invenio-theme-tugraz"] = self

View File

@@ -8,8 +8,6 @@
"""Frontpage records."""
from __future__ import absolute_import, print_function
from elasticsearch_dsl.query import Q
from invenio_search.api import RecordsSearch
@@ -22,5 +20,6 @@ class FrontpageRecordsSearch(RecordsSearch):
index = "rdmrecords-records"
default_filter = Q(
"query_string", query=(
"access.record:public " "AND versions.is_latest:true"))
"query_string",
query=("access.record:public " "AND versions.is_latest:true"),
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,349 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="tracés_techniques"
data-name="tracés techniques"
viewBox="0 0 164.5 162"
version="1.1"
sodipodi:docname="inveniordm-tail.svg"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
inkscape:export-filename="/Users/jbenito/cernbox-dr/Services_Projects/Invenio/Stationary/Stickers/inveniordm-logo.png"
inkscape:export-xdpi="1050.47"
inkscape:export-ydpi="1050.47">
<metadata
id="metadata8884">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>inveni</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1156"
id="namedview8882"
showgrid="false"
inkscape:zoom="5.8209877"
inkscape:cx="82.25"
inkscape:cy="81"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="g10401"
showguides="true"
inkscape:guide-bbox="true"
inkscape:pagecheckerboard="true">
<sodipodi:guide
position="104.19363,108.0604"
orientation="0,1"
id="guide10153"
inkscape:locked="false" />
<sodipodi:guide
position="97.87095,97.243907"
orientation="0,1"
id="guide10155"
inkscape:locked="false" />
<sodipodi:guide
position="59.984887,98.88665"
orientation="1,0"
inkscape:locked="false"
id="guide10173" />
<sodipodi:guide
position="0.36464977,117.63145"
orientation="1,0"
inkscape:locked="false"
id="guide10175" />
<sodipodi:guide
position="12.735418,125.98478"
orientation="0,1"
inkscape:locked="false"
id="guide5142" />
<sodipodi:guide
position="26.703297,95.857988"
orientation="0,1"
inkscape:locked="false"
id="guide5144" />
</sodipodi:namedview>
<defs
id="defs8802">
<linearGradient
inkscape:collect="always"
id="linearGradient9726">
<stop
style="stop-color:#0377cd;stop-opacity:1;"
offset="0"
id="stop9722" />
<stop
style="stop-color:#fb8273;stop-opacity:1"
offset="1"
id="stop9724" />
</linearGradient>
<style
id="style8800">.cls-1{fill:#2e6b8d;}.cls-2{fill:#fff;}.cls-3{fill:none;stroke:#fff;stroke-width:1.19px;}.cls-4{isolation:isolate;}.cls-5{fill:#66c5ee;}</style>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient9726"
id="linearGradient9728"
x1="83.806313"
y1="123.8721"
x2="82.227898"
y2="14.32421"
gradientUnits="userSpaceOnUse" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath10405">
<rect
style="fill:#0000ff;fill-rule:evenodd;stroke-width:2.32305741"
id="rect10407"
width="84.355652"
height="160.25584"
x="280.57312"
y="-25.69305" />
</clipPath>
</defs>
<title
id="title8804">inveni</title>
<text
id="text8818" />
<g
inkscape:groupmode="layer"
id="g10401"
inkscape:label="Layer 8"
style="display:inline">
<path
style="fill:url(#linearGradient9728);fill-opacity:1"
id="path10323"
class="cls-1"
d="M 20,117 V 45 L 82.25,9 144.47,45 v 72 l -62.22,36 z"
inkscape:connector-curvature="0" />
<g
transform="rotate(-60,83.460224,80.384206)"
id="g10365"
class="cls-4"
style="isolation:isolate">
<g
class="cls-4"
id="g10363"
style="isolation:isolate">
<path
class="cls-2"
d="m 32,114.22 0.47,0.26 -1.55,2.72 -0.47,-0.27 z m 0.58,-1 0.47,0.27 -0.29,0.52 -0.47,-0.27 z"
id="path10325"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 33.19,114.87 0.43,0.25 -0.22,0.38 a 1.55,1.55 0 0 1 0.61,-0.11 1.41,1.41 0 0 1 0.54,0.17 0.93,0.93 0 0 1 0.55,0.86 1.65,1.65 0 0 1 -0.25,0.7 l -1,1.75 -0.47,-0.27 1,-1.72 a 1,1 0 0 0 0.16,-0.44 0.5,0.5 0 0 0 -0.3,-0.51 1.07,1.07 0 0 0 -0.28,-0.12 0.73,0.73 0 0 0 -0.46,0 0.76,0.76 0 0 0 -0.31,0.2 2.27,2.27 0 0 0 -0.27,0.39 l -0.81,1.43 -0.46,-0.26 z"
id="path10327"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 36.31,116.65 -0.54,2.64 2,-1.79 0.51,0.29 -2.59,2.14 -0.48,-0.27 0.55,-3.31 z"
id="path10329"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 40.33,119.05 a 1.18,1.18 0 0 1 0.21,0.59 1.54,1.54 0 0 1 -0.09,0.59 3.86,3.86 0 0 1 -0.31,0.62 l -2,-1.13 a 1.31,1.31 0 0 0 -0.18,0.78 0.71,0.71 0 0 0 0.41,0.57 0.83,0.83 0 0 0 0.71,0.09 1,1 0 0 0 0.35,-0.22 l 0.45,0.25 a 0.93,0.93 0 0 1 -0.31,0.27 1.55,1.55 0 0 1 -0.4,0.18 1.28,1.28 0 0 1 -0.67,0 3.09,3.09 0 0 1 -0.39,-0.17 1.34,1.34 0 0 1 -0.65,-0.87 1.67,1.67 0 0 1 0.25,-1.24 1.84,1.84 0 0 1 1,-0.86 1.33,1.33 0 0 1 1.16,0.12 1.47,1.47 0 0 1 0.46,0.43 z m -0.45,1.17 a 1.27,1.27 0 0 0 0.14,-0.55 0.75,0.75 0 0 0 -0.43,-0.69 0.79,0.79 0 0 0 -0.65,-0.07 1,1 0 0 0 -0.56,0.45 z"
id="path10331"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 41.59,119.67 0.43,0.25 -0.22,0.39 a 1.39,1.39 0 0 1 0.61,-0.11 1.26,1.26 0 0 1 0.54,0.17 0.93,0.93 0 0 1 0.55,0.86 1.57,1.57 0 0 1 -0.25,0.69 l -1,1.76 -0.47,-0.27 1,-1.72 a 1.19,1.19 0 0 0 0.15,-0.45 0.52,0.52 0 0 0 -0.3,-0.51 0.77,0.77 0 0 0 -0.28,-0.11 0.73,0.73 0 0 0 -0.46,0 0.86,0.86 0 0 0 -0.31,0.19 2.26,2.26 0 0 0 -0.27,0.4 L 40.5,122.64 40,122.4 Z"
id="path10333"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 44.48,121.34 0.46,0.27 -1.55,2.72 -0.46,-0.27 z m 0.58,-1 0.47,0.26 -0.3,0.52 -0.46,-0.26 z"
id="path10335"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 47.46,123.4 a 1.58,1.58 0 0 1 -0.23,1.24 2.05,2.05 0 0 1 -0.94,0.91 1.32,1.32 0 0 1 -1.23,-0.14 1.27,1.27 0 0 1 -0.67,-0.89 1.73,1.73 0 0 1 0.25,-1.21 1.87,1.87 0 0 1 1,-0.89 1.35,1.35 0 0 1 1.17,0.12 1.42,1.42 0 0 1 0.65,0.86 z m -1.32,1.65 a 2.08,2.08 0 0 0 0.61,-0.67 1.69,1.69 0 0 0 0.23,-0.69 0.78,0.78 0 0 0 -0.44,-0.76 0.75,0.75 0 0 0 -0.79,0 1.68,1.68 0 0 0 -0.63,0.66 1.53,1.53 0 0 0 -0.23,0.84 0.78,0.78 0 0 0 0.44,0.63 0.71,0.71 0 0 0 0.81,-0.01 z"
id="path10337"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 47.74,125.68 a 0.76,0.76 0 0 0 -0.08,0.42 0.83,0.83 0 0 0 0.49,0.57 1,1 0 0 0 0.52,0.15 0.4,0.4 0 0 0 0.39,-0.23 0.32,0.32 0 0 0 0,-0.35 1.68,1.68 0 0 0 -0.32,-0.36 l -0.32,-0.3 a 2.19,2.19 0 0 1 -0.41,-0.5 0.66,0.66 0 0 1 0,-0.68 0.9,0.9 0 0 1 0.64,-0.47 1.29,1.29 0 0 1 0.9,0.2 1.18,1.18 0 0 1 0.69,0.87 0.9,0.9 0 0 1 -0.11,0.59 l -0.43,-0.24 a 0.7,0.7 0 0 0 0,-0.35 0.86,0.86 0 0 0 -0.46,-0.5 0.76,0.76 0 0 0 -0.46,-0.13 0.34,0.34 0 0 0 -0.29,0.18 0.39,0.39 0 0 0 0,0.39 1.72,1.72 0 0 0 0.24,0.29 l 0.27,0.25 a 2.69,2.69 0 0 1 0.54,0.61 0.7,0.7 0 0 1 -0.05,0.71 1,1 0 0 1 -0.64,0.47 1.37,1.37 0 0 1 -1,-0.22 1.33,1.33 0 0 1 -0.71,-0.78 1.19,1.19 0 0 1 0.11,-0.84 z"
id="path10339"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 53,126.55 a 1.61,1.61 0 0 1 -0.22,1.24 2.15,2.15 0 0 1 -0.94,0.91 1.34,1.34 0 0 1 -1.24,-0.14 1.3,1.3 0 0 1 -0.67,-0.89 1.74,1.74 0 0 1 0.26,-1.21 1.86,1.86 0 0 1 1,-0.9 1.34,1.34 0 0 1 1.16,0.13 1.36,1.36 0 0 1 0.65,0.86 z m -1.32,1.65 a 2,2 0 0 0 0.61,-0.67 1.69,1.69 0 0 0 0.23,-0.69 0.78,0.78 0 0 0 -0.44,-0.76 0.75,0.75 0 0 0 -0.79,0 1.75,1.75 0 0 0 -0.63,0.66 1.51,1.51 0 0 0 -0.22,0.84 0.76,0.76 0 0 0 0.43,0.63 0.72,0.72 0 0 0 0.77,-0.01 z"
id="path10341"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 54.73,126.09 a 0.83,0.83 0 0 1 0.75,0.12 l 0.09,0.05 0.1,0.07 -0.24,0.42 -0.1,-0.07 h -0.06 c -0.14,-0.08 -0.24,-0.09 -0.31,0 a 2.4,2.4 0 0 0 -0.36,0.53 l 0.46,0.26 -0.21,0.36 -0.46,-0.26 -1.34,2.36 -0.45,-0.26 1.34,-2.36 -0.38,-0.21 0.21,-0.37 0.38,0.22 0.24,-0.43 a 1.08,1.08 0 0 1 0.34,-0.43 z"
id="path10343"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 56,126.92 0.46,0.27 -0.46,0.81 0.44,0.25 -0.21,0.37 -0.44,-0.25 -1,1.79 a 0.23,0.23 0 0 0 0,0.24 0.52,0.52 0 0 0 0.17,0.13 h 0.07 0.09 l -0.21,0.37 -0.18,-0.06 -0.19,-0.1 c -0.21,-0.12 -0.33,-0.26 -0.34,-0.41 a 0.77,0.77 0 0 1 0.13,-0.49 l 1,-1.81 -0.37,-0.21 0.21,-0.38 0.37,0.21 z"
id="path10345"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 57.15,128.58 -0.7,2.45 1.76,-1.84 0.51,0.29 -0.72,2.44 1.78,-1.82 0.46,0.27 -2.35,2.27 -0.47,-0.27 0.65,-2.43 -1.75,1.81 -0.47,-0.28 0.77,-3.18 z"
id="path10347"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 61.55,132.53 a 0.28,0.28 0 0 0 0.28,0 0.33,0.33 0 0 0 0.13,-0.15 0.44,0.44 0 0 0 0,-0.44 1.09,1.09 0 0 0 -0.41,-0.38 0.59,0.59 0 0 0 -0.91,0.16 l -0.43,-0.24 a 0.91,0.91 0 0 1 0.73,-0.52 1.56,1.56 0 0 1 0.84,0.22 1.64,1.64 0 0 1 0.67,0.63 0.73,0.73 0 0 1 0,0.74 l -0.9,1.57 a 0.25,0.25 0 0 0 0,0.14 0.24,0.24 0 0 0 0.1,0.11 h 0.07 0.09 l -0.19,0.34 -0.19,-0.06 a 0.56,0.56 0 0 1 -0.15,-0.08 0.42,0.42 0 0 1 -0.25,-0.36 0.75,0.75 0 0 1 0.06,-0.3 1.29,1.29 0 0 1 -0.58,0.09 1.34,1.34 0 0 1 -0.66,-0.2 1,1 0 0 1 -0.48,-0.58 0.85,0.85 0 0 1 0.08,-0.71 0.87,0.87 0 0 1 0.58,-0.46 1.3,1.3 0 0 1 0.76,0.1 z m -1.67,0.69 a 0.62,0.62 0 0 0 0.27,0.31 1.21,1.21 0 0 0 0.54,0.15 0.72,0.72 0 0 0 0.72,-0.39 l 0.21,-0.37 a 0.63,0.63 0 0 1 -0.26,0 l -0.29,-0.1 -0.3,-0.12 a 1.28,1.28 0 0 0 -0.43,-0.11 0.46,0.46 0 0 0 -0.43,0.26 0.41,0.41 0 0 0 -0.03,0.37 z"
id="path10349"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 63.61,132.28 0.44,0.25 -0.27,0.47 a 1.4,1.4 0 0 1 0.45,-0.19 0.8,0.8 0 0 1 0.59,0.08 h 0.05 L 65,133 l -0.27,0.48 -0.07,-0.05 h -0.08 a 0.76,0.76 0 0 0 -0.65,-0.08 0.92,0.92 0 0 0 -0.48,0.41 l -0.9,1.57 -0.45,-0.26 z"
id="path10351"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 67,134.3 a 1.18,1.18 0 0 1 0.21,0.59 1.24,1.24 0 0 1 -0.09,0.59 3,3 0 0 1 -0.3,0.62 l -2,-1.13 a 1.4,1.4 0 0 0 -0.19,0.78 0.75,0.75 0 0 0 0.42,0.57 0.8,0.8 0 0 0 0.7,0.09 0.82,0.82 0 0 0 0.35,-0.23 l 0.46,0.26 a 1,1 0 0 1 -0.32,0.27 1.11,1.11 0 0 1 -0.39,0.17 1.27,1.27 0 0 1 -0.67,0 2,2 0 0 1 -0.4,-0.18 1.29,1.29 0 0 1 -0.64,-0.86 1.71,1.71 0 0 1 0.24,-1.24 1.8,1.8 0 0 1 1,-0.86 1.33,1.33 0 0 1 1.16,0.12 1.47,1.47 0 0 1 0.46,0.44 z m -0.44,1.17 a 1.44,1.44 0 0 0 0.14,-0.55 0.76,0.76 0 0 0 -0.44,-0.69 0.78,0.78 0 0 0 -0.65,-0.07 1,1 0 0 0 -0.56,0.45 z"
id="path10353"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 67.1,137.16 0.53,0.31 -0.31,0.55 -0.54,-0.3 z"
id="path10355"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 71.5,137.15 a 1.57,1.57 0 0 1 -0.23,1.24 2,2 0 0 1 -0.94,0.91 1.31,1.31 0 0 1 -1.23,-0.13 1.27,1.27 0 0 1 -0.67,-0.89 1.73,1.73 0 0 1 0.25,-1.21 1.9,1.9 0 0 1 1,-0.9 1.3,1.3 0 0 1 1.16,0.13 1.42,1.42 0 0 1 0.66,0.85 z m -1.32,1.66 a 2,2 0 0 0 0.6,-0.68 1.51,1.51 0 0 0 0.24,-0.69 0.78,0.78 0 0 0 -0.45,-0.75 0.74,0.74 0 0 0 -0.78,0 1.78,1.78 0 0 0 -0.63,0.67 1.52,1.52 0 0 0 -0.23,0.83 0.79,0.79 0 0 0 0.43,0.64 0.74,0.74 0 0 0 0.82,-0.02 z"
id="path10357"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 72.59,137.42 0.43,0.25 -0.26,0.47 a 1.3,1.3 0 0 1 0.45,-0.19 0.8,0.8 0 0 1 0.59,0.08 v 0 a 0.37,0.37 0 0 1 0.1,0.07 l -0.27,0.48 -0.07,-0.05 -0.08,-0.05 a 0.75,0.75 0 0 0 -0.66,-0.08 0.94,0.94 0 0 0 -0.47,0.41 l -0.9,1.57 -0.46,-0.26 z"
id="path10359"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="cls-2"
d="m 75.76,139.38 a 1.42,1.42 0 0 1 0.12,0.41 l 0.19,-0.34 0.43,0.24 -1.42,2.48 a 1.93,1.93 0 0 1 -0.62,0.73 1.24,1.24 0 0 1 -1.39,-0.05 1.54,1.54 0 0 1 -0.62,-0.62 0.86,0.86 0 0 1 0,-0.81 l 0.46,0.26 a 0.58,0.58 0 0 0 0,0.36 0.78,0.78 0 0 0 0.4,0.43 0.76,0.76 0 0 0 0.9,0 2.38,2.38 0 0 0 0.53,-0.73 0.94,0.94 0 0 1 -0.5,0.12 1.36,1.36 0 0 1 -1.16,-0.94 1.58,1.58 0 0 1 0.26,-1.23 1.8,1.8 0 0 1 0.94,-0.88 1.19,1.19 0 0 1 1,0.07 1.06,1.06 0 0 1 0.48,0.5 z m -0.22,0.52 a 0.78,0.78 0 0 0 -0.39,-0.54 0.75,0.75 0 0 0 -0.92,0.07 2.24,2.24 0 0 0 -0.45,0.58 1.31,1.31 0 0 0 -0.22,0.81 0.73,0.73 0 0 0 0.37,0.53 0.8,0.8 0 0 0 0.94,0 1.71,1.71 0 0 0 0.45,-0.53 1.28,1.28 0 0 0 0.22,-0.92 z"
id="path10361"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
</g>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:43.37393951px;line-height:1.25;font-family:'DIN Condensed';-inkscape-font-specification:'DIN Condensed, Bold Condensed';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#fb8273;fill-opacity:1;stroke:none;stroke-width:8.78208637;stroke-miterlimit:4;stroke-dasharray:none"
x="55.735847"
y="101.25121"
id="text10369"
transform="scale(1.0429084,0.95885698)"><tspan
y="101.25121"
x="55.735847"
id="tspan10367"
sodipodi:role="line"
style="stroke-width:8.78208637">RDM</tspan></text>
<g
transform="matrix(0.43046721,0,0,0.43046721,-304.9125,-41.41547)"
id="g10385">
<g
id="g10377"
transform="translate(474.21725,226.44114)">
<g
id="g10375">
<g
id="g10373">
<path
inkscape:connector-curvature="0"
d="m 328.162,4.665 c -18.767,0 -34.032,15.268 -34.032,34.034 0,7.28 2.306,14.028 6.214,19.568 l -30.078,26.432 c -1.881,1.878 0.067,6.867 1.944,8.749 1.879,1.876 6.87,3.822 8.748,1.943 l 26.265,-29.894 c 5.779,4.525 13.047,7.233 20.939,7.233 18.768,0 34.034,-15.267 34.034,-34.032 0,-18.765 -15.266,-34.033 -34.034,-34.033 z m 0,56.722 c -12.51,0 -22.689,-10.177 -22.689,-22.688 0,-12.511 10.18,-22.69 22.689,-22.69 12.513,0 22.688,10.18 22.688,22.69 0,12.51 -10.175,22.688 -22.688,22.688 z"
id="path10371"
style="fill:#ffffff" />
</g>
</g>
</g>
<g
id="g10383"
transform="matrix(0.38742049,0,0,0.38742049,670.93796,251.12579)">
<path
inkscape:connector-curvature="0"
d="m 375.104,38.079 c 0.174,18.184 -8.123,32.126 -11.51,37.52 8.183,-5.347 19.898,-19.36 19.674,-37.661 0.174,-18.183 -11.431,-32.127 -19.631,-37.52 3.323,5.347 11.691,19.36 11.467,37.661 z"
id="path10379"
style="fill:#ffffff" />
<path
inkscape:connector-curvature="0"
d="m 375.104,38.079 c 0.174,18.184 -8.123,32.126 -11.51,37.52 8.183,-5.347 19.898,-19.36 19.674,-37.661 0.174,-18.183 -11.431,-32.127 -19.631,-37.52 3.323,5.347 11.691,19.36 11.467,37.661 z"
id="path10381"
style="fill:none;stroke:#ffffff" />
</g>
</g>
<circle
r="4.3097267"
cy="59.329391"
cx="114.42316"
id="circle10387"
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2.26771665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#ffffff;stroke-width:0.16677181"
x="60.269562"
id="rect10389"
height="10.714088"
width="2.3428104"
y="54.011116" />
<polygon
transform="matrix(0.16677181,0,0,0.16677181,60.269562,52.640917)"
style="fill:#ffffff"
id="polygon10391"
points="101.318,8.433 113.62,36.814 125.814,8.325 140.814,8.325 113.512,72.427 86.21,8.433 " />
<polygon
transform="matrix(0.16677181,0,0,0.16677181,60.269562,52.640917)"
style="fill:#ffffff"
id="polygon10393"
points="218.848,43.075 254.537,74.124 254.537,7.961 239.34,7.961 239.34,36.974 203.65,8.076 203.65,72.318 218.848,72.318 " />
<polygon
transform="matrix(0.16677181,0,0,0.16677181,60.269562,52.640917)"
style="fill:#ffffff"
id="polygon10395"
points="27.65,8.242 27.65,72.484 42.848,72.484 42.848,43.241 78.537,74.29 78.537,8.127 63.34,8.127 63.34,37.14 " />
<rect
style="fill:#ffffff;stroke-width:0.16677181"
id="rect10397"
height="10.713921"
width="2.342977"
y="54.042175"
x="104.96441" />
<polygon
transform="matrix(0.16677181,0,0,0.16677181,60.269562,52.640917)"
style="fill:#ffffff"
id="polygon10399"
points="166.976,20.927 192.991,20.927 192.991,7.974 149.193,7.974 149.193,72.079 193.649,72.079 193.649,59.346 166.976,59.346 166.976,45.624 191.783,45.624 191.783,32.672 166.976,32.672 " />
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="250">
<title>TU Graz Repository</title>
<svg id="r3dlogo">
<defs
id="defs2987">
<clipPath
id="clipPath3371">
<path
d="M 0,1620.76 0,0 l 5545.7,0 0,1620.76 -5545.7,0 z"
id="path3373" />
</clipPath>
</defs>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g xmlns="http://www.w3.org/2000/svg" transform="translate(0,-822.36222)" id="layer1">
<g transform="matrix(0.04861219,0,0,-0.04861219,15.218302,911.62439)" id="g3365">
<g id="g3367">
<g clip-path="url(#clipPath3371)" id="g3369">
<path d="m 5.99609,1050.78 c 0,98.99 -1.5,171 -5.99609,235.49 l 158.992,0 7.496,-137.99 4.504,0 c 36,101.99 121.492,154.49 200.988,154.49 18,0 28.504,-1.5 43.504,-4.5 l 0,-172.49 c -16.5,3 -33.004,4.49 -55.5,4.49 -86.996,0 -148.496,-55.5 -164.996,-139.489 -2.996,-16.496 -4.5,-36 -4.5,-55.5 l 0,-379.48 -184.49191,0 0,494.979" id="path3375" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 940.48,998.281 c 1.497,67.499 -28.503,178.499 -151.496,178.499 -113.996,0 -161.992,-103.5 -169.492,-178.499 l 320.988,0 z M 619.492,869.285 c 4.496,-131.992 106.492,-188.992 224.988,-188.992 85.5,0 145.497,13.504 202.49,32.996 l 27,-126 c -62.99,-26.988 -149.99,-46.488 -254.986,-46.488 -236.992,0 -376.484,145.496 -376.484,368.98 0,202.489 122.992,392.989 356.98,392.989 236.99,0 314.99,-195 314.99,-355.489 0,-34.5 -3,-61.492 -6,-77.996 l -488.978,0" id="path3377" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1235.12,795.898 c 41.31,-21.418 140.76,-59.668 235.62,-59.668 97.92,0 162.18,35.184 162.18,105.567 0,81.094 -84.15,119.344 -175.95,119.344 l -102.51,0 0,195.839 97.92,0 c 68.85,0 156.06,21.42 156.06,90.26 0,50.5 -47.43,84.15 -134.64,84.15 -82.62,0 -171.36,-35.18 -211.14,-56.6 l -52.02,197.37 c 62.73,39.78 189.72,74.97 327.42,74.97 220.32,0 348.84,-110.16 348.84,-252.45 0,-105.57 -58.14,-186.66 -180.54,-229.5 l 0,-3.06 c 117.81,-19.89 212.67,-108.636 212.67,-237.151 0,-182.071 -166.77,-306 -425.34,-306 -136.17,0 -249.39,32.133 -310.59,70.383 l 52.02,206.546" id="path3379" style="fill:#80cc28;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 2550.65,990.781 c 0,19.499 -3,46.499 -7.5,65.999 -25.5,95.99 -109.5,176.99 -226.49,176.99 -157.49,0 -256.49,-136.5 -256.49,-323.989 0,-161.988 81,-310.48 251.99,-310.48 103.49,0 199.49,67.496 230.99,187.484 4.5,19.5 7.5,37.5 7.5,60 l 0,143.996 z m 70.5,629.979 0,-896.975 c 0,-53.992 3,-116.984 6,-167.984 l -64.5,0 -4.5,136.492 -3,0 c -37.5,-79.492 -123,-152.992 -256.49,-152.992 -176.99,0 -310.49,148.492 -310.49,362.98 -1.5,239.989 147,389.989 323.99,389.989 124.5,0 202.49,-64.5 235.49,-125.99 l 3,0 0,454.48 70.5,0" id="path3381" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3203.14,941.285 c -157.49,4.496 -364.48,-19.5 -364.48,-191.988 0,-103.496 69,-149.996 144,-149.996 119.99,0 187.49,73.492 212.98,143.988 4.51,15 7.5,30 7.5,43.496 l 0,154.5 z m 70.5,-214.488 c 0,-57.004 3,-115.496 10.5,-170.996 l -64.49,0 -10.5,103.496 -4.5,0 c -34.5,-55.496 -114,-119.996 -229.49,-119.996 -144,0 -211.5,101.996 -211.5,197.992 0,166.492 146.99,266.997 439.48,263.987 l 0,18 c 0,72 -13.49,214.49 -184.49,212.99 -63,0 -128.99,-16.5 -179.99,-54 l -22.5,52.5 c 64.49,43.5 145.5,61.5 209.99,61.5 208.5,0 247.49,-155.99 247.49,-284.99 l 0,-280.483" id="path3383" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3569.16,1434.77 0,-159 205.48,0 0,-57 -205.48,0 0,-467.981 c 0,-91.492 28.49,-149.988 105,-149.988 37.5,0 64.49,6 82.5,12 l 8.98,-55.5 c -23.98,-10.5 -56.99,-18 -100.49,-18 -52.5,0 -95.99,18 -122.99,52.5 -33,37.496 -45,97.496 -45,170.992 l 0,455.977 -121.5,0 0,57 121.5,0 0,131.99 72,27.01" id="path3385" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4272.63,941.285 c -157.5,4.496 -364.49,-19.5 -364.49,-191.988 0,-103.496 69,-149.996 144,-149.996 119.98,0 187.48,73.492 212.99,143.988 4.49,15 7.5,30 7.5,43.496 l 0,154.5 z m 70.49,-214.488 c 0,-57.004 3.01,-115.496 10.51,-170.996 l -64.49,0 -10.51,103.496 -4.49,0 c -34.52,-55.496 -114.01,-119.996 -229.5,-119.996 -144,0 -211.5,101.996 -211.5,197.992 0,166.492 146.99,266.997 439.49,263.987 l 0,18 c 0,72 -13.49,214.49 -184.49,212.99 -63.01,0 -129,-16.5 -180,-54 l -22.5,52.5 c 64.49,43.5 145.51,61.5 210,61.5 208.5,0 247.48,-155.99 247.48,-284.99 l 0,-280.483" id="path3387" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4455.58,593.238 c 0,25.934 18.01,45.364 43.2,45.364 25.22,0 42.5,-18.723 42.5,-45.364 0,-25.918 -17.28,-45.359 -43.92,-45.359 -24.49,0 -41.78,19.441 -41.78,45.359" id="path3389" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4659.35,729.336 c 0,-76.328 43.2,-133.938 105.12,-133.938 60.49,0 105.86,56.883 105.86,135.372 0,59.05 -29.53,133.214 -104.42,133.214 -74.16,0 -106.56,-69.121 -106.56,-134.648 z m 275.78,3.602 c 0,-128.899 -90.02,-185.059 -173.53,-185.059 -93.62,0 -167.05,69.121 -167.05,179.297 0,115.929 77.03,184.336 172.81,184.336 100.08,0 167.77,-72.727 167.77,-178.574" id="path3391" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 5015.01,795.586 c 0,41.031 -0.72,76.316 -2.87,108.719 l 55.43,0 2.89,-69.121 2.15,0 c 15.86,46.804 54.73,76.328 97.23,76.328 6.46,0 11.5,-0.723 17.26,-1.446 l 0,-59.765 c -6.46,1.445 -12.94,1.445 -21.6,1.445 -44.63,0 -76.33,-33.125 -84.96,-80.644 -1.44,-8.641 -2.17,-19.446 -2.17,-29.532 l 0,-185.769 -63.36,0 0,239.785" id="path3393" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 5479.45,766.777 c 0,10.797 -0.72,20.164 -3.62,28.086 -11.5,37.442 -41.75,67.684 -88.55,67.684 -60.49,0 -103.69,-51.121 -103.69,-131.777 0,-68.399 35.27,-125.282 102.97,-125.282 39.61,0 74.88,24.481 87.85,64.805 3.59,10.801 5.04,23.035 5.04,33.836 l 0,62.648 z m 63.36,-159.855 c 0,-80.641 -16.56,-128.883 -49.69,-159.852 -34.55,-30.961 -83.52,-41.761 -127.44,-41.761 -41.78,0 -87.85,10.082 -115.94,28.8 l 15.84,48.961 c 23.05,-15.121 59.04,-28.082 102.25,-28.082 64.8,0 112.34,33.852 112.34,122.41 l 0,38.161 -1.44,0 c -18.73,-32.399 -56.9,-58.329 -110.9,-58.329 -86.41,0 -148.32,73.454 -148.32,169.946 0,118.086 77.03,184.336 157.69,184.336 60.47,0 92.87,-30.965 108.73,-59.766 l 1.43,0 2.17,52.559 56.17,0 c -2.17,-24.485 -2.89,-53.282 -2.89,-95.047 l 0,-202.336" id="path3395" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 38.1367,151.25 13.8281,0 c 30.5821,0 51.1172,22.629 51.1172,56.559 0,32.703 -13.4101,52.8 -47.7656,53.222 -6.7031,0 -12.9922,-0.422 -17.1797,-1.679 l 0,-108.102 z M 6.29297,281.57 c 13.41013,3.77 30.16793,5.442 46.08983,5.442 28.0703,0 49.0232,-5.864 63.6872,-20.121 13.828,-14.243 19.696,-33.09 19.696,-55.301 0,-36.039 -16.762,-59.5 -45.2543,-72.899 l 0,-0.839 c 20.9493,-6.293 31.8473,-26.411 37.7113,-63.2817 6.703,-38.5391 12.152,-62.4219 16.343,-71.23046 l -32.687,0 C 107.691,11.7188 102.246,38.5312 96.7969,72.8906 90.5117,111.871 78.3594,126.109 50.707,126.109 l -12.5703,0 0,-122.76916 -31.84373,0 0,278.23016" id="path3397" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 280.316,137.422 -70.812,0 0,-106.0001 80.445,0 0,-28.08206 -112.707,0 0,282.42216 107.684,0 0,-28.09 -75.422,0 0,-93 70.812,0 0,-27.25" id="path3399" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="M 464.254,10.4688 C 452.52,5.44922 431.988,0.839844 414.391,0.839844 c -24.723,0 -47.77,6.699216 -66.621,27.218756 -20.536,21.8008 -34.364,60.7734 -33.942,112.7224 0.418,110.188 56.567,147.481 106.426,147.481 17.601,0 31.426,-3.34 39.808,-7.953 l -7.124,-27.661 c -7.543,3.774 -17.18,6.704 -32.262,6.704 -35.196,0 -73.328,-28.063 -73.328,-115.641 0,-87.1524 33.101,-115.2422 67.043,-115.2422 10.89,0 17.175,1.6796 19.691,3.3593 l 0,92.1919 -36.449,0 0,26.82 66.621,0 0,-140.3712" id="path3401" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 508.242,3.33984 32.2617,0 0,282.422 -32.2617,0 0,-282.422 z" id="path3403" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 585.336,40.6406 c 9.215,-6.289 26.398,-11.332 40.226,-11.332 29.747,0 47.344,19.2812 47.344,47.7812 0,25.9692 -15.086,41.8902 -37.293,58.6482 -22.625,15.512 -53.211,41.91 -53.211,78.364 0,42.738 29.75,74.16 74.586,74.16 17.598,0 32.68,-5.442 39.383,-10.473 l -7.543,-27.66 c -7.125,5.031 -18.851,9.641 -33.519,9.641 -28.075,0 -41.063,-20.938 -41.063,-40.219 0,-28.071 14.664,-38.973 41.481,-58.242 33.941,-23.887 49.023,-49.868 49.023,-81.2895 0,-48.5976 -33.938,-79.179656 -79.188,-79.179656 -19.277,0 -39.39,6.269536 -47.347,12.148456 l 7.121,27.6523" id="path3405" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 775.977,256.84 -51.539,0 0,28.922 135.335,0 0,-28.922 -51.535,0 0,-253.50016 -32.261,0 0,253.50016" id="path3407" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 923.457,151.25 13.828,0 c 30.586,0 51.117,22.629 51.117,56.559 0,32.703 -13.406,52.8 -47.761,53.222 -6.703,0 -12.996,-0.422 -17.184,-1.679 l 0,-108.102 z m -31.84,130.32 c 13.406,3.77 30.164,5.442 46.086,5.442 28.074,0 49.027,-5.864 63.687,-20.121 13.83,-14.243 19.7,-33.09 19.7,-55.301 0,-36.039 -16.76,-59.5 -45.254,-72.899 l 0,-0.839 c 20.945,-6.293 31.844,-26.411 37.704,-63.2817 6.71,-38.5391 12.16,-62.4219 16.35,-71.23046 l -32.687,0 c -4.191,8.37896 -9.637,35.19136 -15.086,69.55076 -6.281,38.9804 -18.433,53.2184 -46.086,53.2184 l -12.574,0 0,-122.76916 -31.84,0 0,278.23016" id="path3409" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1097.34,3.33984 0,119.41016 -62.43,163.012 34.36,0 25.14,-70.821 c 6.7,-19.691 14.66,-41.89 20.95,-63.691 l 0.84,0 c 5.45,21.801 12.98,43.16 20.53,64.949 l 23.88,69.563 33.52,0 -64.53,-161.742 0,-120.68016 -32.26,0" id="path3411" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1308.93,144.551 c 0,-58.2424 11.31,-116.0822 47.35,-116.0822 36.03,0 45.67,61.6132 45.67,116.9222 0,52.789 -9.64,115.218 -46.09,115.218 -35.62,0 -46.93,-58.66 -46.93,-116.058 z m 126.54,2.09 C 1435.47,40.6406 1399.44,0 1353.76,0 c -46.92,0 -78.35,49.8594 -78.35,144.961 0,93.449 33.94,144.141 82.96,144.141 48.19,0 77.1,-52.364 77.1,-142.461" id="path3413" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1474.02,285.762 107.68,0 0,-28.09 -75.42,0 0,-98.883 70.39,0 0,-27.23 -70.39,0 0,-128.21916 -32.26,0 0,282.42216" id="path3415" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1716.61,151.25 13.83,0 c 30.59,0 51.12,22.629 51.12,56.559 0,32.703 -13.41,52.8 -47.77,53.222 -6.7,0 -12.99,-0.422 -17.18,-1.679 l 0,-108.102 z m -31.84,130.32 c 13.41,3.77 30.17,5.442 46.09,5.442 28.07,0 49.02,-5.864 63.69,-20.121 13.82,-14.243 19.69,-33.09 19.69,-55.301 0,-36.039 -16.76,-59.5 -45.25,-72.899 l 0,-0.839 c 20.95,-6.293 31.84,-26.411 37.71,-63.2817 6.7,-38.5391 12.15,-62.4219 16.34,-71.23046 l -32.68,0 c -4.19,8.37896 -9.64,35.19136 -15.09,69.55076 -6.28,38.9804 -18.43,53.2184 -46.09,53.2184 l -12.57,0 0,-122.76916 -31.84,0 0,278.23016" id="path3417" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1958.79,137.422 -70.81,0 0,-106.0001 80.45,0 0,-28.08206 -112.71,0 0,282.42216 107.68,0 0,-28.09 -75.42,0 0,-93 70.81,0 0,-27.25" id="path3419" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 1997.75,40.6406 c 9.22,-6.289 26.4,-11.332 40.23,-11.332 29.74,0 47.34,19.2812 47.34,47.7812 0,25.9692 -15.08,41.8902 -37.29,58.6482 -22.62,15.512 -53.21,41.91 -53.21,78.364 0,42.738 29.75,74.16 74.58,74.16 17.6,0 32.68,-5.442 39.39,-10.473 l -7.54,-27.66 c -7.13,5.031 -18.86,9.641 -33.53,9.641 -28.07,0 -41.05,-20.938 -41.05,-40.219 0,-28.071 14.66,-38.973 41.47,-58.242 33.94,-23.887 49.03,-49.868 49.03,-81.2895 0,-48.5976 -33.94,-79.179656 -79.19,-79.179656 -19.28,0 -39.39,6.269536 -47.35,12.148456 l 7.12,27.6523" id="path3421" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 2258.37,137.422 -70.82,0 0,-106.0001 80.45,0 0,-28.08206 -112.71,0 0,282.42216 107.69,0 0,-28.09 -75.43,0 0,-93 70.82,0 0,-27.25" id="path3423" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 2395.8,113.961 -14.67,71.641 c -4.19,20.117 -7.96,43.589 -11.32,64.527 l -1.25,0 c -3.35,-21.359 -7.54,-45.66 -11.73,-64.527 l -14.67,-71.641 53.64,0 z m -58.25,-25.9727 -18.43,-84.64846 -31.43,0 64.53,282.42216 35.61,0 62.85,-282.42216 -31.84,0 -18.44,84.64846 -62.85,0" id="path3425" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 2518.14,151.25 13.83,0 c 30.58,0 51.12,22.629 51.12,56.559 0,32.703 -13.41,52.8 -47.77,53.222 -6.7,0 -12.99,-0.422 -17.18,-1.679 l 0,-108.102 z m -31.84,130.32 c 13.41,3.77 30.16,5.442 46.09,5.442 28.07,0 49.02,-5.864 63.69,-20.121 13.83,-14.243 19.69,-33.09 19.69,-55.301 0,-36.039 -16.76,-59.5 -45.25,-72.899 l 0,-0.839 c 20.95,-6.293 31.84,-26.411 37.71,-63.2817 6.71,-38.5391 12.15,-62.4219 16.34,-71.23046 l -32.68,0 c -4.19,8.37896 -9.64,35.19136 -15.09,69.55076 -6.28,38.9804 -18.44,53.2184 -46.09,53.2184 l -12.57,0 0,-122.76916 -31.84,0 0,278.23016" id="path3427" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 2780.85,8.37891 c -8.79,-4.60938 -23.04,-7.539066 -40.64,-7.539066 -54.89,0 -94.7,44.410156 -94.7,140.351156 0,111.457 55.32,147.071 100.15,147.071 16.76,0 29.33,-3.34 34.77,-7.114 l -7.12,-27.25 c -6.7,2.942 -13.41,5.872 -28.07,5.872 -30.18,0 -65.79,-29.321 -65.79,-115.629 0,-86.3324 31.84,-114.8324 66.62,-114.8324 12.16,0 22.63,2.9531 29.34,5.8828 l 5.44,-26.81249" id="path3429" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 2845.79,285.762 0,-121.09 79.19,0 0,121.09 32.26,0 0,-282.42216 -32.26,0 0,131.99216 -79.19,0 0,-131.99216 -32.27,0 0,282.42216 32.27,0" id="path3431" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3105.56,29.3086 c 4.61,-0.8398 9.22,-0.8398 12.15,-0.8398 35.62,0 69.98,26 69.98,121.9412 0,71.231 -21.79,110.199 -67.04,110.199 -5.03,0 -10.9,-0.418 -15.09,-1.668 l 0,-229.6324 z M 3073.72,281.57 c 12.15,3.77 27.23,5.442 43.16,5.442 29.75,0 50.69,-7.543 66.2,-21.371 21.79,-18.852 38.13,-55.309 38.13,-114.391 0,-64.5312 -15.92,-99.7305 -33.94,-119.4219 -18.44,-20.5195 -45.25,-30.16794 -77.94,-30.16794 -12.99,0 -26.4,0.83984 -35.61,2.94922 l 0,276.96062" id="path3433" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3343.57,113.961 -14.67,71.641 c -4.19,20.117 -7.96,43.589 -11.31,64.527 l -1.26,0 c -3.35,-21.359 -7.54,-45.66 -11.74,-64.527 l -14.65,-71.641 53.63,0 z m -58.24,-25.9727 -18.44,-84.64846 -31.43,0 64.54,282.42216 35.61,0 62.84,-282.42216 -31.83,0 -18.44,84.64846 -62.85,0" id="path3435" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3441.62,256.84 -51.55,0 0,28.922 135.35,0 0,-28.922 -51.54,0 0,-253.50016 -32.26,0 0,253.50016" id="path3437" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3630.16,113.961 -14.67,71.641 c -4.19,20.117 -7.96,43.589 -11.31,64.527 l -1.26,0 c -3.34,-21.359 -7.53,-45.66 -11.73,-64.527 l -14.66,-71.641 53.63,0 z m -58.24,-25.9727 -18.44,-84.64846 -31.42,0 64.52,282.42216 35.62,0 62.84,-282.42216 -31.83,0 -18.44,84.64846 -62.85,0" id="path3439" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 3818.29,151.25 13.82,0 c 30.59,0 51.13,22.629 51.13,56.559 0,32.703 -13.41,52.8 -47.78,53.222 -6.7,0 -12.98,-0.422 -17.17,-1.679 l 0,-108.102 z m -31.85,130.32 c 13.41,3.77 30.18,5.442 46.09,5.442 28.08,0 49.03,-5.864 63.7,-20.121 13.82,-14.243 19.68,-33.09 19.68,-55.301 0,-36.039 -16.75,-59.5 -45.25,-72.899 l 0,-0.839 c 20.96,-6.293 31.84,-26.411 37.71,-63.2817 6.7,-38.5391 12.15,-62.4219 16.34,-71.23046 l -32.67,0 c -4.19,8.37896 -9.64,35.19136 -15.09,69.55076 -6.29,38.9804 -18.44,53.2184 -46.1,53.2184 l -12.56,0 0,-122.76916 -31.85,0 0,278.23016" id="path3441" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4060.46,137.422 -70.81,0 0,-106.0001 80.45,0 0,-28.08206 -112.71,0 0,282.42216 107.68,0 0,-28.09 -75.42,0 0,-93 70.81,0 0,-27.25" id="path3443" style="fill:#00adef;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4137.97,145.801 c 3.77,-0.41 7.54,-0.84 12.99,-0.84 31.43,0 52.79,20.551 52.79,60.758 0,28.91 -11.72,54.89 -47.76,54.89 -7.54,0 -13.83,-0.839 -18.02,-2.097 l 0,-112.711 z m -31.84,135.769 c 12.99,3.352 28.07,5.442 46.51,5.442 25.98,0 48.19,-6.282 62.85,-20.532 13.41,-13.421 20.53,-33.941 20.53,-58.671 0,-25.981 -6.28,-43.571 -17.18,-57.809 -15.09,-20.961 -41.48,-31.43 -66.62,-31.43 -5.45,0 -9.64,0 -14.25,0.41 l 0,-115.64016 -31.84,0 0,278.23016" id="path3445" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4294.68,144.551 c 0,-58.2424 11.31,-116.0822 47.35,-116.0822 36.03,0 45.67,61.6132 45.67,116.9222 0,52.789 -9.64,115.218 -46.09,115.218 -35.62,0 -46.93,-58.66 -46.93,-116.058 z m 126.54,2.09 C 4421.22,40.6406 4385.18,0 4339.51,0 c -46.93,0 -78.35,49.8594 -78.35,144.961 0,93.449 33.93,144.141 82.96,144.141 48.19,0 77.1,-52.364 77.1,-142.461" id="path3447" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4453.48,40.6406 c 9.22,-6.289 26.4,-11.332 40.23,-11.332 29.74,0 47.34,19.2812 47.34,47.7812 0,25.9692 -15.08,41.8902 -37.29,58.6482 -22.62,15.512 -53.22,41.91 -53.22,78.364 0,42.738 29.76,74.16 74.59,74.16 17.6,0 32.68,-5.442 39.39,-10.473 l -7.54,-27.66 c -7.13,5.031 -18.86,9.641 -33.53,9.641 -28.07,0 -41.06,-20.938 -41.06,-40.219 0,-28.071 14.67,-38.973 41.48,-58.242 33.94,-23.887 49.03,-49.868 49.03,-81.2895 0,-48.5976 -33.94,-79.179656 -79.19,-79.179656 -19.28,0 -39.39,6.269536 -47.36,12.148456 l 7.13,27.6523" id="path3449" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4611.02,3.33984 32.2695,0 0,282.422 -32.2695,0 0,-282.422 z" id="path3451" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4727.5,256.84 -51.53,0 0,28.922 135.33,0 0,-28.922 -51.53,0 0,-253.50016 -32.27,0 0,253.50016" id="path3453" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 4851.11,144.551 c 0,-58.2424 11.31,-116.0822 47.34,-116.0822 36.04,0 45.68,61.6132 45.68,116.9222 0,52.789 -9.64,115.218 -46.1,115.218 -35.61,0 -46.92,-58.66 -46.92,-116.058 z m 126.53,2.09 C 4977.64,40.6406 4941.61,0 4895.93,0 c -46.92,0 -78.35,49.8594 -78.35,144.961 0,93.449 33.94,144.141 82.96,144.141 48.2,0 77.1,-52.364 77.1,-142.461" id="path3455" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 5048.45,151.25 13.83,0 c 30.59,0 51.12,22.629 51.12,56.559 0,32.703 -13.4,52.8 -47.77,53.222 -6.7,0 -12.99,-0.422 -17.18,-1.679 l 0,-108.102 z m -31.84,130.32 c 13.4,3.77 30.17,5.442 46.09,5.442 28.08,0 49.02,-5.864 63.69,-20.121 13.83,-14.243 19.69,-33.09 19.69,-55.301 0,-36.039 -16.76,-59.5 -45.25,-72.899 l 0,-0.839 c 20.95,-6.293 31.84,-26.411 37.71,-63.2817 6.71,-38.5391 12.15,-62.4219 16.34,-71.23046 l -32.68,0 c -4.19,8.37896 -9.64,35.19136 -15.09,69.55076 -6.28,38.9804 -18.43,53.2184 -46.09,53.2184 l -12.57,0 0,-122.76916 -31.84,0 0,278.23016" id="path3457" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 5187.55,3.33984 32.2695,0 0,282.422 -32.2695,0 0,-282.422 z" id="path3459" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 5374.01,137.422 -70.81,0 0,-106.0001 80.45,0 0,-28.08206 -112.72,0 0,282.42216 107.69,0 0,-28.09 -75.42,0 0,-93 70.81,0 0,-27.25" id="path3461" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path d="m 5412.97,40.6406 c 9.22,-6.289 26.4,-11.332 40.23,-11.332 29.74,0 47.34,19.2812 47.34,47.7812 0,25.9692 -15.08,41.8902 -37.28,58.6482 -22.63,15.512 -53.23,41.91 -53.23,78.364 0,42.738 29.76,74.16 74.59,74.16 17.6,0 32.68,-5.442 39.39,-10.473 l -7.54,-27.66 c -7.13,5.031 -18.86,9.641 -33.53,9.641 -28.07,0 -41.06,-20.938 -41.06,-40.219 0,-28.071 14.67,-38.973 41.48,-58.242 33.94,-23.887 49.03,-49.868 49.03,-81.2895 0,-48.5976 -33.94,-79.179656 -79.19,-79.179656 -19.28,0 -39.39,6.269536 -47.36,12.148456 l 7.13,27.6523" id="path3463" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
</g>
</g>
</g>
</svg>
<!-- info -->
<svg id="info_active" x="15" y="110">
<title>The research data repository provides additional information on its service.</title>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(73.333333%,78.039216%,46.666667%);fill-opacity:1;" d="M 29.484375 28.503906 C 29.484375 29.109375 28.992188 29.605469 28.382812 29.605469 L 1.261719 29.605469 C 0.652344 29.605469 0.160156 29.109375 0.160156 28.503906 L 0.160156 1.382812 C 0.160156 0.773438 0.652344 0.28125 1.261719 0.28125 L 28.382812 0.28125 C 28.992188 0.28125 29.484375 0.773438 29.484375 1.382812 Z M 29.484375 28.503906 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 14.8125 10.152344 C 14.5625 10.152344 14.347656 10.066406 14.167969 9.894531 C 13.992188 9.726562 13.902344 9.507812 13.902344 9.242188 C 13.902344 8.980469 13.992188 8.761719 14.167969 8.585938 C 14.347656 8.414062 14.5625 8.324219 14.8125 8.324219 C 15.070312 8.324219 15.289062 8.414062 15.46875 8.585938 C 15.652344 8.761719 15.738281 8.980469 15.738281 9.242188 C 15.738281 9.496094 15.648438 9.710938 15.46875 9.886719 C 15.289062 10.066406 15.070312 10.152344 14.8125 10.152344 M 15.5 21.179688 L 14.089844 21.179688 L 14.089844 12.386719 L 15.5 12.386719 Z M 15.5 21.179688 "/>
</g>
</svg>
<!-- open access -->
<svg id="open_access_active" x="60" y="110">
<title>The research data repository provides open access to its data.</title>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(96.470588%,57.254902%,11.764706%);fill-opacity:1;" d="M 29.660156 28.5625 C 29.660156 29.167969 29.167969 29.660156 28.5625 29.660156 L 1.4375 29.660156 C 0.832031 29.660156 0.339844 29.167969 0.339844 28.5625 L 0.339844 1.441406 C 0.339844 0.832031 0.832031 0.339844 1.4375 0.339844 L 28.5625 0.339844 C 29.167969 0.339844 29.660156 0.832031 29.660156 1.441406 Z M 29.660156 28.5625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 9.636719 10.324219 L 9.636719 11.054688 L 11.789062 11.054688 L 11.789062 10.324219 C 11.789062 8.542969 13.234375 7.097656 15.011719 7.097656 C 16.789062 7.097656 18.234375 8.542969 18.234375 10.324219 L 18.234375 15.632812 L 20.386719 15.632812 L 20.386719 10.324219 C 20.386719 7.355469 17.976562 4.945312 15.011719 4.945312 C 12.046875 4.945312 9.636719 7.355469 9.636719 10.324219 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 16.796875 18.734375 C 16.796875 19.714844 16.003906 20.511719 15.019531 20.511719 C 14.039062 20.511719 13.242188 19.714844 13.242188 18.734375 C 13.242188 17.753906 14.039062 16.957031 15.019531 16.957031 C 16.003906 16.957031 16.796875 17.75 16.796875 18.734375 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 10.8125 18.714844 C 10.8125 16.40625 12.691406 14.527344 15 14.527344 C 17.308594 14.527344 19.1875 16.40625 19.1875 18.714844 C 19.1875 21.023438 17.308594 22.902344 15 22.902344 C 12.691406 22.902344 10.8125 21.023438 10.8125 18.714844 M 8.660156 18.714844 C 8.660156 22.210938 11.503906 25.054688 15 25.054688 C 18.496094 25.054688 21.339844 22.210938 21.339844 18.714844 C 21.339844 15.21875 18.496094 12.375 15 12.375 C 11.503906 12.375 8.660156 15.21875 8.660156 18.714844 "/>
</g>
</svg>
<svg id="licenses_active" x="105" y="110">
<title>The terms of use and licenses of the data are provided by the research data repository.</title>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(25.098039%,25.098039%,25.490196%);fill-opacity:1;" d="M 29.664062 28.558594 C 29.664062 29.167969 29.167969 29.660156 28.5625 29.660156 L 1.441406 29.660156 C 0.832031 29.660156 0.339844 29.167969 0.339844 28.558594 L 0.339844 1.4375 C 0.339844 0.832031 0.832031 0.339844 1.441406 0.339844 L 28.5625 0.339844 C 29.167969 0.339844 29.664062 0.832031 29.664062 1.4375 Z M 29.664062 28.558594 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 18.300781 20.394531 C 17.773438 20.667969 16.664062 20.941406 15.261719 20.941406 C 12.019531 20.941406 9.59375 18.890625 9.59375 15.101562 C 9.59375 11.484375 12.035156 9.058594 15.605469 9.058594 C 17.019531 9.058594 17.945312 9.367188 18.335938 9.570312 L 17.960938 10.785156 C 17.414062 10.511719 16.609375 10.304688 15.65625 10.304688 C 12.957031 10.304688 11.164062 12.03125 11.164062 15.050781 C 11.164062 17.886719 12.789062 19.679688 15.570312 19.679688 C 16.492188 19.679688 17.414062 19.488281 18.011719 19.199219 Z M 18.300781 20.394531 "/>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 49.307552 29 C 49.307552 40.214844 40.214844 49.307552 29 49.307552 C 17.785156 49.307552 8.692448 40.214844 8.692448 29 C 8.692448 17.785156 17.785156 8.692448 29 8.692448 C 40.214844 8.692448 49.307552 17.785156 49.307552 29 Z M 49.307552 29 " transform="matrix(0.517241,0,0,0.517241,0,0)"/>
</g>
</svg>
<!-- persistant id -->
<svg id="persistant_active" x="150" y="110">
<title>The research data repository uses a persistent identifier system to make its provided data persistent, unique and citable.</title>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(4.313725%,61.568627%,85.098039%);fill-opacity:1;" d="M 29.664062 28.5625 C 29.664062 29.167969 29.167969 29.660156 28.5625 29.660156 L 1.4375 29.660156 C 0.832031 29.660156 0.335938 29.167969 0.335938 28.5625 L 0.335938 1.4375 C 0.335938 0.832031 0.832031 0.339844 1.4375 0.339844 L 28.5625 0.339844 C 29.167969 0.339844 29.664062 0.832031 29.664062 1.4375 Z M 29.664062 28.5625 " />
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 11.089844 19.761719 L 11.058594 19.761719 L 11.058594 24.332031 L 9.847656 24.332031 L 9.847656 13.296875 L 11.058594 13.296875 L 11.058594 14.625 L 11.089844 14.625 C 11.683594 13.621094 12.554688 13.121094 13.703125 13.121094 C 14.675781 13.121094 15.4375 13.460938 15.980469 14.136719 C 16.527344 14.8125 16.800781 15.71875 16.800781 16.855469 C 16.800781 18.117188 16.496094 19.132812 15.878906 19.894531 C 15.265625 20.652344 14.421875 21.03125 13.355469 21.03125 C 12.375 21.03125 11.621094 20.609375 11.089844 19.761719 M 11.058594 16.714844 L 11.058594 17.769531 C 11.058594 18.394531 11.261719 18.925781 11.667969 19.359375 C 12.074219 19.796875 12.589844 20.015625 13.214844 20.015625 C 13.945312 20.015625 14.523438 19.734375 14.9375 19.171875 C 15.355469 18.613281 15.5625 17.832031 15.5625 16.832031 C 15.5625 15.992188 15.367188 15.332031 14.976562 14.855469 C 14.589844 14.378906 14.0625 14.140625 13.398438 14.140625 C 12.695312 14.140625 12.128906 14.382812 11.699219 14.875 C 11.273438 15.363281 11.058594 15.976562 11.058594 16.714844 " />
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 19.355469 11.378906 C 19.136719 11.378906 18.953125 11.304688 18.800781 11.15625 C 18.648438 11.007812 18.574219 10.824219 18.574219 10.597656 C 18.574219 10.371094 18.648438 10.183594 18.800781 10.03125 C 18.953125 9.882812 19.136719 9.804688 19.355469 9.804688 C 19.578125 9.804688 19.765625 9.882812 19.921875 10.03125 C 20.074219 10.183594 20.152344 10.371094 20.152344 10.597656 C 20.152344 10.8125 20.074219 10.996094 19.921875 11.148438 C 19.765625 11.304688 19.578125 11.378906 19.355469 11.378906 M 19.945312 20.855469 L 18.734375 20.855469 L 18.734375 13.296875 L 19.945312 13.296875 Z M 19.945312 20.855469 " />
</g>
</svg>
<!-- certificates and standards -->
<svg id="certificate_inactive" x="195" y="110">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(94.509804%,94.901961%,94.901961%);fill-opacity:1;" d="M 29.664062 28.5625 C 29.664062 29.167969 29.167969 29.664062 28.5625 29.664062 L 1.4375 29.664062 C 0.832031 29.664062 0.335938 29.167969 0.335938 28.5625 L 0.335938 1.4375 C 0.335938 0.832031 0.832031 0.335938 1.4375 0.335938 L 28.5625 0.335938 C 29.167969 0.335938 29.664062 0.832031 29.664062 1.4375 Z M 29.664062 28.5625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(80%,79.607843%,79.607843%);fill-opacity:1;" d="M 28.5625 0.855469 C 28.882812 0.855469 29.144531 1.117188 29.144531 1.4375 L 29.144531 28.5625 C 29.144531 28.882812 28.882812 29.144531 28.5625 29.144531 L 1.4375 29.144531 C 1.117188 29.144531 0.855469 28.882812 0.855469 28.5625 L 0.855469 1.4375 C 0.855469 1.117188 1.117188 0.855469 1.4375 0.855469 L 28.5625 0.855469 M 28.5625 0.335938 L 1.4375 0.335938 C 0.832031 0.335938 0.335938 0.832031 0.335938 1.4375 L 0.335938 28.5625 C 0.335938 29.167969 0.832031 29.664062 1.4375 29.664062 L 28.5625 29.664062 C 29.167969 29.664062 29.664062 29.167969 29.664062 28.5625 L 29.664062 1.4375 C 29.664062 0.832031 29.167969 0.335938 28.5625 0.335938 Z M 28.5625 0.335938 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(80%,79.607843%,79.607843%);fill-opacity:1;" d="M 20.957031 14.855469 C 20.957031 18.257812 18.195312 21.015625 14.792969 21.015625 C 11.390625 21.015625 8.632812 18.257812 8.632812 14.855469 C 8.632812 11.453125 11.390625 8.691406 14.792969 8.691406 C 18.195312 8.691406 20.957031 11.453125 20.957031 14.855469 "/>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(80%,79.607843%,79.607843%);stroke-opacity:1;stroke-miterlimit:4;" d="M 45.304948 29.203906 C 45.304948 30.842708 44.753646 32.058594 44.300521 33.546354 C 43.8625 34.966146 42.19349 36.038542 41.408073 37.261979 C 40.690625 38.38724 40.947396 39.270833 39.980729 40.177083 C 38.961198 41.14375 37.752865 42.382292 36.506771 43.054427 C 35.759115 43.46224 33.795573 43.160156 32.972396 43.447135 C 31.310937 44.021094 30.706771 44.98776 28.841406 44.98776 C 27.519792 44.98776 26.60599 45.682552 25.375 45.380469 C 24.302604 45.123698 22.890365 43.892708 21.916146 43.432031 C 20.730469 42.865625 19.809115 41.596875 18.804687 40.773698 C 17.898437 40.033594 16.886458 39.754167 16.161458 38.840365 C 15.104167 37.503646 15.111719 35.804427 14.515104 34.180729 C 13.888281 32.451302 12.6875 30.77474 12.6875 28.833854 C 12.6875 27.361198 12.883854 25.941406 13.253906 24.589583 C 13.654167 23.109375 12.959375 21.75 13.744792 20.48125 C 14.552865 19.136979 17.407552 18.698958 18.555469 17.656771 C 19.771354 16.554167 21.372396 13.805208 22.882812 13.110417 C 24.929427 12.173958 26.439844 12.679948 28.841406 12.679948 C 31.069271 12.679948 33.417969 12.528906 35.351302 13.352083 C 36.75599 13.941146 37.835937 15.330729 39.00651 16.282292 C 40.101562 17.165885 40.426302 19.499479 41.257031 20.639844 C 42.110417 21.810417 43.46224 21.802865 43.983333 23.177344 C 44.640365 24.936979 45.304948 27.217708 45.304948 29.203906 Z M 45.304948 29.203906 " transform="matrix(0.517241,0,0,0.517241,0,0)"/>
<path style="fill:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(80.392157%,80%,79.607843%);stroke-opacity:1;stroke-miterlimit:4;" d="M 43.394271 28.720573 C 43.394271 36.891927 36.771094 43.515104 28.59974 43.515104 C 20.428385 43.515104 13.805208 36.891927 13.805208 28.720573 C 13.805208 20.549219 20.428385 13.926042 28.59974 13.926042 C 36.771094 13.926042 43.394271 20.549219 43.394271 28.720573 Z M 43.394271 28.720573 " transform="matrix(0.517241,0,0,0.517241,0,0)"/>
</g>
</svg>
<!-- policy -->
<svg id="policy_active" x="240" y="110">
<title>The research data repository provides a policy.</title>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(25.098039%,25.098039%,25.490196%);fill-opacity:1;" d="M 29.664062 28.5625 C 29.664062 29.167969 29.167969 29.664062 28.5625 29.664062 L 1.4375 29.664062 C 0.828125 29.664062 0.335938 29.167969 0.335938 28.5625 L 0.335938 1.4375 C 0.335938 0.832031 0.828125 0.335938 1.4375 0.335938 L 28.5625 0.335938 C 29.167969 0.335938 29.664062 0.832031 29.664062 1.4375 Z M 29.664062 28.5625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 12.183594 6.019531 C 12.886719 5.320312 13.808594 4.96875 14.957031 4.96875 C 16.648438 4.96875 17.8125 5.53125 18.453125 6.648438 C 18.792969 7.234375 18.972656 7.996094 18.992188 8.933594 L 17.144531 8.933594 C 17.097656 8.261719 16.980469 7.765625 16.796875 7.445312 C 16.464844 6.867188 15.882812 6.574219 15.054688 6.574219 C 14.390625 6.574219 13.886719 6.734375 13.535156 7.046875 C 13.1875 7.363281 13.011719 7.78125 13.011719 8.304688 C 13.011719 8.609375 13.078125 8.882812 13.210938 9.125 C 13.339844 9.371094 13.535156 9.582031 13.792969 9.765625 C 14.316406 10.125 15.242188 10.675781 16.574219 11.421875 C 18.941406 12.746094 20.125 14.148438 20.125 15.625 C 20.125 16.460938 19.871094 17.195312 19.363281 17.820312 C 19.074219 18.179688 18.585938 18.605469 17.894531 19.097656 C 18.269531 19.441406 18.554688 19.820312 18.761719 20.226562 C 18.964844 20.636719 19.066406 21.078125 19.066406 21.546875 C 19.066406 22.5 18.699219 23.320312 17.957031 24.015625 C 17.21875 24.710938 16.222656 25.054688 14.96875 25.054688 C 13.3125 25.054688 12.152344 24.519531 11.492188 23.449219 C 11.125 22.871094 10.902344 22.054688 10.824219 21 L 12.707031 21 C 12.761719 21.691406 12.886719 22.195312 13.078125 22.519531 C 13.414062 23.105469 14.003906 23.394531 14.839844 23.394531 C 15.390625 23.394531 15.832031 23.324219 16.164062 23.175781 C 16.78125 22.898438 17.089844 22.382812 17.089844 21.621094 C 17.089844 21.296875 16.996094 20.996094 16.808594 20.714844 C 16.695312 20.558594 16.535156 20.398438 16.332031 20.226562 C 16.21875 20.136719 15.851562 19.878906 15.234375 19.457031 C 14.867188 19.210938 14.515625 18.976562 14.1875 18.75 L 12.304688 17.492188 C 11.558594 16.996094 11.027344 16.5625 10.710938 16.195312 C 10.152344 15.570312 9.875 14.863281 9.875 14.082031 C 9.875 13.40625 10.082031 12.796875 10.496094 12.253906 C 10.914062 11.707031 11.460938 11.226562 12.136719 10.8125 C 11.828125 10.53125 11.585938 10.226562 11.417969 9.902344 C 11.226562 9.492188 11.132812 9.0625 11.132812 8.601562 C 11.132812 7.582031 11.484375 6.722656 12.183594 6.019531 M 16.824219 18.222656 C 17.234375 17.980469 17.539062 17.742188 17.738281 17.503906 C 18.097656 17.089844 18.273438 16.574219 18.273438 15.960938 C 18.273438 15.414062 18.085938 14.945312 17.710938 14.558594 C 17.480469 14.320312 17.003906 13.980469 16.292969 13.546875 L 13.214844 11.664062 C 12.792969 11.890625 12.488281 12.109375 12.289062 12.320312 C 11.910156 12.714844 11.722656 13.191406 11.722656 13.757812 C 11.722656 14.058594 11.769531 14.324219 11.863281 14.558594 C 12.039062 14.988281 12.367188 15.355469 12.847656 15.667969 Z M 16.824219 18.222656 "/>
</g>
</svg>
<svg id="doi" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<a xlink:href="http://doi.org/">
<text x="15" y="170" fill="#000000" font-family="Helvetica" font-size="14px">http://doi.org/</text>
</a>
</svg>
<svg id="reponame" x="15" y="185">
<switch>
<foreignObject width="290" height="60" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div style="height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml">
<div style="display:inline-block;width:280px; vertical-align: middle; color: #000000; font-weight: bold; line-height: 1.25; font-size: 16px; font-family: sans-serif;">
TU Graz Repository
</div>
<div style="display:inline-block; height:100%;width:1px;vertical-align: middle;"></div>
</div>
</foreignObject>
<text x="0" y="45" fill="#000000" font-family="Helvetica" font-size="18px" style="font-weight: bold;">TU Graz Repository</text>
</switch>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -10,13 +10,14 @@
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{%- from "invenio_oauthclient/_macros.html" import oauth_button %}
{% block page_body %}
<div class="spacer-long"></div>
<div class="spacer-long"></div>
<div class="ui container">
<div class="ui centered grid padded">
<div class="ui padded segments huge form">
<div class="ui padded segments large form">
<div class="ui login segment padded">
<div class="divider hidden"></div>
{%- block form_header %}
@@ -24,19 +25,40 @@
{%- endblock form_header %}
<div class="ui divider"></div>
<!--Log in with SSO-->
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %}
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="login-page-button ui fluid large button">
{% trans type='TUGRAZ' %} Log in with {{ type }}{% endtrans %}
{% if config.OAUTHCLIENT_REMOTE_APPS or config.SSO_SAML_IDPS %}
<div class="ui form">
{% for name in config.OAUTHCLIENT_REMOTE_APPS.keys() %}
{{ oauth_button(name, next=request.args.get('next')) }}
{% endfor %}
</div>
{% for name in config.SSO_SAML_IDPS.keys() %}
<div class="field">
<a class="login-page-button ui fluid large button" href="{{ url_for('sso_saml.sso', idp=name) }}">
{{
_('Log in with %(title)s', title=config.SSO_SAML_IDPS[name]['title']|default("SAML", true))
}}
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a>
<div class="spacer-long"></div>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or")}}</span></div>
</div>
{% endfor %}
{%- if config.ACCOUNTS_LOCAL_LOGIN_ENABLED %}
<div class="ui horizontal divider">
{{ _("Or") }}
</div>
{%- endif %}
{% endif %}
{%- block form_outer %}
{%- if config.ACCOUNTS_LOCAL_LOGIN_ENABLED %}
{%- with form = login_user_form %}
<div style="padding-bottom: 20px;padding-top: 6px;">
<form action="{{ url_for_security('login') }}" method="POST" name="login_user_form" class="ui big form">
{%- set accordion_active = "active" if form.errors else "" %}
<div class="ui styled accordion">
<div class="title trigger {{ accordion_active }}">
{{ _('Log in with repository credentials') }}
<i class="user icon button"></i>
</div>
<div class="content {{ accordion_active }}">
<form action="{{ url_for_security('login') }}" method="POST" name="login_user_form" class="ui large form">
{{ form.hidden_tag() }}
{{ form_errors(form) }}
{{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }}
@@ -46,10 +68,11 @@
</button>
</form>
</div>
</div>
{%- endwith %}
{%- endif %}
{%- endblock form_outer %}
<div class="divider hidden"></div>
</div>
{%- block registerable %}

View File

@@ -48,7 +48,6 @@
<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 %}
@@ -57,8 +56,17 @@
{%- block form_outer %}
{%- endblock form_outer %}
{%- endblock form_header %}
{%- with form = register_user_form %}
<form class="ui big form" action="{{ url_for_security('register') }}" method="POST" name="register_user_form">
{%- set accordion_active = "active" if form.errors else "" %}
<div class="ui padded centered large form">
<div class="ui styled accordion">
<div class="title trigger {{ accordion_active }}">
{{ _('Sign up with repository credentials') }}
<i class="user icon button"></i>
</div>
<div class="content {{ accordion_active }}">
<form class="ui large form" action="{{ url_for_security('register') }}" method="POST" name="register_user_form">
{{ form_errors(form) }}
{{ form.hidden_tag() }}
{%- block registration_form_fields scoped %}
@@ -79,8 +87,10 @@
</button>
</div>
</form>
</div>
</div>
</div>
{%- endwith %}
<div class="ui divider"></div>
</div>

View File

@@ -1,31 +0,0 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2021 Graz University of Technology.
Invenio-them-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.BASE_TEMPLATE %}
{%- block page_body %}
{%- if record %}
<input id="deposits-record" type="hidden" name="deposits-record" value='{{record | tojson }}'></input>
{%- endif %}
{%- if files %}
<input id="deposits-record-files" type="hidden" name="deposits-record-files" value='{{files | tojson }}'></input>
{%- endif %}
{%- if forms_config %}
<input type="hidden" name="deposits-config" value='{{forms_config | tojson }}'></input>
{%- endif %}
{%- if permissions %}
<input id="deposits-record-permissions" type="hidden" name="deposits-record-permissions" value='{{permissions | tojson }}'></input>
{%- endif %}
<div id="deposit-form"></div>
{%- endblock page_body %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-theme-tugraz-rdm-deposit.js'] }}
{%- endblock %}

View File

@@ -1,41 +0,0 @@
{#
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

@@ -34,7 +34,7 @@ details.
{{_ ("Documentation")}} <i class="external alternate icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_theme_tugraz.guide') }}"
<a href="{{ url_for('invenio_config_tugraz.guide') }}"
title="Quick guide" target="_blank">
{{_ ("Reference Guide")}} <i class="download icon"></i>
</a>
@@ -44,12 +44,12 @@ details.
{{_ ("Search Guide")}}<i class="angle right icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_theme_tugraz.gdpr') }}"
<a href="{{ url_for('invenio_config_tugraz.gdpr') }}"
title="General Data Protection Rights" target="_blank">
{{_ ("Data Protection")}} <i class="download icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_theme_tugraz.terms') }}"
<a href="{{ url_for('invenio_config_tugraz.terms') }}"
title="Terms and Conditions" target="_blank">
{{_ ("Terms and Conditions")}} <i class="download icon"></i>
</a>
@@ -109,10 +109,60 @@ details.
</div>
</div>
<div class="ui divider"></div>
<div class="doubling four column row">
<div class="column">
<div class="logos">
{% trans invenio_rdm="http://inveniosoftware.org/products/rdm" %}<strong>Powered by</strong>
<a href="{{invenio_rdm}}" target="_blank" title="invenioRDM">{% endtrans %}
<br>
<img src="{{ url_for('static', filename='images/inveniordm-tail.svg')}}" alt="invenioRDM" height="90px">
</a>
</div>
</div>
<div class="column">
<div class="logos">
{% trans fair_data="https://forschungsdaten.at/en/fair-data-austria/" %}<strong>Enabled by</strong>
<a href="{{fair_data}}" target="_blank" title="Fair Data Austria">{% endtrans %}
<br>
<img src="{{ url_for('static', filename='images/Fair_Data_Austria_orangerot.png')}}" alt="Fair Data Austria"
style="
width: 230px;
margin-top: 15px;
height: auto;">
</a>
</div>
</div>
<div class="column">
<div class="logos">
{% trans oea="https://www.openeducation.at" %}
<a href="{{oea}}" target="_blank" title="Open Education Austria">{% endtrans %}
<br>
<img src="{{ url_for('static', filename='images/oea.svg')}}" alt="Open Education Austria"
style="
margin-top: -5px;
margin-left: 10px;
width: 200px;
height: auto;">
</a>
</div>
</div>
</div>
<div class="ui divider"></div>
<div class="sixteen wide column">
<div class="logos">
{% trans re3data="https://www.re3data.org/repository/r3d100013565" %}
<a href="{{re3data}}" target="_blank" title="Registry of Research Data Repositories">{% endtrans %}
<img src="{{ url_for('static', filename='images/re3data.svg')}}" alt="Registry of Research Data Repositories"
style="
width: 300px;
height: auto;">
</a>
</div>
</div>
</div>
</div>
</footer>

View File

@@ -13,6 +13,7 @@
</div>
{% endif %}
<div>
<header>
{%- block navbar %}
<nav>
@@ -40,17 +41,20 @@
</span>
</a>
</div>
<!--TODO: uncomment this once translation is on place-->
<!-- {%- for item in current_menu.submenu('main').children|sort(attribute='order') if item.visible recursive %}
<div class="two wide column main-menu-entry">
<a href="{{ item.url }}">{{ item.text|safe }}</a>
</div>
{%- endfor %} -->
<!--TODO: remove this once above is uncommented-->
{%- for item in current_menu.submenu('main').children|sort(attribute='order') if item.visible recursive %}
<div class="two wide column main-menu-entry">
<a href="{{url_for('invenio_app_rdm_records.deposit_search')}}" class="no-decoration">{{_ ("Uploads")}}</a>
<a role="menuitem" href="{{ item.url }}" class="no-decoration">{{ item.text|safe }}</a>
</div>
{% endfor %}
{% for item in current_menu.submenu('actions').children|sort(attribute='order') if item.visible recursive %}
<div class="two wide column main-menu-entry">
<a role="menuitem" href="{{ item.url }}" class="no-decoration">{{ item.text|safe }}</a>
</div>
{% endfor %}
</div>
<div id="margin-divider" class="ui divider main-menu-underline-line">
@@ -68,9 +72,11 @@
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }}
{%- endblock %}
</header>
{#
{%- block breadcrumbs %}
{%- include "invenio_theme/breadcrumbs.html" %}
{%- endblock breadcrumbs %}
#}
</header>
</div>

View File

@@ -17,25 +17,8 @@
{%- 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-->
@@ -58,13 +41,18 @@
-->
<div class="badges">
<!--Publication date/Version badge-->
<span class="ui label record-version" title="{{_('Publication date')}}">
<span class="ui label blue" data-tooltip="{{_('Publication date')}}" data-inverted="">
{{ r.metadata.publication_date }} {{ '(' ~ r.metadata.version ~ ')' if r.metadata.version }}
</span>
<!--Resource type badge-->
<span class="ui label teal" title="{{_('Resource type')}}">
{{r.metadata.resource_type | cast_to_dict | vocabulary_title('resource_type') }}
<span class="ui label grey" data-tooltip="{{_('Resource type')}}" data-inverted>
{{ r.ui.resource_type.title_l10n }}
</span>
<span class="ui label access-status {{ r.ui.access_status.id }}" data-tooltip="{{ r.ui.access_status.description_l10n }}" data-inverted="">
{% if r.ui.access_status.icon %}<i class="icon {{ r.ui.access_status.icon }}"></i>{% endif %}
{{ r.ui.access_status.title_l10n }}
</span>
<span class="label record-version">
@@ -103,22 +91,9 @@
</div>
</div>
<!--Disabled on feb-relase - enable when stable-->
<!-- <div class="right floated column">
<span class="access-right">
<i class="icon lock open"></i>
{{ r.access.access_right | make_dict_like('access_right') | vocabulary_title('access_right') }}
{%- for right in r.metadata.rights %}
<a target="_blank" href="{{right.url}}">{{ '(' ~ right.identifier ~ ')' }}</a>
{%- endfor %}
</span>
</div> -->
</div>
</div>
</article>
<!----TODO: more versions
-->
{%- endfor %}
{% if records %}

View File

@@ -1,153 +0,0 @@
{#
Copyright (C) 2020-2021 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2021 TU Wien.
Copyright (C) 2021 Graz University of Technology.
Invenio RDM Records 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.BASE_TEMPLATE %}
{%- from "invenio_app_rdm/records/macros/files.html" import file_list_box, preview_file_box %}
{%- from "invenio_app_rdm/records/macros/detail.html" import show_detail %}
{%- set title = record.metadata.title -%}
{%- set metadata = record.metadata %}
{%- block page_body %}
<div class="banners">
{% if permissions is defined and permissions.can_edit %}
<div class="ui warning flashed top-attached manage message">
<div class="ui container">
<div id="recordManagement" data-record='{{ record | tojson }}' data-permissions='{{ permissions | tojson }}'></div>
</div>
</div>
{% endif %}
{% if not record.versions.is_latest %}
<div class="ui warning flashed top-attached manage message">
<div class="ui container">
<div class="ui relaxed grid">
<div class="column">
<div class="row">
<p>
{% trans link_start=('<a href="' + record.links.latest_html + '"><b>')|safe, link_end='</b></a>'|safe %}
There is a {{ link_start }}newer version{{ link_end }} of the record available.
{% endtrans %}
</p>
</div>
</div>
</div>
</div>
</div>
{% endif %}
</div>
<div class="ui container">
<div class="ui relaxed grid">
<div class="two column row top-padded">
<div class="eleven wide column">
{%- block record_body -%}
{%- block record_header -%}
<div class="ui grid middle aligned">
<div class="two column row">
<div class="left floated left aligned column">
<span class="ui" title="Publication date">{{ record.ui.publication_date_l10n_long }}</span>
<span class="label text-muted"> | Version {{ record.ui.version }}</span>
</div>
<div class="right floated right aligned column">
<span class="ui label small grey">{{ record.ui.resource_type }}</span>
<!--TODO: Re-enable in next releases-->
<!-- <span class="ui label small access-right {{ 'unlock' }}">
<i class="icon {{ 'unlock' }}"></i>{{ _("Open Access") }}</span> -->
</div>
</div>
</div>
{%- endblock record_header -%}
{%- block record_title -%}
<h1>{{ metadata.title }}</h1>
<p>{%- include "invenio_app_rdm/records/details/creators.html" %}</p>
{%- endblock record_title -%}
{%- block record_content -%}
<p>{%- include "invenio_app_rdm/records/details/contributors.html" %}</p>
{%- include "invenio_app_rdm/records/details/subjects.html" %}
<div class="top-padded">
{%- include "invenio_app_rdm/records/details/description.html" %}
</div>
<div class="top-padded">
{%- include "invenio_app_rdm/records/details/licenses.html" %}
</div>
{%- endblock record_content -%}
{# files #}
{%- block record_files -%}
{%- if files is not none -%}
{%- if files.enabled and record|can_list_files %}
{%- set default_preview = files.default_preview %}
{%- set files = files|order_entries %}
{%- if files|has_previewable_files -%}
{%- set default_preview_file = files|select_preview_file(default_preview=default_preview) %}
{{ preview_file_box(default_preview_file, pid) }}
{%- endif -%}
{{ file_list_box(files, pid) }}
{% endif %}
{%- else -%}
{# TODO: come up with a proper display #}
<div>Sorry, the files are restricted!</div>
{%- endif -%}
{%- endblock record_files -%}
{%- block record_details -%}
{# More details #}
<div class="top-padded">
{%- include "invenio_app_rdm/records/details/details.html" %}
</div>
{%- endblock record_details -%}
{%- block record_footer -%}
<div class="ui grid">
<div class="two column row top-bottom-padded font-small">
<div class="four wide column">
<p><b>Upload information</b></p>
</div>
<div class="twelve wide column">
<span class="label text-muted">
<b>Created:</b> {{ record.ui.created_date_l10n_long }} | <b>Modified:</b> {{ record.ui.updated_date_l10n_long }}
</span>
</div>
</div>
</div>
{%- endblock record_footer -%}
<!-- {%- block jump -%}
<div class="ui grid">
<div class="centered row" id="jump-btn">
<a style="cursor: pointer;">
<span class="ui button">
<i class="arrow alternate circle up outline icon"></i>Jump up</span>
</a>
</div>
</div>
{%- endblock jump -%} -->
{%- endblock record_body %}
</div>
<div class="five wide column">
{% block record_sidebar %}
{%- include "invenio_app_rdm/records/details/side_bar.html" %}
<div style="text-align: center;">
{%- include "invenio_theme_tugraz/landingpage/doi.html" %}
</div>
{% endblock record_sidebar %}
</div>
</div>
</div>
</div>
{%- endblock page_body %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-app-rdm-landing-page.js'] }}
{# Communities management -- TODO include again when communities are ready #}
{# {{ webpack['invenio-communities-records.js'] }} #}
{{ webpack['previewer_theme.js'] }}
{%- endblock javascript %}

View File

@@ -1,43 +0,0 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
Invenio RDM Records is free software; you can redistribute it and/or modify
it under the terms of the MIT License; see LICENSE file for more details.
#}
{% if metadata.identifiers %}
{% for identifier in metadata.identifiers %}
{% if identifier.scheme == 'doi' %}
{%- set id_doi = identifier.identifier %}
<dd>
{% if id_doi %}
<span 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 }}">
</img>
</span>
<div id="doi-modal" class="ui modal fade badge-modal" data-modal="{{ id_doi }}">
<div class="header">RDM DOI Badge</div>
<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>
{% else %}
{{ _("No minted DOI") }}
{% endif %}
</dd>
{% endif %}
{% endfor %}
{% endif %}

View File

@@ -15,7 +15,7 @@
<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.person_or_org.name}}</span>
<span class="text-muted" {% if creators.affiliations %} {% for affiliation in creators.affiliations %} data-tooltip="{{affiliation.name}}" data-inverted="" {%- endfor %} {% endif %}>{{creators.person_or_org.name}}</span>
{% if not loop.last %}; {% endif %}
{%- endfor %}

View File

@@ -1,18 +1,43 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020-2022 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.
#}
{% set options = [
{
"key": "records",
"text": _("All") + " " + config.THEME_SITENAME,
"value": url_for("invenio_search_ui.search"),
"title": "repo",
},{
"key": "marc21",
"text": _("Publications"),
"value": url_for("invenio_records_marc21.search"),
"title": "publication",
},{
"key": "lom",
"text": _("Open Educational Resources"),
"value": url_for("invenio_records_lom.search"),
"title": "oer",
}
]
%}
<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;">
<div style="display: inline-block;">
<div class="item p-0 search-bar rel-mr-1">
<div id="header-search-bar" data-options='{{ options | tojson }}'></div>
</div>
</div>
<div class="short-menu-left-lang">
{%- for l in current_i18n.get_locales() %}
{%- if current_i18n.language != l.language %}
<a
@@ -20,21 +45,6 @@
{%- endif %}
{%- endfor %}
</div>
{%- endif %}
<div class="search-icon-header">
<a href="{{url_for('invenio_search_ui.search')}}" class="no-decoration">
<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>

View File

@@ -1,107 +0,0 @@
{#
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() }}
{%- endblock css %}
{%- from "invenio_app_rdm/landing_page/macros/files.html" import file_list_box, preview_file_box %}
{%- from "invenio_app_rdm/landing_page/macros/detail.html" import show_detail %}
{%- set record = record|dereference_record|serialize_ui %}
{%- set metadata = record.metadata %}
{%- 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="badges">
<span class="ui label record-version" title="{{_('Publication date')}}">
{{ record.metadata.publication_date }} {{ '(' ~ record.metadata.version ~ ')' if record.metadata.version }}
</span>
<!--Resource type badge-->
<span class="ui label teal" title="{{_('Resource type')}}">
{{record.ui.resource_type }}
</span>
</div>
<h1 style="margin-top: -6px">{{ record.metadata.title }}</h1>
<p>{%- include "invenio_app_rdm/landing_page/details/creators.html" %}</p>
<p>{%- include "invenio_app_rdm/landing_page/details/contributors.html" %}</p>
<div class="ui grid" style="margin-bottom: 10px;">
<div class="two column row">
<div class="left floated column">
{%- for s in record.metadata.subjects %}
<div class="ui tiny label">{{s.subject}}</div>
{%- endfor %}
<div style="margin-top: 5px;">
<b>Created:</b> {{ record.ui.created_date_l10n_long }} | <b>Modified:</b> {{ record.ui.updated_date_l10n_long }}
</div>
</div>
<div class="right floated column">
<span class="ui label access-right">
<i class="icon lock open"></i>
{{ record.access.access_right | make_dict_like('access_right') | vocabulary_title('access_right') }}
{%- for right in record.metadata.rights %}
<a target="_blank" href="{{right.url}}">{{ '(' ~ right.identifier ~ ')' }}</a>
{%- endfor %}
</span>
</div>
</div>
</div>
{%- include "invenio_app_rdm/landing_page/details/description.html" %}
{# files #}
{%- if record.files and record | can_list_files %}
{%- set files = record.files | make_files_preview_compatible %}
{%- set default_preview_file = files | select_preview_file(default_preview=record.files.default_preview) %}
{{ preview_file_box(default_preview_file, pid) }}
{{ file_list_box(files, pid) }}
{% endif %}
{%- endblock record_body %}
</div>
<div class="six wide column">
<div id="recordManagement"
class="ui container"
data-recid='{{ record["id"] | tojson }}'>
</div>
{% block sidebar %}
{%- include "invenio_app_rdm/landing_page/details/side_bar.html" %}
{% endblock sidebar %}
</div>
</div>
</div>
</div>
{%- endblock page_body %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-app-rdm-records.js'] }}
{# Communities management #}
{{ webpack['invenio-communities-records.js'] }}
{{ webpack['previewer_theme.js'] }}
{{ webpack['invenio-app-rdm-record-management.js'] }}
{%- endblock javascript %}

View File

@@ -1,82 +0,0 @@
{#
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.
#}
{%- extends config.BASE_TEMPLATE %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-theme-tugraz-search-app.js'] }}
{%- endblock %}
{%- block page_body %}
<div data-invenio-search-config='{
"aggs": [
{
"aggName": "access_right",
"field": "access_right",
"title": "Access Right"
},
{
"aggName": "resource_type",
"field": "resource_type.type",
"title": "Resource Type",
"childAgg": {
"aggName": "subtype",
"field": "resource_type.subtype",
"title": "Resource Type"
}
}
],
"appId": "rdm-search",
"initialQueryState": {
"hiddenParams": null,
"size": 10
},
"layoutOptions": {
"gridView": false,
"listView": true
},
"paginationOptions": {
"defaultValue": 10,
"resultsPerPage": [
{
"text": "10",
"value": 10
},
{
"text": "20",
"value": 20
},
{
"text": "50",
"value": 50
}
]
},
"searchApi": {
"axios": {
"headers": {
"Accept": "application/vnd.inveniordm.v1+json"
},
"url": "/api/records",
"withCredentials": true
}
},
"sortOrderDisabled": true,
"sortOptions": [
{
"sortBy": "bestmatch",
"text": "Best match"
},
{
"sortBy": "newest",
"text": "Newest"
}
]
}'></div>
{%- endblock page_body %}

View File

@@ -8,30 +8,27 @@ msgid ""
msgstr ""
"Project-Id-Version: invenio-theme-tugraz 1.0.4\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2021-04-26 09:08+0200\n"
"PO-Revision-Date: 2020-10-06 10:27+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n"
"POT-Creation-Date: 2022-08-05 10:15+0200\n"
"PO-Revision-Date: 2022-08-05 10:21+0200\n"
"Last-Translator: \n"
"Language-Team: de <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.9.1\n"
"X-Generator: Poedit 2.3.1\n"
#: invenio_theme_tugraz/config.py:14 invenio_theme_tugraz/config.py:63
#: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:60
msgid "TU Graz Repository"
msgstr "TU Graz Repository"
#: invenio_theme_tugraz/config.py:66
#: invenio_theme_tugraz/config.py:63
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30
msgid "Repository"
msgstr "Repository"
#: invenio_theme_tugraz/config.py:91
msgid "German"
msgstr "Deutsche"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:26
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:26
msgid "Invenio"
@@ -43,8 +40,8 @@ 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."
"your research is stored safely for the future in TU Graz library for as long "
"as TU Graz library exists."
msgstr ""
"Ihre Forschung ist in der Bibliothek der TU Graz für die Zukunft "
"gespeichert, solange die Bibliothek der TU Graz existiert."
@@ -55,8 +52,8 @@ msgstr "Vertrauenswürdig"
#: 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."
"built and operated by CERN and OpenAIRE to ensure that everyone can join in "
"Open Science."
msgstr ""
"Aufgebaut und betrieben von CERN und OpenAIRE, um sicherzustellen, dass "
"jeder an Open Science teilnehmen kann."
@@ -70,8 +67,8 @@ msgid ""
"every upload is assigned a Digital Object Identifier (DOI), to make them "
"citable and trackable."
msgstr ""
"Jeder Upload wird mit einem Digital Object Identifier (DOI) versehen,um "
"ihn zitierfähig und nachverfolgbar zu"
"Jeder Upload wird mit einem Digital Object Identifier (DOI) versehen,um ihn "
"zitierfähig und nachverfolgbar zu"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:6
msgid "No waiting time"
@@ -79,11 +76,11 @@ msgstr "Keine Wartezeit"
#: 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."
"Uploads are made available online as soon as you hit publish, and your DOI "
"is registered within seconds."
msgstr ""
"Uploads stehen sofort nach drücken auf “Veröffentlichen” zur Verfügung. "
"Ihre DOI wird innerhalb von Sekunden registriert."
"Uploads stehen sofort nach drücken auf “Veröffentlichen” zur Verfügung. Ihre "
"DOI wird innerhalb von Sekunden registriert."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:7
msgid "Open or closed"
@@ -94,8 +91,8 @@ msgid ""
"Share e.g. anonymized clinical trial data with only medical professionals "
"via our restricted access mode."
msgstr ""
"Teilen Sie z.B. anonymisierte klinische Studiendaten nur mit "
"medizinischem Fachpersonal über unseren eingeschränkten Zugriffsmodus."
"Teilen Sie z.B. anonymisierte klinische Studiendaten nur mit medizinischem "
"Fachpersonal über unseren eingeschränkten Zugriffsmodus."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:8
msgid "Versioning"
@@ -122,77 +119,115 @@ msgid "Reference Guide"
msgstr "Handbuch"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:44
msgid "Search Guide"
msgstr "Suchanleitung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:49
msgid "Data Protection"
msgstr "Datenschutzerklärung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:49
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:54
msgid "Terms and Conditions"
msgstr "Nutzungsbedingungen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:53
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:58
msgid "Impressum"
msgstr "Imprint"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:57
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:62
msgid "Feedback"
msgstr "Feedback"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:71
msgid "Features"
msgstr "Features"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:73
msgid "Scalability"
msgstr "Skalierbarkeit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:70
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:75
msgid "Institutional integration"
msgstr "Institutionelle Einbindung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:72
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:77
msgid "Next Generation Repository"
msgstr "Repositorium der nächsten Generation"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:75
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:80
msgid "Repository Profiles"
msgstr "Repositorienprofile"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:77
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:82
msgid "Resilient"
msgstr "Resilient, widerstandsfähig"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:84
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:89
msgid "Connected Services"
msgstr "Verbundene Services "
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:88
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:93
msgid "PURE"
msgstr "PURE"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:91
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:96
msgid "CampusOnline"
msgstr "CampusOnline"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:94
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:99
msgid "Research Data Management"
msgstr "Forschungsdatenmanagement"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:101
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:106
msgid "Accessibility"
msgstr "Barrierefreiheit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:102
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:107
msgid "Tipp:"
msgstr "Tipp"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:102
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:107
msgid "Use Ctrl + and Crtl -"
msgstr "Verwenden Sie Strg+ und Strg-"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:102
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:107
msgid "to change the font size."
msgstr "Um die Schriftgröße zu ändern."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:117
#, fuzzy, python-format
msgid ""
"<strong>Powered by</strong>\n"
" <a href=\"%(invenio_rdm)s\" target=\"_blank\" title=\"invenioRDM"
"\">"
msgstr ""
"<strong>Powered by</strong> <a href=\"%(invenio_rdm)s\" target=\"_blank\">"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:126
#, fuzzy, python-format
msgid ""
"<strong>Enabled by</strong>\n"
" <a href=\"%(fair_data)s\" target=\"_blank\" title=\"Fair Data "
"Austria\">"
msgstr ""
"<strong>Enabled by</strong> <a href=\"%(fair_data)s\" target=\"_blank\">"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:140
#, python-format
msgid ""
"\n"
" <a href=\"%(oea)s\" target=\"_blank\" title=\"Open Education "
"Austria\">"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:157
#, python-format
msgid ""
"\n"
" <a href=\"%(re3data)s\" target=\"_blank\" title=\"Registry of "
"Research Data Repositories\">"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:11
msgid "Test Instance"
@@ -203,114 +238,117 @@ msgstr "Testumgebung"
msgid "This is the test instance of the TU Graz Repository."
msgstr "Dies ist die Testumgebung des TU Graz Repositorys."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:39
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:40
msgid "Home"
msgstr "Startseite"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:52
msgid "Uploads"
msgstr "Hochladen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:27
msgid "Type and press enter to search"
msgstr "Suchbegriff eingeben und “Enter” drücken (?)"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:43
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:26
msgid "Recent uploads"
msgstr "Kürzlich hochgeladene Dateien"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:47
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:30
msgid "There are no public records to show."
msgstr "Es sind keine öffentlich zugänglichen Datensätze vorhanden."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:44
msgid "Publication date"
msgstr "Datum der Veröffentlichung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:38
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:49
msgid "Resource type"
msgstr "Art der Veröffentlichung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:99
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:87
#, python-format
msgid ""
"\n"
" Uploaded on %(date)s\n"
" "
msgstr "Hochgeladen am %(date)s\n"
msgstr ""
"\n"
"\t\tHochgeladen am %(date)s"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:126
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:101
msgid "More"
msgstr "Mehr"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:111
msgid "Need help?"
msgstr "Brauchen Sie Hilfe?"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:140
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:115
msgid "Contact us"
msgstr "Kontaktiere uns"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:120
msgid "prioritizes all Recent uploads."
msgstr "reiht die neuesten Uploads vor."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:148
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:123
msgid "We can help with:"
msgstr "Dabei können wir helfen:"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:128
msgid "Uploading your research data, software, preprints, etc."
msgstr "Hochladen Ihrer Forschungsdaten, Software, Preprints usw."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:129
msgid "One-on-one with"
msgstr "One-on-one mit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:129
msgid "supporters."
msgstr "Unterstützern"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:155
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:130
msgid "Quota increases beyond our default policy."
msgstr "Quota Erhöhungen über unsere Standard Policy hinaus."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:156
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:131
msgid "Scripts for automated uploading of larger datasets."
msgstr "Skripte zum automatisierten Hochladen größerer Datensätze."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:161
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "Why use"
msgstr "Warum"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:66
#, fuzzy
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:12
msgid "All"
msgstr "Alle"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:17
msgid "Publications"
msgstr "Publikationen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:22
msgid "Open Educational Resources"
msgstr "Open Educational Resources"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:76
msgid "REPOSITORY"
msgstr "Repository"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
msgid "LIBRARY & ARCHIVES"
msgstr "Bibliothek und Archiv"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:88
msgid "SCIENCE"
msgstr "WISSEN"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:89
msgid "PASSION"
msgstr "TECHNIK"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:80
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:90
msgid "TECHNOLOGY"
msgstr "LEIDENSCHAFT"
#: 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
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:82
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:86
msgid "Sign up"
msgstr "Registrierung"
msgstr "Registrieren"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:15
msgid "Log in"
@@ -320,101 +358,87 @@ msgstr "Einloggen"
msgid "Sign out"
msgstr "Ausloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:23
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:24
msgid "Log in to Repository"
msgstr "Anmelden"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:29
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:38
#, python-format
msgid " Log in with %(type)s"
msgstr "Einloggen mit"
msgid "Log in with %(title)s"
msgstr "Einloggen mit %(title)s"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:54
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:51
msgid "Or"
msgstr "Oder"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:45
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:57
msgid "Log in with repository credentials"
msgstr "Loggen Sie sich mit Ihrem Repository-Account ein"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:67
msgid "Log In"
msgstr "Einloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:58
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:81
#, python-format
msgid "New to %(sitename)s?"
msgstr "Neu im %(sitename)s?"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:91
msgid "Forgot password?"
msgstr "Passwort vergessen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:22
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:20
msgid "Create an Account"
msgstr "Einen Account erstellen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:25
msgid "Citeable. Discoverable."
msgstr "Zitierfähig. Auffindbar."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:29
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:27
msgid ""
"Uploads get a Digital Object Identifier (DOI) to make them easily and "
"uniquely citeable."
msgstr ""
"Uploads erhalten eine DOI und werden damit leichtauffindbar und "
"zitierfähig."
"Uploads erhalten eine DOI und werden damit leichtauffindbar und zitierfähig."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:30
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:28
msgid "Communities."
msgstr "Communities"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:32
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:30
msgid ""
"Accept or reject uploads to your own community (e.g workshops, EU "
"projects, institutions or entire disciplines)."
"Accept or reject uploads to your own community (e.g workshops, EU projects, "
"institutions or entire disciplines)."
msgstr ""
"Annehmen oder Ablehnen von Uploads in Ihrer eigenen Community (z.B. "
"workshop, EU-Projekt, Forschungseinrichtung, Disziplin)"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:34
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:32
msgid "Trusted Research Data Management"
msgstr "Vertrauenswürdiges Forschungsdatenmanagement"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:36
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:34
msgid ""
"Built on top of TU Graz expertise in managing of the research data from "
"the Graz University of Technology."
"Built on top of TU Graz expertise in managing of the research data from the "
"Graz University of Technology."
msgstr "Gebaut basierend auf Expertise derTU Graz im Bereich Data Management"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:50
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:48
msgid "Sign up with TUGRAZ "
msgstr "Mit Ihrem TUGonline-Account einloggen"
msgstr "Mit Ihrem TUGonline-Account registrieren"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/details/doi.html:28
msgid "RDM DOI Badge"
msgstr "RDM DOI Abzeichen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:65
msgid "Sign up with repository credentials"
msgstr "Mit Ihren Repository Daten registrieren"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/details/doi.html:32
msgid "DOI"
msgstr "DOI"
#~ msgid "My dashboard"
#~ msgstr "Meine Übersicht"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:35
#, python-format
msgid ""
"\n"
" There is a %(link_start)snewer version%(link_end)s of the "
"record available.\n"
" "
msgstr ""
"Es ist eine %(link_start)sneuere Version%(link_end)s des Eintrags "
"verfügbar."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:64
msgid "Open Access"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/doi.html:37
msgid "No minted DOI"
msgstr ""
#~ msgid "Type and press enter to search"
#~ msgstr "Suchbegriff eingeben und “Enter” drücken (?)"
#~ msgid "Version"
#~ msgstr "Version"
@@ -428,3 +452,38 @@ msgstr ""
#~ msgid "Handbook"
#~ msgstr "Handbuch"
#~ msgid "RDM DOI Badge"
#~ msgstr "RDM DOI Abzeichen"
#~ msgid "DOI"
#~ msgstr "DOI"
#~ msgid "Uploads"
#~ msgstr "Hochladen"
#~ msgid "German"
#~ msgstr "Deutsche"
#~ msgid "New version"
#~ msgstr "neue Version"
#~ msgid "New upload"
#~ msgstr "Neuer upload"
#~ msgid "Edit upload"
#~ msgstr "Upload bearbeiten"
#~ msgid ""
#~ "\n"
#~ " There is a %(link_start)snewer version%(link_end)s of the "
#~ "record available.\n"
#~ " "
#~ msgstr ""
#~ "Es ist eine %(link_start)sneuere Version%(link_end)s des Eintrags "
#~ "verfügbar."
#~ msgid "Files"
#~ msgstr "Dateien"
#~ msgid "Reason"
#~ msgstr "Grund"

View File

@@ -1,36 +1,32 @@
# Translations template for invenio-theme-tugraz.
# Copyright (C) 2021 Graz University of Technology
# Copyright (C) 2022 Graz University of Technology
# This file is distributed under the same license as the
# invenio-theme-tugraz project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: invenio-theme-tugraz 2.1.0\n"
"Project-Id-Version: invenio-theme-tugraz 4.0.0\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2021-04-26 09:08+0200\n"
"POT-Creation-Date: 2022-08-05 10:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.10.3\n"
#: invenio_theme_tugraz/config.py:14 invenio_theme_tugraz/config.py:63
#: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:60
msgid "TU Graz Repository"
msgstr ""
#: invenio_theme_tugraz/config.py:66
#: invenio_theme_tugraz/config.py:63
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30
msgid "Repository"
msgstr ""
#: invenio_theme_tugraz/config.py:91
msgid "German"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:26
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:26
msgid "Invenio"
@@ -111,77 +107,113 @@ msgid "Reference Guide"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:44
msgid "Data Protection"
msgid "Search Guide"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:49
msgid "Data Protection"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:54
msgid "Terms and Conditions"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:53
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:58
msgid "Impressum"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:57
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:62
msgid "Feedback"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:71
msgid "Features"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:73
msgid "Scalability"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:70
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:75
msgid "Institutional integration"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:72
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:77
msgid "Next Generation Repository"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:75
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:80
msgid "Repository Profiles"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:77
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:82
msgid "Resilient"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:84
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:89
msgid "Connected Services"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:88
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:93
msgid "PURE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:91
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:96
msgid "CampusOnline"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:94
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:99
msgid "Research Data Management"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:101
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:106
msgid "Accessibility"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:102
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:107
msgid "Tipp:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:102
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:107
msgid "Use Ctrl + and Crtl -"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:102
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:107
msgid "to change the font size."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:117
#, python-format
msgid ""
"<strong>Powered by</strong>\n"
" <a href=\"%(invenio_rdm)s\" target=\"_blank\" "
"title=\"invenioRDM\">"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:126
#, python-format
msgid ""
"<strong>Enabled by</strong>\n"
" <a href=\"%(fair_data)s\" target=\"_blank\" title=\"Fair Data"
" Austria\">"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:140
#, python-format
msgid ""
"\n"
" <a href=\"%(oea)s\" target=\"_blank\" title=\"Open Education "
"Austria\">"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:157
#, python-format
msgid ""
"\n"
" <a href=\"%(re3data)s\" target=\"_blank\" title=\"Registry of "
"Research Data Repositories\">"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:11
msgid "Test Instance"
@@ -192,37 +224,27 @@ msgstr ""
msgid "This is the test instance of the TU Graz Repository."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:39
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:40
msgid "Home"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:52
msgid "Uploads"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:27
msgid "Type and press enter to search"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:43
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:26
msgid "Recent uploads"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:47
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:30
msgid "There are no public records to show."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:44
msgid "Publication date"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:38
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:49
msgid "Resource type"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:99
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:87
#, python-format
msgid ""
"\n"
@@ -230,73 +252,85 @@ msgid ""
" "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:126
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:101
msgid "More"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:111
msgid "Need help?"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:140
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:115
msgid "Contact us"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:120
msgid "prioritizes all Recent uploads."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:148
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:123
msgid "We can help with:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:128
msgid "Uploading your research data, software, preprints, etc."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:129
msgid "One-on-one with"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:129
msgid "supporters."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:155
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:130
msgid "Quota increases beyond our default policy."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:156
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:131
msgid "Scripts for automated uploading of larger datasets."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:161
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "Why use"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:12
msgid "All"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:17
msgid "Publications"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:22
msgid "Open Educational Resources"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:76
msgid "REPOSITORY"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
msgid "LIBRARY & ARCHIVES"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:88
msgid "SCIENCE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:89
msgid "PASSION"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:80
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:90
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
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:82
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:86
msgid "Sign up"
msgstr ""
@@ -308,93 +342,76 @@ msgstr ""
msgid "Sign out"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:23
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:24
msgid "Log in to Repository"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:29
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:38
#, python-format
msgid " Log in with %(type)s"
msgid "Log in with %(title)s"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:54
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:51
msgid "Or"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:45
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:57
msgid "Log in with repository credentials"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:67
msgid "Log In"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:58
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:81
#, python-format
msgid "New to %(sitename)s?"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:91
msgid "Forgot password?"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:22
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:20
msgid "Create an Account"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:25
msgid "Citeable. Discoverable."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:29
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:27
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
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:28
msgid "Communities."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:32
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:30
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
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:32
msgid "Trusted Research Data Management"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:36
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:34
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
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:48
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 ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:35
#, python-format
msgid ""
"\n"
" There is a %(link_start)snewer version%(link_end)s of the "
"record available.\n"
" "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:64
msgid "Open Access"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/doi.html:37
msgid "No minted DOI"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:65
msgid "Sign up with repository credentials"
msgstr ""

View File

@@ -1,15 +0,0 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 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.
"""Version information for invenio-theme-tugraz.
This file is imported by ``invenio_theme_tugraz.__init__``,
and parsed by ``setup.py``.
"""
__version__ = "2.1.1"

View File

@@ -8,39 +8,14 @@
"""invenio module for TUGRAZ theme."""
import binascii
from os import environ
from typing import Dict
import requests
from elasticsearch_dsl.utils import AttrDict
from flask import Blueprint, current_app, g, redirect, render_template, request, url_for
from flask_babelex import get_locale
from flask_login import login_required
from flask_menu import current_menu
from invenio_app_rdm.records_ui.views.decorators import (
pass_draft,
pass_record,
pass_record_files,
service,
)
from invenio_app_rdm.records_ui.views.deposits import (
get_form_config,
get_search_url,
new_record,
)
from invenio_rdm_records.proxies import current_rdm_records
from invenio_rdm_records.resources.config import RDMDraftFilesResourceConfig
from flask import Blueprint, render_template
from invenio_rdm_records.resources.serializers import UIJSONSerializer
from invenio_rdm_records.services import RDMDraftFilesService
from .search import FrontpageRecordsSearch
def ui_blueprint(app):
"""Blueprint for the routes and resources provided by Invenio-theme-tugraz."""
routes = app.config.get("TUG_ROUTES")
blueprint = Blueprint(
"invenio_theme_tugraz",
__name__,
@@ -48,14 +23,6 @@ def ui_blueprint(app):
static_folder="static",
)
blueprint.add_url_rule(routes["index"], view_func=index)
blueprint.add_url_rule(routes["comingsoon"], view_func=comingsoon)
blueprint.add_url_rule(routes["guide"], view_func=guide)
blueprint.add_url_rule(routes["terms"], view_func=terms)
blueprint.add_url_rule(routes["gdpr"], view_func=gdpr)
blueprint.add_url_rule(routes["deposit_create"], view_func=deposit_create)
blueprint.add_url_rule(routes["record_detail"], view_func=record_detail)
blueprint.add_url_rule(routes["getdoi"], view_func=retrieve_doi, methods=["POST"])
@blueprint.app_template_filter("make_dict_like")
def make_dict_like(value: str, key: str) -> Dict[str, str]:
@@ -65,148 +32,40 @@ def ui_blueprint(app):
"""
return {key: value}
@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)
def ui_blueprint(app):
"""Blueprint for the routes and resources provided by Invenio-theme-tugraz."""
routes = app.config.get("TUG_ROUTES")
blueprint.add_url_rule(routes["index"], view_func=index)
blueprint.add_url_rule(routes["comingsoon"], view_func=comingsoon)
return blueprint
def records_serializer(records=None):
"""Serialize list of records."""
record_list = []
for record in records:
record_list.append(UIJSONSerializer().dump_obj(record.to_dict()))
return record_list
def index():
"""Frontpage."""
records = FrontpageRecordsSearch()[:5].sort("-created").execute()
return render_template(
"invenio_theme_tugraz/index.html",
records=FrontpageRecordsSearch()[:5].sort("-created").execute(),
"invenio_theme_tugraz/index.html", records=records_serializer(records)
)
def comingsoon():
"""Comingsoon."""
return render_template("invenio_theme_tugraz/comingsoon.html")
def guide():
"""TUGraz_Repository_Guide."""
locale = get_locale()
return redirect(url_for('static',
filename=f'documents/TUGraz_Repository_Guide_01_{locale}.pdf',
_external=True))
def terms():
"""Terms_And_Conditions."""
locale = get_locale()
return redirect(url_for('static',
filename=f'documents/TUGraz_Repository_Terms_And_Conditions_{locale}.pdf',
_external=True))
def gdpr():
"""General_Data_Protection_Rights."""
locale = get_locale()
return redirect(url_for('static',
filename=f'documents/TUGraz_Repository_General_Data_Protection_Rights_{locale}.pdf',
_external=True))
def get_datacite_details():
"""Application credentials for DOI."""
prefix = environ.get("INVENIO_DATACITE_PREFIX")
suffix = environ.get("INVENIO_DATACITE_SUFFIX")
host_url = environ.get("INVENIO_SITE_HOSTNAME")
details = {
"datacite_prefix": prefix,
"datacite_suffix": suffix,
"datacite_host_url": host_url,
}
return details
@login_required
def retrieve_doi():
"""Retrieve DOI from datacite API."""
doi_metadata = request.get_json()
url = environ.get("INVENIO_DATACITE_URL")
username = environ.get("INVENIO_DATACITE_UNAME")
password = environ.get("INVENIO_DATACITE_PASS")
doi_response = requests.post(
url,
auth=(username, password.encode('utf-8')),
json=doi_metadata,
)
response_data = {"code": doi_response.status_code}
try:
doi_response.raise_for_status()
response_data["data"] = doi_response.json()
except requests.exceptions.RequestException:
response_data["errors"] = doi_response.json()["errors"]
return response_data, response_data["code"]
#
# TODO: change this override behaviour once
# PR is merged:
# https://github.com/inveniosoftware/invenio-app-rdm/pull/638
#
@login_required
def deposit_create():
"""Create a new deposit."""
forms_config = get_form_config(createUrl=("/api/records"))
forms_config["data_cite"] = get_datacite_details()
return render_template(
"invenio_theme_tugraz/deposit/deposit.html",
forms_config=forms_config,
searchbar_config=dict(searchUrl=get_search_url()),
record=new_record(),
files=dict(default_preview=None, enabled=True, entries=[], links={}),
)
@login_required
@pass_draft
def deposit_edit(draft=None, pid_value=None):
"""Edit an existing deposit."""
files_list = current_rdm_records.draft_files_service.list_files(
id_=pid_value,
identity=g.identity,
links_config=RDMDraftFilesResourceConfig.links_config,
)
serializer = UIJSONSerializer()
record = serializer.serialize_object_to_dict(draft.to_dict())
forms_config = get_form_config(apiUrl=f"/api/records/{pid_value}/draft")
forms_config["data_cite"] = get_datacite_details()
return render_template(
"invenio_theme_tugraz/deposit/deposit.html",
forms_config=forms_config,
record=record,
files=files_list.to_dict(),
searchbar_config=dict(searchUrl=get_search_url()),
permissions=draft.has_permissions_to(['new_version'])
)
@pass_record
@pass_record_files
def record_detail(record=None, files=None, pid_value=None):
"""Record detail page (aka landing page)."""
files_dict = None if files is None else files.to_dict()
return render_template(
"invenio_theme_tugraz/landingpage/detail.html",
record=UIJSONSerializer().serialize_object_to_dict(record.to_dict()),
pid=pid_value,
files=files_dict,
permissions=record.has_permissions_to(['edit', 'new_version']),
)

View File

@@ -17,31 +17,9 @@ theme = WebpackThemeBundle(
entry={
"invenio-theme-tugraz-theme": "./less/invenio_theme_tugraz/theme.less",
"invenio-theme-tugraz-js": "./js/invenio_theme_tugraz/theme.js",
"invenio-theme-tugraz-search-app": "./js/invenio_theme_tugraz/search/index.js",
# overrides RDM deposit form
'invenio-theme-tugraz-rdm-deposit': './js/invenio_theme_tugraz/deposit/index.js',
},
dependencies={
# required for RDM deposit form
# keep in sync
"@babel/runtime": "^7.9.0",
'formik': '^2.1.4',
'luxon': '^1.23.0',
'path': '^0.12.7',
'prop-types': '^15.7.2',
'react-dnd': '^11.1.3',
'react-dnd-html5-backend': '^11.1.3',
'react-invenio-deposit': '^0.12.0',
'react-invenio-forms': '^0.6.3',
'react-dropzone': "^11.0.3",
'yup': '^0.27.0',
'@ckeditor/ckeditor5-build-classic': '^16.0.0',
'@ckeditor/ckeditor5-react': '^2.1.0',
# datacite - rest api plugin
'datacite-rest': '^0.1.8',
# add any additional npm dependencies here...
},
)
},

3
pyproject.toml Normal file
View File

@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools", "wheel", "babel>2.8"]
build-backend = "setuptools.build_meta"

View File

@@ -1,12 +0,0 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 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.
[pytest]
addopts = --isort --pydocstyle --pycodestyle --doctest-glob="*.rst" --doctest-modules --cov=invenio_theme_tugraz --cov-report=term-missing tests invenio_theme_tugraz
testpaths = tests invenio_theme_tugraz
live_server_scope = module

View File

@@ -16,18 +16,9 @@ set -o errexit
# Quit on unbound symbols
set -o nounset
# Always bring down docker services
function cleanup() {
eval "$(docker-services-cli down --env)"
}
trap cleanup EXIT
python -m check_manifest --ignore ".*-requirements.txt"
python -m sphinx.cmd.build -qnNW docs docs/_build/html
eval "$(docker-services-cli up --db ${DB:-postgresql} --search ${SEARCH:-elasticsearch} --cache ${CACHE:-redis} --env)"
python -m sphinx.cmd.build -qnN docs docs/_build/html
python -m pytest
tests_exit_code=$?
python -m sphinx.cmd.build -qnNW -b doctest docs docs/_build/doctest
python -m sphinx.cmd.build -qnN -b doctest docs docs/_build/doctest
exit "$tests_exit_code"

View File

@@ -6,6 +6,63 @@
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
[metadata]
name = invenio-theme-tugraz
version = attr: invenio_theme_tugraz.__version__
description = "Invenio module for TUGRAZ theme."
long_description = file: README.rst, CHANGES.rst
keywords = invenio theme invenioRDM TU-Graz
license = MIT
author = "Graz University of Technology"
author_email = mojib.wali@tugraz.at
url = https://github.com/tu-graz-library/invenio-theme-tugraz
platforms = any
classifiers =
Environment :: Web Environment
Intended Audience :: Developers
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python
Topic :: Internet :: WWW/HTTP :: Dynamic Content
Topic :: Software Development :: Libraries :: Python Modules
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Development Status :: 3 - Alpha
[options]
include_package_data = True
packages = find:
python_requires = >=3.8
zip_safe = False
install_requires =
Flask-BabelEx>=0.9.4
Flask-WebpackExt>=1.0.0
invenio-assets>=1.2.7,<1.3.0
invenio-i18n>=1.3.1,<1.4.0
invenio_config_tugraz>=0.9.0,<0.10.0
[options.extras_require]
tests =
pytest-black>=0.3.0,<0.3.10
sphinx>=4.2.0,<5
pytest-invenio>=1.4.7
invenio-app>=1.3.0,<2.0.0
elasticsearch7 =
invenio-search[elasticsearch7]>=1.4.2,<2.0
[options.entry_points]
invenio_base.apps =
invenio_theme_tugraz = invenio_theme_tugraz:InvenioThemeTugraz
invenio_base.blueprints =
invenio_theme_tugraz = invenio_theme_tugraz.views:ui_blueprint
invenio_i18n.translations =
messages = invenio_theme_tugraz
invenio_assets.webpack =
invenio_theme_tugraz_theme = invenio_theme_tugraz.webpack:theme
invenio_config.module =
invenio_theme_tugraz = invenio_theme_tugraz.config
[aliases]
test = pytest
@@ -22,6 +79,7 @@ add_ignore = D401
[compile_catalog]
directory = invenio_theme_tugraz/translations/
use-fuzzy = True
[extract_messages]
copyright_holder = Graz University of Technology
@@ -37,20 +95,10 @@ output-dir = invenio_theme_tugraz/translations/
[update_catalog]
input-file = invenio_theme_tugraz/translations/messages.pot
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
profile=black
[pycodestyle]
ignore = E203,E501
[tool:pytest]
addopts = --black --isort --pydocstyle --doctest-glob="*.rst" --doctest-modules --cov=invenio_theme_tugraz --cov-report=term-missing tests invenio_theme_tugraz
testpaths = tests invenio_theme_tugraz
live_server_scope = module

117
setup.py
View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020-2022 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
@@ -8,117 +8,6 @@
"""invenio module for TUGRAZ theme."""
import os
from setuptools import setup
from setuptools import find_packages, setup
readme = open("README.rst").read()
history = open("CHANGES.rst").read()
tests_require = [
"pytest-invenio>=1.4.0",
"invenio-app>=1.3.0,<2.0.0",
]
# Should follow invenio-app-rdm
invenio_search_version = ">=1.4.0,<1.5.0"
invenio_db_version = ">=1.0.9,<1.1.0"
extras_require = {
"elasticsearch7": [f"invenio-search[elasticsearch7]{invenio_search_version}"],
"mysql": [f"invenio-db[mysql,versioning]{invenio_db_version}"],
"postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"],
"sqlite": [f"invenio-db[versioning]{invenio_db_version}"],
"docs": [
"Sphinx>=3",
],
"tests": tests_require,
}
extras_require["all"] = []
for name, reqs in extras_require.items():
if name[0] == ":" or name in (
"elasticsearch7",
"mysql",
"postgresql",
"sqlite",
):
continue
extras_require["all"].extend(reqs)
setup_requires = [
"Babel>=1.3",
"pytest-runner>=3.0.0,<5",
]
install_requires = [
"Flask-BabelEx>=0.9.4",
"Flask-WebpackExt>=1.0.0",
"invenio-assets>=1.2.0",
"invenio-i18n>=1.2.0",
"elasticsearch_dsl>=7.2.1",
"invenio_search>=1.4.0,<2.0.0",
"invenio_config_tugraz>=0.5.1",
# keep this package updated.
"invenio_app_rdm==2.0.1",
]
packages = find_packages()
# Get the version string. Cannot be done with import!
g = {}
with open(os.path.join("invenio_theme_tugraz", "version.py"), "rt") as fp:
exec(fp.read(), g)
version = g["__version__"]
setup(
name="invenio-theme-tugraz",
version=version,
description=__doc__,
long_description=readme + "\n\n" + history,
keywords="invenio, theme, invenioRDM, TU-Graz, Graz University of Technology, statistics",
license="MIT",
author="Graz University of Technology",
author_email="mojib.wali@tugraz.at",
url="https://github.com/tu-graz-library/invenio-theme-tugraz",
packages=packages,
zip_safe=False,
include_package_data=True,
platforms="any",
entry_points={
"invenio_base.apps": [
"invenio_theme_tugraz = invenio_theme_tugraz:InvenioThemeTugraz",
],
"invenio_base.blueprints": [
"invenio_theme_tugraz = invenio_theme_tugraz.views:ui_blueprint",
],
"invenio_i18n.translations": [
"messages = invenio_theme_tugraz",
],
"invenio_assets.webpack": [
"invenio_theme_tugraz_theme = invenio_theme_tugraz.webpack:theme",
],
"invenio_config.module": [
"invenio_theme_tugraz = invenio_theme_tugraz.config",
],
},
extras_require=extras_require,
install_requires=install_requires,
setup_requires=setup_requires,
tests_require=tests_require,
classifiers=[
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Development Status :: 3 - Alpha",
],
)
setup()

View File

@@ -12,62 +12,21 @@ See https://pytest-invenio.readthedocs.io/ for documentation on which test
fixtures are available.
"""
import os
import shutil
import tempfile
import pytest
from flask import Flask
from flask_babelex import Babel
from invenio_db import InvenioDB, db
from invenio_i18n import InvenioI18N
from invenio_search import InvenioSearch
from sqlalchemy_utils.functions import create_database, database_exists, drop_database
from invenio_theme_tugraz import InvenioThemeTugraz
@pytest.fixture(scope="module")
def celery_config():
"""Override pytest-invenio fixture.
TODO: Remove this fixture if you add Celery support.
"""
return {}
@pytest.fixture()
def app(request):
"""Basic Flask application."""
instance_path = tempfile.mkdtemp()
app = Flask("testapp")
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)
InvenioDB(app)
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

View File

@@ -35,4 +35,4 @@ def test_init():
def test_app(app):
"""Test extension initialization."""
theme = InvenioThemeTugraz(app)
_ = InvenioThemeTugraz(app)

View File

@@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 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.
"""Pytest configuration.
See https://pytest-invenio.readthedocs.io/ for documentation on which test
fixtures are available.
"""
import pytest
from invenio_app.factory import create_ui
@pytest.fixture(scope='module')
def create_app(instance_path):
"""Application factory fixture."""
return create_ui

View File

@@ -1,33 +0,0 @@
# # -*- coding: utf-8 -*-
# #
# # Copyright (C) 2020-2021 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.
# """Test views."""
# from elasticsearch_dsl.utils import AttrDict
# from invenio_theme_tugraz.views import cast_to_dict, make_dict_like
# def test_make_dict_like():
# """Test make_dict_like."""
# access = {
# "access_right" : "open"
# }
# dicts = make_dict_like("open", "access_right")
# assert access == dicts
# def test_cast_to_dict():
# """Test cast_to_dict."""
# resource_type = {
# "subtype" : "publication-datamanagementplan",
# "type" : "publication"
# }
# expected = {'subtype': 'publication-datamanagementplan', 'type': 'publication'}
# attr = cast_to_dict(AttrDict(resource_type))
# assert expected == attr