|
|
@ -126,6 +126,47 @@ |
|
|
|
|
|
|
|
// }}}
|
|
|
|
|
|
|
|
function createImages(node, imgSrcs) { // {{{
|
|
|
|
var inject = node.querySelector('.inject'); |
|
|
|
if (inject === null) { |
|
|
|
var inject = document.createElement("div"); |
|
|
|
inject.className = 'inject'; |
|
|
|
node.appendChild(inject); |
|
|
|
} |
|
|
|
var imgs = inject.querySelectorAll('img'); |
|
|
|
if (imgs.length != imgSrcs.length) { |
|
|
|
inject.innerHTML = ''; |
|
|
|
imgSrcs.forEach(imgSrc => { |
|
|
|
var img = document.createElement("img"); |
|
|
|
img.src = imgSrc; |
|
|
|
img.style.display = "none"; |
|
|
|
|
|
|
|
img.onload = function () { |
|
|
|
const maxDimension = 100; |
|
|
|
const aspectRatio = img.naturalWidth / img.naturalHeight; |
|
|
|
|
|
|
|
if (aspectRatio > 1) { |
|
|
|
img.style.width = `${maxDimension}px`; |
|
|
|
img.style.height = `${maxDimension / aspectRatio}px`; |
|
|
|
} else { |
|
|
|
img.style.height = `${maxDimension}px`; |
|
|
|
img.style.width = `${maxDimension * aspectRatio}px`; |
|
|
|
} |
|
|
|
img.style.display = "block"; |
|
|
|
}; |
|
|
|
|
|
|
|
img.onclick = function () { |
|
|
|
// open link in new tab
|
|
|
|
window.open(imgSrc, '_blank'); |
|
|
|
}; |
|
|
|
|
|
|
|
inject.appendChild(img); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// }}}
|
|
|
|
|
|
|
|
// }}}
|
|
|
|
|
|
|
|
function updateProject(projectNode) { |
|
|
@ -181,6 +222,19 @@ |
|
|
|
}); |
|
|
|
} |
|
|
|
const tags = n.querySelectorAll('.contentTag'); |
|
|
|
if (text.startsWith("!")) { |
|
|
|
const links = n.querySelectorAll('a.contentLink'); |
|
|
|
const imgSrcs = []; |
|
|
|
for (var i = 0; i < links.length; i++) { |
|
|
|
var link = links[i]; |
|
|
|
link.textContent = "link"; |
|
|
|
var imgSrc = link.href; |
|
|
|
imgSrcs.push(imgSrc); |
|
|
|
} |
|
|
|
if (imgSrcs.length > 0) { |
|
|
|
createImages(n, imgSrcs); |
|
|
|
} |
|
|
|
} |
|
|
|
tags.forEach(tag => { |
|
|
|
var tagText = safeGetContent(tag, ".contentTagText").trim(); |
|
|
|
if (tagText !== "") { |
|
|
|