91³Ô¹ÏÍø

Watch CBS News

In Tribute: Martin Richard

BOSTON (CBS) --- "No more hurting people. Peace." His doe eyes are piercing in the now famous photograph of little holding a handmade sign in his third grade classroom at the Neighborhood Charter House School.

The heartbreaking image would become the face of everything unfair about the He was innocent.

The youngest victim of the Boston Marathon bombings, Martin Richard, 8, of Dorchester, was watching the runners cross the finish line with his mother Denise, father Bill, sister Jane and brother Henry. His sister Jane n the bombing and his mother sustained a and lost sight in one of her eyes. His father received burns and shrapnel wounds to his legs. Henry was not injured.

Well-known as community activists in Dorchester, news that Martin was one of the victims seemed an especially cruel reality. The bombing had claimed one of Boston's children.

Martin's father Bill Richard released a statement the day after the bombing, saying:

"My dear son Martin has died from injuries sustained in the attack on Boston. My wife and daughter are both recovering from serious injuries. We thank our family and friends, those we know and those we have never met, for their thoughts and prayers. I ask that you continue to pray for my family as we remember Martin. We also ask for your patience and for privacy as we work to simultaneously grieve and recover. Thank you."

for Martin and the Richard family in Dorchester. More tributes poured out , individual players and Boston rivals. All wanted to pay their respects to the youngest victim, an avid Boston sports fan.

"Our prayers are with the Richard family of Dorchester -- to Denise and their young daughter, Jane, as they fight to recover. And our hearts are broken for 8-year-old Martin -- with his big smile and bright eyes. His last hours were as perfect as an 8-year-old boy could hope for -- with his family, eating ice cream at a sporting event. And we're left with two enduring images of this little boy -- forever smiling for his beloved Bruins, and forever expressing a wish he made on a blue poster board: "No more hurting people. Peace," President Obama said of Richard after the attacks.

Today, the family continues to recover.

A charity team will run this year in memory of Martin Richard. The family hopes the money raised through the can be used to "pay it forward," for all the love and support they have been given over the year and to spread Martin's message: 'No more hurting people. Peace."

MORE LOCAL NEWS FROM CBS BOSTON

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });