Add generate_page_content functionality for structured page content generation
- Introduced a new AI function `generate_page_content` to create structured content for website pages using JSON blocks. - Updated `AIEngine` to handle the new function and return appropriate messages for content generation. - Enhanced `PageGenerationService` to utilize the new AI function for generating page content based on blueprints. - Modified `prompts.py` to include detailed content generation requirements for the new function. - Updated site rendering logic to accommodate structured content blocks in various layouts.
This commit is contained in:
@@ -522,6 +522,169 @@ CONTENT REQUIREMENTS:
|
||||
- Include call-to-action sections
|
||||
""",
|
||||
|
||||
'generate_page_content': """You are a Site Builder content specialist. Generate structured page content optimized for website pages with JSON blocks format.
|
||||
|
||||
Your task is to generate content that will be rendered as a modern website page with structured blocks (hero, features, testimonials, text, CTA, etc.).
|
||||
|
||||
INPUT DATA:
|
||||
----------
|
||||
Page Title: [IGNY8_PAGE_TITLE]
|
||||
Page Slug: [IGNY8_PAGE_SLUG]
|
||||
Page Type: [IGNY8_PAGE_TYPE] (home, products, blog, contact, about, services, custom)
|
||||
Site Name: [IGNY8_SITE_NAME]
|
||||
Site Description: [IGNY8_SITE_DESCRIPTION]
|
||||
Existing Block Hints: [IGNY8_EXISTING_BLOCKS]
|
||||
Structure Hints: [IGNY8_STRUCTURE_HINTS]
|
||||
|
||||
OUTPUT FORMAT:
|
||||
--------------
|
||||
Return ONLY a JSON object in this exact structure:
|
||||
|
||||
{
|
||||
"title": "[Page title - SEO optimized, natural]",
|
||||
"html_content": "[Full HTML content for fallback/SEO - complete article]",
|
||||
"word_count": [Integer - word count of HTML content],
|
||||
"blocks": [
|
||||
{
|
||||
"type": "hero",
|
||||
"data": {
|
||||
"heading": "[Compelling hero headline]",
|
||||
"subheading": "[Supporting subheadline]",
|
||||
"content": "[Brief hero description - 1-2 sentences]",
|
||||
"buttonText": "[CTA button text]",
|
||||
"buttonLink": "[CTA link URL]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"data": {
|
||||
"heading": "[Section heading]",
|
||||
"content": "[Rich text content with paragraphs, lists, etc.]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "features",
|
||||
"data": {
|
||||
"heading": "[Features section heading]",
|
||||
"content": [
|
||||
"[Feature 1: Description]",
|
||||
"[Feature 2: Description]",
|
||||
"[Feature 3: Description]"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "testimonials",
|
||||
"data": {
|
||||
"heading": "[Testimonials heading]",
|
||||
"subheading": "[Optional subheading]",
|
||||
"content": [
|
||||
"[Testimonial quote 1]",
|
||||
"[Testimonial quote 2]",
|
||||
"[Testimonial quote 3]"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "cta",
|
||||
"data": {
|
||||
"heading": "[CTA heading]",
|
||||
"subheading": "[CTA subheading]",
|
||||
"content": "[CTA description]",
|
||||
"buttonText": "[Button text]",
|
||||
"buttonLink": "[Button link]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BLOCK TYPE GUIDELINES:
|
||||
----------------------
|
||||
Based on page type, use appropriate blocks:
|
||||
|
||||
**Home Page:**
|
||||
- Start with "hero" block (compelling headline + CTA)
|
||||
- Follow with "features" or "text" blocks
|
||||
- Include "testimonials" block
|
||||
- End with "cta" block
|
||||
|
||||
**Products Page:**
|
||||
- Start with "text" block (product overview)
|
||||
- Use "features" or "grid" blocks for product listings
|
||||
- Include "text" blocks for product details
|
||||
|
||||
**Blog Page:**
|
||||
- Use "text" blocks for article content
|
||||
- Can include "quote" blocks for highlights
|
||||
- Structure as readable article format
|
||||
|
||||
**Contact Page:**
|
||||
- Start with "text" block (contact info)
|
||||
- Use "form" block structure hints
|
||||
- Include "text" blocks for location/hours
|
||||
|
||||
**About Page:**
|
||||
- Start with "hero" or "text" block
|
||||
- Use "features" for team/values
|
||||
- Include "stats" block if applicable
|
||||
- End with "text" block
|
||||
|
||||
**Services Page:**
|
||||
- Start with "text" block (service overview)
|
||||
- Use "features" for service offerings
|
||||
- Include "text" blocks for details
|
||||
|
||||
CONTENT REQUIREMENTS:
|
||||
---------------------
|
||||
1. **Hero Block** (for home/about pages):
|
||||
- Compelling headline (8-12 words)
|
||||
- Clear value proposition
|
||||
- Strong CTA button
|
||||
|
||||
2. **Text Blocks**:
|
||||
- Natural, engaging copy
|
||||
- SEO-optimized headings
|
||||
- Varied content (paragraphs, lists, emphasis)
|
||||
|
||||
3. **Features Blocks**:
|
||||
- 3-6 features
|
||||
- Clear benefit statements
|
||||
- Action-oriented language
|
||||
|
||||
4. **Testimonials Blocks**:
|
||||
- 3-5 authentic-sounding testimonials
|
||||
- Specific, believable quotes
|
||||
- Varied lengths
|
||||
|
||||
5. **CTA Blocks**:
|
||||
- Clear value proposition
|
||||
- Strong action words
|
||||
- Compelling button text
|
||||
|
||||
6. **HTML Content** (for SEO):
|
||||
- Complete article version of all blocks
|
||||
- Proper HTML structure
|
||||
- SEO-optimized with headings, paragraphs, lists
|
||||
- 800-1500 words total
|
||||
|
||||
TONE & STYLE:
|
||||
-------------
|
||||
- Professional but approachable
|
||||
- Clear and concise
|
||||
- Benefit-focused
|
||||
- Action-oriented
|
||||
- Natural keyword usage (not forced)
|
||||
- No generic phrases or placeholder text
|
||||
|
||||
IMPORTANT:
|
||||
----------
|
||||
- Return ONLY the JSON object
|
||||
- Do NOT include markdown formatting
|
||||
- Do NOT include explanations or comments
|
||||
- Ensure all blocks have proper "type" and "data" structure
|
||||
- HTML content should be complete and standalone
|
||||
- Blocks should be optimized for the specific page type""",
|
||||
|
||||
'taxonomy_generation': """You are a taxonomy and categorization specialist. Generate comprehensive taxonomy page content that organizes and explains categories, tags, and hierarchical structures.
|
||||
|
||||
INPUT:
|
||||
@@ -597,6 +760,7 @@ CONTENT REQUIREMENTS:
|
||||
'extract_image_prompts': 'image_prompt_extraction',
|
||||
'generate_image_prompts': 'image_prompt_extraction',
|
||||
'generate_site_structure': 'site_structure_generation',
|
||||
'generate_page_content': 'generate_page_content', # Site Builder specific
|
||||
'optimize_content': 'optimize_content',
|
||||
# Phase 8: Universal Content Types
|
||||
'generate_product_content': 'product_generation',
|
||||
|
||||
Reference in New Issue
Block a user