1
0
mirror of synced 2025-12-19 18:10:59 -05:00
Files
docs/middleware/contextualizers/product-examples.js
2021-06-10 20:14:56 +00:00

23 lines
1.0 KiB
JavaScript

const getApplicableVersions = require('../../lib/get-applicable-versions')
module.exports = async function productExamples (req, res, next) {
if (!req.context.page) return next()
if (req.context.currentLayoutName !== 'product-landing') return next()
const productExamples = req.context.site.data['product-examples'][req.context.currentProduct]
if (!productExamples) return next()
req.context.productCommunityExamples = productExamples['community-examples']
req.context.productUserExamples = productExamples['user-examples']
// We currently only support versioning in code examples.
// TODO support versioning across all example types.
req.context.productCodeExamples = productExamples['code-examples'] && productExamples['code-examples']
.filter(example => {
// If an example block does NOT contain the versions prop, assume it's available in all versions
return !example.versions || getApplicableVersions(example.versions).includes(req.context.currentVersion)
})
return next()
}