diff --git a/2019/01/07/example-post-1.html b/2019/01/07/example-post-1.html index 411ec2e..503b2f4 100644 --- a/2019/01/07/example-post-1.html +++ b/2019/01/07/example-post-1.html @@ -62,10 +62,10 @@ - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+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/contact/index.html b/contact/index.html index 4a51071..8d24465 100644 --- a/contact/index.html +++ b/contact/index.html @@ -410,6 +410,12 @@ + + Blog + + + + Contact @@ -536,37 +542,6 @@

dark: true; size: 1; --> - -
- - -
- -
- - -
- -
- - -
- -
- -
diff --git a/feed.xml b/feed.xml index b26858b..59dcaaf 100644 --- a/feed.xml +++ b/feed.xml @@ -1 +1 @@ -Jekyll2024-01-01T18:39:56+00:00/feed.xmlDashnow LabThis is the website for the Dashnow Lab. We do computational genomics in the Department of Biomedical Informatics at the University of Colorado Anschutz Medical Campus.Example post 32023-02-23T00:00:00+00:002024-01-01T18:32:51+00:00/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-01T18:32:51+00:00/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-01T18:32:51+00:00/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 +Jekyll2024-01-02T19:02:55+00:00/feed.xmlDashnow LabThis is the website for the Dashnow Lab. We do computational genomics in the Department of Biomedical Informatics at the University of Colorado Anschutz Medical Campus.Example post 32023-02-23T00:00:00+00:002024-01-02T19:02:09+00:00/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-02T19:02:09+00:00/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-02T19:02:09+00:00/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/images/Data-Interlocking.png b/images/Data-Interlocking.png new file mode 100644 index 0000000..236ea4d Binary files /dev/null and b/images/Data-Interlocking.png differ diff --git a/images/ejhg2017123f1.jpg b/images/ejhg2017123f1.jpg new file mode 100644 index 0000000..e654a5b Binary files /dev/null and b/images/ejhg2017123f1.jpg differ diff --git a/images/elegantscipy-cover.jpg b/images/elegantscipy-cover.jpg new file mode 100644 index 0000000..a4935d1 Binary files /dev/null and b/images/elegantscipy-cover.jpg differ diff --git a/index.html b/index.html index de6f2bc..eb5f849 100644 --- a/index.html +++ b/index.html @@ -410,6 +410,12 @@ + + Blog + + + + Contact @@ -470,7 +476,7 @@

Highlights

- Our Research + Our Research
@@ -492,7 +498,7 @@

Highlights

- Our Projects and Software + Our Projects and Software
@@ -514,7 +520,7 @@

Highlights

- Our Team + Our Team
diff --git a/members/harriet-dashnow.html b/members/harriet-dashnow.html index a045e17..b6ad800 100644 --- a/members/harriet-dashnow.html +++ b/members/harriet-dashnow.html @@ -358,6 +358,12 @@ + + Blog + + + + Contact diff --git a/members/jane-smith.html b/members/jane-smith.html new file mode 100644 index 0000000..6c0883d --- /dev/null +++ b/members/jane-smith.html @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jane Smith | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Faucibus purus in massa tempor nec feugiat nisl pretium fusce. +Elit at imperdiet dui accumsan. +Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. +Vitae elementum curabitur vitae nunc sed velit dignissim sodales. +Lacinia at quis risus sed vulputate odio ut. +Magna eget est lorem ipsum.

+ + + + + + +

+ + Search for Jane Smith's papers on the Research page + +

+ + + + +
+ + +
+ + + + + + + diff --git a/members/john-doe.html b/members/john-doe.html new file mode 100644 index 0000000..5b8eec2 --- /dev/null +++ b/members/john-doe.html @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +John Doe | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + + +

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

+ + + + + + +

+ + Search for John Doe's papers on the Research page + +

+ + + + +
+ + +
+ + + + + + + diff --git a/members/laurel-hiatt.html b/members/laurel-hiatt.html index 6ee065f..32fba97 100644 --- a/members/laurel-hiatt.html +++ b/members/laurel-hiatt.html @@ -358,6 +358,12 @@ + + Blog + + + + Contact diff --git a/members/sarah-johnson.html b/members/sarah-johnson.html new file mode 100644 index 0000000..0a88f0a --- /dev/null +++ b/members/sarah-johnson.html @@ -0,0 +1,592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sarah Johnson | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + + +

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

+ + + + + + +

+ + Search for Sarah Johnson's papers on the Research page + +

+ + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-2/2019/01/07/example-post-1.html b/preview/pr-2/2019/01/07/example-post-1.html new file mode 100644 index 0000000..e4924ed --- /dev/null +++ b/preview/pr-2/2019/01/07/example-post-1.html @@ -0,0 +1,596 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Example post 1 | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

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-2/2021/09/30/example-post-2.html b/preview/pr-2/2021/09/30/example-post-2.html new file mode 100644 index 0000000..5cc0cdd --- /dev/null +++ b/preview/pr-2/2021/09/30/example-post-2.html @@ -0,0 +1,581 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Example post 2 | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

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-2/2023/02/23/example-post-3.html b/preview/pr-2/2023/02/23/example-post-3.html new file mode 100644 index 0000000..26256bd --- /dev/null +++ b/preview/pr-2/2023/02/23/example-post-3.html @@ -0,0 +1,592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Example post 3 | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

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-2/404.html b/preview/pr-2/404.html new file mode 100644 index 0000000..e47f793 --- /dev/null +++ b/preview/pr-2/404.html @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +404 | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+ Page Not Found

+ +

Try searching the whole site for the content you want:

