Infographic Creator
Run ID: 69ccf5a73e7fb09ff16a6a2a2026-04-01Design
PantheraHive BOS
BOS Dashboard

Infographic Creator: Design Requirements & Specifications

This document outlines the comprehensive design requirements, conceptual wireframes, professional color palettes, and user experience (UX) recommendations for the Infographic Creator. The goal is to ensure the output is visually compelling, highly informative, and user-friendly, catering to a diverse range of professional applications.


1. Infographic Goal & Target Audience Considerations

The Infographic Creator aims to produce versatile infographics that can serve various purposes and appeal to different audiences. The core design principles prioritize clarity, accuracy, and engagement.

  • Primary Goals:

* Simplify Complex Data: Transform intricate information into easily digestible visuals.

* Educate & Inform: Convey key concepts, statistics, or processes effectively.

* Engage & Persuade: Capture attention and reinforce messages with visual storytelling.

* Brand Communication: Support professional branding and content marketing efforts.

  • Target Audience (General Considerations):

* Professionals/Decision-Makers: Require concise, data-driven, and credible information.

* General Public: Needs clear, simple language and visually appealing content.

* Students/Learners: Benefits from structured, illustrative explanations.

The specific audience will be defined by the user for each infographic, influencing tone and complexity.*


2. Detailed Design Specifications

The Infographic Creator will support a modular and flexible design approach, allowing users to build various types of infographics while maintaining a high standard of professional aesthetics.

2.1. Supported Infographic Types (Templates/Structures)

The system should offer distinct templates or structural guidance for common infographic formats:

  • Statistical Infographic: Focuses on presenting data, numbers, and charts.

Key Elements:* Bar charts, line graphs, pie charts, donut charts, call-out numbers, data tables.

  • Process Infographic: Illustrates steps in a process or workflow.

Key Elements:* Numbered steps, directional arrows, flowcharts, icons representing stages.

  • Timeline Infographic: Visualizes events or milestones over a period.

Key Elements:* Dates, markers, chronological order, brief descriptions for each event.

  • Comparison Infographic: Highlights differences and similarities between two or more items/concepts.

Key Elements:* Two-column layouts, pros/cons, "vs." sections, comparison charts.

  • List Infographic: Presents a series of tips, facts, or resources.

Key Elements:* Numbered or bulleted lists, supporting icons, brief explanatory text.

  • Geographic Infographic (Map-based): Displays data related to locations or regions.

Key Elements:* Maps (choropleth, heat maps), location markers, regional statistics.

2.2. Core Infographic Elements

Every infographic will be composed of the following foundational elements, which can be customized:

  • Title & Subtitle Area:

* Title: Concise, attention-grabbing, and clearly states the infographic's topic.

* Subtitle/Introduction: Provides context or a brief overview.

  • Content Sections:

* Text Blocks: Well-formatted paragraphs, bullet points, and call-out boxes.

* Data Visualizations: A robust library of charts (bar, line, pie, donut, area), graphs, tables, and progress bars.

* Icons & Illustrations: A comprehensive library of vector icons (flat, outline, glyph) to enhance visual storytelling and represent concepts.

* Images: Support for embedding relevant images or photographs.

  • Call to Action (CTA) (Optional): A clear prompt for the audience (e.g., "Learn More," "Download Report").
  • Source/Attribution: Essential for credibility; includes data sources, author, and date.
  • Branding Area: Space for company logos, brand colors, and consistent typography.

2.3. Visual Style & Aesthetics

  • Overall Tone: Professional, clean, modern, and trustworthy.
  • Layout: Emphasis on balance, hierarchy, and ample whitespace to prevent visual clutter.
  • Shapes & Borders: Clean lines, subtle borders, and geometric shapes for structure.
  • Shadows & Gradients: Minimalistic use for depth, if any, to maintain a flat/modern aesthetic.
  • Animations/Interactivity: (Future Consideration for Digital Infographics) Basic hover effects or simple transitions for key elements. For static output, focus on clear visual distinction.

2.4. Typography Guidelines

  • Font Families: Selection of highly readable sans-serif fonts for body text and headings, with optional serif or display fonts for titles/accents.

Examples:* Montserrat, Open Sans, Lato, Roboto (sans-serif); Playfair Display, Merriweather (serif for titles).

  • Hierarchy: Clear differentiation between title, headings, subheadings, body text, and data labels through size, weight, and color.

