Skip to content

Commit d99bd68

Browse files
committed
INFRA: create custom 404 page and add redirects
1 parent 7ba0518 commit d99bd68

File tree

10 files changed

+719
-87
lines changed

10 files changed

+719
-87
lines changed

404.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
layout: splash
3+
permalink: /404.html
4+
title: Oops! I couldn't find the page that you want. Page Not Found
5+
feature_404:
6+
- title: "Oopsies"
7+
excerpt: "Oopsies"
8+
---
9+
10+
## Are you looking for any of the following:
11+
12+
* [our package guide](https://www.pyopensci.org/python-package-guide)
13+
* [our peer review guide](https://www.pyopensci.org/peer-review-guide)
14+
15+
If not, please try to use the top navigation to get to the right spot.
16+
If you think there is an error on our site - [please open an issue here](https://github.com/pyOpenSci/pyopensci.github.io/issues).
17+

_config.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ reCaptcha:
7171
secret :
7272
atom_feed:
7373
path : # blank (default) uses feed.xml
74-
search : # true, false (default)
74+
search : true # true, false (default)
7575
search_full_content : # true, false (default)
7676
search_provider : # lunr (default), algolia, google
7777
algolia:
@@ -114,7 +114,7 @@ analytics:
114114
# Site Author
115115
author:
116116
name : "pyOpenSci"
117-
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
117+
avatar : "/images/logo.png" # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
118118
bio : "pyOpenSci promotes open and reproducible research through peer-review of well-documented and tested scientific Python packages."
119119
location : "Global"
120120
email :
@@ -240,6 +240,7 @@ plugins:
240240
- jekyll-feed
241241
- jemoji
242242
- jekyll-include-cache
243+
- jekyll-redirect-from
243244

244245
# mimic GitHub Pages with --safe
245246
whitelist:
@@ -249,6 +250,8 @@ whitelist:
249250
- jekyll-feed
250251
- jemoji
251252
- jekyll-include-cache
253+
- jekyll-redirect-from
254+
252255

253256
collections:
254257
packages:

_data/navigation.yml

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
# main links
22
main:
33
- title: "Peer Review & Packages"
4-
url: /python-packages/
4+
url:
5+
sub-nav:
6+
- title: "About peer review"
7+
icon: "fas fa-fw fa-envelope-square"
8+
url: "/about-peer-review/"
9+
- title: "Peer review guide"
10+
url: "https://www.pyopensci.org/peer-review-guide/"
11+
- title: "Python package guide"
12+
url: "https://www.pyopensci.org/python-package-guide/"
13+
- title: "Our packages"
14+
icon: "fas fa-fw fa-envelope-square"
15+
url: "/python-packages/"
516
- title: "Blog"
617
url: /blog/
7-
- title: "Resources"
8-
url: /resources/
9-
- title: "Our Community"
10-
url: /our-community/
18+
# - title: "Resources"
19+
# url: /resources/
20+
- title: "Community"
21+
sub-nav:
22+
- title: "Our Community"
23+
url: "/our-community/"
24+
- title: "Governance"
25+
icon: "fas fa-fw fa-envelope-square"
26+
url: "https://www.pyopensci.org/governance/"
1127
- title: "Contact"
1228
url: /get-involved-contact/

_includes/footer.html

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<div class="page__footer-follow">
2+
<ul class="social-icons">
3+
{% if site.data.ui-text[site.locale].follow_label %}
4+
<li><strong>{{ site.data.ui-text[site.locale].follow_label }}</strong></li>
5+
{% endif %}
6+
7+
{% if site.footer.links %}
8+
{% for link in site.footer.links %}
9+
{% if link.label and link.url %}
10+
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i> {{ link.label }}</a></li>
11+
{% endif %}
12+
{% endfor %}
13+
{% endif %}
14+
15+
{% unless site.atom_feed.hide %}
16+
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
17+
{% endunless %}
18+
</ul>
19+
</div>
20+
pyOpenSci is a fiscally sponsored project of Community Initiatives
21+
22+
<div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}</div>
23+
<script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
24+
<script src="/assets/js/dropdown.js"></script>

_includes/masthead.html

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{% capture logo_path %}{{ site.logo }}{% endcapture %}
2+
3+
<div class="masthead">
4+
<div class="masthead__inner-wrap">
5+
<div class="masthead__menu">
6+
<nav id="site-nav" class="nav__topbar" aria-label="Top Bar">
7+
<!-- More accessible as a screen reader will group the title and image in the same link -->
8+
{% unless logo_path == empty %}
9+
<a class="site-logo" href="{{ '/' | relative_url }}">
10+
<img src="{{ logo_path | relative_url }}" alt="Welcome to the pyOpenSci website. This is the pyOpenSci logo.">
11+
<span class="site-title">pyOpenSci</span>
12+
</a>
13+
{% endunless %}
14+
15+
<ul class="nav__links">
16+
{%- for alink in site.data.navigation.main -%}
17+
{% if alink.sub-nav %}
18+
<!-- If there is sub nav to display -->
19+
<li class="dropdown">
20+
<button class="dropbtn" tabindex="0" aria-expanded="false">{{ alink.title }} <i class="fas fa-caret-down"></i>
21+
</button>
22+
<ul class="dropdown-content">
23+
{% for subnav in alink.sub-nav %}
24+
<li>
25+
<a href="{{ subnav.url }}" class="masthead__menu-item hover-underline">{{ subnav.title }}</a>
26+
</li>
27+
{% endfor %}
28+
</ul>
29+
</li>
30+
{% else %}
31+
<li>
32+
<a href="{{ alink.url | relative_url }}" class="hover-underline">{{ alink.title }}</a>
33+
</li>
34+
{% endif %}
35+
{% endfor %}
36+
<li>
37+
38+
</li>
39+
</ul>
40+
<!--
41+
{% if site.search == true %}
42+
<button class="search__toggle" type="button">
43+
<span class="visually-hidden">{{ site.data.ui-text[site.locale].search_label | default: "Toggle search" }}</span>
44+
<i class="fas fa-search"></i>
45+
</button>
46+
{% endif %}
47+
-->
48+
49+
<ul class="hidden-links hidden"></ul>
50+
<!-- Burger button - span class for screen readers-->
51+
<button class="hamburger__btn-toggle" type="button" count="1" aria-expanded="false">
52+
<span class="visually-hidden">Toggle top navigation menu</span> <!--screen readers-->
53+
<div class="burger__icon"></div>
54+
</button>
55+
</nav>
56+
</div>
57+
</div>
58+
</div>

_pages/about-peer-review.md

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
---
2+
layout: splash
3+
permalink: /about-peer-review/
4+
title: "About the pyOpenSci Open Peer Review Process"
5+
header:
6+
overlay_image: images/header.jpg
7+
overlay_filter: 0.6
8+
intro:
9+
- excerpt: "Our open peer review process supports scientists getting credit for the work invested in open Python tools. It also supports standardization of packaging and improved package visibility."
10+
toc: false
11+
classes: wide
12+
---
13+
14+
{% include feature_row id="intro" type="center" %}
15+
16+
<!--TODO: this into a template -->
17+
18+
<div class="feature__wrapper">
19+
<div class="feature__item ">
20+
<div class="archive__item cards">
21+
<div class="archive__item-body">
22+
<h2 class="archive__item-title">Ready to Submit a Package for Review?</h2>
23+
<div class="archive__item-excerpt">
24+
<p>You're in the right place! Learn about the steps to submit a package
25+
for open peer review in our guidebook. </p>
26+
</div>
27+
<p><a href="https://www.pyopensci.org/peer-review-guide/software-peer-review-guide/author-guide.html" class="btn btn--inverse"><i class="fas fa-angle-right"></i> View our Author Guide </a></p>
28+
</div>
29+
</div>
30+
</div>
31+
32+
<div class="feature__item">
33+
<div class="archive__item cards">
34+
<div class="archive__item-body">
35+
<h2 class="archive__item-title">Want to Review a Python Package for Us?</h2>
36+
<div class="archive__item-excerpt">
37+
<p>We could use your help! Fill our our reviewer form. We will
38+
contact you if we have a package that we need reviewers for.
39+
It's OK if you've never reviewed a package before! We'll walk you
40+
through it. </p>
41+
</div>
42+
<p><a href="https://forms.gle/GHfxvmS47nQFDcBM6" class="btn btn--inverse"><i class="fas fa-angle-right"></i>
43+
Signup Now (Google Form) </a></p>
44+
</div>
45+
</div>
46+
</div>
47+
48+
<div class="feature__item">
49+
<div class="archive__item cards">
50+
<div class="archive__item-body">
51+
<h2 class="archive__item-title">See Our Review Process in Action</h2>
52+
<div class="archive__item-excerpt">
53+
<p>Our reviewers happen in GitHub issues. This means that anyone can
54+
check in on any part of any review and read all of the conversation.
55+
Check it out.</p>
56+
</div>
57+
<p><a href="https://github.com/pyOpenSci/software-review/issues" class="btn btn--inverse"><i class="fas fa-angle-right"></i> See Open Reviews </a></p>
58+
</div>
59+
</div>
60+
</div>
61+
</div>
62+
63+
<div class="wide__p_text" markdown="1">
64+
## Why Peer Review for Python Scientific Software?
65+
Peer review of Python scientific software addresses several challenges in the
66+
open source community:
67+
68+
1. **Citations Support Credit & Acknowledgement:** Peer review provides credit and acknowledgement for the hard work invested in creating and supporting core tools that support open science workflows.
69+
2. **Standard Packaging & Documentation:** Currently there are numerous ways to create a Python package. Peer review enforces standards thus promoting standardization of Python packaging across the scientific Python ecosystem.
70+
3. **Removed Redundancy:** Peer review addresses the issue of multiple tools on pyPi that perform similar tasks but have varying levels of documenation, support and maintainence. One maintained package that is broadly useful and maintained will help scientists select tools that they can rely on.
71+
4. **Long Term Maintenance:** Package maintainers often use their free time to work on Python tools. Once a package is reviewed by pyOpenSci we will keep in touch with the maintainer to ensure continued maintainance of the tool. If a maintainer needs to step down, we will try to find someone new to take over, or sunset the tool as needed.
72+
5. **Community:** At the core of peer review is community around the tools that scientists need to process their data.
73+
74+
### Who can submit a package?
75+
pyOpenSci packages are community developed, submitted and reviewed. Anyone is
76+
welcome to submit a package to pyOpenSci to be reviewed. Once the package is reviewed,
77+
and accepted, pyOpenSci will promote it as a peer-reviewed tool for science!
78+
79+
### How do I decide whether to submit to you or the Journal of Open Source Software (JOSS)
80+
81+
You don't have to chose between pyOpenSci and JOSS. We have a collaboration with
82+
JOSS where you can submit your package to us for review. If your package is accepted
83+
and if it is in scope for JOSS, it will then be fast tracked through their
84+
review process; they will only review your paper.md file. Consider this a
85+
win-win!
86+
87+
</div>
88+
89+
<!--
90+
<div class="notice" markdown="1">
91+
## What's the difference between pyOpenSci and JOSS?
92+
93+
> You don't have to chose between pyOpenSci and JOSS; You can submit your package to both.
94+
95+
pyOpenSci and [the Journal of Open Source Software (JOSS)](https://joss.theoj.org/)
96+
are complementary, partner organizations; and you don't have to chose one or the
97+
other! After a package to pyOpenSci has been reviewed and accepted by pyOpenSci
98+
you can chose to also register it with JOSS. JOSS has [more limited scope](https://joss.readthedocs.io/en/latest/review_criteria.html) of the
99+
for packages that it will review. For instance while pyOpenSci will review and
100+
accept API wrappers, JOSS won't.
101+
102+
If your package is accepted by pyOpenSci and in scope for JOSS, JOSS will fast
103+
track your package through their process given it was already reviewed by us.
104+
Once accepted by JOSS, you now have both a pyOpenSci acceptance and one by JOSS.
105+
Joss will then give you a cross-ref supported DOI for citation.
106+
107+
### Why Two Review Processes JOSS and pyOpenSci?
108+
109+
the pyOpenSci review process is different from that of JOSS in a few ways:
110+
* pyOpenSci is specific to the Python community and thus will enforce community specific python specific standards.
111+
* pyOpenSci places heavy emphasis on documentation and usability in our reviews and associated standardization of both.
112+
* pyOpenSci builds community around and visibility for it's tools.
113+
* pyOpenSci supports long term tool maintenance.
114+
115+
116+
JOSS reviews are [more limited in scope](https://joss.readthedocs.io/en/latest/review_criteria.html) compared to pyOpenSci and the
117+
[submission criteria](https://joss.readthedocs.io/en/latest/review_criteria.html)
118+
are, in places, less stringent than those of pyOpenSci.
119+
</div>
120+
121+
122+
123+
-->
124+
125+
## Our editorial board
126+
127+
We value our volunteer editors. Learn more about what editors do and how we select
128+
them here.
129+
130+
{% assign editors = site.data.contributors | where: 'editor', true %}
131+
132+
<div class="grid people">
133+
{% for aperson in editors %}
134+
<article class="person__item" itemscope="" itemtype="https://schema.org/CreativeWork">
135+
{% if aperson.github_image_id %}
136+
<div>
137+
<img src="https://avatars1.githubusercontent.com/u/{{ aperson.github_image_id }}?s=400&v=4" alt="image of {{ aperson.name}}" class="contrib_avatar">
138+
</div>
139+
{% endif %}
140+
<div class="about_person">
141+
<h4 class="grid_title" itemprop="headline">
142+
<a href="https://www.github.com/{{ aperson.github_username }}" rel="permalink"> {{ aperson.name }}
143+
</a>
144+
</h4>
145+
<p class="page__meta title">
146+
{% if aperson.title %}
147+
{{ aperson.title }}
148+
{% endif %}
149+
</p>
150+
<p class="page__meta focus-areas">
151+
{% if aperson.focus-areas %}
152+
{% for anArea in aperson.focus-areas %}
153+
{{ anArea }}{% if forloop.last == false %}, {% endif %}
154+
{% endfor %}
155+
{% endif %}
156+
</p>
157+
</div>
158+
<!-- Contribution types -->
159+
<p class="page__meta bio">
160+
<span>
161+
{{ aperson.name}} is also a
162+
{% for atype in aperson.contributor_type %}
163+
{{ atype }}{% if forloop.last == false %}, {% endif %}
164+
{% endfor %} for pyOpenSci.
165+
</span>
166+
</p>
167+
<p class="contrib_org" itemprop="organization"> Affiliation: {{ aperson.organization }} </p>
168+
</article>
169+
{% endfor %}
170+
</div>
171+
172+
<br style="clear:both">

_pages/redirects/author-guide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "pyopensci author guide redirect page"
3+
permalink: /contributing-guide/open-source-software-submissions/author-guide/
4+
redirect_to: https://www.pyopensci.org/peer-review-guide/software-peer-review-guide/author-guide.html
5+
---
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: pyOpenSci peer review guide
3+
permalink: /contributing-guide/
4+
redirect_to: https://www.pyopensci.org/peer-review-guide/
5+
---
6+
7+
Oops - looks like you're looking for our {{ page.title }}. Directing you
8+
to the right page now: <a href="{{ page.redirect_to }}"> {{ page.redirect_to }} </a>

0 commit comments

Comments
 (0)