+ +
+ + +
+
+ + +
+ + + + + + + diff --git a/preview/pr-2/CHANGELOG.md b/preview/pr-2/CHANGELOG.md new file mode 100644 index 0000000..29fc0fc --- /dev/null +++ b/preview/pr-2/CHANGELOG.md @@ -0,0 +1,122 @@ +# Changelog + +Reference: common-changelog.org + +## 1.1.5 - 2023-05-19 + +### Changes + +- Fix ORCID plugin bug and other cite process tweaks. + +## 1.1.4 - 2023-04-28 + +### Changed + +- Fix ORCID plugin and other cite process bugs. + +## 1.1.3 - 2023-04-20 + +### Changed + +- Fix first-time-setup mv bug. +- Fix citation, float, and portrait component CSS. +- Filter and trim citation info fields. + +## 1.1.2 - 2023-04-11 + +### Changed + +- Fix first-time-setup rm bug. + +## 1.1.1 - 2023-04-06 + +### Changed + +- Change member profile page from col layout to float. +- Fix first time setup. Preserve config formatting and comments. +- Improve Docker cite process behavior. +- Fix post excerpt component start/end markers and special search attr chars. +- Fix misc CSS. + +### Added + +- Add show-title and show-subtitle site config options. +- Include site subtitle in description meta tag. +- Add user pull request template. +- Add title and link fallbacks to citation component. + +## 1.1.0 - 2023-03-17 + +Add alert component, Docker support, accessibility fixes. + +### Changed + +- Fix Lighthouse accessibility issues. +- De-href components when link isn't provided (no hand cursor icon on hover or nav on click). +- In search script, limit highlights by total count instead of char length. +- Grid and link style tweaks. +- Take ORCID icon from Font Awesome. +- Misc bug fixes in tags script, float component. + +### Added + +- Add Docker configuration and scripts for local previewing. +- Add alert component and types. +- Role icon in portrait component hoisted to top left. + +## 1.0.0 - 2023-02-28 + +First official release. + +High-level comparison with pre-releases: + +- Simpler configuration. +- More automation, less setup. +- More customization and flexibility. +- Redesigned components. +- New docs. +- Complete rewrite. +- Culmination of years of feedback. + +### Changed + +- Template is no longer limited to GitHub Pages white-listed Jekyll plugins. Any plugins possible. +- Pull request previews happen right within GitHub instead of needing Netlify. +- Better versioning. `CITATION.cff` file now source of truth for version, and tags/releases enforced. +- Citation-related files in `/_data` must now be named prefixed with the cite plugin they are to be run with, e.g. `sources-2020.yaml` or `orcid-students.yaml`. +- Folder renames for clarity and for better separation of template and user content: `/auto-cite` → `/_cite`, `/css` → `/_styles`, `/js` → `/_scripts`. +- Rename "Tools" page to "Projects" to be more clear and general purpose. +- Rename `extra-links` to `buttons` in `sources.yaml` files. +- Rename `theme.scss` to `-theme.scss`. +- Rename/repurpose components: link → button, two-col → cols, gallery → grid. +- Combine "link" and "role" data lists into single `types.yaml` map. +- Redesign components, change parameters and behavior. +- Update Font Awesome icon names from v5 to v6. +- Change placeholder text, images, and other images. +- Use CSS variables instead of Sass variables. +- Simplify caching method in cite process. +- Simplify Liquid code by including custom Ruby plugins. +- Simplify styles and scripts. + +### Added + +- New docs at greene-lab.gitbook.io/lab-website-template-docs. +- Add automations for first time setup and URL change. +- Write PubMed and Google Scholar automatic citation plugins. +- Automatic citations through GitHub Actions should now work from (most) forks. +- Add optional description and type params for citations. +- Add periodic cite process run that opens a pull request. +- List component filters can now accept arbitrary regex. +- Add light/dark mode toggle. +- Pre-install selection of useful Jekyll plugins, namely Jekyll Spaceship. +- Add author portrait and updated date for blog posts. +- Add richer metadata for SEO. +- Google Fonts link determined automatically from theme file. + +### Removed + +- Remove options from `_config.yaml` to simplify configuration: `baseurl`, `auto-cite`, `logo`. +- Remove `/favicons` folder, hardcode files for logo, icon, and share in `/images`. +- Remove `palettes.scss` and `mixins.scss`. +- Remove banner component (same thing can be achieved with full width section and figure components). +- Remove role component. Combine with portrait component. diff --git a/preview/pr-2/CNAME b/preview/pr-2/CNAME new file mode 100644 index 0000000..b400f2e --- /dev/null +++ b/preview/pr-2/CNAME @@ -0,0 +1 @@ +dashnowlab.org \ No newline at end of file diff --git a/preview/pr-2/_scripts/anchors.js b/preview/pr-2/_scripts/anchors.js new file mode 100644 index 0000000..904edf9 --- /dev/null +++ b/preview/pr-2/_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-2/_scripts/dark-mode.js b/preview/pr-2/_scripts/dark-mode.js new file mode 100644 index 0000000..b0124d9 --- /dev/null +++ b/preview/pr-2/_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-2/_scripts/fetch-tags.js b/preview/pr-2/_scripts/fetch-tags.js new file mode 100644 index 0000000..c843b67 --- /dev/null +++ b/preview/pr-2/_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-2/_scripts/search.js b/preview/pr-2/_scripts/search.js new file mode 100644 index 0000000..fa23ca4 --- /dev/null +++ b/preview/pr-2/_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-2/_scripts/site-search.js b/preview/pr-2/_scripts/site-search.js new file mode 100644 index 0000000..caff0a6 --- /dev/null +++ b/preview/pr-2/_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-2/_scripts/tooltip.js b/preview/pr-2/_scripts/tooltip.js new file mode 100644 index 0000000..49eccfc --- /dev/null +++ b/preview/pr-2/_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-2/_styles/-theme.css b/preview/pr-2/_styles/-theme.css new file mode 100644 index 0000000..069c3c0 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/-theme.css.map b/preview/pr-2/_styles/-theme.css.map new file mode 100644 index 0000000..dfb068c --- /dev/null +++ b/preview/pr-2/_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-2/_styles/alert.css b/preview/pr-2/_styles/alert.css new file mode 100644 index 0000000..a270c6f --- /dev/null +++ b/preview/pr-2/_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-2/_styles/alert.css.map b/preview/pr-2/_styles/alert.css.map new file mode 100644 index 0000000..f34316b --- /dev/null +++ b/preview/pr-2/_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-2/_styles/all.css b/preview/pr-2/_styles/all.css new file mode 100644 index 0000000..9b786fb --- /dev/null +++ b/preview/pr-2/_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-2/_styles/all.css.map b/preview/pr-2/_styles/all.css.map new file mode 100644 index 0000000..f73c054 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/anchor.css b/preview/pr-2/_styles/anchor.css new file mode 100644 index 0000000..a0c3402 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/anchor.css.map b/preview/pr-2/_styles/anchor.css.map new file mode 100644 index 0000000..060a453 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/background.css b/preview/pr-2/_styles/background.css new file mode 100644 index 0000000..025e56a --- /dev/null +++ b/preview/pr-2/_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-2/_styles/background.css.map b/preview/pr-2/_styles/background.css.map new file mode 100644 index 0000000..b655d9e --- /dev/null +++ b/preview/pr-2/_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-2/_styles/body.css b/preview/pr-2/_styles/body.css new file mode 100644 index 0000000..7287261 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/body.css.map b/preview/pr-2/_styles/body.css.map new file mode 100644 index 0000000..5fc5586 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/bold.css b/preview/pr-2/_styles/bold.css new file mode 100644 index 0000000..94a711f --- /dev/null +++ b/preview/pr-2/_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-2/_styles/bold.css.map b/preview/pr-2/_styles/bold.css.map new file mode 100644 index 0000000..57012fd --- /dev/null +++ b/preview/pr-2/_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-2/_styles/button.css b/preview/pr-2/_styles/button.css new file mode 100644 index 0000000..505da8b --- /dev/null +++ b/preview/pr-2/_styles/button.css @@ -0,0 +1,50 @@ +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-flip] { + flex-direction: row-reverse; +} + +/*# sourceMappingURL=button.css.map */ \ No newline at end of file diff --git a/preview/pr-2/_styles/button.css.map b/preview/pr-2/_styles/button.css.map new file mode 100644 index 0000000..351a5ae --- /dev/null +++ b/preview/pr-2/_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","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-flip] {\n flex-direction: row-reverse;\n}\n"],"file":"button.css"} \ No newline at end of file diff --git a/preview/pr-2/_styles/card.css b/preview/pr-2/_styles/card.css new file mode 100644 index 0000000..49e24a5 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/card.css.map b/preview/pr-2/_styles/card.css.map new file mode 100644 index 0000000..da57e99 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/checkbox.css b/preview/pr-2/_styles/checkbox.css new file mode 100644 index 0000000..8c77dc5 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/checkbox.css.map b/preview/pr-2/_styles/checkbox.css.map new file mode 100644 index 0000000..90fb493 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/citation.css b/preview/pr-2/_styles/citation.css new file mode 100644 index 0000000..e2303ac --- /dev/null +++ b/preview/pr-2/_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-2/_styles/citation.css.map b/preview/pr-2/_styles/citation.css.map new file mode 100644 index 0000000..af40c89 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/code.css b/preview/pr-2/_styles/code.css new file mode 100644 index 0000000..a8077f4 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/code.css.map b/preview/pr-2/_styles/code.css.map new file mode 100644 index 0000000..048eb76 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/cols.css b/preview/pr-2/_styles/cols.css new file mode 100644 index 0000000..13dfb6e --- /dev/null +++ b/preview/pr-2/_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-2/_styles/cols.css.map b/preview/pr-2/_styles/cols.css.map new file mode 100644 index 0000000..488b827 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/dark-toggle.css b/preview/pr-2/_styles/dark-toggle.css new file mode 100644 index 0000000..daedc5d --- /dev/null +++ b/preview/pr-2/_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-2/_styles/dark-toggle.css.map b/preview/pr-2/_styles/dark-toggle.css.map new file mode 100644 index 0000000..88294f0 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/feature.css b/preview/pr-2/_styles/feature.css new file mode 100644 index 0000000..a2d72f6 --- /dev/null +++ b/preview/pr-2/_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: unset; + max-width: 400px; + } +} + +/*# sourceMappingURL=feature.css.map */ \ No newline at end of file diff --git a/preview/pr-2/_styles/feature.css.map b/preview/pr-2/_styles/feature.css.map new file mode 100644 index 0000000..60e3d53 --- /dev/null +++ b/preview/pr-2/_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: unset;\n max-width: calc($wrap / 2);\n }\n}\n"],"file":"feature.css"} \ No newline at end of file diff --git a/preview/pr-2/_styles/figure.css b/preview/pr-2/_styles/figure.css new file mode 100644 index 0000000..9558938 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/figure.css.map b/preview/pr-2/_styles/figure.css.map new file mode 100644 index 0000000..4d62fcf --- /dev/null +++ b/preview/pr-2/_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-2/_styles/float.css b/preview/pr-2/_styles/float.css new file mode 100644 index 0000000..c91b46e --- /dev/null +++ b/preview/pr-2/_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-2/_styles/float.css.map b/preview/pr-2/_styles/float.css.map new file mode 100644 index 0000000..42c53e0 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/font.css b/preview/pr-2/_styles/font.css new file mode 100644 index 0000000..c40e155 --- /dev/null +++ b/preview/pr-2/_styles/font.css @@ -0,0 +1,3 @@ +@font-face {} + +/*# sourceMappingURL=font.css.map */ \ No newline at end of file diff --git a/preview/pr-2/_styles/font.css.map b/preview/pr-2/_styles/font.css.map new file mode 100644 index 0000000..e1d56c0 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/footer.css b/preview/pr-2/_styles/footer.css new file mode 100644 index 0000000..a85b907 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/footer.css.map b/preview/pr-2/_styles/footer.css.map new file mode 100644 index 0000000..61ae117 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/form.css b/preview/pr-2/_styles/form.css new file mode 100644 index 0000000..7611459 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/form.css.map b/preview/pr-2/_styles/form.css.map new file mode 100644 index 0000000..65939cb --- /dev/null +++ b/preview/pr-2/_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-2/_styles/grid.css b/preview/pr-2/_styles/grid.css new file mode 100644 index 0000000..3931eb2 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/grid.css.map b/preview/pr-2/_styles/grid.css.map new file mode 100644 index 0000000..7baeedc --- /dev/null +++ b/preview/pr-2/_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-2/_styles/header.css b/preview/pr-2/_styles/header.css new file mode 100644 index 0000000..5a33d4d --- /dev/null +++ b/preview/pr-2/_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-2/_styles/header.css.map b/preview/pr-2/_styles/header.css.map new file mode 100644 index 0000000..d919aa5 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/heading.css b/preview/pr-2/_styles/heading.css new file mode 100644 index 0000000..41ce7c1 --- /dev/null +++ b/preview/pr-2/_styles/heading.css @@ -0,0 +1,47 @@ +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); +} + +/*# sourceMappingURL=heading.css.map */ \ No newline at end of file diff --git a/preview/pr-2/_styles/heading.css.map b/preview/pr-2/_styles/heading.css.map new file mode 100644 index 0000000..95d4210 --- /dev/null +++ b/preview/pr-2/_styles/heading.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["heading.scss"],"names":[],"mappings":"AAAA;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","sourcesContent":["h1,\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"],"file":"heading.css"} \ No newline at end of file diff --git a/preview/pr-2/_styles/highlight.css b/preview/pr-2/_styles/highlight.css new file mode 100644 index 0000000..a8cf7d3 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/highlight.css.map b/preview/pr-2/_styles/highlight.css.map new file mode 100644 index 0000000..957ceb1 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/icon.css b/preview/pr-2/_styles/icon.css new file mode 100644 index 0000000..ab61327 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/icon.css.map b/preview/pr-2/_styles/icon.css.map new file mode 100644 index 0000000..2229868 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/image.css b/preview/pr-2/_styles/image.css new file mode 100644 index 0000000..70340d3 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/image.css.map b/preview/pr-2/_styles/image.css.map new file mode 100644 index 0000000..e88ec45 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/link.css b/preview/pr-2/_styles/link.css new file mode 100644 index 0000000..a20e40b --- /dev/null +++ b/preview/pr-2/_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-2/_styles/link.css.map b/preview/pr-2/_styles/link.css.map new file mode 100644 index 0000000..976b37f --- /dev/null +++ b/preview/pr-2/_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-2/_styles/list.css b/preview/pr-2/_styles/list.css new file mode 100644 index 0000000..02a7cf1 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/list.css.map b/preview/pr-2/_styles/list.css.map new file mode 100644 index 0000000..38fb1e5 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/main.css b/preview/pr-2/_styles/main.css new file mode 100644 index 0000000..f72eb0d --- /dev/null +++ b/preview/pr-2/_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-2/_styles/main.css.map b/preview/pr-2/_styles/main.css.map new file mode 100644 index 0000000..a2a0fa8 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/paragraph.css b/preview/pr-2/_styles/paragraph.css new file mode 100644 index 0000000..7e46c39 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/paragraph.css.map b/preview/pr-2/_styles/paragraph.css.map new file mode 100644 index 0000000..7eb50a6 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/portrait.css b/preview/pr-2/_styles/portrait.css new file mode 100644 index 0000000..f9b31a1 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/portrait.css.map b/preview/pr-2/_styles/portrait.css.map new file mode 100644 index 0000000..c3d5789 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/post-excerpt.css b/preview/pr-2/_styles/post-excerpt.css new file mode 100644 index 0000000..cfccd68 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/post-excerpt.css.map b/preview/pr-2/_styles/post-excerpt.css.map new file mode 100644 index 0000000..e2041f2 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/post-info.css b/preview/pr-2/_styles/post-info.css new file mode 100644 index 0000000..abb6b51 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/post-info.css.map b/preview/pr-2/_styles/post-info.css.map new file mode 100644 index 0000000..74c149e --- /dev/null +++ b/preview/pr-2/_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-2/_styles/post-nav.css b/preview/pr-2/_styles/post-nav.css new file mode 100644 index 0000000..fe210bb --- /dev/null +++ b/preview/pr-2/_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-2/_styles/post-nav.css.map b/preview/pr-2/_styles/post-nav.css.map new file mode 100644 index 0000000..2ba6fba --- /dev/null +++ b/preview/pr-2/_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-2/_styles/quote.css b/preview/pr-2/_styles/quote.css new file mode 100644 index 0000000..456c767 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/quote.css.map b/preview/pr-2/_styles/quote.css.map new file mode 100644 index 0000000..2cc84a2 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/rule.css b/preview/pr-2/_styles/rule.css new file mode 100644 index 0000000..28ca080 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/rule.css.map b/preview/pr-2/_styles/rule.css.map new file mode 100644 index 0000000..a955dd9 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/search-box.css b/preview/pr-2/_styles/search-box.css new file mode 100644 index 0000000..9766e92 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/search-box.css.map b/preview/pr-2/_styles/search-box.css.map new file mode 100644 index 0000000..7d45274 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/search-info.css b/preview/pr-2/_styles/search-info.css new file mode 100644 index 0000000..e5c9a30 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/search-info.css.map b/preview/pr-2/_styles/search-info.css.map new file mode 100644 index 0000000..d825cee --- /dev/null +++ b/preview/pr-2/_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-2/_styles/section.css b/preview/pr-2/_styles/section.css new file mode 100644 index 0000000..4b9c58b --- /dev/null +++ b/preview/pr-2/_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-2/_styles/section.css.map b/preview/pr-2/_styles/section.css.map new file mode 100644 index 0000000..f630467 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/table.css b/preview/pr-2/_styles/table.css new file mode 100644 index 0000000..eb687cc --- /dev/null +++ b/preview/pr-2/_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-2/_styles/table.css.map b/preview/pr-2/_styles/table.css.map new file mode 100644 index 0000000..25e08df --- /dev/null +++ b/preview/pr-2/_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-2/_styles/tags.css b/preview/pr-2/_styles/tags.css new file mode 100644 index 0000000..1225ba4 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/tags.css.map b/preview/pr-2/_styles/tags.css.map new file mode 100644 index 0000000..82c3531 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/textbox.css b/preview/pr-2/_styles/textbox.css new file mode 100644 index 0000000..d35615b --- /dev/null +++ b/preview/pr-2/_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-2/_styles/textbox.css.map b/preview/pr-2/_styles/textbox.css.map new file mode 100644 index 0000000..9e46f91 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/tooltip.css b/preview/pr-2/_styles/tooltip.css new file mode 100644 index 0000000..28b590e --- /dev/null +++ b/preview/pr-2/_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-2/_styles/tooltip.css.map b/preview/pr-2/_styles/tooltip.css.map new file mode 100644 index 0000000..6b52e91 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/util.css b/preview/pr-2/_styles/util.css new file mode 100644 index 0000000..995ea77 --- /dev/null +++ b/preview/pr-2/_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-2/_styles/util.css.map b/preview/pr-2/_styles/util.css.map new file mode 100644 index 0000000..c21a68d --- /dev/null +++ b/preview/pr-2/_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-2/contact/index.html b/preview/pr-2/contact/index.html new file mode 100644 index 0000000..abffdcb --- /dev/null +++ b/preview/pr-2/contact/index.html @@ -0,0 +1,676 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Contact | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Contact

+ + + + + + + + +
+ + + + + +
+ + +
+ + +
+
+ + CU Department of Biomedical Informatics + + +
+ CU Department of Biomedical Informatics + +
+ +
+ +
+ + +
+
+ + Biomedical Informatics PhD Programs + + +
+ Biomedical Informatics PhD Programs + +
+ +
+ +
+ +
+
+ + + + + +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+
+ + +
+ + + + + + + diff --git a/preview/pr-2/feed.xml b/preview/pr-2/feed.xml new file mode 100644 index 0000000..94261a5 --- /dev/null +++ b/preview/pr-2/feed.xml @@ -0,0 +1 @@ +Jekyll2024-01-01T19:21:23+00:00/preview/pr-2/feed.xmlDashnow LabThis is the website for the Dashnow Lab. We do computational genomics in the Department of Biomedical Informatics at the University of Colorado Anschutz Medical Campus.Example post 32023-02-23T00:00:00+00:002024-01-01T19:18:37+00:00/preview/pr-2/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-01T19:18:37+00:00/preview/pr-2/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-01T19:18:37+00:00/preview/pr-2/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-2/images/DBMIbuilding.jpg b/preview/pr-2/images/DBMIbuilding.jpg new file mode 100644 index 0000000..369ae2f Binary files /dev/null and b/preview/pr-2/images/DBMIbuilding.jpg differ diff --git a/preview/pr-2/images/HiattHeadshot.jpg b/preview/pr-2/images/HiattHeadshot.jpg new file mode 100644 index 0000000..6507db4 Binary files /dev/null and b/preview/pr-2/images/HiattHeadshot.jpg differ diff --git a/preview/pr-2/images/README.md b/preview/pr-2/images/README.md new file mode 100644 index 0000000..8f1a31c --- /dev/null +++ b/preview/pr-2/images/README.md @@ -0,0 +1 @@ +mountains.jpg edited from https://www.flickr.com/photos/195041916@N08/51903154081/ diff --git a/preview/pr-2/images/STRchive-page.png b/preview/pr-2/images/STRchive-page.png new file mode 100644 index 0000000..57a3a2f Binary files /dev/null and b/preview/pr-2/images/STRchive-page.png differ diff --git a/preview/pr-2/images/STRchive.jpg b/preview/pr-2/images/STRchive.jpg new file mode 100644 index 0000000..ee5292c Binary files /dev/null and b/preview/pr-2/images/STRchive.jpg differ diff --git a/preview/pr-2/images/STRetch.jpg b/preview/pr-2/images/STRetch.jpg new file mode 100644 index 0000000..8cf6ed9 Binary files /dev/null and b/preview/pr-2/images/STRetch.jpg differ diff --git a/preview/pr-2/images/STRling.jpg b/preview/pr-2/images/STRling.jpg new file mode 100644 index 0000000..d5ee6dc Binary files /dev/null and b/preview/pr-2/images/STRling.jpg differ diff --git a/preview/pr-2/images/TRGT.jpg b/preview/pr-2/images/TRGT.jpg new file mode 100644 index 0000000..cccd368 Binary files /dev/null and b/preview/pr-2/images/TRGT.jpg differ diff --git a/preview/pr-2/images/background.jpg b/preview/pr-2/images/background.jpg new file mode 100644 index 0000000..5b7c146 Binary files /dev/null and b/preview/pr-2/images/background.jpg differ diff --git a/preview/pr-2/images/classroom.jpg b/preview/pr-2/images/classroom.jpg new file mode 100644 index 0000000..7b5427d Binary files /dev/null and b/preview/pr-2/images/classroom.jpg differ diff --git a/preview/pr-2/images/fallback.svg b/preview/pr-2/images/fallback.svg new file mode 100644 index 0000000..ac12be2 --- /dev/null +++ b/preview/pr-2/images/fallback.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/preview/pr-2/images/harriet-dashnow.jpg b/preview/pr-2/images/harriet-dashnow.jpg new file mode 100755 index 0000000..a7cea85 Binary files /dev/null and b/preview/pr-2/images/harriet-dashnow.jpg differ diff --git a/preview/pr-2/images/icon.png b/preview/pr-2/images/icon.png new file mode 100644 index 0000000..4595b70 Binary files /dev/null and b/preview/pr-2/images/icon.png differ diff --git a/preview/pr-2/images/logo.gif b/preview/pr-2/images/logo.gif new file mode 100644 index 0000000..14e17df Binary files /dev/null and b/preview/pr-2/images/logo.gif differ diff --git a/preview/pr-2/images/logo.svg b/preview/pr-2/images/logo.svg new file mode 100644 index 0000000..131fa7e --- /dev/null +++ b/preview/pr-2/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/pr-2/images/mountains.jpg b/preview/pr-2/images/mountains.jpg new file mode 100644 index 0000000..c1d25c0 Binary files /dev/null and b/preview/pr-2/images/mountains.jpg differ diff --git a/preview/pr-2/images/photo.jpg b/preview/pr-2/images/photo.jpg new file mode 100644 index 0000000..691a988 Binary files /dev/null and b/preview/pr-2/images/photo.jpg differ diff --git a/preview/pr-2/images/share.jpg b/preview/pr-2/images/share.jpg new file mode 100644 index 0000000..268a341 Binary files /dev/null and b/preview/pr-2/images/share.jpg differ diff --git a/preview/pr-2/images/software.png b/preview/pr-2/images/software.png new file mode 100644 index 0000000..724e3ff Binary files /dev/null and b/preview/pr-2/images/software.png differ diff --git a/preview/pr-2/index.html b/preview/pr-2/index.html new file mode 100644 index 0000000..1db000b --- /dev/null +++ b/preview/pr-2/index.html @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