* Title: Large, bold, prominent.

* Headings: Distinct, slightly smaller than title.

* Body Text: Highly readable, appropriate line height and letter spacing.

* Data Labels: Clear, concise, positioned near corresponding data points.

  • Readability: Ensure sufficient contrast between text and background colors.

2.5. Iconography

  • Style Consistency: All icons within a single infographic should adhere to a consistent style (e.g., all flat, all outline, all duo-tone).
  • Relevance: Icons must clearly represent their associated concepts.
  • Scalability: Vector-based icons that maintain quality at various sizes.

3. Wireframe Descriptions (Conceptual Layouts)

The Infographic Creator will offer flexible wireframe structures to accommodate diverse content. These are foundational layouts that users can adapt.

3.1. Vertical Storytelling Wireframe (Most Common)

  • Description: A linear, top-to-bottom flow, ideal for narrating a story, process, or sequence of facts.
  • Structure:

1. Header (Top Banner): Title, Subtitle, optional Brand Logo. Full width.

2. Introduction Block: Brief explanatory text, potentially a key statistic or image. Full or near-full width.

3. Content Section 1 (A): Main point/data set. Can be a large visual (chart) with supporting text, or a two-column layout (text left, visual right).

4. Content Section 2 (B): Next point, often contrasting Section A's layout (e.g., visual left, text right) to break monotony.

5. Content Section 3 (C): Could be a series of smaller factoids/icons in a grid, or a timeline segment.

6. Summary/Conclusion Block: Key takeaways, reinforcing the main message.

7. Footer (Bottom Banner): Sources, CTA, Brand Logo/Contact Info. Full width.

  • Visual Flow: Guides the eye downwards with clear section breaks and visual anchors.

3.2. Modular/Grid-Based Wireframe

  • Description: Divides the infographic into distinct, equally important modules or panels, suitable for comparing multiple items, presenting diverse statistics, or a "list of facts."
  • Structure:

1. Header: Title, Subtitle.

2. Central "Hero" Block (Optional): A dominant visual or key statistic that sets the theme.

3. Content Modules (Grid):

* Arranged in 2x2, 2x3, or 3x2 grids.

* Each module contains a mini-heading, icon, short text, and/or a small chart.

* Clear borders or ample whitespace separate modules.

4. Summary/Conclusion: Brief wrap-up.

5. Footer: Sources, CTA, Branding.

  • Visual Flow: Allows for quick scanning of individual data points; less narrative, more informational.

3.3. Central Focus Wireframe

  • Description: Highlights a single, central visual or data point, with supporting information radiating outwards or positioned around it. Ideal for a single compelling statistic or concept.
  • Structure:

1. Header: Title, Subtitle.

2. Central Visual/Data Point: Large, dominant chart, image, or call-out number.

3. Supporting Content (Peripheral):

* Smaller text blocks, icons, or mini-charts placed around the central element (e.g., in quadrants, or in a circular arrangement).

* Arrows or lines can connect peripheral elements to the center.

4. Footer: Sources, CTA, Branding.

  • Visual Flow: Draws immediate attention to the center, then allows exploration of supporting details.

4. Professional Color Palettes

Color palettes will be curated to ensure professionalism, readability, and emotional resonance. Users will have options to select from pre-defined palettes or customize their own.

4.1. Palette 1: Corporate Trust (Blues & Greys)

  • Psychology: Trust, stability, professionalism, reliability.
  • Primary (Dominant): #2C3E50 (Dark Navy) - Headings, main text, prominent graphic elements.
  • Secondary (Supporting): #3498DB (Vibrant Blue) - Accent elements, key data points, calls to action.
  • Tertiary (Neutral): #ECF0F1 (Light Grey) - Backgrounds, subtle separators.
  • Accent: #E74C3C (Coral Red) - For warnings, critical highlights, or contrasting data.
  • Text Color: #34495E (Dark Grey-Blue) - Body text, high readability.

4.2. Palette 2: Modern & Dynamic (Teals & Oranges)

  • Psychology: Innovation, energy, creativity, growth.
  • Primary (Dominant): #16A085 (Dark Teal) - Headings, main graphic elements.
  • Secondary (Supporting): #F39C12 (Vivid Orange) - Accent elements, key data points, calls to action.
  • Tertiary (Neutral): #F7F9F9 (Off-White) - Backgrounds, whitespace.
  • Accent: #9B59B6 (Purple) - For specific highlights or secondary contrasting data.
  • Text Color: #2C3E50 (Dark Navy) - Body text for strong contrast.

