diff --git a/.github/workflows/build-contributors.yml b/.github/workflows/build-contributors.yml new file mode 100644 index 00000000..111cb9b0 --- /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 00000000..631516b9 --- /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 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..2a83daa9 100644 --- a/.gitignore +++ b/.gitignore @@ -13,8 +13,6 @@ package-lock.json yarn-error.log .pnp.* .yarn/* -yarn.lock -package-lock.json # keep in repo !.gitignore @@ -47,5 +45,6 @@ local-test.yml .yalc yalc.lock -# json files -adp-site-metadata.json +#txt +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..1c937319 100644 --- a/package.json +++ b/package.json @@ -1,42 +1,29 @@ { - "private": true, - "name": "adobe-dev-console", + "name": "dev-docs-template", "version": "1.0.0", "license": "Apache-2.0", "repository": { "type": "git", - "url": "https://github.com/AdobeDocs/adobe-dev-console" + "url": "https://github.com/AdobeDocs/dev-docs-template" }, "author": { - "name": "Stephan Ringel", - "url": "https://github.com/icaraps" - }, - "dependencies": { - "@adobe/gatsby-theme-aio": "^4.14.18", - "gatsby": "4.22.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "resolutions": { - "sharp": "0.33.0", - "gatsby-sharp": "1.12.0" + "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: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" - }, - "packageManager": "yarn@3.2.2", - "devDependencies": { - "glob": "11.0.0" } } diff --git a/src/pages/adp-site-metadata.json b/src/pages/adp-site-metadata.json new file mode 100644 index 00000000..d088b02d --- /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 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