The Dashnow Lab launches July 2024!

+ +

We are a computational genomics lab at the University of Colorado, Department of Biomedical Informatics.

+ +

We are currently recruiting postdocs, staff scientists and students. If you’re passionate about rare disease genomics and computational method development, please get in touch!

+ +

Welcome to the Dashnow Lab

+ +

We develop and apply computational methods for the diagnosis and discovery of the genetic basis of rare diseases. The lab has a special emphasis on Short Tandem Repeats and other hard-to-genotype variants.

+ +

Typically ~50% of individuals with rare diseases do not receive a genetic diagnosis. For many of these individuals, the causal variant lies in difficult-to-genotype repetitive regions, often variants or genes that have not yet been associated with a disease. Often the evidence for the variant is present in the sequencing data but is either not genotyped, filtered out as an error, or dismissed because it is difficult to interpret. We develop bioinformatic methods to close this gap in genomic analysis. Our research has the potential to transform lives by giving individuals and their families answers and hope for treatment after a long diagnostic odyssey.

+ +

We develop world-class computational methods and apply them at scale to current and emerging sequencing technologies. We focus on understanding the errors and biases in sequencing technologies and use this to inform bioinformatics software. We aim to produce state-of-the-art software that will enable the wider scientific community. We collaborate locally, nationally, and internationally to link +patients with relevant expertise and to perform genomics at scale.

+
+ + + + + +
+ + +

Highlights

+ +
+ + Our Research + +
+ +

Our Research

+ + + + + +
+
+ +
+ + Our Projects and Software + +
+ +

Our Projects and Software

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

Our Team

+ + + + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-2/members/harriet-dashnow.html b/preview/pr-2/members/harriet-dashnow.html new file mode 100644 index 0000000..7afc305 --- /dev/null +++ b/preview/pr-2/members/harriet-dashnow.html @@ -0,0 +1,589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Harriet Dashnow (she/her) | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + + +

Harriet Dashnow did her postdoc in the Quinlan Lab at the University of Utah. She did her PhD research in the Oshlack Lab at the Murdoch Children’s Research Institute and the University of Melbourne, Australia. She is best known for her work in detecting STR expansions, and has also published bioinformatic methods for clinical exome sequencing and microbial gene detection.

+ +

Harriet obtained a Bachelor of Arts (Psychology), a Bachelor of Science (Genetics, Biochemistry and Molecular Biology) and a Master of Science (Bioinformatics) with Dean’s Honours from the University of Melbourne in Australia. She currently holds a K99/R00 from NHGRI.

+ + + + + + + +

+ + Search for Harriet Dashnow (she/her)'s papers on the Research page + +

+ + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-2/members/laurel-hiatt.html b/preview/pr-2/members/laurel-hiatt.html new file mode 100644 index 0000000..65ff108 --- /dev/null +++ b/preview/pr-2/members/laurel-hiatt.html @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Laurel Hiatt (they/he) | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + + + + + + + + + +

+ + Search for Laurel Hiatt (they/he)'s papers on the Research page + +

+ + + + +
+ + +
+ + + + + + + diff --git a/preview/pr-2/projects/index.html b/preview/pr-2/projects/index.html new file mode 100644 index 0000000..bbac928 --- /dev/null +++ b/preview/pr-2/projects/index.html @@ -0,0 +1,752 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Projects | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Projects

+ + +
+
+ + + + + +
+ + + + +
+ + STRchive + + +
+ + + STRchive + + + + + Short Tandem Repeat Archive (pronouced "S-T-archive") + + + +

A database of STRs associated with disease in humans.

+ + + + + + + + + + + +
+
+ +
+ + TRGT + + +
+ + + TRGT + + + + + Tandem Repeat Genotyping Tool (pronounced "target") + + + +

TRGT genotypes tandem repeats from PacBio HiFi long read data and visualizes them with TRVZ.

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

More

+ +
+ + STRling + + +
+ + + STRling + + + + + A computational method to call short tandem repeat expansions at known and novel loci (pronounced "sterling"). + + + +

STRling can detect novel expansions where there is no STR in the reference genome, or an alternate motif.

+ + + + + + + + + + + +
+
+ +
+ + STRretch + + +
+ + + STRretch + + + + + A computational method to detecting short tandem repeat expansions from short-read sequencing data. + + + +

STRling can detect novel expansions where there is no STR in the reference genome, or an alternate motif.

+ + + + + + + + + + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-2/redirects.json b/preview/pr-2/redirects.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/preview/pr-2/redirects.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/preview/pr-2/research/index.html b/preview/pr-2/research/index.html new file mode 100644 index 0000000..0f8918e --- /dev/null +++ b/preview/pr-2/research/index.html @@ -0,0 +1,1302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Research | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

+Research

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

Highlighted

+ +
+ + + Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + + +
+ + + + + Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 14 May 2023 +   ·   + doi:10.1101/2023.05.12.540470 +
+ + + +
+ TRGT genotypes tandem repeats from PacBio HiFi long read data and visualizes them with TRVZ. + +
+ + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+ + + + + +
+ + +

All

+ + + +
+ +

2023

+ +
+ + + Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + + +
+ + + + + Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 14 May 2023 +   ·   + doi:10.1101/2023.05.12.540470 +
+ + + +
+ TRGT genotypes tandem repeats from PacBio HiFi long read data and visualizes them with TRVZ. + +
+ + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+ +

2022

+ +
+ + + STRling: a k-mer counting approach that detects short tandem repeat expansions at known and novel loci + + + +
+ + + + + STRling: a k-mer counting approach that detects short tandem repeat expansions at known and novel loci + + +
+ Harriet Dashnow, Brent S. Pedersen, Laurel Hiatt, Joe Brown, Sarah J. Beecroft, ..., Miriam J. Rodrigues, Mark Davis, Heather C. Mefford, Nigel G. Laing, Aaron R. Quinlan +
+ +
+ Genome Biology +   ·   + 14 Dec 2022 +   ·   + doi:10.1186/s13059-022-02826-4 +
+ + + + + + + + + + + + + + + +
+
+ +

2021

+ +
+ + + Effective variant filtering and expected candidate variant yield in studies of rare human disease + + + +
+ + + + + Effective variant filtering and expected candidate variant yield in studies of rare human disease + + +
+ Brent S. Pedersen, Joe M. Brown, Harriet Dashnow, Amelia D. Wallace, Matt Velinder, ..., Tatiana Tvrdik, Rong Mao, D. Hunter Best, Pinar Bayrak-Toydemir, Aaron R. Quinlan +
+ +
+ npj Genomic Medicine +   ·   + 15 Jul 2021 +   ·   + doi:10.1038/s41525-021-00227-3 +
+ + + + + + + + +
+
+ +

2019

+ +
+ + + Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software + + + +
+ + + + + Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software + + +
+ Peter Georgeson, Anna Syme, Clare Sloggett, Jessica Chung, Harriet Dashnow, Michael Milton, Andrew Lonsdale, David Powell, Torsten Seemann, Bernard Pope +
+ +
+ GigaScience +   ·   + 01 Sep 2019 +   ·   + doi:10.1093/gigascience/giz109 +
+ + + + + + + + +
+
+ +
+ + + Elegant SciPy + + + +
+ + + + + Elegant SciPy + + +
+ [no author info] +
+ +
+ O'Reilly Media, Inc. +   ·   + 01 Aug 2019 +   ·   + : +
+ + + + + + + + +
+
+ +
+ + + Pooled-parent exome sequencing to prioritise <i>de novo</i> variants in genetic disease + + + +
+ + + + + Pooled-parent exome sequencing to prioritise de novo variants in genetic disease + + +
+ Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 07 Apr 2019 +   ·   + doi:10.1101/601740 +
+ + + + + + + + +
+
+ +

2018

+ +
+ + + STRetch: detecting and discovering pathogenic short tandem repeat expansions + + + +
+ + + + + STRetch: detecting and discovering pathogenic short tandem repeat expansions + + +
+ Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack +
+ +
+ Genome Biology +   ·   + 21 Aug 2018 +   ·   + doi:10.1186/s13059-018-1505-2 +
+ + + + + + + + +
+
+ +

2017

+ +
+ + + A clinically driven variant prioritization framework outperforms purely computational approaches for the diagnostic analysis of singleton WES data + + + +
+ + + + + A clinically driven variant prioritization framework outperforms purely computational approaches for the diagnostic analysis of singleton WES data + + +
+ Zornitza Stark, Harriet Dashnow, Sebastian Lunke, Tiong Y Tan, Alison Yeung, ..., Ivan Macciocca, Clara Gaff, Alicia Oshlack, Susan M White, Paul A James +
+ +
+ European Journal of Human Genetics +   ·   + 23 Aug 2017 +   ·   + doi:10.1038/ejhg.2017.123 +
+ + + + + + + + +
+
+ +

