Dsteem Milestone - Update Docs on Github pages

in Steem Dev6 hours ago

Follow-up to yesterday's branch-push announcement: the modernized API documentation is now live on GitHub Pages at https://blazeapps007.github.io/dsteem/ — auto-deployed by a new GitHub Actions workflow on every push to BlazeDevelopment. Same commit (db9440e) also clarifies the README's public-surface section so consumers can immediately see what's importable in v0.12.0. Short post, focused change.

dsteem-docs-live.png


🌐 Live Now

https://blazeapps007.github.io/dsteem/

That's the typedoc 0.28 output — modern responsive theme, search bar top-right, sidebar listing every class / interface / utility. Direct entries for the things people will look up most:


🔗 The Commit

Commit: db9440e
Message: Add GitHub Pages workflow and update docs

Two concrete changes:

1. .github/workflows/pages.yml (new)

A self-contained workflow that:

  • Triggers on push to master or BlazeDevelopment, on PRs against master (build-only, no deploy), and on manual workflow_dispatch from the Actions tab
  • Job 1 (build docs) — checkout, set up Node 22, npm install, npm run build:docs (typedoc 0.28), upload the generated docs/ folder as a Pages artifact
  • Job 2 (deploy to GitHub Pages) — calls actions/deploy-pages@v4 to publish the artifact to the github-pages environment
  • A concurrency: pages group with cancel-in-progress: false so back-to-back pushes queue cleanly instead of racing each other into the deploy slot

It uses the modern Pages-from-Actions pattern (no separate gh-pages branch, no force-pushes, no orphan history). Built docs land on the live site within ~30 seconds of a push.

2. README clarifications + Pages badge

Two things added at the top of README.md:

  • CI badge repointed from the upstream jnordberg/dsteem to the fork's CI on BlazeDevelopment
  • Docs badge (new) — ![Docs](https://img.shields.io/badge/docs-typedoc-blue?style=flat-square) linking to the live site

And the "API" section was restructured from one run-on paragraph into clear groups:

- Core: Client, PrivateKey, PublicKey, Signature, cryptoUtils
- Domain types: Asset, Price, Transaction, SignedTransaction, Operation, Types,
  all of the *Operation interfaces
- API helpers: Blockchain, DatabaseAPI, BroadcastAPI, RCAPI
- Utility helpers: the utils namespace (including buildWitnessUpdateOp)

Plus an explicit note about the additive-only exports new in v0.12.0:

New in v0.12.0 — additive only (no breaking changes): BroadcastAPI, CreateAccountOptions, and the resource-credit interfaces (RCAccount, RCParams, RCPool, Manabar, Resource, Pool, DynamicParam, PriceCurveParam) are now directly importable from the package root, so TypeScript consumers can write import type {Manabar} from 'dsteem' instead of digging the type out of a class signature.

These types existed in v0.11.x (they had to — Client.broadcast is typed as BroadcastAPI), but the index re-export was missing for the underlying classes/interfaces. Now you can import {BroadcastAPI} or import type {Manabar} directly.


✅ Verification

Both the workflow itself and the live site are green:

CheckResult
pages.yml workflow on BlazeDevelopment✓ both jobs (build docs, deploy to GitHub Pages) green
https://blazeapps007.github.io/dsteem/ loads✓ HTTP 200, typedoc 0.28 theme, dsteem v0.12.0 README rendered as landing page
Sidebar contains BroadcastAPI, RCAPI, Manabar, RCAccount✓ — confirms the additive exports show up in the rendered docs
Search box top-right works✓ — typedoc 0.28 ships a proper static-index search
README badge linking to Pages✓ live
Full API reference: <https://blazeapps007.github.io/dsteem/>✓ (was previously the dead upstream jnordberg.github.io link)

🛠️ How the Deploy Pipeline Works End-to-End

For anyone wanting to copy this pattern for their own TS library:

1. Push to BlazeDevelopment
       ↓
2. GitHub Actions: pages.yml fires
       ↓
3. Job "build docs":
   - checkout
   - setup-node@22
   - npm install --legacy-peer-deps
   - npm run build:docs    ← typedoc 0.28 emits docs/
   - upload-pages-artifact@v3 (path: docs)
       ↓
4. Job "deploy to GitHub Pages":
   - needs: build
   - environment: github-pages
   - deploy-pages@v4 → publishes to the Pages host
       ↓
5. Site live at https://blazeapps007.github.io/dsteem/

Total wall-clock from push to live: ~45 seconds in my last run. The docs/ folder doesn't need to be committed to git — the workflow rebuilds it fresh every time — though I'm keeping it in the tree for now since it serves as an offline-readable snapshot.

The one manual step required once per repo: Settings → Pages → Source = "GitHub Actions". I learned that one the hard way — the first deploy 404'd because GitHub doesn't auto-create the github-pages environment until you flip that toggle.


📚 The Series So Far


🔮 What's Next

The next post is the testing report — actually broadcasting a mainnet transaction with the new build, doing a drop-in upgrade of a real v0.11.x app, and reporting on the bundle-size analysis vs. the legacy ship.

After that: Phase 8, the actual npm publish of [email protected], with a migration guide for anyone with "dsteem": "^0.11.x" in their package.json.


🤝 How You Can Help

  • 🔍 Visit the docs: https://blazeapps007.github.io/dsteem/ — let me know if anything looks broken or any class/interface is missing
  • 🧪 Try the branch: npm install github:blazeapps007/dsteem#BlazeDevelopment in one of your existing dsteem apps; surface anything that breaks before release
  • 🐛 File issues: API regressions vs. v0.11.x are P0; cosmetic doc issues are also welcome
  • 💬 Comment: if you want a specific page in the docs explained, ask here

This work was developed with Claude AI assistance. All technical decisions reflect Steem ecosystem needs and the hard requirement of zero breaking changes for existing consumers.


Support Secure Steem Development

If you value proactive engineering, UX polish, and performance optimizations for the STEEM ecosystem, please consider supporting my witness: blaze.apps

🗳️ Vote Here:
Vote for blaze.apps Witness

Disclaimer: This post announces commit db9440e on the BlazeDevelopment branch. The release will be tagged v0.12.0 after Phase 8 ships later this week.

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.078
BTC 62081.79
ETH 1631.74
USDT 1.00
SBD 0.40