#!/usr/bin/env python3
import json
import os
from pathlib import Path
from string import Template
def generate_about_page():
"""Generate the about page"""
# Generate structured data for JSON-LD
structured_data = {
"@context": "https://schema.org",
"@type": "WebPage",
"name": "About ICE Detention Facilities",
"description": "Information about ICE detention facilities and this resource"
}
# Generate content for the about page
content = """
<div class="facility-card">
<h2 style="margin-bottom: 1.5rem; color: #1f2937;">About This Resource</h2>
<p style="margin-bottom: 1.5rem; font-size: 1.1rem;">
This comprehensive resource provides detailed information about ICE (Immigration and Customs Enforcement)
detention facilities across the United States. Our goal is to provide transparent, accessible information
about these facilities including their locations, capacities, and population statistics.
</p>
<h3 style="margin: 2rem 0 1rem 0; color: #1f2937;">What We Provide</h3>
<ul style="margin-bottom: 1.5rem; padding-left: 2rem;">
<li style="margin-bottom: 0.5rem;">Complete directory of all ICE detention facilities</li>
<li style="margin-bottom: 0.5rem;">Current population and capacity information</li>
<li style="margin-bottom: 0.5rem;">Location details and contact information</li>
<li style="margin-bottom: 0.5rem;">Statistical analysis and data visualization</li>
<li style="margin-bottom: 0.5rem;">Regular updates with the latest available data</li>
</ul>
<h3 style="margin: 2rem 0 1rem 0; color: #1f2937;">Data Sources</h3>
<p style="margin-bottom: 1.5rem;">
Information is compiled from public records, government data, and official ICE reports.
We strive to maintain accuracy and provide the most current information available.
</p>
<h3 style="margin: 2rem 0 1rem 0; color: #1f2937;">Privacy and Use</h3>
<p style="margin-bottom: 1.5rem;">
This resource is provided for informational purposes only. All data is publicly available
and is presented in accordance with transparency and accountability principles.
</p>
</div>
<div class="facility-card">
<h2 style="margin-bottom: 1.5rem; color: #1f2937;">Related Resources</h2>
<div class="related-grid">
<a href="https://www.ice.gov/detention-facilities" class="related-link" target="_blank">ICE Official Website</a>
<a href="https://www.aclu.org/" class="related-link" target="_blank">American Civil Liberties Union</a>
<a href="https://www.immigrantjustice.org/" class="related-link" target="_blank">National Immigration Justice Center</a>
<a href="https://www.humanrightsfirst.org/" class="related-link" target="_blank">Human Rights First</a>
</div>
</div>
"""
# Generate meta tags and other SEO elements
title = "About ICE Detention Facilities - Information & Resources"
description = "Learn about ICE detention facilities and this comprehensive information resource. Find data sources, privacy information, and related organizations."
keywords = "about ICE facilities, detention information, immigration resources, data sources, transparency"
# Generate the complete HTML
html_content = f"""<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{description}">
<meta name="keywords" content="{keywords}">
<meta name="author" content="ICE Locator">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://ice-locator-mcp.vercel.app/about/">
<meta property="og:title" content="{title}">
<meta property="og:description" content="{description}">
<meta property="og:image" content="https://ice-locator-mcp.vercel.app/assets/about.jpg">
<meta property="og:site_name" content="ICE Facility Locator">
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="https://ice-locator-mcp.vercel.app/about/">
<meta property="twitter:title" content="{title}">
<meta property="twitter:description" content="{description}">
<meta property="twitter:image" content="https://ice-locator-mcp.vercel.app/assets/about.jpg">
<title>{title}</title>
<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{json.dumps(structured_data, indent=2)}
</script>
<!-- Styles -->
<style>
* {{
margin: 0;
padding: 0;
box-sizing: border-box;
}}
body {{
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: #333;
background-color: #f8f9fa;
}}
.container {{
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}}
header {{
background: #fff;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
position: sticky;
top: 0;
z-index: 100;
}}
.header-content {{
padding: 1rem 0;
}}
.logo {{
font-size: 1.5rem;
font-weight: bold;
color: #2563eb;
text-decoration: none;
}}
nav {{
margin-top: 1rem;
}}
.nav-links {{
list-style: none;
display: flex;
gap: 2rem;
flex-wrap: wrap;
}}
.nav-links a {{
color: #666;
text-decoration: none;
transition: color 0.3s;
}}
.nav-links a:hover {{
color: #2563eb;
}}
main {{
padding: 2rem 0;
}}
.breadcrumb {{
margin-bottom: 2rem;
font-size: 0.9rem;
}}
.breadcrumb a {{
color: #2563eb;
text-decoration: none;
}}
.breadcrumb a:hover {{
text-decoration: underline;
}}
.page-title {{
font-size: 2.5rem;
margin-bottom: 1rem;
color: #1f2937;
}}
.facility-card {{
background: #fff;
border-radius: 8px;
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}}
.facility-header {{
display: flex;
justify-content: space-between;
align-items: start;
margin-bottom: 1.5rem;
flex-wrap: wrap;
gap: 1rem;
}}
.facility-name {{
font-size: 1.8rem;
color: #1f2937;
margin-bottom: 0.5rem;
}}
.facility-location {{
color: #666;
font-size: 1.1rem;
}}
.population-badge {{
background: #ef4444;
color: white;
padding: 0.5rem 1rem;
border-radius: 20px;
font-weight: bold;
}}
.facility-details {{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
margin-bottom: 2rem;
}}
.detail-item {{
padding: 1rem;
background: #f8f9fa;
border-radius: 6px;
}}
.detail-label {{
font-weight: bold;
color: #666;
margin-bottom: 0.5rem;
}}
.detail-value {{
color: #333;
}}
.related-links {{
margin-top: 2rem;
padding-top: 2rem;
border-top: 1px solid #e5e7eb;
}}
.related-links h3 {{
margin-bottom: 1rem;
color: #1f2937;
}}
.related-grid {{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
}}
.related-link {{
display: block;
padding: 1rem;
background: #f8f9fa;
border-radius: 6px;
text-decoration: none;
color: #2563eb;
transition: background-color 0.3s;
}}
.related-link:hover {{
background: #e5e7eb;
}}
.stats-grid {{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-bottom: 2rem;
}}
.stat-card {{
background: #fff;
padding: 2rem;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
text-align: center;
}}
.stat-number {{
font-size: 3rem;
font-weight: bold;
color: #2563eb;
margin-bottom: 0.5rem;
}}
.stat-label {{
color: #666;
font-size: 1.1rem;
}}
footer {{
background: #1f2937;
color: #fff;
padding: 2rem 0;
margin-top: 4rem;
}}
.footer-content {{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}}
.footer-section h4 {{
margin-bottom: 1rem;
}}
.footer-links {{
list-style: none;
}}
.footer-links a {{
color: #d1d5db;
text-decoration: none;
display: block;
margin-bottom: 0.5rem;
}}
.footer-links a:hover {{
color: #fff;
}}
@media (max-width: 768px) {{
.facility-header {{
flex-direction: column;
align-items: flex-start;
}}
.page-title {{
font-size: 2rem;
}}
.facility-name {{
font-size: 1.5rem;
}}
.stats-grid {{
grid-template-columns: 1fr;
}}
}}
</style>
</head>
<body>
<header>
<div class="container">
<div class="header-content">
<a href="/" class="logo">ICE Detention Facilities</a>
<nav>
<ul class="nav-links">
<li><a href="/">Home</a></li>
<li><a href="/facilities/">All Facilities</a></li>
<li><a href="/statistics/">Statistics</a></li>
<li><a href="/about/">About</a></li>
</ul>
</nav>
</div>
</div>
</header>
<main>
<div class="container">
<nav class="breadcrumb">
<a href="/">Home</a> > About
</nav>
<h1 class="page-title">{title}</h1>
{content}
</div>
</main>
<footer>
<div class="container">
<div class="footer-content">
<div class="footer-section">
<h4>ICE Detention Facilities</h4>
<p>Comprehensive information about ICE detention facilities across the United States.</p>
</div>
<div class="footer-section">
<h4>Quick Links</h4>
<ul class="footer-links">
<li><a href="/facilities/">All Facilities</a></li>
<li><a href="/statistics/">Statistics</a></li>
<li><a href="/about/">About</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Resources</h4>
<ul class="footer-links">
<li><a href="https://www.ice.gov/detention-facilities">ICE Official Site</a></li>
<li><a href="https://www.aclu.org/">ACLU</a></li>
<li><a href="https://www.immigrantjustice.org/">NIJC</a></li>
</ul>
</div>
</div>
</div>
</footer>
</body>
</html>"""
# Write the HTML file
output_file = Path("/Users/trose/src/ice-locator-mcp/static-pages/about/index.html")
with open(output_file, 'w', encoding='utf-8') as f:
f.write(html_content)
print(f"Generated about page: {output_file}")
if __name__ == "__main__":
generate_about_page()