Configuration
The global configuration for your WeatherBlox setup manages things like link formatting, icon locations and mappings, and the units to display. The library provides all of the defaults necessary to get started without worrying about any of these settings, but you can override these defaults to provide additional customization.
Refer to the configuration documentation for more information on how to override these defaults for both the JavaScript and API methods.
Options
Below are the available configuration options:
Option | Description |
---|---|
links | Defines the URL formatting to use for various types of links used throughout the views and layouts |
links.loc | Defines how to format locations when used in a URL via the {{loc}} variable |
links.local.main | URL to the main local weather layout |
links.local.history | URL to the local daily and monthly observation layouts |
links.local.advisory | URL to the local advisory layout |
icons.path | Base URL path to load weather icons from. The icon names (opens in a new tab) provided by the Xweather Weather API will be appended to the end of this URL path along with the value defined by icons.ext . |
icons.ext | The file extension to use for the weather icons from the source specified by icon.path |
icons.mapping | An object that maps a single weather icon name to a regular expression to use against the weather icon names provided by the Xweather Weather API. Using this mapping will allow you to provide a single icon name that can be used for multiple API-specific icon names, such as using "sunny" for "sunny", "clear" and "fair". This reduces the total number of icons you need to customize and also allows you to define your own icon naming convention. Refer to the Icon Mapping section for more details. |
unitsType | The default unit type to display, either Units.Type.Imperial or Units.Type.Metric |
units | The unit strings to display next to values for both imperial and metric values. These are specified per data type they represent. |
The following is the default configuration object for WeatherBlox:
{
links: {
loc: '{{place.state}}/{{place.name}}',
local: {
main: '/local/{{loc}}.html',
history: {
day: '/local/{{loc}}/history/{{year}}/{{month}}/{{date}}.html',
month: '/local/{{loc}}/history/{{year}}/{{month}}.html'
},
advisory: '/local/{{loc}}/advisories.html'
},
maps: {
main: '/maps/{{regionSlug}}/{{layers}}.html'
}
},
icons: {
path: '//cdn.aerisapi.com/wxblox/icons/',
ext: 'png',
mapping: {}
},
unitsType: Units.Type.Imperial,
units: {
imperial: {
temp: '°F',
speed: ' mph',
distance: ' mi',
height: ' ft',
pressure: ' in',
percent: '%',
precip: '"',
rain: '"',
snow: '"',
phrase: ''
},
metric: {
temp: '°C',
speed: ' kmh',
distance: ' km',
height: ' m',
pressure: ' mb',
percent: '%',
precip: ' mm',
rain: ' mm',
snow: ' cm',
phrase: 'met'
}
}
}
Overriding defaults
To override these default configuration values using WeatherBlox, you just need to use the aeris.wxblox.config.set()
method to set your desired value for the configuration's key path.
For example, the following would change the icon path to a custom icon set used across various WeatherBlox views:
aeris.wxblox.config.set('icons.path', 'https://www.mydomain.com/images/wxicons/');
Handling links
Some WeatherBlox views and layouts contain links that can be used to direct a user to a different weather-related page, such as viewing full weather advisory information or viewing a different day for an hourly forecast. Review our documentation on handling links for more information on customizing links within your WeatherBlox implementation.
Icon mapping
Using the icons.mapping
configuration option, you can provide your own method for mapping your custom icon set to the icon names provided by the Xweather Weather API. The object should be key-value pairs where the value is a regular expression string used for matching against the API icon names. For instance, the Xweather Weather API will append an "n" to the end of all icon names for their night counterparts, but not all weather icons need a nighttime representation if there isn't a sun or moon displayed. Using this icon mapping option can eliminate the need to duplicate an icon for both day and night representations.
Below is the default mapping used by WeatherBlox views:
{
sunny: '(sunny|clear|fair)',
clearn: '(sunny|clear|fair)n',
hazy: '(hazy|smoke|dust)',
hazyn: '(hazy|smoke|dust)n',
drizzle: 'drizzlef?',
tstorms: 'tstorms?w?',
fog: 'fogn?',
wind: '(wind|pcloudywn?|mcloudywn?)',
snowflurries: '(snow)?flurries',
sleet: '(sleet|freezingrain)',
rainandsnow: '(rain(and)?snow|rainsnow)',
showers: 'showersw?n?',
blizzard: 'snoww'
}