Skip to content

Commit

Permalink
📚 update documentation and tooling
Browse files Browse the repository at this point in the history
  • Loading branch information
chfw committed May 10, 2019
1 parent c550b9c commit 107032c
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 34 deletions.
73 changes: 43 additions & 30 deletions makedemo.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
import codecs
from collections import OrderedDict

DEST_FOLDER = 'echarts-china-cities-js'
DEST_FOLDER = os.path.join('js', 'shape-with-internal-borders')
DEST_GEOJSON_FOLDER = os.path.join('geojson', 'shape-with-internal-borders')
REGISTRY_FILE = 'registry.json'

MANUAL_FIX = {
Expand Down Expand Up @@ -69,7 +70,7 @@ def decomporess():
for folder in list_base('src/*'):
cfolder = os.path.basename(folder)
pfolder = pinyin.get(cfolder, format="numerical", delimiter="_")
_dest_folder = 'geojson'
_dest_folder = DEST_GEOJSON_FOLDER
name_dict[cfolder] = pfolder
if not os.path.exists(_dest_folder):
os.mkdir(_dest_folder)
Expand All @@ -83,6 +84,43 @@ def decomporess():
return name_dict, raw_rendering_dict


def write_preview(name_dict, rendering_dict, provinces,
cities, geojson_rendering_dict):
jinja2_env = Environment(
loader=FileSystemLoader('./templates'),
keep_trailing_newline=True,
trim_blocks=True,
lstrip_blocks=True)
template = jinja2_env.get_template('index.html')
html = template.render(names=name_dict, registry=rendering_dict,
js_folder="js/shape-with-internal-borders",
num_cities=cities)
with codecs.open('preview.html', 'wb', 'utf-8') as f:
f.write(html)

html = template.render(names=name_dict, registry=rendering_dict,
js_folder="js/shape-only",
num_cities=cities)
with codecs.open('shape-only-preview.html', 'wb', 'utf-8') as f:
f.write(html)

config = jinja2_env.get_template('config.json')
config_json = config.render(
names=name_dict, registry=rendering_dict,
geojson_registry=geojson_rendering_dict)
registry_file = REGISTRY_FILE
with codecs.open(registry_file, 'w', 'utf-8') as f:
f.write(config_json)

readme = jinja2_env.get_template('README.md')
readme_txt = readme.render(
names=name_dict, registry=rendering_dict,
num_provinces=provinces, num_cities=cities
)
with codecs.open('README.md', 'wb', 'utf-8') as f:
f.write(readme_txt)


def doall():
name_dict, raw_rendering_dict = minify_srcs()
geojson_dict, geojson_rendering_dict = decomporess()
Expand All @@ -98,11 +136,11 @@ def doall():
'js',
'province',
'%s.js' % pname)
_dest_file = os.path.join('echarts-china-cities-js', '%s.js' % pname)
_dest_file = os.path.join(DEST_FOLDER, '%s.js' % pname)
minify_js(src_file, _dest_file)
print("%s-> %s, %s -> %s" % (cname, pname, src_file, _dest_file))
raw_rendering_dict['直辖市'].append((cname, pname))
_geojson_file = os.path.join('geojson', '%s.geojson' % pname)
_geojson_file = os.path.join(DEST_GEOJSON_FOLDER, '%s.geojson' % pname)
decompress_js(src_file, _geojson_file)
print("%s-> %s, %s -> %s" % (cname, pname, src_file, _geojson_file))
geojson_rendering_dict['直辖市'].append((cname, pname))
Expand All @@ -117,32 +155,7 @@ def doall():
raw_rendering_dict[cprovince], key=lambda x: x[1])
provinces, cities = len(rendering_dict.keys()), count

jinja2_env = Environment(
loader=FileSystemLoader('./templates'),
keep_trailing_newline=True,
trim_blocks=True,
lstrip_blocks=True)
template = jinja2_env.get_template('index.html')
html = template.render(names=name_dict, registry=rendering_dict,
num_cities=cities)
with codecs.open('preview.html', 'wb', 'utf-8') as f:
f.write(html)

config = jinja2_env.get_template('config.json')
config_json = config.render(
names=name_dict, registry=rendering_dict,
geojson_registry=geojson_rendering_dict)
registry_file = REGISTRY_FILE
with codecs.open(registry_file, 'w', 'utf-8') as f:
f.write(config_json)

readme = jinja2_env.get_template('README.md')
readme_txt = readme.render(
names=name_dict, registry=rendering_dict,
num_provinces=provinces, num_cities=cities
)
with codecs.open('README.md', 'wb', 'utf-8') as f:
f.write(readme_txt)
write_preview(name_dict, rendering_dict, provinces, cities, geojson_rendering_dict)

# custom data structure
external = defaultdict(list)
Expand Down
2 changes: 1 addition & 1 deletion registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"JUPYTER_URL": "/nbextensions/echarts-china-cities-js",
"GITHUB_URL": "https://echarts-maps.github.io/echarts-china-cities-js",
"JUPYTER_ENTRY": "echarts-china-cities-js/index",
"JS_FOLDER": "echarts-china-cities-js",
"JS_FOLDER": "js/shape-with-internal-borders",
"PINYIN_MAP": {
"安庆": "an1_qing4"
, "蚌埠": "bang4_bu4"
Expand Down
2 changes: 1 addition & 1 deletion templates/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"JUPYTER_URL": "/nbextensions/echarts-china-cities-js",
"GITHUB_URL": "https://echarts-maps.github.io/echarts-china-cities-js",
"JUPYTER_ENTRY": "echarts-china-cities-js/index",
"JS_FOLDER": "echarts-china-cities-js",
"JS_FOLDER": "js/shape-with-internal-borders",
"PINYIN_MAP": {
{% set comma = joiner(",") %}
{% for cprovince in registry.keys() %}
Expand Down
4 changes: 2 additions & 2 deletions templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
<!-- {{cprovince}} -->
{% for city in registry[cprovince] %}
{% if cprovince in names %}
<script src="echarts-china-cities-js/{{names[cprovince]}}_{{city[1]}}.js"></script>
<script src="echarts-china-cities-js/{{js_folder}}/{{names[cprovince]}}_{{city[1]}}.js"></script>
{% else %}
<script src="echarts-china-cities-js/{{city[1]}}.js"></script>
<script src="echarts-china-cities-js/{{js_folder}}/{{city[1]}}.js"></script>
{% endif %}
{% endfor %}
{% endfor %}
Expand Down

0 comments on commit 107032c

Please sign in to comment.