Generate the release cycle chart directly as SVG by encukou · Pull Request #1034 · python/devguide · GitHub
Skip to content
Merged
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
31 changes: 0 additions & 31 deletions .github/workflows/release-cycle.yml

This file was deleted.

11 changes: 6 additions & 5 deletions .gitignore
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ html: ensure-venv versions
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

.PHONY: dirhtml
dirhtml: ensure-venv
dirhtml: ensure-venv versions
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
Expand Down Expand Up @@ -189,14 +189,14 @@ serve:
"(see https://github.com/python/cpython/issues/80510)"

include/branches.csv: include/release-cycle.json
$(PYTHON) _tools/generate_release_cycle.py
$(VENVDIR)/bin/python3 _tools/generate_release_cycle.py

include/end-of-life.csv: include/release-cycle.json
$(PYTHON) _tools/generate_release_cycle.py
$(VENVDIR)/bin/python3 _tools/generate_release_cycle.py

include/release-cycle.mmd: include/release-cycle.json
$(PYTHON) _tools/generate_release_cycle.py
include/release-cycle.svg: include/release-cycle.json
$(VENVDIR)/bin/python3 _tools/generate_release_cycle.py

.PHONY: versions
versions: include/branches.csv include/end-of-life.csv include/release-cycle.mmd
versions: venv include/branches.csv include/end-of-life.csv include/release-cycle.svg
@echo Release cycle data generated.
97 changes: 50 additions & 47 deletions _static/devguide_overrides.css
Original file line number Diff line number Diff line change
Expand Up @@ -7,66 +7,69 @@
}

/* Release cycle chart */
#python-release-cycle .mermaid .active0,
#python-release-cycle .mermaid .active1,
#python-release-cycle .mermaid .active2,
#python-release-cycle .mermaid .active3 {
fill: #00dd00;
stroke: darkgreen;

.release-cycle-chart {
width: 100%;
}

.release-cycle-chart .release-cycle-year-line {
stroke: var(--color-foreground-primary);
stroke-width: 0.8px;
opacity: 75%;
}

.release-cycle-chart .release-cycle-year-text {
fill: var(--color-foreground-primary);
}

#python-release-cycle .mermaid .done0,
#python-release-cycle .mermaid .done1,
#python-release-cycle .mermaid .done2,
#python-release-cycle .mermaid .done3 {
fill: orange;
stroke: darkorange;
.release-cycle-chart .release-cycle-today-line {
stroke: var(--color-brand-primary);
stroke-width: 1.6px;
}

#python-release-cycle .mermaid .task0,
#python-release-cycle .mermaid .task1,
#python-release-cycle .mermaid .task2,
#python-release-cycle .mermaid .task3 {
fill: #007acc;
stroke: #004455;
.release-cycle-chart .release-cycle-row-shade {
fill: var(--color-background-item);
opacity: 50%;
}

#python-release-cycle .mermaid .section0,
#python-release-cycle .mermaid .section2 {
fill: darkgrey;
.release-cycle-chart .release-cycle-version-label {
fill: var(--color-foreground-primary);
}

/* Set master colours */
:root {
--mermaid-section1-3: white;
--mermaid-text-color: black;
.release-cycle-chart .release-cycle-blob {
stroke-width: 1.6px;
/* default colours, overriden below for individual statuses */
fill: var(--color-background-primary);
stroke: var(--color-foreground-primary);
}

@media (prefers-color-scheme: dark) {
body[data-theme=auto] {
--mermaid-section1-3: black;
--mermaid-text-color: #ffffffcc;
}
.release-cycle-chart .release-cycle-blob-label {
/* white looks good on both light & dark */
fill: white;
}
body[data-theme=dark] {
--mermaid-section1-3: black;
--mermaid-text-color: #ffffffcc;

.release-cycle-chart .release-cycle-blob-label.release-cycle-blob-security,
.release-cycle-chart .release-cycle-blob-label.release-cycle-blob-bugfix {
/* but use black to improve contrast for lighter backgrounds */
fill: black;
}

.release-cycle-chart .release-cycle-blob.release-cycle-blob-end-of-life {
fill: #DD2200;
stroke: #FF8888;
}

.release-cycle-chart .release-cycle-blob.release-cycle-blob-security {
fill: #FFDD44;
stroke: #FF8800;
}

#python-release-cycle .mermaid .section1,
#python-release-cycle .mermaid .section3 {
fill: var(--mermaid-section1-3);
.release-cycle-chart .release-cycle-blob.release-cycle-blob-bugfix {
fill: #00DD22;
stroke: #008844;
}

#python-release-cycle .mermaid .grid .tick text,
#python-release-cycle .mermaid .sectionTitle0,
#python-release-cycle .mermaid .sectionTitle1,
#python-release-cycle .mermaid .sectionTitle2,
#python-release-cycle .mermaid .sectionTitle3,
#python-release-cycle .mermaid .taskTextOutside0,
#python-release-cycle .mermaid .taskTextOutside1,
#python-release-cycle .mermaid .taskTextOutside2,
#python-release-cycle .mermaid .taskTextOutside3,
#python-release-cycle .mermaid .titleText {
fill: var(--mermaid-text-color);
.release-cycle-chart .release-cycle-blob.release-cycle-blob-feature {
fill: #2222EE;
stroke: #008888;
}
134 changes: 89 additions & 45 deletions _tools/generate_release_cycle.py
Loading