4.3. Palette 3: Sophisticated Minimalist (Monochromatic with Accent)

  • Psychology: Elegance, simplicity, focus, clarity.
  • Primary (Dominant): #212121 (Charcoal Black) - Headings, prominent text.
  • Secondary (Supporting): #424242 (Dark Grey) - Supporting text, subtle graphic elements.
  • Tertiary (Neutral): #EEEEEE (Light Grey) - Backgrounds, dividers.
  • Accent: #00ADB5 (Aqua Blue) - Single, strong accent for key data, CTA, or illustrations.
  • Text Color: #333333 (Dark Grey) - Body text.

4.4. Color Usage Guidelines

  • Consistency: Apply colors consistently across the infographic (e.g., primary for headings, secondary for accents).
  • Contrast: Ensure sufficient contrast between text and background, and between different data points for accessibility (WCAG 2.1 AA standards).
  • Data Representation: Use distinct colors for different data series in charts. Avoid using too many colors, which can confuse.
  • Branding Integration: Allow for easy integration of user's brand colors if desired.

5. User Experience (UX) Recommendations

The Infographic Creator will prioritize an intuitive and effective user experience for both the creator and the viewer of the infographic.

5.1. Clarity & Simplicity

  • One Idea Per Section: Each section or module of the infographic should convey a single, clear idea or data point.
  • Concise Text: Use minimal text, focusing on keywords and essential information. Bullet points and short sentences are preferred.
  • Visual Over Text: Wherever possible, communicate information visually rather media (charts, icons, images) rather than extensive text.

5.2. Readability & Scannability

  • Font Sizing & Leading: Optimize font sizes for different elements (title, heading, body, captions) and ensure adequate line spacing (leading) for comfortable reading.
  • Whitespace: Utilize generous whitespace around elements and between sections to reduce cognitive load and improve visual flow.
  • Strong Visual Hierarchy: Use size, color, contrast, and placement to guide the viewer's eye through the infographic in a logical order.

* Largest elements first (Title, key visuals), then progressively smaller.

* Important data points should stand out.

5.3. Consistency

  • Design Elements: Maintain consistent use of fonts, colors, icon styles, spacing, and border treatments throughout the entire infographic.
  • Layout Repetition: If using a modular layout
gemini Output

Infographic Creator: Detailed Design Specifications (Step 2 of 3)

This document outlines the comprehensive design specifications, wireframe descriptions, color palettes, and user experience (UX) recommendations for the Infographic Creator tool. The goal is to create a professional, intuitive, and powerful platform that empowers users to design compelling infographics with ease.


1. Design Specifications

The Infographic Creator will be a web-based application, prioritizing a clean, modern, and responsive design.

1.1 Core Functionality & Features:

  • Template Library: A rich collection of pre-designed, categorized, and searchable infographic templates.
  • Drag-and-Drop Editor: Intuitive canvas-based editor allowing users to add, arrange, and customize elements.
  • Element Library:

* Text: Various fonts, sizes, colors, alignments, text boxes, headings, paragraphs.

* Shapes: Basic geometric shapes, lines, arrows, custom vector shapes.

* Icons: Extensive library of searchable vector icons (flat, outline, filled styles).

* Images: Upload functionality, stock image integration (optional), basic image editing (crop, resize, filters).

* Charts & Graphs: Bar, line, pie, donut, area, scatter charts with data input tables.

* Data Visualization Widgets: Progress bars, gauges, maps (basic, e.g., choropleth), timelines.

  • Data Integration: Simple CSV upload or manual input for chart data.
  • Customization Options:

* Color pickers (HEX, RGB, HSL, eyedropper).

* Font selection and styling.

* Size, position, rotation, opacity controls.

* Layer management (bring forward/backward, group/ungroup).

* Alignment and distribution tools.

* Grid and snap-to-grid functionality.

  • Project Management: Save, load, duplicate, and delete projects.
  • Export Options: High-resolution PNG, JPG, PDF, SVG.
  • Sharing: Direct link sharing (read-only view), social media integration (optional).
  • Undo/Redo History: Comprehensive action history.

