Skip to content

Add DocFX documentation system and slim README#22

Merged
DJGosnell merged 9 commits intomasterfrom
add-docfx-docs
Apr 4, 2026
Merged

Add DocFX documentation system and slim README#22
DJGosnell merged 9 commits intomasterfrom
add-docfx-docs

Conversation

@DJGosnell
Copy link
Copy Markdown
Member

Summary

Set up a DocFX-based documentation system for Logsmith, mirroring the NexNet pattern (Dtronix/NexNet#72). Extracts all detailed content from the ~1400-line README into 12 focused doc articles and 2 internals pages, adds a landing page with feature grid, API reference config, and a GitHub Actions workflow for GitHub Pages deployment.

Reason for Change

The README contained all documentation inline — installation, modes, sinks, formatting, structured output, scoped context, sampling, dynamic levels, MEL bridge, abstraction mode, testing, configuration, architecture, and diagnostics. This made it difficult to navigate and maintain. Moving to a proper documentation site with DocFX provides searchable, structured documentation with auto-generated API reference.

Impact

  • README: Slimmed from ~1400 to ~110 lines. Now contains: logo, CI badge, tagline, package table, "Why Logsmith" pitch, comparison table (vs MEL+LoggerMessage/ZLogger/Serilog/NLog), feature list with doc links, quick start sample, benchmarks link, and license.
  • Documentation site: 12 articles covering all Logsmith features, landing page with feature grid, separate Internals section for architecture and compile-time diagnostics, and auto-generated API reference for Logsmith and Logsmith.Extensions.Logging.
  • CI/CD: New docs.yml workflow builds DocFX (pinned v2.78.5) and deploys to GitHub Pages on push to master.

Plan items implemented as specified

  • Phase 1: DocFX infrastructure (docfx.json, filterConfig.yml, toc files, custom template, .gitignore)
  • Phase 2: Landing page with feature grid (Zero-Allocation Pipeline, Source-Generated, Three Modes, Structured JSON Output, Compile-Time Level Stripping, MEL Bridge)
  • Phase 3: Core articles (Getting Started, Declaring Log Methods, Log Levels, Sinks)
  • Phase 4: Middle articles (Formatting & Output, Scoped Context, Advanced Features, MEL Bridge)
  • Phase 5: Remaining articles (Operating Modes, Performance, Testing, Configuration Reference)
  • Phase 6: Internals pages (Architecture, Diagnostics)
  • Phase 7: README rewrite to ~110 lines
  • Phase 8: GitHub Actions docs deployment workflow
  • Phase 9: Final verification (all 266 tests green, all links verified)

Deviations from plan implemented

  • README slimmed to ~110 lines instead of planned ~150-200 (more aggressive than planned, all content preserved in docs).
  • Exception Handling and Explicit Sink Parameter content placed in performance.md instead of configuration-reference.md and testing.md (better thematic fit).

Gaps in original plan implemented

  • "What Logsmith Is Not" section (MEL ecosystem caveats, no runtime template engine) was initially missed — added to getting-started.md during review remediation.
  • Benchmarks link in README was initially a relative path — fixed to doc site URL during review remediation.
  • DocFX tool version was initially unpinned — pinned to v2.78.5 during review remediation.

Migration Steps

  • GitHub Pages must be enabled on the repository (Settings → Pages → Source: GitHub Actions) for the docs workflow to deploy.

Performance Considerations

No runtime impact — documentation only.

Security Considerations

  • docs.yml permissions are scoped to contents: read, pages: write, id-token: write.
  • DocFX pinned to v2.78.5 for supply-chain safety.
  • No secrets or sensitive data in documentation.

Breaking Changes

  • Consumer-facing: README structure changed significantly. Direct links to README anchors (e.g., #sinks, #log-levels-and-conditional-compilation) will break — content now in doc articles.
  • Internal: None.

@DJGosnell DJGosnell merged commit 7c2d8d3 into master Apr 4, 2026
1 check passed
@DJGosnell DJGosnell deleted the add-docfx-docs branch April 4, 2026 05:12
DJGosnell added a commit that referenced this pull request Apr 5, 2026
* Add DocFX infrastructure (config, template, TOC files)

* Add DocFX landing page with feature grid

* Add doc articles: getting-started, declaring-log-methods, log-levels, sinks

* Add doc articles: formatting-and-output, scoped-context, advanced-features, mel-bridge

* Add doc articles: operating-modes, performance, testing, configuration-reference

* Add internals docs: architecture, diagnostics

* Slim README from ~1400 to ~110 lines with doc site links

* Add GitHub Actions workflow for docs deployment

* Address review findings: add What Logsmith Is Not, fix benchmarks link, pin docfx version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant