Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/project.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ assignees: ""

---

<!--
Alongside this issue, please open a pull request that adds a page for the project
under content/projects/. See "Adding a project" for the fields to fill in:
https://python.github.io/editorial-board/projects/how-to-add/
-->

## Project page

(Link to the pull request that adds the project page.)

## Description

(Give a complete description of the proposed documentation changes. Include specific steps. Break it down into tasks people can start working on.)
Expand All @@ -22,3 +32,7 @@ assignees: ""
## Challenges and risks

(Enumerate some possible pitfalls that will need to be navigated.)

## How to help

(Concrete ways a contributor can get involved.)
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,16 @@ pixi run serve

Use `pixi run build` to build the production site into `public/`.

## Adding a project

The [Projects page](https://python.github.io/editorial-board/projects/) is built from one Markdown
file per project under ``content/projects/``, using the template in
[archetypes/projects.md](archetypes/projects.md).

See [Adding a project](https://python.github.io/editorial-board/projects/how-to-add/) on the site
for how to propose a project, the frontmatter fields, and how the project page is laid out.
Its source is [content/adding-a-project.md](content/adding-a-project.md).

## Writing new changelog

Use the template in [archetypes/changelog.md](archetypes/changelog.md).
Expand Down
44 changes: 44 additions & 0 deletions archetypes/projects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: "{{ replace .File.ContentBaseName "-" " " | title }}"
# The date the project was added to the list. Used to order the RSS feed.
date: "{{ .Date }}"
# proposed | active | blocked | done
status: "proposed"
# Editorial Board member sponsoring the project. Leave empty if none yet.
sponsor: ""
# Person actively leading the work. Leave empty if none yet.
# An active project must have a lead.
lead: ""
# One or two sentences on what this project delivers.
summary: ""
# Link to the project issue: the issue that fully describes the project.
project_issue: ""
# Rough priority within its status group: lower numbers are listed first.
weight: 100
# Other relevant issues, PRs, discussions, or docs. GitHub issue and PR links
# get a live status badge, and their title is filled in from GitHub if left empty.
links: []
# - title: ""
# url: ""
---

## Description

What the work is, broken down into tasks if possible.

## Benefits

Who benefits and why this is worth doing now.

## Decisions

Smaller decisions that are still open. Major decisions should be made before the
project is listed.

## Challenges and risks

The hard parts and possible pitfalls.

## How to help

Concrete ways a contributor can get involved.
256 changes: 255 additions & 1 deletion assets/css/extended/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,258 @@
}
#members li:last-child:after {
content: "";
}
}
.project-meta {
display: grid;
grid-template-columns: max-content 1fr;
gap: 0.25rem 1rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.9em;
}

.project-meta dt {
font-weight: 600;
}

.project-meta dd {
margin: 0;
}

.project-status {
display: inline-block;
min-width: 5.5em;
padding: 0 0.5em;
border-radius: 999px;
border: 1px solid currentColor;
font-size: 0.8em;
text-align: center;
}

