1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <!-- Small icons only: the old 240 KB favicon.jpg competed with the hero 6 image for mobile bandwidth and hurt Largest Contentful Paint. --> 7 <link rel="icon" href="/favicon.ico" sizes="any" /> 8 <link rel="icon" href="/favicon-96.png" type="image/png" sizes="96x96" /> 9 <link rel="apple-touch-icon" href="/favicon-96.png" /> 10 <!-- The first .org hero image is preloaded by the nonprofit-surface script 11 below (only on hubhearts.org) so it downloads before the React bundle 12 evaluates. It is the Largest Contentful Paint element there. --> 13 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 14 <title>HubHearts | Local Marketplace, Businesses & Charities</title> 15 <meta name="description" content="HubHearts connects community with local businesses, charities, and causes. Shop local, find help, give hope. Supporting the Community Action Network (CAN)." /> 16 <meta name="author" content="HubHearts" /> 17 <meta name="keywords" content="local marketplace, charity directory, community action, donate, volunteer, local businesses, HubHearts" /> 18 <!-- Canonical is managed per-page by react-helmet-async (self-referencing, 19 domain-aware). Do not add a static canonical here â it would outrank the 20 per-page tag and collapse every .org URL onto the homepage for Google. --> 21 22 <!-- Google Search Console ownership verification (hubhearts.com / hubhearts.org) --> 23 <meta name="google-site-verification" content="8yF3tpamedpuJrgIUEVPCNwZj_K1Nh_65W6NWFy_BSA" /> 24 <meta name="google-site-verification" content="k8BVjFhNCFrFVolZS_0tElHa90OnXJLgdZNZmnrnsJ8" /> 25 26 27 <!-- Open Graph --> 28 <meta property="og:title" content="HubHearts | Local Marketplace, Businesses & Charities" /> 29 <meta property="og:description" content="Shop local, find help, give hope. HubHearts connects community with local businesses, charities, and causes." /> 30 <meta property="og:type" content="website" /> 31 <meta property="og:image" content="https://hubhearts.com/og/hubhearts-og-default.jpg" /> 32 <meta property="og:site_name" content="HubHearts" /> 33 34 <!-- Twitter Card --> 35 <meta name="twitter:card" content="summary_large_image" /> 36 <meta name="twitter:site" content="@hubhearts" /> 37 <meta name="twitter:title" content="HubHearts | Local Marketplace, Businesses & Charities" /> 38 <meta name="twitter:description" content="Shop local, find help, give hope. Connecting community with local businesses and causes." /> 39 <meta name="twitter:image" content="https://hubhearts.com/og/hubhearts-og-default.jpg" /> 40 41 <!-- 42 Nonprofit surface metadata. 43 hubhearts.org must never present itself as a commercial marketplace 44 (Google Ad Grant requirement). This runs before first paint and before 45 React/Helmet mounts, so reviewers and non-rendering fetches see the 46 nonprofit title/description instead of the .com marketplace wording. 47 --> 48
48<script> 49 (function () { 50 var host = location.hostname.toLowerCase().replace(/^www\./, ''); 51 var forced = location.search.indexOf('siteMode=org') !== -1; 52 if (host !== 'hubhearts.org' && !forced) return; 53 54 55 var TITLE = 'Find Local Help: Food, Housing, Health | HubHearts.org'; 56 var DESC = 'A 501(c)(3) nonprofit resource network. Search free and low-cost local help near you: food, housing, healthcare, utilities and job skills.'; 57 var IMAGE = 'https://hubhearts.org/og/hubhearts-og-default.jpg'; 58 59 document.title = TITLE; 60 61 // Preload the first hero image (LCP element on the .org homepage only). 62 var heroPreload = document.createElement('link'); 63 heroPreload.rel = 'preload'; 64 heroPreload.as = 'image'; 65 heroPreload.setAttribute('fetchpriority', 'high'); 66 heroPreload.href = window.matchMedia('(min-width: 768px)').matches 67 ? '/heroes/org-hero-1-desktop.webp' 68 : '/heroes/org-hero-1-mobile.webp'; 69 document.head.appendChild(heroPreload); 70 71 function setMeta(attr, key, value) { 72 var el = document.head.querySelector('meta[' + attr + '="' + key + '"]'); 73 if (!el) { 74 el = document.createElement('meta'); 75 el.setAttribute(attr, key); 76 document.head.appendChild(el); 77 } 78 el.setAttribute('content', value); 79 } 80 81 setMeta('name', 'description', DESC); 82 setMeta('name', 'keywords', 'free local help, food assistance, housing assistance, healthcare resources, community action network, nonprofit resource directory, 501(c)(3)'); 83 setMeta('property', 'og:title', TITLE); 84 setMeta('property', 'og:description', DESC); 85 setMeta('property', 'og:image', IMAGE); 86 setMeta('property', 'og:site_name', 'HubHearts.org'); 87 setMeta('name', 'twitter:title', TITLE); 88 setMeta('name', 'twitter:description', DESC); 89 setMeta('name', 'twitter:image', IMAGE); 90 })(); 91 </script>
91 92 93 94 <!-- Google Analytics 4 (loaded only if VITE_GA4_ID is set at build time) --> 95
95<script type="module" crossorigin src="/assets/index-DsXAughQ.js"></script>
95 96 <link rel="stylesheet" crossorigin href="/assets/index-Cnx6FYV5.css"> 97
97<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
97</head> 98 99 <body> 100 <div id="root"></div> 101 <!-- 102 Static organization identity for reviewers, crawlers and any fetch that 103 does not execute JavaScript. Google for Nonprofits reported the site as 104 "does not load correctly or contains primarily placeholder content", which 105 is what a script-less fetch of an empty SPA shell looks like. This block 106 states the legal entity, EIN, address, mission and key pages without JS. 107 --> 108 <noscript> 109 <div style="max-width:44rem;margin:0 auto;padding:2rem 1.25rem;font-family:system-ui,sans-serif;line-height:1.6;color:#111"> 110 <h1>HUBHEARTS â Community Action Network</h1> 111 <p> 112 HUBHEARTS is an IRS-recognized 501(c)(3) public charity, EIN 113 87-3522102, founded in 2020 and based at 514 Lockwood Drive, 114 Richardson, TX 75080. <strong>hubhearts.org</strong> is our official 115 nonprofit website and email domain. 116 </p> 117 <p> 118 Our mission is to help people find free and low-cost local help â 119 food, housing, clothing, health care, transportation and job skills â 120 through our curated CAN Lists (Community Action Network), and to 121 connect neighbors through local groups and events. 122 </p> 123 <ul> 124 <li><a href="/org/get-help">Get help now</a></li> 125 <li><a href="/canlist">Build a CAN List (Get & Go)</a></li> 126 <li><a href="/can">Browse local resources</a></li> 127 <li><a href="/org/about">About HUBHEARTS</a></li> 128 <li><a href="/org/financials">Financials, IRS determination letter and Texas good standing</a></li> 129 <li><a href="/org/donate">Donate</a></li> 130 <li><a href="/contact">Contact us</a></li> 131 </ul> 132 <p> 133 This page requires JavaScript for the full interactive resource 134 search. Please enable JavaScript or use the links above. 135 </p> 136 </div> 137 </noscript> 138 </body> 139</html>
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.