diff --git a/preview/pr-3/2019/01/07/example-post-1.html b/preview/pr-3/2019/01/07/example-post-1.html new file mode 100644 index 00000000..ff660712 --- /dev/null +++ b/preview/pr-3/2019/01/07/example-post-1.html @@ -0,0 +1,637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Example post 1 | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

Example post 1

+ + + + + + + + +
+ + + + + +
+ + + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+ + + + + +
+ + + +
+ + + + + + Next post
+ + Example post 2 + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/2021/09/30/example-post-2.html b/preview/pr-3/2021/09/30/example-post-2.html new file mode 100644 index 00000000..b870d7fc --- /dev/null +++ b/preview/pr-3/2021/09/30/example-post-2.html @@ -0,0 +1,622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Example post 2 | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

Example post 2

+ + +
+ + + + + +
+ + + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+ + + + + +
+ + + +
+ + + Previous post
+ + Example post 1 + + +
+ + + Next post
+ + Example post 3 + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/2023/02/23/example-post-3.html b/preview/pr-3/2023/02/23/example-post-3.html new file mode 100644 index 00000000..6a1dc788 --- /dev/null +++ b/preview/pr-3/2023/02/23/example-post-3.html @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Example post 3 | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

Example post 3

+ + + + + + + + +
+ + + + + +
+ + + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+ + + + + +
+ + + +
+ + + Previous post
+ + Example post 2 + + +
+ + + +
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/404.html b/preview/pr-3/404.html new file mode 100644 index 00000000..098898ea --- /dev/null +++ b/preview/pr-3/404.html @@ -0,0 +1,550 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +404 | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+ Page Not Found

+ +

Try searching the whole site for the content you want:

