diff --git a/module-badge-maker.html b/module-badge-maker.html
index 553024629d..b040edfeab 100644
--- a/module-badge-maker.html
+++ b/module-badge-maker.html
@@ -429,7 +429,7 @@
diff --git a/module-badge-maker_lib_xml-ElementList.html b/module-badge-maker_lib_xml-ElementList.html
index a3000c6877..91be0e9f41 100644
--- a/module-badge-maker_lib_xml-ElementList.html
+++ b/module-badge-maker_lib_xml-ElementList.html
@@ -163,7 +163,7 @@ like an XmlElement but renders multiple XML tags (not wrapped in a ).
diff --git a/module-badge-maker_lib_xml-XmlElement.html b/module-badge-maker_lib_xml-XmlElement.html
index ab49ada1e4..9809e9d612 100644
--- a/module-badge-maker_lib_xml-XmlElement.html
+++ b/module-badge-maker_lib_xml-XmlElement.html
@@ -474,7 +474,7 @@ element will be rendered as a self-closing element.
diff --git a/module-badge-maker_lib_xml.html b/module-badge-maker_lib_xml.html
index 4bb9ce8c72..a7d7150c4d 100644
--- a/module-badge-maker_lib_xml.html
+++ b/module-badge-maker_lib_xml.html
@@ -128,7 +128,7 @@
diff --git a/module-core_base-service_base-BaseService.html b/module-core_base-service_base-BaseService.html
index db4ddfe000..47f9fe148a 100644
--- a/module-core_base-service_base-BaseService.html
+++ b/module-core_base-service_base-BaseService.html
@@ -975,7 +975,7 @@ for a given route parameter
diff --git a/module-core_base-service_base-graphql-BaseGraphqlService.html b/module-core_base-service_base-graphql-BaseGraphqlService.html
index f70c082d00..05611cb015 100644
--- a/module-core_base-service_base-graphql-BaseGraphqlService.html
+++ b/module-core_base-service_base-graphql-BaseGraphqlService.html
@@ -913,7 +913,7 @@ an InvalidResponse.
diff --git a/module-core_base-service_base-graphql.html b/module-core_base-service_base-graphql.html
index 06afd643cf..2bd271fa53 100644
--- a/module-core_base-service_base-graphql.html
+++ b/module-core_base-service_base-graphql.html
@@ -125,7 +125,7 @@
diff --git a/module-core_base-service_base-json-BaseJsonService.html b/module-core_base-service_base-json-BaseJsonService.html
index 3d0645c56d..3502741ffb 100644
--- a/module-core_base-service_base-json-BaseJsonService.html
+++ b/module-core_base-service_base-json-BaseJsonService.html
@@ -758,7 +758,7 @@ that will be logged (to sentry, if configured).
diff --git a/module-core_base-service_base-json.html b/module-core_base-service_base-json.html
index b9a588139e..693324a515 100644
--- a/module-core_base-service_base-json.html
+++ b/module-core_base-service_base-json.html
@@ -125,7 +125,7 @@
diff --git a/module-core_base-service_base-svg-scraping-BaseSvgScrapingService.html b/module-core_base-service_base-svg-scraping-BaseSvgScrapingService.html
index d2fded99e8..009b41ebf0 100644
--- a/module-core_base-service_base-svg-scraping-BaseSvgScrapingService.html
+++ b/module-core_base-service_base-svg-scraping-BaseSvgScrapingService.html
@@ -849,7 +849,7 @@ that will be logged (to sentry, if configured).
diff --git a/module-core_base-service_base-svg-scraping.html b/module-core_base-service_base-svg-scraping.html
index 33a86cbd52..5680ebf381 100644
--- a/module-core_base-service_base-svg-scraping.html
+++ b/module-core_base-service_base-svg-scraping.html
@@ -125,7 +125,7 @@
diff --git a/module-core_base-service_base-toml-BaseTomlService.html b/module-core_base-service_base-toml-BaseTomlService.html
index b94a333eae..331ffdc7a2 100644
--- a/module-core_base-service_base-toml-BaseTomlService.html
+++ b/module-core_base-service_base-toml-BaseTomlService.html
@@ -599,7 +599,7 @@ that will be logged (to sentry, if configured).
diff --git a/module-core_base-service_base-toml.html b/module-core_base-service_base-toml.html
index 6300fb64ac..ceab1ec058 100644
--- a/module-core_base-service_base-toml.html
+++ b/module-core_base-service_base-toml.html
@@ -125,7 +125,7 @@
diff --git a/module-core_base-service_base-xml-BaseXmlService.html b/module-core_base-service_base-xml-BaseXmlService.html
index 61838a0b57..f48c3fa478 100644
--- a/module-core_base-service_base-xml-BaseXmlService.html
+++ b/module-core_base-service_base-xml-BaseXmlService.html
@@ -641,7 +641,7 @@ that will be logged (to sentry, if configured).
diff --git a/module-core_base-service_base-xml.html b/module-core_base-service_base-xml.html
index 072e499f90..4be066f4ea 100644
--- a/module-core_base-service_base-xml.html
+++ b/module-core_base-service_base-xml.html
@@ -125,7 +125,7 @@
diff --git a/module-core_base-service_base-yaml-BaseYamlService.html b/module-core_base-service_base-yaml-BaseYamlService.html
index b01216f922..37cd57c9eb 100644
--- a/module-core_base-service_base-yaml-BaseYamlService.html
+++ b/module-core_base-service_base-yaml-BaseYamlService.html
@@ -638,7 +638,7 @@ that will be logged (to sentry, if configured).
diff --git a/module-core_base-service_base-yaml.html b/module-core_base-service_base-yaml.html
index 005f25f076..0642456f1d 100644
--- a/module-core_base-service_base-yaml.html
+++ b/module-core_base-service_base-yaml.html
@@ -125,7 +125,7 @@
diff --git a/module-core_base-service_base.html b/module-core_base-service_base.html
index df4cf9da5a..5044bb4fe9 100644
--- a/module-core_base-service_base.html
+++ b/module-core_base-service_base.html
@@ -1208,7 +1208,7 @@ when the parameter is absent. (Note that in,
diff --git a/module-core_base-service_errors-Deprecated.html b/module-core_base-service_errors-Deprecated.html
index ce10222dee..0ef419cee7 100644
--- a/module-core_base-service_errors-Deprecated.html
+++ b/module-core_base-service_errors-Deprecated.html
@@ -211,7 +211,7 @@
diff --git a/module-core_base-service_errors-ImproperlyConfigured.html b/module-core_base-service_errors-ImproperlyConfigured.html
index a8669ec59c..d8e0207576 100644
--- a/module-core_base-service_errors-ImproperlyConfigured.html
+++ b/module-core_base-service_errors-ImproperlyConfigured.html
@@ -211,7 +211,7 @@
diff --git a/module-core_base-service_errors-Inaccessible.html b/module-core_base-service_errors-Inaccessible.html
index 0b31f8229d..74617fe7b5 100644
--- a/module-core_base-service_errors-Inaccessible.html
+++ b/module-core_base-service_errors-Inaccessible.html
@@ -212,7 +212,7 @@ or to wrap a 5XX response
diff --git a/module-core_base-service_errors-InvalidParameter.html b/module-core_base-service_errors-InvalidParameter.html
index c40834b4b9..9601c69357 100644
--- a/module-core_base-service_errors-InvalidParameter.html
+++ b/module-core_base-service_errors-InvalidParameter.html
@@ -212,7 +212,7 @@ is invalid or unexpected
diff --git a/module-core_base-service_errors-InvalidResponse.html b/module-core_base-service_errors-InvalidResponse.html
index cba0878929..3c26ec59df 100644
--- a/module-core_base-service_errors-InvalidResponse.html
+++ b/module-core_base-service_errors-InvalidResponse.html
@@ -211,7 +211,7 @@
diff --git a/module-core_base-service_errors-NotFound.html b/module-core_base-service_errors-NotFound.html
index 79faff7dbc..9ee394721d 100644
--- a/module-core_base-service_errors-NotFound.html
+++ b/module-core_base-service_errors-NotFound.html
@@ -211,7 +211,7 @@
diff --git a/module-core_base-service_errors-ShieldsRuntimeError.html b/module-core_base-service_errors-ShieldsRuntimeError.html
index ed2837f311..fd488b432d 100644
--- a/module-core_base-service_errors-ShieldsRuntimeError.html
+++ b/module-core_base-service_errors-ShieldsRuntimeError.html
@@ -384,7 +384,7 @@ should override this method.
diff --git a/module-core_base-service_errors.html b/module-core_base-service_errors.html
index 7e1470fc91..62fc2211d0 100644
--- a/module-core_base-service_errors.html
+++ b/module-core_base-service_errors.html
@@ -343,7 +343,7 @@ for. Defaults to the cacheLength of the service class throwing the error
diff --git a/module-core_base-service_graphql.html b/module-core_base-service_graphql.html
index e7ef5d6860..0a2f71a962 100644
--- a/module-core_base-service_graphql.html
+++ b/module-core_base-service_graphql.html
@@ -296,7 +296,7 @@ but can't use that due to incorrect packaging.
diff --git a/module-core_base-service_openapi.html b/module-core_base-service_openapi.html
index 145c71b999..dc82056a45 100644
--- a/module-core_base-service_openapi.html
+++ b/module-core_base-service_openapi.html
@@ -1633,7 +1633,7 @@ Query params are usually strings. (Optional)
diff --git a/module-core_base-service_resource-cache.html b/module-core_base-service_resource-cache.html
index 994c728de3..abc6bf4a8c 100644
--- a/module-core_base-service_resource-cache.html
+++ b/module-core_base-service_resource-cache.html
@@ -568,7 +568,7 @@
diff --git a/module-core_server_server-Server.html b/module-core_server_server-Server.html
index 079e2022b4..f675364b70 100644
--- a/module-core_server_server-Server.html
+++ b/module-core_server_server-Server.html
@@ -681,7 +681,7 @@ Start listening for requests on this.baseUrl()
diff --git a/module-core_server_server.html b/module-core_server_server.html
index 9c2f3d833c..7138c3733d 100644
--- a/module-core_server_server.html
+++ b/module-core_server_server.html
@@ -125,7 +125,7 @@
diff --git a/module-core_service-test-runner_create-service-tester.html b/module-core_service-test-runner_create-service-tester.html
index 4465106c12..b02f9fa5ea 100644
--- a/module-core_service-test-runner_create-service-tester.html
+++ b/module-core_service-test-runner_create-service-tester.html
@@ -236,7 +236,7 @@ service.
diff --git a/module-core_service-test-runner_icedfrisby-shields.html b/module-core_service-test-runner_icedfrisby-shields.html
index ef51a7eb4c..af819c5ab1 100644
--- a/module-core_service-test-runner_icedfrisby-shields.html
+++ b/module-core_service-test-runner_icedfrisby-shields.html
@@ -292,7 +292,7 @@
diff --git a/module-core_service-test-runner_runner-Runner.html b/module-core_service-test-runner_runner-Runner.html
index 5040e74ed4..b890876fdf 100644
--- a/module-core_service-test-runner_runner-Runner.html
+++ b/module-core_service-test-runner_runner-Runner.html
@@ -568,7 +568,7 @@ overridden on instances.
diff --git a/module-core_service-test-runner_runner.html b/module-core_service-test-runner_runner.html
index 6b7bf8eff1..5d7ca0e821 100644
--- a/module-core_service-test-runner_runner.html
+++ b/module-core_service-test-runner_runner.html
@@ -125,7 +125,7 @@
diff --git a/module-core_service-test-runner_service-tester-ServiceTester.html b/module-core_service-test-runner_service-tester-ServiceTester.html
index 315e538962..69ab7d90a6 100644
--- a/module-core_service-test-runner_service-tester-ServiceTester.html
+++ b/module-core_service-test-runner_service-tester-ServiceTester.html
@@ -1126,7 +1126,7 @@ the CLI, or directly on the tester.
diff --git a/module-core_service-test-runner_service-tester.html b/module-core_service-test-runner_service-tester.html
index eb959e4a46..9e0922658e 100644
--- a/module-core_service-test-runner_service-tester.html
+++ b/module-core_service-test-runner_service-tester.html
@@ -125,7 +125,7 @@
diff --git a/module-core_service-test-runner_services-for-title.html b/module-core_service-test-runner_services-for-title.html
index 9959fdcdc3..51d0138b59 100644
--- a/module-core_service-test-runner_services-for-title.html
+++ b/module-core_service-test-runner_services-for-title.html
@@ -284,7 +284,7 @@ as an array of strings.
diff --git a/module-core_token-pooling_token-pool-Token.html b/module-core_token-pooling_token-pool-Token.html
index d20f8a466e..144956209e 100644
--- a/module-core_token-pooling_token-pool-Token.html
+++ b/module-core_token-pooling_token-pool-Token.html
@@ -715,7 +715,7 @@ stable ordering for a valid priority queue.
diff --git a/module-core_token-pooling_token-pool-TokenPool.html b/module-core_token-pooling_token-pool-TokenPool.html
index 3796715c84..2ffc6a8b25 100644
--- a/module-core_token-pooling_token-pool-TokenPool.html
+++ b/module-core_token-pooling_token-pool-TokenPool.html
@@ -899,7 +899,7 @@ indicate it should not be reused.
diff --git a/module-core_token-pooling_token-pool.html b/module-core_token-pooling_token-pool.html
index a33a667e08..d86c0a768a 100644
--- a/module-core_token-pooling_token-pool.html
+++ b/module-core_token-pooling_token-pool.html
@@ -291,7 +291,7 @@
diff --git a/module-services_build-status.html b/module-services_build-status.html
index 8896fd6ebe..cd7284059f 100644
--- a/module-services_build-status.html
+++ b/module-services_build-status.html
@@ -453,7 +453,7 @@ Determines the message and color of the badge according to the build status.
diff --git a/module-services_color-formatters.html b/module-services_color-formatters.html
index 2189725cc4..2866bb7801 100644
--- a/module-services_color-formatters.html
+++ b/module-services_color-formatters.html
@@ -1532,7 +1532,7 @@ The color defaults to red if the score does not matches with any of the grade va
diff --git a/module-services_contributor-count.html b/module-services_contributor-count.html
index 6476e8ff73..a7bd92fc20 100644
--- a/module-services_contributor-count.html
+++ b/module-services_contributor-count.html
@@ -536,7 +536,7 @@ Determines the message and color of the badge according to the contributor count
diff --git a/module-services_downloads.html b/module-services_downloads.html
index 68853f5e1e..e5cea1b90e 100644
--- a/module-services_downloads.html
+++ b/module-services_downloads.html
@@ -546,7 +546,7 @@ this value as the prefix for versioned badges, e.g. foobar@v1.23. D
diff --git a/module-services_dynamic-common.html b/module-services_dynamic-common.html
index 82f24122e4..f6e771e993 100644
--- a/module-services_dynamic-common.html
+++ b/module-services_dynamic-common.html
@@ -960,7 +960,7 @@ Sets the color of the badge to blue.
diff --git a/module-services_dynamic_json-path.html b/module-services_dynamic_json-path.html
index d4403abca3..7981626411 100644
--- a/module-services_dynamic_json-path.html
+++ b/module-services_dynamic_json-path.html
@@ -423,7 +423,7 @@ This can be used to extend or override the
diff --git a/module-services_endpoint-common.html b/module-services_endpoint-common.html
index a2d9736263..0537d812bb 100644
--- a/module-services_endpoint-common.html
+++ b/module-services_endpoint-common.html
@@ -810,7 +810,7 @@ Optionally it prints those keys in the message to provide detailed feedback.
diff --git a/module-services_licenses.html b/module-services_licenses.html
index eb2141c0cb..493c37edf5 100644
--- a/module-services_licenses.html
+++ b/module-services_licenses.html
@@ -650,7 +650,7 @@ Sets the badge color to the provided value, if not provided then the color is us
diff --git a/module-services_package-json-helpers.html b/module-services_package-json-helpers.html
index dc22c2c83e..2a5e9f02e3 100644
--- a/module-services_package-json-helpers.html
+++ b/module-services_package-json-helpers.html
@@ -656,7 +656,7 @@ Checks if the object has all the dependency types and the dependency types are v
diff --git a/module-services_php-version.html b/module-services_php-version.html
index f3d9cf19ce..826805deb7 100644
--- a/module-services_php-version.html
+++ b/module-services_php-version.html
@@ -1472,7 +1472,7 @@ Return { numbers: [1,0,something big], modifier: 2, modifierCount: 1 }
diff --git a/module-services_pipenv-helpers.html b/module-services_pipenv-helpers.html
index 6b497fbc07..a9659212e1 100644
--- a/module-services_pipenv-helpers.html
+++ b/module-services_pipenv-helpers.html
@@ -616,7 +616,7 @@ Checks if the lock file object has required properties and the properties are va
diff --git a/module-services_route-builder.html b/module-services_route-builder.html
index 2a241269e1..b939dfed03 100644
--- a/module-services_route-builder.html
+++ b/module-services_route-builder.html
@@ -621,7 +621,7 @@
diff --git a/module-services_steam_steam-base-BaseSteamAPI.html b/module-services_steam_steam-base-BaseSteamAPI.html
index 3af02a4130..c945f9e77f 100644
--- a/module-services_steam_steam-base-BaseSteamAPI.html
+++ b/module-services_steam_steam-base-BaseSteamAPI.html
@@ -380,7 +380,7 @@
diff --git a/module-services_steam_steam-base.html b/module-services_steam_steam-base.html
index ddfd6fba79..db75bb5bcd 100644
--- a/module-services_steam_steam-base.html
+++ b/module-services_steam_steam-base.html
@@ -125,7 +125,7 @@
diff --git a/module-services_text-formatters.html b/module-services_text-formatters.html
index 58c68192f0..69283aada8 100644
--- a/module-services_text-formatters.html
+++ b/module-services_text-formatters.html
@@ -1680,7 +1680,7 @@ The remaining stars are empty stars until the maximum number of stars is reached
diff --git a/module-services_validators.html b/module-services_validators.html
index b43d2a3ad7..7b13fbb237 100644
--- a/module-services_validators.html
+++ b/module-services_validators.html
@@ -707,7 +707,7 @@ Some invalid values for this validator are: abc, 1.a, 1.0-, .1
diff --git a/module-services_version.html b/module-services_version.html
index 7932de56f3..9b3f0a84d2 100644
--- a/module-services_version.html
+++ b/module-services_version.html
@@ -1882,7 +1882,7 @@ slice('2.4', 'patch') // returns null because the version string is not valid ac
diff --git a/module-services_website-status.html b/module-services_website-status.html
index b0d5bb5383..432aeeb8f0 100644
--- a/module-services_website-status.html
+++ b/module-services_website-status.html
@@ -661,7 +661,7 @@ renderWebsiteStatus({ isUp: false }) // returns { message: 'down', color: 'red'
diff --git a/services_build-status.js.html b/services_build-status.js.html
index beb29934f6..523ece5999 100644
--- a/services_build-status.js.html
+++ b/services_build-status.js.html
@@ -140,7 +140,7 @@ export { isBuildStatus, renderBuildStatusBadge }
diff --git a/services_color-formatters.js.html b/services_color-formatters.js.html
index 6e8ec1e801..878cfb20a9 100644
--- a/services_color-formatters.js.html
+++ b/services_color-formatters.js.html
@@ -240,7 +240,7 @@ export {
diff --git a/services_contributor-count.js.html b/services_contributor-count.js.html
index e67484870f..193e5ececd 100644
--- a/services_contributor-count.js.html
+++ b/services_contributor-count.js.html
@@ -85,7 +85,7 @@ export { contributorColor, renderContributorBadge }
diff --git a/services_downloads.js.html b/services_downloads.js.html
index 42c50242cc..7acbbb3c4a 100644
--- a/services_downloads.js.html
+++ b/services_downloads.js.html
@@ -101,7 +101,7 @@ export { renderDownloadsBadge }
diff --git a/services_dynamic-common.js.html b/services_dynamic-common.js.html
index e220dae13f..8e116269f2 100644
--- a/services_dynamic-common.js.html
+++ b/services_dynamic-common.js.html
@@ -142,7 +142,7 @@ export {
diff --git a/services_dynamic_json-path.js.html b/services_dynamic_json-path.js.html
index 9518a6ae46..bfdbd43f92 100644
--- a/services_dynamic_json-path.js.html
+++ b/services_dynamic_json-path.js.html
@@ -120,7 +120,7 @@ export default superclass =>
diff --git a/services_endpoint-common.js.html b/services_endpoint-common.js.html
index eccb355a10..4849aeca2b 100644
--- a/services_endpoint-common.js.html
+++ b/services_endpoint-common.js.html
@@ -149,7 +149,7 @@ export { validateEndpointData, fetchEndpointData }
diff --git a/services_licenses.js.html b/services_licenses.js.html
index 80edb2d97b..d09442d296 100644
--- a/services_licenses.js.html
+++ b/services_licenses.js.html
@@ -201,7 +201,7 @@ export { licenseToColor, renderLicenseBadge }
diff --git a/services_package-json-helpers.js.html b/services_package-json-helpers.js.html
index 2ad408f7c3..7c6a3f5ef0 100644
--- a/services_package-json-helpers.js.html
+++ b/services_package-json-helpers.js.html
@@ -120,7 +120,7 @@ export { isDependencyMap, isPackageJsonWithDependencies, getDependencyVersion }
diff --git a/services_packagist_packagist-base.js.html b/services_packagist_packagist-base.js.html
index 96f36a4804..e8b956e0d0 100644
--- a/services_packagist_packagist-base.js.html
+++ b/services_packagist_packagist-base.js.html
@@ -227,7 +227,7 @@ export {
diff --git a/services_php-version.js.html b/services_php-version.js.html
index 8b0c88ddca..e2b85ab2e1 100644
--- a/services_php-version.js.html
+++ b/services_php-version.js.html
@@ -341,7 +341,7 @@ export {
diff --git a/services_pipenv-helpers.js.html b/services_pipenv-helpers.js.html
index 8903bac306..f89200d015 100644
--- a/services_pipenv-helpers.js.html
+++ b/services_pipenv-helpers.js.html
@@ -128,7 +128,7 @@ export { isLockfile, getDependencyVersion }
diff --git a/services_route-builder.js.html b/services_route-builder.js.html
index 794f2ce33b..afdb6432b2 100644
--- a/services_route-builder.js.html
+++ b/services_route-builder.js.html
@@ -105,7 +105,7 @@ export default class RouteBuilder {
diff --git a/services_steam_steam-base.js.html b/services_steam_steam-base.js.html
index d6586b8679..cbff1b272e 100644
--- a/services_steam_steam-base.js.html
+++ b/services_steam_steam-base.js.html
@@ -98,7 +98,7 @@ export default BaseSteamAPI
diff --git a/services_test-validators.js.html b/services_test-validators.js.html
index 672fe194e8..7873390b93 100644
--- a/services_test-validators.js.html
+++ b/services_test-validators.js.html
@@ -259,7 +259,7 @@ export {
diff --git a/services_text-formatters.js.html b/services_text-formatters.js.html
index 421f210f52..38897c131f 100644
--- a/services_text-formatters.js.html
+++ b/services_text-formatters.js.html
@@ -252,7 +252,7 @@ export {
diff --git a/services_thunderstore_thunderstore-base.js.html b/services_thunderstore_thunderstore-base.js.html
index 8ced32f0ac..ec4177cc7c 100644
--- a/services_thunderstore_thunderstore-base.js.html
+++ b/services_thunderstore_thunderstore-base.js.html
@@ -135,7 +135,7 @@ export { BaseThunderstoreService, documentation }
diff --git a/services_validators.js.html b/services_validators.js.html
index b4bc7ce83a..408b739390 100644
--- a/services_validators.js.html
+++ b/services_validators.js.html
@@ -123,7 +123,7 @@ export const fileSize = Joi.string()
diff --git a/services_version.js.html b/services_version.js.html
index 2fff8d8d32..aaa86b2d18 100644
--- a/services_version.js.html
+++ b/services_version.js.html
@@ -299,7 +299,7 @@ export { latest, listCompare, slice, rangeStart, renderVersionBadge }
diff --git a/services_website-status.js.html b/services_website-status.js.html
index 8a37032b4f..4a616f5826 100644
--- a/services_website-status.js.html
+++ b/services_website-status.js.html
@@ -107,7 +107,7 @@ export { queryParamSchema, queryParams, renderWebsiteStatus }
diff --git a/tutorial-TUTORIAL.html b/tutorial-TUTORIAL.html
index 1527fec6e1..442a7ee417 100644
--- a/tutorial-TUTORIAL.html
+++ b/tutorial-TUTORIAL.html
@@ -150,9 +150,9 @@ export default class Example extends BaseService {
Description of the code:
-
Our service badge class will extend BaseService so we need to require it. Variables are declared with const and let in preference to var.
+
Our service badge class will extend BaseService so we need to import it.
Our module must export a class which extends BaseService.
-
Returns the name of the category to sort this badge into (eg. "build"). Used to sort the examples on the main shields.io website. Here is the list of the valid categories. See section 4.4 for more details on examples.
+
Returns the name of the category to sort this badge into (eg. "build"). Used to sort the examples on the main shields.io website. Here is the list of the valid categories. See section 4.4 for more details.
route declares the URL path at which the service operates. It also maps components of the URL path to handler parameters.
base defines the first part of the URL that doesn't change, e.g. /example/.
Our module exports a class which extends BaseJsonService
-
Returns the name of the category to sort this badge into (eg. "build"). Used to sort the examples on the main shields.io website. Here is the list of the valid categories. See section 4.4 for more details on examples.
+
Returns the name of the category to sort this badge into (eg. "build"). Used to sort the examples on the main shields.io website. Here is the list of the valid categories. See section 4.4 for more details.
As with our previous badge, we need to declare a route. This time we will capture a variable called gem.
@@ -298,41 +298,87 @@ and can be imported via the import shortcut and then thrown:
throw new NotFound({ prettyMessage: 'package not found' })
-
(4.4) Adding an Example to the Front Page
-
Once we have implemented our badge, we can add it to the index so that users can discover it. We will do this by adding an additional array examples to our class.
-
export default class GemVersion extends BaseJsonService {
+
(4.4) Adding Documentation to the Frontend
+
To render the shields.io website, we produce an OpenAPI 3 specification which describes the available badge endpoints. Then we use that specification to render the frontend.
+
Once we have implemented our badge, we want to add it to the index so that users can discover it. We will do this by adding an additional object openApi to our class. This object contains an OpenAPI Paths Object describing the endpoint or endpoints exposed by this service class.
We defined category earlier in the tutorial. The category property defines which heading in the index our example will appear under.
-
The examples property defines an array of examples. In this case the array will contain a single object, but in some cases it is helpful to provide multiple usage examples.
-
Our example object should contain the following properties:
+
title: Descriptive text that will be shown next to the badge
-
namedParams: Provide a valid example of params we can substitute into
-the pattern. In this case we need a valid ruby gem, so we've picked formatador.
-
staticPreview: On the index page we want to show an example badge, but for performance reasons we want that example to be generated without making an API call. staticPreview should be populated by calling our render() method with some valid data.
-
keywords: If we want to provide additional keywords other than the title and the category, we can add them here. This helps users to search for relevant badges.
+
pathParam - returns a single Parameter object describing a single path parameter
+
pathParams - returns an array of path parameter objects
+
queryParam - returns a single Parameter object describing a single query parameter
+
queryParams - returns an array of query parameter objects
+
These four helper functions are documented in more detail at http://contributing.shields.io/module-core_base-service_openapi.html
+
+
+
We defined category earlier in the tutorial. The category property defines which heading in the index our example will appear under.
+
+
+
The keys of the openApi object are routes. In this case we only need to describe one route. In some cases, a service class can define more than one badge route. Open API doesn't have the concept of optional path parameters (more specifically, in: 'path' implies required: true) so if there are any optional path parameters in our route, our openApi object needs to describe two URLs: one without the optional parameter, and another with it.
+
+
+
The HTTP method. Shields only allows GET requests, so this is always get.
+
+
+
summary (required) is a short title or description of the badge. description is an optional longer description or additional documentation. We can use markdown or HTML syntax inside the description field.
+
+
+
parameters is an array of Open API Parameter objects describing any parameters we can pass to this route. This array should include all path parameters included in the key that this value object describes and all relevant query parameters. As a minimum, we need to supply name and example. The example must be a valid example of a value we can provide for this parameter. In this case we need a valid ruby gem, so we've picked formatador. There are also optional keys we can pass. The code
+
parameters: pathParams({
+ name: 'gem',
+ description: 'Name of the Ruby Gem',
+ example: 'formatador',
+})
+
If you update examples, you don't have to restart the server. Run npm run defs in another terminal window and the frontend will update.
+
If you update openApi, you don't have to restart the server. Run npm run prestart in another terminal window and the frontend will update.
+
Note: Some services define this information in an array property called examples. This is deprecated and we're in the process of converting them. New services should declare an openApi object.
(4.5) Write Tests
When creating a badge for a new service or changing a badge's behavior, tests
should be included. They serve several purposes:
@@ -379,7 +425,7 @@ will review your contribution.