MCPcopy Create free account
hub / github.com/crisxuan/bestJavaer / renderCard

Function renderCard

assets/article-cards.js:859–900  ·  view source on GitHub ↗
(article)

Source from the content-addressed store, hash-verified

857 }
858
859 function renderCard(article) {
860 var item = article.item;
861
862 if (item.classList.contains('article-card-item')) {
863 return;
864 }
865
866 var card = document.createElement('a');
867 var media = document.createElement('span');
868 var body = document.createElement('span');
869 var date = document.createElement('span');
870 var title = document.createElement('span');
871
872 item.className = 'article-card-item';
873 card.className = 'article-card';
874 card.href = article.href;
875 media.className = 'article-card-media is-loading';
876 media.innerHTML = '<span>AI</span>';
877 body.className = 'article-card-body';
878 date.className = 'article-card-date';
879 title.className = 'article-card-title';
880 date.textContent = article.date || 'AI Article';
881 title.textContent = article.title;
882
883 body.appendChild(date);
884 body.appendChild(title);
885 card.appendChild(media);
886 card.appendChild(body);
887 item.textContent = '';
888 item.appendChild(card);
889
890 getCover(article.markdownPath).then(function (cover) {
891 media.classList.remove('is-loading');
892
893 var image = document.createElement('img');
894 image.alt = article.title;
895 image.loading = 'lazy';
896 image.src = cover || createGeneratedCover(article.title);
897 media.textContent = '';
898 media.appendChild(image);
899 });
900 }
901
902 function getCover(markdownPath) {
903 if (coverCache.has(markdownPath)) {

Callers 1

renderArticleCardsFunction · 0.85

Calls 2

getCoverFunction · 0.85
createGeneratedCoverFunction · 0.85

Tested by

no test coverage detected