diff --git a/.github/workflows/build-contributors.yml b/.github/workflows/build-contributors.yml new file mode 100644 index 0000000..111cb9b --- /dev/null +++ b/.github/workflows/build-contributors.yml @@ -0,0 +1,11 @@ +--- + name: Build Contributors + on: + pull_request: + workflow_dispatch: + + jobs: + build-contributors: + name: Build Contributors + uses: AdobeDocs/adp-devsite-workflow/.github/workflows/build-contributors.yml@main + secrets: inherit diff --git a/.github/workflows/build-site-metadata.yml b/.github/workflows/build-site-metadata.yml new file mode 100644 index 0000000..631516b --- /dev/null +++ b/.github/workflows/build-site-metadata.yml @@ -0,0 +1,10 @@ +--- +name: Build Site Metadata +on: + pull_request: + workflow_dispatch: + +jobs: + build-site-metadata: + name: Build Site Metadata + uses: AdobeDocs/adp-devsite-workflow/.github/workflows/build-site-metadata.yml@main \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b7799b2..ca7e651 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -30,4 +30,4 @@ jobs: with: env: ${{ inputs.env || 'prod' }} baseSha: ${{ inputs.baseSha || '' }} - deployAll: ${{ inputs.deployAll || true }} + deployAll: ${{ inputs.deployAll || false }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..8c6ddf8 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,36 @@ +--- + name: Lint + on: + pull_request: + branches: [main] + paths: + - 'src/pages/**' + + jobs: + lint: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Lint + id: lint + continue-on-error: true + run: npx --yes github:AdobeDocs/adp-devsite-utils runLint -v + + - name: Post Linter Report to PR + if: always() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_ID: ${{ github.event.pull_request.number }} + GITHUB_REPOSITORY: ${{ github.repository }} + run: | + npm install --no-save github:AdobeDocs/adp-devsite-scripts + node node_modules/adp-devsite-scripts/linter-bot/postLinterReport.js + + - name: Fail if linter found errors + if: steps.lint.outcome == 'failure' + run: exit 1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index f697378..898e2c5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,15 +6,24 @@ .history .idea .editorconfig -.cursor # npm yarn node_modules -package.lock +package-lock.json yarn-error.log .pnp.* .yarn/* +# keep in repo +!.gitignore +!.yarn.lock +!.yarnrc.yml +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + # gatsby files .env .cache @@ -35,6 +44,3 @@ local-test.yml # yalc .yalc yalc.lock - -# local -tmp diff --git a/dev.mjs b/dev.mjs deleted file mode 100644 index 84605fa..0000000 --- a/dev.mjs +++ /dev/null @@ -1,39 +0,0 @@ -// content/docs -// serve static on 3001 - -import express from 'express'; -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; -import { execSync } from 'child_process'; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); - -const PORT = process.env.DEV_PORT || 3003; - -const getCurrentBranch = () => { - try { - return execSync('git branch --show-current', { encoding: 'utf8' }).trim(); - } catch (error) { - console.warn('Could not determine git branch, defaulting to "main"'); - return 'main'; - } -}; - -const currentBranch = getCurrentBranch(); -const DOCS_DIRECTORY = process.env.DIRECTORY || './src/pages'; - -const app = express(); -console.log(path.resolve(__dirname, `./${DOCS_DIRECTORY}`)); -app.use( - express.static(path.resolve(__dirname, `./${DOCS_DIRECTORY}`), { - setHeaders: (res) => { - res.setHeader('last-modified', new Date().toGMTString()); - res.setHeader('local-branch-name', currentBranch); - }, - }), -); - -app.listen(PORT, () => { - console.debug(`Docs dev server is running on port ${PORT}`); -}); \ No newline at end of file diff --git a/package.json b/package.json index 9165e0b..1c93731 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,29 @@ { - "name": "commerce-admin-developer", + "name": "dev-docs-template", "version": "1.0.0", "license": "Apache-2.0", "repository": { "type": "git", - "url": "https://github.com/AdobeDocs/commerce-admin-developer" + "url": "https://github.com/AdobeDocs/dev-docs-template" }, - "config": { - "sitePath": "commerce/admin-developer" + "author": { + "name": "Tim Kim", + "url": "https://github.com/timkim" }, "scripts": { - "dev": "node ./dev.mjs", + "dev": "npx --yes github:AdobeDocs/adp-devsite-utils dev", + "buildNavigation": "npx --yes github:AdobeDocs/adp-devsite-utils buildNavigation -v", + "buildRedirections": "npx --yes github:AdobeDocs/adp-devsite-utils buildRedirections -v", + "renameFiles": "npx --yes github:AdobeDocs/adp-devsite-utils renameFiles -v", + "normalizeLinks": "npx --yes github:AdobeDocs/adp-devsite-utils normalizeLinks -v", + "buildSiteWideBanner": "npx --yes github:AdobeDocs/adp-devsite-utils buildSiteWideBanner -v", + "buildSiteMetadata": "npx --yes github:AdobeDocs/adp-devsite-utils buildSiteMetadata -v", + "buildContributors": "npx --yes github:AdobeDocs/adp-devsite-utils buildContributors -v", "lint": "npx --yes github:AdobeDocs/adp-devsite-utils runLint -v", - "lint:md": "npx --yes markdownlint-cli2 'src/pages/**/*.md' '*.md'", - "lint:md:fix": "npx --yes markdownlint-cli2 --fix 'src/pages/**/*.md' '*.md'", - "test": "npx --yes jest", - "test:config": "npx --yes jest tests/config.test.js" - }, - "devDependencies": { - "express": "5.2.1" + "lint:errorOnly": "npx --yes github:AdobeDocs/adp-devsite-utils runLint", + "link:externalLinkOnly": "npx --yes github:AdobeDocs/adp-devsite-utils runLint --external-links-only -v", + "link:checkAllLinks": "npx --yes github:AdobeDocs/adp-devsite-utils runLint --internal-links-only --external-links-only -v", + "redirectCheck:stage": "npx --yes github:AdobeDocs/adp-devsite-utils redirectChecker stage --verbose", + "redirectCheck:prod": "npx --yes github:AdobeDocs/adp-devsite-utils redirectChecker prod --verbose" } } diff --git a/src/pages/adp-site-metadata.json b/src/pages/adp-site-metadata.json new file mode 100644 index 0000000..d088b02 --- /dev/null +++ b/src/pages/adp-site-metadata.json @@ -0,0 +1 @@ +{"total":3,"offset":0,"limit":3,"data":[{"key":"contributors","value":null},{"key":"get-credentials","value":null},{"key":"site-wide-banner","value":null}],":type":"sheet"} \ No newline at end of file diff --git a/src/pages/contributors.json b/src/pages/contributors.json new file mode 100644 index 0000000..4777434 --- /dev/null +++ b/src/pages/contributors.json @@ -0,0 +1 @@ +{"total":53,"offset":0,"limit":53,"data":[{"page":"/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/11652541?v=4","https://avatars.githubusercontent.com/u/57922?v=4"],"lastUpdated":"11/12/2025"},{"page":"/config","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4"],"lastUpdated":"11/17/2025"},{"page":"/pattern-library/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/12731225?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/containers/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/containers/slideouts-modals-overlays","avatars":["https://avatars.githubusercontent.com/u/38460853?v=4","https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/6391769?v=4"],"lastUpdated":"3/12/2026"},{"page":"/pattern-library/containers/static-content","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/28/2024"},{"page":"/pattern-library/containers/tabs","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/controls/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/controls/button-bar","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/28/2024"},{"page":"/pattern-library/controls/buttons","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/controls/expand-collapse","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/28/2024"},{"page":"/pattern-library/controls/view-controller","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/displaying-data/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/displaying-data/datatable","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/displaying-data/filters","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/12/2025"},{"page":"/pattern-library/displaying-data/tile","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/28/2024"},{"page":"/pattern-library/displaying-data/tree","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/28/2024"},{"page":"/pattern-library/feedback-to-user/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/feedback-to-user/progress-indicator","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/13/2025"},{"page":"/pattern-library/general/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/general/accessibility-guidelines","avatars":["https://avatars.githubusercontent.com/u/38460853?v=4","https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"3/12/2026"},{"page":"/pattern-library/getting-user-input/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/getting-user-input/date-time-selector","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/getting-user-input/form-elements","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/getting-user-input/image-uploader","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/getting-user-input/row-pattern","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/getting-user-input/select-from-list","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/getting-user-input/use-default-config","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/graphics/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/graphics/iconography","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/navigation/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/navigation/links","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/navigation/wizard","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/28/2024"},{"page":"/pattern-library/staging-patterns/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/13/2025"},{"page":"/pattern-library/staging-patterns/module","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/staging-patterns/timeline-dashboard","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/pattern-library/templates/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/templates/address-form","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/pattern-library/templates/sign-in-form","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/style-guide/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/12731225?v=4"],"lastUpdated":"9/11/2023"},{"page":"/style-guide/content/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4"],"lastUpdated":"11/17/2025"},{"page":"/style-guide/content/buttons-and-links","avatars":["https://avatars.githubusercontent.com/u/38460853?v=4","https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"3/12/2026"},{"page":"/style-guide/content/capitalization","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/style-guide/content/content-formats","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/style-guide/content/errors-and-messages","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/style-guide/content/headings-and-organization","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/style-guide/content/number-formats","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/style-guide/content/voice-and-tone","avatars":["https://avatars.githubusercontent.com/u/38460853?v=4","https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"3/12/2026"},{"page":"/style-guide/design/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4"],"lastUpdated":"11/17/2025"},{"page":"/style-guide/design/color","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"},{"page":"/style-guide/design/iconography","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/14/2025"},{"page":"/style-guide/design/page-grids","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/12731225?v=4"],"lastUpdated":"9/11/2023"},{"page":"/style-guide/design/typography","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"9/11/2023"}],":type":"sheet"} \ No newline at end of file