.project-status-active { color: #1a7f37; }
.project-status-proposed { color: #0969da; }
.project-status-blocked { color: #bc4c00; }
.project-status-done { color: #8250df; }

[data-theme="dark"] .project-status-active { color: #3fb950; }
[data-theme="dark"] .project-status-proposed { color: #4493f8; }
[data-theme="dark"] .project-status-blocked { color: #db6d28; }
[data-theme="dark"] .project-status-done { color: #ab7df8; }

.project-filter {
display: flex;
flex-wrap: wrap;
gap: 0.75rem 1.5rem;
align-items: end;
margin: 1rem 0 1.5rem;
}

.project-filter label {
display: flex;
flex-direction: column;
gap: 0.25rem;
font-size: 0.9em;
}

.project-filter input[type="search"],
.project-filter select {
padding: 0.3rem 0.5rem;
border: 1px solid var(--border);
border-radius: 4px;
background: var(--entry);
color: var(--primary);
box-sizing: border-box;
width: 16rem;
max-width: 100%;
height: 2.25rem;
font: inherit;
font-size: 0.95em;
line-height: normal;
}

.project-filter #project-filter-empty,
.project-filter #project-filter-count {
flex-basis: 100%;
margin: 0;
}

.project-meta a,
.project-refs td a,
.project-table a.project-title {
text-decoration: underline;
text-underline-offset: 0.15em;
}

.project-meta a:hover,
.project-refs td a:hover,
.project-table a.project-title:hover {
text-decoration-thickness: 2px;
}

.project-table-wrap {
overflow-x: auto;
}

.post-content .project-table {
display: table;
width: 100%;
border-collapse: collapse;
font-size: 0.95em;
}

.md-content .project-table-wrap table.project-table th,
.md-content .project-table-wrap table.project-table td {
padding: 0.6rem 0.75rem;
border: 0;
border-bottom: 1px solid var(--border);
text-align: left;
vertical-align: top;
}

.md-content .project-table-wrap table.project-table th {
font-weight: 600;
white-space: nowrap;
}

.md-content .project-table-wrap table.project-table td:not(:first-child) {
white-space: nowrap;
}

.project-table a.project-title {
font-weight: 600;
}

.project-row-summary {
margin-top: 0.25rem;
color: var(--secondary);
font-size: 0.9em;
}

.project-row-summary p {
margin: 0;
}

.project-needed {
color: var(--secondary);
}

.project-row:target {
background: var(--code-bg);
}

.gh-ref .gh-title {
color: var(--secondary);
}

.gh-state {
display: inline-block;
min-width: 5.5em;
margin-right: 0.4em;
padding: 0 0.5em;
border-radius: 999px;
border: 1px solid currentColor;
font-size: 0.8em;
text-align: center;
}

.gh-state-open { color: #1a7f37; }
.gh-state-merged,
.gh-state-completed { color: #8250df; }
.gh-state-closed { color: #cf222e; }
.gh-state-draft,
.gh-state-not-planned { color: #59636e; }

[data-theme="dark"] .gh-state-open { color: #3fb950; }
[data-theme="dark"] .gh-state-merged,
[data-theme="dark"] .gh-state-completed { color: #ab7df8; }
[data-theme="dark"] .gh-state-closed { color: #f85149; }
[data-theme="dark"] .gh-state-draft,
[data-theme="dark"] .gh-state-not-planned { color: #9198a1; }

/* Smaller heading scale than PaperMod's defaults (40/32/24px), site-wide. */
.page-header h1,
.post-title {
font-size: 30px;
}

.md-content h1 {
margin: 32px auto 20px;
font-size: 28px;
}

.md-content h2 {
margin: 28px auto 16px;
font-size: 24px;
}

.md-content h3 {
margin: 24px auto 12px;
font-size: 20px;
}

.md-content h4 {
font-size: 18px;
}

.first-entry .entry-header h1 {
font-size: 30px;
}

.first-entry .entry-header h2 {
font-size: 30px;
}

.entry-header h2 {
font-size: 20px;
}

@media screen and (max-width: 768px) {
.page-header h1,
.post-title {
font-size: 26px;
}

.md-content h2 {
font-size: 22px;
}
}

.project-refs {
margin-top: 2rem;
}

.md-content .project-table-wrap table.gh-ref-table td:first-child {
width: 1%;
}

.md-content .project-table-wrap table.gh-ref-table td.gh-title {
white-space: normal;
color: var(--primary);
}

.gh-ref-table .gh-state {
margin-right: 0;
}

.project-filter input[type="search"] {
-webkit-appearance: none;
appearance: none;
}

.md-content .project-table-wrap table.link-table td:first-child {
white-space: normal;
}

.md-content .project-table-wrap table.link-table td:last-child {
color: var(--secondary);
}

/* PaperMod has no [hidden] reset, so the display rules above would otherwise
override the hidden attribute. Scoped to the project elements: a global rule
would also hide PaperMod's heading anchors, which use hidden too. */
.gh-state[hidden],
.project-filter[hidden],
.project-filter p[hidden],
.project-table[hidden],
.project-row[hidden] {
display: none;
}
Loading