#!/usr/bin/env python3 import json GROUPS_JSON = '../../../twemoji-picker/generated/groups.json' # Load and group emoji data with open(GROUPS_JSON, 'r') as f: groups = json.loads(f.read()) # Define category order category_order = [ {'id': 'people', 'name': 'Smileys & People'}, {'id': 'nature', 'name': 'Animals & Nature'}, {'id': 'food', 'name': 'Food & Drink'}, {'id': 'activity', 'name': 'Activity'}, {'id': 'travel', 'name': 'Travel & Places'}, {'id': 'objects', 'name': 'Objects'}, {'id': 'symbols', 'name': 'Symbols'}, {'id': 'flags', 'name': 'Flags'}, ] # Helper functions def make_hexchar(codepoint): return '&#x%s;' % codepoint.replace('-', ';&#x') # Generate HTML print('
') for i, category in enumerate(category_order): print('
') print(' ' % (i, ' checked' if i == 0 else '')) print(' ') print('
') for emoji in groups[category['id']]: if emoji['representation'] == 'emoji-default': hex_codepoint = emoji['codepoint'].lower() else: hex_codepoint = emoji['codepoint_fully_qualified'] print(' {4}'.format( emoji['codepoint'].lower(), emoji['shortname'], emoji['name'], category['id'], make_hexchar(hex_codepoint), )) print('
') print('
') print('
')