+ +
+ + +
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/_scripts/anchors.js b/preview/pr-3/_scripts/anchors.js new file mode 100644 index 00000000..904edf9c --- /dev/null +++ b/preview/pr-3/_scripts/anchors.js @@ -0,0 +1,47 @@ +/* + creates link next to each heading that links to that section. +*/ + +{ + const onLoad = () => { + // for each heading + const headings = document.querySelectorAll( + "h1[id], h2[id], h3[id], h4[id]" + ); + for (const heading of headings) { + // create anchor link + const link = document.createElement("a"); + link.classList.add("icon", "fa-solid", "fa-link", "anchor"); + link.href = "#" + heading.id; + link.setAttribute("aria-label", "link to this section"); + heading.append(link); + + // if first heading in the section, move id to parent section + if (heading.matches("section > :first-child")) { + heading.parentElement.id = heading.id; + heading.removeAttribute("id"); + } + } + }; + + // scroll to target of url hash + const scrollToTarget = () => { + const id = window.location.hash.replace("#", ""); + const target = document.getElementById(id); + + if (!target) return; + const offset = document.querySelector("header").clientHeight || 0; + window.scrollTo({ + top: target.getBoundingClientRect().top + window.scrollY - offset, + behavior: "smooth", + }); + }; + + // after page loads + window.addEventListener("load", onLoad); + window.addEventListener("load", scrollToTarget); + window.addEventListener("tagsfetched", scrollToTarget); + + // when hash nav happens + window.addEventListener("hashchange", scrollToTarget); +} diff --git a/preview/pr-3/_scripts/dark-mode.js b/preview/pr-3/_scripts/dark-mode.js new file mode 100644 index 00000000..b0124d94 --- /dev/null +++ b/preview/pr-3/_scripts/dark-mode.js @@ -0,0 +1,28 @@ +/* + manages light/dark mode. +*/ + +{ + // save/load user's dark mode preference from local storage + const loadDark = () => window.localStorage.getItem("dark-mode") === "true"; + const saveDark = (value) => window.localStorage.setItem("dark-mode", value); + + // immediately load saved mode before page renders + document.documentElement.dataset.dark = loadDark(); + + const onLoad = () => { + // update toggle button to match loaded mode + document.querySelector(".dark-toggle").checked = + document.documentElement.dataset.dark === "true"; + }; + + // after page loads + window.addEventListener("load", onLoad); + + // when user toggles mode button + window.onDarkToggleChange = (event) => { + const value = event.target.checked; + document.documentElement.dataset.dark = value; + saveDark(value); + }; +} diff --git a/preview/pr-3/_scripts/fetch-tags.js b/preview/pr-3/_scripts/fetch-tags.js new file mode 100644 index 00000000..c843b67f --- /dev/null +++ b/preview/pr-3/_scripts/fetch-tags.js @@ -0,0 +1,67 @@ +/* + fetches tags (aka "topics") from a given GitHub repo and adds them to row of + tag buttons. specify repo in data-repo attribute on row. +*/ + +{ + const onLoad = async () => { + // get tag rows with specified repos + const rows = document.querySelectorAll("[data-repo]"); + + // for each repo + for (const row of rows) { + // get props from tag row + const repo = row.dataset.repo.trim(); + const link = row.dataset.link.trim(); + + // get tags from github + if (!repo) continue; + let tags = await fetchTags(repo); + + // filter out tags already present in row + let existing = [...row.querySelectorAll(".tag")].map((tag) => + window.normalizeTag(tag.innerText) + ); + tags = tags.filter((tag) => !existing.includes(normalizeTag(tag))); + + // add tags to row + for (const tag of tags) { + const a = document.createElement("a"); + a.classList.add("tag"); + a.innerHTML = tag; + a.href = `${link}?search="tag: ${tag}"`; + a.dataset.tooltip = `Show items with the tag "${tag}"`; + row.append(a); + } + + // delete tags container if empty + if (!row.innerText.trim()) row.remove(); + } + + // emit "tags done" event for other scripts to listen for + window.dispatchEvent(new Event("tagsfetched")); + }; + + // after page loads + window.addEventListener("load", onLoad); + + // GitHub topics endpoint + const api = "https://api.github.com/repos/REPO/topics"; + const headers = new Headers(); + headers.set("Accept", "application/vnd.github+json"); + + // get tags from GitHub based on repo name + const fetchTags = async (repo) => { + const url = api.replace("REPO", repo); + try { + const response = await (await fetch(url)).json(); + if (response.names) return response.names; + else throw new Error(JSON.stringify(response)); + } catch (error) { + console.groupCollapsed("GitHub fetch tags error"); + console.log(error); + console.groupEnd(); + return []; + } + }; +} diff --git a/preview/pr-3/_scripts/search.js b/preview/pr-3/_scripts/search.js new file mode 100644 index 00000000..fa23ca4c --- /dev/null +++ b/preview/pr-3/_scripts/search.js @@ -0,0 +1,215 @@ +/* + filters elements on page based on url or search box. + syntax: term1 term2 "full phrase 1" "full phrase 2" "tag: tag 1" + match if: all terms AND at least one phrase AND at least one tag +*/ +{ + // elements to filter + const elementSelector = ".card, .citation, .post-excerpt"; + // search box element + const searchBoxSelector = ".search-box"; + // results info box element + const infoBoxSelector = ".search-info"; + // tags element + const tagSelector = ".tag"; + + // split search query into terms, phrases, and tags + const splitQuery = (query) => { + // split into parts, preserve quotes + const parts = query.match(/"[^"]*"|\S+/g) || []; + + // bins + const terms = []; + const phrases = []; + const tags = []; + + // put parts into bins + for (let part of parts) { + if (part.startsWith('"')) { + part = part.replaceAll('"', "").trim(); + if (part.startsWith("tag:")) + tags.push(normalizeTag(part.replace(/tag:\s*/, ""))); + else phrases.push(part.toLowerCase()); + } else terms.push(part.toLowerCase()); + } + + return { terms, phrases, tags }; + }; + + // normalize tag string for comparison + window.normalizeTag = (tag) => + tag.trim().toLowerCase().replaceAll(/-|\s+/g, " "); + + // get data attribute contents of element and children + const getAttr = (element, attr) => + [element, ...element.querySelectorAll(`[data-${attr}]`)] + .map((element) => element.dataset[attr]) + .join(" "); + + // determine if element should show up in results based on query + const elementMatches = (element, { terms, phrases, tags }) => { + // tag elements within element + const tagElements = [...element.querySelectorAll(".tag")]; + + // check if text content exists in element + const hasText = (string) => + ( + element.innerText + + getAttr(element, "tooltip") + + getAttr(element, "search") + ) + .toLowerCase() + .includes(string); + // check if text matches a tag in element + const hasTag = (string) => + tagElements.some((tag) => normalizeTag(tag.innerText) === string); + + // match logic + return ( + (terms.every(hasText) || !terms.length) && + (phrases.some(hasText) || !phrases.length) && + (tags.some(hasTag) || !tags.length) + ); + }; + + // loop through elements, hide/show based on query, and return results info + const filterElements = (parts) => { + let elements = document.querySelectorAll(elementSelector); + + // results info + let x = 0; + let n = elements.length; + let tags = parts.tags; + + // filter elements + for (const element of elements) { + if (elementMatches(element, parts)) { + element.style.display = ""; + x++; + } else element.style.display = "none"; + } + + return [x, n, tags]; + }; + + // highlight search terms + const highlightMatches = async ({ terms, phrases }) => { + // make sure Mark library available + if (typeof Mark === "undefined") return; + + // reset + new Mark(document.body).unmark(); + + // limit number of highlights to avoid slowdown + let counter = 0; + const filter = () => counter++ < 100; + + // highlight terms and phrases + new Mark(elementSelector) + .mark(terms, { separateWordSearch: true, filter }) + .mark(phrases, { separateWordSearch: false, filter }); + }; + + // update search box based on query + const updateSearchBox = (query = "") => { + const boxes = document.querySelectorAll(searchBoxSelector); + + for (const box of boxes) { + const input = box.querySelector("input"); + const button = box.querySelector("button"); + const icon = box.querySelector("button i"); + input.value = query; + icon.className = input.value.length + ? "icon fa-solid fa-xmark" + : "icon fa-solid fa-magnifying-glass"; + button.disabled = input.value.length ? false : true; + } + }; + + // update info box based on query and results + const updateInfoBox = (query, x, n) => { + const boxes = document.querySelectorAll(infoBoxSelector); + + if (query.trim()) { + // show all info boxes + boxes.forEach((info) => (info.style.display = "")); + + // info template + let info = ""; + info += `Showing ${x.toLocaleString()} of ${n.toLocaleString()} results
`; + info += "Clear search"; + + // set info HTML string + boxes.forEach((el) => (el.innerHTML = info)); + } + // if nothing searched + else { + // hide all info boxes + boxes.forEach((info) => (info.style.display = "none")); + } + }; + + // update tags based on query + const updateTags = (query) => { + const { tags } = splitQuery(query); + document.querySelectorAll(tagSelector).forEach((tag) => { + // set active if tag is in query + if (tags.includes(normalizeTag(tag.innerText))) + tag.setAttribute("data-active", ""); + else tag.removeAttribute("data-active"); + }); + }; + + // run search with query + const runSearch = (query = "") => { + const parts = splitQuery(query); + const [x, n] = filterElements(parts); + updateSearchBox(query); + updateInfoBox(query, x, n); + updateTags(query); + highlightMatches(parts); + }; + + // update url based on query + const updateUrl = (query = "") => { + const url = new URL(window.location); + let params = new URLSearchParams(url.search); + params.set("search", query); + url.search = params.toString(); + window.history.replaceState(null, null, url); + }; + + // search based on url param + const searchFromUrl = () => { + const query = + new URLSearchParams(window.location.search).get("search") || ""; + runSearch(query); + }; + + // return func that runs after delay + const debounce = (callback, delay = 250) => { + let timeout; + return (...args) => { + window.clearTimeout(timeout); + timeout = window.setTimeout(() => callback(...args), delay); + }; + }; + + // when user types into search box + const debouncedRunSearch = debounce(runSearch, 1000); + window.onSearchInput = (target) => { + debouncedRunSearch(target.value); + updateUrl(target.value); + }; + + // when user clears search box with button + window.onSearchClear = () => { + runSearch(); + updateUrl(); + }; + + // after page loads + window.addEventListener("load", searchFromUrl); + // after tags load + window.addEventListener("tagsfetched", searchFromUrl); +} diff --git a/preview/pr-3/_scripts/site-search.js b/preview/pr-3/_scripts/site-search.js new file mode 100644 index 00000000..caff0a61 --- /dev/null +++ b/preview/pr-3/_scripts/site-search.js @@ -0,0 +1,14 @@ +/* + for site search component. searches site/domain via google. +*/ + +{ + // when user submits site search form/box + window.onSiteSearchSubmit = (event) => { + event.preventDefault(); + const google = "https://www.google.com/search?q=site:"; + const site = window.location.origin; + const query = event.target.elements.query.value; + window.location = google + site + " " + query; + }; +} diff --git a/preview/pr-3/_scripts/tooltip.js b/preview/pr-3/_scripts/tooltip.js new file mode 100644 index 00000000..49eccfc5 --- /dev/null +++ b/preview/pr-3/_scripts/tooltip.js @@ -0,0 +1,41 @@ +/* + shows a popup of text on hover/focus of any element with the data-tooltip + attribute. +*/ + +{ + const onLoad = () => { + // make sure Tippy library available + if (typeof tippy === "undefined") return; + + // get elements with non-empty tooltips + const elements = [...document.querySelectorAll("[data-tooltip]")].filter( + (element) => element.dataset.tooltip.trim() && !element._tippy + ); + + // add tooltip to elements + tippy(elements, { + content: (element) => element.dataset.tooltip.trim(), + delay: [200, 0], + offset: [0, 20], + allowHTML: true, + interactive: true, + appendTo: () => document.body, + aria: { + content: "describedby", + expanded: null, + }, + onShow: ({ reference, popper }) => { + const dark = reference.closest("[data-dark]")?.dataset.dark; + if (dark === "false") popper.dataset.dark = true; + if (dark === "true") popper.dataset.dark = false; + }, + // onHide: () => false, // debug + }); + }; + + // after page loads + window.addEventListener("load", onLoad); + // after tags load + window.addEventListener("tagsfetched", onLoad); +} diff --git a/preview/pr-3/_styles/-theme.css b/preview/pr-3/_styles/-theme.css new file mode 100644 index 00000000..069c3c0e --- /dev/null +++ b/preview/pr-3/_styles/-theme.css @@ -0,0 +1,41 @@ +[data-dark=false] { + --primary: #0ea5e9; + --secondary: #7dd3fc; + --text: #000000; + --background: #ffffff; + --background-alt: #fafafa; + --light-gray: #e0e0e0; + --gray: #808080; + --overlay: #00000020; +} + +[data-dark=true] { + --primary: #0ea5e9; + --secondary: #075985; + --text: #ffffff; + --background: #181818; + --background-alt: #1c1c1c; + --light-gray: #404040; + --gray: #808080; + --overlay: #ffffff10; +} + +:root { + --title: "Barlow", sans-serif; + --heading: "Barlow", sans-serif; + --body: "Barlow", sans-serif; + --code: "Roboto Mono", monospace; + --medium: 1rem; + --large: 1.2rem; + --xl: 1.4rem; + --xxl: 1.6rem; + --thin: 200; + --regular: 400; + --semi-bold: 500; + --bold: 600; + --spacing: 2; + --rounded: 3px; + --shadow: 0 0 10px 0 var(--overlay); +} + +/*# sourceMappingURL=-theme.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/-theme.css.map b/preview/pr-3/_styles/-theme.css.map new file mode 100644 index 00000000..dfb068c2 --- /dev/null +++ b/preview/pr-3/_styles/-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["-theme.scss"],"names":[],"mappings":"AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EAGA;EACA","sourcesContent":["// colors\n[data-dark=\"false\"] {\n --primary: #0ea5e9;\n --secondary: #7dd3fc;\n --text: #000000;\n --background: #ffffff;\n --background-alt: #fafafa;\n --light-gray: #e0e0e0;\n --gray: #808080;\n --overlay: #00000020;\n}\n[data-dark=\"true\"] {\n --primary: #0ea5e9;\n --secondary: #075985;\n --text: #ffffff;\n --background: #181818;\n --background-alt: #1c1c1c;\n --light-gray: #404040;\n --gray: #808080;\n --overlay: #ffffff10;\n}\n\n:root {\n // font families\n --title: \"Barlow\", sans-serif;\n --heading: \"Barlow\", sans-serif;\n --body: \"Barlow\", sans-serif;\n --code: \"Roboto Mono\", monospace;\n\n // font sizes\n --medium: 1rem;\n --large: 1.2rem;\n --xl: 1.4rem;\n --xxl: 1.6rem;\n\n // font weights\n --thin: 200;\n --regular: 400;\n --semi-bold: 500;\n --bold: 600;\n\n // text line spacing\n --spacing: 2;\n\n // effects\n --rounded: 3px;\n --shadow: 0 0 10px 0 var(--overlay);\n}\n"],"file":"-theme.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/alert.css b/preview/pr-3/_styles/alert.css new file mode 100644 index 00000000..a270c6f4 --- /dev/null +++ b/preview/pr-3/_styles/alert.css @@ -0,0 +1,36 @@ +.alert { + position: relative; + display: flex; + gap: 20px; + align-items: center; + margin: 20px 0; + padding: 20px; + border-radius: var(--rounded); + overflow: hidden; + text-align: left; + line-height: var(--spacing); +} + +.alert:before { + content: ""; + position: absolute; + inset: 0; + opacity: 0.1; + background: var(--color); + z-index: -1; +} + +.alert > .icon { + color: var(--color); + font-size: var(--large); +} + +.alert-content > *:first-child { + margin-top: 0; +} + +.alert-content > *:last-child { + margin-bottom: 0; +} + +/*# sourceMappingURL=alert.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/alert.css.map b/preview/pr-3/_styles/alert.css.map new file mode 100644 index 00000000..f34316bc --- /dev/null +++ b/preview/pr-3/_styles/alert.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["alert.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":[".alert {\n position: relative;\n display: flex;\n gap: 20px;\n align-items: center;\n margin: 20px 0;\n padding: 20px;\n border-radius: var(--rounded);\n overflow: hidden;\n text-align: left;\n line-height: var(--spacing);\n}\n\n.alert:before {\n content: \"\";\n position: absolute;\n inset: 0;\n opacity: 0.1;\n background: var(--color);\n z-index: -1;\n}\n\n.alert > .icon {\n color: var(--color);\n font-size: var(--large);\n}\n\n.alert-content > *:first-child {\n margin-top: 0;\n}\n\n.alert-content > *:last-child {\n margin-bottom: 0;\n}\n"],"file":"alert.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/all.css b/preview/pr-3/_styles/all.css new file mode 100644 index 00000000..9b786fb2 --- /dev/null +++ b/preview/pr-3/_styles/all.css @@ -0,0 +1,6 @@ +* { + box-sizing: border-box; + transition: none 0.2s; +} + +/*# sourceMappingURL=all.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/all.css.map b/preview/pr-3/_styles/all.css.map new file mode 100644 index 00000000..f73c0548 --- /dev/null +++ b/preview/pr-3/_styles/all.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["all.scss"],"names":[],"mappings":"AAAA;EACE;EACA","sourcesContent":["* {\n box-sizing: border-box;\n transition: none 0.2s;\n}\n"],"file":"all.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/anchor.css b/preview/pr-3/_styles/anchor.css new file mode 100644 index 00000000..a0c34025 --- /dev/null +++ b/preview/pr-3/_styles/anchor.css @@ -0,0 +1,23 @@ +.anchor { + display: inline-block; + position: relative; + width: 0; + margin: 0; + left: 0.5em; + color: var(--primary) !important; + opacity: 0; + font-size: 0.75em; + text-decoration: none; + transition-property: opacity, color; +} + +*:hover > .anchor, +.anchor:focus { + opacity: 1; +} + +.anchor:hover { + color: var(--text) !important; +} + +/*# sourceMappingURL=anchor.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/anchor.css.map b/preview/pr-3/_styles/anchor.css.map new file mode 100644 index 00000000..060a4538 --- /dev/null +++ b/preview/pr-3/_styles/anchor.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["anchor.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE","sourcesContent":[".anchor {\n display: inline-block;\n position: relative;\n width: 0;\n margin: 0;\n left: 0.5em;\n color: var(--primary) !important;\n opacity: 0;\n font-size: 0.75em;\n text-decoration: none;\n transition-property: opacity, color;\n}\n\n*:hover > .anchor,\n.anchor:focus {\n opacity: 1;\n}\n\n.anchor:hover {\n color: var(--text) !important;\n}\n"],"file":"anchor.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/background.css b/preview/pr-3/_styles/background.css new file mode 100644 index 00000000..025e56ad --- /dev/null +++ b/preview/pr-3/_styles/background.css @@ -0,0 +1,20 @@ +.background { + position: relative; + background: var(--background); + color: var(--text); + z-index: 1; +} + +.background:before { + content: ""; + position: absolute; + inset: 0; + background-image: var(--image); + background-size: cover; + background-repeat: no-repeat; + background-position: 50% 50%; + opacity: 0.25; + z-index: -1; +} + +/*# sourceMappingURL=background.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/background.css.map b/preview/pr-3/_styles/background.css.map new file mode 100644 index 00000000..b655d9e5 --- /dev/null +++ b/preview/pr-3/_styles/background.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["background.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA","sourcesContent":[".background {\n position: relative;\n background: var(--background);\n color: var(--text);\n z-index: 1;\n}\n\n.background:before {\n content: \"\";\n position: absolute;\n inset: 0;\n background-image: var(--image);\n background-size: cover;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n opacity: 0.25;\n z-index: -1;\n}\n"],"file":"background.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/body.css b/preview/pr-3/_styles/body.css new file mode 100644 index 00000000..72872612 --- /dev/null +++ b/preview/pr-3/_styles/body.css @@ -0,0 +1,17 @@ +html, +body { + margin: 0; + padding: 0; + min-height: 100vh; + background: var(--background); + color: var(--text); + font-family: var(--body); +} + +body { + display: flex; + flex-direction: column; + text-align: center; +} + +/*# sourceMappingURL=body.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/body.css.map b/preview/pr-3/_styles/body.css.map new file mode 100644 index 00000000..5fc55860 --- /dev/null +++ b/preview/pr-3/_styles/body.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["body.scss"],"names":[],"mappings":"AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA","sourcesContent":["html,\nbody {\n margin: 0;\n padding: 0;\n min-height: 100vh;\n background: var(--background);\n color: var(--text);\n font-family: var(--body);\n}\n\nbody {\n display: flex;\n flex-direction: column;\n text-align: center;\n}\n"],"file":"body.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/bold.css b/preview/pr-3/_styles/bold.css new file mode 100644 index 00000000..94a711f1 --- /dev/null +++ b/preview/pr-3/_styles/bold.css @@ -0,0 +1,6 @@ +b, +strong { + font-weight: var(--bold); +} + +/*# sourceMappingURL=bold.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/bold.css.map b/preview/pr-3/_styles/bold.css.map new file mode 100644 index 00000000..57012fd4 --- /dev/null +++ b/preview/pr-3/_styles/bold.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["bold.scss"],"names":[],"mappings":"AAAA;AAAA;EAEE","sourcesContent":["b,\nstrong {\n font-weight: var(--bold);\n}\n"],"file":"bold.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/button.css b/preview/pr-3/_styles/button.css new file mode 100644 index 00000000..be9c4e85 --- /dev/null +++ b/preview/pr-3/_styles/button.css @@ -0,0 +1,56 @@ +button { + cursor: pointer; +} + +.button-wrapper { + display: contents; +} + +.button { + display: inline-flex; + justify-content: center; + align-items: center; + gap: 10px; + max-width: calc(100% - 5px - 5px); + margin: 5px; + padding: 10px 15px; + border: none; + border-radius: var(--rounded); + background: var(--primary); + color: var(--background); + text-align: center; + font-family: var(--heading); + font-weight: var(--semi-bold); + line-height: 1; + text-decoration: none; + vertical-align: middle; + -webkit-appearance: none; + appearance: none; + transition-property: background, color; +} + +.button:hover { + background: var(--text); + color: var(--background); +} + +.button[data-style=bare] { + padding: 5px; + background: none; + color: var(--primary); +} +.button[data-style=bare]:hover { + color: var(--text); +} + +.button[data-style=black] { + padding: 5px; + background: none; + color: var(--text); +} + +.button[data-flip] { + flex-direction: row-reverse; +} + +/*# sourceMappingURL=button.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/button.css.map b/preview/pr-3/_styles/button.css.map new file mode 100644 index 00000000..0910658d --- /dev/null +++ b/preview/pr-3/_styles/button.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["button.scss"],"names":[],"mappings":"AAAA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE","sourcesContent":["button {\n cursor: pointer;\n}\n\n.button-wrapper {\n display: contents;\n}\n\n.button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n max-width: calc(100% - 5px - 5px);\n margin: 5px;\n padding: 10px 15px;\n border: none;\n border-radius: var(--rounded);\n background: var(--primary);\n color: var(--background);\n text-align: center;\n font-family: var(--heading);\n font-weight: var(--semi-bold);\n line-height: 1;\n text-decoration: none;\n vertical-align: middle;\n -webkit-appearance: none;\n appearance: none;\n transition-property: background, color;\n}\n\n.button:hover {\n background: var(--text);\n color: var(--background);\n}\n\n.button[data-style=\"bare\"] {\n padding: 5px;\n background: none;\n color: var(--primary);\n\n &:hover {\n color: var(--text);\n }\n}\n\n.button[data-style=\"black\"] {\n padding: 5px;\n background: none;\n color: var(--text);\n}\n\n.button[data-flip] {\n flex-direction: row-reverse;\n}\n"],"file":"button.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/card.css b/preview/pr-3/_styles/card.css new file mode 100644 index 00000000..49e24a5a --- /dev/null +++ b/preview/pr-3/_styles/card.css @@ -0,0 +1,51 @@ +.card { + display: inline-flex; + justify-content: stretch; + align-items: center; + flex-direction: column; + width: 350px; + max-width: calc(100% - 20px - 20px); + margin: 20px; + background: var(--background); + border-radius: var(--rounded); + overflow: hidden; + box-shadow: var(--shadow); + vertical-align: top; +} + +.card[data-style=small] { + width: 250px; +} + +.card-image img { + aspect-ratio: 3/2; + object-fit: cover; + width: 100%; +} + +.card-text { + display: inline-flex; + justify-content: flex-start; + align-items: center; + flex-direction: column; + gap: 20px; + max-width: 100%; + padding: 20px; +} + +.card-text > *, +.card-text > .tags { + margin: 0; +} + +.card-title { + font-family: var(--heading); + font-weight: var(--semi-bold); +} + +.card-subtitle { + margin-top: -15px; + font-style: italic; +} + +/*# sourceMappingURL=card.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/card.css.map b/preview/pr-3/_styles/card.css.map new file mode 100644 index 00000000..da57e994 --- /dev/null +++ b/preview/pr-3/_styles/card.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["card.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA","sourcesContent":[".card {\n display: inline-flex;\n justify-content: stretch;\n align-items: center;\n flex-direction: column;\n width: 350px;\n max-width: calc(100% - 20px - 20px);\n margin: 20px;\n background: var(--background);\n border-radius: var(--rounded);\n overflow: hidden;\n box-shadow: var(--shadow);\n vertical-align: top;\n}\n\n.card[data-style=\"small\"] {\n width: 250px;\n}\n\n.card-image img {\n aspect-ratio: 3 / 2;\n object-fit: cover;\n width: 100%;\n // box-shadow: var(--shadow);\n}\n\n.card-text {\n display: inline-flex;\n justify-content: flex-start;\n align-items: center;\n flex-direction: column;\n gap: 20px;\n max-width: 100%;\n padding: 20px;\n}\n\n.card-text > *,\n.card-text > .tags {\n margin: 0;\n}\n\n.card-title {\n font-family: var(--heading);\n font-weight: var(--semi-bold);\n}\n\n.card-subtitle {\n margin-top: -15px;\n font-style: italic;\n}\n"],"file":"card.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/checkbox.css b/preview/pr-3/_styles/checkbox.css new file mode 100644 index 00000000..8c77dc53 --- /dev/null +++ b/preview/pr-3/_styles/checkbox.css @@ -0,0 +1,5 @@ +input[type=checkbox] { + cursor: pointer; +} + +/*# sourceMappingURL=checkbox.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/checkbox.css.map b/preview/pr-3/_styles/checkbox.css.map new file mode 100644 index 00000000..90fb4932 --- /dev/null +++ b/preview/pr-3/_styles/checkbox.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["checkbox.scss"],"names":[],"mappings":"AAAA;EACE","sourcesContent":["input[type=\"checkbox\"] {\n cursor: pointer;\n}\n"],"file":"checkbox.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/citation.css b/preview/pr-3/_styles/citation.css new file mode 100644 index 00000000..e2303ac7 --- /dev/null +++ b/preview/pr-3/_styles/citation.css @@ -0,0 +1,90 @@ +.citation { + display: flex; + margin: 15px 0; + border-radius: var(--rounded); + background: var(--background); + overflow: hidden; + box-shadow: var(--shadow); +} + +.citation-image { + position: relative; + width: 180px; + flex-shrink: 0; +} + +.citation-image img { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: contain; +} + +.citation-text { + position: relative; + display: inline-flex; + flex-wrap: wrap; + gap: 15px; + max-width: 100%; + height: min-content; + padding: 20px; + padding-left: 30px; + text-align: left; + overflow-wrap: break-word; + z-index: 0; +} + +.citation-title, +.citation-authors, +.citation-details, +.citation-description { + width: 100%; + line-height: calc(var(--spacing) - 0.4); +} + +.citation-title { + font-weight: var(--semi-bold); +} + +.citation-text > .icon { + position: absolute; + top: 20px; + right: 20px; + color: var(--light-gray); + opacity: 0.5; + font-size: 30px; + z-index: -1; +} + +.citation-description { + color: var(--gray); +} + +.citation-buttons { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.citation-buttons .button { + margin: 0; +} + +.citation-text > .tags { + display: inline-flex; + justify-content: flex-start; + margin: 0; +} + +@media (max-width: 800px) { + .citation { + flex-direction: column; + } + .citation-image { + width: unset; + height: 180px; + } +} + +/*# sourceMappingURL=citation.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/citation.css.map b/preview/pr-3/_styles/citation.css.map new file mode 100644 index 00000000..af40c898 --- /dev/null +++ b/preview/pr-3/_styles/citation.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["citation.scss"],"names":[],"mappings":"AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA,OAdW;EAeX;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA,QA1FS","sourcesContent":["$thumb-size: 180px;\n$wrap: 800px;\n\n.citation {\n display: flex;\n margin: 15px 0;\n border-radius: var(--rounded);\n background: var(--background);\n overflow: hidden;\n box-shadow: var(--shadow);\n}\n\n.citation-image {\n position: relative;\n width: $thumb-size;\n flex-shrink: 0;\n // box-shadow: var(--shadow);\n}\n\n.citation-image img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n.citation-text {\n position: relative;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 15px;\n max-width: 100%;\n height: min-content;\n padding: 20px;\n padding-left: 30px;\n text-align: left;\n overflow-wrap: break-word;\n z-index: 0;\n}\n\n.citation-title,\n.citation-authors,\n.citation-details,\n.citation-description {\n width: 100%;\n line-height: calc(var(--spacing) - 0.4);\n}\n\n.citation-title {\n font-weight: var(--semi-bold);\n}\n\n.citation-text > .icon {\n position: absolute;\n top: 20px;\n right: 20px;\n color: var(--light-gray);\n opacity: 0.5;\n font-size: 30px;\n z-index: -1;\n}\n\n.citation-description {\n color: var(--gray);\n}\n\n.citation-buttons {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n}\n\n.citation-buttons .button {\n margin: 0;\n}\n\n.citation-text > .tags {\n display: inline-flex;\n justify-content: flex-start;\n margin: 0;\n}\n\n@media (max-width: $wrap) {\n .citation {\n flex-direction: column;\n }\n\n .citation-image {\n width: unset;\n height: $thumb-size;\n }\n}\n"],"file":"citation.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/code.css b/preview/pr-3/_styles/code.css new file mode 100644 index 00000000..a8077f4c --- /dev/null +++ b/preview/pr-3/_styles/code.css @@ -0,0 +1,35 @@ +pre, +code, +pre *, +code * { + font-family: var(--code); +} + +code.highlighter-rouge { + padding: 2px 6px; + background: var(--light-gray); + border-radius: var(--rounded); + line-height: calc(var(--spacing) - 0.2); +} + +div.highlighter-rouge { + width: 100%; + margin: 40px 0; + border-radius: var(--rounded); + overflow-x: auto; + overflow-y: auto; + text-align: left; + line-height: calc(var(--spacing) - 0.4); +} +div.highlighter-rouge div.highlight { + display: contents; +} +div.highlighter-rouge div.highlight pre.highlight { + width: fit-content; + min-width: 100%; + margin: 0; + padding: 20px; + color: var(--white); +} + +/*# sourceMappingURL=code.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/code.css.map b/preview/pr-3/_styles/code.css.map new file mode 100644 index 00000000..048eb764 --- /dev/null +++ b/preview/pr-3/_styles/code.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["code.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;EAIE;;;AAIF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA","sourcesContent":["pre,\ncode,\npre *,\ncode * {\n font-family: var(--code);\n}\n\n// inline code\ncode.highlighter-rouge {\n padding: 2px 6px;\n background: var(--light-gray);\n border-radius: var(--rounded);\n line-height: calc(var(--spacing) - 0.2);\n}\n\n// code block\ndiv.highlighter-rouge {\n width: 100%;\n margin: 40px 0;\n border-radius: var(--rounded);\n overflow-x: auto;\n overflow-y: auto;\n text-align: left;\n line-height: calc(var(--spacing) - 0.4);\n\n div.highlight {\n display: contents;\n\n pre.highlight {\n width: fit-content;\n min-width: 100%;\n margin: 0;\n padding: 20px;\n color: var(--white);\n }\n }\n}\n"],"file":"code.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/cols.css b/preview/pr-3/_styles/cols.css new file mode 100644 index 00000000..13dfb6e8 --- /dev/null +++ b/preview/pr-3/_styles/cols.css @@ -0,0 +1,34 @@ +.cols { + display: grid; + --repeat: min(3, var(--cols)); + grid-template-columns: repeat(var(--repeat), 1fr); + align-items: flex-start; + gap: 40px; + margin: 40px 0; +} + +.cols > * { + min-width: 0; + min-height: 0; +} + +.cols > div > *:first-child { + margin-top: 0 !important; +} + +.cols > div > *:last-child { + margin-bottom: 0 !important; +} + +@media (max-width: 750px) { + .cols { + --repeat: min(2, var(--cols)); + } +} +@media (max-width: 500px) { + .cols { + --repeat: min(1, var(--cols)); + } +} + +/*# sourceMappingURL=cols.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/cols.css.map b/preview/pr-3/_styles/cols.css.map new file mode 100644 index 00000000..488b8272 --- /dev/null +++ b/preview/pr-3/_styles/cols.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["cols.scss"],"names":[],"mappings":"AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE","sourcesContent":["$two: 750px;\n$one: 500px;\n\n.cols {\n display: grid;\n --repeat: min(3, var(--cols));\n grid-template-columns: repeat(var(--repeat), 1fr);\n align-items: flex-start;\n gap: 40px;\n margin: 40px 0;\n}\n\n.cols > * {\n min-width: 0;\n min-height: 0;\n}\n\n.cols > div > *:first-child {\n margin-top: 0 !important;\n}\n\n.cols > div > *:last-child {\n margin-bottom: 0 !important;\n}\n\n@media (max-width: $two) {\n .cols {\n --repeat: min(2, var(--cols));\n }\n}\n\n@media (max-width: $one) {\n .cols {\n --repeat: min(1, var(--cols));\n }\n}\n"],"file":"cols.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/dark-toggle.css b/preview/pr-3/_styles/dark-toggle.css new file mode 100644 index 00000000..daedc5db --- /dev/null +++ b/preview/pr-3/_styles/dark-toggle.css @@ -0,0 +1,31 @@ +.dark-toggle { + position: relative; + width: 40px; + height: 25px; + margin: 0; + border-radius: 999px; + background: var(--primary); + -webkit-appearance: none; + appearance: none; + transition-property: background; +} + +.dark-toggle:after { + content: "\f185"; + position: absolute; + left: 12px; + top: 50%; + color: var(--text); + font-size: 15px; + font-family: "Font Awesome 6 Free"; + font-weight: 900; + transform: translate(-50%, -50%); + transition: left 0.2s; +} + +.dark-toggle:checked:after { + content: "\f186"; + left: calc(100% - 12px); +} + +/*# sourceMappingURL=dark-toggle.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/dark-toggle.css.map b/preview/pr-3/_styles/dark-toggle.css.map new file mode 100644 index 00000000..88294f04 --- /dev/null +++ b/preview/pr-3/_styles/dark-toggle.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["dark-toggle.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA","sourcesContent":[".dark-toggle {\n position: relative;\n width: 40px;\n height: 25px;\n margin: 0;\n border-radius: 999px;\n background: var(--primary);\n -webkit-appearance: none;\n appearance: none;\n transition-property: background;\n}\n\n.dark-toggle:after {\n content: \"\\f185\";\n position: absolute;\n left: 12px;\n top: 50%;\n color: var(--text);\n font-size: 15px;\n font-family: \"Font Awesome 6 Free\";\n font-weight: 900;\n transform: translate(-50%, -50%);\n transition: left 0.2s;\n}\n\n.dark-toggle:checked:after {\n content: \"\\f186\";\n left: calc(100% - 12px);\n}\n"],"file":"dark-toggle.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/feature.css b/preview/pr-3/_styles/feature.css new file mode 100644 index 00000000..7f7e0120 --- /dev/null +++ b/preview/pr-3/_styles/feature.css @@ -0,0 +1,49 @@ +.feature { + display: flex; + justify-content: center; + align-items: center; + gap: 40px; + margin: 40px 0; +} + +.feature-image { + flex-shrink: 0; + width: 40%; + aspect-ratio: 3/2; + border-radius: var(--rounded); + overflow: hidden; + box-shadow: var(--shadow); +} + +.feature-image img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.feature-text { + flex-grow: 1; +} + +.feature-title { + font-size: var(--large); + text-align: center; + font-family: var(--heading); + font-weight: var(--semi-bold); +} + +.feature[data-flip] { + flex-direction: row-reverse; +} + +@media (max-width: 800px) { + .feature { + flex-direction: column !important; + } + .feature-image { + width: 100%; + max-width: 400px; + } +} + +/*# sourceMappingURL=feature.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/feature.css.map b/preview/pr-3/_styles/feature.css.map new file mode 100644 index 00000000..1a2cdac6 --- /dev/null +++ b/preview/pr-3/_styles/feature.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["feature.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA","sourcesContent":["$wrap: 800px;\n\n.feature {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 40px;\n margin: 40px 0;\n}\n\n.feature-image {\n flex-shrink: 0;\n width: 40%;\n aspect-ratio: 3 / 2;\n border-radius: var(--rounded);\n overflow: hidden;\n box-shadow: var(--shadow);\n}\n\n.feature-image img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.feature-text {\n flex-grow: 1;\n}\n\n.feature-title {\n font-size: var(--large);\n text-align: center;\n font-family: var(--heading);\n font-weight: var(--semi-bold);\n}\n\n.feature[data-flip] {\n flex-direction: row-reverse;\n}\n\n@media (max-width: $wrap) {\n .feature {\n flex-direction: column !important;\n }\n\n .feature-image {\n width: 100%;\n max-width: calc($wrap / 2);\n }\n}\n"],"file":"feature.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/figure.css b/preview/pr-3/_styles/figure.css new file mode 100644 index 00000000..95589387 --- /dev/null +++ b/preview/pr-3/_styles/figure.css @@ -0,0 +1,25 @@ +.figure { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 10px; + margin: 40px 0; +} + +.figure-image { + display: contents; +} + +.figure-image img { + border-radius: var(--rounded); + overflow: hidden; + box-shadow: var(--shadow); +} + +.figure-caption { + font-style: italic; + text-align: center; +} + +/*# sourceMappingURL=figure.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/figure.css.map b/preview/pr-3/_styles/figure.css.map new file mode 100644 index 00000000..4d62fcf1 --- /dev/null +++ b/preview/pr-3/_styles/figure.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["figure.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA","sourcesContent":[".figure {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 10px;\n margin: 40px 0;\n}\n\n.figure-image {\n display: contents;\n}\n\n.figure-image img {\n border-radius: var(--rounded);\n overflow: hidden;\n box-shadow: var(--shadow);\n}\n\n.figure-caption {\n font-style: italic;\n text-align: center;\n}\n"],"file":"figure.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/float.css b/preview/pr-3/_styles/float.css new file mode 100644 index 00000000..c91b46eb --- /dev/null +++ b/preview/pr-3/_styles/float.css @@ -0,0 +1,35 @@ +.float { + margin-bottom: 20px; + max-width: 50%; +} + +.float > * { + margin: 0 !important; +} + +.float:not([data-flip]) { + float: left; + margin-right: 40px; +} + +.float[data-flip] { + float: right; + margin-left: 40px; +} + +.float[data-clear] { + float: unset; + clear: both; + margin: 0; +} + +@media (max-width: 600px) { + .float { + float: unset !important; + clear: both !important; + margin: auto !important; + max-width: unset; + } +} + +/*# sourceMappingURL=float.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/float.css.map b/preview/pr-3/_styles/float.css.map new file mode 100644 index 00000000..42c53e0b --- /dev/null +++ b/preview/pr-3/_styles/float.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["float.scss"],"names":[],"mappings":"AAEA;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;IACE;IACA;IACA;IACA","sourcesContent":["$wrap: 600px;\n\n.float {\n margin-bottom: 20px;\n max-width: 50%;\n}\n\n.float > * {\n margin: 0 !important;\n}\n\n.float:not([data-flip]) {\n float: left;\n margin-right: 40px;\n}\n\n.float[data-flip] {\n float: right;\n margin-left: 40px;\n}\n\n.float[data-clear] {\n float: unset;\n clear: both;\n margin: 0;\n}\n\n@media (max-width: $wrap) {\n .float {\n float: unset !important;\n clear: both !important;\n margin: auto !important;\n max-width: unset;\n }\n}\n"],"file":"float.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/font.css b/preview/pr-3/_styles/font.css new file mode 100644 index 00000000..c40e1559 --- /dev/null +++ b/preview/pr-3/_styles/font.css @@ -0,0 +1,3 @@ +@font-face {} + +/*# sourceMappingURL=font.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/font.css.map b/preview/pr-3/_styles/font.css.map new file mode 100644 index 00000000..e1d56c04 --- /dev/null +++ b/preview/pr-3/_styles/font.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["font.scss"],"names":[],"mappings":"AAAA","sourcesContent":["@font-face {\n}\n"],"file":"font.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/footer.css b/preview/pr-3/_styles/footer.css new file mode 100644 index 00000000..a85b907f --- /dev/null +++ b/preview/pr-3/_styles/footer.css @@ -0,0 +1,24 @@ +footer { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 20px; + padding: 40px; + line-height: var(--spacing); + box-shadow: var(--shadow); +} + +footer a { + color: var(--text) !important; +} + +footer a:hover { + color: var(--primary) !important; +} + +footer .icon { + font-size: var(--xl); +} + +/*# sourceMappingURL=footer.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/footer.css.map b/preview/pr-3/_styles/footer.css.map new file mode 100644 index 00000000..61ae1179 --- /dev/null +++ b/preview/pr-3/_styles/footer.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["footer.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":["footer {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 20px;\n padding: 40px;\n line-height: var(--spacing);\n box-shadow: var(--shadow);\n}\n\nfooter a {\n color: var(--text) !important;\n}\n\nfooter a:hover {\n color: var(--primary) !important;\n}\n\nfooter .icon {\n font-size: var(--xl);\n}\n"],"file":"footer.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/form.css b/preview/pr-3/_styles/form.css new file mode 100644 index 00000000..76114595 --- /dev/null +++ b/preview/pr-3/_styles/form.css @@ -0,0 +1,8 @@ +form { + display: flex; + justify-content: center; + align-items: center; + gap: 10px; +} + +/*# sourceMappingURL=form.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/form.css.map b/preview/pr-3/_styles/form.css.map new file mode 100644 index 00000000..65939cb6 --- /dev/null +++ b/preview/pr-3/_styles/form.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["form.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA","sourcesContent":["form {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n}\n"],"file":"form.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/grid.css b/preview/pr-3/_styles/grid.css new file mode 100644 index 00000000..3931eb21 --- /dev/null +++ b/preview/pr-3/_styles/grid.css @@ -0,0 +1,45 @@ +.grid { + display: grid; + --repeat: 3; + grid-template-columns: repeat(var(--repeat), 1fr); + justify-content: center; + align-items: flex-start; + gap: 40px; + margin: 40px 0; +} + +.grid > * { + min-width: 0; + min-height: 0; + width: 100%; + margin: 0 !important; +} + +@media (max-width: 750px) { + .grid { + --repeat: 2; + } +} +@media (max-width: 500px) { + .grid { + --repeat: 1; + } +} +.grid[data-style=square] { + align-items: center; +} +.grid[data-style=square] > * { + aspect-ratio: 1/1; +} +.grid[data-style=square] img { + aspect-ratio: 1/1; + object-fit: cover; + max-width: unset; + max-height: unset; +} + +.grid > *:where(h1, h2, h3, h4) { + display: none; +} + +/*# sourceMappingURL=grid.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/grid.css.map b/preview/pr-3/_styles/grid.css.map new file mode 100644 index 00000000..7baeedc0 --- /dev/null +++ b/preview/pr-3/_styles/grid.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["grid.scss"],"names":[],"mappings":"AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EAEA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE","sourcesContent":["$two: 750px;\n$one: 500px;\n\n.grid {\n display: grid;\n --repeat: 3;\n grid-template-columns: repeat(var(--repeat), 1fr);\n justify-content: center;\n align-items: flex-start;\n gap: 40px;\n margin: 40px 0;\n}\n\n.grid > * {\n min-width: 0;\n min-height: 0;\n width: 100%;\n // max-height: 50vh;\n margin: 0 !important;\n}\n\n@media (max-width: $two) {\n .grid {\n --repeat: 2;\n }\n}\n\n@media (max-width: $one) {\n .grid {\n --repeat: 1;\n }\n}\n\n.grid[data-style=\"square\"] {\n align-items: center;\n\n & > * {\n aspect-ratio: 1 / 1;\n }\n\n & img {\n aspect-ratio: 1 / 1;\n object-fit: cover;\n max-width: unset;\n max-height: unset;\n }\n}\n\n.grid > *:where(h1, h2, h3, h4) {\n display: none;\n}\n"],"file":"grid.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/header.css b/preview/pr-3/_styles/header.css new file mode 100644 index 00000000..5a33d4de --- /dev/null +++ b/preview/pr-3/_styles/header.css @@ -0,0 +1,146 @@ +header { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 20px; + padding: 20px; + box-shadow: var(--shadow); + position: sticky !important; + top: 0; + z-index: 10 !important; +} + +header a { + color: var(--text); + text-decoration: none; +} + +.home { + display: flex; + justify-content: flex-start; + align-items: center; + gap: 10px; + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.logo { + height: 40px; +} + +.logo > * { + height: 100%; +} + +.title { + display: flex; + justify-content: flex-start; + align-items: baseline; + flex-wrap: wrap; + gap: 5px; + min-width: 0; + font-family: var(--title); + text-align: left; +} + +.title > *:first-child { + font-size: var(--large); +} + +.title > *:last-child { + opacity: 0.65; + font-weight: var(--thin); +} + +.nav-toggle { + display: none; + position: relative; + width: 30px; + height: 30px; + margin: 0; + color: var(--text); + -webkit-appearance: none; + appearance: none; + transition-property: background; +} + +.nav-toggle:after { + content: "\f0c9"; + position: absolute; + left: 50%; + top: 50%; + color: var(--text); + font-size: 15px; + font-family: "Font Awesome 6 Free"; + font-weight: 900; + transform: translate(-50%, -50%); +} + +.nav-toggle:checked:after { + content: "\f00d"; +} + +nav { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 10px; + font-family: var(--heading); + text-transform: uppercase; +} + +nav > a { + padding: 5px; +} + +nav > a:hover { + color: var(--primary); +} + +@media (max-width: 700px) { + header:not([data-big]) { + justify-content: flex-end; + } + header:not([data-big]) .nav-toggle { + display: flex; + } + header:not([data-big]) .nav-toggle:not(:checked) + nav { + display: none; + } + header:not([data-big]) nav { + align-items: flex-end; + flex-direction: column; + width: 100%; + } +} + +header[data-big] { + justify-content: center; + align-items: center; + flex-direction: column; + padding: 100px 20px; + top: unset; +} +header[data-big] .home { + flex-direction: column; + flex-grow: 0; +} +header[data-big] .logo { + height: 80px; +} +header[data-big] .title { + flex-direction: column; + align-items: center; + text-align: center; +} +header[data-big] .title > *:first-child { + font-size: var(--xxl); +} +header[data-big] .title > *:last-child { + font-size: var(--large); +} + +/*# sourceMappingURL=header.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/header.css.map b/preview/pr-3/_styles/header.css.map new file mode 100644 index 00000000..d919aa5d --- /dev/null +++ b/preview/pr-3/_styles/header.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["header.scss"],"names":[],"mappings":"AAMA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAGE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE,QArCK;;;AAwCP;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EADF;IAEI;;EAEA;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;;;;AAKN;EACE;EACA;EACA;EACA;EAGE;;AAGF;EACE;EACA;;AAGF;EACE,QArJO;;AAwJT;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE","sourcesContent":["$logo-big: 80px;\n$logo: 40px;\n$big-padding: 100px;\n$collapse: 700px;\n$sticky: true;\n\nheader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 20px;\n padding: 20px;\n box-shadow: var(--shadow);\n\n @if $sticky {\n position: sticky !important;\n top: 0;\n z-index: 10 !important;\n }\n}\n\nheader a {\n color: var(--text);\n text-decoration: none;\n}\n\n.home {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: 10px;\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.logo {\n height: $logo;\n}\n\n.logo > * {\n height: 100%;\n}\n\n.title {\n display: flex;\n justify-content: flex-start;\n align-items: baseline;\n flex-wrap: wrap;\n gap: 5px;\n min-width: 0;\n font-family: var(--title);\n text-align: left;\n}\n\n// main title\n.title > *:first-child {\n font-size: var(--large);\n}\n\n// subtitle\n.title > *:last-child {\n opacity: 0.65;\n font-weight: var(--thin);\n}\n\n.nav-toggle {\n display: none;\n position: relative;\n width: 30px;\n height: 30px;\n margin: 0;\n color: var(--text);\n -webkit-appearance: none;\n appearance: none;\n transition-property: background;\n}\n\n.nav-toggle:after {\n content: \"\\f0c9\";\n position: absolute;\n left: 50%;\n top: 50%;\n color: var(--text);\n font-size: 15px;\n font-family: \"Font Awesome 6 Free\";\n font-weight: 900;\n transform: translate(-50%, -50%);\n}\n\n.nav-toggle:checked:after {\n content: \"\\f00d\";\n}\n\nnav {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n font-family: var(--heading);\n text-transform: uppercase;\n}\n\nnav > a {\n padding: 5px;\n}\n\nnav > a:hover {\n color: var(--primary);\n}\n\nheader:not([data-big]) {\n @media (max-width: $collapse) {\n justify-content: flex-end;\n\n .nav-toggle {\n display: flex;\n }\n\n .nav-toggle:not(:checked) + nav {\n display: none;\n }\n\n nav {\n align-items: flex-end;\n flex-direction: column;\n width: 100%;\n }\n }\n}\n\nheader[data-big] {\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: $big-padding 20px;\n\n @if $sticky {\n top: unset;\n }\n\n .home {\n flex-direction: column;\n flex-grow: 0;\n }\n\n .logo {\n height: $logo-big;\n }\n\n .title {\n flex-direction: column;\n align-items: center;\n text-align: center;\n }\n\n .title > *:first-child {\n font-size: var(--xxl);\n }\n\n .title > *:last-child {\n font-size: var(--large);\n }\n}\n"],"file":"header.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/heading.css b/preview/pr-3/_styles/heading.css new file mode 100644 index 00000000..b5943d2b --- /dev/null +++ b/preview/pr-3/_styles/heading.css @@ -0,0 +1,87 @@ +h1, +h2, +h3, +h4 { + font-family: var(--heading); + line-height: calc(var(--spacing) - 0.2); +} + +h1 { + margin: 40px 0 20px 0; + font-size: var(--xxl); + font-weight: var(--regular); + letter-spacing: 1px; + text-transform: uppercase; + text-align: left; +} + +h2 { + margin: 40px 0 20px 0; + padding-bottom: 5px; + border-bottom: solid 1px var(--light-gray); + font-size: var(--xl); + font-weight: var(--regular); + letter-spacing: 1px; + text-align: left; +} + +h3 { + margin: 40px 0 20px 0; + font-size: var(--large); + font-weight: var(--semi-bold); + text-align: left; +} + +h4 { + margin: 40px 0 20px 0; + font-size: var(--medium); + font-weight: var(--semi-bold); + text-align: left; +} + +:where(h1, h2, h3, h4) > .icon { + margin-right: 1em; + color: var(--light-gray); +} + +:root { + --accordion-indent: 20px; +} + +@media (max-width: 800px) { + :root { + --accordion-indent: 0; + } +} +details { + padding-left: var(--accordion-indent); +} + +details summary { + cursor: pointer; + margin-left: calc(-1 * var(--accordion-indent)); + margin-top: 30px; + margin-bottom: 15px; +} + +summary h1, +summary h2, +summary h3, +summary h4 { + display: inline; +} + +details h4 { + margin: 0; +} + +details li { + text-align: left; + line-height: 1.3; +} + +details ul { + margin: 0 0 10px 0; +} + +/*# sourceMappingURL=heading.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/heading.css.map b/preview/pr-3/_styles/heading.css.map new file mode 100644 index 00000000..9129e807 --- /dev/null +++ b/preview/pr-3/_styles/heading.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["heading.scss"],"names":[],"mappings":"AAEA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE","sourcesContent":["$wrap: 800px;\n\nh1,\nh2,\nh3,\nh4 {\n font-family: var(--heading);\n line-height: calc(var(--spacing) - 0.2);\n}\n\nh1 {\n margin: 40px 0 20px 0;\n font-size: var(--xxl);\n font-weight: var(--regular);\n letter-spacing: 1px;\n text-transform: uppercase;\n text-align: left;\n}\n\nh2 {\n margin: 40px 0 20px 0;\n padding-bottom: 5px;\n border-bottom: solid 1px var(--light-gray);\n font-size: var(--xl);\n font-weight: var(--regular);\n letter-spacing: 1px;\n text-align: left;\n}\n\nh3 {\n margin: 40px 0 20px 0;\n font-size: var(--large);\n font-weight: var(--semi-bold);\n text-align: left;\n}\n\nh4 {\n margin: 40px 0 20px 0;\n font-size: var(--medium);\n font-weight: var(--semi-bold);\n text-align: left;\n}\n\n:where(h1, h2, h3, h4) > .icon {\n margin-right: 1em;\n color: var(--light-gray);\n}\n\n// accordion\n:root {\n --accordion-indent: 20px;\n}\n\n\n@media (max-width: $wrap) {\n :root {\n --accordion-indent: 0;\n }\n}\n\ndetails {\n padding-left: var(--accordion-indent);\n}\n\ndetails summary {\n cursor: pointer;\n margin-left: calc(-1 * var(--accordion-indent));\n margin-top: 30px;\n margin-bottom: 15px;\n}\n\nsummary h1,\nsummary h2,\nsummary h3,\nsummary h4 {\n display: inline;\n}\n\ndetails h4 {\n margin: 0;\n}\n\ndetails li {\n text-align: left;\n line-height: 1.3;\n}\n\ndetails ul {\n margin: 0 0 10px 0;\n}\n"],"file":"heading.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/highlight.css b/preview/pr-3/_styles/highlight.css new file mode 100644 index 00000000..a8cf7d3c --- /dev/null +++ b/preview/pr-3/_styles/highlight.css @@ -0,0 +1,6 @@ +mark { + background: #fef08a; + color: #000000; +} + +/*# sourceMappingURL=highlight.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/highlight.css.map b/preview/pr-3/_styles/highlight.css.map new file mode 100644 index 00000000..957ceb13 --- /dev/null +++ b/preview/pr-3/_styles/highlight.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["highlight.scss"],"names":[],"mappings":"AAAA;EACE;EACA","sourcesContent":["mark {\n background: #fef08a;\n color: #000000;\n}\n"],"file":"highlight.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/icon.css b/preview/pr-3/_styles/icon.css new file mode 100644 index 00000000..ab61327d --- /dev/null +++ b/preview/pr-3/_styles/icon.css @@ -0,0 +1,15 @@ +.icon { + font-size: 1em; +} + +span.icon { + line-height: 1; +} + +span.icon > svg { + position: relative; + top: 0.1em; + height: 1em; +} + +/*# sourceMappingURL=icon.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/icon.css.map b/preview/pr-3/_styles/icon.css.map new file mode 100644 index 00000000..22298685 --- /dev/null +++ b/preview/pr-3/_styles/icon.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["icon.scss"],"names":[],"mappings":"AAAA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA","sourcesContent":[".icon {\n font-size: 1em;\n}\n\nspan.icon {\n line-height: 1;\n}\n\nspan.icon > svg {\n position: relative;\n top: 0.1em;\n height: 1em;\n}\n"],"file":"icon.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/image.css b/preview/pr-3/_styles/image.css new file mode 100644 index 00000000..70340d33 --- /dev/null +++ b/preview/pr-3/_styles/image.css @@ -0,0 +1,6 @@ +img { + max-width: 100%; + max-height: 100%; +} + +/*# sourceMappingURL=image.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/image.css.map b/preview/pr-3/_styles/image.css.map new file mode 100644 index 00000000..e88ec450 --- /dev/null +++ b/preview/pr-3/_styles/image.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["image.scss"],"names":[],"mappings":"AAAA;EACE;EACA","sourcesContent":["img {\n max-width: 100%;\n max-height: 100%;\n}\n"],"file":"image.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/link.css b/preview/pr-3/_styles/link.css new file mode 100644 index 00000000..a20e40bc --- /dev/null +++ b/preview/pr-3/_styles/link.css @@ -0,0 +1,15 @@ +a { + color: var(--primary); + transition-property: color; + overflow-wrap: break-word; +} + +a:hover { + color: var(--text); +} + +a:not([href]) { + color: var(--text); +} + +/*# sourceMappingURL=link.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/link.css.map b/preview/pr-3/_styles/link.css.map new file mode 100644 index 00000000..976b37f2 --- /dev/null +++ b/preview/pr-3/_styles/link.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["link.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":["a {\n color: var(--primary);\n transition-property: color;\n overflow-wrap: break-word;\n}\n\na:hover {\n color: var(--text);\n}\n\na:not([href]) {\n color: var(--text);\n}\n"],"file":"link.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/list.css b/preview/pr-3/_styles/list.css new file mode 100644 index 00000000..02a7cf16 --- /dev/null +++ b/preview/pr-3/_styles/list.css @@ -0,0 +1,18 @@ +ul, +ol { + margin: 20px 0; + padding-left: 40px; +} + +ul { + list-style-type: square; +} + +li { + margin: 5px 0; + padding-left: 10px; + text-align: justify; + line-height: var(--spacing); +} + +/*# sourceMappingURL=list.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/list.css.map b/preview/pr-3/_styles/list.css.map new file mode 100644 index 00000000..38fb1e50 --- /dev/null +++ b/preview/pr-3/_styles/list.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["list.scss"],"names":[],"mappings":"AAAA;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA","sourcesContent":["ul,\nol {\n margin: 20px 0;\n padding-left: 40px;\n}\n\nul {\n list-style-type: square;\n}\n\nli {\n margin: 5px 0;\n padding-left: 10px;\n text-align: justify;\n line-height: var(--spacing);\n}\n"],"file":"list.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/main.css b/preview/pr-3/_styles/main.css new file mode 100644 index 00000000..f72eb0d3 --- /dev/null +++ b/preview/pr-3/_styles/main.css @@ -0,0 +1,7 @@ +main { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/main.css.map b/preview/pr-3/_styles/main.css.map new file mode 100644 index 00000000..a2a0fa8d --- /dev/null +++ b/preview/pr-3/_styles/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["main.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA","sourcesContent":["main {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n"],"file":"main.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/paragraph.css b/preview/pr-3/_styles/paragraph.css new file mode 100644 index 00000000..7e46c391 --- /dev/null +++ b/preview/pr-3/_styles/paragraph.css @@ -0,0 +1,7 @@ +p { + margin: 20px 0; + text-align: justify; + line-height: var(--spacing); +} + +/*# sourceMappingURL=paragraph.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/paragraph.css.map b/preview/pr-3/_styles/paragraph.css.map new file mode 100644 index 00000000..7eb50a68 --- /dev/null +++ b/preview/pr-3/_styles/paragraph.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["paragraph.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA","sourcesContent":["p {\n margin: 20px 0;\n text-align: justify;\n line-height: var(--spacing);\n}\n"],"file":"paragraph.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/portrait.css b/preview/pr-3/_styles/portrait.css new file mode 100644 index 00000000..f9b31a1d --- /dev/null +++ b/preview/pr-3/_styles/portrait.css @@ -0,0 +1,76 @@ +.portrait-wrapper { + display: contents; +} + +.portrait { + position: relative; + display: inline-flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 20px; + margin: 20px; + width: 175px; + max-width: calc(100% - 20px - 20px); + text-decoration: none; +} + +.portrait[data-style=small] { + width: 100px; +} + +.portrait[data-style=tiny] { + flex-direction: row; + gap: 15px; + width: unset; + text-align: left; +} + +.portrait-image { + width: 100%; + aspect-ratio: 1/1; + border-radius: 999px; + object-fit: cover; + box-shadow: var(--shadow); +} + +.portrait[data-style=tiny] .portrait-image { + width: 50px; +} + +.portrait[data-style=tiny] .portrait-role { + display: none; +} + +.portrait-text { + display: flex; + flex-direction: column; + line-height: calc(var(--spacing) - 0.4); +} + +.portrait-name { + font-family: var(--heading); + font-weight: var(--semi-bold); +} + +.portrait-role .icon { + position: absolute; + left: 0; + top: 0; + display: flex; + justify-content: center; + align-items: center; + width: 20%; + aspect-ratio: 1/1; + border-radius: 999px; + background: var(--background); + box-shadow: var(--shadow); + transform: translate(14%, 14%); +} + +.portrait[data-style=small] .portrait-role .icon { + left: -2px; + top: -2px; +} + +/*# sourceMappingURL=portrait.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/portrait.css.map b/preview/pr-3/_styles/portrait.css.map new file mode 100644 index 00000000..c3d5789d --- /dev/null +++ b/preview/pr-3/_styles/portrait.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["portrait.scss"],"names":[],"mappings":"AAAA;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA","sourcesContent":[".portrait-wrapper {\n display: contents;\n}\n\n.portrait {\n position: relative;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 20px;\n margin: 20px;\n width: 175px;\n max-width: calc(100% - 20px - 20px);\n text-decoration: none;\n}\n\n.portrait[data-style=\"small\"] {\n width: 100px;\n}\n\n.portrait[data-style=\"tiny\"] {\n flex-direction: row;\n gap: 15px;\n width: unset;\n text-align: left;\n}\n\n.portrait-image {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: 999px;\n object-fit: cover;\n box-shadow: var(--shadow);\n}\n\n.portrait[data-style=\"tiny\"] .portrait-image {\n width: 50px;\n}\n\n.portrait[data-style=\"tiny\"] .portrait-role {\n display: none;\n}\n\n.portrait-text {\n display: flex;\n flex-direction: column;\n line-height: calc(var(--spacing) - 0.4);\n}\n\n.portrait-name {\n font-family: var(--heading);\n font-weight: var(--semi-bold);\n}\n\n.portrait-role .icon {\n position: absolute;\n left: 0;\n top: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 20%;\n aspect-ratio: 1 / 1;\n border-radius: 999px;\n background: var(--background);\n box-shadow: var(--shadow);\n transform: translate(14%, 14%);\n}\n\n.portrait[data-style=\"small\"] .portrait-role .icon {\n left: -2px;\n top: -2px;\n}\n"],"file":"portrait.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/post-excerpt.css b/preview/pr-3/_styles/post-excerpt.css new file mode 100644 index 00000000..cfccd68b --- /dev/null +++ b/preview/pr-3/_styles/post-excerpt.css @@ -0,0 +1,30 @@ +.post-excerpt { + display: flex; + flex-wrap: wrap; + gap: 20px; + margin: 20px 0; + padding: 20px 30px; + border-radius: var(--rounded); + background: var(--background); + text-align: left; + box-shadow: var(--shadow); +} + +.post-excerpt > * { + margin: 0 !important; +} + +.post-excerpt > a:first-child { + width: 100%; + font-weight: var(--semi-bold); +} + +.post-excerpt > div { + justify-content: flex-start; +} + +.post-excerpt > p { + width: 100%; +} + +/*# sourceMappingURL=post-excerpt.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/post-excerpt.css.map b/preview/pr-3/_styles/post-excerpt.css.map new file mode 100644 index 00000000..e2041f2c --- /dev/null +++ b/preview/pr-3/_styles/post-excerpt.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["post-excerpt.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":[".post-excerpt {\n display: flex;\n flex-wrap: wrap;\n gap: 20px;\n margin: 20px 0;\n padding: 20px 30px;\n border-radius: var(--rounded);\n background: var(--background);\n text-align: left;\n box-shadow: var(--shadow);\n}\n\n.post-excerpt > * {\n margin: 0 !important;\n}\n\n.post-excerpt > a:first-child {\n width: 100%;\n font-weight: var(--semi-bold);\n}\n\n.post-excerpt > div {\n justify-content: flex-start;\n}\n\n.post-excerpt > p {\n width: 100%;\n}\n"],"file":"post-excerpt.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/post-info.css b/preview/pr-3/_styles/post-info.css new file mode 100644 index 00000000..abb6b510 --- /dev/null +++ b/preview/pr-3/_styles/post-info.css @@ -0,0 +1,32 @@ +.post-info { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 20px; + margin: 20px 0; + color: var(--gray); +} + +.post-info .portrait { + margin: 0; +} + +.post-info .icon { + margin-right: 0.5em; +} + +.post-info a { + color: inherit; +} + +.post-info a:hover { + color: var(--primary); +} + +.post-info > span { + text-align: center; + white-space: nowrap; +} + +/*# sourceMappingURL=post-info.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/post-info.css.map b/preview/pr-3/_styles/post-info.css.map new file mode 100644 index 00000000..74c149ed --- /dev/null +++ b/preview/pr-3/_styles/post-info.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["post-info.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","sourcesContent":[".post-info {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n gap: 20px;\n margin: 20px 0;\n color: var(--gray);\n}\n\n.post-info .portrait {\n margin: 0;\n}\n\n.post-info .icon {\n margin-right: 0.5em;\n}\n\n.post-info a {\n color: inherit;\n}\n\n.post-info a:hover {\n color: var(--primary);\n}\n\n.post-info > span {\n text-align: center;\n white-space: nowrap;\n}\n"],"file":"post-info.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/post-nav.css b/preview/pr-3/_styles/post-nav.css new file mode 100644 index 00000000..fe210bb5 --- /dev/null +++ b/preview/pr-3/_styles/post-nav.css @@ -0,0 +1,36 @@ +.post-nav { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 10px; + color: var(--gray); + line-height: calc(var(--spacing) - 0.4); +} + +.post-nav > *:first-child { + text-align: left; +} + +.post-nav > *:last-child { + text-align: right; +} + +.post-nav > *:first-child .icon { + margin-right: 0.5em; +} + +.post-nav > *:last-child .icon { + margin-left: 0.5em; +} + +@media (max-width: 600px) { + .post-nav { + align-items: center; + flex-direction: column; + } + .post-nav > * { + text-align: center !important; + } +} + +/*# sourceMappingURL=post-nav.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/post-nav.css.map b/preview/pr-3/_styles/post-nav.css.map new file mode 100644 index 00000000..2ba6fba2 --- /dev/null +++ b/preview/pr-3/_styles/post-nav.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["post-nav.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE","sourcesContent":["$wrap: 600px;\n\n.post-nav {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 10px;\n color: var(--gray);\n line-height: calc(var(--spacing) - 0.4);\n}\n\n.post-nav > *:first-child {\n text-align: left;\n}\n\n.post-nav > *:last-child {\n text-align: right;\n}\n\n.post-nav > *:first-child .icon {\n margin-right: 0.5em;\n}\n\n.post-nav > *:last-child .icon {\n margin-left: 0.5em;\n}\n\n@media (max-width: $wrap) {\n .post-nav {\n align-items: center;\n flex-direction: column;\n }\n\n .post-nav > * {\n text-align: center !important;\n }\n}\n"],"file":"post-nav.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/quote.css b/preview/pr-3/_styles/quote.css new file mode 100644 index 00000000..456c767f --- /dev/null +++ b/preview/pr-3/_styles/quote.css @@ -0,0 +1,15 @@ +blockquote { + margin: 20px 0; + padding: 10px 20px; + border-left: solid 4px var(--light-gray); +} + +blockquote > *:first-child { + margin-top: 0; +} + +blockquote > *:last-child { + margin-bottom: 0; +} + +/*# sourceMappingURL=quote.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/quote.css.map b/preview/pr-3/_styles/quote.css.map new file mode 100644 index 00000000..2cc84a2b --- /dev/null +++ b/preview/pr-3/_styles/quote.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["quote.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":["blockquote {\n margin: 20px 0;\n padding: 10px 20px;\n border-left: solid 4px var(--light-gray);\n}\n\nblockquote > *:first-child {\n margin-top: 0;\n}\n\nblockquote > *:last-child {\n margin-bottom: 0;\n}\n"],"file":"quote.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/rule.css b/preview/pr-3/_styles/rule.css new file mode 100644 index 00000000..28ca0809 --- /dev/null +++ b/preview/pr-3/_styles/rule.css @@ -0,0 +1,8 @@ +hr { + margin: 40px 0; + background: var(--light-gray); + border: none; + height: 1px; +} + +/*# sourceMappingURL=rule.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/rule.css.map b/preview/pr-3/_styles/rule.css.map new file mode 100644 index 00000000..a955dd9f --- /dev/null +++ b/preview/pr-3/_styles/rule.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["rule.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA","sourcesContent":["hr {\n margin: 40px 0;\n background: var(--light-gray);\n border: none;\n height: 1px;\n}\n"],"file":"rule.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/search-box.css b/preview/pr-3/_styles/search-box.css new file mode 100644 index 00000000..9766e924 --- /dev/null +++ b/preview/pr-3/_styles/search-box.css @@ -0,0 +1,25 @@ +.search-box { + position: relative; + height: 40px; +} + +.search-box .search-input { + width: 100%; + height: 100%; + padding-right: 40px; +} + +.search-box button { + position: absolute; + inset: 0 0 0 auto; + display: flex; + justify-content: center; + align-items: center; + padding: 0; + aspect-ratio: 1/1; + background: none; + color: var(--black); + border: none; +} + +/*# sourceMappingURL=search-box.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/search-box.css.map b/preview/pr-3/_styles/search-box.css.map new file mode 100644 index 00000000..7d452743 --- /dev/null +++ b/preview/pr-3/_styles/search-box.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["search-box.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA","sourcesContent":[".search-box {\n position: relative;\n height: 40px;\n}\n\n.search-box .search-input {\n width: 100%;\n height: 100%;\n padding-right: 40px;\n}\n\n.search-box button {\n position: absolute;\n inset: 0 0 0 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n aspect-ratio: 1 / 1;\n background: none;\n color: var(--black);\n border: none;\n}\n"],"file":"search-box.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/search-info.css b/preview/pr-3/_styles/search-info.css new file mode 100644 index 00000000..e5c9a305 --- /dev/null +++ b/preview/pr-3/_styles/search-info.css @@ -0,0 +1,8 @@ +.search-info { + margin: 20px 0; + text-align: center; + font-style: italic; + line-height: var(--spacing); +} + +/*# sourceMappingURL=search-info.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/search-info.css.map b/preview/pr-3/_styles/search-info.css.map new file mode 100644 index 00000000..d825cee0 --- /dev/null +++ b/preview/pr-3/_styles/search-info.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["search-info.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA","sourcesContent":[".search-info {\n margin: 20px 0;\n text-align: center;\n font-style: italic;\n line-height: var(--spacing);\n}\n"],"file":"search-info.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/section.css b/preview/pr-3/_styles/section.css new file mode 100644 index 00000000..4b9c58bd --- /dev/null +++ b/preview/pr-3/_styles/section.css @@ -0,0 +1,35 @@ +section { + padding: 40px max(40px, (100% - 1000px) / 2); + transition-property: background, color; +} + +section[data-size=wide] { + padding: 40px; +} + +section[data-size=full] { + padding: 0; +} + +section[data-size=full] > * { + margin: 0; + border-radius: 0; +} + +section[data-size=full] img { + border-radius: 0; +} + +main > section:last-of-type { + flex-grow: 1; +} + +main > section:nth-of-type(odd) { + background: var(--background); +} + +main > section:nth-of-type(even) { + background: var(--background-alt); +} + +/*# sourceMappingURL=section.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/section.css.map b/preview/pr-3/_styles/section.css.map new file mode 100644 index 00000000..f6304679 --- /dev/null +++ b/preview/pr-3/_styles/section.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["section.scss"],"names":[],"mappings":"AAGA;EACE;EACA;;;AAGF;EACE,SARQ;;;AAWV;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":["$page: 1000px;\n$padding: 40px;\n\nsection {\n padding: $padding max($padding, calc((100% - $page) / 2));\n transition-property: background, color;\n}\n\nsection[data-size=\"wide\"] {\n padding: $padding;\n}\n\nsection[data-size=\"full\"] {\n padding: 0;\n}\n\nsection[data-size=\"full\"] > * {\n margin: 0;\n border-radius: 0;\n}\n\nsection[data-size=\"full\"] img {\n border-radius: 0;\n}\n\nmain > section:last-of-type {\n flex-grow: 1;\n}\n\nmain > section:nth-of-type(odd) {\n background: var(--background);\n}\n\nmain > section:nth-of-type(even) {\n background: var(--background-alt);\n}\n"],"file":"section.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/table.css b/preview/pr-3/_styles/table.css new file mode 100644 index 00000000..eb687ccb --- /dev/null +++ b/preview/pr-3/_styles/table.css @@ -0,0 +1,21 @@ +.table-wrapper { + margin: 40px 0; + overflow-x: auto; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} + +th { + font-weight: var(--semi-bold); +} + +th, +td { + padding: 10px 15px; + border: solid 1px var(--light-gray); +} + +/*# sourceMappingURL=table.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/table.css.map b/preview/pr-3/_styles/table.css.map new file mode 100644 index 00000000..25e08df6 --- /dev/null +++ b/preview/pr-3/_styles/table.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["table.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA","sourcesContent":[".table-wrapper {\n margin: 40px 0;\n overflow-x: auto;\n}\n\ntable {\n margin: 0 auto;\n border-collapse: collapse;\n}\n\nth {\n font-weight: var(--semi-bold);\n}\n\nth,\ntd {\n padding: 10px 15px;\n border: solid 1px var(--light-gray);\n}\n"],"file":"table.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/tags.css b/preview/pr-3/_styles/tags.css new file mode 100644 index 00000000..1225ba41 --- /dev/null +++ b/preview/pr-3/_styles/tags.css @@ -0,0 +1,33 @@ +.tags { + display: inline-flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 10px; + max-width: 100%; + margin: 20px 0; +} + +.tag { + max-width: 100%; + margin: 0; + padding: 5px 10px; + border-radius: 999px; + background: var(--secondary); + color: var(--text); + text-decoration: none; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + transition-property: background, color; +} + +.tag:hover { + background: var(--light-gray); +} + +.tag[data-active] { + background: var(--light-gray); +} + +/*# sourceMappingURL=tags.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/tags.css.map b/preview/pr-3/_styles/tags.css.map new file mode 100644 index 00000000..82c35319 --- /dev/null +++ b/preview/pr-3/_styles/tags.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["tags.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":[".tags {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n max-width: 100%;\n margin: 20px 0;\n}\n\n.tag {\n max-width: 100%;\n margin: 0;\n padding: 5px 10px;\n border-radius: 999px;\n background: var(--secondary);\n color: var(--text);\n text-decoration: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition-property: background, color;\n}\n\n.tag:hover {\n background: var(--light-gray);\n}\n\n.tag[data-active] {\n background: var(--light-gray);\n}\n"],"file":"tags.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/textbox.css b/preview/pr-3/_styles/textbox.css new file mode 100644 index 00000000..d35615b1 --- /dev/null +++ b/preview/pr-3/_styles/textbox.css @@ -0,0 +1,17 @@ +input[type=text] { + width: 100%; + height: 40px; + margin: 0; + padding: 5px 10px; + border: solid 1px var(--light-gray); + border-radius: var(--rounded); + background: var(--background); + color: var(--text); + font-family: inherit; + font-size: inherit; + -webkit-appearance: none; + appearance: none; + box-shadow: var(--shadow); +} + +/*# sourceMappingURL=textbox.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/textbox.css.map b/preview/pr-3/_styles/textbox.css.map new file mode 100644 index 00000000..9e46f918 --- /dev/null +++ b/preview/pr-3/_styles/textbox.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["textbox.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA","sourcesContent":["input[type=\"text\"] {\n width: 100%;\n height: 40px;\n margin: 0;\n padding: 5px 10px;\n border: solid 1px var(--light-gray);\n border-radius: var(--rounded);\n background: var(--background);\n color: var(--text);\n font-family: inherit;\n font-size: inherit;\n -webkit-appearance: none;\n appearance: none;\n box-shadow: var(--shadow);\n}\n"],"file":"textbox.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/tooltip.css b/preview/pr-3/_styles/tooltip.css new file mode 100644 index 00000000..28b590eb --- /dev/null +++ b/preview/pr-3/_styles/tooltip.css @@ -0,0 +1,72 @@ +.tippy-box { + background: var(--background); + color: var(--text); + padding: 7.5px; + text-align: left; + box-shadow: var(--shadow); +} + +.tippy-arrow { + width: 30px; + height: 30px; +} + +.tippy-arrow:before { + width: 10px; + height: 10px; + background: var(--background); + box-shadow: var(--shadow); +} + +.tippy-arrow { + overflow: hidden; + pointer-events: none; +} + +.tippy-box[data-placement=top] .tippy-arrow { + inset: unset; + top: 100%; +} + +.tippy-box[data-placement=bottom] .tippy-arrow { + inset: unset; + bottom: 100%; +} + +.tippy-box[data-placement=left] .tippy-arrow { + inset: unset; + left: 100%; +} + +.tippy-box[data-placement=right] .tippy-arrow { + inset: unset; + right: 100%; +} + +.tippy-arrow:before { + border: unset !important; + transform-origin: center !important; + transform: translate(-50%, -50%) rotate(45deg) !important; +} + +.tippy-box[data-placement=top] .tippy-arrow:before { + left: 50% !important; + top: 0 !important; +} + +.tippy-box[data-placement=bottom] .tippy-arrow:before { + left: 50% !important; + top: 100% !important; +} + +.tippy-box[data-placement=left] .tippy-arrow:before { + left: 0 !important; + top: 50% !important; +} + +.tippy-box[data-placement=right] .tippy-arrow:before { + left: 100% !important; + top: 50% !important; +} + +/*# sourceMappingURL=tooltip.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/tooltip.css.map b/preview/pr-3/_styles/tooltip.css.map new file mode 100644 index 00000000..6b52e915 --- /dev/null +++ b/preview/pr-3/_styles/tooltip.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["tooltip.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA","sourcesContent":[".tippy-box {\n background: var(--background);\n color: var(--text);\n padding: 7.5px;\n text-align: left;\n box-shadow: var(--shadow);\n}\n\n.tippy-arrow {\n width: 30px;\n height: 30px;\n}\n\n.tippy-arrow:before {\n width: 10px;\n height: 10px;\n background: var(--background);\n box-shadow: var(--shadow);\n}\n\n// correct tippy arrow styles to support intuitive arrow styles above\n.tippy-arrow {\n overflow: hidden;\n pointer-events: none;\n}\n.tippy-box[data-placement=\"top\"] .tippy-arrow {\n inset: unset;\n top: 100%;\n}\n.tippy-box[data-placement=\"bottom\"] .tippy-arrow {\n inset: unset;\n bottom: 100%;\n}\n.tippy-box[data-placement=\"left\"] .tippy-arrow {\n inset: unset;\n left: 100%;\n}\n.tippy-box[data-placement=\"right\"] .tippy-arrow {\n inset: unset;\n right: 100%;\n}\n.tippy-arrow:before {\n border: unset !important;\n transform-origin: center !important;\n transform: translate(-50%, -50%) rotate(45deg) !important;\n}\n.tippy-box[data-placement=\"top\"] .tippy-arrow:before {\n left: 50% !important;\n top: 0 !important;\n}\n.tippy-box[data-placement=\"bottom\"] .tippy-arrow:before {\n left: 50% !important;\n top: 100% !important;\n}\n.tippy-box[data-placement=\"left\"] .tippy-arrow:before {\n left: 0 !important;\n top: 50% !important;\n}\n.tippy-box[data-placement=\"right\"] .tippy-arrow:before {\n left: 100% !important;\n top: 50% !important;\n}\n"],"file":"tooltip.css"} \ No newline at end of file diff --git a/preview/pr-3/_styles/util.css b/preview/pr-3/_styles/util.css new file mode 100644 index 00000000..995ea77c --- /dev/null +++ b/preview/pr-3/_styles/util.css @@ -0,0 +1,13 @@ +.left { + text-align: left; +} + +.center { + text-align: center; +} + +.right { + text-align: right; +} + +/*# sourceMappingURL=util.css.map */ \ No newline at end of file diff --git a/preview/pr-3/_styles/util.css.map b/preview/pr-3/_styles/util.css.map new file mode 100644 index 00000000..c21a68d3 --- /dev/null +++ b/preview/pr-3/_styles/util.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["util.scss"],"names":[],"mappings":"AAAA;EACE;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":[".left {\n text-align: left;\n}\n\n.center {\n text-align: center;\n}\n\n.right {\n text-align: right;\n}\n"],"file":"util.css"} \ No newline at end of file diff --git a/preview/pr-3/blog/index.html b/preview/pr-3/blog/index.html new file mode 100644 index 00000000..3b482358 --- /dev/null +++ b/preview/pr-3/blog/index.html @@ -0,0 +1,815 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Blog | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Blog

+ +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+ + + + + +
+ + + + + + +
+ +

2023

+ +
+ + + Example post 3 + + + + + + + + + + + + + + + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +

+
+ +

2021

+ +
+ + + Example post 2 + + + + + + + + + + + + + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +

+
+ +

2019

+ +
+ + + Example post 1 + + + + + + + + + + + + + + + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +

+
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/contact/index.html b/preview/pr-3/contact/index.html new file mode 100644 index 00000000..2475d829 --- /dev/null +++ b/preview/pr-3/contact/index.html @@ -0,0 +1,644 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Contact | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Contact

+ +
+ +
+ + figure image + + +
+ + +
+ +

Barbara Werner
+Lab Manager
+Room 4.306
+Im Neuenheimer Feld 205
+69120 Heidelberg

+ + + + + + + +
+ + +
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/feed.xml b/preview/pr-3/feed.xml new file mode 100644 index 00000000..7f4c24d4 --- /dev/null +++ b/preview/pr-3/feed.xml @@ -0,0 +1 @@ +Jekyll2024-01-08T14:14:17+00:00/preview/pr-3/feed.xmlScientific AIDeveloping principled AI methods to solve hard problems from the natural sciences.Example post 32023-02-23T00:00:00+00:002024-01-08T14:11:05+00:00/preview/pr-3/2023/02/23/example-post-3Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

]]>
john-doe
Example post 22021-09-30T00:00:00+00:002024-01-08T14:11:05+00:00/preview/pr-3/2021/09/30/example-post-2Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

]]>
jane-smith
Example post 12019-01-07T00:00:00+00:002024-01-08T14:11:05+00:00/preview/pr-3/2019/01/07/example-post-1Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

]]>
sarah-johnson
\ No newline at end of file diff --git a/preview/pr-3/images/1811-group-outing.jpg b/preview/pr-3/images/1811-group-outing.jpg new file mode 100644 index 00000000..b6324193 Binary files /dev/null and b/preview/pr-3/images/1811-group-outing.jpg differ diff --git a/preview/pr-3/images/1811-group-outing_big.png b/preview/pr-3/images/1811-group-outing_big.png new file mode 100644 index 00000000..91e9864f Binary files /dev/null and b/preview/pr-3/images/1811-group-outing_big.png differ diff --git a/preview/pr-3/images/Cube_structure_based_on_nine_modules.jpg b/preview/pr-3/images/Cube_structure_based_on_nine_modules.jpg new file mode 100644 index 00000000..6e92cc14 Binary files /dev/null and b/preview/pr-3/images/Cube_structure_based_on_nine_modules.jpg differ diff --git a/preview/pr-3/images/Mathematikon-IWR-9_0.jpeg b/preview/pr-3/images/Mathematikon-IWR-9_0.jpeg new file mode 100644 index 00000000..8295358b Binary files /dev/null and b/preview/pr-3/images/Mathematikon-IWR-9_0.jpeg differ diff --git a/preview/pr-3/images/background.jpg b/preview/pr-3/images/background.jpg new file mode 100644 index 00000000..d6c670be Binary files /dev/null and b/preview/pr-3/images/background.jpg differ diff --git a/preview/pr-3/images/backgroundbck.jpg b/preview/pr-3/images/backgroundbck.jpg new file mode 100644 index 00000000..5b7c1461 Binary files /dev/null and b/preview/pr-3/images/backgroundbck.jpg differ diff --git a/preview/pr-3/images/backgroundlogomiddle.jpg b/preview/pr-3/images/backgroundlogomiddle.jpg new file mode 100644 index 00000000..53763bcf Binary files /dev/null and b/preview/pr-3/images/backgroundlogomiddle.jpg differ diff --git a/preview/pr-3/images/connectomics.jpg b/preview/pr-3/images/connectomics.jpg new file mode 100644 index 00000000..e273bc8e Binary files /dev/null and b/preview/pr-3/images/connectomics.jpg differ diff --git a/preview/pr-3/images/connectomics_bck.jpg b/preview/pr-3/images/connectomics_bck.jpg new file mode 100644 index 00000000..b2f53dce Binary files /dev/null and b/preview/pr-3/images/connectomics_bck.jpg differ diff --git a/preview/pr-3/images/density.JPG b/preview/pr-3/images/density.JPG new file mode 100644 index 00000000..97d19c40 Binary files /dev/null and b/preview/pr-3/images/density.JPG differ diff --git a/preview/pr-3/images/dummy.txt b/preview/pr-3/images/dummy.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/preview/pr-3/images/dummy.txt @@ -0,0 +1 @@ + diff --git a/preview/pr-3/images/fallback.svg b/preview/pr-3/images/fallback.svg new file mode 100644 index 00000000..ac12be23 --- /dev/null +++ b/preview/pr-3/images/fallback.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/preview/pr-3/images/icon-blue.png b/preview/pr-3/images/icon-blue.png new file mode 100644 index 00000000..774c4478 Binary files /dev/null and b/preview/pr-3/images/icon-blue.png differ diff --git a/preview/pr-3/images/icon.png b/preview/pr-3/images/icon.png new file mode 100644 index 00000000..ed4afee8 Binary files /dev/null and b/preview/pr-3/images/icon.png differ diff --git a/preview/pr-3/images/ilastik-logo.jpeg b/preview/pr-3/images/ilastik-logo.jpeg new file mode 100644 index 00000000..28f9d7e1 Binary files /dev/null and b/preview/pr-3/images/ilastik-logo.jpeg differ diff --git a/preview/pr-3/images/ilastik-logo.svg b/preview/pr-3/images/ilastik-logo.svg new file mode 100644 index 00000000..942eb3d5 --- /dev/null +++ b/preview/pr-3/images/ilastik-logo.svg @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/pr-3/images/iwr-schematic.svg b/preview/pr-3/images/iwr-schematic.svg new file mode 100644 index 00000000..b7ea193e --- /dev/null +++ b/preview/pr-3/images/iwr-schematic.svg @@ -0,0 +1,747 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/pr-3/images/iwr-schematic_bck.svg b/preview/pr-3/images/iwr-schematic_bck.svg new file mode 100644 index 00000000..61f9b438 --- /dev/null +++ b/preview/pr-3/images/iwr-schematic_bck.svg @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/preview/pr-3/images/jenn-02.jpg b/preview/pr-3/images/jenn-02.jpg new file mode 100644 index 00000000..ef9e1e64 Binary files /dev/null and b/preview/pr-3/images/jenn-02.jpg differ diff --git a/preview/pr-3/images/logo.svg b/preview/pr-3/images/logo.svg new file mode 100644 index 00000000..29fcd865 --- /dev/null +++ b/preview/pr-3/images/logo.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + diff --git a/preview/pr-3/images/ml-galore.jpg b/preview/pr-3/images/ml-galore.jpg new file mode 100644 index 00000000..1adf3dbc Binary files /dev/null and b/preview/pr-3/images/ml-galore.jpg differ diff --git a/preview/pr-3/images/network.jpg b/preview/pr-3/images/network.jpg new file mode 100644 index 00000000..d25ae3fb Binary files /dev/null and b/preview/pr-3/images/network.jpg differ diff --git a/preview/pr-3/images/photo.jpg b/preview/pr-3/images/photo.jpg new file mode 100644 index 00000000..691a9880 Binary files /dev/null and b/preview/pr-3/images/photo.jpg differ diff --git a/preview/pr-3/images/plantseg.png b/preview/pr-3/images/plantseg.png new file mode 100644 index 00000000..9229e7eb Binary files /dev/null and b/preview/pr-3/images/plantseg.png differ diff --git a/preview/pr-3/images/quantum-boat.png b/preview/pr-3/images/quantum-boat.png new file mode 100644 index 00000000..4f977b62 Binary files /dev/null and b/preview/pr-3/images/quantum-boat.png differ diff --git a/preview/pr-3/images/share.jpg b/preview/pr-3/images/share.jpg new file mode 100644 index 00000000..268a3410 Binary files /dev/null and b/preview/pr-3/images/share.jpg differ diff --git a/preview/pr-3/images/structures.jpg b/preview/pr-3/images/structures.jpg new file mode 100644 index 00000000..589c109b Binary files /dev/null and b/preview/pr-3/images/structures.jpg differ diff --git a/preview/pr-3/images/team/christof-gehrig.jpg b/preview/pr-3/images/team/christof-gehrig.jpg new file mode 100644 index 00000000..c51840e3 Binary files /dev/null and b/preview/pr-3/images/team/christof-gehrig.jpg differ diff --git a/preview/pr-3/images/team/dmitry-kobak.jpg b/preview/pr-3/images/team/dmitry-kobak.jpg new file mode 100644 index 00000000..d51bb142 Binary files /dev/null and b/preview/pr-3/images/team/dmitry-kobak.jpg differ diff --git a/preview/pr-3/images/team/dominik-geng.jpg b/preview/pr-3/images/team/dominik-geng.jpg new file mode 100644 index 00000000..7c382bb5 Binary files /dev/null and b/preview/pr-3/images/team/dominik-geng.jpg differ diff --git a/preview/pr-3/images/team/enrique-fita-sanmartin.jpeg b/preview/pr-3/images/team/enrique-fita-sanmartin.jpeg new file mode 100644 index 00000000..53568726 Binary files /dev/null and b/preview/pr-3/images/team/enrique-fita-sanmartin.jpeg differ diff --git a/preview/pr-3/images/team/finn-prem.jpg b/preview/pr-3/images/team/finn-prem.jpg new file mode 100644 index 00000000..c5820eaf Binary files /dev/null and b/preview/pr-3/images/team/finn-prem.jpg differ diff --git a/preview/pr-3/images/team/fred-hamprecht.jpg b/preview/pr-3/images/team/fred-hamprecht.jpg new file mode 100644 index 00000000..ada9a801 Binary files /dev/null and b/preview/pr-3/images/team/fred-hamprecht.jpg differ diff --git a/preview/pr-3/images/team/gerrit-gerhartz.jpg b/preview/pr-3/images/team/gerrit-gerhartz.jpg new file mode 100644 index 00000000..9850ed19 Binary files /dev/null and b/preview/pr-3/images/team/gerrit-gerhartz.jpg differ diff --git a/preview/pr-3/images/team/heinrich-campe.jpg b/preview/pr-3/images/team/heinrich-campe.jpg new file mode 100644 index 00000000..19caa054 Binary files /dev/null and b/preview/pr-3/images/team/heinrich-campe.jpg differ diff --git a/preview/pr-3/images/team/johannes-schmidt.jpeg b/preview/pr-3/images/team/johannes-schmidt.jpeg new file mode 100644 index 00000000..fa763687 Binary files /dev/null and b/preview/pr-3/images/team/johannes-schmidt.jpeg differ diff --git a/preview/pr-3/images/team/lennart-buerger.jpg b/preview/pr-3/images/team/lennart-buerger.jpg new file mode 100644 index 00000000..5fa220b0 Binary files /dev/null and b/preview/pr-3/images/team/lennart-buerger.jpg differ diff --git a/preview/pr-3/images/team/lorenzo-cerrone.jpg b/preview/pr-3/images/team/lorenzo-cerrone.jpg new file mode 100644 index 00000000..6c1d0122 Binary files /dev/null and b/preview/pr-3/images/team/lorenzo-cerrone.jpg differ diff --git a/preview/pr-3/images/team/manuel-klockow.jpg b/preview/pr-3/images/team/manuel-klockow.jpg new file mode 100644 index 00000000..510aa865 Binary files /dev/null and b/preview/pr-3/images/team/manuel-klockow.jpg differ diff --git a/preview/pr-3/images/team/marc-ickler.jpg b/preview/pr-3/images/team/marc-ickler.jpg new file mode 100644 index 00000000..747d7670 Binary files /dev/null and b/preview/pr-3/images/team/marc-ickler.jpg differ diff --git a/preview/pr-3/images/team/ocima-kamboj.jpg b/preview/pr-3/images/team/ocima-kamboj.jpg new file mode 100644 index 00000000..b0acdf3a Binary files /dev/null and b/preview/pr-3/images/team/ocima-kamboj.jpg differ diff --git a/preview/pr-3/images/team/peter_lippmann.jpg b/preview/pr-3/images/team/peter_lippmann.jpg new file mode 100644 index 00000000..051a337a Binary files /dev/null and b/preview/pr-3/images/team/peter_lippmann.jpg differ diff --git a/preview/pr-3/images/team/roman-remme.jpeg b/preview/pr-3/images/team/roman-remme.jpeg new file mode 100644 index 00000000..ead8de93 Binary files /dev/null and b/preview/pr-3/images/team/roman-remme.jpeg differ diff --git a/preview/pr-3/images/team/soeren-fetsch.jpg b/preview/pr-3/images/team/soeren-fetsch.jpg new file mode 100644 index 00000000..0acbcbde Binary files /dev/null and b/preview/pr-3/images/team/soeren-fetsch.jpg differ diff --git a/preview/pr-3/images/team/stefan-sander.jpg b/preview/pr-3/images/team/stefan-sander.jpg new file mode 100644 index 00000000..bde971b9 Binary files /dev/null and b/preview/pr-3/images/team/stefan-sander.jpg differ diff --git a/preview/pr-3/images/team/tim-ebert.jpeg b/preview/pr-3/images/team/tim-ebert.jpeg new file mode 100644 index 00000000..e0301d7e Binary files /dev/null and b/preview/pr-3/images/team/tim-ebert.jpeg differ diff --git a/preview/pr-3/index.html b/preview/pr-3/index.html new file mode 100644 index 00000000..54b40e13 --- /dev/null +++ b/preview/pr-3/index.html @@ -0,0 +1,710 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

Scientific AI

+ +

We develop principled AI methods to solve hard problems from the natural sciences. Our expertise are fundamental algorithms and their application to complex problems with spatial structure.

+
+ + + + + +
+ + +

Highlights

+ +
+ + Geometric Machine Learning in Quantum Chemistry + +
+ +

Geometric Machine Learning in Quantum Chemistry

+ + +

Predicting molecular properties is important for a huge range of problems, from biochemistry to drug development.

+ +

The most universal approach to such predictions relies on quantum mechanics. We aim to dramatically speed up these quantum calculations using machine learning methods that respect the fundamental symmetries of the problem.

+ + + + +
+
+ +
+ + Our Team + +
+ +

Our Team

+ + +

The team is everything! Our maxime: 1. Be Nice and 2. Do Great Science :-)

+ + + + +
+
+ +
+ + Our Network + +
+ +

Our Network

+ + +

We learn a lot from our colleagues! We are proud members of, and help shape the future of, our excellence cluster, our ellis unit and our department.

+ + +
+
+ +
+ + Home, Sweet Home + +
+ +

Home, Sweet Home

+ + +

IWR is a central institute of our university, and a fantastic place where scientists from maths, CS, physics and more meet to develop methods that address some of the hardest problems out there.

+ + +
+
+ +
+ + Machine Learning in Heidelberg + +
+ +

Machine Learning in Heidelberg

+ + +

Heidelberg is home to a vibrant ML community. The MLAI page is the portal to all talks and events in the area.

+ + + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/christof-gehrig.html b/preview/pr-3/members/christof-gehrig.html new file mode 100644 index 00000000..1a9b366b --- /dev/null +++ b/preview/pr-3/members/christof-gehrig.html @@ -0,0 +1,680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Christof Gehrig | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.328 + +
+
+ +
+
+ + +
+ + +

Christof Gehrig

+ +

I am a physics master’s student in the Scientific AI lab. Currently, I am working on the application of equivariant machine learning methods to the problem of density functional theory.

+ +

In addition to my studies, I also serve as a Teaching Assistant for the bachelor lecture “Einführung ins Maschinelle Lernen”. This position provides me the opportunity to assist other students in their learning process, while concurrently solidifying my own understanding of the topics.

+ +

When I’m not immersed in my studies, I enjoy staying active with swimming and biking. I also participate in a student choir and enjoy playing the piano.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/dmitry-kobak.html b/preview/pr-3/members/dmitry-kobak.html new file mode 100644 index 00000000..ef80a459 --- /dev/null +++ b/preview/pr-3/members/dmitry-kobak.html @@ -0,0 +1,699 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Dmitry Kobak | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.305 + +
+
+ +
+
+ + +
+ + +

Dmitry Kobak

+ +

From October 2023 to March 2024 I am a visiting professor (Vertretungsprofessor) taking over Fred Hamprecht’s teaching duties. I am teaching a BSc course Einführung ins Machinelle Lernen and a MSc seminar Transformers, large language models, and their use in physics.

+ +

Other then that, I am a research scientist and a group leader in the Berens lab at Tübingen University, Germany.

+ +

I am interested in self-supervised and unsupervised learning, in particular contrastive learning, manifold learning, and dimensionality reduction for 2D visualization of scientific datasets. I am working with image data, text data, graph data, and single-cell RNA-seq data in neuroscience contexts.

+ +

Please see my personal website https://dkobak.github.io for more details.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/dominik-geng.html b/preview/pr-3/members/dominik-geng.html new file mode 100644 index 00000000..9213cb52 --- /dev/null +++ b/preview/pr-3/members/dominik-geng.html @@ -0,0 +1,715 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Dominik Geng | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.308 + +
+
+ +
+
+ + +
+ + +

Dominik Geng

+ +

I am writing my Physics Master’s thesis in the Scientific AI lab. Since my Bachelor’s thesis in Stochastic Dynamics I developed a greater interest in Theoretical Physics, Differential Geometry and Machine Learning.

+ +

Currently, I am working on Machine Learning applications to Density Functional Theory. Generally, I am interested in the theoretical underpinnings of Machine Learning. That is, how can theory (Math, Physics, Chemistry, you name it) guide our understanding of and yield appropriate inductive biases for Machine Learning.

+ +

I previously studied and worked in Sport Sciences, aiming to understand how the human body moves, develops and adapts. Writing a thesis on energy conservation in human movement sparked my interest in Physics leading to my eventual switching of gears. The urge to understand the behavior of systems on a most fundamental level lead me from the human body to Physics and Machine Learning.
+The love for sports remains. Primarily, I am engaged in Brazilian Jiu-Jitsu and Boxing. My gentler side likes books (old), movies (semi-old), cooking (Italian) and my dog Chewie (cute).

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/enrique-fita.html b/preview/pr-3/members/enrique-fita.html new file mode 100644 index 00000000..430ad62b --- /dev/null +++ b/preview/pr-3/members/enrique-fita.html @@ -0,0 +1,679 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Enrique Fita Sanmartin | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.303 + +
+
+ +
+
+ + +
+ + +

Enrique Fita Sanmartín

+ +

I am a PhD student in Fred Hamprecht’s Scientific AI lab. Previously, I studied Mathematics at the University of Valencia and Scientific Computing at Heidelberg University. I am principally interested in the development and understanding of methods for the analysis of data (specifically modelled by graphs) with a well founded theory.

+ +

A list of my publications can be found here.

+ + + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/finn-prem.html b/preview/pr-3/members/finn-prem.html new file mode 100644 index 00000000..068ae487 --- /dev/null +++ b/preview/pr-3/members/finn-prem.html @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Finn Prem | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.305 + +
+
+ +
+
+ + +
+ + +

Finn Prem

+ +

In my current physics Bachelor’s thesis at the Scientific AI lab I’m working on better understanding the loss landscapes of dimension reduction techniques such as t-SNE and UMAP.

+ +

When I have the time I enjoy physical challenges of a different kind like bouldering, dancing and mountainbiking. Afterwards, I take delight in reading or playing the piano.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/fred-hamprecht.html b/preview/pr-3/members/fred-hamprecht.html new file mode 100644 index 00000000..967035ed --- /dev/null +++ b/preview/pr-3/members/fred-hamprecht.html @@ -0,0 +1,712 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Fred Hamprecht | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.312 + +
+
+ +
+
+ + +
+ + +

Fred Hamprecht

+ +

Hi!

+ +

I develop machine learning algorithms for complex problems endowed with spatial structure.

+ +

For twenty years, I had fun (and luckily some success) solving problems from image analysis. More recently, I have decided to dedicate myself entirely to the study of a long-standing problem from quantum chemistry: In the framewok of density functional theory, I try to learn the kinetic energy functional using, and expanding, the latest technology from geometric machine learning.

+ +

What has not changed is my love for methods that have a sound mathematical background such as combinatorial optimization or algebraic graph theory, while being widely applicable and useful in practice.

+ +

I enjoy, and feel most privileged, to be able to work on things unknown, and to teach the next generation of scientists and engineers. Luckily, I am blessed with a fantastic lab whose members happen to be both extremely gifted and nice.

+ +

I am proud that several former PhD students continue to serve in research and education, including

+ + + + + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/gerrit-gerhartz.html b/preview/pr-3/members/gerrit-gerhartz.html new file mode 100644 index 00000000..bbc1f0f3 --- /dev/null +++ b/preview/pr-3/members/gerrit-gerhartz.html @@ -0,0 +1,699 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Gerrit Gerhartz | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.327 + +
+
+ +
+
+ + +
+ + +

Gerrit Gerhartz

+ +

I am a master’s student in physics and currently working in the Scientific AI lab on the DFT project.

+ +

After I wrote my bachelor’s thesis in mathematical physics, where I researched the mathematical structure of the path integral in quantum mechanics, I discovered my passion for structural insight in the sciences. And what better tool to discover structures in data than machine learning?

+ +

My main interest lies in bridging the gap between the natural sciences and machine learning research, with the goal of using machine learning techniques to accelerate research and discover new facts about our physical world.

+ +

In my free time, I enjoy cooking and exploring food from all around the world. You will also find me playing video games, watching movies, and most importantly, engaging in never-ending discussions about them.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/heinrich-campe.html b/preview/pr-3/members/heinrich-campe.html new file mode 100644 index 00000000..89d9fa9d --- /dev/null +++ b/preview/pr-3/members/heinrich-campe.html @@ -0,0 +1,702 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Heinrich Campe | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 0.000 + +
+
+ +
+
+ + +
+ + +

Heinrich Campe

+ +

In the Scientific AI lab, I am a PhD student working with machine learning in +quantum chemistry, specifically the DFT project. Before this, I studied +information geometry and Bayesian inference for my Master’s thesis.

+ +

Including machine learning, I am interested in algorithms in general and how +the theoretical understanding of both their objectives and inner workings may +help us improve their performance.

+ +

My free time is mostly filled with music – I enjoy playing the piano both in +a classical and Jazz setting.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/johannes-schmidt.html b/preview/pr-3/members/johannes-schmidt.html new file mode 100644 index 00000000..99ff1973 --- /dev/null +++ b/preview/pr-3/members/johannes-schmidt.html @@ -0,0 +1,714 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Johannes Schmidt | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.328 + +
+
+ +
+
+ + +
+ + +

Johannes Schmidt

+ +

I am a Master student in the Scientific AI lab currently writing my Master’s thesis in physics. I did a dual Bachelor’s degree in physics and mathematics with a specialization on string theory and information theory.

+ +

In my Master’s thesis I am interested in machine learning architecture and theory. I am working on the density functional theory project.

+ +

In my free time I like to play ice hockey, go running or play chess. I am a huge coffee nerd, so on the weekend, you might have a high chance to meet me in a nice café.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/lorenzo-cerrone.html b/preview/pr-3/members/lorenzo-cerrone.html new file mode 100644 index 00000000..b87b43eb --- /dev/null +++ b/preview/pr-3/members/lorenzo-cerrone.html @@ -0,0 +1,703 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Lorenzo Cerrone | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.308 + +
+
+ +
+
+ + +
+ + +

Lorenzo Cerrone

+ +

Hi! I am Lorenzo, and I am currently a PostDoc in the sciAI lab! +I am passionate about applying advanced and principled machine learning techniques to solve real-world problems (at scale!).

+ +

My favorite playground is life sciences; I have worked on a variety of projects at the intersection of computer vision and biomedical research. To name some, I developed deep learning pipelines, for instance, segmentation using convolutional neural networks, cell detection and tracking using transformers, assembling large-scale datasets for bio-medical computer vision applications, generative models for synthetic training data generation, and cell/tissue classification using graph neural networks.

+ +

More about me

+

I studied Physics (bachelor’s in Rome Tor Vergata and master’s in Heidelberg). My old-time passions are chaotic dynamical systems and statistical mechanics.

+ +

I am not very good with languages, but my Python is better than my English! I love anything related to coding and trying new, exciting programming languages!

+ +

My big passions are Dogs, food, photography, and mountain bikes!

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/manuel-klockow.html b/preview/pr-3/members/manuel-klockow.html new file mode 100644 index 00000000..6737e3e1 --- /dev/null +++ b/preview/pr-3/members/manuel-klockow.html @@ -0,0 +1,680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Manuel Klockow | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.328 + +
+
+ +
+
+ + +
+ + +

Manuel Klockow

+ +

I am currently working on my physics master thesis in the Scientific AI lab. Before going to Heidelberg, I studied physics and computer science at TU Darmstadt and FSU Jena. My research interests include machine learning and its applications in physics, which is why I am currently working on applying equivariant machine learning to density functional theory.

+ +

In addition, I also have a deep interest in theoretical physics, which was my main focus next to machine learning during my studies.

+ +

In my free time I enjoy playing the guitar, reading and going for long walks. If I find the time, I also like to bind books from scratch.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/marc-ickler.html b/preview/pr-3/members/marc-ickler.html new file mode 100644 index 00000000..8a3215a8 --- /dev/null +++ b/preview/pr-3/members/marc-ickler.html @@ -0,0 +1,712 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Marc Ickler | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.303 + +
+
+ +
+
+ + +
+ + +

Marc Ickler

+ +

I am a physics PhD student in the Scientific AI lab. Before joining the group I studied physics in Heidelberg and did my master’s thesis on medical object detection. I am interested in quantum mechanics and applying neural networks to computational physics simulations. For my PhD, I am working on the orbital-free density functional theory project.

+ +

When I am not working, you might find me running or biking on the Heidelberger trails.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/ocima-kamboj.html b/preview/pr-3/members/ocima-kamboj.html new file mode 100644 index 00000000..21d2601f --- /dev/null +++ b/preview/pr-3/members/ocima-kamboj.html @@ -0,0 +1,683 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Ocima Kamboj | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.308 + +
+
+ +
+
+ + +
+ + +

Ocima Kamboj

+ +

I am a research assistant in Fred Hamprecht’s Scientific AI Lab. I am currently working on computational techniques for Single Cell Data Analysis. More broadly, I am interested in applying ML techniques to problems in Healthcare and Life Sciences.

+ +

I obtained my Master’s from the Computational and Data Sciences Department at the Indian Institute of Science, Bangalore in 2020. I worked under Dr. Phaneendra Yalavarthy in the Medical Imaging Group. +I did my Bachelor’s in Production and Industrial Engineering from the Indian Institute of Technology, Delhi (2013-2017).

+ +

I love listening to music and have been trained in Indian classical singing for a few years. I am also fond of playing guitar and have been trying to progress beyond the amateur level for years (someday it will happen)! +Another amateur pursuit of mine is Photography. +I can also have endless discussions on Lord of the Rings, Stormlight Archive, Wheel of Time, Fullmetal Alchemist, Code Geass… and the list goes on.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/peter-lippmann.html b/preview/pr-3/members/peter-lippmann.html new file mode 100644 index 00000000..7ce2f47e --- /dev/null +++ b/preview/pr-3/members/peter-lippmann.html @@ -0,0 +1,680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Peter Lippmann | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.310 + +
+
+ +
+
+ + +
+ + +

Peter Lippmann

+ +

I am a PhD student in Fred Hamprecht’s Image Analysis and Learning lab. Before, I have studied Physics at Heidelberg University and at Imperial College London. My research interests range from developing principled methods to analyze structured data (let there be graphs) to more applied problems, in particular 3D computer vision.

+ +

In my free time I love doing sports, riding my bike up the Heidelberg Hills or going bouldering. I sing in a student choir and always enjoy playing the guitar in the occasional jam session.

+ +

Feel free to get in touch with me or catch me in person at our weekly journal club where we come together to discuss the latest and the greatest in the machine learning paper jungle.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/roman-remme.html b/preview/pr-3/members/roman-remme.html new file mode 100644 index 00000000..9b3c0166 --- /dev/null +++ b/preview/pr-3/members/roman-remme.html @@ -0,0 +1,717 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Roman Remme | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.310 + +
+
+ +
+
+ + +
+ + +

Roman Remme

+ +

To me, an exiting aspect of machine learning research is how great ideas can be successfully applied in countless domains, +in particular other sciences. +As a member of the scientific AI lab, I had the chance to do so in a biological, technical and most recently chemical context:

+ +

Currently, my main research interest is geometric machine learning, particularly its application to molecular systems. +As one of the initial members of the orbital-free DFT project, I am exited to see how the team is growing and evolving.

+ +

In my free time, I enjoy climbing and origami.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/soeren-fetsch.html b/preview/pr-3/members/soeren-fetsch.html new file mode 100644 index 00000000..91164f97 --- /dev/null +++ b/preview/pr-3/members/soeren-fetsch.html @@ -0,0 +1,697 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Soeren Fetsch | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.308 + +
+
+ +
+
+ + +
+ + +

Soeren Fetsch

+ +

I am a physics Bachelor’s student in the Scientific AI lab. In my studies I am mostly interested +in computer physics and computer science. I am currently doing my Bachelor’s thesis with the topic of spatial statistics +on the distribution of neural stem cells.

+ +

In my free time I like to cook and test out new recipes. As a contrast to the long work on the computer I love to work out or have a run in the forest.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/stefan-sander.html b/preview/pr-3/members/stefan-sander.html new file mode 100644 index 00000000..8beda874 --- /dev/null +++ b/preview/pr-3/members/stefan-sander.html @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Stefan Sander | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.334 + +
+
+ +
+
+ + +
+ + +

Stefan Sander

+ +

I support the group by administering the workstations and servers. I am particularly interested in the group’s systems and tools, work processes and GreenIT.

+ +

When I’m not working on the computer, you’ll find me at the chessboard, on my bike or in the climbing gym.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/members/tim-ebert.html b/preview/pr-3/members/tim-ebert.html new file mode 100644 index 00000000..80cb19a3 --- /dev/null +++ b/preview/pr-3/members/tim-ebert.html @@ -0,0 +1,697 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Tim Ebert | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + + Room 4.301 + +
+
+ +
+
+ + +
+ + +

Tim Ebert

+ +

I am currently pursuing my master’s degree in physics at the Scientific AI Lab. For my master’s thesis, I contribute to a team focusing on the application of equivariant machine learning models to density functional theory. This approach has the potential to accelerate quantum chemical simulations.

+ +

Beyond my academic pursuits, I have a passion for teaching. This semester marks my fifth term as a tutor for theoretical physics, this time for theoretical physics III.

+ +

During my leisure time, I like to engage in various sports such as tennis, bouldering, and courses offered by the uni-sports program. Additionally, I find joy in hiking and cooking.

+ + + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-3/positions/index.html b/preview/pr-3/positions/index.html new file mode 100644 index 00000000..11d97575 --- /dev/null +++ b/preview/pr-3/positions/index.html @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Positions | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Positions

+
+ + + + + +
+ + +

PhD

+ + +

We offer a supportive environment, and MINT-minorities are welcome!

+
+ + + + + +
+ + +

BSc, MSc theses

+ +

BSc and MSc students are full team members and have a working place in the lab. Science is infinite (hence we always have a long list of open questions) but unfortunately lab space isn’t. As a consequence, we can only offer a finite number of theses at any one time.

+ +

Without exception, our thesis topics are connected to our own research, and by extension to things unknown. The ideal topic has a down-to-earth part (less exciting, but with very high chance of success) and a freestyle part (more difficult and higher risk, but also more exciting and with more space for creative contributions).

+ +

Besides the advising PI, most undergraduate students are also mentored by a PhD student in day to day work.

+ +

We try and find a good match between person and topic: To let you build on your strengths and experience, but also let you learn new things and give you space to grow. To apply, write to Fred Hamprecht with a short description of your interests plus CV and transcripts. MINT minorities (including female students and first-generation students) are particularly welcome!

+
+ + +
+ + + + + + + diff --git a/preview/pr-3/projects/index.html b/preview/pr-3/projects/index.html new file mode 100644 index 00000000..37cc942f --- /dev/null +++ b/preview/pr-3/projects/index.html @@ -0,0 +1,778 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Projects | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Projects

+
+ + + + + +
+ + +

Current focus

+ +
+ + Kinetic energy functional + + +
+ + + Kinetic energy functional + + + + + Making orbital-free density functional theory a reality + + + +

We work on making quantum chemical predictions with chemical accuracy, without orbitals and at a fraction of the cost.

+ + + + +
+
+
+ + + + + +
+ + +

Selected contributions

+ +
+ + ilastik + + +
+ + + ilastik + + + + + Interactive ML for biology + + + +

Now headed by Anna Kreshuk at EMBL, ilastik facilitates quantitative image analysis and has many users in biology.

+ + + + +
+
+ +
+ + Signed Graph Partitioning + + +
+ + + Signed Graph Partitioning + + + + + Fast heuristics for image analysis + + + +

One decade of work from exactly solving the multicut problem, to the fast mutex watershed and the generalized gasp heuristic.

+ + + + +
+
+ +
+ + PlantSeg + + +
+ + + PlantSeg + + + + + 3D instance segmentation + + + +

PlantSeg is a deep learning tool for cell instance segmentation tailored to the needs of plant biologists.

+ + + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/publications/index.html b/preview/pr-3/publications/index.html new file mode 100644 index 00000000..a798d0a7 --- /dev/null +++ b/preview/pr-3/publications/index.html @@ -0,0 +1,594 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Publications | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Publications

+ +

Most of our publications are found under +Fred’s Google Scholar Profile

+
+ + +
+ + + + + + + diff --git a/preview/pr-3/redirects.json b/preview/pr-3/redirects.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/preview/pr-3/redirects.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/preview/pr-3/research/index.html b/preview/pr-3/research/index.html new file mode 100644 index 00000000..d99ec2e6 --- /dev/null +++ b/preview/pr-3/research/index.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Research | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Research

+ +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+ + + + + +
+ + +

Highlighted

+ +
+ + + Open collaborative writing with Manubot + + + +
+ + + + + Open collaborative writing with Manubot + + +
+ Daniel S. Himmelstein, Vincent Rubinetti, David R. Slochower, Dongbo Hu, Venkat S. Malladi, Casey S. Greene, Anthony Gitter +
+ +
+ PLOS Computational Biology +   ·   + 04 Dec 2020 +   ·   + doi:10.1371/journal.pcbi.1007128 +
+ + + +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+ + + + + +
+ + +

All

+ + + +
+ +

2020

+ +
+ + + Open collaborative writing with Manubot + + + +
+ + + + + Open collaborative writing with Manubot + + +
+ Daniel S. Himmelstein, Vincent Rubinetti, David R. Slochower, Dongbo Hu, Venkat S. Malladi, Casey S. Greene, Anthony Gitter +
+ +
+ PLOS Computational Biology +   ·   + 04 Dec 2020 +   ·   + doi:10.1371/journal.pcbi.1007128 +
+ + + +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+ +
+ + + Constructing knowledge graphs and their biomedical applications + + + +
+ + + + + Constructing knowledge graphs and their biomedical applications + + +
+ David N. Nicholson, Casey S. Greene +
+ +
+ Computational and Structural Biotechnology Journal +   ·   + 01 Jan 2020 +   ·   + doi:10.1016/j.csbj.2020.05.017 +
+ + + + + + + + +
+
+ +

2018

+ +
+ + + Sci-Hub provides access to nearly all scholarly literature + + + +
+ + + + + Sci-Hub provides access to nearly all scholarly literature + + +
+ Daniel S Himmelstein, Ariel Rodriguez Romero, Jacob G Levernier, Thomas Anthony Munro, Stephen Reid McLaughlin, Bastian Greshake Tzovaras, Casey S Greene +
+ +
+ eLife +   ·   + 01 Mar 2018 +   ·   + doi:10.7554/eLife.32822 +
+ + + + + + + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/robots.txt b/preview/pr-3/robots.txt new file mode 100644 index 00000000..ef1c050c --- /dev/null +++ b/preview/pr-3/robots.txt @@ -0,0 +1 @@ +Sitemap: /preview/pr-3/sitemap.xml diff --git a/preview/pr-3/sitemap.xml b/preview/pr-3/sitemap.xml new file mode 100644 index 00000000..5f6c1a45 --- /dev/null +++ b/preview/pr-3/sitemap.xml @@ -0,0 +1,135 @@ + + + +/preview/pr-3/members/christof-gehrig.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/dmitry-kobak.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/dominik-geng.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/enrique-fita.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/finn-prem.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/fred-hamprecht.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/gerrit-gerhartz.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/heinrich-campe.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/johannes-schmidt.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/lorenzo-cerrone.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/manuel-klockow.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/marc-ickler.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/ocima-kamboj.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/peter-lippmann.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/roman-remme.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/soeren-fetsch.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/stefan-sander.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/members/tim-ebert.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/2019/01/07/example-post-1.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/2021/09/30/example-post-2.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/2023/02/23/example-post-3.html +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/research/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/teaching/23s/journal-club/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/teaching/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/positions/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/publications/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/blog/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/contact/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/projects/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/team/alumni/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/team/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/ +2024-01-08T14:11:05+00:00 + + +/preview/pr-3/teaching/video-lectures.html +2024-01-08T14:14:12+00:00 + + diff --git a/preview/pr-3/teaching/23s/journal-club/index.html b/preview/pr-3/teaching/23s/journal-club/index.html new file mode 100644 index 00000000..383052ed --- /dev/null +++ b/preview/pr-3/teaching/23s/journal-club/index.html @@ -0,0 +1,765 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Journal Club WS23 | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

Journal Club: Advanced Machine Learning

+ +

The Research Seminar: Advanced Machine Learning is a weekly reading group. The focus is on discussing current research papers and results in machine learning. The target audience is active researchers (postdocs, phd students and advanced master students) in the field who want to discuss and stay up to date with recent developments.

+ +

Contact Peter Lippmann (peter.lippmann [at] iwr.uni-heidelberg.de) for further details.

+ +

Next Seminar: 04.12.2023 in INF 205, SR 4.300 starting at 1:00pm
+Paper to be discussed:

+ +

Progress measures for grokking via mechanistic interpretability
+Neel Nanda, Lawrence Chan, Tom Lieberum, Jess Smith, Jacob Steinhardt
+https://arxiv.org/abs/2301.05217

+ +
+ +

Recently discussed papers:

+ +

27.11.23
+GraphCast: Learning skillful medium-range global weather forecasting
+Remi Lam, Alvaro Sanchez-Gonzalez, Matthew Willson et al.
+https://arxiv.org/abs/2212.12794

+ +

13.11.23
+Transformers are efficient hierarchical chemical graph learners
+Zihan Pengmei, Zimu Li, Chih-chan Tien, Risi Kondor, Aaron R. Dinner
+https://arxiv.org/abs/2310.01704

+ +

06.11.23
+Free-form Flows: Make Any Architecture a Normalizing Flow
+Felix Draxler, Sorrenson, Peter Rangi, Rousselot, Armand Louis Amedee, Zimmermann, Lea, Ullrich Köthe
+https://arxiv.org/abs/2310.16624

+ +

30.10.23
+Nougat: Neural Optical Understanding for Academic Documents
+Lukas Blecher, Guillem Cucurull, Thomas Scialom, Robert Stojnic
+https://arxiv.org/abs/2308.13418

+ +

23.10.23
+White-Box Transformers via Sparse Rate Reduction
+Yaodong Yu, Sam Buchanan, Druv Pai, Tianzhe Chu, Ziyang Wu, Shengbang Tong, Benjamin D. Haeffele, Yi Ma
+https://arxiv.org/abs/2306.01129

+ +

16.10.23
+Emergence of Segmentation with Minimalistic White-Box Transformers
+Yaodong Yu, Tianzhe Chu, Shengbang Tong, Ziyang Wu, Druv Pai, Sam Buchanan, Yi Ma
+https://arxiv.org/abs/2308.16271

+ +

09.10.23
+Large Language Models as Optimizers
+Chengrun Yang, Xuezhi Wang, Yifeng Lu, Hanxiao Liu, Quoc V. Le, Denny Zhou, Xinyun Chen
+https://arxiv.org/abs/2309.03409

+ +

02.10.23
+PointLLM: Empowering Large Language Models to Understand Point Clouds
+Runsen Xu, Xiaolong Wang, Tai Wang, Yilun Chen, Jiangmiao Pang, Dahua Lin
+https://arxiv.org/abs/2308.16911

+ +

25.09.23
+Loss of Plasticity in Deep Continual Learning
+Shibhansh Dohare, J. Fernando Hernandez-Garcia, Parash Rahman, Richard S. Sutton, A. Rupam Mahmood
+https://arxiv.org/abs/2306.13812

+ +

18.09.23
+Tuning Computer Vision Models With Task Rewards
+André Susano Pinto, Alexander Kolesnikov, Yuge Shi, Lucas Beyer, Xiaohua Zhai
+https://openreview.net/forum?id=zzOooeAqtT

+ +

11.09.23
+Deep Learning on Implicit Neural Representations of Shapes
+Luca De Luigi, Adriano Cardace, Riccardo Spezialetti, Pierluigi Zama Ramirez, Samuele Salti, Luigi Di Stefano
+https://arxiv.org/abs/2302.05438

+ +

28.08.23
+Equivariant Diffusion for Molecule Generation in 3D
+Emiel Hoogeboom, Victor Garcia Satorras, Clément Vignac, Max Welling
+https://arxiv.org/abs/2203.17003

+ +

21.08.23
+Fourier Neural Operator for Parametric Partial Differential Equations
+Zongyi Li, Nikola Kovachki, Kamyar Azizzadenesheli, Burigede Liu, Kaushik Bhattacharya, Andrew Stuart, Anima Anandkumar
+https://arxiv.org/abs/2010.08895

+ +

14.08.23
+Equivariant Architectures for Learning in Deep Weight Spaces
+Aviv Navon, Aviv Shamsian, Idan Achituve, Ethan Fetaya, Gal Chechik, Haggai Maron
+https://openreview.net/forum?id=SCU1xlr9Y4

+ +

07.08.23
+VectorAdam for Rotation Equivariant Geometry Optimization
+Selena Ling, Nicholas Sharp, Alec Jacobson
+https://openreview.net/forum?id=df1g_KeEjQ

+ +

31.07.23
+Adding Conditional Control to Text-to-Image Diffusion Models
+Lvmin Zhang and Maneesh Agrawala
+https://arxiv.org/pdf/2302.05543.pdf

+ +

24.07.23
+DeepSea: An efficient deep learning model for single-cell segmentation and tracking of time-lapse microscopy images
+Zargari, Abolfazl, et al.
+https://www.biorxiv.org/content/10.1101/2021.03.10.434806v2.abstract

+ +

17.07.23
+Track Anything: Segment Anything Meets Videos
+Jinyu Yang, Mingqi Gao, Zhe Li, Shang Gao, Fangjing Wang, Feng Zheng
+https://arxiv.org/abs/2304.11968

+ +

10.07.23
+Trans-Dimensional Generative Modeling via Jump Diffusion Models
+Andrew Campbell, William Harvey, Christian Weilbach, Valentin De Bortoli, Tom Rainforth, Arnaud Doucet
+https://arxiv.org/abs/2305.16261

+ +

03.07.23
+Scaling Transformer to 1M tokens and beyond with RMT
+Aydar Bulatov, Yuri Kuratov, Mikhail S. Burtsev
+https://arxiv.org/abs/2304.11062

+ +

26.06.23
+Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold
+Xingang Pan, Ayush Tewari, Thomas Leimkühler, Lingjie Liu, Abhimitra Meka, Christian Theobalt
+https://arxiv.org/abs/2305.10973

+ +

19.06.23
+Seeing is Believing: Brain-Inspired Modular Training for Mechanistic Interpretability
+Ziming Liu, Eric Gan, Max Tegmark
+https://arxiv.org/abs/2305.08746

+ +

12.06.23
+Supervised Training of Conditional Monge Maps
+Charlotte Bunne, Andreas Krause, Marco Cuturi
+https://arxiv.org/abs/2206.14262

+ +

05.06.23
+Causal Reasoning and Large Language Models: Opening a New Frontier for Causality
+Emre Kıcıman, Robert Ness, Amit Sharma, Chenhao Tan
+https://arxiv.org/abs/2305.00050

+ +

22.05.23
+How Attentive are Graph Attention Networks?
+Shaked Brody, Uri Alon, Eran Yahav
+https://arxiv.org/abs/2105.14491

+ +

15.05.23 +Sparks of Artificial General Intelligence: Early experiments with GPT-4
+Sébastien Bubeck, Varun Chandrasekaran, Ronen Eldan et al
+https://arxiv.org/abs/2303.12712

+ +

08.05.23 +Discrete Variational Autoencoders
+Jason Tyler Rolfe
+https://arxiv.org/abs/1609.02200

+ +

24.04.23
+Is the Performance of My Deep Network Too Good to Be True? A Direct Approach to Estimating the Bayes Error in Binary Classification
+Takashi Ishida, Ikko Yamane, Nontawat Charoenphakdee, Gang Niu, Masashi Sugiyama
+https://openreview.net/forum?id=FZdJQgy05rz

+ +

17.04.23
+Image as Set of Points
+Xu Ma, Yuqian Zhou, Huan Wang, Can Qin, Bin Sun, Chang Liu, Yun Fu
+https://openreview.net/forum?id=awnvqZja69

+ +

03.04.23
+Advancing mathematics by guiding human intuition with AI
+Davies, A., Veličković, P., Buesing, L., Blackwell, S., Zheng, D., Tomašev, N., … & Kohli, P
+https://www.nature.com/articles/s41586-021-04086-x

+ +

27.03.23
+DreamFusion: Text-to-3D using 2D Diffusion
+Ben Poole, Ajay Jain, Jonathan T. Barron, Ben Mildenhall
+https://openreview.net/forum?id=FjNys5c7VyY

+ +

20.03.23 +Flow Matching for Generative Modeling
+Yaron Lipman, Ricky T. Q. Chen, Heli Ben-Hamu, Maximilian Nickel, Matt Le
+https://arxiv.org/pdf/2210.02747.pdf

+
+ + +
+ + + + + + + diff --git a/preview/pr-3/teaching/index.html b/preview/pr-3/teaching/index.html new file mode 100644 index 00000000..8aefdf18 --- /dev/null +++ b/preview/pr-3/teaching/index.html @@ -0,0 +1,951 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Teaching | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Teaching

+ +

Summer semester 2024

+ + + +

Winter semester 2023

+ + +
+ + + + + +
+ + +

Video lectures

+ +
+

Computer Vision: Foundations (Summer Term 2020)

+ + + + +
+ +
+

Machine Learning (Winter Term 2019)

+ + + +
+ +
+

Machine Learning for Computer Vision (Winter Term 2017)

+ + + + +
+ +
+

Pattern Recognition (Summer Term 2012)

+ + Full playlist on youtube. +

1 Introduction

+ +

2 Correlation measures, Gaussian Models

+ +

3 Dimensionality Reduction

+ +

4 Neural Networks

+ +

5 Support Vector Machines

+ +

6 Kernels, Random Forest

+ +

7 Regression

+ +

8 Gaussian Processes

+ +

9 Unsupervised Learning

+ +

10 Directed Graphical Models

+ +

11 Optimization

+ +

12 Structured Learning

+ +
+ +
+

Image Analysis (Summer Term 2013 / 2015).

+ + Full playlist on youtube, including some added material (scroll to last entries). +

1 Introduction

+ + +

2 Patches in Image Analysis

+ + +

3 Fourier Transformation

+ + +

4 Wavelets

+ + +

5 Images as Topographic Maps

+ + +

6 Gaussian Random Fields

+ + +

7 Fields of Experts, Discrete MRFs

+ + +

8 Binary pairwise MRFs and Graph Cut

+ + +

9 Structured learning

+ + +

10 Light Fields and Compressive Sensing

+ +
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/teaching/video-lectures.html b/preview/pr-3/teaching/video-lectures.html new file mode 100644 index 00000000..393ddaf6 --- /dev/null +++ b/preview/pr-3/teaching/video-lectures.html @@ -0,0 +1,331 @@ +
+

Computer Vision: Foundations (Summer Term 2020)

+ + {% assign link = "https://www.youtube.com/playlist?list=PLuRaSnb3n4kRAbnmiyGd77hyoGzO9wPde" %} + + +
+ + +
+

Machine Learning (Winter Term 2019)

+ + {% assign link = "https://www.youtube.com/playlist?list=PLuRaSnb3n4kTOLHk3a2ySNujmjan_AcZ1" %} + +
+ + +
+

Machine Learning for Computer Vision (Winter Term 2017)

+ + {% assign link = "https://www.youtube.com/playlist?list=PLuRaSnb3n4kSQFyt8VBldsQ9pO9Xtu8rY" %} + + +
+ + +
+

Pattern Recognition (Summer Term 2012)

+ + Full playlist on youtube. +

1 Introduction

+ +

2 Correlation measures, Gaussian Models

+ +

3 Dimensionality Reduction

+ +

4 Neural Networks

+ +

5 Support Vector Machines

+ +

6 Kernels, Random Forest

+ +

7 Regression

+ +

8 Gaussian Processes

+ +

9 Unsupervised Learning

+ +

10 Directed Graphical Models

+ +

11 Optimization

+ +

12 Structured Learning

+ +
+ + +
+

Image Analysis (Summer Term 2013 / 2015).

+ + Full playlist on youtube, including some added material (scroll to last entries). +

1 Introduction

+ + +

2 Patches in Image Analysis

+ + +

3 Fourier Transformation

+ + +

4 Wavelets

+ + +

5 Images as Topographic Maps

+ + +

6 Gaussian Random Fields

+ + +

7 Fields of Experts, Discrete MRFs

+ + +

8 Binary pairwise MRFs and Graph Cut

+ + +

9 Structured learning

+ + +

10 Light Fields and Compressive Sensing

+ +
+ diff --git a/preview/pr-3/team/alumni/index.html b/preview/pr-3/team/alumni/index.html new file mode 100644 index 00000000..a02e3141 --- /dev/null +++ b/preview/pr-3/team/alumni/index.html @@ -0,0 +1,606 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Alumni | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Alumni

+ +
+ + + + + + + + + + + + +
NameRole
Fahimeh MoafianPostdoctoral Researcher
+
+ + +
+ + + + + + + diff --git a/preview/pr-3/team/index.html b/preview/pr-3/team/index.html new file mode 100644 index 00000000..3cbc4066 --- /dev/null +++ b/preview/pr-3/team/index.html @@ -0,0 +1,1080 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Team | Scientific AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Scientific AI + + + Hamprecht Lab, IWR, Heidelberg University + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Team

+ +

We are physicists, mathematicians, computer scientists and engineers, united by the 💗 for science. One of us originally studied languages, and one is a chemist gone astray.

+ +
+ + 2018 CE + + +
+ 2018 CE + +
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Members who don’t have a member page yet

+ +
+ + + + + + + + + + + + +
NameRole
Lennart BürgerMSc Student
+ +

Alumni

+ + +
+ + +
+ + + + + + +