diff --git a/packages/webawesome/docs/.eleventy.js b/packages/webawesome/docs/.eleventy.js index 21cd9ee2f..dd4cd119a 100644 --- a/packages/webawesome/docs/.eleventy.js +++ b/packages/webawesome/docs/.eleventy.js @@ -1,3 +1,4 @@ +import { nanoid } from 'nanoid'; import { parse as HTMLParse } from 'node-html-parser'; import * as fs from 'node:fs'; import * as path from 'node:path'; @@ -87,6 +88,7 @@ export default async function (eleventyConfig) { eleventyConfig.addFilter('markdown', content => markdown.render(content || '')); eleventyConfig.addFilter('stripExtension', string => path.parse(string + '').name); eleventyConfig.addFilter('stripPrefix', content => content.replace(/^wa-/, '')); + eleventyConfig.addFilter('uniqueId', (_value, length = 8) => nanoid(length)); // Trims whitespace and pipes from the start and end of a string. Useful for CEM types, which can be pipe-delimited. // With Prettier 3, this means a leading pipe will exist be present when the line wraps. eleventyConfig.addFilter('trimPipes', content => { diff --git a/packages/webawesome/docs/_includes/pro-badge.njk b/packages/webawesome/docs/_includes/pro-badge.njk new file mode 100644 index 000000000..f5d05dd2a --- /dev/null +++ b/packages/webawesome/docs/_includes/pro-badge.njk @@ -0,0 +1,5 @@ +{% macro proBadge(proBadgeDescription, proBadgeId) %} + {% set badgeId = proBadgeId or ("pro-badge-" + ("" | uniqueId(8))) %} + Pro + {{ proBadgeDescription or "This requires access to Web Awesome Pro" }} +{% endmacro %} diff --git a/packages/webawesome/docs/_includes/sidebar.njk b/packages/webawesome/docs/_includes/sidebar.njk index 17b5170e9..a09fac59f 100644 --- a/packages/webawesome/docs/_includes/sidebar.njk +++ b/packages/webawesome/docs/_includes/sidebar.njk @@ -1,5 +1,6 @@ {# Search #} {% include "search-trigger-button.njk" %} +{% from "pro-badge.njk" import proBadge %} {# Getting started #}

Getting Started

@@ -38,7 +39,7 @@ Page - PRO + {{ proBadge() }}
  • Animated Image
  • @@ -179,7 +180,7 @@ Page - PRO + {{ proBadge() }} @@ -197,7 +198,7 @@
  • App - PRO + {{ proBadge() }}