From 8bc5fb4a87b3a91f2a5a78a602add0bd943b5131 Mon Sep 17 00:00:00 2001 From: Michiel Sikma Date: Wed, 19 Aug 2020 22:13:42 +0200 Subject: [PATCH] Make misc item size explicit --- docs/resources/pokesprite-docs.css | 9 ----- scripts/gen_docs.py | 65 ++++++++++++++++++++---------- 2 files changed, 43 insertions(+), 31 deletions(-) diff --git a/docs/resources/pokesprite-docs.css b/docs/resources/pokesprite-docs.css index 4c8e758c..32b3b40a 100644 --- a/docs/resources/pokesprite-docs.css +++ b/docs/resources/pokesprite-docs.css @@ -208,13 +208,4 @@ } .markdown-body .pokesprite tbody img.retina { image-rendering: auto; - width: 32px; - height: 32px; -} -.markdown-body .pokesprite tbody img.retina-ribbon-gen8 { - margin: 4px; -} -.markdown-body .pokesprite tbody img.retina-seal-2x { - width: 24px; - height: 16px; } diff --git a/scripts/gen_docs.py b/scripts/gen_docs.py index 1ceaf7a5..4a4a4376 100755 --- a/scripts/gen_docs.py +++ b/scripts/gen_docs.py @@ -172,7 +172,7 @@ def get_menu_links(curr_page): return ''.join(menu_links) def get_title_venusaur(): - return get_img_node(get_pkm_url(DEX_SPRITE_DIR[8], 'venusaur', True, False, False), None, 'Shiny Venusaur', 'p') + return get_img_node(get_pkm_url(DEX_SPRITE_DIR[8], 'venusaur', True, False, False), None, 'Shiny Venusaur', 'p', '1x') def wrap_in_html(content, title, version, commit, res_dir = '.'): return ''' @@ -348,11 +348,31 @@ def get_td_node(td): attr = ' class="image"' if str(td)[:4] == '{td}' -def get_img_node(url, name, form_name, type, retina_type = None): +def get_img_node_style(size = None, padding = None): + if size is None and padding is None: + return '' + segments = [] + if size is not None: + segments.append(f'width: {size[0]}px') + segments.append(f'height: {size[1]}px') + if padding is not None and (padding[0] != '0' and padding[1] != '0'): + padding_h = int(padding[0]) / 2 + padding_v = int(padding[1]) / 2 + segments.append(f'padding-left: {padding_h}px') + segments.append(f'padding-right: {padding_h}px') + segments.append(f'padding-top: {padding_v}px') + segments.append(f'padding-bottom: {padding_v}px') + return f' style="{"; ".join(segments)}"' + +def get_img_node(url, name, form_name, type, retina_type = None, display_values = None): + display_size, display_padding = display_values.split('+') if display_values is not None else [None, None] + size = display_size.split('x') if display_size is not None else None + padding = display_padding.split('x') if display_padding is not None else None + style = get_img_node_style(size, padding) form_name = html.escape(form_name) - cls = [type, 'retina retina-' + retina_type if retina_type else ''] + cls = [type, 'retina' if retina_type != '1x' else ''] cls = ' '.join(cls).strip() - return f'{form_name}' + return f'{form_name}' def get_gen_str(str): return str.capitalize() if 'gen-' not in str else ('Gen ' + str.split('-')[1]) @@ -389,8 +409,8 @@ def append_pkm(cols, base, slug_display, slug_file, form_name, form_alias, has_f '''Adds a single Pokémon row''' cols.append([ get_counter(), - get_img_node(get_pkm_url(base, slug_file, False, is_female, is_right), None, form_name, 'p'), - get_img_node(get_pkm_url(base, slug_file, True, is_female, is_right), None, form_name, 'p'), + get_img_node(get_pkm_url(base, slug_file, False, is_female, is_right), None, form_name, 'p', '1x'), + get_img_node(get_pkm_url(base, slug_file, True, is_female, is_right), None, form_name, 'p', '1x'), [get_pkm_form(form_name, form_alias, is_unofficial_icon, is_female, has_unofficial_female_icon), get_pkm_gender(is_female, has_female), get_pkm_gen(is_prev_gen_icon, docs_gen)], f'{slug_display}' ]) @@ -452,10 +472,8 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', for v in vs: count = get_counter() gen_n = get_gen_str(k) - res = item['resolution'][k] - retina_type = \ - 'ribbon-gen8' if (res == '2x' and misc_set in ['ribbon', 'mark']) else \ - None + res_type = item['resolution'][k] + res_vals = res_type[1] if len(res_type) > 1 else None buffer.append('') buffer.append(f'{count}') if row_n == 0: @@ -464,7 +482,7 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', 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', retina_type) + '') + buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', res_type[0], res_vals) + '') buffer.append(f' 1 and row_n > 0 else ""}">{v}') if len(vs) > 1: if gen_row_n == 0: @@ -495,6 +513,8 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', for k, v in files: count = get_counter() gen_n = get_gen_str(k) + res_type = item['resolution'][k] + res_vals = res_type[1] if len(res_type) > 1 else None buffer.append('') buffer.append(f'{count}') if row_n == 0: @@ -502,7 +522,7 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', rowspan = f' rowspan="{rows}"' if rows > 1 else '' buffer.append(f'{name_eng.capitalize()}') buffer.append(f'{name_jpn}') - buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', 'body-style-gen8') + '') + buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', res_type[0], res_vals) + '') buffer.append(f'{v}') buffer.append(f'{gen_n}') buffer.append('') @@ -526,6 +546,8 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', for k, v in files: count = get_counter() gen_n = get_gen_str(k) + res_type = item['resolution'][k] + res_vals = res_type[1] if len(res_type) > 1 else None colors = item['colors'][k] main_color = colors[0] buffer.append('') @@ -538,7 +560,7 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', buffer.append('' + \ f'' + \ - get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', 'body-style-gen8') + '') + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', res_type[0], res_vals) + '') buffer.append(f'{v}') buffer.append(f'{gen_n}') buffer.append('') @@ -563,11 +585,8 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', for k, v in files: count = get_counter() gen_n = get_gen_str(k) - res = item['resolution'][k] - retina_type = \ - 'seal-3x' if res == '3x' else \ - 'seal-2x' if res == '2x' else \ - None + res_type = item['resolution'][k] + res_vals = res_type[1] if len(res_type) > 1 else None buffer.append('') buffer.append(f'{count}') if row_n == 0: @@ -575,7 +594,7 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', rowspan = f' rowspan="{rows}"' if rows > 1 else '' buffer.append(f'{name_eng.capitalize()}') buffer.append(f'{name_jpn}') - buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', retina_type) + '') + buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', res_type[0], res_vals) + '') buffer.append(f'{v}') buffer.append(f'{gen_n}') buffer.append('') @@ -601,6 +620,8 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', for k, v in files: count = get_counter() gen_n = get_gen_str(k) + res_type = item['resolution'][k] + res_vals = res_type[1] if len(res_type) > 1 else None buffer.append('') buffer.append(f'{count}') if row_n == 0: @@ -608,7 +629,7 @@ def generate_misc_table(misc, meta, curr_page, json_file, version = '[unknown]', 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', 'body-style-gen8' if k == 'gen-8' else '') + '') + buffer.append('' + get_img_node(get_misc_url(base_url, v), None, f"Sprite for '{name_eng}'", 'm', res_type[0], res_vals) + '') buffer.append(f'{v}') buffer.append(f'{gen_n}') buffer.append('') @@ -681,7 +702,7 @@ def generate_items_table(itm, itm_unl, inv, etc, dirs, curr_page, json_file, ver name = item['name'] id = item['id'] expl = item.get('expl', False) - imgs = ['' + get_img_node(get_itm_url(base_url, dir, group, name), None, f'"{name}" ({dir})', 'i') + '' for dir in dirs] + imgs = ['' + get_img_node(get_itm_url(base_url, dir, group, name), None, f'"{name}" ({dir})', 'i', '1x') + '' for dir in dirs] filename = group + '/' + name + '.png' buffer.append('') buffer.append(f'{count}') @@ -804,7 +825,7 @@ def generate_dex_table(dex, etc, gen, gen_dir, curr_page, json_file, add_female name_eng = item['name']['eng'] name_jpn = item['name']['jpn'] file = item['file'] - img = get_img_node(get_etc_url(base_url, file), None, name_eng, 'p') + img = get_img_node(get_etc_url(base_url, file), None, name_eng, 'p', '1x') buffer.append(f''' {count} {EMPTY_PLACEHOLDER}