-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmedia.html
More file actions
163 lines (150 loc) · 15.4 KB
/
Copy pathmedia.html
File metadata and controls
163 lines (150 loc) · 15.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
---
layout: default
title: "Media"
permalink: /media/
---
<style>
body{background:#f4f7fb!important;color:#172033!important}
.media-hub{max-width:1240px;margin:0 auto;padding:42px 20px 72px;color:#172033}
.media-hub *{box-sizing:border-box}
.media-hero{background:linear-gradient(135deg,#062b4a 0%,#0b5c91 62%,#1676a7 100%);color:#fff;border-radius:22px;padding:44px 36px;box-shadow:0 18px 42px rgba(6,43,74,.18)}
.media-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(2.15rem,4vw,3.45rem);line-height:1.05}.media-hero p{max-width:900px;margin:0;color:#eaf6ff;font-size:1.08rem;line-height:1.72}.media-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.media-meta span{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.88rem;font-weight:700}
.featured-section{margin-top:34px}.featured-section h2,.media-section h2{color:#062b4a;margin-bottom:8px}.section-lead{max-width:880px;color:#526174;line-height:1.65;margin-top:0}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.featured-card{background:#fff;border:1px solid #dbe5ef;border-radius:15px;overflow:hidden;box-shadow:0 7px 20px rgba(15,23,42,.07)}.featured-frame{aspect-ratio:16/9;background:#0b2239}.featured-frame iframe{display:block;width:100%;height:100%;border:0}.featured-copy{padding:17px}.featured-copy h3{margin:0 0 7px;color:#0b3657;font-size:1.08rem;line-height:1.35}.featured-copy p{margin:0;color:#465568;line-height:1.55}.media-badges{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.media-badges span{padding:4px 8px;border-radius:999px;background:#eaf4fb;color:#075985;font-size:.75rem;font-weight:800}
.goal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0 8px}.goal-card{appearance:none;width:100%;text-align:left;background:#fff;border:1px solid #dbe5ef;border-radius:14px;padding:18px;color:#172033;box-shadow:0 5px 16px rgba(15,23,42,.05);cursor:pointer;font:inherit}.goal-card strong{display:block;color:#08395f;font-size:1rem;margin-bottom:5px}.goal-card span{display:block;color:#526174;line-height:1.45;font-size:.92rem}.goal-card:hover{border-color:#0b5c91;transform:translateY(-1px)}
.media-controls{position:sticky;top:0;z-index:6;margin:30px 0;padding:18px;background:rgba(244,247,251,.97);backdrop-filter:blur(10px);border:1px solid #dbe5ef;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.07)}.media-search-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.media-search-row label{font-weight:800;color:#22344a}.media-search{flex:1;min-width:260px;padding:12px 14px;border:1px solid #aebdca;border-radius:10px;background:#fff;color:#111827;font:inherit}.media-search::placeholder{color:#6b7280}.media-clear{border:1px solid #9fb0c0;background:#fff;color:#17324c;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}.media-clear:hover{background:#edf4f9}.filter-row{display:flex;gap:8px;overflow-x:auto;padding:13px 1px 2px;margin-top:4px;scrollbar-width:thin}.filter-btn{flex:0 0 auto;border:1px solid #b9c7d3;background:#fff;color:#17324c;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.filter-btn[aria-pressed="true"]{background:#0b5c91;color:#fff;border-color:#0b5c91}.filter-btn:hover{border-color:#0b5c91}.results-status{margin:11px 1px 0;color:#526174;font-size:.92rem}
.media-section{margin-top:42px;scroll-margin-top:170px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;border-bottom:2px solid #dce6ee;padding-bottom:10px;margin-bottom:17px}.section-heading h2{margin:0;font-size:1.65rem}.section-heading p{margin:0;max-width:720px;color:#5a6879;line-height:1.55;text-align:right}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.media-card{display:flex;flex-direction:column;min-height:100%;background:#fff;border:1px solid #dbe5ef;border-radius:15px;padding:19px;box-shadow:0 5px 16px rgba(15,23,42,.05)}.media-card:hover{border-color:#b7cddd;box-shadow:0 9px 24px rgba(15,23,42,.08)}.media-format{align-self:flex-start;display:inline-flex;padding:4px 8px;margin-bottom:9px;border-radius:999px;background:#eaf4fb;color:#075985;font-size:.76rem;font-weight:800}.media-card h3{margin:0 0 5px;color:#0b3657;font-size:1.08rem;line-height:1.35}.media-source{font-size:.86rem;color:#64748b;margin-bottom:9px}.media-card p{margin:0 0 10px;color:#465568;line-height:1.58}.media-context{padding:9px 10px;background:#f6f9fc;border-radius:9px;color:#334155!important;font-size:.89rem}.media-link{margin-top:auto;padding-top:5px;color:#075985!important;font-weight:800;text-decoration:none}.media-link:hover{text-decoration:underline}
.media-note{margin-top:34px;padding:18px;border:1px solid #cbdbe7;border-left:5px solid #0b5c91;border-radius:12px;background:#f9fcfe;color:#344256;line-height:1.65}.media-note strong{color:#0b3657}.maintenance{margin-top:24px;background:#fff;border:1px solid #dbe5ef;border-radius:13px;padding:14px 17px;color:#344256}.maintenance summary{cursor:pointer;font-weight:800;color:#0b3657}.maintenance ul{margin-bottom:0;line-height:1.65}.maintenance li+li{margin-top:5px}.media-empty{display:none;margin:30px 0;padding:22px;border:1px dashed #9fb0c0;border-radius:13px;background:#fff;color:#445468;text-align:center}.media-hub button:focus-visible,.media-hub input:focus-visible,.media-hub a:focus-visible,.media-hub summary:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:980px){.featured-grid,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-direction:column}.section-heading p{text-align:left}}
@media(max-width:640px){.media-hub{padding:24px 14px 54px}.media-hero{padding:30px 22px;border-radius:16px}.featured-grid,.goal-grid,.media-grid{grid-template-columns:1fr}.media-controls{position:static;padding:14px}.media-search{min-width:0;width:100%}.media-search-row{align-items:stretch}.media-clear{width:100%}.section-heading h2{font-size:1.45rem}.media-card{padding:17px}}
</style>
{% assign media_total = 0 %}
{% for category in site.data.media.categories %}
{% assign media_total = media_total | plus: category.items.size %}
{% endfor %}
<main class="media-hub" id="media-hub">
<section class="media-hero" aria-labelledby="media-title">
<h1 id="media-title">Media Learning Center</h1>
<p>Use video, talks, webinars, and recorded courses to strengthen concepts that are often easier to understand visually or through expert explanation. This page favors authoritative sources, clearly labeled context, and dependable learning channels over anonymous or mislabeled video lists.</p>
<div class="media-meta" aria-label="Media directory information">
<span>3 verified featured lessons</span>
<span>{{ media_total }} curated media sources</span>
<span>6 learning categories</span>
<span>Reviewed August 2026</span>
</div>
</section>
<section class="featured-section" aria-labelledby="featured-title">
<h2 id="featured-title">Featured Lessons</h2>
<p class="section-lead">These three lessons were individually verified against their current source pages. They provide strong entry points into neural networks, broader machine learning, and statistical modeling.</p>
<div class="featured-grid">
{% for item in site.data.media.featured %}
<article class="featured-card">
<div class="featured-frame">
<iframe loading="lazy" src="https://www.youtube-nocookie.com/embed/{{ item.video_id }}" title="{{ item.title | escape }} — {{ item.source | escape }}" referrerpolicy="strict-origin-when-cross-origin" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>
<div class="featured-copy">
<h3>{{ item.title }}</h3>
<div class="media-badges"><span>{{ item.source }}</span><span>{{ item.level }}</span><span>{{ item.category }}</span></div>
<p>{{ item.description }}</p>
</div>
</article>
{% endfor %}
</div>
</section>
<section aria-labelledby="media-goals-title">
<h2 id="media-goals-title" style="color:#062b4a;margin:32px 0 10px">Choose what you want to learn</h2>
<div class="goal-grid">
<button class="goal-card" type="button" data-goal="ml-deep-learning"><strong>Understand ML & deep learning</strong><span>Visual intuition, university lectures, frameworks, and current deep-learning courses.</span></button>
<button class="goal-card" type="button" data-goal="healthcare-imaging"><strong>Learn healthcare & imaging AI</strong><span>RSNA and FDA material for imaging professionals, researchers, and regulated digital health.</span></button>
<button class="goal-card" type="button" data-goal="data-cloud"><strong>Build data & cloud systems</strong><span>AWS sessions and distributed data-engineering explanations.</span></button>
<button class="goal-card" type="button" data-goal="responsible-ai"><strong>Study responsible AI</strong><span>NIST primary-source explainers and governance recordings.</span></button>
</div>
</section>
<section class="media-controls" aria-label="Media search and filters">
<div class="media-search-row">
<label for="media-search">Search media</label>
<input class="media-search" id="media-search" type="search" placeholder="Try “radiology”, “statistics”, “Spark”, “NIST”, or “deep learning”…" autocomplete="off">
<button class="media-clear" id="media-clear" type="button">Clear search</button>
</div>
<div class="filter-row" role="group" aria-label="Filter media by category">
<button class="filter-btn" type="button" data-filter="all" aria-pressed="true">All</button>
{% for category in site.data.media.categories %}
<button class="filter-btn" type="button" data-filter="{{ category.id }}" aria-pressed="false">{{ category.label }}</button>
{% endfor %}
</div>
<p class="results-status" id="media-status" aria-live="polite">Showing all {{ media_total }} media resources.</p>
</section>
<noscript><div class="media-note"><strong>JavaScript is off.</strong> Search and filters are disabled, but every media resource remains visible below.</div></noscript>
<p class="media-empty" id="media-empty">No media resources match that search and category. Try a broader term or choose “All”.</p>
<div id="media-groups">
{% for category in site.data.media.categories %}
<section class="media-section" data-media-group="{{ category.id }}" id="{{ category.id }}" aria-labelledby="media-heading-{{ category.id }}">
<div class="section-heading">
<h2 id="media-heading-{{ category.id }}">{{ category.label }}</h2>
<p>{{ category.description }}</p>
</div>
<div class="media-grid">
{% for item in category.items %}
<article class="media-card" data-media-card data-category="{{ category.id }}" data-search="{{ item.title | downcase | escape }} {{ item.source | downcase | escape }} {{ item.format | downcase | escape }} {{ item.level | downcase | escape }} {{ item.best_for | downcase | escape }} {{ item.description | downcase | escape }}">
<span class="media-format">{{ item.format }}</span>
<h3>{{ item.title }}</h3>
<div class="media-source">Source: {{ item.source }} · {{ item.level }}</div>
<p>{{ item.description }}</p>
<p class="media-context"><strong>Best for:</strong> {{ item.best_for }}</p>
<a class="media-link" href="{{ item.url }}" target="_blank" rel="noopener noreferrer" aria-label="Open {{ item.title | escape }} from {{ item.source | escape }} in a new tab">Open media source ↗</a>
</article>
{% endfor %}
</div>
</section>
{% endfor %}
</div>
<div class="media-note">
<strong>Media standard:</strong> DataForSolution does not treat an external video as evidence merely because it is popular. Prefer original institutions, official channels, recognized educators, current course pages, and regulatory sources. External platforms may show advertising, recommendations, or comments that DataForSolution does not control or endorse.
</div>
<details class="maintenance">
<summary>What changed in the August 2026 Media review?</summary>
<ul>
<li>The former page contained duplicate YouTube links and several cases where the displayed title did not match the linked video. Those entries were retired rather than relabeled without evidence.</li>
<li>Three individual lessons were retained as featured media only after their titles and sources were independently verified.</li>
<li>Random one-off links were replaced with durable sources such as MIT 6.S191, Stanford Online, StatQuest, RSNA, FDA CDRH Learn, AWS re:Invent, NIST, and the official PyTorch channel.</li>
<li>Healthcare AI now has a dedicated category so medical-imaging education is not mixed into generic AI videos.</li>
<li>Responsible-AI media now points to NIST primary-source recordings and framework resources instead of generic ethics commentary.</li>
<li>Embeds use YouTube’s privacy-enhanced domain and lazy loading to reduce unnecessary third-party loading before users reach the featured section.</li>
</ul>
</details>
</main>
<script>
(function(){
const search=document.getElementById('media-search');
const clear=document.getElementById('media-clear');
const buttons=Array.from(document.querySelectorAll('.filter-btn'));
const goalButtons=Array.from(document.querySelectorAll('[data-goal]'));
const cards=Array.from(document.querySelectorAll('[data-media-card]'));
const groups=Array.from(document.querySelectorAll('[data-media-group]'));
const status=document.getElementById('media-status');
const empty=document.getElementById('media-empty');
let active='all';
function apply(){
const query=(search.value||'').trim().toLowerCase();
let visible=0;
cards.forEach(function(card){
const category=card.getAttribute('data-category');
const matchesCategory=active==='all'||category===active;
const matchesSearch=!query||(card.getAttribute('data-search')||'').includes(query);
const show=matchesCategory&&matchesSearch;
card.hidden=!show;
if(show)visible+=1;
});
groups.forEach(function(group){group.hidden=!group.querySelector('[data-media-card]:not([hidden])');});
buttons.forEach(function(button){button.setAttribute('aria-pressed',button.dataset.filter===active?'true':'false');});
empty.style.display=visible?'none':'block';
const activeButton=buttons.find(function(button){return button.dataset.filter===active;});
const categoryLabel=active==='all'?'all categories':(activeButton?activeButton.textContent:active);
status.textContent='Showing '+visible+' media resource'+(visible===1?'':'s')+(query?' matching “'+search.value.trim()+'”':'')+' in '+categoryLabel+'.';
}
buttons.forEach(function(button){button.addEventListener('click',function(){active=button.dataset.filter;apply();});});
goalButtons.forEach(function(button){button.addEventListener('click',function(){active=button.dataset.goal;search.value='';apply();const target=document.getElementById(active);if(target)target.scrollIntoView({behavior:'smooth',block:'start'});});});
search.addEventListener('input',apply);
clear.addEventListener('click',function(){search.value='';active='all';apply();search.focus();});
apply();
})();
</script>