This pull request closes #2551: making sure that the keywords don't already appear in the example's title. I also added validation that checks that they are at least two characters long, as this is enforced by the homepage when type your search.
59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
'use strict'
|
|
|
|
const BaseWordpress = require('./wordpress-base')
|
|
const { addv } = require('../../lib/text-formatters')
|
|
const { version: versionColor } = require('../../lib/color-formatters')
|
|
|
|
function VersionForExtensionType(extensionType) {
|
|
const { capt, exampleSlug } = {
|
|
plugin: {
|
|
capt: 'Plugin',
|
|
exampleSlug: 'bbpress',
|
|
},
|
|
theme: {
|
|
capt: 'Theme',
|
|
exampleSlug: 'twentyseventeen',
|
|
},
|
|
}[extensionType]
|
|
|
|
return class WordpressPluginVersion extends BaseWordpress {
|
|
static get extensionType() {
|
|
return extensionType
|
|
}
|
|
|
|
static render({ response }) {
|
|
return {
|
|
message: addv(response.version),
|
|
color: versionColor(response.version),
|
|
}
|
|
}
|
|
|
|
static get category() {
|
|
return 'version'
|
|
}
|
|
|
|
static get defaultBadgeData() {
|
|
return { label: extensionType }
|
|
}
|
|
|
|
static get route() {
|
|
return {
|
|
base: `wordpress/${extensionType}/v`,
|
|
pattern: ':slug',
|
|
}
|
|
}
|
|
|
|
static get examples() {
|
|
return [
|
|
{
|
|
title: `Wordpress ${capt} Version`,
|
|
namedParams: { slug: exampleSlug },
|
|
staticPreview: this.render({ response: { version: 2.5 } }),
|
|
},
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = ['theme', 'plugin'].map(VersionForExtensionType)
|