2016

+ +
+ + + Ten Simple Rules for a Bioinformatics Journal Club + + + +
+ + + + + Ten Simple Rules for a Bioinformatics Journal Club + + +
+ Andrew Lonsdale, Jocelyn Sietsma Penington, Timothy Rice, Michael Walker, Harriet Dashnow +
+ +
+ PLOS Computational Biology +   ·   + 28 Jan 2016 +   ·   + doi:10.1371/journal.pcbi.1004526 +
+ + + + + + + + +
+
+ +

2015

+ +
+ + + Cpipe: a shared variant detection pipeline designed for diagnostic settings + + + +
+ + + + + Cpipe: a shared variant detection pipeline designed for diagnostic settings + + +
+ Simon P. Sadedin, Harriet Dashnow, Paul A. James, Melanie Bahlo, Denis C. Bauer, ..., Susan M. White, Graham Taylor, Clara Gaff, Alicia Oshlack, Natalie P. Thorne +
+ +
+ Genome Medicine +   ·   + 10 Jul 2015 +   ·   + doi:10.1186/s13073-015-0191-x +
+ + + + + + + + +
+
+ +

2014

+ +
+ + + Data Interlocking: Coupling Analytics to the Data + + + +
+ + + + + Data Interlocking: Coupling Analytics to the Data + + +
+ Yousef Kowsar, Harriet Dashnow, Andrew Lonie +
+ +
+ 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing +   ·   + 01 Dec 2014 +   ·   + doi:10.1109/ucc.2014.113 +
+ + + + + + + + +
+
+ +
+ + + SRST2: Rapid genomic surveillance for public health and hospital microbiology labs + + + +
+ + + + + SRST2: Rapid genomic surveillance for public health and hospital microbiology labs + + +
+ Michael Inouye, Harriet Dashnow, Lesley-Ann Raven, Mark B Schultz, Bernard J Pope, Takehiro Tomita, Justin Zobel, Kathryn E Holt +
+ +
+ Genome Medicine +   ·   + 20 Nov 2014 +   ·   + doi:10.1186/s13073-014-0090-6 +
+ + + + + + + + +
+
+ +
+ + + Ten Simple Rules for Writing a PLOS Ten Simple Rules Article + + + +
+ + + + + Ten Simple Rules for Writing a PLOS Ten Simple Rules Article + + +
+ Harriet Dashnow, Andrew Lonsdale, Philip E. Bourne +
+ +
+ PLoS Computational Biology +   ·   + 23 Oct 2014 +   ·   + doi:10.1371/journal.pcbi.1003858 +
+ + + + + + + + +
+
+ +

2012

+ +
+ + + Development of Transgenic Mice Containing an Introduced Stop Codon on the Human Methylmalonyl-CoA Mutase Locus + + + +
+ + + + + Development of Transgenic Mice Containing an Introduced Stop Codon on the Human Methylmalonyl-CoA Mutase Locus + + +
+ Nicole E. Buck, Harriet Dashnow, James J. Pitt, Leonie R. Wood, Heidi L. Peters +
+ +
+ PLoS ONE +   ·   + 14 Sep 2012 +   ·   + doi:10.1371/journal.pone.0044974 +
+ + + + + + + + +
+
+
+ + +
+ + + + + + + diff --git a/preview/pr-2/robots.txt b/preview/pr-2/robots.txt new file mode 100644 index 0000000..d97e7d1 --- /dev/null +++ b/preview/pr-2/robots.txt @@ -0,0 +1 @@ +Sitemap: /preview/pr-2/sitemap.xml diff --git a/preview/pr-2/sitemap.xml b/preview/pr-2/sitemap.xml new file mode 100644 index 0000000..1ec2354 --- /dev/null +++ b/preview/pr-2/sitemap.xml @@ -0,0 +1,47 @@ + + + +/preview/pr-2/members/harriet-dashnow.html +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/members/laurel-hiatt.html +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/2019/01/07/example-post-1.html +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/2021/09/30/example-post-2.html +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/2023/02/23/example-post-3.html +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/research/ +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/contact/ +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/projects/ +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/team/ +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/ +2024-01-01T19:18:37+00:00 + + +/preview/pr-2/testbed.html +2024-01-01T19:18:37+00:00 + + diff --git a/preview/pr-2/team/index.html b/preview/pr-2/team/index.html new file mode 100644 index 0000000..63dc4b4 --- /dev/null +++ b/preview/pr-2/team/index.html @@ -0,0 +1,679 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Team | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

We are currently recruiting postdocs, staff scientists and students. If you’re passionate about rare disease genomics and computational method development, please get in touch!

+
+ + + + + +
+ + +
+ + +
+
+ + Biomedical Informatics PhD Programs + + +
+ Biomedical Informatics PhD Programs + +
+ +
+ +
+ + +
+
+ + Employment Opportunities at CU Biomedical Informatics + + +
+ Employment Opportunities at CU Biomedical Informatics + +
+ +
+ +
+ +
+ +

+Team

+ + + + + +

Values

+ +
    +
  • +Kindness: We encourage a culture of empathy, respect, and support, where individuals actively contribute to a positive and inclusive environment.
  • +
  • +Diversity: We are a team with diverse backgrounds, experiences and perspectives. We beleive that diversity fosters creativity, innovation, and fairness.
  • +
  • +Collaboration: We partner with clinicians, researchers and industry partners to benefit patients, achieve common scientific goals, and address complex challenges.
  • +
  • +Open Science: We believe that sharing knowledge openly accelerates scientific progress. We are dedicated to making our research data, software, and findings accessible to the global scientific community.
  • +
+
+ + + + + +
+ +
+ + +
+ + + + + + + diff --git a/preview/pr-2/testbed.html b/preview/pr-2/testbed.html new file mode 100644 index 0000000..55a3bf8 --- /dev/null +++ b/preview/pr-2/testbed.html @@ -0,0 +1,3337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Testbed | Dashnow Lab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + Dashnow Lab + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+

Testbed

+
+ + + + + +
+ + +

Basic formatting

+ +

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. +Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. +Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+ +

External link

+ +

Internal link

+ +

italic text

+ +

bold text

+ +

strike-through text

+ +


+
+Text with extra blank lines above and below +
+

+ +
    +
  • list item a
  • +
  • list item b
  • +
  • list item c
  • +
+ +
    +
  1. ordered list item 1
  2. +
  3. ordered list item 2
  4. +
  5. ordered list item 3
  6. +
+ +

Plain image:

+ +

plain image

+ +

Heading 1

+ +

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

+ +

Heading 2

+ +

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

+ +

Heading 3

+ +

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

+ +

Heading 4

+ +

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

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TABLEGame 1Game 2Game 3Total
Anna144123218485
Bill90175120385
Cara102214233549
+ +
+

It was the best of times it was the worst of times. +It was the age of wisdom, it was the age of foolishness. +It was the spring of hope, it was the winter of despair.

+
+ +
// some code with syntax highlighting
+const popup = document.querySelector("#popup");
+popup.style.width = "100%";
+popup.innerText =
+  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
+
+ +

This sentence has inline code, useful for making references to variables, packages, versions, etc. within a sentence.

+ +

Lorem ipsum dolor sit amet.

+

Consectetur adipiscing elit.

+

Sed do eiusmod tempor incididunt.

+
+ + + + + +
+ + +

Jekyll Spaceship

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StageDirect ProductsATP Yields
Glycolysis +
+
2 ATP 
2 NADH3–5 ATP
Pyruvaye oxidation2 NADH5 ATP
Citric acid cycle +

+
2 ATP 
6 NADH15 ATP
2 FADH3 ATP
30–32 ATP  
+ +

$ a * b = c ^ b $

+ +

$ 2^{\frac{n-1}{3}} $

+ +

$ \int_a^b f(x)\,dx. $

+ +

+
+ + + + + +
+ + +

Components

+ +

Section

+
+ + + + + +
+ + +

Section, background

+
+ + + + + +
+ + +

Section, dark=true

+
+ + + + + +
+ + +

Section, background dark=true

+
+ + + + + +
+ + +

Section, size=wide

+
+ + + + + +
+ + +

Section, size=full w/ figure

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

Figure

+ +
+ + figure image + + +
+ +
+ + _Lorem_ **ipsum**. + + +
+ Lorem ipsum. + +
+ +
+ +
+ + _Lorem_ **ipsum**. `px` width + + +
+ Lorem ipsum. px width + +
+ +
+ +
+ + _Lorem_ **ipsum**. `%` width + + +
+ Lorem ipsum. % width + +
+ +
+ +
+ + _Lorem_ **ipsum**. `px` height + + +
+ Lorem ipsum. px height + +
+ +
+ +
+ + _Lorem_ **ipsum**. `px` width, svg + + +
+ Lorem ipsum. px width, svg + +
+ +
+ +
+ + _Lorem_ **ipsum**. `%` width, svg + + +
+ Lorem ipsum. % width, svg + +
+ +
+ +
+ + _Lorem_ **ipsum**. `px` height, svg + + +
+ Lorem ipsum. px height, svg + +
+ +
+
+ + + + + +
+ + +

Button

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

Icon

+ +

+ + +

+ +

Lorem + Ipsum + Dolor

+
+ + + + + +
+ + +

Feature

+ +
+ + Title + +
+ +

Title

+ + +

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

+ +
+
+ +
+ + Title + +
+ +

Title

+ + +

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

+ +
+
+ +
+ + feature image + +
+ + + +
+
+
+ + + + + +
+ + +

List

+ +

List citations

+ +

2023

+ +
+ + +
+ + + + + Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 14 May 2023 +   ·   + doi:10.1101/2023.05.12.540470 +
+ + +
+
+ +

