diff --git a/.github/workflows/build-auto-generated-files.yml b/.github/workflows/build-auto-generated-files.yml new file mode 100644 index 00000000..c926d91c --- /dev/null +++ b/.github/workflows/build-auto-generated-files.yml @@ -0,0 +1,13 @@ +--- +name: Build Auto-Generated Files +on: + pull_request: + workflow_dispatch: + +jobs: + build-contributors: + name: Build Auto-Generated Files + if: github.repository != 'AdobeDocs/dev-docs-template' + uses: AdobeDocs/adp-devsite-workflow/.github/workflows/build-auto-generated-files.yml@main + secrets: inherit + \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 863d6d24..8c6ddf8d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,17 +1,36 @@ --- -name: Lint -on: - pull_request: - branches: [main] - paths: - - 'src/pages/**' + 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 -jobs: - lint: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 + - 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: Lint - run: npx --yes github:AdobeDocs/adp-devsite-utils runLint -v + - 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 0ff83b5a..e17749fb 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ yarn-error.log .pnp.* .yarn/* yarn.lock -package-lock.json # keep in repo !.gitignore @@ -47,5 +46,6 @@ local-test.yml .yalc yalc.lock -# json files -adp-site-metadata.json +# Added by update-bot +linter-output.txt +linter-report.txt diff --git a/dev.mjs b/dev.mjs deleted file mode 100644 index 55efb9f2..00000000 --- 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}`); -}); diff --git a/package.json b/package.json index d2178707..52d7234b 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "url": "https://github.com/AdobeDocs/adobe-dev-console" }, "author": { - "name": "Stephan Ringel", - "url": "https://github.com/icaraps" + "name": "Tim Kim", + "url": "https://github.com/timkim" }, "dependencies": { "@adobe/gatsby-theme-aio": "^4.14.18", @@ -22,16 +22,20 @@ "gatsby-sharp": "1.12.0" }, "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", + "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 00000000..59fd870e --- /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 00000000..95c425d8 --- /dev/null +++ b/src/pages/contributors.json @@ -0,0 +1 @@ +{"total":56,"offset":0,"limit":56,"data":[{"page":"/config","avatars":["https://avatars.githubusercontent.com/u/36107?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/57922?v=4"],"lastUpdated":"12/2/2025"},{"page":"/guides/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/120194874?v=4","https://avatars.githubusercontent.com/u/6012307?v=4","https://avatars.githubusercontent.com/u/57922?v=4"],"lastUpdated":"12/3/2025"},{"page":"/guides/apis-and-services","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/27/2024"},{"page":"/guides/authentication/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/120194874?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"7/22/2025"},{"page":"/guides/authentication/AdminAuthentication/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"7/22/2025"},{"page":"/guides/authentication/AdminAuthentication/implementation","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"7/22/2025"},{"page":"/guides/authentication/AdminAuthentication/ims","avatars":["https://avatars.githubusercontent.com/u/6428734?v=4","https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"7/31/2025"},{"page":"/guides/authentication/AdminAuthentication/samples","avatars":["https://avatars.githubusercontent.com/u/6428734?v=4","https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"7/31/2025"},{"page":"/guides/authentication/api-key-integration","avatars":[],"lastUpdated":"4/1/2025"},{"page":"/guides/authentication/APIKeyAuthentication/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"5/4/2023"},{"page":"/guides/authentication/ims","avatars":["https://avatars.githubusercontent.com/u/113968869?v=4"],"lastUpdated":"4/1/2025"},{"page":"/guides/authentication/JWT/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"9/10/2025"},{"page":"/guides/authentication/JWT/faq","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/JWT/jwt-certificate","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/JWT/samples","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/JWT/scopes","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/o-auth-integration","avatars":[],"lastUpdated":"4/1/2025"},{"page":"/guides/authentication/OAuth/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/1/2023"},{"page":"/guides/authentication/OAuth/samples","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/1/2023"},{"page":"/guides/authentication/OAuth/scopes","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4"],"lastUpdated":"4/1/2025"},{"page":"/guides/authentication/ServerToServerAuthentication/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4707020?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/ServerToServerAuthentication/faqs","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/147755538?v=4"],"lastUpdated":"12/3/2025"},{"page":"/guides/authentication/ServerToServerAuthentication/implementation","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/24548615?v=4","https://avatars.githubusercontent.com/u/82974715?v=4"],"lastUpdated":"4/1/2025"},{"page":"/guides/authentication/ServerToServerAuthentication/ims","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/168568579?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/ServerToServerAuthentication/migration","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/147755538?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/service-account-integration","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/113968869?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/Tools/","avatars":["https://avatars.githubusercontent.com/u/36107?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"12/2/2025"},{"page":"/guides/authentication/Tools/postman","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/168568579?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/authentication/UserAuthentication/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/2372994?v=4"],"lastUpdated":"12/3/2025"},{"page":"/guides/authentication/UserAuthentication/implementation","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"5/5/2025"},{"page":"/guides/authentication/UserAuthentication/ims","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/113968869?v=4"],"lastUpdated":"12/3/2025"},{"page":"/guides/credentials","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/28/2024"},{"page":"/guides/email-alerts/","avatars":[],"lastUpdated":"11/9/2022"},{"page":"/guides/email-alerts/cert-expiry","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/getting-started","avatars":["https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/57922?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"4/1/2025"},{"page":"/guides/insights","avatars":["https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"10/5/2021"},{"page":"/guides/plugins/","avatars":["https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"10/5/2021"},{"page":"/guides/plugins/plugin-distribution","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/5/2025"},{"page":"/guides/plugins/plugin-update","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"11/17/2021"},{"page":"/guides/projects/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/54663196?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"7/31/2024"},{"page":"/guides/projects/approval","avatars":["https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"3/10/2026"},{"page":"/guides/projects/beta-users","avatars":["https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"10/5/2021"},{"page":"/guides/projects/projects-empty","avatars":["https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"10/5/2021"},{"page":"/guides/projects/projects-template","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"11/17/2021"},{"page":"/guides/public-profile","avatars":["https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"10/5/2021"},{"page":"/guides/quota","avatars":["https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"10/5/2021"},{"page":"/guides/services/","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/28/2024"},{"page":"/guides/services/services-add-api-jwt","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"6/27/2025"},{"page":"/guides/services/services-add-api-key","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/5/2025"},{"page":"/guides/services/services-add-api-oauth","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/5/2025"},{"page":"/guides/services/services-add-api-oauth-s2s","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"5/7/2025"},{"page":"/guides/services/services-add-api-oauth-user-authentication","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4"],"lastUpdated":"5/5/2025"},{"page":"/guides/services/services-add-event","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/5/2025"},{"page":"/guides/services/services-enable-runtime","avatars":["https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"5/5/2025"},{"page":"/support/","avatars":["https://avatars.githubusercontent.com/u/113968869?v=4","https://avatars.githubusercontent.com/u/57922?v=4","https://avatars.githubusercontent.com/u/120194874?v=4","https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"4/1/2025"},{"page":"/support/faq","avatars":["https://avatars.githubusercontent.com/u/4407243?v=4","https://avatars.githubusercontent.com/u/14320591?v=4","https://avatars.githubusercontent.com/u/6012307?v=4"],"lastUpdated":"6/27/2025"}],":type":"sheet"} \ No newline at end of file