Skip to content

Commit efd3269

Browse files
Round 2
1 parent ef97906 commit efd3269

File tree

11 files changed

+292
-187
lines changed

11 files changed

+292
-187
lines changed

generate.py

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from pathlib import Path
1010

1111
from git import Repo
12-
from jinja2 import Template
12+
from jinja2 import Environment, FileSystemLoader, Template
1313
from urllib3 import PoolManager
1414

1515
import build_status
@@ -94,16 +94,42 @@ class LanguageProjectData:
9494
logging.basicConfig(level=logging.INFO)
9595
logging.info(f'starting at {generation_time}')
9696
Path('build').mkdir(parents=True, exist_ok=True)
97-
template = Template(Path('index.html.jinja').read_text())
98-
output = template.render(
99-
completion_progress=(completion_progress := list(get_completion_progress())),
97+
98+
#completion_progress = list(get_completion_progress())
99+
completion_progress = [LanguageProjectData(language=Language(code='ar', name='Arabic'), repository='Abdur-rahmaanJ/python-docs-ar', branch='master', completion=0.013630393298803004, change=0.0, translators=TranslatorsData(number=3, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link='https://github.com/Abdur-rahmaanJ/python-docs-ar'), LanguageProjectData(language=Language(code='bn-in', name='Bengali'), repository='python/python-docs-bn-in', branch='3.14', completion=0.10904314639042403, change=0.0, translators=TranslatorsData(number=1, link=False), built=True, in_switcher=False, uses_platform=False, contribution_link='https://github.com/python/python-docs-bn-in'), LanguageProjectData(language=Language(code='fr', name='French'), repository='python/python-docs-fr', branch='3.13', completion=32.880226016703425, change=0.0, translators=TranslatorsData(number=241, link='https://github.com/python/python-docs-fr/blob/3.13/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://git.afpy.org/AFPy/python-docs-fr/src/branch/3.13/CONTRIBUTING.rst'), LanguageProjectData(language=Language(code='el', name='Greek'), repository='python/python-docs-el', branch='3.14', completion=7.6354985006567375, change=0.29367301925602884, translators=TranslatorsData(number=15, link='https://github.com/python/python-docs-el/blob/3.14/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://github.com/python/python-docs-el'), LanguageProjectData(language=Language(code='hi-in', name='Hindi'), repository='CuriousLearner/python-docs-hi-in', branch='master', completion=0.004956506654110183, change=0.0, translators=TranslatorsData(number=1, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link='https://github.com/CuriousLearner/python-docs-hi-in'), LanguageProjectData(language=Language(code='hu', name='Hungarian'), repository='python/python-docs-hu', branch='master', completion=0.0, change=0.0, translators=TranslatorsData(number=1, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link='https://github.com/python/python-docs-hu'), LanguageProjectData(language=Language(code='id', name='Indonesian'), repository='python/python-docs-id', branch='3.14', completion=0.0, change=0.0, translators=TranslatorsData(number=25, link='https://github.com/python/python-docs-id/blob/3.14/TRANSLATORS'), built=True, in_switcher=False, uses_platform=False, contribution_link='https://github.com/python/python-docs-id/blob/master/README.md#berkontribusi-untuk-menerjemahkan'), LanguageProjectData(language=Language(code='it', name='Italian'), repository='python/python-docs-it', branch='3.13', completion=3.351837624842011, change=0.0, translators=TranslatorsData(number=3, link='https://github.com/python/python-docs-it/blob/3.13/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://github.com/python/python-docs-it'), LanguageProjectData(language=Language(code='ja', name='Japanese'), repository='python/python-docs-ja', branch='3.14', completion=49.79430497385443, change=0.04336943322346798, translators=TranslatorsData(number=13, link=False), built=True, in_switcher=True, uses_platform=True, contribution_link='https://explore.transifex.com/python-doc/python-newest/'), LanguageProjectData(language=Language(code='ko', name='Korean'), repository='python/python-docs-ko', branch='3.13', completion=45.986468736834276, change=0.2478253327055029, translators=TranslatorsData(number=23, link='https://github.com/python/python-docs-ko/blob/3.13/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://www.flowdas.com/pages/python-docs-ko.html'), LanguageProjectData(language=Language(code='mr', name='Marathi'), repository='sanketgarade/python-doc-mr', branch='3.9', completion=0.0, change=0.0, translators=TranslatorsData(number=1, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link='https://github.com/sanketgarade/python-doc-mr'), LanguageProjectData(language=Language(code='lt', name='Lithuanian'), repository=None, branch='', completion=0.0, change=0.0, translators=TranslatorsData(number=0, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link=None), LanguageProjectData(language=Language(code='fa', name='Persian'), repository='revisto/python-docs-fa', branch='3.13', completion=0.0, change=0.0, translators=TranslatorsData(number=9, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link='https://github.com/revisto/python-docs-fa'), LanguageProjectData(language=Language(code='pl', name='Polish'), repository='python/python-docs-pl', branch='3.14', completion=40.93083194964189, change=29.423062625461576, translators=TranslatorsData(number=9, link=False), built=True, in_switcher=True, uses_platform=True, contribution_link='https://explore.transifex.com/python-doc/python-newest/'), LanguageProjectData(language=Language(code='pt', name='Portuguese'), repository=None, branch='', completion=0.0, change=0.0, translators=TranslatorsData(number=0, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link=None), LanguageProjectData(language=Language(code='pt-br', name='Brazilian Portuguese'), repository='python/python-docs-pt-br', branch='3.14', completion=62.121137022626456, change=1.494386756214226, translators=TranslatorsData(number=3, link=False), built=True, in_switcher=True, uses_platform=True, contribution_link='https://explore.transifex.com/python-doc/python-newest/'), LanguageProjectData(language=Language(code='ro', name='Romanian'), repository='python/python-docs-ro', branch='main', completion=1.192039850313499, change=0.49317241208396323, translators=TranslatorsData(number=1, link='https://github.com/python/python-docs-ro/blob/main/TRANSLATORS'), built=True, in_switcher=False, uses_platform=False, contribution_link='https://github.com/python/python-docs-ro'), LanguageProjectData(language=Language(code='ru', name='Russian'), repository='MLGRussianXP/python-docs-ru', branch='3.14', completion=0.19578201283735222, change=0.008673886644692819, translators=TranslatorsData(number=3, link=False), built=False, in_switcher=None, uses_platform=False, contribution_link='https://github.com/MLGRussianXP/python-docs-ru'), LanguageProjectData(language=Language(code='zh-cn', name='Simplified Chinese'), repository='python/python-docs-zh-cn', branch='3.14', completion=96.77950980149191, change=20.155634308939057, translators=TranslatorsData(number=224, link=False), built=True, in_switcher=True, uses_platform=True, contribution_link='https://explore.transifex.com/python-doc/python-newest/'), LanguageProjectData(language=Language(code='es', name='Spanish'), repository='python/python-docs-es', branch='3.13', completion=57.77551981363535, change=0.026021659934073682, translators=TranslatorsData(number=314, link='https://github.com/python/python-docs-es/blob/3.13/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://python-docs-es.readthedocs.io/page/CONTRIBUTING.html'), LanguageProjectData(language=Language(code='zh-tw', name='Traditional Chinese'), repository='python/python-docs-zh-tw', branch='3.13', completion=37.15273475254641, change=1.7174295556491828, translators=TranslatorsData(number=124, link='https://github.com/python/python-docs-zh-tw/blob/3.13/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://github.com/python/python-docs-zh-tw/blob/3.13/README.rst#%E5%8F%83%E8%88%87%E7%BF%BB%E8%AD%AF'), LanguageProjectData(language=Language(code='tr', name='Turkish'), repository='python/python-docs-tr', branch='3.12', completion=4.693811801442344, change=0.0, translators=TranslatorsData(number=30, link='https://github.com/python/python-docs-tr/blob/3.12/TRANSLATORS'), built=True, in_switcher=True, uses_platform=False, contribution_link='https://github.com/python/python-docs-tr/blob/3.12/README.md#%C3%A7eviriye-katk%C4%B1da-bulunmak'), LanguageProjectData(language=Language(code='uk', name='Ukrainian'), repository='python/python-docs-uk', branch='3.13', completion=49.25280662189289, change=0.0, translators=TranslatorsData(number=13, link=False), built=True, in_switcher=False, uses_platform=True, contribution_link='https://explore.transifex.com/python-doc/python-newest/')]
100+
#counts = get_counts(Path('clones', 'cpython', 'Doc', 'build', 'gettext'))
101+
counts = 11, 22
102+
103+
env = Environment(loader=FileSystemLoader("templates"))
104+
index = env.get_template('index.html.jinja').render(
105+
completion_progress=completion_progress,
106+
generation_time=generation_time,
107+
duration=(datetime.now(timezone.utc) - generation_time).seconds,
108+
counts=counts,
109+
)
110+
111+
chart = env.get_template('chart.html.jinja').render(
112+
completion_progress=completion_progress,
100113
generation_time=generation_time,
101114
duration=(datetime.now(timezone.utc) - generation_time).seconds,
102-
counts=get_counts(Path('clones', 'cpython', 'Doc', 'build', 'gettext')),
115+
counts=counts,
103116
)
104-
Path('build/style.css').write_bytes(Path('style.css').read_bytes())
105-
Path('build/logo.png').write_bytes(Path('logo.png').read_bytes())
106-
Path('build/index.html').write_text(output)
117+
118+
lang_template = env.get_template('language.html.jinja')
119+
for language_data in completion_progress:
120+
language = language_data.language
121+
code = language.code
122+
123+
html = lang_template.render(
124+
language=language_data,
125+
)
126+
127+
Path(f'build/{code}.html').write_text(html)
128+
129+
Path('build/style.css').write_bytes(Path('src/style.css').read_bytes())
130+
Path('build/logo.png').write_bytes(Path('src/logo.png').read_bytes())
131+
Path('build/index.html').write_text(index)
132+
Path('build/chart.html').write_text(chart)
107133
Path('build/index.json').write_text(
108134
json.dumps(completion_progress, indent=2, default=asdict)
109135
)

generate_metadata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def get_language_repo_and_completion(
5555
if __name__ == '__main__':
5656
logging.basicConfig(level=logging.INFO)
5757
logging.info(f'starting at {generation_time}')
58-
template = Template(Path('metadata.html.jinja').read_text())
58+
template = Template(Path('templates/metadata.html.jinja').read_text())
5959
if (index_path := Path('index.json')).exists():
6060
index_json = loads(Path('index.json').read_text())
6161
else:

index.html.jinja

Lines changed: 0 additions & 61 deletions
This file was deleted.
File renamed without changes.

src/style.css

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
/* GLOBAL STYLES
2+
-------------------------------------------------- */
3+
/* Padding below the footer and lighter body text */
4+
5+
body {
6+
padding-top: 4.5rem;
7+
padding-left: .5rem;
8+
padding-right: .5rem;
9+
padding-bottom: 3rem;
10+
color: #5a5a5a;
11+
background-color: rgb(245, 245, 245);
12+
overflow-x: hidden; /* Risky, this need testing but I find scroll bar annoying */
13+
}
14+
15+
a {
16+
color: #0d0d0d;
17+
}
18+
19+
a:hover {
20+
color: #fe6615;
21+
}
22+
23+
/* NAVAR
24+
* ----------------------------------------*/
25+
26+
.navbar {
27+
background-color: rgb(245, 245, 245);
28+
border-bottom: 0.25px solid #999;
29+
}
30+
31+
.navbar li {
32+
transition: 0.3s background-color;
33+
text-align: center;
34+
background-color: transparent;
35+
padding: 0rem 1rem;
36+
text-decoration: none;
37+
border-radius: 0.3rem;
38+
}
39+
40+
.navbar li:hover {
41+
background-color: #d0cccd;
42+
}
43+
44+
.navbar li .nav-link {
45+
color: #0d0d0d;
46+
}
47+
48+
/* Cards and card columns
49+
----------------------------- */
50+
51+
.row > [class^="col-"] {
52+
display: flex;
53+
}
54+
55+
.card {
56+
flex: 1;
57+
}
58+
59+
.card:hover {
60+
background: linear-gradient(90deg, #cc9add 8.06%, #ebad98 106.93%);
61+
text-decoration: none;
62+
transform: scale(1.05);
63+
transition: all 0.3s ease-in-out;
64+
}
65+
66+
.card:hover .card-title,
67+
.card:hover .card-subtitle,
68+
.card:hover .card-text {
69+
color: white;
70+
}
71+
72+
.card:hover .card-link {
73+
color: rgb(231, 231, 231);
74+
}
75+
76+
@media (min-width: 768px) {
77+
.card {
78+
flex-basis: calc(33.33% - 30px);
79+
}
80+
}
81+
82+
/* -------------------------- OLD STUFF ------------------------------------ */
83+
84+
table {
85+
border-collapse: collapse;
86+
}
87+
th, td {
88+
border: 1px solid #ddd;
89+
padding: 8px 12px;
90+
text-align: left;
91+
white-space: nowrap;
92+
}
93+
th {
94+
background-color: #f4f4f4;
95+
}
96+
hr {
97+
color: #f4f4f4;
98+
}
99+
.progress-bar {
100+
display: inline-block;
101+
color: white;
102+
height: 20px;
103+
line-height: 20px;
104+
text-align: center;
105+
overflow: hidden;
106+
white-space: nowrap;
107+
box-sizing: border-box;
108+
}
109+
.progress-bar-outer-label {
110+
display: none;
111+
padding-left: .5em;
112+
height: 20px;
113+
line-height: 20px;
114+
overflow: hidden;
115+
}
116+
.progress-bar.low {
117+
color: transparent;
118+
user-select: none;
119+
}
120+
.progress-bar.low + .progress-bar-outer-label {
121+
display: inline-block;
122+
}
123+
td[data-label="translators"], td[data-label="warnings"], td[data-label="lint"] {
124+
text-align: right;
125+
}
126+
td[data-label="completion"] {
127+
width: 100%;
128+
line-height: 0;
129+
}
130+
.switchpages{
131+
position: absolute;
132+
top: 10px;
133+
right: 10px;
134+
}
135+
136+
@media screen and (max-width: 675px) {
137+
.switchpages{
138+
all: unset;
139+
}
140+
}
141+
142+
@media screen and (max-width: 600px) {
143+
table, thead, tbody, th, td, tr {
144+
display: block;
145+
}
146+
th {
147+
position: absolute;
148+
top: -9999px;
149+
left: -9999px;
150+
}
151+
tr {
152+
border: 1px solid #ccc;
153+
margin-bottom: 5px;
154+
}
155+
td {
156+
border: none;
157+
border-bottom: 1px solid #eee;
158+
padding-left: 50%;
159+
position: relative;
160+
}
161+
td:before {
162+
content: attr(data-label);
163+
font-weight: bold;
164+
left: 10px;
165+
position: absolute;
166+
}
167+
td[data-label="completion"] {
168+
width: inherit;
169+
}
170+
.progress-bar {
171+
min-width: 0;
172+
width: 100% !important;
173+
}
174+
}

style.css

Lines changed: 0 additions & 80 deletions
This file was deleted.

0 commit comments

Comments
 (0)