2022

+ +
+ + +
+ + + + + STRling: a k-mer counting approach that detects short tandem repeat expansions at known and novel loci + + +
+ Harriet Dashnow, Brent S. Pedersen, Laurel Hiatt, Joe Brown, Sarah J. Beecroft, ..., Miriam J. Rodrigues, Mark Davis, Heather C. Mefford, Nigel G. Laing, Aaron R. Quinlan +
+ +
+ Genome Biology +   ·   + 14 Dec 2022 +   ·   + doi:10.1186/s13059-022-02826-4 +
+ + +
+
+ +

2021

+ +
+ + +
+ + + + + Effective variant filtering and expected candidate variant yield in studies of rare human disease + + +
+ Brent S. Pedersen, Joe M. Brown, Harriet Dashnow, Amelia D. Wallace, Matt Velinder, ..., Tatiana Tvrdik, Rong Mao, D. Hunter Best, Pinar Bayrak-Toydemir, Aaron R. Quinlan +
+ +
+ npj Genomic Medicine +   ·   + 15 Jul 2021 +   ·   + doi:10.1038/s41525-021-00227-3 +
+ + +
+
+ +

2019

+ +
+ + +
+ + + + + Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software + + +
+ Peter Georgeson, Anna Syme, Clare Sloggett, Jessica Chung, Harriet Dashnow, Michael Milton, Andrew Lonsdale, David Powell, Torsten Seemann, Bernard Pope +
+ +
+ GigaScience +   ·   + 01 Sep 2019 +   ·   + doi:10.1093/gigascience/giz109 +
+ + +
+
+ +
+ + +
+ + + + + Elegant SciPy + + +
+ [no author info] +
+ +
+ O'Reilly Media, Inc. +   ·   + 01 Aug 2019 +   ·   + : +
+ + +
+
+ +
+ + +
+ + + + + Pooled-parent exome sequencing to prioritise de novo variants in genetic disease + + +
+ Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 07 Apr 2019 +   ·   + doi:10.1101/601740 +
+ + +
+
+ +

2018

+ +
+ + +
+ + + + + STRetch: detecting and discovering pathogenic short tandem repeat expansions + + +
+ Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack +
+ +
+ Genome Biology +   ·   + 21 Aug 2018 +   ·   + doi:10.1186/s13059-018-1505-2 +
+ + +
+
+ +

2017

+ +
+ + +
+ + + + + A clinically driven variant prioritization framework outperforms purely computational approaches for the diagnostic analysis of singleton WES data + + +
+ Zornitza Stark, Harriet Dashnow, Sebastian Lunke, Tiong Y Tan, Alison Yeung, ..., Ivan Macciocca, Clara Gaff, Alicia Oshlack, Susan M White, Paul A James +
+ +
+ European Journal of Human Genetics +   ·   + 23 Aug 2017 +   ·   + doi:10.1038/ejhg.2017.123 +
+ + +
+
+ +

2016

+ +
+ + +
+ + + + + Ten Simple Rules for a Bioinformatics Journal Club + + +
+ Andrew Lonsdale, Jocelyn Sietsma Penington, Timothy Rice, Michael Walker, Harriet Dashnow +
+ +
+ PLOS Computational Biology +   ·   + 28 Jan 2016 +   ·   + doi:10.1371/journal.pcbi.1004526 +
+ + +
+
+ +

2015

+ +
+ + +
+ + + + + Cpipe: a shared variant detection pipeline designed for diagnostic settings + + +
+ Simon P. Sadedin, Harriet Dashnow, Paul A. James, Melanie Bahlo, Denis C. Bauer, ..., Susan M. White, Graham Taylor, Clara Gaff, Alicia Oshlack, Natalie P. Thorne +
+ +
+ Genome Medicine +   ·   + 10 Jul 2015 +   ·   + doi:10.1186/s13073-015-0191-x +
+ + +
+
+ +

2014

+ +
+ + +
+ + + + + Data Interlocking: Coupling Analytics to the Data + + +
+ Yousef Kowsar, Harriet Dashnow, Andrew Lonie +
+ +
+ 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing +   ·   + 01 Dec 2014 +   ·   + doi:10.1109/ucc.2014.113 +
+ + +
+
+ +
+ + +
+ + + + + SRST2: Rapid genomic surveillance for public health and hospital microbiology labs + + +
+ Michael Inouye, Harriet Dashnow, Lesley-Ann Raven, Mark B Schultz, Bernard J Pope, Takehiro Tomita, Justin Zobel, Kathryn E Holt +
+ +
+ Genome Medicine +   ·   + 20 Nov 2014 +   ·   + doi:10.1186/s13073-014-0090-6 +
+ + +
+
+ +
+ + +
+ + + + + Ten Simple Rules for Writing a PLOS Ten Simple Rules Article + + +
+ Harriet Dashnow, Andrew Lonsdale, Philip E. Bourne +
+ +
+ PLoS Computational Biology +   ·   + 23 Oct 2014 +   ·   + doi:10.1371/journal.pcbi.1003858 +
+ + +
+
+ +

2012

+ +
+ + +
+ + + + + Development of Transgenic Mice Containing an Introduced Stop Codon on the Human Methylmalonyl-CoA Mutase Locus + + +
+ Nicole E. Buck, Harriet Dashnow, James J. Pitt, Leonie R. Wood, Heidi L. Peters +
+ +
+ PLoS ONE +   ·   + 14 Sep 2012 +   ·   + doi:10.1371/journal.pone.0044974 +
+ + +
+
+ +
+ +

List projects

+ +
+ + STRchive + + +
+ + + STRchive + + + + + Short Tandem Repeat Archive (pronouced "S-T-archive") + + + +

A database of STRs associated with disease in humans.

+ + + + + + + + + + + +
+
+ +
+ + TRGT + + +
+ + + TRGT + + + + + Tandem Repeat Genotyping Tool (pronounced "target") + + + +

TRGT genotypes tandem repeats from PacBio HiFi long read data and visualizes them with TRVZ.

+ + + + + + + + + + + +
+
+ +
+ + STRling + + +
+ + + STRling + + + + + A computational method to call short tandem repeat expansions at known and novel loci (pronounced "sterling"). + + + +

STRling can detect novel expansions where there is no STR in the reference genome, or an alternate motif.

+ + + + + + + + + + + +
+
+ +
+ + STRretch + + +
+ + + STRretch + + + + + A computational method to detecting short tandem repeat expansions from short-read sequencing data. + + + +

STRling can detect novel expansions where there is no STR in the reference genome, or an alternate motif.

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

List team members

+ + + + + +
+ +

List blog posts

+ +

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. + +

+
+
+ + + + + +
+ + +

Citation

+ +
+ + +
+ + + + + [no title info] + + +
+ [no author info] +
+ +
+ [no publisher info] +   ·   + [no date info] +   ·   + [no id info] +
+ + +
+
+ +
+ + + citation image + + + +
+ + + + + [no title info] + + +
+ [no author info] +
+ +
+ [no publisher info] +   ·   + [no date info] +   ·   + [no id info] +
+ + + + + + + + +
+
+ +
+ + +
+ + + + + Manual title + + +
+ Manual authors +
+ +
+ [no publisher info] +   ·   + [no date info] +   ·   + [no id info] +
+ + +
+
+
+ + + + + +
+ + +

Card

+ +
+ + A Large Card + + +
+ + + A Large Card + + + + + A cool card + + + +

A cool description

+ + + + + + + +
+ +
+ + + +
+
+ +
+ + A Small Card + + +
+ + + A Small Card + + + + + A cool card + + + +

Lorem ipsum

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

Portrait

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

Post Excerpt

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

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

+
+ +
+ + + Manual title + + + + + + + + +

+ +

+
+
+ + + + + +
+ + +

Alert

+ +
+ + +
+

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

+ +
+
+ +
+ + +
+

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

+ +
+
+ +
+ + +
+

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

+ +
+
+ +
+ + +
+

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

+ +
+
+ +
+ + +
+

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

+ +
+
+ +
+ + +
+

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

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

Tags

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

Float

+ +

Figures

+ +
+ +
+ + Caption + + +
+ Caption + +
+ +
+ + +
+ +

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. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+ + +
+ +

Code

+ +
+ +
const test = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
+
+ + +
+ +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Nulla facilisi etiam dignissim diam quis. Id aliquet lectus proin nibh nisl condimentum id venenatis a. Tristique magna sit amet purus gravida quis blandit turpis cursus. Ultrices eros in cursus turpis massa tincidunt dui ut ornare. A cras semper auctor neque vitae tempus quam pellentesque nec. At tellus at urna condimentum mattis pellentesque. Ipsum consequat nisl vel pretium. Ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget gravida. Integer vitae justo eget magna fermentum iaculis eu non diam. Mus mauris vitae ultricies leo integer malesuada nunc vel. Leo integer malesuada nunc vel risus. Ornare arcu odio ut sem nulla pharetra. Purus semper eget duis at tellus at urna condimentum. Enim neque volutpat ac tincidunt vitae semper quis lectus.

+
+ + + + + +
+ + +

Grid

+ +

Regular

+ +

With Markdown images

+ +
+ +

image

+ +

image

+ +

image

+ +

image

+ +

image

+ +

image

+ +
+ +

Square

+ +

With figure components

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

Grid of citations

+ +
+ +

2023

+ +
+ + +
+ + + + + Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 14 May 2023 +   ·   + doi:10.1101/2023.05.12.540470 +
+ + +
+
+ +

2022

+ +
+ + +
+ + + + + STRling: a k-mer counting approach that detects short tandem repeat expansions at known and novel loci + + +
+ Harriet Dashnow, Brent S. Pedersen, Laurel Hiatt, Joe Brown, Sarah J. Beecroft, ..., Miriam J. Rodrigues, Mark Davis, Heather C. Mefford, Nigel G. Laing, Aaron R. Quinlan +
+ +
+ Genome Biology +   ·   + 14 Dec 2022 +   ·   + doi:10.1186/s13059-022-02826-4 +
+ + +
+
+ +

