diff --git a/.docs/images/hero.png b/.docs/images/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..a972e6cc48f4110c9a186cf789c077ad97f7a70a Binary files /dev/null and b/.docs/images/hero.png differ diff --git a/.docs/index.md b/.docs/index.md index 0ac7b018dff1a0422f69d9661f67ba2d762920a6..bd57d84cf4e8f75b023bdab2feba9fbb59baba0e 100644 --- a/.docs/index.md +++ b/.docs/index.md @@ -1,12 +1,14 @@ --- -title: Home +template: home.html author: Martin Weise hide: - navigation +- toc +social: + cards_layout_options: + title: Documentation that simply works --- -# DBRepo: A Database Repository to Support Research - ## Problem Statement Digital repositories see themselves more frequently encountered with the problem of making databases accessible in their @@ -14,9 +16,6 @@ collection. Challenges revolve around organizing, searching and retrieving conte constitute a major technical burden as their internal representation greatly differs from static documents most digital repositories are designed for. -[System Description](./system){ .action-button .md-button .md-button--secondary } -[How to use](./usage-overview){ .action-button .md-button .md-button--primary } - ## Application Areas We present a database repository system that allows researchers to ingest data into a central, versioned repository diff --git a/.docs/overrides/home.html b/.docs/overrides/home.html new file mode 100644 index 0000000000000000000000000000000000000000..7325252aad993f2418b13e83c7efa78702acf4a9 --- /dev/null +++ b/.docs/overrides/home.html @@ -0,0 +1,147 @@ +{% extends "main.html" %} + +<!-- Render hero under tabs --> +{% block tabs %} +{{ super() }} + +<!-- Additional styles for landing page --> +<style> + + /* Application header should be static for the landing page */ + .md-header { + position: initial; + } + + .md-content > article h1 { + display: none; + visibility: hidden; + } + + /*!* Remove spacing, as we cannot hide it completely *!*/ + .md-main__inner { + margin-top: 0; + } + + /*!* Hide main content for now *!*/ + /*.md-content {*/ + /* display: none;*/ + /*}*/ + + /*!* Hide table of contents *!*/ + /*@media screen and (min-width: 60em) {*/ + /* .md-sidebar--secondary {*/ + /* display: none;*/ + /* }*/ + /*}*/ + + /*!* Hide navigation *!*/ + /*@media screen and (min-width: 76.25em) {*/ + /* .md-sidebar--primary {*/ + /* display: none;*/ + /* }*/ + /*}*/ +</style> + +<!-- Hero for landing page --> +<section class="mdx-container"> + <div class="md-grid md-typeset"> + <div class="mdx-hero"> + + <!-- Hero image --> + <div class="mdx-hero__image"> + <img + src="images/hero.png" + alt="" + class="img-border" + width="100%" + draggable="false"/> + </div> + + <!-- Hero content --> + <div class="mdx-hero__content" style="margin-top:24px;margin-bottom:24px;"> + <h1>DBRepo: A Database Repository to Support Research</h1> + <p>Set up in a few minutes.</p> + <a + href="{{ page.next_page.url | url }}" + title="{{ page.next_page.title | e }}" + style="margin-right: 10px;" + class="action-button md-button md-button--primary"> + Get started + </a> + <a + href="{{ 'insiders/' | url }}" + title="Material for MkDocs Insiders" + class="action-button md-button md-button--secondary"> + Learn more + </a> + </div> + </div> + </div> +</section> +<section> + <div class="md-grid md-typeset"> + <div class="mdx-spotlight"> + <figure class="mdx-spotlight__feature"> + <a href="setup/setting-up-site-search/" tabindex="-1" title="Built-in search"> + <img src="images/screenshots/jupyterhub4.png" + alt="Built-in search" loading="lazy" + width="500" + height="327"> + </a> + <figcaption class="md-typeset"> + <h2>Built-in search</h2> + <p>Reusable datasets</p> + <p> + <a href="setup/setting-up-site-search/" aria-label="Built-in search">Learn more</a> + </p> + </figcaption> + </figure> + <figure class="mdx-spotlight__feature"> + <a href="setup/setting-up-site-search/" tabindex="-1" title="Built-in search"> + <img src="images/screenshots/jupyterhub4.png" + alt="Built-in search" loading="lazy" + width="500" + height="327"> + </a> + <figcaption class="md-typeset"> + <h2>Citable datasets</h2> + <p>OAI-PMH, Google Datasets, FAIR Signposting</p> + <p> + <a href="setup/setting-up-site-search/" aria-label="Built-in search">Learn more</a> + </p> + </figcaption> + </figure> + <figure class="mdx-spotlight__feature"> + <a href="setup/setting-up-site-search/" tabindex="-1" title="Built-in search"> + <img src="images/screenshots/jupyterhub4.png" + alt="Built-in search" loading="lazy" + width="500" + height="327"> + </a> + <figcaption class="md-typeset"> + <h2>Powerful API for Data Scientists</h2> + <p>Python Library, Pandas, Juypter Notebook, etc.</p> + <p> + <a href="setup/setting-up-site-search/" aria-label="Built-in search">Learn more</a> + </p> + </figcaption> + </figure> + <figure class="mdx-spotlight__feature"> + <a href="setup/setting-up-site-search/" tabindex="-1" title="Built-in search"> + <img src="images/screenshots/jupyterhub4.png" + alt="Built-in search" loading="lazy" + width="500" + height="327"> + </a> + <figcaption class="md-typeset"> + <h2>Cloud Native</h2> + <p>Easy deployment</p> + <p> + <a href="setup/setting-up-site-search/" aria-label="Built-in search">Learn more</a> + </p> + </figcaption> + </figure> + </div> + </div> +</section> +{% endblock %} diff --git a/.docs/overrides/main.html b/.docs/overrides/main.html deleted file mode 100644 index 59631a600e66098e4224067117f8dc6b89c315db..0000000000000000000000000000000000000000 --- a/.docs/overrides/main.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends "base.html" %} - -{% block announce %} -<label for="version">Version</label> -<select style="margin-left:8px;" id="version" name="version" onchange="switchVersion(this.options[this.selectedIndex].value)"> - <option value="latest">latest</option> - <option value="1.4.2">1.4.2</option> - <option value="1.4.1">1.4.1</option> - <option value="1.4.0">1.4.0</option> - <option value="1.3.0">1.3.0</option> -</select> -{% endblock %} diff --git a/.docs/scripts/extra.js b/.docs/scripts/extra.js deleted file mode 100644 index 2360d0d2db8579cfbd71d6077fe894cc46056c61..0000000000000000000000000000000000000000 --- a/.docs/scripts/extra.js +++ /dev/null @@ -1,14 +0,0 @@ -function getVersion() { - const segments = location.pathname.split('/'); - if (segments.length > 4 && (segments[3].match(/[0-9]\.[0-9]\.[0-9]/g) || segments[3] == 'latest')) { - console.debug('version', segments[3]); - return segments[3]; - } - console.debug('default version', '__APPVERSION__'); - return '__APPVERSION__'; -} -function switchVersion(value) { - if (!value) { return } - this.location.href = location.protocol + '//' + location.host + '/infrastructures/dbrepo/' + value + '/'; -} -document.getElementById("version").value = getVersion(); \ No newline at end of file diff --git a/.docs/stylesheets/.sass-cache/04e8358553d0156a67b95297c054a24cd7eab863/_colors.scssc b/.docs/stylesheets/.sass-cache/04e8358553d0156a67b95297c054a24cd7eab863/_colors.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f52406685694c61de36cfc27b015f1f98bbb7ded Binary files /dev/null and b/.docs/stylesheets/.sass-cache/04e8358553d0156a67b95297c054a24cd7eab863/_colors.scssc differ diff --git a/.docs/stylesheets/.sass-cache/04e8358553d0156a67b95297c054a24cd7eab863/_typeset.scssc b/.docs/stylesheets/.sass-cache/04e8358553d0156a67b95297c054a24cd7eab863/_typeset.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f6a80da3534c65beab6b28b85ea0a3a10ee15266 Binary files /dev/null and b/.docs/stylesheets/.sass-cache/04e8358553d0156a67b95297c054a24cd7eab863/_typeset.scssc differ diff --git a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/_config.scssc b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/_config.scssc new file mode 100644 index 0000000000000000000000000000000000000000..20fac36e42b9c065be8d5e1e50ebd22c4e821fdd Binary files /dev/null and b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/_config.scssc differ diff --git a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/custom.scssc b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/custom.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ee214c5de92c28b3cbcb078e4d2aa2d2450a4b32 Binary files /dev/null and b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/custom.scssc differ diff --git a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/main.scssc b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/main.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ec1210c17ed880a36d713cdf087f2134f3afaee2 Binary files /dev/null and b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/main.scssc differ diff --git a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/palette.scssc b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/palette.scssc new file mode 100644 index 0000000000000000000000000000000000000000..7f71c61f4d4b2e986bb266940ac47ca07d60a0b3 Binary files /dev/null and b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/palette.scssc differ diff --git a/.docs/stylesheets/.sass-cache/2c2cf16e0f132dd6db83c98c5ec5508783194a8a/_hero.scssc b/.docs/stylesheets/.sass-cache/2c2cf16e0f132dd6db83c98c5ec5508783194a8a/_hero.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ce4a196a7c8a18ad198a6738bde9f253e27559fd Binary files /dev/null and b/.docs/stylesheets/.sass-cache/2c2cf16e0f132dd6db83c98c5ec5508783194a8a/_hero.scssc differ diff --git a/.docs/stylesheets/.sass-cache/bfcb905bbd9d3baa11ae35b689811451966d11bf/_accent.scssc b/.docs/stylesheets/.sass-cache/bfcb905bbd9d3baa11ae35b689811451966d11bf/_accent.scssc new file mode 100644 index 0000000000000000000000000000000000000000..5edd0c57d74b636ef1f7b2f4cea20a558105c465 Binary files /dev/null and b/.docs/stylesheets/.sass-cache/bfcb905bbd9d3baa11ae35b689811451966d11bf/_accent.scssc differ diff --git a/.docs/stylesheets/.sass-cache/bfcb905bbd9d3baa11ae35b689811451966d11bf/_scheme.scssc b/.docs/stylesheets/.sass-cache/bfcb905bbd9d3baa11ae35b689811451966d11bf/_scheme.scssc new file mode 100644 index 0000000000000000000000000000000000000000..1ad33e4220951570b80a301e336f7a390c5b7314 Binary files /dev/null and b/.docs/stylesheets/.sass-cache/bfcb905bbd9d3baa11ae35b689811451966d11bf/_scheme.scssc differ diff --git a/.docs/stylesheets/_config.scss b/.docs/stylesheets/_config.scss new file mode 100644 index 0000000000000000000000000000000000000000..859fe38e70821f3227af8e2d9b6f1ce04bfbaec6 --- /dev/null +++ b/.docs/stylesheets/_config.scss @@ -0,0 +1,20 @@ +// ---------------------------------------------------------------------------- +// Variables: breakpoints +// ---------------------------------------------------------------------------- + +// Device-specific breakpoints +$break-devices: ( + mobile: ( + portrait: px2em(220px) px2em(479.75px), + landscape: px2em(480px) px2em(719.75px) + ), + tablet: ( + portrait: px2em(720px) px2em(959.75px), + landscape: px2em(960px) px2em(1219.75px) + ), + screen: ( + small: px2em(1220px) px2em(1599.75px), + medium: px2em(1600px) px2em(1999.75px), + large: px2em(2000px) + ) +); \ No newline at end of file diff --git a/.docs/stylesheets/custom.css b/.docs/stylesheets/custom.css new file mode 100644 index 0000000000000000000000000000000000000000..0c66cfd3021a37c2850e74f494229d8edcf3aa94 --- /dev/null +++ b/.docs/stylesheets/custom.css @@ -0,0 +1,143 @@ +:root, +[data-md-color-accent=indigo] { + --md-primary-fg-color: #006699; + --md-accent-fg-color: #005c8a /* darken 10% */; + --md-primary-fg-color--dark: #00537c /* darken 10% */; } + +img.img-border { + border: 1px solid #b3b3b3; } + +.md-main .md-content a:not(.action-button):not([tabindex]), +.md-main .md-content a:not(.action-button):not([tabindex]) { + color: var(--md-typeset-color); + border-bottom: 2px solid var(--md-primary-fg-color); } + +.md-main .md-content a:not(.action-button):not([tabindex]):focus, +.md-main .md-content a:not(.action-button):not([tabindex]):hover { + color: var(--md-typeset-color); + border-bottom: 2px solid var(--md-primary-fg-color--dark); } + +.md-banner { + background-color: var(--md-primary-fg-color--dark); } + +@keyframes heart { + 0%, + 40%, + 80%, + 100% { + transform: scale(1); } + 20%, + 60% { + transform: scale(1.15); } } +.md-typeset .twitter { + color: #00acee; } +.md-typeset .mastodon { + color: #897ff8; } +.md-typeset .mdx-video { + width: auto; } + .md-typeset .mdx-video__inner { + position: relative; + width: 100%; + height: 0; + padding-bottom: 56.138%; } + .md-typeset .mdx-video iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + border: none; } +.md-typeset .mdx-heart { + animation: heart 1000ms infinite; } +.md-typeset .mdx-badge { + font-size: 0.85em; } + .md-typeset .mdx-badge--right { + float: right; + margin-left: 0.35em; } +.md-typeset .mdx-switch button { + cursor: pointer; + transition: opacity 250ms; } + .md-typeset .mdx-switch button:is(:focus, :hover) { + opacity: 0.75; } + .md-typeset .mdx-switch button > code { + display: block; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); } +.md-typeset .mdx-columns ol, +.md-typeset .mdx-columns ul { + columns: 2; } +.md-typeset .mdx-columns li { + break-inside: avoid; } +.md-typeset .mdx-flags { + margin: 2em auto; } + .md-typeset .mdx-flags ol { + list-style: none; } + .md-typeset .mdx-flags ol li { + margin-bottom: 1em; } + .md-typeset .mdx-flags__item { + display: flex; + gap: 0.125rem; } + .md-typeset .mdx-flags__content { + display: flex; + flex: 1; + flex-direction: column; } + .md-typeset .mdx-flags__content span { + display: inline-flex; + align-items: baseline; + justify-content: space-between; } + .md-typeset .mdx-flags__content > span:nth-child(2) { + font-size: 80%; } + .md-typeset .mdx-flags__content code { + float: right; } + +.mdx-container { + padding-top: 0.25rem; + background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(0, 0%, 100%, 1)' /></svg>") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #363949 99%, var(--md-default-bg-color) 99%); } + [data-md-color-scheme="slate"] .mdx-container { + background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(230, 15%, 14%, 1)' /></svg>") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #363949 99%, var(--md-default-bg-color) 99%); } + +.mdx-hero { + margin: 0 16px; + color: var(--md-primary-bg-color); } + .mdx-hero h1 { + margin-bottom: 20px; + font-weight: 700; + color: currentcolor; } + .mdx-hero__content { + padding-bottom: 120px; } + +.mdx-spotlight__feature { + flex-direction: row-reverse; } + +.mdx-spotlight .mdx-spotlight__feature { + width: 100%; + display: flex; + flex: 1 0 48%; + flex-flow: row nowrap; + gap: 3.2rem; + margin: 0 0 3.2rem; } + .mdx-spotlight .mdx-spotlight__feature:nth-child(odd) { + flex-direction: row-reverse; } + .mdx-spotlight .mdx-spotlight__feature > figcaption { + text-align: left; + font-style: inherit; + max-width: inherit; + margin: 1em auto 0 .8rem; } + .mdx-spotlight .mdx-spotlight__feature > a { + margin: 2rem 0; + display: block; + flex-shrink: 0; } + .mdx-spotlight .mdx-spotlight__feature > a > img { + border-radius: .2rem; + box-shadow: var(--md-shadow-z2); + display: block; + height: auto; + max-width: 100%; + width: 25rem; } + +[data-md-component=announce] .md-banner__inner { + margin-top: 0.2rem; + margin-bottom: 0.2rem; } + +/*# sourceMappingURL=custom.css.map */ diff --git a/.docs/stylesheets/custom.css.map b/.docs/stylesheets/custom.css.map new file mode 100644 index 0000000000000000000000000000000000000000..31d7e2dcf0af12f27e657b19f298edca26731752 --- /dev/null +++ b/.docs/stylesheets/custom.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["custom/_colors.scss","custom/_typeset.scss","custom/layout/_hero.scss","custom.scss"], +"names": [], +"file": "custom.css" +} diff --git a/.docs/stylesheets/custom.scss b/.docs/stylesheets/custom.scss new file mode 100644 index 0000000000000000000000000000000000000000..fa839622a427ca13e1aab8d4500e38723ff10676 --- /dev/null +++ b/.docs/stylesheets/custom.scss @@ -0,0 +1,15 @@ +// ---------------------------------------------------------------------------- +// Local imports +// ---------------------------------------------------------------------------- + +@import "config"; + +@import "custom/colors"; +@import "custom/typeset"; + +@import "custom/layout/hero"; + +[data-md-component=announce] .md-banner__inner { + margin-top: 0.2rem; + margin-bottom: 0.2rem; +} \ No newline at end of file diff --git a/.docs/stylesheets/extra.css b/.docs/stylesheets/custom/_colors.scss similarity index 85% rename from .docs/stylesheets/extra.css rename to .docs/stylesheets/custom/_colors.scss index b6614e14009c0ffb7f9d2921c4a051152fe8bb01..566a7fb1c8165f38308fb49856432a6fecd10a63 100644 --- a/.docs/stylesheets/extra.css +++ b/.docs/stylesheets/custom/_colors.scss @@ -5,7 +5,7 @@ --md-primary-fg-color--dark: #00537c /* darken 10% */; } -figure img.img-border { +img.img-border { border: 1px solid #b3b3b3; } @@ -23,9 +23,4 @@ figure img.img-border { .md-banner { background-color: var(--md-primary-fg-color--dark); -} - -[data-md-component=announce] .md-banner__inner { - margin-top: 0.2rem; - margin-bottom: 0.2rem; } \ No newline at end of file diff --git a/.docs/stylesheets/custom/_typeset.scss b/.docs/stylesheets/custom/_typeset.scss new file mode 100644 index 0000000000000000000000000000000000000000..46e625cc0a83ed456ac6607d9776349f12ebd4bd --- /dev/null +++ b/.docs/stylesheets/custom/_typeset.scss @@ -0,0 +1,160 @@ +// ---------------------------------------------------------------------------- +// Keyframes +// ---------------------------------------------------------------------------- + +// Pumping heart animation +@keyframes heart { + 0%, + 40%, + 80%, + 100% { + transform: scale(1); + } + + 20%, + 60% { + transform: scale(1.15); + } +} + +// ---------------------------------------------------------------------------- +// Rules +// ---------------------------------------------------------------------------- + +// Scoped in typesetted content to match specificity of regular content +.md-typeset { + + // Twitter icon + .twitter { + color: #00acee; + } + + // Mastodon icon - it's not the exact brand color, because that doesn't work + // well on dark backgrounds, so we lightened it up a bit. + .mastodon { + color: #897ff8; + } + + // Insiders video + .mdx-video { + width: auto; + + // Insiders video container + &__inner { + position: relative; + width: 100%; + height: 0; + padding-bottom: 56.138%; + } + + // Insiders video iframe + iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + border: none; + } + } + + // Pumping heart + .mdx-heart { + animation: heart 1000ms infinite; + } + + // BETA ##################################################################### + + // Badge + .mdx-badge { + font-size: 0.85em; + + // Badge moved to the right + &--right { + float: right; + margin-left: 0.35em; + } + + } + + // BETA ##################################################################### + + // Switch buttons + .mdx-switch button { + cursor: pointer; + transition: opacity 250ms; + + // Button on focus/hover + &:is(:focus, :hover) { + opacity: 0.75; + } + + // Code block + > code { + display: block; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + } + } + + // Two-column layout + .mdx-columns { + + // Column + ol, + ul { + columns: 2; + } + + // Column item + li { + break-inside: avoid; + } + } + + // Language list + .mdx-flags { + margin: 2em auto; + + // Language list + ol { + list-style: none; + + // Language list item + li { + margin-bottom: 1em; + } + } + + // Language item + &__item { + display: flex; + gap: 0.125rem; + } + + // Language content + &__content { + display: flex; + flex: 1; + flex-direction: column; + + // Language name + span { + display: inline-flex; + align-items: baseline; + justify-content: space-between; + } + + // Language link + > span:nth-child(2) { + font-size: 80%; + } + + // Language code + code { + float: right; + } + } + } +} \ No newline at end of file diff --git a/.docs/stylesheets/custom/layout/.sass-cache/991e99d4fce80f9249c84e5c2787c7c15c1ba446/hero.scssc b/.docs/stylesheets/custom/layout/.sass-cache/991e99d4fce80f9249c84e5c2787c7c15c1ba446/hero.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ece25c2d04f5148bfde39da0ce142961a24b3df5 Binary files /dev/null and b/.docs/stylesheets/custom/layout/.sass-cache/991e99d4fce80f9249c84e5c2787c7c15c1ba446/hero.scssc differ diff --git a/.docs/stylesheets/custom/layout/_hero.scss b/.docs/stylesheets/custom/layout/_hero.scss new file mode 100644 index 0000000000000000000000000000000000000000..7850ad2f5bb148b3639b61bc0cca4d832701e7ee --- /dev/null +++ b/.docs/stylesheets/custom/layout/_hero.scss @@ -0,0 +1,88 @@ +// ---------------------------------------------------------------------------- +// Rules +// ---------------------------------------------------------------------------- + +// Landing page container +.mdx-container { + padding-top: 0.25rem; + background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(0, 0%, 100%, 1)' /></svg>") no-repeat bottom, + linear-gradient( + to bottom, + var(--md-primary-fg-color), + hsla(230, 15%, 25%, 1) 99%, + var(--md-default-bg-color) 99% + ); + + // Adjust background for slate theme + [data-md-color-scheme="slate"] & { + background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(230, 15%, 14%, 1)' /></svg>") no-repeat bottom, + linear-gradient( + to bottom, + var(--md-primary-fg-color), + hsla(230, 15%, 25%, 1) 99%, + var(--md-default-bg-color) 99% + ); + } +} + +// Landing page hero +.mdx-hero { + margin: 0 16px; + color: var(--md-primary-bg-color); + + // Hero headline + h1 { + margin-bottom: 20px; + font-weight: 700; + color: currentcolor; + + } + + // Hero content + &__content { + padding-bottom: 120px; + } +} + +.mdx-spotlight__feature { + flex-direction: row-reverse; +} + +// Landing page spotlight +.mdx-spotlight { + + .mdx-spotlight__feature { + width: 100%; + display: flex; + flex: 1 0 48%; + flex-flow: row nowrap; + gap: 3.2rem; + margin: 0 0 3.2rem; + + &:nth-child(odd) { + flex-direction: row-reverse; + } + + & > figcaption { + text-align: left; + font-style: inherit; + max-width: inherit; + margin: 1em auto 0 .8rem; + } + + & > a { + margin: 2rem 0; + display: block; + flex-shrink: 0; + + & > img { + border-radius: .2rem; + box-shadow: var(--md-shadow-z2); + display: block; + height: auto; + max-width: 100%; + width: 25rem; + } + } + } +} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index d669b11c5447f015fc4bdb9aba369eeb35efe072..4b5e6ab58e7cad5ed59bd89c945cf95271b7e8eb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,9 +43,7 @@ nav: - publications.md - contact.md extra_css: - - stylesheets/extra.css -extra_javascript: - - scripts/extra.js + - stylesheets/custom.css theme: favicon: images/signet_white.png custom_dir: .docs/overrides @@ -104,6 +102,13 @@ markdown_extensions: - .docs/overrides/.icons extra: homepage: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/ + version: + default: 1.4.2 + provider: mike social: + - icon: fontawesome/brands/docker + link: https://hub.docker.com/search?q=dbrepo + - icon: fontawesome/brands/python + link: https://pypi.org/project/dbrepo/ - icon: fontawesome/brands/gitlab link: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services diff --git a/requirements.txt b/requirements.txt index 6bfd02cb2349bbbd7a967948c355411908a48054..6442ea60759d27863ddf1879ab4e6be9151a5901 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.5.3 -mkdocs-material==9.5.5 +mkdocs-material==9.5.17 mkdocs-with-pdf==0.9.3 mkdocs-material-extensions>=1.0.3 requests>=2.27.0 @@ -13,4 +13,5 @@ furo==2024.1.29 requests==2.31.0 pika==1.3.2 pydantic==2.6.4 -tuspy==1.0.3 \ No newline at end of file +tuspy==1.0.3 +mike==2.0.0 \ No newline at end of file diff --git a/versions.json b/versions.json new file mode 100644 index 0000000000000000000000000000000000000000..4378f772357e093e48e74b7a254be20bd62538fc --- /dev/null +++ b/versions.json @@ -0,0 +1,17 @@ +[ + { + "version": "1.4.2", + "title": "1.4.2", + "aliases": ["latest"] + }, + { + "version": "1.4.1", + "title": "1.4.1", + "aliases": [] + }, + { + "version": "1.4.0", + "title": "1.4.0", + "aliases": [] + } +] \ No newline at end of file