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

@@ -1,4 +1,4 @@
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
inputs:
nixpkgs:
url: github:cachix/devenv-nixpkgs/rolling
nixpkgs:
url: github:cachix/devenv-nixpkgs/rolling

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: ["**/*.css"], plugins: { css }, language: "css/css", extends: ["css/recommended"] },
]);
{ 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: ["**/*.css"], plugins: { css }, language: "css/css", extends: ["css/recommended"] },
]);

View File

@@ -7,38 +7,38 @@ import React from "react";
// called on document ready
$(function () {
importZammadScript();
syncLogoHover();
importZammadScript();
syncLogoHover();
});
function importZammadScript() {
let scriptNode = document.createElement("hidden"); //needed for zammad script
scriptNode.id = "zammad_form_script";
scriptNode.src = "https://ub-support.tugraz.at/assets/form/form.js";
document.head.appendChild(scriptNode);
let scriptNode = document.createElement("hidden"); //needed for zammad script
scriptNode.id = "zammad_form_script";
scriptNode.src = "https://ub-support.tugraz.at/assets/form/form.js";
document.head.appendChild(scriptNode);
$.getScript("https://ub-support.tugraz.at/assets/form/form.js", () => {
$("#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,
$.getScript("https://ub-support.tugraz.at/assets/form/form.js", () => {
$("#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,
});
});
});
}
// used for sticky test instance notification
$(".ui.sticky.test-instance").sticky({
context: "body",
context: "body",
});
export function toggleVisibility(id) {
var element = document.getElementById(id);
var isHided = element.style.display === "none";
var element = document.getElementById(id);
var isHided = element.style.display === "none";
element.style.display = isHided ? "block" : "none";
element.style.display = isHided ? "block" : "none";
}
window.toggleVisibility = toggleVisibility;
@@ -48,39 +48,39 @@ const searchBarOptions = JSON.parse(headerSearchbar.dataset.options);
// Synchronises the hover states of the subcomponents of the logo
export function syncLogoHover() {
const logoGrad = document.getElementById("int-header-logo-grad");
const logoText = document.getElementById("int-header-logo-text");
const logoGrad = document.getElementById("int-header-logo-grad");
const logoText = document.getElementById("int-header-logo-text");
const originalFillGrad = logoGrad.getAttribute("fill");
const originalColorGrad = logoGrad.getAttribute("color");
const originalFillText = logoText.getAttribute("fill");
const originalColorText = logoText.getAttribute("color");
const originalFillGrad = logoGrad.getAttribute("fill");
const originalColorGrad = logoGrad.getAttribute("color");
const originalFillText = logoText.getAttribute("fill");
const originalColorText = logoText.getAttribute("color");
logoGrad.addEventListener("mouseover", () => {
logoText.setAttribute("fill", "@primaryLinkHoverBackground");
logoText.setAttribute("color", "@primaryLinkHoverBackground");
});
logoGrad.addEventListener("mouseout", () => {
logoText.setAttribute("fill", originalFillText);
logoText.setAttribute("color", originalColorText);
});
logoGrad.addEventListener("mouseover", () => {
logoText.setAttribute("fill", "@primaryLinkHoverBackground");
logoText.setAttribute("color", "@primaryLinkHoverBackground");
});
logoGrad.addEventListener("mouseout", () => {
logoText.setAttribute("fill", originalFillText);
logoText.setAttribute("color", originalColorText);
});
logoText.addEventListener("mouseover", () => {
logoGrad.setAttribute("fill", "@primaryLinkHoverBackground");
logoGrad.setAttribute("color", "@primaryLinkHoverBackground");
});
logoText.addEventListener("mouseout", () => {
logoGrad.setAttribute("fill", originalFillGrad);
logoGrad.setAttribute("color", originalColorGrad);
});
logoText.addEventListener("mouseover", () => {
logoGrad.setAttribute("fill", "@primaryLinkHoverBackground");
logoGrad.setAttribute("color", "@primaryLinkHoverBackground");
});
logoText.addEventListener("mouseout", () => {
logoGrad.setAttribute("fill", originalFillGrad);
logoGrad.setAttribute("color", originalColorGrad);
});
}
window.syncLogoHover = syncLogoHover;
ReactDOM.render(
<MultipleOptionsSearchBar
options={searchBarOptions}
placeholder={i18next.t("Search records...")}
/>,
headerSearchbar,
<MultipleOptionsSearchBar
options={searchBarOptions}
placeholder={i18next.t("Search records...")}
/>,
headerSearchbar,
);

View File

