LLM → Canvas Pages
This page documents a workflow for turning presentation slides or handwritten notes into accessible HTML using UTSpark (in this case, ChatGPT). The goal is to produce “materials shown in class” that:
Mirror what’s on the slides/notes,
Are friendlier to screen readers and keyboard navigation, and
Don’t require you to re‑type all of your content.
How to create a “profile”
Step 1: Prepare your notes
Export your slide deck or notes file as a PDF. If using Keynote or Powerpoint, turn on accessibility features.
Step 2: Upload and prompt
Upload the PDF to any LLM in UTSpark with the prompt:
Convert these notes into accessible HTML for the Canvas LMS Rich Content Editor. Use LaTeX+MathJax for equations \( \), \[ \]. Use in-line CSS only, begin headings with <h2>, and return only clean HTML suitable for pasting into Canvas.Step 3: Review in Canvas
Copy/paste the HTML into a Canvas Page and check that:
Step 4: Refine behavior
Adjust output with additional prompts. Examples are below; apply only what you need.
Step 5: Create a reusable profile
Once you like the behavior, ask for refined instructions and copy/paste them as a reusable profile prompt (below).
Rewrite my current instructions as a reusable prompt for future chats. Preserve all requirements, constraints, and formatting preferences. Remove situation-specific wording. Make it concise, stable, and ready to paste into a new chat.Authoring Habits for Reliable Conversion
This technique works well when your slides and notes are simple, linear, structured, and labeled.
This technique works less well with:
Slides that are screenshots of dense documents (poor OCR results)
Highly animated decks where builds are essential (can only be approximated)
Slides
Use structured layouts
Use built-in Title + Content layouts
Avoid free placement or scattered text boxes
Maintain clear flow
Order content top → bottom, left → right
Keep to one idea per slide
Use real, semantic content
Use real text (not images of text)
Use built-in bulleted/numbered lists
Do not simulate structure with font size or color
Use consistent structure
Slide title = main idea
Use short sections or bullets under the title
Label supporting content
Add short captions to visuals
Use descriptive link text (avoid “click here”)
Export
Export slides as PDF (not screenshots)
Handwritten notes
Structure clearly
Write in a linear order (top → bottom)
Mark sections consistently (e.g., Definition, Example, Proof)
Separate content
Use spacing between blocks
Start new ideas on new lines
Use standard forms
Write lists vertically
Keep math clear and standard
Label visuals
Add short captions to figures or diagrams
Avoid ambiguity
Do not rely on color alone
Avoid arrows, side notes, or crowded layouts
Troubleshooting
Coming soon.
Further reading
Digital Accessibility Policy and Procedures
Sample profile prompt
Purpose
Convert Keynote slides (PDF or images) into Canvas-ready, accessible HTML that can serve as “materials shown in class.”
Environment
- Canvas provides the page title (<h1>); do not output <h1>. Start at <h2>.
- All images are decorative unless I explicitly say otherwise.
Input
- PDF exported from Keynote and/or slide images (PNG/JPEG)
- Do not require manual text input; infer content and reading order from the source
- Reading order: top-left → bottom-right, column by column (left, then middle, then right). Ask only if ambiguous.
Output
- Return only Canvas-ready HTML + LaTeX (no explanations)
- Use MathJax (not MathML):
- Inline: \( ... \)
- Display: \[ ... \]
Allowed HTML
<h2>, <h3>, <h4>, <p>, <ul>, <ol>, <li>, <strong>, <em>, <span>, <a>, <details>, <summary>
<img> only if I explicitly mark an image as meaningful
Do not use <h1>, <header>, <main>, <aside>, <style>, scripts, or custom CSS
Structure
- Slide/topic titles → <h2>
- Subheadings (e.g., Theorem, Proof, Case) → <h3>
- Paragraphs → <p>
- Lists → <ul>/<ol>/<li>
Examples and proofs
- If a statement (problem/theorem/claim) has a worked solution or proof:
<h2>Title</h2>
<p>Statement and brief context</p>
<details>
<summary style="cursor: pointer;">Solution or Proof</summary>
<div style="border: thin solid #CCCCCC; padding: 5px 15px;">
<!-- full solution/proof -->
</div>
</details>
- Use “Proof” if it is explicitly a proof
- If no solution/proof is present, do not add <details>
Math
- Convert all math to LaTeX:
- \frac{a}{b}, x^2, x^{n+1}, \sum_{i=1}^n
- Inline: \( ... \)
- Display: \[ ... \]
- If unclear, add <!-- unsure: ... -->
Images
- Omit decorative images
- If marked meaningful, prefer converting content to LaTeX/HTML instead of embedding
Accessibility
- Preserve logical reading order (headings → explanation → math → examples)
- Do not rely on color alone
- Keep structure simple and linear
Execution
When I say “convert this deck” or “apply my profile”:
- Extract content from the PDF/images
- Apply all rules above
- Return one clean block of HTML+LaTeX only