diff --git a/Gemfile b/Gemfile
index 2f1b268..200cb82 100644
--- a/Gemfile
+++ b/Gemfile
@@ -6,3 +6,7 @@ group :jekyll do
gem 'jekyll-redirect-from'
gem 'redcarpet'
end
+
+group :jekyll_plugins do
+ gem 'hash-joiner'
+end
diff --git a/_config.yml b/_config.yml
index 6ebcbee..1dff652 100644
--- a/_config.yml
+++ b/_config.yml
@@ -72,3 +72,8 @@ collections:
gems:
- jekyll-sitemap
- jekyll-redirect-from
+
+
+jekyll_get:
+ data: countries
+ json: 'https://restcountries.eu/rest/v2/all?fields=name;alpha2Code'
diff --git a/_src/_data/countries.json b/_src/_data/countries.json
deleted file mode 100644
index 064282d..0000000
--- a/_src/_data/countries.json
+++ /dev/null
@@ -1,241 +0,0 @@
-[
-{"country" : "Aruba", "abbreviation" : "AW"},
-{"country" : "Afghanistan", "abbreviation" : "AF"},
-{"country" : "Angola", "abbreviation" : "AO"},
-{"country" : "Anguilla", "abbreviation" : "AI"},
-{"country" : "Albania", "abbreviation" : "AL"},
-{"country" : "Andorra", "abbreviation" : "AD"},
-{"country" : "Netherlands Antilles", "abbreviation" : "AN"},
-{"country" : "United Arab Emirates", "abbreviation" : "AE"},
-{"country" : "Argentina", "abbreviation" : "AR"},
-{"country" : "Armenia", "abbreviation" : "AM"},
-{"country" : "American Samoa", "abbreviation" : "AS"},
-{"country" : "Antarctica", "abbreviation" : "AQ"},
-{"country" : "French Southern territories", "abbreviation" : "TF"},
-{"country" : "Antigua and Barbuda", "abbreviation" : "AG"},
-{"country" : "Australia", "abbreviation" : "AU"},
-{"country" : "Austria", "abbreviation" : "AT"},
-{"country" : "Azerbaijan", "abbreviation" : "AZ"},
-{"country" : "Burundi", "abbreviation" : "BI"},
-{"country" : "Belgium", "abbreviation" : "BE"},
-{"country" : "Benin", "abbreviation" : "BJ"},
-{"country" : "Burkina Faso", "abbreviation" : "BF"},
-{"country" : "Bangladesh", "abbreviation" : "BD"},
-{"country" : "Bulgaria", "abbreviation" : "BG"},
-{"country" : "Bahrain", "abbreviation" : "BH"},
-{"country" : "Bahamas", "abbreviation" : "BS"},
-{"country" : "Bosnia and Herzegovina", "abbreviation" : "BA"},
-{"country" : "Belarus", "abbreviation" : "BY"},
-{"country" : "Belize", "abbreviation" : "BZ"},
-{"country" : "Bermuda", "abbreviation" : "BM"},
-{"country" : "Bolivia", "abbreviation" : "BO"},
-{"country" : "Brazil", "abbreviation" : "BR"},
-{"country" : "Barbados", "abbreviation" : "BB"},
-{"country" : "Brunei", "abbreviation" : "BN"},
-{"country" : "Bhutan", "abbreviation" : "BT"},
-{"country" : "Bouvet Island", "abbreviation" : "BV"},
-{"country" : "Botswana", "abbreviation" : "BW"},
-{"country" : "Central African Republic", "abbreviation" : "CF"},
-{"country" : "Canada", "abbreviation" : "CA"},
-{"country" : "Cocos (Keeling) Islands", "abbreviation" : "CC"},
-{"country" : "Switzerland", "abbreviation" : "CH"},
-{"country" : "Chile", "abbreviation" : "CL"},
-{"country" : "China", "abbreviation" : "CN"},
-{"country" : "Ivory Coast", "abbreviation" : "CI"},
-{"country" : "Cameroon", "abbreviation" : "CM"},
-{"country" : "Congo, The Democratic Republic of the", "abbreviation" : "CD"},
-{"country" : "Congo", "abbreviation" : "CG"},
-{"country" : "Cook Islands", "abbreviation" : "CK"},
-{"country" : "Colombia", "abbreviation" : "CO"},
-{"country" : "Comoros", "abbreviation" : "KM"},
-{"country" : "Cape Verde", "abbreviation" : "CV"},
-{"country" : "Costa Rica", "abbreviation" : "CR"},
-{"country" : "Cuba", "abbreviation" : "CU"},
-{"country" : "Christmas Island", "abbreviation" : "CX"},
-{"country" : "Cayman Islands", "abbreviation" : "KY"},
-{"country" : "Cyprus", "abbreviation" : "CY"},
-{"country" : "Czech Republic", "abbreviation" : "CZ"},
-{"country" : "Germany", "abbreviation" : "DE"},
-{"country" : "Djibouti", "abbreviation" : "DJ"},
-{"country" : "Dominica", "abbreviation" : "DM"},
-{"country" : "Denmark", "abbreviation" : "DK"},
-{"country" : "Dominican Republic", "abbreviation" : "DO"},
-{"country" : "Algeria", "abbreviation" : "DZ"},
-{"country" : "Ecuador", "abbreviation" : "EC"},
-{"country" : "Egypt", "abbreviation" : "EG"},
-{"country" : "Eritrea", "abbreviation" : "ER"},
-{"country" : "Western Sahara", "abbreviation" : "EH"},
-{"country" : "Spain", "abbreviation" : "ES"},
-{"country" : "Estonia", "abbreviation" : "EE"},
-{"country" : "Ethiopia", "abbreviation" : "ET"},
-{"country" : "Finland", "abbreviation" : "FI"},
-{"country" : "Fiji Islands", "abbreviation" : "FJ"},
-{"country" : "Falkland Islands", "abbreviation" : "FK"},
-{"country" : "France", "abbreviation" : "FR"},
-{"country" : "Faroe Islands", "abbreviation" : "FO"},
-{"country" : "Micronesia, Federated States of", "abbreviation" : "FM"},
-{"country" : "Gabon", "abbreviation" : "GA"},
-{"country" : "United Kingdom", "abbreviation" : "GB"},
-{"country" : "Georgia", "abbreviation" : "GE"},
-{"country" : "Ghana", "abbreviation" : "GH"},
-{"country" : "Gibraltar", "abbreviation" : "GI"},
-{"country" : "Guinea", "abbreviation" : "GN"},
-{"country" : "Guadeloupe", "abbreviation" : "GP"},
-{"country" : "Gambia", "abbreviation" : "GM"},
-{"country" : "Guinea-Bissau", "abbreviation" : "GW"},
-{"country" : "Equatorial Guinea", "abbreviation" : "GQ"},
-{"country" : "Greece", "abbreviation" : "GR"},
-{"country" : "Grenada", "abbreviation" : "GD"},
-{"country" : "Greenland", "abbreviation" : "GL"},
-{"country" : "Guatemala", "abbreviation" : "GT"},
-{"country" : "French Guiana", "abbreviation" : "GF"},
-{"country" : "Guam", "abbreviation" : "GU"},
-{"country" : "Guyana", "abbreviation" : "GY"},
-{"country" : "Hong Kong", "abbreviation" : "HK"},
-{"country" : "Heard Island and McDonald Islands", "abbreviation" : "HM"},
-{"country" : "Honduras", "abbreviation" : "HN"},
-{"country" : "Croatia", "abbreviation" : "HR"},
-{"country" : "Haiti", "abbreviation" : "HT"},
-{"country" : "Hungary", "abbreviation" : "HU"},
-{"country" : "Indonesia", "abbreviation" : "ID"},
-{"country" : "India", "abbreviation" : "IN"},
-{"country" : "British Indian Ocean Territory", "abbreviation" : "IO"},
-{"country" : "Ireland", "abbreviation" : "IE"},
-{"country" : "Iran", "abbreviation" : "IR"},
-{"country" : "Iraq", "abbreviation" : "IQ"},
-{"country" : "Iceland", "abbreviation" : "IS"},
-{"country" : "Israel", "abbreviation" : "IL"},
-{"country" : "Italy", "abbreviation" : "IT"},
-{"country" : "Jamaica", "abbreviation" : "JM"},
-{"country" : "Jordan", "abbreviation" : "JO"},
-{"country" : "Japan", "abbreviation" : "JP"},
-{"country" : "Kazakstan", "abbreviation" : "KZ"},
-{"country" : "Kenya", "abbreviation" : "KE"},
-{"country" : "Kyrgyzstan", "abbreviation" : "KG"},
-{"country" : "Cambodia", "abbreviation" : "KH"},
-{"country" : "Kiribati", "abbreviation" : "KI"},
-{"country" : "Saint Kitts and Nevis", "abbreviation" : "KN"},
-{"country" : "South Korea", "abbreviation" : "KR"},
-{"country" : "Kuwait", "abbreviation" : "KW"},
-{"country" : "Laos", "abbreviation" : "LA"},
-{"country" : "Lebanon", "abbreviation" : "LB"},
-{"country" : "Liberia", "abbreviation" : "LR"},
-{"country" : "Libyan Arab Jamahiriya", "abbreviation" : "LY"},
-{"country" : "Saint Lucia", "abbreviation" : "LC"},
-{"country" : "Liechtenstein", "abbreviation" : "LI"},
-{"country" : "Sri Lanka", "abbreviation" : "LK"},
-{"country" : "Lesotho", "abbreviation" : "LS"},
-{"country" : "Lithuania", "abbreviation" : "LT"},
-{"country" : "Luxembourg", "abbreviation" : "LU"},
-{"country" : "Latvia", "abbreviation" : "LV"},
-{"country" : "Macao", "abbreviation" : "MO"},
-{"country" : "Morocco", "abbreviation" : "MA"},
-{"country" : "Monaco", "abbreviation" : "MC"},
-{"country" : "Moldova", "abbreviation" : "MD"},
-{"country" : "Madagascar", "abbreviation" : "MG"},
-{"country" : "Maldives", "abbreviation" : "MV"},
-{"country" : "Mexico", "abbreviation" : "MX"},
-{"country" : "Marshall Islands", "abbreviation" : "MH"},
-{"country" : "Macedonia", "abbreviation" : "MK"},
-{"country" : "Mali", "abbreviation" : "ML"},
-{"country" : "Malta", "abbreviation" : "MT"},
-{"country" : "Myanmar", "abbreviation" : "MM"},
-{"country" : "Mongolia", "abbreviation" : "MN"},
-{"country" : "Northern Mariana Islands", "abbreviation" : "MP"},
-{"country" : "Mozambique", "abbreviation" : "MZ"},
-{"country" : "Mauritania", "abbreviation" : "MR"},
-{"country" : "Montserrat", "abbreviation" : "MS"},
-{"country" : "Martinique", "abbreviation" : "MQ"},
-{"country" : "Mauritius", "abbreviation" : "MU"},
-{"country" : "Malawi", "abbreviation" : "MW"},
-{"country" : "Malaysia", "abbreviation" : "MY"},
-{"country" : "Mayotte", "abbreviation" : "YT"},
-{"country" : "Namibia", "abbreviation" : "NA"},
-{"country" : "New Caledonia", "abbreviation" : "NC"},
-{"country" : "Niger", "abbreviation" : "NE"},
-{"country" : "Norfolk Island", "abbreviation" : "NF"},
-{"country" : "Nigeria", "abbreviation" : "NG"},
-{"country" : "Nicaragua", "abbreviation" : "NI"},
-{"country" : "Niue", "abbreviation" : "NU"},
-{"country" : "Netherlands", "abbreviation" : "NL"},
-{"country" : "Norway", "abbreviation" : "NO"},
-{"country" : "Nepal", "abbreviation" : "NP"},
-{"country" : "Nauru", "abbreviation" : "NR"},
-{"country" : "New Zealand", "abbreviation" : "NZ"},
-{"country" : "Oman", "abbreviation" : "OM"},
-{"country" : "Pakistan", "abbreviation" : "PK"},
-{"country" : "Panama", "abbreviation" : "PA"},
-{"country" : "Pitcairn", "abbreviation" : "PN"},
-{"country" : "Peru", "abbreviation" : "PE"},
-{"country" : "Philippines", "abbreviation" : "PH"},
-{"country" : "Palau", "abbreviation" : "PW"},
-{"country" : "Papua New Guinea", "abbreviation" : "PG"},
-{"country" : "Poland", "abbreviation" : "PL"},
-{"country" : "Puerto Rico", "abbreviation" : "PR"},
-{"country" : "North Korea", "abbreviation" : "KP"},
-{"country" : "Portugal", "abbreviation" : "PT"},
-{"country" : "Paraguay", "abbreviation" : "PY"},
-{"country" : "Palestine", "abbreviation" : "PS"},
-{"country" : "French Polynesia", "abbreviation" : "PF"},
-{"country" : "Qatar", "abbreviation" : "QA"},
-{"country" : "Reunion", "abbreviation" : "RE"},
-{"country" : "Romania", "abbreviation" : "RO"},
-{"country" : "Russian Federation", "abbreviation" : "RU"},
-{"country" : "Rwanda", "abbreviation" : "RW"},
-{"country" : "Saudi Arabia", "abbreviation" : "SA"},
-{"country" : "Sudan", "abbreviation" : "SD"},
-{"country" : "Senegal", "abbreviation" : "SN"},
-{"country" : "Singapore", "abbreviation" : "SG"},
-{"country" : "South Georgia and the South Sandwich Islands", "abbreviation" : "GS"},
-{"country" : "Saint Helena", "abbreviation" : "SH"},
-{"country" : "Svalbard and Jan Mayen", "abbreviation" : "SJ"},
-{"country" : "Solomon Islands", "abbreviation" : "SB"},
-{"country" : "Sierra Leone", "abbreviation" : "SL"},
-{"country" : "El Salvador", "abbreviation" : "SV"},
-{"country" : "San Marino", "abbreviation" : "SM"},
-{"country" : "Somalia", "abbreviation" : "SO"},
-{"country" : "Saint Pierre and Miquelon", "abbreviation" : "PM"},
-{"country" : "Sao Tome and Principe", "abbreviation" : "ST"},
-{"country" : "Suriname", "abbreviation" : "SR"},
-{"country" : "Slovakia", "abbreviation" : "SK"},
-{"country" : "Slovenia", "abbreviation" : "SI"},
-{"country" : "Sweden", "abbreviation" : "SE"},
-{"country" : "Swaziland", "abbreviation" : "SZ"},
-{"country" : "Seychelles", "abbreviation" : "SC"},
-{"country" : "Syria", "abbreviation" : "SY"},
-{"country" : "Turks and Caicos Islands", "abbreviation" : "TC"},
-{"country" : "Chad", "abbreviation" : "TD"},
-{"country" : "Togo", "abbreviation" : "TG"},
-{"country" : "Thailand", "abbreviation" : "TH"},
-{"country" : "Tajikistan", "abbreviation" : "TJ"},
-{"country" : "Tokelau", "abbreviation" : "TK"},
-{"country" : "Turkmenistan", "abbreviation" : "TM"},
-{"country" : "East Timor", "abbreviation" : "TP"},
-{"country" : "Tonga", "abbreviation" : "TO"},
-{"country" : "Trinidad and Tobago", "abbreviation" : "TT"},
-{"country" : "Tunisia", "abbreviation" : "TN"},
-{"country" : "Turkey", "abbreviation" : "TR"},
-{"country" : "Tuvalu", "abbreviation" : "TV"},
-{"country" : "Taiwan", "abbreviation" : "TW"},
-{"country" : "Tanzania", "abbreviation" : "TZ"},
-{"country" : "Uganda", "abbreviation" : "UG"},
-{"country" : "Ukraine", "abbreviation" : "UA"},
-{"country" : "United States Minor Outlying Islands", "abbreviation" : "UM"},
-{"country" : "Uruguay", "abbreviation" : "UY"},
-{"country" : "United States", "abbreviation" : "US"},
-{"country" : "Uzbekistan", "abbreviation" : "UZ"},
-{"country" : "Holy See (Vatican City State)", "abbreviation" : "VA"},
-{"country" : "Saint Vincent and the Grenadines", "abbreviation" : "VC"},
-{"country" : "Venezuela", "abbreviation" : "VE"},
-{"country" : "Virgin Islands,British", "abbreviation" : "VG"},
-{"country" : "Virgin Islands,U.S.", "abbreviation" : "VI"},
-{"country" : "Vietnam", "abbreviation" : "VN"},
-{"country" : "Vanuatu", "abbreviation" : "VU"},
-{"country" : "Wallis and Futuna", "abbreviation" : "WF"},
-{"country" : "Samoa", "abbreviation" : "WS"},
-{"country" : "Yemen", "abbreviation" : "YE"},
-{"country" : "Yugoslavia", "abbreviation" : "YU"},
-{"country" : "South Africa", "abbreviation" : "ZA"},
-{"country" : "Zambia", "abbreviation" : "ZM"},
-{"country" : "Zimbabwe", "abbreviation" : "ZW"}
-]
diff --git a/_src/_includes/form-enterprise.html b/_src/_includes/form-enterprise.html
index 047a01e..9fd1b63 100644
--- a/_src/_includes/form-enterprise.html
+++ b/_src/_includes/form-enterprise.html
@@ -38,7 +38,7 @@
diff --git a/_src/_plugins/jekyll_get.rb b/_src/_plugins/jekyll_get.rb
new file mode 100644
index 0000000..f5fb7e3
--- /dev/null
+++ b/_src/_plugins/jekyll_get.rb
@@ -0,0 +1,40 @@
+require 'json'
+require 'hash-joiner'
+require 'open-uri'
+
+module Jekyll_Get
+ class Generator < Jekyll::Generator
+ safe true
+ priority :highest
+
+ def generate(site)
+ config = site.config['jekyll_get']
+ if !config
+ return
+ end
+ if !config.kind_of?(Array)
+ config = [config]
+ end
+ config.each do |d|
+ begin
+ target = site.data[d['data']]
+ source = JSON.load(open(d['json']))
+ if target
+ HashJoiner.deep_merge target, source
+ else
+ site.data[d['data']] = source
+ end
+ if d['cache']
+ data_source = (site.config['data_source'] || '_data')
+ path = "#{data_source}/#{d['data']}.json"
+ open(path, 'wb') do |file|
+ file << JSON.generate(site.data[d['data']])
+ end
+ end
+ rescue
+ next
+ end
+ end
+ end
+ end
+end