1.2 Technical & Design Principles:

  • Responsiveness: The application interface will adapt to various screen sizes (desktop, tablet), though the editing canvas itself will be optimized for larger screens.
  • Performance: Optimized for speed and responsiveness, especially in the editor.
  • Accessibility: Adherence to WCAG 2.1 AA standards for color contrast, keyboard navigation, and semantic HTML.
  • Scalability: Architecture designed to handle a growing library of assets and user base.
  • Modularity: Component-based design for easy maintenance and feature expansion.
  • Intuitive UI: Clear visual hierarchy, consistent design language, minimal cognitive load.

1.3 Brand & Aesthetic:

  • Modern & Professional: Clean lines, ample whitespace, subtle animations.
  • User-Centric: Focus on usability and efficiency.
  • Trustworthy: A design that instills confidence in the tool's capabilities.

2. Wireframe Descriptions

The following outlines the key screens and their primary components for the Infographic Creator.

2.1 Dashboard / Home Screen

  • Layout:

* Header: Logo, User Profile/Account menu, "Create New" button.

* Main Area (Left): Navigation sidebar (Dashboard, Templates, My Projects, Help, Settings).

* Main Area (Right):

* "Start New Infographic" Section: Prominent CTA to select a template or start from scratch.

* "Recent Projects" Section: Grid or list view of recently edited infographics with thumbnails, title, last modified date, and quick actions (Edit, Duplicate, Delete).

* "Recommended Templates" Section: Curated templates based on popularity or categories.

  • Purpose: Entry point for users, quick access to projects and new creations.

2.2 Template Selection Screen

  • Layout:

* Header: Logo, "Back to Dashboard" button, Search bar for templates.

* Left Sidebar: Template Categories (e.g., Business, Education, Health, Marketing, Personal, Blank Canvas).

* Main Area:

* Filter/Sort Options: Dropdowns for "Popular," "Newest," "Free/Premium."

* Template Grid: Large thumbnails of templates with titles, hover-over preview option, and "Use Template" button.

  • Purpose: Allows users to browse and select a suitable starting point for their infographic.

2.3 Infographic Editor Screen (Main Workspace)

  • Layout:

* Top Bar (Header):

* Logo / "Back to Dashboard"

* Project Title (editable)

* Undo/Redo buttons

* Zoom controls (slider/buttons)

* "Save" button (auto-save indicator)

* "Preview" button

* "Export" button

* "Share" button

* Left Sidebar (Element Library):

* Accordion/Tabs for different element types: Text, Shapes, Icons, Images, Charts, Data Widgets.

* Search bar within each section.

* Draggable elements to the canvas.

* Right Sidebar (Properties Panel):

* Contextual panel that changes based on the selected element.

* Common Properties: Position (X, Y), Size (W, H), Rotation, Opacity, Layer order (Bring Forward, Send Backward).

* Text Properties: Font family, size, color, bold, italic, underline, alignment, line height, letter spacing.

* Shape Properties: Fill color, border color, border thickness, border style, corner radius.

* Image Properties: Crop, filters, opacity.

* Chart Properties: Data input table (manual/CSV upload), chart type, axis labels, colors, legend options.

* Canvas Properties (when no element is selected): Background color, canvas size, grid settings.

* Central Area (Canvas):

* The main editable infographic area.

* Drag-and-drop functionality for elements.

* Selection handles for resizing, rotating.

* Contextual mini-toolbar on selection (e.g., duplicate, delete, align).

* Smart guides for alignment and spacing.

* Zoom in/out capabilities.

  • Purpose: The core area for designing and customizing the infographic.

2.4 Data Input Modal (for Charts/Graphs)

  • Layout:

* Modal Overlay: Appears when a chart element is selected and data input is required.

* Tabs: "Manual Input," "Upload CSV."

* Manual Input: Spreadsheet-like interface (rows/columns) for entering data, with clear labels for X/Y axes or series.

* Upload CSV: File uploader, preview of data, column mapping options.

* "Apply Data" / "Cancel" buttons.

  • Purpose: Provides a structured way for users to feed data into their charts and graphs.

2.5 Export / Share Modal

  • Layout:

* Modal Overlay:

* Export Options:

* Format Selection: Radio buttons/dropdown for PNG, JPG, PDF, SVG.

* Quality/Resolution: Slider or dropdown (e.g., Low, Medium, High, Custom DPI).

* Background: Transparent/Solid color option.

