diff --git a/.eleventy.js b/.eleventy.js new file mode 100644 index 0000000000..83e26ba0c1 --- /dev/null +++ b/.eleventy.js @@ -0,0 +1,159 @@ +import slugify from 'slugify'; +import markdownIt from 'markdown-it'; +import yaml from 'js-yaml'; +import fs from 'fs'; +import path from 'path'; + +const ICON_REGEX = /{%\s+include\s+["']?\/?icons\/([\w-]+)\.svg["']?\s+%}/g; + +export default function (eleventyConfig) { + // Get baseurl from environment or use default + const baseurl = process.env.BASEURL || '/design-system'; + + // Copy assets + eleventyConfig.addPassthroughCopy('docs/assets'); + eleventyConfig.addPassthroughCopy('docs/images'); + eleventyConfig.addPassthroughCopy('docs/admin'); + eleventyConfig.addPassthroughCopy('docs/fonts'); + eleventyConfig.addPassthroughCopy({ 'docs/dist': 'dist' }); + + // Watch for changes + eleventyConfig.addWatchTarget('docs/assets/'); + eleventyConfig.addWatchTarget('docs/dist/'); + + // Set up markdown + const md = markdownIt({ + html: true, + breaks: true, + linkify: true, + }); + eleventyConfig.setLibrary('md', md); + + // Configure Liquid options + eleventyConfig.setLiquidOptions({ + dynamicPartials: true, + strictFilters: false, + }); + + // Add filters + eleventyConfig.addFilter('slugify', function (str) { + if (!str) return ''; + return slugify(str, { + lower: true, + strict: true, + remove: /[*+~.()'"!:@]/g, + }); + }); + + eleventyConfig.addFilter('relative_url', function (url) { + if (!url) return baseurl; + return url.startsWith('/') ? baseurl + url : baseurl + '/' + url; + }); + + const renderIcons = (content) => { + if (!content) return ''; + const iconsDir = path.resolve('docs/_includes/icons'); + return content.replace(ICON_REGEX, (match, icon) => { + const iconPath = path.join(iconsDir, `${icon}.svg`); + if (!fs.existsSync(iconPath)) return match; + return fs.readFileSync(iconPath, { encoding: 'utf8', flag: 'r' }).trim(); + }); + }; + + eleventyConfig.addFilter('render_icons', function (content) { + return renderIcons(content); + }); + + eleventyConfig.addFilter('markdownify', function (content) { + if (!content) return ''; + return md.render(renderIcons(content)); + }); + + // Custom collection for pages by section + eleventyConfig.addCollection('pagesBySection', function (collectionApi) { + const pages = collectionApi.getFilteredByGlob('docs/pages/**/*.md'); + const sections = {}; + + pages.forEach((page) => { + const section = page.data.section || 'other'; + if (!sections[section]) { + sections[section] = []; + } + sections[section].push(page); + }); + + return sections; + }); + + // Add global data + const navigationData = yaml.load( + fs.readFileSync('docs/_data/side-navigation.yml', 'utf8'), + ); + + eleventyConfig.addGlobalData('site', { + title: 'Design System', + name: 'Design System', + description: "CFPB's design system", + org: 'CFPB', + repository: 'cfpb/design-system', + baseurl: baseurl, + data: { + sideNavigation: navigationData, + }, + }); + + // Custom permalinks + eleventyConfig.addGlobalData('eleventyComputed', { + permalink: (data) => { + // Skip if permalink is already set + if (data.permalink) return data.permalink; + + // Handle homepage + if (data.is_homepage) { + return '/index.html'; + } + + const title = data.title; + const section = data.section; + + if (!title || !section) { + return false; // Use default + } + + // Slugify the title + const slug = slugify(title, { + lower: true, + strict: true, + remove: /[*+~.()'"!:@]/g, + }); + + // Look out for section index pages + if (section === slug) { + return `/${section}/index.html`; + } + + return `/${section}/${slug}/index.html`; + }, + }); + + // Add date filters + eleventyConfig.addFilter('date', function (date) { + if (!date) return ''; + const d = new Date(date); + return d.toISOString(); + }); + + return { + dir: { + input: 'docs', + output: 'docs/_site/design-system', + includes: '_includes', + layouts: '_layouts', + data: '_data', + }, + templateFormats: ['html', 'md', 'liquid', 'njk'], + htmlTemplateEngine: 'liquid', + markdownTemplateEngine: 'liquid', + pathPrefix: baseurl + '/', + }; +} diff --git a/.eleventyignore b/.eleventyignore new file mode 100644 index 0000000000..8f44dd6f40 --- /dev/null +++ b/.eleventyignore @@ -0,0 +1,25 @@ +node_modules +package.json +webpack.config.js +yarn.lock +.git +.gitignore +README.md +LICENSE +TERMS.md +CODE_OF_CONDUCT.md +CONTRIBUTING.md +HISTORY.md +esbuild +packages +scripts +test +cypress.config.js +eslint.config.js +jest.config.js +lighthouserc.cjs +netlify.toml +style-dictionary.config.js +stylelint.config.js +svgo.config.js +cliff.toml diff --git a/.github/actions/shared-action-setup/action.yml b/.github/actions/shared-action-setup/action.yml index e0594a229b..1acdbb46de 100644 --- a/.github/actions/shared-action-setup/action.yml +++ b/.github/actions/shared-action-setup/action.yml @@ -7,11 +7,6 @@ runs: with: node-version: 22 - - name: Set up Ruby for Jekyll - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.4.3 - - name: Install dependencies with Yarn shell: bash run: | diff --git a/.github/workflows/pr-preview.yml b/.github/workflows/pr-preview.yml new file mode 100644 index 0000000000..52ce04628a --- /dev/null +++ b/.github/workflows/pr-preview.yml @@ -0,0 +1,37 @@ +name: Deploy PR Preview + +on: + pull_request: + types: [opened, synchronize, reopened, closed] + +permissions: + contents: write + pull-requests: write + +concurrency: preview-${{ github.ref }} + +jobs: + deploy-preview: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Shared setup + uses: ./.github/actions/shared-action-setup + + - name: Build site + run: yarn build-decap + env: + BASEURL: /design-system/pr-preview/pr-${{ github.event.pull_request.number }} + + - name: Deploy preview + uses: rossjrw/pr-preview-action@v1 + with: + source-dir: ./docs/_site/design-system/ + preview-branch: gh-pages + umbrella-dir: pr-preview + action: auto diff --git a/.gitignore b/.gitignore index 614446ee41..ae431866ed 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,3 @@ docs/fonts/ docs/_site .lighthouseci .sass-cache -**/.jekyll-cache/ -.jekyll-metadata -Gemfile.lock diff --git a/.yarn/cache/@11ty-dependency-tree-esm-npm-2.0.4-a63250f8db-7ad0687f8d.zip b/.yarn/cache/@11ty-dependency-tree-esm-npm-2.0.4-a63250f8db-7ad0687f8d.zip new file mode 100644 index 0000000000..3a098574ab Binary files /dev/null and b/.yarn/cache/@11ty-dependency-tree-esm-npm-2.0.4-a63250f8db-7ad0687f8d.zip differ diff --git a/.yarn/cache/@11ty-dependency-tree-npm-4.0.2-3b2a04f1dd-1cce1b59ad.zip b/.yarn/cache/@11ty-dependency-tree-npm-4.0.2-3b2a04f1dd-1cce1b59ad.zip new file mode 100644 index 0000000000..d60517307d Binary files /dev/null and b/.yarn/cache/@11ty-dependency-tree-npm-4.0.2-3b2a04f1dd-1cce1b59ad.zip differ diff --git a/.yarn/cache/@11ty-eleventy-dev-server-npm-2.0.8-ede6bddc0a-5acd0fdd59.zip b/.yarn/cache/@11ty-eleventy-dev-server-npm-2.0.8-ede6bddc0a-5acd0fdd59.zip new file mode 100644 index 0000000000..8086e6ec34 Binary files /dev/null and b/.yarn/cache/@11ty-eleventy-dev-server-npm-2.0.8-ede6bddc0a-5acd0fdd59.zip differ diff --git a/.yarn/cache/@11ty-eleventy-npm-3.1.2-2904687dc2-3c1356c5a9.zip b/.yarn/cache/@11ty-eleventy-npm-3.1.2-2904687dc2-3c1356c5a9.zip new file mode 100644 index 0000000000..d13ac3de4e Binary files /dev/null and b/.yarn/cache/@11ty-eleventy-npm-3.1.2-2904687dc2-3c1356c5a9.zip differ diff --git a/.yarn/cache/@11ty-eleventy-plugin-bundle-npm-3.0.7-a07ee4abf3-50c8f658cd.zip b/.yarn/cache/@11ty-eleventy-plugin-bundle-npm-3.0.7-a07ee4abf3-50c8f658cd.zip new file mode 100644 index 0000000000..79d065da00 Binary files /dev/null and b/.yarn/cache/@11ty-eleventy-plugin-bundle-npm-3.0.7-a07ee4abf3-50c8f658cd.zip differ diff --git a/.yarn/cache/@11ty-eleventy-utils-npm-2.0.7-0da81b8a4c-71d1fbdf4d.zip b/.yarn/cache/@11ty-eleventy-utils-npm-2.0.7-0da81b8a4c-71d1fbdf4d.zip new file mode 100644 index 0000000000..7247e42aff Binary files /dev/null and b/.yarn/cache/@11ty-eleventy-utils-npm-2.0.7-0da81b8a4c-71d1fbdf4d.zip differ diff --git a/.yarn/cache/@11ty-lodash-custom-npm-4.17.21-08aa3fb4e3-947b1a90cd.zip b/.yarn/cache/@11ty-lodash-custom-npm-4.17.21-08aa3fb4e3-947b1a90cd.zip new file mode 100644 index 0000000000..d2f76f971d Binary files /dev/null and b/.yarn/cache/@11ty-lodash-custom-npm-4.17.21-08aa3fb4e3-947b1a90cd.zip differ diff --git a/.yarn/cache/@11ty-posthtml-urls-npm-1.0.2-d5d3afc70d-cf4c269875.zip b/.yarn/cache/@11ty-posthtml-urls-npm-1.0.2-d5d3afc70d-cf4c269875.zip new file mode 100644 index 0000000000..0a4ab13749 Binary files /dev/null and b/.yarn/cache/@11ty-posthtml-urls-npm-1.0.2-d5d3afc70d-cf4c269875.zip differ diff --git a/.yarn/cache/@11ty-recursive-copy-npm-4.0.3-ac1282f53e-faf71eb57c.zip b/.yarn/cache/@11ty-recursive-copy-npm-4.0.3-ac1282f53e-faf71eb57c.zip new file mode 100644 index 0000000000..ea2e9cb7b2 Binary files /dev/null and b/.yarn/cache/@11ty-recursive-copy-npm-4.0.3-ac1282f53e-faf71eb57c.zip differ diff --git a/.yarn/cache/@sindresorhus-slugify-npm-2.2.1-d3d46bd278-c3fe41d917.zip b/.yarn/cache/@sindresorhus-slugify-npm-2.2.1-d3d46bd278-c3fe41d917.zip new file mode 100644 index 0000000000..096bc9596f Binary files /dev/null and b/.yarn/cache/@sindresorhus-slugify-npm-2.2.1-d3d46bd278-c3fe41d917.zip differ diff --git a/.yarn/cache/@sindresorhus-transliterate-npm-1.6.0-85bb17cf9b-c5552abd98.zip b/.yarn/cache/@sindresorhus-transliterate-npm-1.6.0-85bb17cf9b-c5552abd98.zip new file mode 100644 index 0000000000..f19f7bbf7a Binary files /dev/null and b/.yarn/cache/@sindresorhus-transliterate-npm-1.6.0-85bb17cf9b-c5552abd98.zip differ diff --git a/.yarn/cache/a-sync-waterfall-npm-1.0.1-f6b6b49568-1c7b258da2.zip b/.yarn/cache/a-sync-waterfall-npm-1.0.1-f6b6b49568-1c7b258da2.zip new file mode 100644 index 0000000000..70b2f4c9ca Binary files /dev/null and b/.yarn/cache/a-sync-waterfall-npm-1.0.1-f6b6b49568-1c7b258da2.zip differ diff --git a/.yarn/cache/acorn-walk-npm-8.3.4-a75fa85ead-76537ac5fb.zip b/.yarn/cache/acorn-walk-npm-8.3.4-a75fa85ead-76537ac5fb.zip new file mode 100644 index 0000000000..b4ce0e1301 Binary files /dev/null and b/.yarn/cache/acorn-walk-npm-8.3.4-a75fa85ead-76537ac5fb.zip differ diff --git a/.yarn/cache/array-differ-npm-1.0.0-ad58eb65d0-8782c01cfe.zip b/.yarn/cache/array-differ-npm-1.0.0-ad58eb65d0-8782c01cfe.zip new file mode 100644 index 0000000000..de365c29b5 Binary files /dev/null and b/.yarn/cache/array-differ-npm-1.0.0-ad58eb65d0-8782c01cfe.zip differ diff --git a/.yarn/cache/array-union-npm-1.0.2-cc61ee268f-18686767c0.zip b/.yarn/cache/array-union-npm-1.0.2-cc61ee268f-18686767c0.zip new file mode 100644 index 0000000000..58b4f7b7b2 Binary files /dev/null and b/.yarn/cache/array-union-npm-1.0.2-cc61ee268f-18686767c0.zip differ diff --git a/.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-3acbaf9e6d.zip b/.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-3acbaf9e6d.zip new file mode 100644 index 0000000000..e49db68e28 Binary files /dev/null and b/.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-3acbaf9e6d.zip differ diff --git a/.yarn/cache/arrify-npm-1.0.1-affafba9fe-c35c8d1a81.zip b/.yarn/cache/arrify-npm-1.0.1-affafba9fe-c35c8d1a81.zip new file mode 100644 index 0000000000..d265a09a06 Binary files /dev/null and b/.yarn/cache/arrify-npm-1.0.1-affafba9fe-c35c8d1a81.zip differ diff --git a/.yarn/cache/asap-npm-2.0.6-36714d439d-c6d5e39fe1.zip b/.yarn/cache/asap-npm-2.0.6-36714d439d-c6d5e39fe1.zip new file mode 100644 index 0000000000..be09a71c1b Binary files /dev/null and b/.yarn/cache/asap-npm-2.0.6-36714d439d-c6d5e39fe1.zip differ diff --git a/.yarn/cache/bcp-47-match-npm-2.0.3-e22e661cc8-ae5c202854.zip b/.yarn/cache/bcp-47-match-npm-2.0.3-e22e661cc8-ae5c202854.zip new file mode 100644 index 0000000000..2f7832555a Binary files /dev/null and b/.yarn/cache/bcp-47-match-npm-2.0.3-e22e661cc8-ae5c202854.zip differ diff --git a/.yarn/cache/bcp-47-normalize-npm-2.3.0-072555ca72-c028251469.zip b/.yarn/cache/bcp-47-normalize-npm-2.3.0-072555ca72-c028251469.zip new file mode 100644 index 0000000000..d40bb1c431 Binary files /dev/null and b/.yarn/cache/bcp-47-normalize-npm-2.3.0-072555ca72-c028251469.zip differ diff --git a/.yarn/cache/bcp-47-npm-2.1.0-2a498bb945-0b461b6d5b.zip b/.yarn/cache/bcp-47-npm-2.1.0-2a498bb945-0b461b6d5b.zip new file mode 100644 index 0000000000..245563c9f0 Binary files /dev/null and b/.yarn/cache/bcp-47-npm-2.1.0-2a498bb945-0b461b6d5b.zip differ diff --git a/.yarn/cache/binary-extensions-npm-2.3.0-bd3f20d865-75a59cafc1.zip b/.yarn/cache/binary-extensions-npm-2.3.0-bd3f20d865-75a59cafc1.zip new file mode 100644 index 0000000000..cae04b5986 Binary files /dev/null and b/.yarn/cache/binary-extensions-npm-2.3.0-bd3f20d865-75a59cafc1.zip differ diff --git a/.yarn/cache/chokidar-npm-3.6.0-3c413a828f-8361dcd013.zip b/.yarn/cache/chokidar-npm-3.6.0-3c413a828f-8361dcd013.zip new file mode 100644 index 0000000000..3a5294affc Binary files /dev/null and b/.yarn/cache/chokidar-npm-3.6.0-3c413a828f-8361dcd013.zip differ diff --git a/.yarn/cache/commander-npm-5.1.0-7e939e7832-da9d71dbe4.zip b/.yarn/cache/commander-npm-5.1.0-7e939e7832-da9d71dbe4.zip new file mode 100644 index 0000000000..f7eea79d68 Binary files /dev/null and b/.yarn/cache/commander-npm-5.1.0-7e939e7832-da9d71dbe4.zip differ diff --git a/.yarn/cache/dependency-graph-npm-1.0.0-c6f20ca264-10d1e248ab.zip b/.yarn/cache/dependency-graph-npm-1.0.0-c6f20ca264-10d1e248ab.zip new file mode 100644 index 0000000000..1235719910 Binary files /dev/null and b/.yarn/cache/dependency-graph-npm-1.0.0-c6f20ca264-10d1e248ab.zip differ diff --git a/.yarn/cache/dom-serializer-npm-1.4.1-ebb24349c1-67d775fa1e.zip b/.yarn/cache/dom-serializer-npm-1.4.1-ebb24349c1-67d775fa1e.zip new file mode 100644 index 0000000000..e1870da24f Binary files /dev/null and b/.yarn/cache/dom-serializer-npm-1.4.1-ebb24349c1-67d775fa1e.zip differ diff --git a/.yarn/cache/domhandler-npm-4.3.1-493539c1ca-5c199c7468.zip b/.yarn/cache/domhandler-npm-4.3.1-493539c1ca-5c199c7468.zip new file mode 100644 index 0000000000..4816dfae93 Binary files /dev/null and b/.yarn/cache/domhandler-npm-4.3.1-493539c1ca-5c199c7468.zip differ diff --git a/.yarn/cache/domutils-npm-2.8.0-0325139e5c-d58e2ae019.zip b/.yarn/cache/domutils-npm-2.8.0-0325139e5c-d58e2ae019.zip new file mode 100644 index 0000000000..5372b18399 Binary files /dev/null and b/.yarn/cache/domutils-npm-2.8.0-0325139e5c-d58e2ae019.zip differ diff --git a/.yarn/cache/entities-npm-2.2.0-0fc8d5b2f7-7fba6af1f1.zip b/.yarn/cache/entities-npm-2.2.0-0fc8d5b2f7-7fba6af1f1.zip new file mode 100644 index 0000000000..b5be7d2dd0 Binary files /dev/null and b/.yarn/cache/entities-npm-2.2.0-0fc8d5b2f7-7fba6af1f1.zip differ diff --git a/.yarn/cache/entities-npm-3.0.1-21eeb201ba-2d93f48fd8.zip b/.yarn/cache/entities-npm-3.0.1-21eeb201ba-2d93f48fd8.zip new file mode 100644 index 0000000000..988aa39e63 Binary files /dev/null and b/.yarn/cache/entities-npm-3.0.1-21eeb201ba-2d93f48fd8.zip differ diff --git a/.yarn/cache/errno-npm-1.0.0-9b7018f3d4-cdfabdfcd7.zip b/.yarn/cache/errno-npm-1.0.0-9b7018f3d4-cdfabdfcd7.zip new file mode 100644 index 0000000000..012d05e574 Binary files /dev/null and b/.yarn/cache/errno-npm-1.0.0-9b7018f3d4-cdfabdfcd7.zip differ diff --git a/.yarn/cache/escape-string-regexp-npm-5.0.0-a663e825ce-6366f474c6.zip b/.yarn/cache/escape-string-regexp-npm-5.0.0-a663e825ce-6366f474c6.zip new file mode 100644 index 0000000000..4c3056f698 Binary files /dev/null and b/.yarn/cache/escape-string-regexp-npm-5.0.0-a663e825ce-6366f474c6.zip differ diff --git a/.yarn/cache/esm-import-transformer-npm-3.0.5-cb72d28037-6150d248dc.zip b/.yarn/cache/esm-import-transformer-npm-3.0.5-cb72d28037-6150d248dc.zip new file mode 100644 index 0000000000..6d9fe13646 Binary files /dev/null and b/.yarn/cache/esm-import-transformer-npm-3.0.5-cb72d28037-6150d248dc.zip differ diff --git a/.yarn/cache/evaluate-value-npm-2.0.0-f180b67da7-89d312e5ec.zip b/.yarn/cache/evaluate-value-npm-2.0.0-f180b67da7-89d312e5ec.zip new file mode 100644 index 0000000000..62ec990357 Binary files /dev/null and b/.yarn/cache/evaluate-value-npm-2.0.0-f180b67da7-89d312e5ec.zip differ diff --git a/.yarn/cache/filesize-npm-10.1.6-d3358104ae-9a196d64da.zip b/.yarn/cache/filesize-npm-10.1.6-d3358104ae-9a196d64da.zip new file mode 100644 index 0000000000..964b72cd51 Binary files /dev/null and b/.yarn/cache/filesize-npm-10.1.6-d3358104ae-9a196d64da.zip differ diff --git a/.yarn/cache/finalhandler-npm-1.3.2-6b5c24f0b4-435a4fd65e.zip b/.yarn/cache/finalhandler-npm-1.3.2-6b5c24f0b4-435a4fd65e.zip new file mode 100644 index 0000000000..094821bb6a Binary files /dev/null and b/.yarn/cache/finalhandler-npm-1.3.2-6b5c24f0b4-435a4fd65e.zip differ diff --git a/.yarn/cache/fresh-npm-2.0.0-b0c1795dff-0557548194.zip b/.yarn/cache/fresh-npm-2.0.0-b0c1795dff-0557548194.zip new file mode 100644 index 0000000000..8f3f9d1575 Binary files /dev/null and b/.yarn/cache/fresh-npm-2.0.0-b0c1795dff-0557548194.zip differ diff --git a/.yarn/cache/git-cliff-linux-x64-npm-2.11.0-501790e442-10c0.zip b/.yarn/cache/git-cliff-linux-x64-npm-2.11.0-501790e442-10c0.zip deleted file mode 100644 index 6fb82b6eba..0000000000 Binary files a/.yarn/cache/git-cliff-linux-x64-npm-2.11.0-501790e442-10c0.zip and /dev/null differ diff --git a/.yarn/cache/htmlparser2-npm-7.2.0-ec7c96986f-7e1fa7f3b2.zip b/.yarn/cache/htmlparser2-npm-7.2.0-ec7c96986f-7e1fa7f3b2.zip new file mode 100644 index 0000000000..ea64074222 Binary files /dev/null and b/.yarn/cache/htmlparser2-npm-7.2.0-ec7c96986f-7e1fa7f3b2.zip differ diff --git a/.yarn/cache/http-equiv-refresh-npm-2.0.1-110c76a218-f1d29e50e5.zip b/.yarn/cache/http-equiv-refresh-npm-2.0.1-110c76a218-f1d29e50e5.zip new file mode 100644 index 0000000000..cc45714b42 Binary files /dev/null and b/.yarn/cache/http-equiv-refresh-npm-2.0.1-110c76a218-f1d29e50e5.zip differ diff --git a/.yarn/cache/http-errors-npm-2.0.1-6d19ab492e-fb38906cef.zip b/.yarn/cache/http-errors-npm-2.0.1-6d19ab492e-fb38906cef.zip new file mode 100644 index 0000000000..1cf7ff5bb2 Binary files /dev/null and b/.yarn/cache/http-errors-npm-2.0.1-6d19ab492e-fb38906cef.zip differ diff --git a/.yarn/cache/is-alphabetical-npm-2.0.1-054fa4f335-932367456f.zip b/.yarn/cache/is-alphabetical-npm-2.0.1-054fa4f335-932367456f.zip new file mode 100644 index 0000000000..8994f0eb06 Binary files /dev/null and b/.yarn/cache/is-alphabetical-npm-2.0.1-054fa4f335-932367456f.zip differ diff --git a/.yarn/cache/is-alphanumerical-npm-2.0.1-33fafdbb47-4b35c42b18.zip b/.yarn/cache/is-alphanumerical-npm-2.0.1-33fafdbb47-4b35c42b18.zip new file mode 100644 index 0000000000..0bfb6347d0 Binary files /dev/null and b/.yarn/cache/is-alphanumerical-npm-2.0.1-33fafdbb47-4b35c42b18.zip differ diff --git a/.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-a16eaee59a.zip b/.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-a16eaee59a.zip new file mode 100644 index 0000000000..5d62a2fd1b Binary files /dev/null and b/.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-a16eaee59a.zip differ diff --git a/.yarn/cache/is-decimal-npm-2.0.1-828eaaadd3-8085dd66f7.zip b/.yarn/cache/is-decimal-npm-2.0.1-828eaaadd3-8085dd66f7.zip new file mode 100644 index 0000000000..745a0e966c Binary files /dev/null and b/.yarn/cache/is-decimal-npm-2.0.1-828eaaadd3-8085dd66f7.zip differ diff --git a/.yarn/cache/is-json-npm-2.0.1-a385cacc72-49233aa560.zip b/.yarn/cache/is-json-npm-2.0.1-a385cacc72-49233aa560.zip new file mode 100644 index 0000000000..d9017e2b8c Binary files /dev/null and b/.yarn/cache/is-json-npm-2.0.1-a385cacc72-49233aa560.zip differ diff --git a/.yarn/cache/iso-639-1-npm-3.1.5-02159b99a1-04739478e5.zip b/.yarn/cache/iso-639-1-npm-3.1.5-02159b99a1-04739478e5.zip new file mode 100644 index 0000000000..b6065aed93 Binary files /dev/null and b/.yarn/cache/iso-639-1-npm-3.1.5-02159b99a1-04739478e5.zip differ diff --git a/.yarn/cache/junk-npm-3.1.0-aa1fa701c6-820174b9fa.zip b/.yarn/cache/junk-npm-3.1.0-aa1fa701c6-820174b9fa.zip new file mode 100644 index 0000000000..b957898846 Binary files /dev/null and b/.yarn/cache/junk-npm-3.1.0-aa1fa701c6-820174b9fa.zip differ diff --git a/.yarn/cache/kleur-npm-4.1.5-46b6135f41-e9de6cb496.zip b/.yarn/cache/kleur-npm-4.1.5-46b6135f41-e9de6cb496.zip new file mode 100644 index 0000000000..8e6abf92dc Binary files /dev/null and b/.yarn/cache/kleur-npm-4.1.5-46b6135f41-e9de6cb496.zip differ diff --git a/.yarn/cache/linkify-it-npm-5.0.0-adb5f9c96f-ff4abbcdfa.zip b/.yarn/cache/linkify-it-npm-5.0.0-adb5f9c96f-ff4abbcdfa.zip new file mode 100644 index 0000000000..f83dc6a6a3 Binary files /dev/null and b/.yarn/cache/linkify-it-npm-5.0.0-adb5f9c96f-ff4abbcdfa.zip differ diff --git a/.yarn/cache/list-to-array-npm-1.1.0-0978a9c53f-ace98d69b6.zip b/.yarn/cache/list-to-array-npm-1.1.0-0978a9c53f-ace98d69b6.zip new file mode 100644 index 0000000000..0f66eb2c7e Binary files /dev/null and b/.yarn/cache/list-to-array-npm-1.1.0-0978a9c53f-ace98d69b6.zip differ diff --git a/.yarn/cache/luxon-npm-3.7.2-f37dcfe6a7-ed8f0f6378.zip b/.yarn/cache/luxon-npm-3.7.2-f37dcfe6a7-ed8f0f6378.zip new file mode 100644 index 0000000000..1951bf5e96 Binary files /dev/null and b/.yarn/cache/luxon-npm-3.7.2-f37dcfe6a7-ed8f0f6378.zip differ diff --git a/.yarn/cache/markdown-it-npm-14.1.0-e337d75bfe-9a6bb44418.zip b/.yarn/cache/markdown-it-npm-14.1.0-e337d75bfe-9a6bb44418.zip new file mode 100644 index 0000000000..e4124231d2 Binary files /dev/null and b/.yarn/cache/markdown-it-npm-14.1.0-e337d75bfe-9a6bb44418.zip differ diff --git a/.yarn/cache/maximatch-npm-0.1.0-965ea75bee-3b420f1bf0.zip b/.yarn/cache/maximatch-npm-0.1.0-965ea75bee-3b420f1bf0.zip new file mode 100644 index 0000000000..e0bad02e16 Binary files /dev/null and b/.yarn/cache/maximatch-npm-0.1.0-965ea75bee-3b420f1bf0.zip differ diff --git a/.yarn/cache/mdurl-npm-2.0.0-3259713daf-633db52227.zip b/.yarn/cache/mdurl-npm-2.0.0-3259713daf-633db52227.zip new file mode 100644 index 0000000000..1dba4a65a1 Binary files /dev/null and b/.yarn/cache/mdurl-npm-2.0.0-3259713daf-633db52227.zip differ diff --git a/.yarn/cache/mime-npm-3.0.0-8d911e4c06-402e792a8d.zip b/.yarn/cache/mime-npm-3.0.0-8d911e4c06-402e792a8d.zip new file mode 100644 index 0000000000..a571ebc01c Binary files /dev/null and b/.yarn/cache/mime-npm-3.0.0-8d911e4c06-402e792a8d.zip differ diff --git a/.yarn/cache/moo-npm-0.5.2-8fca66e02b-a9d9ad8198.zip b/.yarn/cache/moo-npm-0.5.2-8fca66e02b-a9d9ad8198.zip new file mode 100644 index 0000000000..35099f6797 Binary files /dev/null and b/.yarn/cache/moo-npm-0.5.2-8fca66e02b-a9d9ad8198.zip differ diff --git a/.yarn/cache/morphdom-npm-2.7.8-b5ee1714cc-e1a1c370a0.zip b/.yarn/cache/morphdom-npm-2.7.8-b5ee1714cc-e1a1c370a0.zip new file mode 100644 index 0000000000..8151b3e9b3 Binary files /dev/null and b/.yarn/cache/morphdom-npm-2.7.8-b5ee1714cc-e1a1c370a0.zip differ diff --git a/.yarn/cache/node-retrieve-globals-npm-6.0.1-28fcbc1752-3ecfdbd659.zip b/.yarn/cache/node-retrieve-globals-npm-6.0.1-28fcbc1752-3ecfdbd659.zip new file mode 100644 index 0000000000..9333cd7822 Binary files /dev/null and b/.yarn/cache/node-retrieve-globals-npm-6.0.1-28fcbc1752-3ecfdbd659.zip differ diff --git a/.yarn/cache/nunjucks-npm-3.2.4-c2cdc53bf5-7fe5197559.zip b/.yarn/cache/nunjucks-npm-3.2.4-c2cdc53bf5-7fe5197559.zip new file mode 100644 index 0000000000..e394a247d9 Binary files /dev/null and b/.yarn/cache/nunjucks-npm-3.2.4-c2cdc53bf5-7fe5197559.zip differ diff --git a/.yarn/cache/parse-srcset-npm-1.0.2-8acc142245-2f268e3d11.zip b/.yarn/cache/parse-srcset-npm-1.0.2-8acc142245-2f268e3d11.zip new file mode 100644 index 0000000000..271e567f18 Binary files /dev/null and b/.yarn/cache/parse-srcset-npm-1.0.2-8acc142245-2f268e3d11.zip differ diff --git a/.yarn/cache/please-upgrade-node-npm-3.2.0-3f653350ed-222514d284.zip b/.yarn/cache/please-upgrade-node-npm-3.2.0-3f653350ed-222514d284.zip new file mode 100644 index 0000000000..dfbf6f866b Binary files /dev/null and b/.yarn/cache/please-upgrade-node-npm-3.2.0-3f653350ed-222514d284.zip differ diff --git a/.yarn/cache/posthtml-match-helper-npm-2.0.3-5e38fdb8db-845de578a3.zip b/.yarn/cache/posthtml-match-helper-npm-2.0.3-5e38fdb8db-845de578a3.zip new file mode 100644 index 0000000000..af5aac9f1c Binary files /dev/null and b/.yarn/cache/posthtml-match-helper-npm-2.0.3-5e38fdb8db-845de578a3.zip differ diff --git a/.yarn/cache/posthtml-npm-0.16.7-2f80109922-7058d1a3e8.zip b/.yarn/cache/posthtml-npm-0.16.7-2f80109922-7058d1a3e8.zip new file mode 100644 index 0000000000..40ccb52774 Binary files /dev/null and b/.yarn/cache/posthtml-npm-0.16.7-2f80109922-7058d1a3e8.zip differ diff --git a/.yarn/cache/posthtml-parser-npm-0.11.0-88a39d3d19-89bf980a60.zip b/.yarn/cache/posthtml-parser-npm-0.11.0-88a39d3d19-89bf980a60.zip new file mode 100644 index 0000000000..481a3f48e1 Binary files /dev/null and b/.yarn/cache/posthtml-parser-npm-0.11.0-88a39d3d19-89bf980a60.zip differ diff --git a/.yarn/cache/posthtml-render-npm-3.0.0-7d46185567-7adb9c20d0.zip b/.yarn/cache/posthtml-render-npm-3.0.0-7d46185567-7adb9c20d0.zip new file mode 100644 index 0000000000..e45169ec30 Binary files /dev/null and b/.yarn/cache/posthtml-render-npm-3.0.0-7d46185567-7adb9c20d0.zip differ diff --git a/.yarn/cache/prr-npm-1.0.1-608d442761-5b9272c602.zip b/.yarn/cache/prr-npm-1.0.1-608d442761-5b9272c602.zip new file mode 100644 index 0000000000..1684109fb6 Binary files /dev/null and b/.yarn/cache/prr-npm-1.0.1-608d442761-5b9272c602.zip differ diff --git a/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-1d12c1c0e0.zip b/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-1d12c1c0e0.zip new file mode 100644 index 0000000000..aac54cdf6e Binary files /dev/null and b/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-1d12c1c0e0.zip differ diff --git a/.yarn/cache/readdirp-npm-3.6.0-f950cc74ab-6fa848cf63.zip b/.yarn/cache/readdirp-npm-3.6.0-f950cc74ab-6fa848cf63.zip new file mode 100644 index 0000000000..85102f54ef Binary files /dev/null and b/.yarn/cache/readdirp-npm-3.6.0-f950cc74ab-6fa848cf63.zip differ diff --git a/.yarn/cache/semver-compare-npm-1.0.0-33f7033df0-9ef4d8b818.zip b/.yarn/cache/semver-compare-npm-1.0.0-33f7033df0-9ef4d8b818.zip new file mode 100644 index 0000000000..da0e9ce119 Binary files /dev/null and b/.yarn/cache/semver-compare-npm-1.0.0-33f7033df0-9ef4d8b818.zip differ diff --git a/.yarn/cache/send-npm-1.2.1-6d273646b4-fbbbbdc902.zip b/.yarn/cache/send-npm-1.2.1-6d273646b4-fbbbbdc902.zip new file mode 100644 index 0000000000..d3d04f4c9c Binary files /dev/null and b/.yarn/cache/send-npm-1.2.1-6d273646b4-fbbbbdc902.zip differ diff --git a/.yarn/cache/ssri-npm-11.0.0-f5a52a656c-7cc695c3f9.zip b/.yarn/cache/ssri-npm-11.0.0-f5a52a656c-7cc695c3f9.zip new file mode 100644 index 0000000000..26952c5976 Binary files /dev/null and b/.yarn/cache/ssri-npm-11.0.0-f5a52a656c-7cc695c3f9.zip differ diff --git a/.yarn/cache/statuses-npm-2.0.2-2d84c63b8c-a9947d98ad.zip b/.yarn/cache/statuses-npm-2.0.2-2d84c63b8c-a9947d98ad.zip new file mode 100644 index 0000000000..e8615b5080 Binary files /dev/null and b/.yarn/cache/statuses-npm-2.0.2-2d84c63b8c-a9947d98ad.zip differ diff --git a/.yarn/cache/uc.micro-npm-2.1.0-c45282c865-8862eddb41.zip b/.yarn/cache/uc.micro-npm-2.1.0-c45282c865-8862eddb41.zip new file mode 100644 index 0000000000..657ac95604 Binary files /dev/null and b/.yarn/cache/uc.micro-npm-2.1.0-c45282c865-8862eddb41.zip differ diff --git a/.yarn/cache/urlpattern-polyfill-npm-10.1.0-d624d90f38-5b124fd8d0.zip b/.yarn/cache/urlpattern-polyfill-npm-10.1.0-d624d90f38-5b124fd8d0.zip new file mode 100644 index 0000000000..8667b02145 Binary files /dev/null and b/.yarn/cache/urlpattern-polyfill-npm-10.1.0-d624d90f38-5b124fd8d0.zip differ diff --git a/.yarn/cache/ws-npm-8.19.0-c967c046a5-4741d9b9bc.zip b/.yarn/cache/ws-npm-8.19.0-c967c046a5-4741d9b9bc.zip new file mode 100644 index 0000000000..cddd3192eb Binary files /dev/null and b/.yarn/cache/ws-npm-8.19.0-c967c046a5-4741d9b9bc.zip differ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6de67f3e0d..81947ccb3a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,7 +34,7 @@ here's what you'd do: 1. `cd design-system` 1. `git checkout main && git pull` to ensure you're on the latest changes (this step is not necessary when cloning for the first time). 1. `yarn install` to install dependencies and set up [workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) -1. `yarn after-install` to copy assets and configure Ruby dependencies. +1. `yarn after-install` to copy assets. 1. `git checkout -b button-fix` to create a new branch for your changes. 1. Edit file(s) in `/packages/cfpb-design-system/src/components/cfpb-buttons` however you want. 1. Copy `/packages/cfpb-design-system/` into `node_modules/@cfpb/cfpb-design-system/` in your consumerfinance.gov or other repo. @@ -54,7 +54,7 @@ and file a pull request by clicking the link to compare changes across forks. ### Updating Documentation The Design System's website lives in this repository's `docs/` directory and is -powered by Decap CMS and Jekyll. +powered by Decap CMS and Eleventy. To edit any page of the website, click the edit button at the bottom right of the page. You'll need to be added as a contributor to this repository in order to @@ -213,4 +213,5 @@ Example of a valid JSON token file structure for our project. } }, ``` + Figma emits JSON color that adears to the [w3c design token spec](https://www.designtokens.org/tr/drafts/color/#format). Editors can supply only hex values, srgb int or srgb float while ignoring the Figma specifc metadata. diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 40448dfcfb..0000000000 --- a/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://rubygems.org' -gem "nokogiri", "~> 1.18.8" -gem "jekyll", "~> 4.4.1" -gem "jekyll-last-modified-at", "~> 1.3.2" -gem "jekyll-redirect-from", "~> 0.16.0" -gem "webrick", "~> 1.9.1" diff --git a/README.md b/README.md index 454ccc3580..bbcf9dac3c 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Visit the [getting started section](https://cfpb.github.io/design-system/develop The Design System's website is available at https://cfpb.github.io/design-system/. It lives in this repository's `docs/` directory and is powered by [Decap CMS](https://decapcms.org/) -and [Jekyll](https://jekyllrb.com/). +and [Eleventy](https://www.11ty.dev/). To edit any page of the website, click the edit button at the bottom right of the page. You'll need to be added as a contributor to this repository in order to @@ -30,20 +30,7 @@ npx web-component-analyzer packages/cfpb-design-system/src/elements ### Running the documentation website locally -The project has a dependency on Ruby because it uses Jekyll. If you do not have Ruby installed, you will need to install it. We recommend using [RVM](https://rvm.io/rvm/install). If you don't have admin access to your machine, try these steps: - -```shell -curl -sSL https://get.rvm.io | bash -s stable --ruby -brew install openssl -brew link openssl --force -rvm get master -rvm install ruby-3.4.3 -C --with-openssl-dir=$(brew --prefix openssl@3) -rvm --default use 3.4.3 -gem install eventmachine -- --with-openssl-dir=$(brew --prefix openssl@3) -bundle install -``` - -And then to run the documentation website locally: +The documentation website is built with Node.js and Eleventy. To run it locally: ```shell git clone https://github.com/cfpb/design-system.git diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 2b215be5f4..0000000000 --- a/_config.yml +++ /dev/null @@ -1,35 +0,0 @@ -# Redirects -plugins: - - jekyll-last-modified-at - - jekyll-redirect-from - -# Base configuration -permalink: /:title -exclude: [package.json, webpack.config.js, yarn.lock] -highlighter: rouge -timezone: America/New_York -source: docs -destination: docs/_site/design-system - -# Organization -org: CFPB -description: CFPB's design system -repository: cfpb/design-system - -# Title -title: Design System -name: Design System - -# Logo -logourl: assets/img/cfpb-logo.png -logoalt: Consumer Financial Protection Bureau - -# We currently don't use this in the templates -subtitle: A set of principles and standards for the Consumer Financial Protection Bureau's design projects. - -# When using this template with a project page set the baseurl to '/project-name' -# For user/organization pages set this to an empty string -# When working locally use jekyll serve --baseurl '' so that you can view everything at localhost:4000 -# See http://jekyllrb.com/docs/github-pages/ for more info -#baseurl: '' -baseurl: '/design-system' diff --git a/docs/_includes/examples/alerts.html b/docs/_includes/examples/alerts.html index 3e4da4f6ce..01d8eb12fa 100644 --- a/docs/_includes/examples/alerts.html +++ b/docs/_includes/examples/alerts.html @@ -1,5 +1,5 @@
@@ -20,7 +20,7 @@
@@ -37,7 +37,7 @@
@@ -57,7 +57,7 @@
@@ -77,7 +77,7 @@
@@ -97,7 +97,7 @@