diff --git a/docs/resources/gh-markdown.css b/docs/resources/gh-markdown.css
index 70253fed..787ef7ef 100644
--- a/docs/resources/gh-markdown.css
+++ b/docs/resources/gh-markdown.css
@@ -425,7 +425,8 @@
border-top: 1px solid var(--shade-5);
}
-.markdown-body table tr:nth-child(2n) {
+.markdown-body table tbody:not(.alternating) tr:nth-child(2n),
+.markdown-body table tbody.alternating:nth-child(2n) tr {
background-color: var(--shade-2);
}
diff --git a/docs/resources/pokesprite-docs.css b/docs/resources/pokesprite-docs.css
index b47babf5..c8352a80 100644
--- a/docs/resources/pokesprite-docs.css
+++ b/docs/resources/pokesprite-docs.css
@@ -32,6 +32,7 @@
/* The rest */
.markdown-body .pokesprite tr.header th {
text-align: left;
+ background-color: var(--shade-2);
}
.markdown-body .pokesprite tr.header th,
.markdown-body .pokesprite tr.header td {
@@ -52,7 +53,7 @@
.markdown-body .pokesprite tbody tr:hover td {
background: var(--shade-3);
}
-.markdown-body .pokesprite tbody tr td[rowspan] {
+.markdown-body .pokesprite tbody:not(.alternating) tr td[rowspan] {
background: var(--shade-0);
}
.markdown-body .pokesprite tbody tr td.group {
@@ -179,3 +180,8 @@
.markdown-body .pokesprite.gen8 tbody img.p {
margin: -18px 0 -4px 0;
}
+.markdown-body .pokesprite tbody img.retina-ribbon-gen8 {
+ width: 32px;
+ height: 32px;
+ margin: 4px;
+}
diff --git a/scripts/gen_docs.py b/scripts/gen_docs.py
index 89e0a831..2f6d3715 100755
--- a/scripts/gen_docs.py
+++ b/scripts/gen_docs.py
@@ -336,9 +336,11 @@ def get_td_node(td):
attr = ' class="image"' if str(td)[:4] == '
{td}'
-def get_img_node(url, name, form_name, type):
+def get_img_node(url, name, form_name, type, retina_type = None):
form_name = html.escape(form_name)
- return f'
'
+ cls = [type, 'retina-' + retina_type if retina_type else '']
+ cls = ' '.join(cls).strip()
+ return f'
'
def reset_counter():
'''Resets the global sprite counter'''
@@ -386,6 +388,9 @@ def append_pkm_form(cols, base, slug_display, slug_file, form_name, form_alias,
def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', commit = '[unknown]'):
'''Generates a documentation table for miscellaneous sprites'''
+ # Note: this table works slightly different than the rest.
+ # Instead of having one
, it has many of them,
+ # each one containing one item with potentially multiple sprites.
reset_counter()
groups = meta['misc-groups']
base_url = REPO_BASE_URL
@@ -399,12 +404,14 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]',
buffer.append('')
# Ribbons
+ buffer.append('')
buffer.append(' | %s |
' % groups['ribbon']['name']['eng'])
- #buffer.append('')
- buffer.append('')
+ buffer.append('')
+ buffer.append('')
+ buffer.append('')
+ buffer.append('')
for item in misc['ribbon']:
- count = get_counter()
name = item['name']
name_eng = name['eng']
name_jpn = name['jpn']
@@ -415,43 +422,61 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]',
desc_gen = desc['from_gen']
desc_eng_esc = html.escape(desc_eng)
name_eng_desc = f'{name_eng}'
- for k, v in item['files'].items():
+ row_n = 0
+ files = item['files'].items()
+ buffer.append('')
+ for k, v in files:
+ count = get_counter()
gen_n = k.split('-')[1]
buffer.append('')
buffer.append(f'| {count} | ')
- buffer.append(f'{name_eng_desc} | ')
- buffer.append(f'{name_jpn} | ')
- buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm') + ' | ')
- buffer.append(f'Gen {origin_gen} | ')
- #buffer.append(f'{desc_eng} | ')
- #buffer.append(f'Gen {desc_gen} | ')
+ if row_n == 0:
+ rows = len(files)
+ rowspan = f' rowspan="{rows}"' if rows > 1 else ''
+ buffer.append(f'{name_eng_desc} | ')
+ buffer.append(f'{name_jpn} | ')
+ buffer.append(f'Gen {origin_gen} | ')
+ buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', 'ribbon-gen8' if gen_n == '8' else None) + ' | ')
buffer.append(f'{v} | ')
buffer.append(f'Gen {gen_n} | ')
buffer.append('
')
sprites_counter += 1
+ row_n += 1
+ buffer.append('')
# Body styles
+ buffer.append('')
buffer.append(' | %s |
' % groups['body-style']['name']['eng'])
- buffer.append('')
+ buffer.append('')
+ buffer.append('')
+ buffer.append('')
+ buffer.append('')
for item in misc['body-style']:
- count = get_counter()
name = item['name']
name_eng = name['eng']
name_jpn = name['jpn']
- for k, v in item['files'].items():
+ row_n = 0
+ files = item['files'].items()
+ buffer.append('')
+ for k, v in files:
+ count = get_counter()
gen_n = k.split('-')[1]
buffer.append('')
buffer.append(f'| {count} | ')
- buffer.append(f'{name_eng} | ')
- buffer.append(f'{name_jpn} | ')
+ if row_n == 0:
+ rows = len(files)
+ rowspan = f' rowspan="{rows}"' if rows > 1 else ''
+ buffer.append(f'{name_eng} | ')
+ buffer.append(f'{name_jpn} | ')
buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm') + ' | ')
- buffer.append(f'{v} | ')
+ buffer.append(f'{v} | ')
buffer.append(f'Gen {gen_n} | ')
buffer.append('
')
sprites_counter += 1
+ row_n += 1
+ buffer.append('')
- buffer.append('')
buffer.append('')
buffer.append('')
buffer.append('''