Skip to content

DITA improvements #36

Open
Open

Description

@IanMayo
  • Introduce CSA to template file
  • Introduce CSA to CSS and CSS_author file
  • Change name of document, both in map and in transform scenario (I guess)
  • Introduce build step to copy dist to resources folder under template
  • Modify XSL dependencies to include dist
  • Modify header XSL to include instructor.password.hash (if present)
  • Modify template to include instructor.password.hash
  • Introduce password generator into template folder
  • Generate diff file(s) for CSS vs standard Pub-9 sheets (so they can be manually applied to target content)

Activity

  1. IanMayo commented on Nov 28, 2025

    @IanMayo
    ContributorAuthor

    done

  2. IanMayo commented on Sep 5, 2026

    @IanMayo
    ContributorAuthor

    Triaged against the current main as part of the September 2026 consolidation. Six of the nine items are done; three are not. Leaving this open for the three.

    Done

    • Copy dist to resources under the template — copy-to-dita in package.json copies the bundle into both dita/template/resources/ and dita-demo/oxygen-webhelp/template/resources/. Wired into build:dita and run by CI.
    • XSL dependencies include dist — satisfied by the above: the bundle lands in the template's resources/ folder, which Oxygen copies into the output. Published pages load it, e.g. dita-demo/page-index.html carries <script defer src="./oxygen-webhelp/template/resources/sonar-quiz.iife.js">.
    • Header XSL includes the instructor password hash — dita/template/xslt/inc/customHeader.xsl emits it from an Oxygen transform parameter.
    • Template includes the instructor password hash — same mechanism, consumed at runtime by src/services/auth/instructor-auth.ts.
    • Password generator in the template folder — dita/generate-password-hash.html.
    • CSA introduced to the template — dita/template/f13ldMan-CSA.opt.

    ⚠️ Naming change worth knowing: this issue calls the element instructor.password.hash. The shipped element is <span id="qd-instructor-hash">, and the hash is SHA-256 truncated to 12 hex characters, not the full digest. A second reader for the old instructor.password.hash id existed in the code but the XSL never emitted it, so that path could never authenticate; it was removed in #96. docs/SECURITY.md documents the current contract.

    Not done

    • CSA in the CSS and author-mode CSS — neither f13ldman.css nor f13ldman_author_mode.css mentions CSA.
    • Change the document name in the map and the transform scenario — no evidence this happened.
    • Generate diff files for the CSS versus the standard Pub-9 sheets — no diff artefacts anywhere under dita/.

    The last one is the item with ongoing value, since it is what lets the styling be reapplied to target content by hand. Worth splitting into its own issue if the other two are no longer wanted.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions