浏览代码

Add a system for citations (in addition to authors/owners and source)

master
Fen Dweller 4 年前
父节点
当前提交
c7c9e3640f
共有 4 个文件被更改,包括 73 次插入0 次删除
  1. +4
    -0
      macrovision.css
  2. +5
    -0
      macrovision.html
  3. +20
    -0
      macrovision.js
  4. +44
    -0
      media/attribution.js

+ 4
- 0
macrovision.css 查看文件

@@ -489,6 +489,10 @@ a {
text-align: center;
}

#options-attribution-citations {
text-align: center;
}

.no-transition {
transition: 0s !important;
}


+ 5
- 0
macrovision.html 查看文件

@@ -252,6 +252,11 @@
</div>
<div id="options-attribution-owners">
</div>
<div class="options-label">
Citations
</div>
<div id="options-attribution-citations">
</div>
<div class="options-label">
Source
</div>


+ 20
- 0
macrovision.js 查看文件

@@ -1647,10 +1647,12 @@ function displayAttribution(file) {
document.querySelector("#options-attribution").style.display = "inline";
const authors = authorsOfFull(file);
const owners = ownersOfFull(file);
const citations = citationsOf(file);
const source = sourceOf(file);

const authorHolder = document.querySelector("#options-attribution-authors");
const ownerHolder = document.querySelector("#options-attribution-owners");
const citationHolder = document.querySelector("#options-attribution-citations");
const sourceHolder = document.querySelector("#options-attribution-source");

if (authors === []) {
@@ -1717,6 +1719,24 @@ function displayAttribution(file) {

}

if (citations === [] || citations === undefined) {

} else {
citationHolder.innerHTML = "";

const list = document.createElement("ul");
citationHolder.appendChild(list);
citations.forEach(citation => {
const citationEntry = document.createElement("li");
const link = document.createElement("a");
link.style.display = "block";
link.href = citation;
link.innerText = new URL(citation).host;
citationEntry.appendChild(link);
list.appendChild(citationEntry);
})
}

if (source === null) {
const div = document.createElement("div");
div.innerText = "No link";


+ 44
- 0
media/attribution.js 查看文件

@@ -1121,7 +1121,29 @@ const attributionData = {
prefix: "./media/buildings/road-markings/",
files: [
{ name: "compact-parking-space.svg", source: null },
],
authors: [
"chemicalcrux"
],
citations: [
"https://www.cityofalbany.net/images/stories/planning/development_code/09-Article%209-On-Site%20Development%20and%20Environmental%20Standards.pdf"
]
},
{
prefix: "./media/buildings/road-markings/",
files: [
{ name: "crosswalk.svg", source: null },
],
authors: [
"chemicalcrux"
],
citations: [
"https://gis.penndot.gov/BPR_PDF_FILES/Documents/LTAP/TechSheets/TS_193.pdf"
]
},
{
prefix: "./media/buildings/road-markings/",
files: [
{ name: "line.svg", source: null },
{ name: "broken-line.svg", source: null },
{ name: "dotted-line.svg", source: null },
@@ -1129,6 +1151,9 @@ const attributionData = {
authors: [
"chemicalcrux"
],
citations: [
"https://mutcd.fhwa.dot.gov/pdfs/2003/Ch3.pdf"
]
},
{
prefix: "./media/buildings/skyscrapers/",
@@ -21246,6 +21271,7 @@ function prepareAttribution() {
attribution.prefixes[citation.prefix] = {
authors: citation.authors,
owners: citation.owners,
citations: citation.citations,
source: citation.all
}
} else {
@@ -21253,6 +21279,7 @@ function prepareAttribution() {
attribution.files[citation.prefix + file.name] = {
authors: citation.authors,
owners: citation.owners,
citations: citation.citations,
source: file.source,
nsfw: file.nsfw
}
@@ -21353,6 +21380,23 @@ function ownersOfFull(file) {
}
}

function citationsOf(file) {
if (attribution.files[file])
return attribution.files[file].citations;
else {
const found = attribution.prefixes[Object.keys(attribution.prefixes).find(path => {
return (file.indexOf(path) == 0);
})];


if (found === undefined) {
return undefined;
} else {
return found.citations;
}
}
}

function sourceOf(file) {
if (attribution.files[file])
return attribution.files[file].source;


正在加载...
取消
保存