* "Download" Button.

* Share Options:

* Public Link: Toggle to enable/disable, copy URL button.

* Social Media Icons: Direct sharing to platforms (e.g., X, LinkedIn, Facebook, Pinterest).

* Embed Code: Option to generate HTML embed code.

* "Done" Button.

  • Purpose: Guides users through the process of saving their infographic in desired formats or sharing it.

3. Color Palettes

We propose three distinct color palettes, each offering a professional aesthetic suitable for various infographic themes.

3.1 Palette 1: "Modern Professional"

  • Concept: Clean, corporate, and trustworthy. Emphasizes clarity and sophisticated data presentation.
  • Primary Accent: #007BFF (Vibrant Blue) - For main CTAs, important highlights.
  • Secondary Accent: #28A745 (Success Green) - For positive indicators, secondary CTAs.
  • Text & UI:

* #343A40 (Dark Charcoal) - Primary text, headings.

* #6C757D (Medium Gray) - Secondary text, disabled elements.

  • Backgrounds & Neutrals:

* #FFFFFF (White) - Main canvas, card backgrounds.

* #F8F9FA (Light Gray) - Sidebar, subtle section dividers.

  • Semantic Colors:

* #DC3545 (Error Red)

* #FFC107 (Warning Yellow)

* #17A2B8 (Info Cyan)

3.2 Palette 2: "Creative & Engaging"

  • Concept: Energetic, inviting, and versatile for a broader range of creative topics.
  • Primary Accent: #6F42C1 (Deep Violet) - For branding, prominent interactive elements.
  • Secondary Accent: #FD7E14 (Vivid Orange) - For highlights, secondary interactive elements, warm contrasts.
  • Text & UI:

* #212529 (Rich Black) - Primary text.

* #495057 (Dark Gray) - Secondary text, subtle UI elements.

  • Backgrounds & Neutrals:

* #FFFFFF (White) - Main canvas.

* #E9ECEF (Very Light Gray) - Sidebars, subtle backgrounds.

  • Semantic Colors:

* #E64A19 (Error Red-Orange)

* #FFD700 (Warning Gold)

* #00BCD4 (Info Teal)

3.3 Palette 3: "Minimalist & Elegant"

  • Concept: Sophisticated, understated, and timeless. Focuses on content with minimal distraction.
  • Primary Accent: #008080 (Teal) - For subtle branding, key interactive elements.
  • Secondary Accent: #A2B29F (Sage Green) - For softer accents, complementary elements.
  • Text & UI:

* #2F4F4F (Dark Slate Gray) - Primary text, headings.

* #778899 (Light Slate Gray) - Secondary text, disabled states.

  • Backgrounds & Neutrals:

* #FFFFFF (White) - Main canvas, pristine backgrounds.

* #F0F8FF (Alice Blue) - Very subtle background variations.

  • Semantic Colors:

* #CD5C5C (Indian Red)

* #FFDAB9 (Peach Puff - for soft warning)

* #87CEEB (Sky Blue - for info)


4. UX Recommendations

User experience is paramount for an Infographic Creator. These recommendations aim to ensure the tool is intuitive, efficient, and enjoyable to use.

4.1 Onboarding & First-Time User Experience (FTUE):

  • Interactive Tutorial: A brief, guided tour highlighting key features upon first login.
  • Template-First Approach: Encourage users to start with a template to reduce the blank canvas anxiety.
  • Contextual Tooltips: Provide helpful hints for complex features or less obvious icons.

4.2 Intuitive Interface & Workflow:

  • Direct Manipulation: Allow users to directly drag, resize, rotate, and edit elements on the canvas.
  • "What You See Is What You Get" (WYSIWYG): The editor should accurately reflect the final output.
  • Consistent Controls: Use familiar UI patterns and ensure similar actions have consistent controls across different element types.
  • Logical Grouping: Group related tools and properties in the sidebars to minimize searching.
  • Keyboard Shortcuts: Implement common shortcuts for efficiency (e.g., Ctrl+C/V/Z/Y, arrow keys for nudging).

4.3 Feedback & Guidance:

  • Visual Feedback: Clearly indicate selected elements, active tools, and successful actions (e.g., checkmark for saving).
  • Error Messages: Provide clear, concise, and actionable error messages when issues occur (e.g., "Image upload failed: file too large").
  • Loading Indicators: Use subtle spinners or progress bars for operations that take time (e.g., image upload, export).
  • Smart Guides & Alignment: Visual cues (lines, snapping) to help users align and distribute elements precisely.

