1 line
8.4 KiB
JavaScript
1 line
8.4 KiB
JavaScript
import{f as v,a as c,c as Y}from"../chunks/Bh-96fzJ.js";import"../chunks/EiYUD4Mm.js";import{F as N,p as L,t as F,e as G,i as E,j as I,s as d,d as l,r as i,g as h,n as U,m as Z,k as $,f as tt,$ as at}from"../chunks/mO2F3zLa.js";import{t as et,s as rt,a as R,e as P,i as T,h as it,N as st,F as ot}from"../chunks/DhvLCtu-.js";import{s as lt}from"../chunks/ECMuNRdJ.js";import{o as W}from"../chunks/OXvvA7WZ.js";import{s as _}from"../chunks/eH5yZvH4.js";import{i as B}from"../chunks/tuD4s8Oc.js";function z(r,s={},t,a){for(var e in t){var n=t[e];s[e]!==n&&(t[e]==null?r.style.removeProperty(e):r.style.setProperty(e,n,a))}}function q(r,s,t,a){var e=r.__style;if(N||e!==s){var n=et(s,a);(!N||n!==r.getAttribute("style"))&&(n==null?r.removeAttribute("style"):r.style.cssText=n),r.__style=s}else a&&(Array.isArray(a)?(z(r,t==null?void 0:t[0],a[0]),z(r,t==null?void 0:t[1],a[1],"important")):z(r,t,a));return a}var nt=v('<section class="relative min-h-[80vh] flex items-center justify-center overflow-hidden"><div class="absolute inset-0 bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-50"></div> <div class="absolute inset-0 opacity-[0.03]"></div> <div class="absolute top-20 left-10 w-72 h-72 bg-primary-200 rounded-full mix-blend-multiply filter blur-3xl opacity-30 animate-pulse"></div> <div class="absolute bottom-20 right-10 w-72 h-72 bg-indigo-200 rounded-full mix-blend-multiply filter blur-3xl opacity-30 animate-pulse" style="animation-delay: 1s;"></div> <div><h1 class="text-5xl md:text-7xl font-extrabold tracking-tight mb-6"><span class="text-gray-900">Build with</span> <span class="gradient-text">AI</span></h1> <p class="text-xl md:text-2xl text-gray-600 font-light max-w-2xl mx-auto mb-10 leading-relaxed">Data science guides, interactive tools, and insights to accelerate your journey.</p> <div class="flex flex-wrap justify-center gap-4"><a href="/guides/" class="px-8 py-3 bg-primary-600 text-white rounded-full font-medium hover:bg-primary-700 transition-all shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30">Explore Guides</a> <a href="/tools/" class="px-8 py-3 bg-white text-gray-700 rounded-full font-medium hover:bg-gray-50 transition-all border border-gray-200 shadow-sm">Try Tools</a></div></div></section>');function dt(r,s){L(s,!0);let t=I(!1);W(()=>{setTimeout(()=>{E(t,!0)},100)});var a=nt(),e=d(l(a),2);q(e,"",{},{"background-image":"url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%23000%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E')"});var n=d(e,6);i(a),F(()=>rt(n,1,`relative z-10 text-center px-6 max-w-4xl mx-auto transition-all duration-1000 ${h(t)?"opacity-100 translate-y-0":"opacity-0 translate-y-8"}`)),c(r,a),G()}var ct=v('<a class="group block p-6 bg-white rounded-2xl border border-gray-100 card-hover"><div class="w-12 h-12 rounded-xl flex items-center justify-center mb-4 transition-transform group-hover:scale-110"><span class="text-2xl"> </span></div> <h3 class="text-lg font-semibold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"> </h3> <p class="text-gray-600 text-sm leading-relaxed"> </p> <div class="mt-4 flex items-center text-primary-600 text-sm font-medium"><span>Learn more</span> <svg class="w-4 h-4 ml-1 transition-transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path></svg></div></a>');function vt(r,s){var t=ct(),a=l(t),e=l(a),n=l(e,!0);i(e),i(a);var m=d(a,2),g=l(m,!0);i(m);var x=d(m,2),k=l(x,!0);i(x),U(2),i(t),F(()=>{R(t,"href",s.href),q(a,`background: ${s.color??""}15;`),_(n,s.icon),_(g,s.title),_(k,s.description)}),c(r,t)}var mt=v('<div class="p-6 bg-white rounded-xl border border-gray-100 animate-pulse"><div class="h-3 bg-gray-200 rounded w-20 mb-3"></div> <div class="h-5 bg-gray-200 rounded w-3/4 mb-2"></div> <div class="h-4 bg-gray-200 rounded w-full"></div></div>'),ut=v('<div class="grid md:grid-cols-2 gap-6"></div>'),pt=v('<p class="text-gray-500 text-center py-8">Unable to load posts. <a href="https://www.valuecurve.ai" class="text-primary-600 hover:underline" target="_blank" rel="noopener">Visit newsletter →</a></p>'),ht=v('<a class="block p-6 bg-white rounded-xl border border-gray-100 hover:shadow-lg transition-shadow" target="_blank" rel="noopener"><p class="text-xs text-gray-500 mb-2"> </p> <h3 class="font-semibold text-gray-900 mb-2 line-clamp-2"> </h3> <p class="text-sm text-gray-600 line-clamp-2"> </p></a>'),gt=v('<div class="grid md:grid-cols-2 gap-6"></div>'),xt=v('<section class="py-20 px-6 bg-gray-50"><div class="max-w-6xl mx-auto"><div class="flex items-center justify-between mb-8"><h2 class="text-2xl font-bold text-gray-900">Latest from Newsletter</h2> <a href="https://www.valuecurve.ai" class="text-primary-600 hover:text-primary-700 text-sm font-medium" target="_blank" rel="noopener">View all →</a></div> <!></div></section>');function ft(r,s){L(s,!0);let t=I(Z([])),a=I(!0),e=I(!1);W(async()=>{try{const D=(await(await fetch("/api/rss")).text()).match(/<item>[\s\S]*?<\/item>/g)||[];E(t,D.slice(0,4).map(u=>{var p,f,S,y,w;return{title:(((p=u.match(/<title><!\[CDATA\[([\s\S]*?)\]\]><\/title>/))==null?void 0:p[1])||((f=u.match(/<title>([\s\S]*?)<\/title>/))==null?void 0:f[1])||"").trim(),description:(((S=u.match(/<description><!\[CDATA\[([\s\S]*?)\]\]><\/description>/))==null?void 0:S[1])||"").trim(),link:((y=u.match(/<link>(.*?)<\/link>/))==null?void 0:y[1])||"",pubDate:((w=u.match(/<pubDate>(.*?)<\/pubDate>/))==null?void 0:w[1])||""}}),!0)}catch(o){E(e,!0),console.error("Failed to fetch posts:",o)}finally{E(a,!1)}});function n(o){return new Date(o).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function m(o){return o.replace(/<[^>]*>/g,"").substring(0,150)+"..."}var g=xt(),x=l(g),k=d(l(x),2);{var V=o=>{var b=ut();P(b,20,()=>[1,2,3,4],T,(C,D)=>{var u=mt();c(C,u)}),i(b),c(o,b)},A=o=>{var b=Y(),C=$(b);{var D=p=>{var f=pt();c(p,f)},u=p=>{var f=gt();P(f,21,()=>h(t),T,(S,y)=>{var w=ht(),j=l(w),J=l(j,!0);i(j);var H=d(j,2),K=l(H,!0);i(H);var M=d(H,2),O=l(M,!0);i(M),i(w),F((Q,X)=>{R(w,"href",h(y).link),_(J,Q),_(K,h(y).title),_(O,X)},[()=>n(h(y).pubDate),()=>m(h(y).description)]),c(S,w)}),i(f),c(p,f)};B(C,p=>{h(e)?p(D):p(u,!1)},!0)}c(o,b)};B(k,o=>{h(a)?o(V):o(A,!1)})}i(x),i(g),c(r,g),G()}var bt=v('<meta name="description" content="Data science guides, interactive tools, and insights to accelerate your journey."/>'),yt=v(`<div class="min-h-screen"><!> <main><!> <section class="py-20 px-6 bg-white"><div class="max-w-6xl mx-auto"><div class="text-center mb-12"><h2 class="text-3xl font-bold text-gray-900 mb-4">Featured Resources</h2> <p class="text-gray-600 max-w-2xl mx-auto">Practical guides and interactive tools to help you make data-driven decisions.</p></div> <div class="grid md:grid-cols-3 gap-6 max-w-5xl mx-auto"></div></div></section> <!> <section class="py-16 px-6 bg-gradient-to-b from-white to-gray-50"><div class="max-w-6xl mx-auto text-center"><h3 class="text-2xl font-semibold text-gray-900 mb-4">More Coming Soon</h3> <p class="text-gray-600 max-w-xl mx-auto">We're building more guides and interactive tools for machine learning, data visualization, and AI development.</p></div></section></main> <!></div>`);function It(r){const s=[{href:"/guides/statistical-tests/",title:"Statistical Tests",description:"A comprehensive guide to choosing the right statistical test. Interactive fishbone diagram to navigate parametric vs non-parametric options.",icon:"📊",color:"#1565c0"},{href:"/tools/privacy-scanner/",title:"Privacy Scanner",description:"Detect and redact personally identifiable information (PII) from text and files. Supports 30+ PII types including emails, SSN, API keys.",icon:"🔒",color:"#7b1fa2"},{href:"/notebooks/",title:"Exploratory Data Analysis",description:"Exploratory data analysis using the Gapminder dataset. Learn data wrangling, visualization, and insights extraction.",icon:"🌍",color:"#00897b"}];var t=yt();it("1uha8ag",A=>{var o=bt();tt(()=>{at.title="Build with AI | ValueCurve"}),c(A,o)});var a=l(t);st(a,{});var e=d(a,2),n=l(e);dt(n,{});var m=d(n,2),g=l(m),x=d(l(g),2);P(x,5,()=>s,T,(A,o)=>{vt(A,lt(()=>h(o)))}),i(x),i(g),i(m);var k=d(m,2);ft(k,{}),U(2),i(e);var V=d(e,2);ot(V),i(t),c(r,t)}export{It as component};
|