Whole project format with some minor codestyle fixes

This commit is contained in:
2025-05-14 13:23:23 +01:00
parent 5c9dc284e8
commit 38e3dccdfd
28 changed files with 1131 additions and 959 deletions

View File

@@ -3,15 +3,15 @@
"workspaces": {
"": {
"devDependencies": {
"@eslint/css": "^0.7.0",
"@eslint/js": "^9.26.0",
"@eslint/json": "^0.12.0",
"eslint": "^9.26.0",
"eslint-plugin-react": "^7.37.5",
"globals": "^16.1.0",
"lint-staged": "^16.0.0",
"prettier": "^3.5.3",
"prettier-plugin-jinja-template": "^2.1.0",
"@eslint/css": "latest",
"@eslint/js": "latest",
"@eslint/json": "latest",
"eslint": "latest",
"eslint-plugin-react": "latest",
"globals": "latest",
"lint-staged": "latest",
"prettier": "latest",
"prettier-plugin-jinja-template": "latest",
},
},
},
@@ -78,8 +78,6 @@
"array.prototype.findlast": ["array.prototype.findlast@1.2.5", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ=="],
"array.prototype.flat": ["array.prototype.flat@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg=="],
"array.prototype.flatmap": ["array.prototype.flatmap@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg=="],
"array.prototype.tosorted": ["array.prototype.tosorted@1.1.4", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA=="],
@@ -358,7 +356,7 @@
"json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
"jsx-ast-utils": ["jsx-ast-utils@3.3.5", "", { "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" } }, "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ=="],
"jsx-ast-utils": ["jsx-ast-utils@2.4.1", "", { "dependencies": { "array-includes": "^3.1.1", "object.assign": "^4.1.0" } }, "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w=="],
"keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],

View File

@@ -5,13 +5,27 @@ import json from "@eslint/json";
import css from "@eslint/css";
import { defineConfig } from "eslint/config";
export default defineConfig([
{ files: ["**/*.{js,mjs,cjs,jsx}"], plugins: { js }, extends: ["js/recommended"] },
{ files: ["**/*.{js,mjs,cjs,jsx}"], languageOptions: { globals: globals.browser } },
pluginReact.configs.flat.recommended,
{ files: ["**/*.json"], plugins: { json }, language: "json/json", extends: ["json/recommended"] },
{ files: ["**/*.jsonc"], plugins: { json }, language: "json/jsonc", extends: ["json/recommended"] },
{ files: ["**/*.json5"], plugins: { json }, language: "json/json5", extends: ["json/recommended"] },
{
files: ["**/*.json"],
plugins: { json },
language: "json/json",
extends: ["json/recommended"],
},
{
files: ["**/*.jsonc"],
plugins: { json },
language: "json/jsonc",
extends: ["json/recommended"],
},
{
files: ["**/*.json5"],
plugins: { json },
language: "json/json5",
extends: ["json/recommended"],
},
{ files: ["**/*.css"], plugins: { css }, language: "css/css", extends: ["css/recommended"] },
]);

View File

@@ -23,7 +23,6 @@
color: @primaryText;
}
/***
* login background color
* from : rgba(13,95,137,.8)
@@ -34,7 +33,6 @@
background-color: @primaryBackground;
}
/***
* login & sigup page title
* from : #0377cd
@@ -44,7 +42,6 @@
color: @primaryText;
}
/***
* anchor color
* from : #ef4444
@@ -54,7 +51,6 @@ a {
color: @iformBlue;
}
/***
* force: the font changes
***/
@@ -84,7 +80,6 @@ pre {
font-size: 14px;
}
/***
* search.button
***/
@@ -97,7 +92,6 @@ pre {
* accordion title
***/
.ui.accordion.styled {
.title,
.title.active {
background-color: @greyLight;
@@ -164,7 +158,6 @@ pre {
&.embargoed {
background-color: @accessRightEmbargoed;
;
}
&.metadata-only {
@@ -174,14 +167,14 @@ pre {
@font-face {
font-family: "Source Sans Pro";
src: url('./fonts/SourceSansPro/SourceSansPro-Regular.ttf') format('truetype');
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');
src: url("./fonts/SourceSansPro/SourceSansPro-Italic.ttf") format("truetype");
font-weight: 400;
font-style: italic;
}

View File

@@ -15,7 +15,7 @@
.creator:not(:last-child):after {
color: @greyDark;
content: ';';
content: ";";
}
.creator {

View File

@@ -30,7 +30,9 @@
.no-decoration {
color: inherit;
text-decoration: none;
transition: background-color 0.15s ease 0s, color 0.15s ease 0s;
transition:
background-color 0.15s ease 0s,
color 0.15s ease 0s;
outline: none;
}
@@ -42,7 +44,8 @@
border: 1px solid #bfb5b5;
}
.random-records-frontpage {}
.random-records-frontpage {
}
.random-records-frontpage .grid .column {
width: 380px !important;

View File

@@ -15,30 +15,30 @@
//@navbar_background_color: #FFFFFF;
// badge colors, accessibility
@accessRight : #E9711C;
@accessRight: #e9711c;
@accessRightOpen: @accessRight;
@accessRightRestricted: #FBBD08;
@accessRightEmbargoed : #DB2828;
@accessRightRestricted: #fbbd08;
@accessRightEmbargoed: #db2828;
@accessRightClosed: @accessRightEmbargoed;
@accessRightMetadata : #2185D0;
@accessRightMetadata: #2185d0;
@schema: #17B3F3;
@schema: #17b3f3;
// primary colors of I-Form
@iformBlack: #140826;
@iformBlue: #060E9F;
@iformLightGreen: #08E673;
@iformDarkGreen: #069F4B;
@iformCyan: #02E8F7;
@iformBlue: #060e9f;
@iformLightGreen: #08e673;
@iformDarkGreen: #069f4b;
@iformCyan: #02e8f7;
// general
@primaryBackground: #FFF;
@primaryBackground: #fff;
@primaryText: #000;
// accent colors
@greyDark: #777;
@greyLight : #E0E1E2;
@labelKeywordBackground: #E8E8E8;
@greyLight: #e0e1e2;
@labelKeywordBackground: #e8e8e8;
// link and button colors
@primaryLinkInverted: @primaryText;
@@ -52,20 +52,20 @@
// account (signin, signup) specific
@primaryFormAccounts: @primaryBackground;
@formAccountsInputPlaceholder: silver;
@fieldInputSelectionBackground: #50A2CE;
@signInBackground : #245B78;
@fieldInputSelectionBackground: #50a2ce;
@signInBackground: #245b78;
// footer specific
@footerGrey : #5E5E5E;
@footerBottomBackground: #F2F2F2;
@footerGrey: #5e5e5e;
@footerBottomBackground: #f2f2f2;
// record specific
@recordVersionBackground : #F2F2F2;
@recordVersionBackground: #f2f2f2;
@randomRecordsFrontpageArticle: #22242626;
// input
@outlineColor: #85B7D9;
@outlineColor: #85b7d9;
// notification
@notificationBackground: #FFFAF3;
@notificationBorder: #E2D5C2;
@notificationBackground: #fffaf3;
@notificationBorder: #e2d5c2;

View File

@@ -5,7 +5,6 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{% extends config.THEME_ERROR_TEMPLATE %}
{% block message %}

View File

@@ -6,15 +6,26 @@
details.
#}
<!DOCTYPE html>
<html{% if html_css_classes %} class="{{ html_css_classes|join(' ') }}"{% endif %} lang="{{ current_i18n.locale.language|safe }}" dir="{{ current_i18n.locale.text_direction }}">
{% set lang_attr = g.ln.split('_', 1)[0]|safe if g.ln else '' %}
{% set html_class_attr = html_css_classes|join(' ') if html_css_classes else '' %}
{% set body_class_attr = body_css_classes|join(' ') if body_css_classes else '' %}
{% set rtl_attr = rtl_direction|safe if rtl_direction and g.ln else '' %}
<!doctype html>
<html
{% if html_class_attr %}class="{{ html_class_attr }}"{% endif %}
lang="{{ lang_attr }}"
dir="{{ rtl_attr }}"
>
<head>
{%- block head %}
{%- block head_meta %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{%- if description %}<meta name="description" content="{{ description }}" />{% endif %}
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
{%- if description %}
<meta name="description" content="{{ description }}" />
{% endif %}
{%- if keywords %}<meta name="keywords" content="{{ keywords }}" />{% endif %}
{%- if config.get('THEME_GOOGLE_SITE_VERIFICATION', None) %}
{%- for google_id in config.THEME_GOOGLE_SITE_VERIFICATION %}
@@ -32,18 +43,27 @@
{%- block head_links_langs %}
{%- if alternate_urls %}
{%- for alt_ln, alternate_url in alternate_urls.items() %}
<link rel="alternate" hreflang="{{ alt_ln }}" href="{{ alternate_url }}"/>
<link
rel="alternate"
hreflang="{{ alt_ln }}"
href="{{ alternate_url }}"
/>
{%- endfor %}
{%- endif %}
{%- endblock %}
{%- block head_apple_icons %}
{%- for size in [144, 114, 72, 57] %}
{%- set icon_name = 'apple-touch-icon-%d-precomposed.png' | format(size) %}
<link rel="apple-touch-icon-precomposed" sizes="{{ size }}x{{ size }}" href="{{ url_for('static', filename=icon_name) }}"/>
<link
rel="apple-touch-icon-precomposed"
sizes="{{ size }}x{{ size }}"
href="{{ url_for('static', filename=icon_name) }}"
/>
{%- endfor %}
{%- endblock head_apple_icons %}
{%- endblock head_links %}
{%- block header %}{% endblock header %}
{%- block header %}
{% endblock header %}
{%- block css %}
{{ webpack['theme.css'] }}
{{ webpack['invenio-theme-iform-theme.css'] }}
@@ -55,17 +75,30 @@
{%- endblock css %}
{%- endblock head %}
</head>
<body ng-csp {% if body_css_classes %} class="{{ body_css_classes|join(' ') }}"{% endif %}{% if g.ln %} lang="{{ g.ln.split('_', 1)[0]|safe }}"{% if rtl_direction %} {{ rtl_direction|safe }}{% endif %}{% endif %} itemscope itemtype="http://schema.org/WebPage" data-spy="scroll" data-target=".scrollspy-target">
<body
ng-csp
{% if body_class_attr %}class="{{ body_class_attr }}"{% endif %}
{% if lang_attr %}lang="{{ lang_attr }}"{% endif %}
{{ rtl_attr }}
itemscope
itemtype="http://schema.org/WebPage"
data-spy="scroll"
data-target=".scrollspy-target"
>
{% if not config.THEME_IFORM_PRODUCTION %}
<div class="ui sticky test-instance">
<h4>{{_ ("Test Instance") }}</h4>
<p>{{_ ("This is the test instance of the I-Form Repository.") }}</p>
<h4>"Test Instance"</h4>
<p>"This is the test instance of the I-Form Repository."</p>
</div>
{% endif %}
{%- block body %}
{%- block browserupgrade %}
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<p class="browserupgrade">
You are using an <strong>outdated</strong> browser. Please
<a href="http://browsehappy.com/">upgrade your browser</a> to improve your
experience.
</p>
<![endif]-->
{%- endblock browserupgrade %}
{%- block body_inner %}
@@ -76,8 +109,7 @@
{%- block flashmessages %}
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }}
{%- endblock %}
{%- endblock flashmessages %}
{%- endblock navbar_header %}
{#
@@ -93,7 +125,8 @@
{%- block javascript %}
{% include config.THEME_JAVASCRIPT_TEMPLATE %}
{%- endblock javascript %}
{%- block trackingcode %}{% include config.THEME_TRACKINGCODE_TEMPLATE %}
{%- block trackingcode %}
{% include config.THEME_TRACKINGCODE_TEMPLATE %}
{%- endblock %}
{%- endblock body %}
</body>

View File

@@ -15,20 +15,18 @@
{{ _ ("Log in") }}
</a>
</div>
{%- else %}
{%- if config.USERPROFILES %}
<div class="short-menu-right-button">
<a href="{{ url_for('invenio_userprofiles.profile') }}" class="no-decoration">
<i class="user icon"></i> {{ current_user.email }}
</a>
</div>
<div class="short-menu-right-button">
<a class="dropdown-item no-decoration" href="{{url_for_security('logout')}}">Sign out</a>
<a class="dropdown-item no-decoration" href="{{ url_for_security('logout') }}"
>Sign out</a
>
</div>
{%- endif %}
{%- endif %}
{%- endif %}

View File

@@ -5,10 +5,7 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{% extends config.INVENIO_THEME_IFORM_ACCOUNT_BASE %}
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{%- from "invenio_oauthclient/_macros.html" import oauth_button %}
{% block page_body %}
@@ -16,7 +13,6 @@
<div class="spacer-long"></div>
<div class="ui container">
<div class="ui centered grid padded">
<div class="ui padded segments large form">
<div class="ui login segment padded">
<div class="divider hidden"></div>
@@ -33,9 +29,16 @@
</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 {{ config.SSO_SAML_IDPS[name]['title']|default("SAML", true) }}
<img src="{{ url_for('static', filename=config.INVENIO_THEME_IFORM_ICON)}}" height="20px" />
<a
class="login-page-button ui fluid large button"
href="{{ url_for('sso_saml.sso', idp=name) }}"
>
Log in with
{{ config.SSO_SAML_IDPS[name]['title']|default("SAML", true) }}
<img
src="{{ url_for('static', filename=config.INVENIO_THEME_IFORM_ICON) }}"
height="20px"
/>
</a>
</div>
{% endfor %}
@@ -54,12 +57,20 @@
<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
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) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
<button type="submit" class="ui fluid large submit button">
<button
type="submit"
class="ui fluid large submit button"
>
<i class="ui sign-in icon"></i>Log In
</button>
</form>
@@ -75,7 +86,10 @@
{%- if security.registerable %}
<div class="ui primary segment padded text-muted">
{% trans sitename=config.ACCOUNTS_SITENAME %}New to {{ sitename }}?{% endtrans %}
<a href="{{ url_for_security('register', next=request.args.get('next')) }}">Sign up</a>
<a
href="{{ url_for_security('register', next=request.args.get('next')) }}"
>Sign up</a
>
</div>
{%- endif %}
{%- endblock registerable %}
@@ -83,8 +97,11 @@
{%- block recoverable %}
{%- if security.recoverable %}
<div class="ui basic segment padded">
<a class="ui inverted header tiny"
href="{{ url_for_security('forgot_password') }}">Forgot password?</a>
<a
class="ui inverted header tiny"
href="{{ url_for_security('forgot_password') }}"
>Forgot password?</a
>
</div>
{%- endif %}
{%- endblock recoverable %}

View File

@@ -5,16 +5,13 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{% extends config.INVENIO_THEME_IFORM_ACCOUNT_BASE %}
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{% block page_body %}
<div class="spacer-long"></div>
<div class="ui container">
<div class="ui stackable two column grid">
<div class="centered row">
<h1 class="ui header">Create an Account</h1>
@@ -24,15 +21,19 @@
<div class="ui basic segment">
<h4 class="ui header">Citeable. Discoverable.</h4>
<p class="bodytext">
Uploads get a Digital Object Identifier (DOI) to make them easily and uniquely citeable.
Uploads get a Digital Object Identifier (DOI) to make them easily and
uniquely citeable.
</p>
<h4 class="ui header">Communities.</h4>
<p class="bodytext">
Accept or reject uploads to your own community (e.g workshops, EU projects, institutions or entire disciplines).
</h5>
Accept or reject uploads to your own community (e.g workshops, EU projects,
institutions or entire disciplines).
</p>
<h4 class="ui header">Trusted Research Data Management</h4>
<p class="bodytext">
Built on top of I-Form expertise in the managing of research data.
</h5>
</p>
</div>
</div>
@@ -40,11 +41,19 @@
{# Sigup with SSO #}
{%- if config.INVENIO_CONFIG_IFORM_SHIBBOLETH %}
<div class="ui divider"></div>
<a href="{{ url_for("sso_saml.sso", idp="idp") }}" class="login-page-button ui fluid large button">
<a
href="{{ url_for("sso_saml.sso", idp="idp") }}"
class="login-page-button ui fluid large button"
>
<span style="font-size: 18px;">Sign up with I-Form</span>
<img src="{{ url_for("static", filename=config.INVENIO_THEME_IFORM_ICON) }}" height="20px" />
<img
src="{{ url_for("static", filename=config.INVENIO_THEME_IFORM_ICON) }}"
height="20px"
/>
</a>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or") }}</span></div>
<div class="ui inverted horizontal divider">
<span class="text-color">{{ _ ("Or") }}</span>
</div>
{%- endif %}
{%- block form_header %}
@@ -62,7 +71,12 @@
<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
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 %}
@@ -91,6 +105,4 @@
</div>
</div>
</div>
{% endblock page_body %}

View File

@@ -6,14 +6,14 @@
details.
#}
<!DOCTYPE html>
<!doctype html>
<html lang="{{ current_i18n.locale.language|safe }}" dir="{{ current_i18n.locale.text_direction }}">
<head>
{%- block head %}
{%- block head_meta %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
{%- if description %}
<meta name="description" content="{{ description }}" />
@@ -45,13 +45,18 @@
{%- block head_links_langs %}
{%- if alternate_urls %}
{%- for alt_ln, alternate_url in alternate_urls.items() %}
<link rel="alternate" hreflang="{{ alt_ln }}" href="{{ alternate_url }}"/>
<link
rel="alternate"
hreflang="{{ alt_ln }}"
href="{{ alternate_url }}"
/>
{%- endfor %}
{%- endif %}
{%- endblock %}
{%- endblock head_links %}
{%- block header %}{% endblock header %}
{%- block header %}
{% endblock header %}
{%- block css %}
{{ webpack["theme.css"] }}
@@ -60,11 +65,20 @@
{%- endblock head %}
</head>
<body itemscope itemtype="http://schema.org/WebPage" data-spy="scroll" data-target=".scrollspy-target">
<body
itemscope
itemtype="http://schema.org/WebPage"
data-spy="scroll"
data-target=".scrollspy-target"
>
{%- block body %}
{%- block browserupgrade %}
<!--[if lt IE 10]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<p class="browserupgrade">
You are using an <strong>outdated</strong> browser. Please
<a href="http://browsehappy.com/">upgrade your browser</a> to improve your
experience.
</p>
<![endif]-->
{%- endblock browserupgrade %}

View File

@@ -11,11 +11,29 @@
<ul>
<li><strong>Safe</strong> &mdash; Your research results are permanently available.</li>
<li><strong>Trusted</strong> &mdash; A service from I-Form, based on software developed by CERN.</li>
<li><strong>Citeable</strong> &mdash; Every upload is assigned a Digital Object Identifier (DOI).</li>
<li><strong>No waiting time</strong> &mdash; Uploads are made available online as soon as you hit publish. Your DOI is registered within seconds.</li>
<li><strong>Open or closed</strong> &mdash; You determine the visibility of your uploads. A restricted access mode is possible.</li>
<li><strong>Versioning</strong> &mdash; Easily update your dataset with the versioning feature.</li>
<li><strong>Usage statistics</strong> &mdash; All uploads display standards compliant usage statistics. <a href="help/statistics">(More)</a></li>
<li>
<strong>Trusted</strong> &mdash; A service from I-Form, based on software developed by
CERN.
</li>
<li>
<strong>Citeable</strong> &mdash; Every upload is assigned a Digital Object Identifier
(DOI).
</li>
<li>
<strong>No waiting time</strong> &mdash; Uploads are made available online as soon as
you hit publish. Your DOI is registered within seconds.
</li>
<li>
<strong>Open or closed</strong> &mdash; You determine the visibility of your uploads. A
restricted access mode is possible.
</li>
<li>
<strong>Versioning</strong> &mdash; Easily update your dataset with the versioning
feature.
</li>
<li>
<strong>Usage statistics</strong> &mdash; All uploads display standards compliant usage
statistics. <a href="help/statistics">(More)</a>
</li>
</ul>
</div>

View File

@@ -5,14 +5,13 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{% extends config.THEME_ERROR_TEMPLATE %}
{% block message %}
<h1>Internal server error</h1>
<p>
Please contact <a href="mailto:{{config.THEME_IFORM_SUPPORT_EMAIL}}">our support</a> to let
us know about this error.
Please contact <a href="mailto:{{ config.THEME_IFORM_SUPPORT_EMAIL }}">our support</a> to
let us know about this error.
</p>
{# TODO: provide g.sentry_event_id here once sentry is configured, cf. invenio_theme/500.html #}
{% endblock message %}

View File

@@ -24,43 +24,56 @@
<h2>Repository</h2>
<div class="ui list">
<div class="item">
<a href="https://tu-graz-library.github.io/docs-repository" title="Repository documentation"
target="_blank">
<a
href="https://tu-graz-library.github.io/docs-repository"
title="Repository documentation"
target="_blank"
>
Documentation <i class="external alternate icon"></i>
</a>
</div>
<div class="item">
<a href="{{ url_for('invenio_config_iform.guide') }}"
title="Quick guide" target="_blank">
<a
href="{{ url_for('invenio_config_iform.guide') }}"
title="Quick guide"
target="_blank"
>
Reference Guide <i class="download icon"></i>
</a>
</div>
<div class="item">
<a href="{{ url_for('invenio_app_rdm.help_search') }}"
title="Search guide">
<a
href="{{ url_for('invenio_app_rdm.help_search') }}"
title="Search guide"
>
Search Guide<i class="angle right icon"></i>
</a>
</div>
<div class="item">
<a href="{{ url_for('invenio_config_iform.gdpr') }}"
title="General Data Protection Rights" target="_blank">
<a
href="{{ url_for('invenio_config_iform.gdpr') }}"
title="General Data Protection Rights"
target="_blank"
>
Data Protection <i class="download icon"></i>
</a>
</div>
<div class="item">
<a href="{{ url_for('invenio_config_iform.terms') }}"
title="Terms and Conditions" target="_blank">
<a
href="{{ url_for('invenio_config_iform.terms') }}"
title="Terms and Conditions"
target="_blank"
>
Terms and Conditions <i class="download icon"></i>
</a>
</div>
</div>
</div>
<div class="column">
<h2>Features</h2>
@@ -73,7 +86,6 @@
</div>
</div>
<!-- <div class="column">
<h2>Connected Services</h2>
<div class="ui list">
@@ -105,7 +117,6 @@
<div class="item">to change the font size.</div>
</div>
</div>
</div>
<div class="ui divider"></div>
@@ -114,20 +125,32 @@
<div class="column">
<div class="logos">
<strong>Powered by</strong>
<a href="http://inveniosoftware.org/products/rdm" target="_blank" title="invenioRDM">
<img src="{{ url_for("static", filename="images/inveniordm-tail.svg")}}"
<a
href="http://inveniosoftware.org/products/rdm"
target="_blank"
title="invenioRDM"
>
<img
src="{{ url_for("static", filename="images/inveniordm-tail.svg") }}"
alt="InvenioRDM logo"
style="display: block; height: 90px; margin-top: 8px;">
style="display: block; height: 90px; margin-top: 8px;"
/>
</a>
</div>
</div>
<div class="column">
<div class="logos">
<strong>Funded by</strong>
<a href="https://www.sfi.ie" target="_blank" title="Science Foundation Ireland">
<img src="{{ url_for("static", filename="images/SFI_logo.png")}}"
<a
href="https://www.sfi.ie"
target="_blank"
title="Science Foundation Ireland"
>
<img
src="{{ url_for("static", filename="images/SFI_logo.png") }}"
alt="Science Foundation Ireland"
style="display: block; height: auto; margin-top: 15px; width: 230px;">
style="display: block; height: auto; margin-top: 15px; width: 230px;"
/>
</a>
</div>
</div>

View File

@@ -30,7 +30,11 @@
<div class="ui grid stackable container">
<div class="three column row centered" style="padding-bottom: 0;">
<div class="two wide column main-menu-entry">
<a href="{{url_for('invenio_theme_iform.index')}}" title="Home" class="no-decoration">
<a
href="{{ url_for('invenio_theme_iform.index') }}"
title="Home"
class="no-decoration"
>
<span class="home-inline">
{%- include "invenio_theme_iform/home_icon.svg" %} Home
</span>
@@ -38,21 +42,22 @@
</div>
<div class="two wide column main-menu-entry">
<a role="menuitem" href="/communities" class="no-decoration">Communities</a>
<a role="menuitem" href="/communities" class="no-decoration"
>Communities</a
>
</div>
<div class="two wide column main-menu-entry">
<a role="menuitem" href="/me/overview" class="no-decoration">Dashboard</a>
<a role="menuitem" href="/me/overview" class="no-decoration"
>Dashboard</a
>
</div>
</div>
<div id="margin-divider" class="ui divider main-menu-underline-line">
</div>
<div id="margin-divider" class="ui divider main-menu-underline-line"></div>
</div>
<div class="spacer"></div>
</div>
</nav>
{%- endblock navbar %}

View File

@@ -5,7 +5,6 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{%- extends config.INVENIO_THEME_IFORM_BASE_TEMPLATE %}
{%- block javascript %}
@@ -13,14 +12,11 @@
{%- endblock javascript %}
{%- block page_body %}
<div class="ui container">
<div class="ui divider hidden"></div>
<div class="ui stackable grid">
{% include "invenio_theme_iform/frontpage_overview.html" %}
{% include "invenio_theme_iform/recent_uploads.html" %}
<!---segments-->
@@ -30,6 +26,4 @@
</div>
</div>
</div>
{%- endblock %}

View File

@@ -12,12 +12,21 @@
{%- for creators in authors_list %}
{%- if creators.identifiers and creators.identifiers.orcid %}
<a href="{{creators.identifiers.orcid|pid_url('orcid')}}" target="_blank" ><img class="inline-orcid" src="{{ url_for('static', filename='extra/orcid.png')}}" /></a>
<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-tooltip="{{affiliation.name}}" data-inverted="" {%- 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 %}
{%- endmacro %}

View File

@@ -6,7 +6,8 @@
details.
#}
{% set options = [
{%
set options = [
{
"key": "records",
"text": "All",
@@ -38,7 +39,7 @@
<div class="short-menu-left-search">
<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 id="header-search-bar" data-options="{{ options | tojson }}"></div>
</div>
</div>
</div>
@@ -52,22 +53,23 @@
</div>
</div>
<!----END MENU------------------------------------------------------------->
<div class="ui grid" id="main-logo">
<!-- Left -->
<div class="left floated left aligned six wide column" id="repo-logo">
<div class="inline-elements">
<div class="repo-img">
{%- include "invenio_theme_iform/repository_logo.svg" %}
</div>
<div class="repo-img">{%- include "invenio_theme_iform/repository_logo.svg" %}</div>
<div class="affiliation-text">
<a title="Home" href="{{url_for("invenio_theme_iform.index")}}" class="no-decoration">
<a
title="Home"
href="{{ url_for("invenio_theme_iform.index") }}"
class="no-decoration"
>
I-FORM
<br>
<br />
RESEARCH DATA
<br>
<br />
REPOSITORY
</a>
</div>
@@ -81,7 +83,12 @@
<div class="affiliation-logo-claim-single">Through</div>
<div class="affiliation-logo-claim-single">Expertise</div>
</div>
<a href="https://www.i-form.ie" title="I-Form Home" target="_blank" class="no-decoration">
<a
href="https://www.i-form.ie"
title="I-Form Home"
target="_blank"
class="no-decoration"
>
{%- include "invenio_theme_iform/iform_logo.svg" %}
</a>
</div>

View File

@@ -5,7 +5,6 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{%- extends config.INVENIO_THEME_IFORM_BASE_TEMPLATE %}
{%- set active_dashboard_menu_item = "overview" %}
@@ -31,16 +30,26 @@
<div class="ui segment" style="height: 480px">
<h2>Research Results</h2>
<a class="ui left floated image" href="/me/uploads">
<img width="400px" alt="Research Results" src="{{ url_for("static", filename="images/diamond.svg") }}">
<img
width="400px"
alt="Research Results"
src="{{ url_for("static", filename="images/diamond.svg") }}"
/>
</a>
<div class="ui right floated text">Overview: Description for research results</div>
<div class="ui right floated text">
Overview: Description for research results
</div>
</div>
</div>
<div class="column">
<div class="ui segment" style="height: 480px">
<h2>Communities</h2>
<a class="ui left floated image" href="/me/communities">
<img width="400px" alt="Communities" src="{{ url_for("static", filename="images/group-discussion.svg") }}">
<img
width="400px"
alt="Communities"
src="{{ url_for("static", filename="images/group-discussion.svg") }}"
/>
</a>
<div>Overview: Description of Communities</div>
</div>
@@ -49,12 +58,17 @@
<div class="ui segment" style="height: 480px">
<h2>Requests</h2>
<a class="ui left floated image" href="/me/requests">
<img width="400px" alt="Requests" src="{{ url_for("static", filename="images/umbrella.svg") }}">
<img
width="400px"
alt="Requests"
src="{{ url_for("static", filename="images/umbrella.svg") }}"
/>
</a>
<div>Overview: Description of Requests</div>
</div>
</div>
{% else %} {# not is_iform_authenticated #}
{% else %}
{# not is_iform_authenticated #}
{# 1 column: greyed out Research-Uploads #}
<div class="column">
{# a modal's HTML can be placed anywhere, so I placed it here, right before it's used #}
@@ -63,16 +77,24 @@
<div class="content">
<p>
To ensure a well-curated repository, new users need to get unlocked
before being allowed to upload. Once unlocked, you can upload your research,
request its inclusion in a community, generate a DOI for it, and publish it.
before being allowed to upload. Once unlocked, you can upload your
research, request its inclusion in a community, generate a DOI for
it, and publish it.
{# TODO: extra lines on policy about who gets accepted how for Research-Uploads #}
</p>
<div id="anchor-unlock-form"> {# will be replaced with ZammadForm when generating it #}
<button class="ui fluid button" onclick="
<div id="anchor-unlock-form">
{# will be replaced with ZammadForm when generating it #}
<button
class="ui fluid button"
onclick="
$('#iform-unlock-modal')
.modal('hide')"
>Got it!</button>
<button id="generate-unlock-form" class="ui fluid button">Request unlocking</button>
>
Got it!
</button>
<button id="generate-unlock-form" class="ui fluid button">
Request unlocking
</button>
</div>
</div>
</div>
@@ -80,11 +102,18 @@
{# actual column contents start here #}
<div class="ui disabled segment" style="height: 480px">
<h2>Research Results</h2>
<div class="ui left floated image" style="cursor: pointer" onclick="
<div
class="ui left floated image"
style="cursor: pointer"
onclick="
$('#iform-unlock-modal')
.modal('show')"
>
<img width="400px" alt="Research Results" src="{{ url_for("static", filename="images/diamond.svg") }}">
<img
width="400px"
alt="Research Results"
src="{{ url_for("static", filename="images/diamond.svg") }}"
/>
</div>
<div class="ui right floated text">
Overview: Description for research results
@@ -97,7 +126,11 @@
<div class="ui segment" style="height: 480px">
<h2>Publications</h2>
<a class="ui left floated image" href="/publications/uploads">
<img width="400px" alt="Publications" src="{{ url_for("static", filename="images/library-book-svgrepo-com.svg") }}">
<img
width="400px"
alt="Publications"
src="{{ url_for("static", filename="images/library-book-svgrepo-com.svg") }}"
/>
</a>
<div>Overview: Description for publications</div>
</div>
@@ -107,12 +140,15 @@
<div class="ui segment" style="height: 480px">
<h2>Educational Resources</h2>
<a class="ui left floated image" href="/oer/uploads">
<img width="400px" alt="Open Educational Resources" src="{{ url_for("static", filename="images/play.svg") }}">
<img
width="400px"
alt="Open Educational Resources"
src="{{ url_for("static", filename="images/play.svg") }}"
/>
</a>
<div>Overview: Description for open educational resources</div>
</div>
</div>
</div>
</div>
{%- endblock %}

View File

@@ -34,9 +34,11 @@
</span>
{% endif %}
<span class="ui label access-status {{ r.access_status.id }}"
<span
class="ui label access-status {{ r.access_status.id }}"
data-tooltip="{{ r.access_status.description_l10n }}"
data-inverted="">
data-inverted=""
>
<i class="icon {{ r.access_status.icon }}"></i>
{{ r.access_status.title_l10n }}
</span>
@@ -47,9 +49,7 @@
</div>
<h4>
<a href="{{ record_url }}" class="no-decoration">
{{ r.metadata.titles[0] }}
</a>
<a href="{{ record_url }}" class="no-decoration"> {{ r.metadata.titles[0] }} </a>
</h4>
<p>

View File

@@ -8,10 +8,10 @@ const config = {
{
files: ["*.html"],
options: {
parser: "jinja-template"
}
}
]
parser: "jinja-template",
},
},
],
};
export default config;