4.4 Efficiency & Productivity:

  • Auto-Save: Continuously save user progress to prevent data loss.
  • Undo/Redo History: A robust history stack that allows users to revert multiple actions.
  • Duplicate Functionality: Quick options to duplicate elements or entire pages/sections.
  • Grouping/Ungrouping: Allow users to group multiple elements to move or modify them as a single unit.
  • Search Functionality: Implement search for templates, icons, and potentially fonts.

4.5 Accessibility:

  • Keyboard Navigation: Ensure all interactive elements are reachable and operable via keyboard.
  • High Contrast: Maintain sufficient color contrast ratios for text and UI elements (WCAG AA).
  • Screen Reader Compatibility: Use semantic HTML and ARIA attributes where necessary.
  • Scalable Text: Allow browser-level text scaling without breaking the layout.

4.6 Flexibility & Control:

  • Granular Customization: Provide extensive options for customizing every aspect of elements (colors, fonts, sizes, styles).
  • Layer Management: Allow users to easily reorder layers to manage overlapping elements.
  • Customization Preservation: Ensure that custom styles and data are retained when switching templates or importing elements.

4.7 Help & Support:

  • Integrated Help: Easy access to a help center, FAQs, and video tutorials directly within the application.
  • Contextual Help: Small info icons or tooltips that explain specific features.

gemini Output

This document details the finalized design assets and specifications for the "Infographic Creator" platform. It provides comprehensive guidelines for visual design, user experience, and interactive elements, ensuring a professional, intuitive, and visually appealing product.


1. Introduction: Finalized Design Assets for Infographic Creator

This deliverable outlines the complete design specifications, wireframe descriptions, color palettes, and user experience (UX) recommendations for the "Infographic Creator" platform. The aim is to provide a robust foundation for development, ensuring a consistent, high-quality, and user-centric application that empowers users to effortlessly create compelling infographics. These specifications are designed to deliver a modern, clean, and highly functional interface.

2. Overall Design Philosophy

The design philosophy for the Infographic Creator revolves around Simplicity, Empowerment, and Visual Clarity.

  • Simplicity: A clean, uncluttered interface minimizes cognitive load, allowing users to focus on content creation.
  • Empowerment: Intuitive tools and flexible customization options empower users of all skill levels to achieve professional results.
  • Visual Clarity: Emphasis on readability, hierarchy, and aesthetic appeal in both the user interface and the generated infographics.
  • Responsiveness: The interface should adapt gracefully to various screen sizes, ensuring a consistent experience across devices (though the primary editing experience is desktop-optimized).

3. Detailed Design Specifications

3.1. Layout & Grid System

  • Grid System: Utilize a 12-column responsive grid system (e.g., Bootstrap, Material Design grid) for consistent spacing and alignment across the application.
  • Fixed Header/Sidebar: A persistent header for global navigation (e.g., Logo, Account, Help) and a collapsible/expandable left sidebar for primary tools and navigation within the editor.
  • Main Content Area: The central canvas will occupy the largest portion of the screen, providing ample space for infographic design.
  • Right Sidebar: A contextual right sidebar for element properties, styling options, and layer management.
  • Spacing: Maintain consistent padding and margins (e.g., multiples of 8px or 16px) to ensure visual harmony and readability.

3.2. Typography

A clean, modern, and highly readable font stack is crucial for both the UI and the infographics created.

  • Primary UI Font (Sans-serif):

* Family: Montserrat (or similar, like Open Sans, Lato)

* Usage: Headings, navigation, button text, labels.

* Weights: Light (300), Regular (400), Semi-Bold (600), Bold (700)

  • Secondary UI Font (Sans-serif):

* Family: Inter (or similar, like Roboto, Noto Sans)

* Usage: Body text, paragraphs, descriptions, tooltips, small labels.

* Weights: Regular (400), Medium (500)

  • Heading Sizes (Montserrat Semi-Bold/Bold):

* H1: 28px (Main Page Title)

* H2: 24px (Section Titles)

* H3: 20px (Sub-sections, Card Titles)

* H4: 16px (Minor Headings, Modal Titles)

  • Body Text Sizes (Inter Regular/Medium):

* Large: 16px (Primary Body Text)

