PageSourceSearch

https://emilyeducation.com/assets/BlogPost-DHdsXr6S.js

js emilyeducation.com collected 2026-10-09 03:26:27 UTC 19,899 bytes, 15 lines download raw bytes

1import{j as e,B as p,M as q,r as F,L as f,s as b,n as z,p as H,f as E,q as I,k,u as T,N as R,A as v,a as N,d as _,H as M,U,l as P}from"./index-cPberhBo.js";import{u as y}from"./useQuery-CGd05v8G.js";import{c as S}from"./sanitizeHtml-CCNs4XfE.js";import{C as B,c as D,a as O,e as K,d as V}from"./card-CCgOTcic.js";import{C as W}from"./clock-DcN21eRj.js";import{D as J}from"./download-BISG99iW.js";import{F as X}from"./FaqJsonLd-CvX3MLN9.js";import{A as $}from"./arrow-left-AssjOrH9.js";import{C as G}from"./calendar-Bh0AQQDL.js";import"./purify.es-D9RiKzGB.js";const Q="https://emilyeducation.com",Y={"meet-gus":"/meet-gus","meet-linus":"/meet-linus","meet-eddy":"/meet-eddy","meet-ninja":"/meet-ninja","meet-bossy-r":"/meet-bossy-r","remy-reads":"/remy-reads","remy-reads/african-animals":"/remy-reads/african-animals","remy-reads/frogs":"/remy-reads/frogs","remy-reads/butterflies":"/remy-reads/butterflies",bundles:"/bundles","alphabet-anchor-charts":"/alphabet-anchor-charts","foundational-math":"/parents/foundational-math","word-family-cvc-bundle":"/word-family-cvc-bundle",about:"/about",blog:"/blog",parents:"/parents",teachers:"/teachers",faq:"/faq",shop:"/shop"},Z=({className:s})=>e.jsx("svg",{viewBox:"0 0 24 24",className:s,fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),ee=({className:s})=>e.jsx("svg",{viewBox:"0 0 24 24",className:s,fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"})}),te=({className:s})=>e.jsx("svg",{viewBox:"0 0 24 24",className:s,fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"})}),re=({pageSlug:s,title:l="",className:t=""})=>{const o=Y[s]||`/${s}`,h=`${Q}${o}`,r=l||document.title,i=encodeURIComponent(h),m=encodeURIComponent(r),c=n=>{window.open(n,"_blank","noopener,noreferrer,width=600,height=400")};return e.jsxs("div",{className:`flex items-center gap-2 ${t}`,children:[e.jsx(p,{variant:"outline",size:"icon",className:"rounded-full h-9 w-9",onClick:()=>c(`https://x.com/intent/tweet?url=${i}&text=${m}`),"aria-label":"Share on X",title:"Share on X",children:e.jsx(Z,{className:"h-4 w-4"})}),e.jsx(p,{variant:"outline",size:"icon",className:"rounded-full h-9 w-9",onClick:()=>c(`https://www.facebook.com/sharer/sharer.php?u=${i}`),"aria-label":"Share on Facebook",title:"Share on Facebook",children:e.jsx(ee,{className:"h-4 w-4"})}),e.jsx(p,{variant:"outline",size:"icon",className:"rounded-full h-9 w-9",onClick:()=>c(`https://www.linkedin.com/sharing/share-offsite/?url=${i}`),"aria-label":"Share on LinkedIn",title:"Share on LinkedIn",children:e.jsx(te,{className:"h-4 w-4"})}),e.jsx(p,{variant:"outline",size:"icon",className:"rounded-full h-9 w-9",onClick:()=>window.location.href=`mailto:?subject=${m}&body=${i}`,"aria-label":"Share via email",title:"Share via email",children:e.jsx(q,{className:"h-4 w-4"})})]})};function ae(s){const t=(s.body_html||s.summary_html||"").replace(/<[^>]*>/g," ").trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.round(t/200))}const se=s=>s.local_image_url||s.image_src||"/placeholder.svg";function oe({currentPostId:s,currentCategoryId:l,currentCategoryName:t}){const{data:o}=y({queryKey:["related-articles",l,t],queryFn:async()=>{const{data:r,error:i}=await b.from("posts").select("id, handle, title, body_html, summary_html, local_image_url, image_src, image_alt_text, category_id, tags").eq("published",!0).order("published_at",{ascending:!1});if(i)throw i;return r||[]}}),h=F.useMemo(()=>
1{if(!o)return[];const r=(t||"").toLowerCase(),i=o.filter(n=>n.id!==s),c=[...i.filter(n=>{if(l&&n.category_id===l)return!0;if(r){const d=(n.tags||"").toLowerCase(),u=r.split(/[^a-z0-9]+/).filter(Boolean)[0]||"";return d.split(",").some(j=>{const w=j.trim();return w===r||u&&w.includes(u)})}return!1})];if(c.length<3){const n=new Set(c.map(d=>d.id));for(const d of i){if(c.length>=3)break;n.has(d.id)||(c.push(d),n.add(d.id))}}return c.slice(0,3)},[o,s,l,t]);return h.length===0?null:e.jsxs("section",{className:"mt-12 pt-8 border-t border-border","aria-labelledby":"related-articles-heading",children:[e.jsx("h2",{id:"related-articles-heading",className:"text-2xl font-bold text-foreground mb-6",children:"Related articles"}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:h.map(r=>{const i=ae(r);return e.jsx(f,{to:`/blog/${r.handle}`,children:e.jsxs(B,{className:"overflow-hidden hover:shadow-lg transition-all duration-300 hover:-translate-y-1 border-border/50 h-full",children:[e.jsx("figure",{className:"aspect-video bg-gradient-to-br from-peach/20 to-soft-yellow/20",children:e.jsx("img",{src:se(r),alt:r.image_alt_text||`Featured image for: ${r.title}`,className:"w-full h-full object-cover",loading:"lazy",onError:m=>{m.target.src="/placeholder.svg"}})}),e.jsxs(D,{className:"pb-4",children:[e.jsx(O,{className:"text-lg hover:text-primary transition-colors line-clamp-2",children:r.title}),e.jsxs("p",{className:"text-xs text-muted-foreground flex items-center gap-1 mt-2",children:[e.jsx(W,{className:"w-3 h-3","aria-hidden":"true"}),i," min read"]})]})]})},r.id)})})]})}const ne=["digital","printable","download","anchor chart","worksheet","pdf"];function le(s){const l=[s.title||"",s.handle||"",Array.isArray(s.tags)?s.tags.join(" "):s.tags||""].join(" ").toLowerCase();return ne.some(t=>l.includes(t))}function ie({productIds:s}){const l=(s||[]).map(r=>(r||"").trim()).filter(Boolean).filter(r=>!r.startsWith("gid://")&&!/^\d+$/.test(r)),t=z(r=>r.addItem),{data:o,isLoading:h}=y({queryKey:["related-resources",l.sort().join(",")],enabled:l.length>0,queryFn:()=>H(l)});return!s||s.length===0?null:e.jsxs("section",{className:"mt-12 pt-8 border-t border-border","aria-labelledby":"related-resources-heading",children:[e.jsx("h2",{id:"related-resources-heading",className:"text-2xl font-bold text-foreground mb-6",children:"Related resources"}),h&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(E,{className:"w-5 h-5 animate-spin","aria-hidden":"true"}),"Loading resources..."]}),!h&&(!o||o.length===0)&&e.jsx("p",{className:"text-muted-foreground",children:"Related resources coming soon."}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6",children:o?.map(({node:r})=>{const i=le(r),m=r.images.edges[0]?.node,c=r.priceRange.minVariantPrice,n=r.variants.edges[0]?.node,d=u=>{if(u.preventDefault(),!n){k.error("Unable to add to cart",{description:"This product is not available."});return}t({product:{node:r},variantId:n.id,variantTitle:n.title,price:n.price,quantity:1,selectedOptions:n.selectedOptions||[]}),k.success("Added to cart",{description:r.title})};return e.jsxs(B,{className:"overflow-hidden hover:shadow-lg transition-all duration-300 border-border/50 flex flex-col",children:[e.jsx(f,{to:`/product/${r.handle}`,className:"block",children:e.jsx("figure",{className:"aspect-square bg-gradient-to-br from-peach/20 to-soft-yellow/20",children:m?.url?e.jsx("img",{src:m.url,alt:m.altText||r.title,className:"w-full h-full object-cover",loading:"lazy"}):null})}),e.jsxs(K,{className:"pt-4 flex-1",children:[e.jsx(f,{to:`/product/${r.handle}`,children:e.jsx("h3",{className:"font-semibold text-foreground hover:text-primary transition-colors line-clamp-2",children:r.title})}),e.jsxs("p",{className:"mt-2 font-bold text-foreground",children:[c.currencyCode==="USD"?"$":`${c.currencyCode} `,parseFloat(c.amount).toFixed(2)]})]}),e.jsx(V,{children:e.jsx(p,{onClick:d,className:"w-full","aria-label":`${i?"Download & print":"Buy"} ${r.title}`,children:i?e.jsxs(e.Fragment,{children:[e.jsx(J,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"Download & Print"]}):e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"Buy"]})})})]},r.id)})})]})}const C={id:"default-emily",slug:"emily-barnes",name:"Emily Barnes",role:"Founder, Emily Education",short_bio:"Emily Barnes is a former Pre-K–3rd grade teacher and the founder of Emily Education. After years in the classroom—and now raising three kids of her own—she creates hands-on math and reading resources that help little learners build real foundational skills, no tablet required.",photo_url:null},ce=({authorId:s,authorName:l})=>{const{data:t}=y({queryKey:["author-bio",s,l],queryFn:async()=>
1{if(s){const{data:n}=await b.from("authors").select("id, slug, name, role, short_bio, photo_url").eq("id",s).maybeSingle();if(n)return n}if(l){const{data:n}=await b.from("authors").select("id, slug, name, role, short_bio, photo_url").ilike("name",l).maybeSingle();if(n)return n}const{data:c}=await b.from("authors").select("id, slug, name, role, short_bio, photo_url").eq("slug","emily-barnes").maybeSingle();return c??C}}),o=t??C,h=o.name.split(" ").map(c=>c[0]).join("").slice(0,2).toUpperCase(),r=o.slug==="emily-barnes",i=r?"/about/emily":`/authors/${o.slug}`,m=r?"Read more about Emily →":`Read more about ${o.name.split(" ")[0]} →`;return e.jsx("aside",{"aria-label":`About the author, ${o.name}`,className:"mt-12 pt-8 border-t border-border",children:e.jsxs("div",{className:"flex flex-col sm:flex-row gap-5 p-6 rounded-2xl bg-secondary/30 border border-border",children:[e.jsx("div",{className:"flex-shrink-0",children:o.photo_url?e.jsx("img",{src:o.photo_url,alt:`Photo of ${o.name}`,className:"w-20 h-20 sm:w-24 sm:h-24 rounded-full object-cover border-2 border-background shadow-sm",loading:"lazy"}):e.jsx("div",{role:"img","aria-label":`Upload: ${o.name} headshot`,className:"w-20 h-20 sm:w-24 sm:h-24 rounded-full bg-primary/10 text-primary flex items-center justify-center text-2xl font-bold border-2 border-background shadow-sm",children:h})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground mb-1",children:"About the author"}),e.jsx("h2",{className:"text-lg font-bold text-foreground",children:o.name}),o.role&&e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:o.role}),o.short_bio&&e.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:o.short_bio}),e.jsx(f,{to:i,className:"inline-block mt-3 text-sm font-semibold text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded","aria-label":`Read more about ${o.name}`,children:m})]})]})})},L={"teach-addition-subtraction-without-math-anxiety":[{question:"How do I stop passing my own math anxiety on to my child?",answer:'Watch your own reactions — sighing or saying "I was never good at math" signals anxiety even if unintentional. Stay calm, celebrate effort over speed, and lean on tools like story characters and ten frames.'},{question:"What age should kids start learning addition and subtraction?",answer:"Most kids are ready for addition and subtraction between ages 6–8, building hands-on number sense first before moving into formal addition and subtraction within 10 and 20 in 1st through 3rd grade."}]},x="https://emilyeducation.com",de=["meet-the-ninja-sneaky-silent-e","cvc-word-families-anchor-charts-word-family-posters-crafts-activities","phonics-anchor-chart-bundle"],ve=()=>{const{slug:s}=T(),l=(s||"").replace(/\/+$/,"").toLowerCase(),{data:t,isLoading:o,error:h}=y({queryKey:["post",l],queryFn:async()=>{const{data:a,error:g}=await b.from("posts").select("*").ilike("handle",l).eq("published",!0).maybeSingle();if(g)throw g;return a},enabled:!!l}),r=t&&s&&t.handle!==s?`/blog/${t.handle}`:null,{data:i}=y({queryKey:["post-category",t?.category_id],enabled:!!t?.category_id,queryFn:async()=>{const{data:a}=await b.from("categories").select("id, name, slug").eq("id",t.category_id).maybeSingle();return a}}),m=/silent-?e/i.test(t?.handle||"")||/silent\s*e/i.test(t?.title||""),c=t?.related_product_ids&&t.related_product_ids.length>0?t.related_product_ids:m?de:[],n=a=>a?new Date(a).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):"Recently",d=a=>a.og_image||a.local_image_url||a.image_src||`${x}/og-blog.png`,u=a=>{const g=a;return g.seo_description?g.seo_description:a.meta_description?a.meta_description:a.summary_html?a.summary_html.replace(/<[^>]*>/g,"").substring(0,155):a.body_html?a.body_html.replace(/<[^>]*>/g,"").substring(0,155):""},j=a=>`${a.seo_title||a.meta_title||a.title} | Emily Education`,w=a=>({"@context":"https://schema.org","@type":"Article",headline:a.title,de
1scription:u(a),image:d(a),author:{"@type":"Person",name:"Emily Barnes",url:`${x}/about/emily`},publisher:{"@type":"Organization",name:"Emily Education",logo:{"@type":"ImageObject",url:`${x}/favicon.png`}},datePublished:a.published_at,dateModified:a.published_at,mainEntityOfPage:{"@type":"WebPage","@id":`${x}/blog/${a.handle}`}}),A=a=>({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:x},{"@type":"ListItem",position:2,name:"Blog",item:`${x}/blog`},{"@type":"ListItem",position:3,name:a.title,item:`${x}/blog/${a.handle}`}]});return r?e.jsx(R,{to:r,replace:!0}):o?e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(v,{}),e.jsx(N,{}),e.jsx("main",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E,{className:"w-6 h-6 animate-spin text-primary","aria-hidden":"true"}),e.jsx("span",{className:"text-muted-foreground",children:"Loading article..."})]})}),e.jsx(_,{})]}):h||!t?e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(v,{}),e.jsx(N,{}),e.jsx("main",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"text-4xl font-bold text-foreground mb-4",children:"Article Not Found"}),e.jsx("p",{className:"text-muted-foreground mb-8",children:"The article you're looking for doesn't exist."}),e.jsx(f,{to:"/blog",children:e.jsxs(p,{children:[e.jsx($,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"Back to Blog"]})})]})}),e.jsx(_,{})]}):e.jsxs(e.Fragment,{children:[e.jsxs(M,{children:[e.jsx("title",{children:j(t)}),e.jsx("meta",{name:"description",content:u(t)}),e.jsx("link",{rel:"canonical",href:`${x}/blog/${t.handle}`}),e.jsx("meta",{property:"og:title",content:j(t)}),e.jsx("meta",{property:"og:description",content:u(t)}),e.jsx("meta",{property:"og:url",content:`${x}/blog/${t.handle}`}),e.jsx("meta",{property:"og:type",content:"article"}),e.jsx("meta",{property:"og:site_name",content:"Emily Education"}),e.jsx("meta",{property:"og:image",content:d(t)}),t.published_at&&e.jsx("meta",{property:"article:published_time",content:t.published_at}),e.jsx("meta",{property:"article:author",content:"Emily Barnes"}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:t.meta_title||t.title}),e.jsx("meta",{name:"twitter:description",content:u(t)}),e.jsx("meta",{name:"twitter:image",content:d(t)}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(w(t))}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(A(t))})]}),L[t.handle]&&e.jsx(X,{items:L[t.handle]}),e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(v,{}),e.jsx(N,{}),e.jsx("main",{className:"flex-1",children:e.jsx("article",{className:"py-16 px-4",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx(f,{to:"/blog",children:e.jsxs(p,{variant:"ghost",className:"mb-8 text-primary hover:text-primary/80",children:[e.jsx($,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"Back to Blog"]})}),e.jsxs("header",{className:"mb-8",children:[(t.local_image_url||t.image_src)&&e.jsx("figure",{className:"aspect-video bg-gradient-to-br from-peach/20 to-soft-yellow/20 rounded-lg overflow-hidden mb-6",children:e.jsx("img",{src:d(t),alt:t.image_alt_text||`Featured image for: ${t.title}`,className:"w-full h-full object-cover",loading:"lazy",onError:a=>{a.target.src="/placeholder.svg"}})}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground mb-4",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(G,{className:"w-4 h-4","aria-hidden":"true"}),e.jsx("time",{dateTime:t.published_at||void 0,children:n(t.published_at)})]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(U,{className:"w-4 h-4","aria-hidden":"true"}),e.jsx(f,{to:"/about/emily",className:"hover:text-primary hover:underline",children:"Emily Barnes"})]})]}),t.tags&&e.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:t.tags.split(",").map((a,g)=>e.jsx("span",{className:"text-xs bg-secondary text-secondary-foreground px-3 py-1 rounded-full",children:a.trim()},g))}),e.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-4",children:t.title}),e.jsxs("div",{className:"flex items-center gap-3 mb-6 flex-wrap",children:[e.jsx(P,{pageSlug:`blog/${t.handle}`}),e.jsx(re,{pageSlug:`blog/${t.handle}`,title:t.title})]}),t.summary_html&&e.jsx("div",{className:"text-xl text-muted-foreground mb-8",dangerouslySetInnerHTML:S(t.summary_html)})]}),t.body_html&&e.jsx("div",{className:"prose prose-lg max-w-none",children:e.jsx("div",{className:"text-foreground leading-relaxed blog-content",dangerouslySetInnerHTML:S(t.body_html)})}),e.jsx("nav",{className:"mt-12 pt-8 border-t border-border",children:e.jsx(f,{to:"/blog",children:e.jsxs(p,{variant:"outline",size:"lg",children:[e.jsx($,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"View All Articles"]})})}),e.jsx(ce,{authorName:"Emily Barnes"}),e.jsx(ie,{productIds:c}),e.jsx(oe,{currentPostId:t.id,currentCategoryId:t.category_id,currentCategoryName:i?.name||null})]})})}),e.jsx(_,{}),e.jsx("style",{children:`
2          .blog-content h1 { font-size: 2rem; font-weight: 700; margin-top: 2rem; margin-bottom: 1rem; color: hsl(var(--foreground)); }
3          .blog-content h2 { font-size: 1.75rem; font-weight: 700; margin-top: 1.75rem; margin-bottom: 0.75rem; color: hsl(var(--foreground)); }
4          .blog-content h3 { font-size: 1.5rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; color: hsl(var(--foreground)); }
5          .blog-content p { margin-bottom: 1rem; line-height: 1.8; }
6          .blog-content ul, .blog-content ol { margin-bottom: 1rem; padding-left: 1.5rem; }
7          .blog-content li { margin-bottom: 0.5rem; }
8          .blog-content a { color: hsl(var(--primary)); text-decoration: underline; }
9          .blog-content a:hover { opacity: 0.8; }
10          .blog-content img { max-width: 100%; height: auto; border-radius: 0.5rem; margin: 1.5rem 0; }
11          .blog-content blockquote { border-left: 4px solid hsl(var(--primary)); padding-left: 1rem; margin: 1.5rem 0; font-style: italic; color: hsl(var(--muted-foreground)); }
12          .blog-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
13          .blog-content th, .blog-content td { border: 1px solid hsl(var(--border)); padding: 0.75rem; text-align: left; }
14          .blog-content th { background: hsl(var(--muted)); }
15        `})]})]})};export{ve as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.