@@ -6,37 +6,37 @@
import $ from "jquery";
async function generateForm() {
// get email from `/api/me`
let email = "???";
const response = await fetch("/api/me");
if (response.ok) {
const json = await response.json();
email = json?.email || "???";
}
// get email from `/api/me`
let email = "???";
const response = await fetch("/api/me");
if (response.ok) {
const json = await response.json();
email = json?.email || "???";
}
// show form
$.getScript("https://ub-support.tugraz.at/assets/form/form.js", () => {
$("#anchor-unlock-form").ZammadForm({
attributes: [
{},
{ defaultValue: email },
{
defaultValue: `Could you unlock my account (${email}) for research-uploads?`,
// TODO: add to defaultValue once policy on how to get accepted is decided...
},
],
modal: false,
// show form
$.getScript("https://ub-support.tugraz.at/assets/form/form.js", () => {
$("#anchor-unlock-form").ZammadForm({
attributes: [
{},
{ defaultValue: email },
{
defaultValue: `Could you unlock my account (${email}) for research-uploads?`,
// TODO: add to defaultValue once policy on how to get accepted is decided...
},
],
modal: false,
});
// focus first entry of now-shown form
document.getElementById("zammad-form-name-inline").focus();
});
// focus first entry of now-shown form
document.getElementById("zammad-form-name-inline").focus();
});
}
$(function() {
// called when DOM is ready
const generateFormElement = document.getElementById("generate-unlock-form");
if (generateFormElement) {
generateFormElement.onclick = generateForm;
}
$(function () {
// called when DOM is ready
const generateFormElement = document.getElementById("generate-unlock-form");
if (generateFormElement) {
generateFormElement.onclick = generateForm;
}
});

View File

@@ -91,7 +91,7 @@
}
}
.field>input::selection {
.field > input::selection {
background: @fieldInputSelectionBackground;
}

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
***/
@@ -71,8 +67,8 @@ pre,
.ui.button,
.ui.items,
.ui.accordion .title:not(.ui),
.ui.items>.item>.content>.header,
.ui.modal>.header,
.ui.items > .item > .content > .header,
.ui.modal > .header,
.ui.menu,
.ui.header,
.ui.form input[type],
@@ -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,57 +15,57 @@
//@navbar_background_color: #FFFFFF;
// badge colors, accessibility
@accessRight : #E9711C;
@accessRightOpen : @accessRight;
@accessRightRestricted: #FBBD08;
@accessRightEmbargoed : #DB2828;
@accessRightClosed : @accessRightEmbargoed;
@accessRightMetadata : #2185D0;
@accessRight: #e9711c;
@accessRightOpen: @accessRight;
@accessRightRestricted: #fbbd08;
@accessRightEmbargoed: #db2828;
@accessRightClosed: @accessRightEmbargoed;
@accessRightMetadata: #2185d0;
@schema: #17B3F3;
@schema: #17b3f3;
// primary colors of I-Form
@iformBlack : #140826;
@iformBlue: #060E9F;
@iformLightGreen: #08E673;
@iformDarkGreen: #069F4B;
@iformCyan: #02E8F7;
@iformBlack: #140826;
@iformBlue: #060e9f;
@iformLightGreen: #08e673;
@iformDarkGreen: #069f4b;
@iformCyan: #02e8f7;
// general
@primaryBackground: #FFF;
@primaryText : #000;
@primaryBackground: #fff;
@primaryText: #000;
// accent colors
@greyDark : #777;
@greyLight : #E0E1E2;
@labelKeywordBackground: #E8E8E8;
@greyDark: #777;
@greyLight: #e0e1e2;
@labelKeywordBackground: #e8e8e8;
// link and button colors
@primaryLinkInverted : @primaryText;
@primaryLinkInverted: @primaryText;
@primaryLinkBackgroundInverted: @primaryBackground;
@primaryLink : @primaryBackground;
@primaryLinkHoverBackground : @primaryText;
@primaryButton : @primaryBackground;
@primaryButtonHoverBackground : @primaryText;
@primaryButtonInverted : @primaryText;
@primaryLink: @primaryBackground;
@primaryLinkHoverBackground: @primaryText;
@primaryButton: @primaryBackground;
@primaryButtonHoverBackground: @primaryText;
@primaryButtonInverted: @primaryText;
// account (signin, signup) specific
@primaryFormAccounts : @primaryBackground;
@formAccountsInputPlaceholder : silver;
@fieldInputSelectionBackground: #50A2CE;
@signInBackground : #245B78;
@primaryFormAccounts: @primaryBackground;
@formAccountsInputPlaceholder: silver;
@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,10 +5,9 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{% extends config.THEME_ERROR_TEMPLATE %}
{% block message %}
<h1><i class="bolt icon"></i> Locked</h1>
<p>The resource that is being accessed is locked.</p>
<h1><i class="bolt icon"></i> Locked</h1>
<p>The resource that is being accessed is locked.</p>
{% endblock message %}

View File

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

View File

@@ -1,34 +1,32 @@
{%- if config.ACCOUNTS %}
{%- if not current_user.is_authenticated %}
{%- if not current_user.is_authenticated %}
{%- if config.SECURITY_REGISTERABLE %}
<div class="short-menu-right-button">
<a href="{{ url_for('security.register') }}" class="no-decoration">
{{_ ("Sign up")}}
</a>
</div>
{%- endif %}
<div class="short-menu-right-button">
<a href="{{url_for_security('login', next=request.path)}}" class="no-decoration">
{{_ ("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>
</div>
{%- if config.SECURITY_REGISTERABLE %}
<div class="short-menu-right-button">
<a href="{{ url_for('security.register') }}" class="no-decoration">
{{ _ ("Sign up") }}
</a>
</div>
{%- endif %}
{%- endif %}
{%- endif %}
<div class="short-menu-right-button">
<a href="{{ url_for_security('login', next=request.path) }}" class="no-decoration">
{{ _ ("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
>
</div>
{%- endif %}
{%- endif %}
{%- endif %}

View File

@@ -5,90 +5,107 @@
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 %}
<div class="spacer-long"></div>
<div class="spacer-long"></div>
<div class="ui container">
<div class="ui centered grid padded">
<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 large form">
<div class="ui login segment padded">
<div class="divider hidden"></div>
{%- block form_header %}
<h3 class="ui login header">Log in to Repository</h3>
{%- endblock form_header %}
<div class="ui divider"></div>
<!--Log in with SSO-->
{% 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
{{ 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 %}
{%- if config.ACCOUNTS_LOCAL_LOGIN_ENABLED %}
<div class="ui horizontal divider">Or</div>
{%- endif %}
{% endif %}
<div class="ui padded segments large form">
<div class="ui login segment padded">
<div class="divider hidden"></div>
{%- block form_header %}
<h3 class="ui login header">Log in to Repository</h3>
{%- endblock form_header %}
<div class="ui divider"></div>
<!--Log in with SSO-->
{% 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 %}
{%- block form_outer %}
{%- if config.ACCOUNTS_LOCAL_LOGIN_ENABLED %}
{%- with form = login_user_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) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
<button
type="submit"
class="ui fluid large submit button"
>
<i class="ui sign-in icon"></i>Log In
</button>
</form>
</div>
</div>
{%- endwith %}
{%- endif %}
{%- endblock form_outer %}
<div class="divider hidden"></div>
</div>
{%- block registerable %}
{%- if security.registerable %}
<div class="ui primary segment padded text-muted">
{% trans sitename=config.ACCOUNTS_SITENAME %}New to {{ sitename }}?{% endtrans %}
<a
href="{{ url_for_security('register', next=request.args.get('next')) }}"
>Sign up</a
>
</div>
{%- endif %}
{%- endblock registerable %}
{%- block recoverable %}
{%- if security.recoverable %}
<div class="ui basic segment padded">
<a
class="ui inverted header tiny"
href="{{ url_for_security('forgot_password') }}"
>Forgot password?</a
>
</div>
{%- endif %}
{%- endblock recoverable %}
</div>
</div>
{% 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>
</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 %}
{%- 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) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
<button type="submit" class="ui fluid large submit button">
<i class="ui sign-in icon"></i>Log In
</button>
</form>
</div>
</div>
{%- endwith %}
{%- endif %}
{%- endblock form_outer %}
<div class="divider hidden"></div>
</div>
{%- block registerable %}
{%- if security.registerable %}
<div class="ui primary segment padded text-muted">
{% trans sitename=config.ACCOUNTS_SITENAME %}New to {{ sitename }}?{% endtrans %}
<a href="{{ url_for_security('register', next=request.args.get('next')) }}">Sign up</a>
</div>
{%- endif %}
{%- endblock registerable %}
{%- block recoverable %}
{%- if security.recoverable %}
<div class="ui basic segment padded">
<a class="ui inverted header tiny"
href="{{ url_for_security('forgot_password') }}">Forgot password?</a>
</div>
{%- endif %}
{%- endblock recoverable %}
</div>
</div>
</div>
{% endblock page_body %}

View File

@@ -5,92 +5,104 @@
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="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>
</div>
<div class="column" id="switch_left">
<div class="ui basic segment">
<h4 class="ui header">Citeable. Discoverable.</h4>
<p class="bodytext">
Uploads get a Digital Object Identifier (DOI) to make them easily and uniquely citeable.
<h4 class="ui header">Communities.</h4>
<p class="bodytext">
Accept or reject uploads to your own community (e.g workshops, EU projects, institutions or entire disciplines).
</h5>
<h4 class="ui header">Trusted Research Data Management</h4>
<p class="bodytext">
Built on top of I-Form expertise in the managing of research data.
</h5>
</div>
</div>
<div class="column" id="switch_right">
{# 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">
<span style="font-size: 18px;">Sign up with I-Form</span>
<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>
{%- endif %}
{%- block form_header %}
{# can add a header img #}
{%- block form_outer %}
{%- endblock form_outer %}
{%- endblock form_header %}
{%- with form = 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 class="ui container">
<div class="ui stackable two column grid">
<div class="centered row">
<h1 class="ui header">Create an Account</h1>
</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 %}
{{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
{%- if form.password_confirm %}
{{ render_field(form.password_confirm, icon="lock icon", errormsg=False) }}
{%- endif %}
{%- endblock registration_form_fields %}
{%- if form.recaptcha %}
<div class="grouped fields">{{ form.recaptcha() }}</div>
{%- endif %}
<div class="column" id="switch_left">
<div class="ui basic segment">
<h4 class="ui header">Citeable. Discoverable.</h4>
<p class="bodytext">
Uploads get a Digital Object Identifier (DOI) to make them easily and
uniquely citeable.
</p>
<div class="centered row">
<button type="submit" class="ui fluid large submit button">
<i class="ui edit outline icon"></i>Sign up
</button>
<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).
</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.
</p>
</div>
</form>
</div>
</div>
<div class="column" id="switch_right">
{# 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"
>
<span style="font-size: 18px;">Sign up with I-Form</span>
<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>
{%- endif %}
{%- block form_header %}
{# can add a header img #}
{%- block form_outer %}
{%- endblock form_outer %}
{%- endblock form_header %}
{%- with form = 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 %}
{{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
{%- if form.password_confirm %}
{{ render_field(form.password_confirm, icon="lock icon", errormsg=False) }}
{%- endif %}
{%- endblock registration_form_fields %}
{%- if form.recaptcha %}
<div class="grouped fields">{{ form.recaptcha() }}</div>
{%- endif %}
<div class="centered row">
<button type="submit" class="ui fluid large submit button">
<i class="ui edit outline icon"></i>Sign up
</button>
</div>
</form>
</div>
</div>
</div>
{%- endwith %}
<div class="ui divider"></div>
</div>
</div>
{%- endwith %}
<div class="ui divider"></div>
</div>
</div>
</div>
{% endblock page_body %}

View File

@@ -6,89 +6,103 @@
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">
<head>
{%- block head %}
{%- block head_meta %}
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
{%- if description %}
<meta name="description" content="{{ description }}" />
{% endif %}
{%- if description %}
<meta name="description" content="{{ description }}" />
{% endif %}
{%- if keywords %}
<meta name="keywords" content="{{ keywords }}" />
{% endif %}
{%- if keywords %}
<meta name="keywords" content="{{ keywords }}" />
{% endif %}
{%- if config.get("THEME_GOOGLE_SITE_VERIFICATION", None) %}
{%- for google_id in config.THEME_GOOGLE_SITE_VERIFICATION %}
<meta name="google-site-verification" content="{{google_id}}"/>
{%- endfor %}
{%- endif %}
{%- endblock head_meta %}
{%- if config.get("THEME_GOOGLE_SITE_VERIFICATION", None) %}
{%- for google_id in config.THEME_GOOGLE_SITE_VERIFICATION %}
<meta name="google-site-verification" content="{{ google_id }}" />
{%- endfor %}
{%- endif %}
{%- endblock head_meta %}
{%- block head_title %}
{%- set title = title or config.THEME_SITENAME %}
<title>{{title}}</title>
{%- endblock head_title %}
{%- block head_title %}
{%- set title = title or config.THEME_SITENAME %}
<title>{{ title }}</title>
{%- endblock head_title %}
{%- block head_links %}
<link rel="shortcut icon" href="{{ url_for("static", filename="favicon.ico") }}"/>
{%- block head_links %}
<link rel="shortcut icon" href="{{ url_for("static", filename="favicon.ico") }}" />
{%- if keywords %}
<link rel="canonical" href="{{ canonical_url }}"/>
{% endif %}
{%- if keywords %}
<link rel="canonical" href="{{ canonical_url }}" />
{% endif %}
{%- block head_links_langs %}
{%- if alternate_urls %}
{%- for alt_ln, alternate_url in alternate_urls.items() %}
<link rel="alternate" hreflang="{{ alt_ln }}" href="{{ alternate_url }}"/>
{%- endfor %}
{%- endif %}
{%- endblock %}
{%- endblock head_links %}
{%- block head_links_langs %}
{%- if alternate_urls %}
{%- for alt_ln, alternate_url in alternate_urls.items() %}
<link
rel="alternate"
hreflang="{{ alt_ln }}"
href="{{ alternate_url }}"
/>
{%- endfor %}
{%- endif %}
{%- endblock %}
{%- endblock head_links %}
{%- block header %}{% endblock header %}
{%- block header %}
{% endblock header %}
{%- block css %}
{{ webpack["theme.css"] }}
{{ webpack["invenio-theme-iform-theme.css"] }}
{%- endblock css %}
{%- endblock head %}
</head>
{%- block css %}
{{ webpack["theme.css"] }}
{{ webpack["invenio-theme-iform-theme.css"] }}
{%- endblock css %}
{%- endblock head %}
</head>
<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>
<![endif]-->
{%- endblock browserupgrade %}
<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>
<![endif]-->
{%- endblock browserupgrade %}
{%- block body_inner %}
{%- block page_header %}
{% include config.THEME_HEADER_TEMPLATE %}
{%- endblock page_header %}
{%- block body_inner %}
{%- block page_header %}
{% include config.THEME_HEADER_TEMPLATE %}
{%- endblock page_header %}
{%- block page_body %}
{% include "invenio_theme/body.html" %}
{%- endblock page_body %}
{%- block page_body %}
{% include "invenio_theme/body.html" %}
{%- endblock page_body %}
{%- block page_footer %}
{% include config.THEME_FOOTER_TEMPLATE %}
{%- endblock page_footer %}
{%- endblock body_inner %}
{%- block page_footer %}
{% include config.THEME_FOOTER_TEMPLATE %}
{%- endblock page_footer %}
{%- endblock body_inner %}
{%- block javascript %}
{% include config.THEME_JAVASCRIPT_TEMPLATE %}
{%- endblock javascript %}
{%- block javascript %}
{% include config.THEME_JAVASCRIPT_TEMPLATE %}
{%- endblock javascript %}
{%- block trackingcode %}
{% include config.THEME_TRACKINGCODE_TEMPLATE %}
{%- endblock %}
{%- endblock body %}
</body>
{%- block trackingcode %}
{% include config.THEME_TRACKINGCODE_TEMPLATE %}
{%- endblock %}
{%- endblock body %}
</body>
</html>

View File

@@ -7,15 +7,33 @@
#}
<div class="ui segment" style="padding-bottom: 10px;">
<h4>Good reasons to use the I-Form Repository</h4>
<h4>Good reasons to use the I-Form Repository</h4>
<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>
</ul>
<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>
</ul>
</div>

View File

@@ -7,19 +7,19 @@
#}
<div class="ui segment">
<h4>Need help?</h4>
<h4>Need help?</h4>
{%- if config.THEME_IFORM_CONTACT_FORM %}
<div style="padding-bottom: 10px;">
<a id="feedback-form" class="fluid ui button">Contact us</a>
</div>
{%- endif %}
<p>We can help with:</p>
{%- if config.THEME_IFORM_CONTACT_FORM %}
<div style="padding-bottom: 10px;">
<a id="feedback-form" class="fluid ui button">Contact us</a>
</div>
{%- endif %}
<p>We can help with:</p>
<ul>
<li>Uploading your research results, software, preprints, etc.</li>
<li>Increasing upload limit beyond our default policy of 10GB.</li>
<li>Establishing contact with data stewards.</li>
<li>Finding individual solutions.</li>
</ul>
<ul>
<li>Uploading your research results, software, preprints, etc.</li>
<li>Increasing upload limit beyond our default policy of 10GB.</li>
<li>Establishing contact with data stewards.</li>
<li>Finding individual solutions.</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 %}
{% extends config.THEME_ERROR_TEMPLATE %}
{% block message %}
<h1> Internal server error </h1>
{% 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 %}
{% endblock message %}

View File

@@ -7,74 +7,86 @@
#}
{%- block css %}
{{ webpack['invenio-theme-iform-theme.css'] }}
{{ webpack['invenio-theme-iform-theme.css'] }}
{%- endblock %}
{%- block javascript %}
{{ webpack['invenio-theme-iform-js.js'] }}
{{ webpack['invenio-theme-iform-js.js'] }}
{%- endblock javascript %}
<div class="spacer"></div>
<footer id="footer" class="footer-bottom">
<div class="ui container">
<div class="ui grid">
<div class="doubling three column row">
<div class="column">
<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">
Documentation <i class="external alternate icon"></i>
</a>
</div>
<div class="ui container">
<div class="ui grid">
<div class="doubling three column row">
<div class="column">
<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"
>
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">
Reference Guide <i class="download icon"></i>
</a>
</div>
<div class="item">
<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">
Search Guide<i class="angle right icon"></i>
</a>
</div>
<div class="item">
<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">
Data Protection <i class="download icon"></i>
</a>
</div>
<div class="item">
<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">
Terms and Conditions <i class="download icon"></i>
</a>
</div>
</div>
</div>
<div class="item">
<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>
<div class="column">
<h2>Features</h2>
<div class="ui list">
<div class="item">Scalability</div>
<div class="item">Institutional integration</div>
<div class="item">Next Generation Repository</div>
<div class="item">Repository Profiles</div>
<div class="item">Resilient</div>
</div>
</div>
<div class="ui list">
<div class="item">Scalability</div>
<div class="item">Institutional integration</div>
<div class="item">Next Generation Repository</div>
<div class="item">Repository Profiles</div>
<div class="item">Resilient</div>
</div>
</div>
<!-- <div class="column">
<!-- <div class="column">
<h2>Connected Services</h2>
<div class="ui list">
<div class="item">
@@ -97,41 +109,52 @@
</div>
</div> -->
<div class="column">
<h2>Accessibility</h2>
<div class="ui list">
<div class="item">Tip:</div>
<div class="item">Use Ctrl + and Crtl -</div>
<div class="item">to change the font size.</div>
</div>
</div>
<div class="column">
<h2>Accessibility</h2>
<div class="ui list">
<div class="item">Tip:</div>
<div class="item">Use Ctrl + and Crtl -</div>
<div class="item">to change the font size.</div>
</div>
</div>
</div>
</div>
<div class="ui divider"></div>
<div class="ui divider"></div>
<div class="doubling two column row">
<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")}}"
alt="InvenioRDM logo"
style="display: block; height: 90px; margin-top: 8px;">
</a>
</div>
<div class="doubling two column row">
<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") }}"
alt="InvenioRDM logo"
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") }}"
alt="Science Foundation Ireland"
style="display: block; height: auto; margin-top: 15px; width: 230px;"
/>
</a>
</div>
</div>
</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")}}"
alt="Science Foundation Ireland"
style="display: block; height: auto; margin-top: 15px; width: 230px;">
</a>
</div>
</div>
</div>
</div>
</div>
</footer>

View File

@@ -7,66 +7,66 @@
#}
<div class="sixteen wide column random-records-frontpage">
<div class="center aligned ui equal height grid">
<div class="left aligned column">
<div class="ui segment image">
<h2>Research Results</h2>
<div class="center aligned ui equal height grid">
<div class="left aligned column">
<div class="ui segment image">
<h2>Research Results</h2>
<div>Frontpage: Description for research results</div>
<div>Frontpage: Description for research results</div>
<ul>
{#
<ul>
{#
<li>
<a href="research-results/browse">Browse</a>
</li>
#}
<li>
<a href="records/search">Search for research results</a>
</li>
<li>
<a href="me/uploads">Upload research results</a>
</li>
</ul>
</div>
</div>
<div class="left aligned column">
<div class="ui segment image">
<h2>Publications</h2>
<li>
<a href="records/search">Search for research results</a>
</li>
<li>
<a href="me/uploads">Upload research results</a>
</li>
</ul>
</div>
</div>
<div class="left aligned column">
<div class="ui segment image">
<h2>Publications</h2>
<div>Frontpage: Description for publications</div>
<div>Frontpage: Description for publications</div>
<ul>
{#
<ul>
{#
<li>
<a href="publications/browse">Browse</a>
</li>
#}
<li>
<a href="publications/search">Search for publications</a>
</li>
</ul>
</div>
</div>
<div class="left aligned column">
<div class="ui segment image">
<h2>Educational Resources</h2>
<li>
<a href="publications/search">Search for publications</a>
</li>
</ul>
</div>
</div>
<div class="left aligned column">
<div class="ui segment image">
<h2>Educational Resources</h2>
<div>Frontpage: Description for open educational resources</div>
<div>Frontpage: Description for open educational resources</div>
<ul>
{#
<ul>
{#
<li>
<a href="oer/browse">Browse</a>
</li>
#}
<li>
<a href="oer/search">Search for educational resourses</a>
</li>
<li>
<a href="oer/uploads">Upload educational resources</a>
</li>
</ul>
</div>
<li>
<a href="oer/search">Search for educational resourses</a>
</li>
<li>
<a href="oer/uploads">Upload educational resources</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>

View File

@@ -7,58 +7,63 @@
#}
{% 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>
</div>
<div class="ui sticky test-instance">
<h4>Test Instance</h4>
<p>This is the test instance of the I-Form Repository.</p>
</div>
{% endif %}
<div>
<header>
{%- block site_banner %}
{% from 'invenio_banners/banner.html' import banner %}
{{ banner() }}
{%- endblock site_banner %}
<header>
{%- block site_banner %}
{% from 'invenio_banners/banner.html' import banner %}
{{ banner() }}
{%- endblock site_banner %}
{%- block navbar %}
<nav>
{%- block navbar_header %}
{%- include "invenio_theme_iform/navbar.html" %}
{%- endblock navbar_header %}
{%- block navbar %}
<nav>
{%- block navbar_header %}
{%- include "invenio_theme_iform/navbar.html" %}
{%- endblock navbar_header %}
<div class="ui container">
<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">
<span class="home-inline">
{%- include "invenio_theme_iform/home_icon.svg" %} Home
</span>
</a>
</div>
<div class="ui container">
<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"
>
<span class="home-inline">
{%- include "invenio_theme_iform/home_icon.svg" %} Home
</span>
</a>
</div>
<div class="two wide column main-menu-entry">
<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>
</div>
</div>
<div class="two wide column main-menu-entry">
<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
>
</div>
</div>
<div id="margin-divider" class="ui divider main-menu-underline-line">
<div id="margin-divider" class="ui divider main-menu-underline-line"></div>
</div>
</div>
</div>
<div class="spacer"></div>
</div>
</nav>
{%- endblock navbar %}
<div class="spacer"></div>
</div>
</nav>
{%- endblock navbar %}
{%- block flashmessages %}
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }}
{%- endblock %}
</header>
{%- block flashmessages %}
{%- from "invenio_theme/macros/messages.html" import flashed_messages with context -%}
{{ flashed_messages() }}
{%- endblock %}
</header>
</div>

View File

@@ -5,31 +5,25 @@
modify it under the terms of the MIT License; see LICENSE file for more
details.
#}
{%- extends config.INVENIO_THEME_IFORM_BASE_TEMPLATE %}
{%- block javascript %}
{{ webpack['invenio-theme-iform-js.js'] }}
{{ webpack['invenio-theme-iform-js.js'] }}
{%- endblock javascript %}
{%- block page_body %}
<div class="ui container">
<div class="ui divider hidden"></div>
<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" %}
<div class="ui stackable grid">
{% include "invenio_theme_iform/frontpage_overview.html" %}
{% include "invenio_theme_iform/recent_uploads.html" %}
<!---segments-->
<div class="six wide column">
{% include "invenio_theme_iform/contact_us.html" %}
{% include "invenio_theme_iform/benefits.html" %}
<!---segments-->
<div class="six wide column">
{% include "invenio_theme_iform/contact_us.html" %}
{% include "invenio_theme_iform/benefits.html" %}
</div>
</div>
</div>
</div>
</div>
{%- endblock %}

View File

@@ -9,22 +9,31 @@
{%- macro creators (authors_list) %}
{%- for creators in authors_list %}
{%- 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>
{%- endif %}
{%- 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>
{%- 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>
{% if not loop.last %}; {% endif %}
{%- endfor %}
<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 %}
<!--TODO: contributers-->
{%- macro contributors(contributors_list) %}
{%- for group in contributors_list|groupby('type')%}
<h5>{{group.grouper}}(s)</h5>
{{authors(group.list)}}
{%- endfor %}
{%- for group in contributors_list|groupby('type') %}
<h5>{{ group.grouper }}(s)</h5>
{{ authors(group.list) }}
{%- endfor %}
{%- endmacro %}

View File

@@ -6,85 +6,92 @@
details.
#}
{% set options = [
{
"key": "records",
"text": "All",
"value": url_for("invenio_search_ui.search"),
"title": "repo",
},{
"key": "rdm",
"text": "Research Results",
"value": "/records/search",
"title": "Research Data",
},{
"key": "marc21",
"text": "Publications",
"value": url_for("invenio_records_marc21.search"),
"title": "publication",
},{
"key": "lom",
"text": "Educational Resources",
"value": url_for("invenio_records_lom.search"),
"title": "oer",
}
]
{%
set options = [
{
"key": "records",
"text": "All",
"value": url_for("invenio_search_ui.search"),
"title": "repo",
},{
"key": "rdm",
"text": "Research Results",
"value": "/records/search",
"title": "Research Data",
},{
"key": "marc21",
"text": "Publications",
"value": url_for("invenio_records_marc21.search"),
"title": "publication",
},{
"key": "lom",
"text": "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">
<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 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">
<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>
</div>
</div>
</div>
</div>
</div>
<div class="short-menu-right">
{%- block navbar_right %}
{%- include config.THEME_HEADER_LOGIN_TEMPLATE %}
{%- endblock navbar_right %}
</div>
</div>
<!----END MENU------------------------------------------------------------->
<div class="ui grid" id="main-logo">
<!-- Left -->
<div class="left floated left aligned six wide column" id="repo-logo">
<div class="inline-elements">
<div class="repo-img">
{%- include "invenio_theme_iform/repository_logo.svg" %}
<div class="short-menu-right">
{%- block navbar_right %}
{%- include config.THEME_HEADER_LOGIN_TEMPLATE %}
{%- endblock navbar_right %}
</div>
<div class="affiliation-text">
<a title="Home" href="{{url_for("invenio_theme_iform.index")}}" class="no-decoration">
I-FORM
<br>
RESEARCH DATA
<br>
REPOSITORY
</a>
</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="affiliation-text">
<a
title="Home"
href="{{ url_for("invenio_theme_iform.index") }}"
class="no-decoration"
>
I-FORM
<br />
RESEARCH DATA
<br />
REPOSITORY
</a>
</div>
</div>
</div>
<!-- Right -->
<div class="right floated right aligned six wide column">
<div class="affiliation-logo" id="int-header-logo">
<div class="affiliation-logo-claim">
<div class="affiliation-logo-claim-single">Excellence</div>
<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"
>
{%- include "invenio_theme_iform/iform_logo.svg" %}
</a>
</div>
</div>
</div>
</div>
<!-- Right -->
<div class="right floated right aligned six wide column">
<div class="affiliation-logo" id="int-header-logo">
<div class="affiliation-logo-claim">
<div class="affiliation-logo-claim-single">Excellence</div>
<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">
{%- include "invenio_theme_iform/iform_logo.svg" %}
</a>
</div>
</div>
</div>
</div>

View File

@@ -5,114 +5,150 @@
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" %}
{%- set title = "Overview" %}
{% block javascript %}
{{ super() }}
{{ webpack['invenio-theme-iform-unlock.js'] }}
{{ super() }}
{{ webpack['invenio-theme-iform-unlock.js'] }}
{% endblock javascript %}
{%- block page_body %}
{%- block user_dashboard_header %}
{% include "invenio_app_rdm/users/header.html" %}
{%- endblock user_dashboard_header %}
{%- block user_dashboard_header %}
{% include "invenio_app_rdm/users/header.html" %}
{%- endblock user_dashboard_header %}
<div class="ui container rel-mt-2">
<h2>Overview</h2>
<div class="ui container rel-mt-2">
<h2>Overview</h2>
<div class="ui five column stackable grid overview">
{% if is_iform_authenticated %}
{# 3 columns: Research-Uploads, Communities, and Requests #}
<div class="column">
<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") }}">
</a>
<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") }}">
</a>
<div>Overview: Description of Communities</div>
</div>
</div>
<div class="column">
<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") }}">
</a>
<div>Overview: Description of Requests</div>
</div>
</div>
{% 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 #}
<div class="ui small modal" id="iform-unlock-modal">
<div class="header">On unlocking research uploads</div>
<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.
{# 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 class="ui five column stackable grid overview">
{% if is_iform_authenticated %}
{# 3 columns: Research-Uploads, Communities, and Requests #}
<div class="column">
<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") }}"
/>
</a>
<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") }}"
/>
</a>
<div>Overview: Description of Communities</div>
</div>
</div>
<div class="column">
<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") }}"
/>
</a>
<div>Overview: Description of Requests</div>
</div>
</div>
{% 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 #}
<div class="ui small modal" id="iform-unlock-modal">
<div class="header">On unlocking research uploads</div>
<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.
{# 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="
$('#iform-unlock-modal')
.modal('hide')"
>Got it!</button>
<button id="generate-unlock-form" class="ui fluid button">Request unlocking</button>
</div>
</div>
</div>
>
Got it!
</button>
<button id="generate-unlock-form" class="ui fluid button">
Request unlocking
</button>
</div>
</div>
</div>
{# 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="
{# 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="
$('#iform-unlock-modal')
.modal('show')"
>
<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
</div>
>
<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
</div>
</div>
</div>
{% endif %}
{% if can_view_marc21 %}
<div class="column">
<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") }}"
/>
</a>
<div>Overview: Description for publications</div>
</div>
</div>
{% endif %}
<div class="column">
<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") }}"
/>
</a>
<div>Overview: Description for open educational resources</div>
</div>
</div>
</div>
</div>
{% endif %}
{% if can_view_marc21 %}
<div class="column">
<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") }}">
</a>
<div>Overview: Description for publications</div>
</div>
</div>
{% endif %}
<div class="column">
<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") }}">
</a>
<div>Overview: Description for open educational resources</div>
</div>
</div>
</div>
</div>
{%- endblock %}

View File

@@ -8,82 +8,82 @@
<!---Recent uploads-->
<div class="ten wide column random-records-frontpage">
<h2>Recent uploads</h2>
<h2>Recent uploads</h2>
{% if not records %}
<div class="ui centered grid">
<p style="font-size: medium;">There are no public records to show.</p>
</div>
{% endif %}
{% if not records %}
<div class="ui centered grid">
<p style="font-size: medium;">There are no public records to show.</p>
</div>
{% endif %}
{%- for r in records %}
{%- set creation_date = r.created | from_isodatetime -%}
{%- set record_url = r.original.view %}
{%- for r in records %}
{%- set creation_date = r.created | from_isodatetime -%}
{%- set record_url = r.original.view %}
<article>
<div class="badges">
{# Publication date/Version badge #}
<span class="ui label blue" data-tooltip="Publication date" data-inverted="">
{{ r.created_date_l10n_long }}
</span>
<article>
<div class="badges">
{# Publication date/Version badge #}
<span class="ui label blue" data-tooltip="Publication date" data-inverted="">
{{ r.created_date_l10n_long }}
</span>
{# Resource type badge #}
{% if r.metadata.types | length > 0%}
<span class="ui label grey" data-tooltip="Resource type" data-inverted="">
{{ r.metadata.types[0] }}
</span>
{% endif %}
{# Resource type badge #}
{% if r.metadata.types | length > 0 %}
<span class="ui label grey" data-tooltip="Resource type" data-inverted="">
{{ r.metadata.types[0] }}
</span>
{% endif %}
<span class="ui label access-status {{ r.access_status.id }}"
data-tooltip="{{ r.access_status.description_l10n }}"
data-inverted="">
<i class="icon {{ r.access_status.icon }}"></i>
{{ r.access_status.title_l10n }}
</span>
<span
class="ui label access-status {{ r.access_status.id }}"
data-tooltip="{{ r.access_status.description_l10n }}"
data-inverted=""
>
<i class="icon {{ r.access_status.icon }}"></i>
{{ r.access_status.title_l10n }}
</span>
<span class="ui label schema" data-tooltip="Schema Type" data-inverted="">
{{ r.original.schema_l10n }}
</span>
</div>
<span class="ui label schema" data-tooltip="Schema Type" data-inverted="">
{{ r.original.schema_l10n }}
</span>
</div>
<h4>
<a href="{{ record_url }}" class="no-decoration">
{{ r.metadata.titles[0] }}
</a>
</h4>
<h4>
<a href="{{ record_url }}" class="no-decoration"> {{ r.metadata.titles[0] }} </a>
</h4>
<p>
{%- for creator in r.metadata.creators %}
<span>{{ creator }}</span>
{%- endfor %}
</p>
<p>
{%- for creator in r.metadata.creators %}
<span>{{ creator }}</span>
{%- endfor %}
</p>
<p class="hidden-xs">
<a href="{{record_url}}" class="no-decoration">
{{ r.metadata.descriptions | join(" ") | striptags | truncate(300) }}
</a>
</p>
<p class="hidden-xs">
<a href="{{ record_url }}" class="no-decoration">
{{ r.metadata.descriptions | join(" ") | striptags | truncate(300) }}
</a>
</p>
<div class="ui">
{%- for subject in r.metadata.subjects %}
<span class="ui tiny label">{{ subject }}</span>
{%- endfor %}
<div>
<small>
{#
<div class="ui">
{%- for subject in r.metadata.subjects %}
<span class="ui tiny label">{{ subject }}</span>
{%- endfor %}
<div>
<small>
{#
{% trans user=userprofile, date=creation_date | dateformat("long")%}
Uploaded on {{date}}
{% endtrans %}
#}
</small>
</div>
</div>
</article>
{%- endfor %}
</small>
</div>
</div>
</article>
{%- endfor %}
{% if records %}
<div class="ui centered grid">
<a class="ui button more" href="{{ url_for("invenio_search_ui.search") }}">More</a>
</div>
{%- endif %}
{% if records %}
<div class="ui centered grid">
<a class="ui button more" href="{{ url_for("invenio_search_ui.search") }}">More</a>
</div>
{%- endif %}
</div>

View File

@@ -1,17 +1,17 @@
const config = {
singleQuote: false,
tabWidth: 4,
trailingComma: "all",
printWidth: 100,
plugins: ["prettier-plugin-jinja-template"],
overrides: [
{
files: ["*.html"],
options: {
parser: "jinja-template"
}
}
]
singleQuote: false,
tabWidth: 4,
trailingComma: "all",
printWidth: 100,
plugins: ["prettier-plugin-jinja-template"],
overrides: [
{
files: ["*.html"],
options: {
parser: "jinja-template",
},
},
],
};
export default config;