Skip to content

Repository files navigation

da-tools — DA tools container

A container repository that hosts multiple standalone DA (Document Authoring) tools side-by-side, with a landing page at the repo root (index.html) that links to all of them. Most tools are self-contained Vite + React apps in their own top-level folder, built to <tool>/dist/ and served as static files from AEM Edge Delivery Services (the "code bus"); a few are lighter-weight no-build tools served directly from their own folder. Each tool is embedded in DA at its own URL.

Tools

Open the DA Tools home page for cards linking to every tool, or go straight to one:

Tool Folder Opens in DA at
PDP Document Generator — bulk-generate DA pages from product data + templates pdp-document-generator/ https://da.live/app/maxn-adobe/da-tools/pdp-document-generator/dist/index
DA Document Generator — fill a template's {{tokens}} from any spreadsheet/JSON da-document-generator/ https://da.live/app/maxn-adobe/da-tools/da-document-generator/dist/index
Block Finder — find every /express page that uses a given block block-finder/ https://da.live/app/maxn-adobe/da-tools/block-finder/index
Document Counter — count HTML documents under any directory path document-counter/ https://da.live/app/maxn-adobe/da-tools/document-counter/index
Block Index — build a full index of every block in the /express tree block-index/ https://da.live/app/maxn-adobe/da-tools/block-index/index
Block Signature Migrator — inspect block structure, infer block schemas, audit signature drift block-signature-migrator/ https://da.live/app/maxn-adobe/da-tools/block-signature-migrator/dist/index
GitHub Package Comparator — compare a JSON file (e.g. package.json) across GitHub repos github-package-comparator/ https://da.live/app/maxn-adobe/da-tools/github-package-comparator/index

Block Finder, Document Counter, Block Index, and GitHub Package Comparator are static (no-build) tools served at <tool>/index; the others are built Vite apps served at <tool>/dist/index. Append ?ref=<branch> to preview a non-main branch, e.g. …/da-document-generator/dist/index?ref=my-branch.

Repository layout

da-tools/                   (repo)
├─ index.html               # landing page — cards linking to every tool
├─ pdp-document-generator/  # PDP tool — bulk-generate product pages (Zazzle)   [Vite/React, built]
│  ├─ src/  index.html  vite.config.ts  package.json
│  └─ dist/{ index.html, assets/ }   # built output (committed)
├─ da-document-generator/   # generic {{token}} → DA document generator         [Vite/React, built]
│  ├─ src/  index.html  vite.config.ts  package.json
│  └─ dist/{ index.html, assets/ }   # built output (committed)
├─ block-signature-migrator/ # inspect block structure + schemas, audit drift   [Vite/React, built]
│  ├─ src/  index.html  vite.config.js  package.json
│  └─ dist/{ index.html, assets/ }   # built output (committed)
├─ block-finder/            # find every /express page using a block            [static, no build]
│  └─ index.html  index.js
├─ document-counter/        # count HTML docs under a directory path            [static, no build]
│  └─ index.html  index.js
├─ block-index/             # index every block in the /express tree            [static, no build]
│  └─ index.html  index.js
├─ github-package-comparator/ # compare package.json across GitHub repos        [static, no build]
│  └─ index.html  index.js  github-package-comparator.js  *.css
├─ shared/da-api.js         # DA fetch helpers shared by the static tools
├─ fstab.yaml               # repo-level: registers the EDS site
├─ SERVING.md               # repo-level: how serving works + troubleshooting
└─ README.md

Each Vite tool is independent: its own package.json, node_modules, Vite config, and build. There is intentionally no root package.json — you work inside a tool's folder. The static tools (block-finder/, document-counter/, block-index/) have no build at all — they're hand-authored ES modules that share shared/da-api.js and load the DA SDK from https://da.live/nx/utils/sdk.js at runtime.

Working on a tool

cd pdp-document-generator      # or: cd da-document-generator
npm install
npm run dev                    # local dev server
npm run build                  # compiles to ./dist (commit the result)

The built dist/ is committed because AEM Code Sync serves the repo's files directly (there is no CI build step). After npm run build, commit the updated <tool>/dist/ and push — Code Sync mirrors it to the code bus in ~1–2 min.

Adding a new tool

  1. Create a new top-level folder my-tool/ as a standard Vite + React app (copy an existing tool as a starting point).
  2. In its vite.config.ts, set the production base to the served subfolder:
    const base = command === 'serve' ? '/' : '/my-tool/dist/'
  3. npm install && npm run build inside the folder, commit my-tool/ (including dist/), and push.
  4. It's live at https://da.live/app/maxn-adobe/da-tools/my-tool/dist/index.

Then add a card for it to the root index.html so it appears on the DA Tools home page. A tool that needs no framework can instead be a static, no-build folder (like block-finder/) — a plain index.html + ES modules served directly at <tool>/index, with no dist/ and no base to set; see SERVING.md.

No per-tool site registration is needed — the whole repo is one EDS site (see SERVING.md).

Serving

All tools are served through AEM Edge Delivery Services and embedded in da.live. See SERVING.md for how it works (site registration, Code Sync, the per-tool subfolder pattern) and an x-error troubleshooting table.

About

PDP Document Generator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages