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'{form_name}' + cls = [type, 'retina-' + retina_type if retina_type else ''] + cls = ' '.join(cls).strip() + return f'{form_name}' 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('#Name名前SpriteOriginDescription/genFilename/gen') - buffer.append('#Name名前SpriteOriginFilename/gen') + buffer.append('') + buffer.append('') + buffer.append('#Name名前OriginSpriteFilename/gen') + 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('#Type種類SpriteFilename/gen') + buffer.append('') + buffer.append('') + buffer.append('#Type種類SpriteFilename/gen') + 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('''