Skip to content
Permalink
Browse files

favicon.svg and tech in status.json, plus random other stuff that had…

…n't been committed
  • Loading branch information...
fileformat committed Dec 15, 2018
1 parent 7a0849d commit ca33a402802ab0ae4af9daaa2ddda0e69a68bbdf
Showing with 87 additions and 17 deletions.
  1. +9 −0 README.md
  2. +2 −2 bin/update-db.py
  3. +40 −5 bin/update-dir.py
  4. +1 −1 bin/update-noto.py
  5. +1 −1 docs/_config.yml
  6. +4 −3 docs/_includes/navbar.html
  7. +8 −4 docs/_includes/tabs.html
  8. +21 −0 docs/favicon.svg
  9. +1 −1 docs/status.json
@@ -4,6 +4,7 @@ Emoji Resources for FileFormat.Info
Images
------
* [EmojiOne](https://www.emojione.com/) - ([GitHub](https://github.com/emojione/emojione/tree/2.2.7/assets) - assets in 2.2.7 branch)
* [EmojiTwo](https://emojitwo.github.io/) - fork of open version of EmojiOne
* [Twemoji](https://github.com/twitter/twemoji/tree/gh-pages/2/svg) from Twitter
* [Gemoji](https://github.com/github/gemoji) from Github
* [Noto](https://github.com/googlei18n/noto-emoji) from Google
@@ -37,3 +38,11 @@ Unicode Emoji Data
* [Comparison table](http://unicode.org/emoji/charts/full-emoji-list.html) - with images
* [Charts](http://unicode.org/emoji/charts/index.html)

To Do
-----
- [ ] /sample/xxx.svg - canonical example (for use on FFI) + .json with metadata
- [ ] radio buttons for background image/color/none
- [ ] counts on all pages
- [ ] paging when > ?500? images
- [ ] links to FFI (when FFI has new url scheme working)
- [ ] /data subdirectory
@@ -16,7 +16,7 @@
import urllib.parse
import urllib.request

default_output = os.path.abspath("../docs")
default_output = os.path.abspath("../docs/data")
default_src = "http://unicode.org/Public/emoji/5.0/"

datafiles = {
@@ -230,7 +230,7 @@ def to_hex(i):
else:
sys.stdout.write("INFO: all non-fully-qualified emoji are mapped\n")

filename = "data.json"
filename = "emoji.json"
sys.stdout.write("INFO: saving to file '%s'\n" % filename)
f = open(os.path.join(args.output, filename), mode='w', encoding='utf-8')
f.write(json.dumps(emojis, ensure_ascii=False, sort_keys=False, indent=4, separators=(',', ': ')))
@@ -14,7 +14,7 @@
import tempfile
import time

default_data = "../docs/data.json"
default_data = "../docs/data/emoji.json"

parser = argparse.ArgumentParser()
parser.add_argument("-q", "--quiet", help="hide status messages", default=True, dest='verbose', action="store_false")
@@ -37,36 +37,70 @@
with open(args.emojidata) as edfp:
emojidata = json.load(edfp, object_pairs_hook=collections.OrderedDict)

count = 0
f = open(os.path.join(srcdir, "base.html"), mode='w', encoding='utf-8')
f.write("---\n")
f.write("title: Base Emoji in %s\n" % args.name)
f.write("tab: base\n")
f.write("---\n")
f.write("{% include tabs.html %}\n")
f.write("<p>")
for key in emojidata:
if "_200d" in key:
continue
if emojidata[key]["status"] != "fully-qualified":
continue
if key in files:
text = emojidata[key]["text"] if "text" in emojidata[key] else key
f.write("<a href=\"https://www.fileformat.info/info/emoji/\"><img src=\"%s.svg\" alt=\"%s\" /></a>\n" % (key, text))

f.write("<a href=\"https://www.fileformat.info/info/emoji/\"><img src=\"%s.svg\" alt=\"%s\" title=\"%s\" /></a>\n" % (key, text, key))
count = count + 1
f.write("</p>")
f.write("<p>Total base emojis: %d</p>" % count)
f.close()

count = 0
f = open(os.path.join(srcdir, "variant.html"), mode='w', encoding='utf-8')
f.write("---\n")
f.write("title: Emoji Variants in %s\n" % args.name)
f.write("tab: variant\n")
f.write("---\n")
f.write("{% include tabs.html %}\n")
f.write("<p>")
for key in emojidata:
if "_200d" not in key:
continue
if emojidata[key]["status"] == "component-only":
continue
if key in files:
text = emojidata[key]["text"] if "text" in emojidata[key] else key
f.write("<a href=\"https://www.fileformat.info/info/emoji/\"><img src=\"%s.svg\" alt=\"%s\" /></a>\n" % (key, text))
f.write("<a href=\"https://www.fileformat.info/info/emoji/\"><img src=\"%s.svg\" alt=\"%s\" title=\"%s\"/></a>\n" % (key, text, key))
count = count + 1
f.write("</p>")
f.write("<p>Total emoji variants: %d</p>" % count)
f.close()

count = 0
f = open(os.path.join(srcdir, "component.html"), mode='w', encoding='utf-8')
f.write("---\n")
f.write("title: Emoji components in %s\n" % args.name)
f.write("tab: component\n")
f.write("---\n")
f.write("{% include tabs.html %}\n")
f.write("<p style=\"background-image:url('/images/background_grid.png');\">")
for key in emojidata:
if "_200d" in key:
continue
if emojidata[key]["status"] != "component-only":
continue
if key in files:
text = emojidata[key]["text"] if "text" in emojidata[key] else key
f.write("<a href=\"https://www.fileformat.info/info/emoji/\"><img src=\"%s.svg\" alt=\"%s\" title=\"%s\" /></a>\n" % (key, text, key))
count = count + 1
f.write("</p>")
f.write("<p>Total emoji components: %d</p>" % count)
f.close()

count = 0
f = open(os.path.join(srcdir, "custom.html"), mode='w', encoding='utf-8')
f.write("---\n")
f.write("title: Non-standard Emoji in %s\n" % args.name)
@@ -76,7 +110,8 @@
for fn in files:
if fn not in emojidata:
f.write("<p>%s: <img src=\"%s.svg\" alt=\"%s\" /></p>\n" % (fn, fn, fn))

count = count + 1
f.write("<p>Total custom emojis: %d</p>" % count)
f.close()

count = 0
@@ -17,7 +17,7 @@
default_branch = "master"
default_output = os.path.join(os.getcwd(), "noto")
default_subdirectory = "svg"
default_mapping = "../docs/normalize.json"
default_mapping = "../docs/data/normalize.json"

parser = argparse.ArgumentParser()
parser.add_argument("-q", "--quiet", help="hide status messages", default=True, dest='verbose', action="store_false")
@@ -7,7 +7,7 @@ permalink: /blog/:year/:month/:day/:title/index.html
production_url: https://emoji.fileformat.info
title: FileFormat.Info Emoji SVGs
markdown: kramdown
gems:
plugins:
- jekyll-redirect-from
defaults:
-
@@ -1,13 +1,14 @@
{% assign curnav = page.url | remove_first:"/" | split:"/" | first %}
<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse mb-4 hidden-print">
<div class="container">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="https://www.fileformat.info/info/emoji/">FileFormat.Info</a>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto float-right">
<li class="nav-item{% if page.url == '/' %} active{% endif %}"><a class="nav-link" href="/index.html">Emoji{% if page.url == '/' %} <span class="sr-only">(current)</span>{% endif %}</a></li>
<li class="nav-item{% if page.url == '/noto/' %} active{% endif %}"><a class="nav-link" href="/noto/index.html">Noto{% if page.url == '/noto/' %} <span class="sr-only">(current)</span>{% endif %}</a></li>
<li class="nav-item{% if page.url == '/index.html' or page.url == '/' %} active{% endif %}"><a class="nav-link" href="/index.html">Emoji{% if page.url == '/' %} <span class="sr-only">(current)</span>{% endif %}</a></li>
<li class="nav-item{% if curnav == 'noto' %} active{% endif %}"><a class="nav-link" href="/noto/index.html">Noto{% if page.url == '/noto/' %} <span class="sr-only">(current)</span>{% endif %}</a></li>
</ul>
</div>
</div>
@@ -1,17 +1,21 @@
{% assign curtab = page.url | remove:".html" | split:"/" | last %}
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link{% if page.tab == 'about'%} active{%endif%}" href="index.html">About</a>
</li>
<li class="nav-item">
<a class="nav-link{% if page.tab == 'base' %} active{%endif%}" href="base.html">Base</a>
<a class="nav-link{% if curtab == 'base' %} active{%endif%}" href="base.html">Base</a>
</li>
<li class="nav-item">
<a class="nav-link{% if page.tab == 'variant' %} active{%endif%}" href="variant.html">Variants</a>
<a class="nav-link{% if curtab == 'variant' %} active{%endif%}" href="variant.html">Variants</a>
</li>
<li class="nav-item">
<a class="nav-link{% if page.tab == 'custom' %} active{%endif%}" href="custom.html">Custom</a>
<a class="nav-link{% if curtab == 'component' %} active{%endif%}" href="component.html">Components</a>
</li>
<li class="nav-item">
<a class="nav-link{% if page.tab == 'missing' %} active{%endif%}" href="missing.html">Missing</a>
<a class="nav-link{% if curtab == 'custom' %} active{%endif%}" href="custom.html">Custom</a>
</li>
<li class="nav-item">
<a class="nav-link{% if curtab == 'missing' %} active{%endif%}" href="missing.html">Missing</a>
</li>
</ul>
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="64" height="64" id="svg3030" version="1.1" inkscape:version="0.48.3.1 r9886" sodipodi:docname="fileformatinfo-icon.svg" inkscape:export-filename="/home/amarcuse/site/hackerlogos/fileformatinfo/fileformatinfo-32.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" viewBox="0 0 32 32">
<defs id="defs3032"/>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="6.0314018" inkscape:cx="-27.069911" inkscape:cy="1.8789799" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1065" inkscape:window-height="648" inkscape:window-x="109" inkscape:window-y="135" inkscape:window-maximized="0" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0"/>
<metadata id="metadata3035">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-108.50652,-974.00891)">
<path sodipodi:type="arc" style="fill:#003399;fill-opacity:1;stroke:none" id="path2824" sodipodi:cx="16.961048" sodipodi:cy="15.393695" sodipodi:rx="11.798989" sodipodi:ry="12.259888" d="m 28.760037,15.393695 a 11.798989,12.259888 0 1 1 -23.5979782,0 11.798989,12.259888 0 1 1 23.5979782,0 z" transform="matrix(1.3639477,0,0,1.3061302,101.46574,970.05565)"/>
<g transform="matrix(2.8180347,0,0,2.7995254,91.9885,950.21679)" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;font-family:Axel;-inkscape-font-specification:Axel Bold" id="flowRoot2826">
<path d="m 11.1325,17.895833 0,-3.87 -0.54,0 0,-1.18 2.04,0 0,5.05 -1.5,0 m 1.61,-6.8 c -2e-6,0.126674 -0.02334,0.250007 -0.07,0.37 -0.04667,0.11334 -0.113336,0.21334 -0.2,0.3 -0.08,0.08667 -0.176669,0.156673 -0.29,0.21 -0.113335,0.04667 -0.233335,0.07001 -0.36,0.07 -0.133335,6e-6 -0.256668,-0.02333 -0.37,-0.07 -0.106668,-0.05333 -0.200001,-0.123327 -0.28,-0.21 -0.08,-0.08666 -0.143334,-0.18666 -0.19,-0.3 -0.04667,-0.119993 -0.07,-0.243326 -0.07,-0.37 -10e-7,-0.253326 0.08667,-0.469992 0.26,-0.65 0.173332,-0.186659 0.393332,-0.279992 0.66,-0.28 0.126665,8e-6 0.243332,0.02668 0.35,0.08 0.113331,0.04668 0.209998,0.113341 0.29,0.2 0.08666,0.08667 0.153331,0.186674 0.2,0.3 0.04666,0.106674 0.07,0.223341 0.07,0.35" style="" id="path3435"/>
</g>
</g>
</svg>
@@ -2,4 +2,4 @@
noindex: true
layout: none
---
{ "success":true, "message":"OK", "commit":"{{site.github.build_revision | default: site.data.build_revision | default: 'null' | slice: 0, 7 }}", "lastmod":"{{site.time|date_to_xmlschema}}" }
{ "success":true, "message":"OK", "commit":"{{site.github.build_revision | default: site.data.build_revision | default: 'null' | slice: 0, 7 }}", "lastmod":"{{site.time|date_to_xmlschema}}", "tech": "Jekyll {{site.github.versions.jekyll | default: site.data.jekyll_version | default: '(unknown)'}}" }

0 comments on commit ca33a40

Please sign in to comment.
You can’t perform that action at this time.