* Medium: 14px (Secondary Text, Descriptions)

* Small: 12px (Captions, Labels, Footnotes)

  • Line Height: Maintain a line height of 1.5 for body text for optimal readability.

3.3. Iconography

  • Style: Clean, minimalist, line-based icons (e.g., Feather Icons, Material Icons, Font Awesome Pro Thin/Light). Icons should be easily recognizable and scalable.
  • Consistency: All icons should adhere to the same stroke weight, corner radius, and overall aesthetic.
  • Usage: Used for navigation, toolbars, action buttons, status indicators, and feature representation.
  • Library: Integrate a comprehensive icon library for ease of use and consistency (e.g., SVG-based for scalability).

3.4. Imagery & Illustrations

  • Style:

* UI Illustrations: Flat, vector-based illustrations with a limited color palette that aligns with the brand colors. Used for empty states, onboarding, and feature explanations.

* Infographic Assets: Provide a curated library of high-quality stock photos, vector illustrations, and graphic elements (e.g., shapes, patterns) that users can integrate into their designs. Ensure these assets are diverse and professional.

  • Quality: All imagery (UI and user-selectable) must be high-resolution and optimized for web performance.
  • User Uploads: Implement clear guidelines and tools for users to upload their own images, including cropping, resizing, and basic editing capabilities.

3.5. UI Components

  • Buttons:

* Primary: Solid background (Brand Primary), white text. Rounded corners (e.g., 4-8px radius).

* Secondary: Outline (Brand Primary border), white background, Brand Primary text.

* Tertiary/Ghost: Transparent background, Brand Primary text.

* Destructive: Solid background (Red/Error color), white text.

* States: Hover, Active, Disabled, Loading (with spinner).

  • Input Fields:

* Clean, minimalist design with clear labels. Light gray border, turns Brand Primary on focus.

* Error states clearly indicated with red borders/text.

* Support for text inputs, number inputs, dropdowns, checkboxes, radio buttons, and text areas.

  • Sliders & Toggles: Intuitive and visually distinct for numerical adjustments and on/off states.
  • Modals & Dialogs: Centered, semi-transparent overlay, clear headings, and prominent action buttons.
  • Tabs & Accordions: Clean, easy-to-navigate for organizing content and settings.
  • Tooltips: Subtle, informative text that appears on hover, using the Secondary UI Font.

3.6. Data Visualization Elements

  • Chart Styles:

* Clean & Minimal: Prioritize data clarity over excessive decoration.

* Consistent Aesthetics: Standardized line weights, label fonts, and axis styling across all chart types (bar, line, pie, donut, area, scatter, etc.).

* Color Palette: Utilize a dedicated, accessible data visualization color palette (see section 5.4).

* Interactivity: Hover states for data points, tooltips displaying exact values.

  • Labels & Legends: Clearly legible, well-positioned labels and legends to explain data points and categories.
  • Customization: Allow users to customize chart colors, fonts, labels, and add/remove grid lines.

4. Wireframe Descriptions (Key Screens/Modules)

The following descriptions outline the core structure and functionality of key user interface screens, guiding the development of the user journey.

4.1. Dashboard / Project Management Screen

  • Purpose: Central hub for users to view, manage, and create infographics.
  • Layout:

* Header: Logo, User Profile (avatar, name), "Create New Infographic" button, Search bar.

* Left Sidebar: Main navigation (e.g., "My Infographics", "Templates", "Favorites", "Trash").

* Main Content:

* Filter/Sort Options: Dropdowns/buttons to filter by category, date, type, and sort by name, last modified.

* Project Cards/List: Grid or list view of existing infographics. Each card includes: thumbnail preview, title, date modified, quick actions (Edit, Duplicate, Download, Delete).

* "Create New" Section: Prominent call-to-action to start a new infographic from scratch or select a template.

  • Key Interactions: Quick access to projects, easy filtering, clear path to creation.

4.2. Template Selection Screen

  • Purpose: Allows users to browse and select from a library of pre-designed infographic templates.
  • Layout:

* Header: Same as Dashboard, with a clear "Back to Dashboard" option.

* Left Sidebar (Optional): Template categories (e.g., Business, Education, Marketing, Health, Blank Canvas).

* Main Content:

* Search Bar: To find templates by keywords.

* Filter/Sort Options: By industry, style (minimalist, corporate), popularity, new arrivals.

