Skip to content

create questpdf demo#229

Merged
rorychatt merged 2 commits into
Ivy-Interactive:mainfrom
defymecobra:questpdf
Oct 10, 2025
Merged

create questpdf demo#229
rorychatt merged 2 commits into
Ivy-Interactive:mainfrom
defymecobra:questpdf

Conversation

@defymecobra

@defymecobra defymecobra commented Oct 9, 2025

Copy link
Copy Markdown
Contributor

This pull request introduces a new QuestPDF Ivy demo application, providing a complete setup to generate PDF documents using the QuestPDF library within an Ivy app. The changes include a new demo app with Markdown-based PDF generation, supporting code structure, a sample resume, and development tooling for Codespaces and VS Code.

New PDF Demo Application:

  • Added QuestPdfApp in Apps/QuestPdfApp.cs that lets users edit Markdown, configure PDF settings (title, page size, orientation, margins), insert Markdown snippets, and preview/download generated PDFs.
  • Included a sample Markdown resume in Assets/Resume.md for demonstration.

Markdown Parsing and PDF Generation Support:

  • Introduced a set of Markdown parsing helpers in Helpers/MarkdownHelper.cs for recognizing headings, lists, tables, code blocks, and inline formatting.
  • Added a Markdown document model in Models/MarkdownElement.cs to represent parsed elements for PDF rendering.
  • Defined PdfSettings in Models/PdfSettings.cs to handle page size, orientation, and margins for PDF generation.

Project Setup and Tooling:

  • Created .devcontainer/questpdf/devcontainer.json for Codespaces/VS Code development with .NET SDK, Ivy tools, port forwarding, and recommended extensions.
  • Added QuestPdfDemo.csproj for project configuration, dependencies (Ivy, QuestPDF), and embedded resources.
  • Updated .gitignore to exclude build artifacts and IDE files.

App Initialization and Documentation:

  • Implemented Program.cs to initialize the Ivy app, configure QuestPDF licensing, set up Chrome UI, and provide links to Codespaces and source code.
  • Added README.md with instructions and project description.
  • Set up GlobalUsings.cs for streamlined imports and namespace management.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR creates a comprehensive QuestPDF demo application that demonstrates PDF generation capabilities using the QuestPDF library within an Ivy framework application. The demo includes markdown parsing and PDF rendering functionality.

  • Creates a complete QuestPDF demo with markdown-to-PDF conversion
  • Implements modular services for PDF generation and markdown parsing
  • Provides an interactive UI for editing markdown and previewing generated PDFs

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
questpdf/Services/PdfGenerationService.cs Core PDF generation service with inline markdown parsing and rendering
questpdf/Services/MarkdownParsingService.cs Structured markdown parsing service (alternative approach)
questpdf/Apps/QuestPdfApp.cs Main application UI with live preview and download functionality
questpdf/Models/PdfSettings.cs Configuration model for PDF generation settings
questpdf/Models/MarkdownElement.cs Data models for structured markdown elements
questpdf/Helpers/MarkdownHelper.cs Utility functions for markdown detection and parsing
questpdf/Program.cs Application entry point and server configuration
questpdf/GlobalUsings.cs Global using statements for the project
questpdf/QuestPdfDemo.csproj Project file with dependencies
questpdf/README.md Project documentation
questpdf/Assets/Resume.md Sample markdown content for demonstration
questpdf/.gitignore Git ignore configuration
.devcontainer/questpdf/devcontainer.json Development container configuration

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread questpdf/Services/PdfGenerationService.cs
Comment thread questpdf/Services/PdfGenerationService.cs
@rorychatt
rorychatt merged commit 1ffa658 into Ivy-Interactive:main Oct 10, 2025
64 checks passed
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.

3 participants