2021

+ +
+ + +
+ + + + + Effective variant filtering and expected candidate variant yield in studies of rare human disease + + +
+ Brent S. Pedersen, Joe M. Brown, Harriet Dashnow, Amelia D. Wallace, Matt Velinder, ..., Tatiana Tvrdik, Rong Mao, D. Hunter Best, Pinar Bayrak-Toydemir, Aaron R. Quinlan +
+ +
+ npj Genomic Medicine +   ·   + 15 Jul 2021 +   ·   + doi:10.1038/s41525-021-00227-3 +
+ + +
+
+ +

2019

+ +
+ + +
+ + + + + Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software + + +
+ Peter Georgeson, Anna Syme, Clare Sloggett, Jessica Chung, Harriet Dashnow, Michael Milton, Andrew Lonsdale, David Powell, Torsten Seemann, Bernard Pope +
+ +
+ GigaScience +   ·   + 01 Sep 2019 +   ·   + doi:10.1093/gigascience/giz109 +
+ + +
+
+ +
+ + +
+ + + + + Elegant SciPy + + +
+ [no author info] +
+ +
+ O'Reilly Media, Inc. +   ·   + 01 Aug 2019 +   ·   + : +
+ + +
+
+ +
+ + +
+ + + + + Pooled-parent exome sequencing to prioritise de novo variants in genetic disease + + +
+ Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack +
+ +
+ Cold Spring Harbor Laboratory +   ·   + 07 Apr 2019 +   ·   + doi:10.1101/601740 +
+ + +
+
+ +

2018

+ +
+ + +
+ + + + + STRetch: detecting and discovering pathogenic short tandem repeat expansions + + +
+ Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack +
+ +
+ Genome Biology +   ·   + 21 Aug 2018 +   ·   + doi:10.1186/s13059-018-1505-2 +
+ + +
+
+ +

2017

+ +
+ + +
+ + + + + A clinically driven variant prioritization framework outperforms purely computational approaches for the diagnostic analysis of singleton WES data + + +
+ Zornitza Stark, Harriet Dashnow, Sebastian Lunke, Tiong Y Tan, Alison Yeung, ..., Ivan Macciocca, Clara Gaff, Alicia Oshlack, Susan M White, Paul A James +
+ +
+ European Journal of Human Genetics +   ·   + 23 Aug 2017 +   ·   + doi:10.1038/ejhg.2017.123 +
+ + +
+
+ +

2016

+ +
+ + +
+ + + + + Ten Simple Rules for a Bioinformatics Journal Club + + +
+ Andrew Lonsdale, Jocelyn Sietsma Penington, Timothy Rice, Michael Walker, Harriet Dashnow +
+ +
+ PLOS Computational Biology +   ·   + 28 Jan 2016 +   ·   + doi:10.1371/journal.pcbi.1004526 +
+ + +
+
+ +

2015

+ +
+ + +
+ + + + + Cpipe: a shared variant detection pipeline designed for diagnostic settings + + +
+ Simon P. Sadedin, Harriet Dashnow, Paul A. James, Melanie Bahlo, Denis C. Bauer, ..., Susan M. White, Graham Taylor, Clara Gaff, Alicia Oshlack, Natalie P. Thorne +
+ +
+ Genome Medicine +   ·   + 10 Jul 2015 +   ·   + doi:10.1186/s13073-015-0191-x +
+ + +
+
+ +

2014

+ +
+ + +
+ + + + + Data Interlocking: Coupling Analytics to the Data + + +
+ Yousef Kowsar, Harriet Dashnow, Andrew Lonie +
+ +
+ 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing +   ·   + 01 Dec 2014 +   ·   + doi:10.1109/ucc.2014.113 +
+ + +
+
+ +
+ + +
+ + + + + SRST2: Rapid genomic surveillance for public health and hospital microbiology labs + + +
+ Michael Inouye, Harriet Dashnow, Lesley-Ann Raven, Mark B Schultz, Bernard J Pope, Takehiro Tomita, Justin Zobel, Kathryn E Holt +
+ +
+ Genome Medicine +   ·   + 20 Nov 2014 +   ·   + doi:10.1186/s13073-014-0090-6 +
+ + +
+
+ +
+ + +
+ + + + + Ten Simple Rules for Writing a PLOS Ten Simple Rules Article + + +
+ Harriet Dashnow, Andrew Lonsdale, Philip E. Bourne +
+ +
+ PLoS Computational Biology +   ·   + 23 Oct 2014 +   ·   + doi:10.1371/journal.pcbi.1003858 +
+ + +
+
+ +

2012

+ +
+ + +
+ + + + + Development of Transgenic Mice Containing an Introduced Stop Codon on the Human Methylmalonyl-CoA Mutase Locus + + +
+ Nicole E. Buck, Harriet Dashnow, James J. Pitt, Leonie R. Wood, Heidi L. Peters +
+ +
+ PLoS ONE +   ·   + 14 Sep 2012 +   ·   + doi:10.1371/journal.pone.0044974 +
+ + +
+
+ + +
+ +

Grid of blog posts

+ +
+ +

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. + +

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

Cols

+ +

Text

+ +
+ + +
+

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

+
+ + +
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Nulla facilisi etiam dignissim diam quis. Id aliquet lectus proin nibh nisl condimentum id venenatis a.

+
+ + +
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Nulla facilisi etiam dignissim diam quis. Id aliquet lectus proin nibh nisl condimentum id venenatis a. Tristique magna sit amet purus gravida quis blandit turpis cursus. Ultrices eros in cursus turpis massa tincidunt dui ut ornare. A cras semper auctor neque vitae tempus quam pellentesque nec. At tellus at urna condimentum mattis pellentesque. Ipsum consequat nisl vel pretium. Ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget gravida. Integer vitae justo eget magna fermentum iaculis eu non diam. Mus mauris vitae ultricies leo integer malesuada nunc vel. Leo integer malesuada nunc vel risus. Ornare arcu odio ut sem nulla pharetra. Purus semper eget duis at tellus at urna condimentum. Enim neque volutpat ac tincidunt vitae semper quis lectus.

+
+ +
+ +

Images

+ +
+ + +
+
+ + Fig. 1a + + +
+ Fig. 1a + +
+ +
+ +

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

+
+ + +
+
+ + Fig. 1b + + +
+ Fig. 1b + +
+ +
+ +

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

+
+ + +
+
+ + Fig. 1c + + +
+ Fig. 1c + +
+ +
+ +

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

+
+ +
+ +

Code

+ +
+ + +
+
const test = "Lorem ipsum dolor sit amet";
+
+ +
+ + +
+
const test = "Lorem ipsum dolor sit amet";
+
+ +
+ + +
+
const test = "Lorem ipsum dolor sit amet";
+
+ +
+ +
+
+ + + + + +
+ + + + + + +
+
+ + + + + +
+ + + + +
+ + +
+
+ + +
+ + + + + + + diff --git a/projects/index.html b/projects/index.html index e5c7392..57fe3ee 100644 --- a/projects/index.html +++ b/projects/index.html @@ -410,6 +410,12 @@ + + Blog + + + + Contact diff --git a/research/index.html b/research/index.html index 7bd10b5..7679e33 100644 --- a/research/index.html +++ b/research/index.html @@ -410,6 +410,12 @@ + + Blog + + + + Contact @@ -461,95 +467,35 @@

Highlighted

- - Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + Characterization and visualization of tandem repeats at genome scale
- + - - Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + Characterization and visualization of tandem repeats at genome scale -
- Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A. Eberle
- Cold Spring Harbor Laboratory + Nature Biotechnology   ·   - 14 May 2023 + 02 Jan 2024   ·   - doi:10.1101/2023.05.12.540470 + doi:10.1038/s41587-023-02057-3
-
- TRGT genotypes tandem repeats from PacBio HiFi long read data and visualizes them with TRVZ. - -
- -
- - - - - - - - - - - - - - - - - -
- - - - - - - - @@ -579,99 +525,39 @@

All

-

2023

+

2024

- - Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + Characterization and visualization of tandem repeats at genome scale
- + - - Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + Characterization and visualization of tandem repeats at genome scale -
- Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A. Eberle
- Cold Spring Harbor Laboratory + Nature Biotechnology   ·   - 14 May 2023 + 02 Jan 2024   ·   - doi:10.1101/2023.05.12.540470 + doi:10.1038/s41587-023-02057-3
-
- TRGT genotypes tandem repeats from PacBio HiFi long read data and visualizes them with TRVZ. - -
- -
- - - - - - - - - - - - - - - - - -
- - - - - - - - @@ -739,7 +625,7 @@

2021

- Effective variant filtering and expected candidate variant yield in studies of rare human disease + Effective variant filtering and expected candidate variant yield in studies of rare human disease @@ -778,7 +664,7 @@

2019

- Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software + Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software @@ -806,6 +692,25 @@

2019

+
+ + + + + + + + + +
+ @@ -814,8 +719,8 @@

2019

- - Elegant SciPy + + Pooled-parent exome sequencing to prioritise <i>de novo</i> variants in genetic disease @@ -823,20 +728,20 @@

2019

- - Elegant SciPy + + Pooled-parent exome sequencing to prioritise de novo variants in genetic disease
- [no author info] + Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack
- O'Reilly Media, Inc. + Cold Spring Harbor Laboratory   ·   - 01 Aug 2019 + 07 Apr 2019   ·   - : + doi:10.1101/601740
@@ -849,10 +754,12 @@

2019

+

2018

+
- - Pooled-parent exome sequencing to prioritise <i>de novo</i> variants in genetic disease + + STRetch: detecting and discovering pathogenic short tandem repeat expansions @@ -860,38 +767,57 @@