* Template Grid: Visually rich grid displaying template thumbnails. Each thumbnail includes: template name, a brief description/category, and a "Use Template" button on hover/click.

* Preview Mode: Clicking a template opens a larger preview modal with more details and a "Use Template" button.

  • Key Interactions: Efficient browsing, clear categorization, quick preview, and selection.

4.3. Infographic Editor Interface

  • Purpose: The primary workspace for users to design and customize their infographics.
  • Layout:

* Top Toolbar (Header):

* Logo/App Name, Infographic Title (editable), Undo/Redo buttons, Zoom controls, Preview button, "Save" status, "Download/Export" button, "Share" button.

* Left Sidebar (Tools Panel):

* Sections: Text, Shapes, Icons, Charts, Images, Uploads, Backgrounds, Templates (mini-panel).

* Content within sections: Libraries of assets, input fields for adding new elements.

* Drag-and-Drop: Users can drag elements from this panel onto the canvas.

* Central Canvas:

* The main design area, representing the infographic.

* Rulers, grid lines (toggleable), and snap-to-grid/object functionality.

* Selected elements show bounding boxes with resize handles and rotation controls.

* Right Sidebar (Properties Panel):

* Contextual: Changes based on the selected element(s) on the canvas.

* Sections:

* Text: Font family, size, color, weight, alignment, line height, letter spacing.

* Shapes/Icons: Color, border, opacity, shadow.

* Images: Crop, resize, filters, opacity, arrange (bring forward/send backward).

* Charts: Data input table, chart type selection, color palette, axis labels, legend options.

* General: Position (X, Y), Width, Height, Rotation, Opacity, Layers (ordering).

  • Key Interactions: Real-time updates on canvas, intuitive drag-and-drop, inline text editing, comprehensive contextual property controls, multi-select editing.

4.4. Asset Library / Upload Module

  • Purpose: Manage and access user-uploaded assets (images, logos) and browse stock assets.
  • Integration: Primarily accessed via the "Images" or "Uploads" sections of the Left Sidebar in the Editor.
  • Layout:

* Tabs: "My Uploads", "Stock Images", "Stock Icons", "Stock Shapes".

* Upload Area: Prominent drag-and-drop zone or "Browse Files" button.

* Asset Grid: Displays thumbnails of assets, with options to filter, search, and sort.

* Selection: Clicking an asset adds it to the canvas.

  • Key Interactions: Easy upload, categorized browsing, quick insertion into design.

4.5. Export / Share Options

  • Purpose: Guide users through the process of downloading or sharing their finished infographic.
  • Layout (Modal/Sidebar):

* Header: "Export Your Infographic" / "Share Your Infographic".

* Download Options:

* Format Selectors: PNG, JPG, PDF, SVG (premium).

* Quality/Resolution Sliders: Standard, High, Custom dimensions.

* Background Options: Transparent/Solid color.

* "Download" Button.

* Share Options:

* Public Link: Toggle for public/private, copy link button.

* Embed Code: HTML snippet for website embedding.

* Social Media Shares: Buttons for direct sharing to popular platforms (Facebook, Twitter, LinkedIn, Pinterest).

* Email: Option to send via email.

  • Key Interactions: Clear choices for output, customizable export settings, easy sharing.

5. Color Palettes

A harmonious and accessible color palette is essential for branding, user experience, and the visual impact of created infographics.

5.1. Primary Brand Palette

These colors define the core identity of the Infographic Creator platform.

  • Primary Blue (Action/Brand Accent):

* HEX: #3B82F6

* RGB: 59, 130, 246

* Usage: Primary buttons, interactive elements, brand logo, highlights, selected states.

  • Secondary Blue (Subtle Accent/Background):

* HEX: #BFDBFE

* RGB: 191, 219, 254

* Usage: Lighter accents, hover states, subtle backgrounds, progress indicators.

5.2. Neutral Palette (UI Foundation)

These colors provide the foundation for text, backgrounds, and borders, ensuring readability and a clean aesthetic.

  • Dark Gray (Primary Text):

* HEX: #1F2937

* RGB: 31, 41, 55

* Usage: Main body text, headings, strong contrast.

  • Medium Gray (Secondary Text/Icons):

* HEX: #4B5563

*

infographic_creator.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547} "); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/**(.+?)**/g,"$1"); hc=hc.replace(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); }function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}