# Replace curly apostrophes ’ with plain apostrophes ' and other special quotes def safe_ascii_text(text): replacements = { "—": "-", "–": "-", "’": "'", "“": '"', "”": '"', "‘": "'", "…": "...", } for k, v in replacements.items(): text = text.replace(k, v) return text pdf = PDF() pdf.set_auto_page_break(auto=True, margin=15) pdf.add_page() intro_text = ( "This checklist will guide you through building the Oh Sh*t Kits homepage on Squarespace, " "section by section, using native blocks with no coding required. Follow the steps in order " "for a smooth setup.\n\n" "Each step details what to add, what content to include, and style notes. " "Suggested screenshot subjects are provided to help document or review your work." ) pdf.chapter_body(safe_ascii_text(intro_text)) pdf.add_step(1, "Log In and Access Your Homepage Editor", safe_ascii_text("- Go to squarespace.com and log in.\n" "- Click Pages in the left sidebar.\n" "- Find your homepage and click the Edit button.\n\n" "Suggested Screenshot: Squarespace dashboard showing Pages list and Edit button.")) pdf.add_step(2, "Add the Hero Section", safe_ascii_text("- Click + Add Section and choose Blank or Basic.\n" "- Add a Text Block with heading 1:\n" " 'Oh Sh*t Happens. Be Ready.'\n" "- Add a Text Block for the subheadline:\n" " 'Emergency kits for real life-built for chaos, not cliches.'\n" "- Add a Button Block labeled 'Shop All Kits' linking to /shop-osk.\n" "- Set the section background color to #fef1f4.\n\n" "Suggested Screenshot: Hero section with headline, subheadline, and button.")) pdf.add_step(3, "Add 'Life's Unpredictable' Section", safe_ascii_text("- Add a new Basic or Blank section.\n" "- Add a Text Block heading 2:\n" " 'Life throws curveballs. We pack the essentials.'\n" "- Add another Text Block describing use cases like party mishaps, travel discomforts, parenting surprises.\n" "- Use a Text Block or Gallery Block to list examples.\n\n" "Suggested Screenshot: Section with heading and use case examples.")) pdf.add_step(4, "Add Product Grid (Meet the Kits)", safe_ascii_text("- Add a new section.\n" "- Insert a Summary Block or Product Block linked to your shop collection (/shop-osk).\n" "- Set grid layout with 3 or 4 columns.\n" "- Ensure product images, names, and links are visible.\n" "- Add a Text Block heading: 'Meet the Kits That Save the Day.' above the grid.\n\n" "Suggested Screenshot: Product grid showing Oh Sh*t Kits.")) pdf.add_step(5, "Add 'Why Oh Sh*t Kits' Section", safe_ascii_text("- Add a two-column section.\n" "- Left column: Text Block with heading 2 and bullet points:\n" " - Actually useful stuff-not fluff\n" " - Compact, packable, and designed for daily life\n" " - Unisex, inclusive, thoughtfully curated\n" " - Created by a small biz that's lived through the chaos\n" " - Over 10,000 customers (and counting)\n" "- Right column: Image Block with lifestyle photo.\n\n" "Suggested Screenshot: Two-column section with text and image.")) pdf.add_step(6, "Add Reviews Section", safe_ascii_text("- Add a centered section.\n" "- Add a Text Block heading: 'What People Say'.\n" "- Add Quote Blocks or stylized Text Blocks with 3 testimonials.\n\n" "Suggested Screenshot: Testimonials section with quotes.")) pdf.add_step(7, "Add Final CTA Section", safe_ascii_text("- Add a new section with background color #ff2f4b.\n" "- Add a centered Text Block heading 2:\n" " 'Ready to Be That Prepared Friend?'\n" "- Add a Text Block paragraph:\n" " 'Life's not predictable. Your kit can be.'\n" "- Add a Button Block linking to /shop-osk with white text and red background.\n\n" "Suggested Screenshot: Final CTA section with heading, text, and button.")) pdf.add_step(8, "Set Up Footer", safe_ascii_text("- Go to Design > Footer.\n" "- Add navigation links: Shop Kits, What's Inside, FAQs, About, Contact.\n" "- Add copyright text: '© 2025 Oh Sh*t Kits. All rights reserved.'\n" "- Set background color to dark (#222) and text color light (#ccc).\n\n" "Suggested Screenshot: Footer area with links and copyright.")) pdf.add_step("Final Tips", "Brand Colors & Styling", safe_ascii_text("- Use your brand colors consistently (#d81e3e red, #ff2f4b bright red, #fef1f4 pink highlights).\n" "- Choose clean, modern sans-serif fonts.\n" "- Use padding/margins for spacing.\n" "- Preview on mobile regularly and adjust as needed.")) file_path = "/mnt/data/OhShtKits_Squarespace_Homepage_Checklist.pdf" pdf.output(file_path) file_path