2019

- - Pooled-parent exome sequencing to prioritise de novo variants in genetic disease + + STRetch: detecting and discovering pathogenic short tandem repeat expansions -
- Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack +
+ Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack
- Cold Spring Harbor Laboratory + Genome Biology   ·   - 07 Apr 2019 + 21 Aug 2018   ·   - doi:10.1101/601740 + doi:10.1186/s13059-018-1505-2
+
+ + + + + + + + + +
+
-

2018

+

2017

- - STRetch: detecting and discovering pathogenic short tandem repeat expansions + + Elegant SciPy @@ -899,20 +825,20 @@

2018

- - STRetch: detecting and discovering pathogenic short tandem repeat expansions + + Elegant SciPy -
- Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack +
+ Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
- Genome Biology + O'Reilly Media, Inc.   ·   - 21 Aug 2018 + 08 Nov 2017   ·   - doi:10.1186/s13059-018-1505-2 + isbn:9781491922941
@@ -925,12 +851,10 @@

2018

-

2017

-
- A clinically driven variant prioritization framework outperforms purely computational approaches for the diagnostic analysis of singleton WES data + A clinically driven variant prioritization framework outperforms purely computational approaches for the diagnostic analysis of singleton WES data @@ -956,6 +880,11 @@

2017

+
+ Melbourne Genomics variant prioritisation + +
+ @@ -969,7 +898,7 @@

2016

- Ten Simple Rules for a Bioinformatics Journal Club + Ten Simple Rules for a Bioinformatics Journal Club @@ -1008,7 +937,7 @@

2015

- Cpipe: a shared variant detection pipeline designed for diagnostic settings + Cpipe: a shared variant detection pipeline designed for diagnostic settings @@ -1084,7 +1013,7 @@

2014

- SRST2: Rapid genomic surveillance for public health and hospital microbiology labs + SRST2: Rapid genomic surveillance for public health and hospital microbiology labs @@ -1121,7 +1050,7 @@

2014

- Ten Simple Rules for Writing a PLOS Ten Simple Rules Article + Ten Simple Rules for Writing a PLOS Ten Simple Rules Article @@ -1160,7 +1089,7 @@

2012

- Development of Transgenic Mice Containing an Introduced Stop Codon on the Human Methylmalonyl-CoA Mutase Locus + Development of Transgenic Mice Containing an Introduced Stop Codon on the Human Methylmalonyl-CoA Mutase Locus diff --git a/sitemap.xml b/sitemap.xml index 8b4933a..f9bdcbd 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,46 +2,62 @@ /members/harriet-dashnow.html -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 + + +/members/jane-smith.html +2024-01-02T19:02:09+00:00 + + +/members/john-doe.html +2024-01-02T19:02:09+00:00 /members/laurel-hiatt.html -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 + + +/members/sarah-johnson.html +2024-01-02T19:02:09+00:00 /2019/01/07/example-post-1.html -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 /2021/09/30/example-post-2.html -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 /2023/02/23/example-post-3.html -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 /research/ -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 + + +/blog/ +2024-01-02T19:02:09+00:00 /contact/ -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 /projects/ -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 /team/ -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 / -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 /testbed.html -2024-01-01T18:32:51+00:00 +2024-01-02T19:02:09+00:00 diff --git a/team/index.html b/team/index.html index eb5bc01..9358525 100644 --- a/team/index.html +++ b/team/index.html @@ -410,6 +410,12 @@ + + Blog + + + + Contact @@ -522,6 +528,54 @@

+ + + + + +

Values

    -
  • Kindness
  • -
  • Diversity
  • -
  • Collaboration
  • -
  • Open Science
  • +
  • +Kindness: We encourage a culture of empathy, respect, and support, where individuals actively contribute to a positive and inclusive environment.
  • +
  • +Diversity: We are a team with diverse backgrounds, experiences and perspectives. We beleive that diversity fosters creativity, innovation, and fairness.
  • +
  • +Collaboration: We partner with clinicians, researchers and industry partners to benefit patients, achieve common scientific goals, and address complex challenges.
  • +
  • +Open Science: We believe that sharing knowledge openly accelerates scientific progress. We are dedicated to making our research data, software, and findings accessible to the global scientific community.
diff --git a/testbed.html b/testbed.html index 65eda8a..7a0163d 100644 --- a/testbed.html +++ b/testbed.html @@ -441,6 +441,12 @@ + + Blog + + + + Contact @@ -1040,29 +1046,29 @@

List

List citations

-

2023

+

2024

- + - - Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + Characterization and visualization of tandem repeats at genome scale -
- Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A. Eberle
- Cold Spring Harbor Laboratory + Nature Biotechnology   ·   - 14 May 2023 + 02 Jan 2024   ·   - doi:10.1101/2023.05.12.540470 + doi:10.1038/s41587-023-02057-3
@@ -1163,26 +1169,28 @@

2019

- - Elegant SciPy + + Pooled-parent exome sequencing to prioritise de novo variants in genetic disease
- [no author info] + Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack
- O'Reilly Media, Inc. + Cold Spring Harbor Laboratory   ·   - 01 Aug 2019 + 07 Apr 2019   ·   - : + doi:10.1101/601740
+

2018

+
@@ -1190,27 +1198,27 @@

2019

- - Pooled-parent exome sequencing to prioritise de novo variants in genetic disease + + STRetch: detecting and discovering pathogenic short tandem repeat expansions -
- Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack +
+ Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack
- Cold Spring Harbor Laboratory + Genome Biology   ·   - 07 Apr 2019 + 21 Aug 2018   ·   - doi:10.1101/601740 + doi:10.1186/s13059-018-1505-2
-

2018

+

2017

@@ -1219,28 +1227,26 @@

2018

- - STRetch: detecting and discovering pathogenic short tandem repeat expansions + + Elegant SciPy -
- Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack +
+ Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
- Genome Biology + O'Reilly Media, Inc.   ·   - 21 Aug 2018 + 08 Nov 2017   ·   - doi:10.1186/s13059-018-1505-2 + isbn:9781491922941
-

2017

-
@@ -1638,6 +1644,54 @@

List team members

+ + + + + +

List blog posts

@@ -1677,11 +1755,33 @@

2023

- - - john-doe + + + + + @@ -1697,7 +1797,7 @@

2023

- January 01, 2024 + January 02, 2024
@@ -1741,11 +1841,33 @@

2021

- - - jane-smith + + + + + @@ -1761,7 +1883,7 @@

2021

- January 01, 2024 + January 02, 2024
@@ -1793,11 +1915,33 @@

2019

- - - sarah-johnson + + + + + @@ -1813,7 +1957,7 @@

2019

- January 01, 2024 + January 02, 2024
@@ -2052,18 +2196,50 @@

Card

Portrait

@@ -2116,11 +2292,33 @@

Post Excerpt

- - - sarah-johnson + + + + + @@ -2136,7 +2334,7 @@

Post Excerpt

- January 01, 2024 + January 02, 2024
@@ -2465,29 +2663,29 @@

Grid of citations

-

2023

+

2024

- + - - Resolving the unsolved: Comprehensive assessment of tandem repeats at scale + + Characterization and visualization of tandem repeats at genome scale -
- Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A Eberle +
+ Egor Dolzhenko, Adam English, Harriet Dashnow, Guilherme De Sena Brandine, Tom Mokveld, ..., Stephan Zuchner, Tomi Pastinen, Aaron R. Quinlan, Fritz J. Sedlazeck, Michael A. Eberle
- Cold Spring Harbor Laboratory + Nature Biotechnology   ·   - 14 May 2023 + 02 Jan 2024   ·   - doi:10.1101/2023.05.12.540470 + doi:10.1038/s41587-023-02057-3
@@ -2588,26 +2786,28 @@

2019

- - Elegant SciPy + + Pooled-parent exome sequencing to prioritise de novo variants in genetic disease
- [no author info] + Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack
- O'Reilly Media, Inc. + Cold Spring Harbor Laboratory   ·   - 01 Aug 2019 + 07 Apr 2019   ·   - : + doi:10.1101/601740
+

2018

+
@@ -2615,27 +2815,27 @@

2019

- - Pooled-parent exome sequencing to prioritise de novo variants in genetic disease + + STRetch: detecting and discovering pathogenic short tandem repeat expansions -
- Harriet Dashnow, Katrina M. Bell, Zornitza Stark, Tiong Y. Tan, Susan M. White, Alicia Oshlack +
+ Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack
- Cold Spring Harbor Laboratory + Genome Biology   ·   - 07 Apr 2019 + 21 Aug 2018   ·   - doi:10.1101/601740 + doi:10.1186/s13059-018-1505-2
-

2018

+

2017

@@ -2644,28 +2844,26 @@

2018

- - STRetch: detecting and discovering pathogenic short tandem repeat expansions + + Elegant SciPy -
- Harriet Dashnow, Monkol Lek, Belinda Phipson, Andreas Halman, Simon Sadedin, ..., Phillipa Lamont, Joshua S. Clayton, Nigel G. Laing, Daniel G. MacArthur, Alicia Oshlack +
+ Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
- Genome Biology + O'Reilly Media, Inc.   ·   - 21 Aug 2018 + 08 Nov 2017   ·   - doi:10.1186/s13059-018-1505-2 + isbn:9781491922941
-

2017

-
@@ -2881,11 +3079,33 @@

2023

- - - john-doe + + + + + @@ -2901,7 +3121,7 @@

2023

- January 01, 2024 + January 02, 2024
@@ -2945,11 +3165,33 @@

2021

- - - jane-smith + + + + + @@ -2965,7 +3207,7 @@

2021

- January 01, 2024 + January 02, 2024
@@ -2997,11 +3239,33 @@

2019

- - - sarah-johnson + + + + + @@ -3017,7 +3281,7 @@

2019

- January 01, 2024 + January 02, 2024