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/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 59f0365..2a83daa 100644 --- a/.gitignore +++ b/.gitignore @@ -6,10 +6,28 @@ .history .idea .editorconfig -.cursor # npm yarn node_modules +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 +public # cypress cypress/videos @@ -22,3 +40,11 @@ lerna-debug.log .actrc .secrets local-test.yml + +# yalc +.yalc +yalc.lock + +#txt +linter-output.txt +linter-report.txt 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 bc57e61..05d8574 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,20 @@ "sitePath": "commerce/contributor" }, "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:errorOnly": "npx --yes github:AdobeDocs/adp-devsite-utils runLint", + "link:skipdeadlinks": "npx --yes github:AdobeDocs/adp-devsite-utils runLint --skip-dead-links -v", + "link:deadlinkonly": "npx --yes github:AdobeDocs/adp-devsite-utils runLint --dead-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" "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'", diff --git a/src/pages/adp-site-metadata.json b/src/pages/adp-site-metadata.json new file mode 100644 index 0000000..59fd870 --- /dev/null +++ b/src/pages/adp-site-metadata.json @@ -0,0 +1 @@ +{"total":3,"offset":0,"limit":3,"data":[{"key":"contributors","value":"src/pages/contributors.json"},{"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..c4c86eb --- /dev/null +++ b/src/pages/contributors.json @@ -0,0 +1 @@ +{"total":26,"offset":0,"limit":26,"data":[{"page":"/","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/57922?v=4"],"lastUpdated":"1/29/2026"},{"page":"/community/","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"4/27/2022"},{"page":"/community/best-practices","avatars":["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":"10/17/2025"},{"page":"/community/contribution-programs","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":"10/17/2025"},{"page":"/community/organizer-handbook","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":"10/17/2025"},{"page":"/community/support","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/17/2025"},{"page":"/config","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4"],"lastUpdated":"9/11/2025"},{"page":"/guides/","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/57922?v=4"],"lastUpdated":"9/24/2025"},{"page":"/guides/code-contributions/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/51681618?v=4","https://avatars.githubusercontent.com/u/85945484?v=4","https://avatars.githubusercontent.com/u/1891124?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/17/2025"},{"page":"/guides/code-contributions/automated-tests","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/45772453?v=4"],"lastUpdated":"9/9/2025"},{"page":"/guides/code-contributions/backward-compatibility-policy","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/85479?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/17/2025"},{"page":"/guides/code-contributions/definition-of-done","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/30629803?v=4","https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/45772453?v=4"],"lastUpdated":"10/17/2025"},{"page":"/guides/code-contributions/definition-of-done-backward-compatibility","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/45772453?v=4"],"lastUpdated":"9/11/2023"},{"page":"/guides/code-contributions/phpstorm-code-inspections","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"8/23/2022"},{"page":"/guides/code-contributions/processing-workflow","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/85945484?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/17/2025"},{"page":"/guides/code-contributions/pull-request-tests","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"4/22/2022"},{"page":"/guides/code-contributions/total-cost-of-ownership-analysis","avatars":["https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/45772453?v=4"],"lastUpdated":"8/23/2022"},{"page":"/guides/contributors/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/31/2025"},{"page":"/guides/doc-contributions/","avatars":["https://avatars.githubusercontent.com/in/1143301?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":"11/17/2025"},{"page":"/guides/install/","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/17/2025"},{"page":"/guides/install/change-version","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/29/2024"},{"page":"/guides/install/clone-repository","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/29/2024"},{"page":"/guides/install/docker","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4","https://avatars.githubusercontent.com/u/2188119?v=4"],"lastUpdated":"10/29/2024"},{"page":"/guides/install/update-dependencies","avatars":["https://avatars.githubusercontent.com/u/12731225?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"10/17/2025"},{"page":"/guides/maintainers/","avatars":["https://avatars.githubusercontent.com/in/1143301?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":"11/17/2025"},{"page":"/guides/maintainers/handbook","avatars":["https://avatars.githubusercontent.com/in/1143301?v=4","https://avatars.githubusercontent.com/u/85945484?v=4","https://avatars.githubusercontent.com/u/13662379?v=4"],"lastUpdated":"11/26/2025"}],":type":"sheet"} \ No newline at end of file