mirror of
https://github.com/wassname/template.git
synced 2026-06-27 20:07:28 +08:00
56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
// Copyright 2018 The Distill Template Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
import ymlParse from "js-yaml";
|
|
|
|
export default function(dom, data) {
|
|
let localData = {};
|
|
let el = dom.querySelector('script[type="text/front-matter"]');
|
|
if (el) {
|
|
let text = el.textContent;
|
|
localData = ymlParse.safeLoad(text);
|
|
}
|
|
|
|
data.title = localData.title ? localData.title : "Untitled";
|
|
data.description = localData.description ? localData.description : "No description.";
|
|
|
|
data.authors = localData.authors ? localData.authors : [];
|
|
|
|
data.authors = data.authors.map((author, i) =>{
|
|
let a = {};
|
|
let name = Object.keys(author)[0];
|
|
if ((typeof author) === "string") {
|
|
name = author;
|
|
} else {
|
|
a.personalURL = author[name];
|
|
}
|
|
let names = name.split(" ");
|
|
a.name = name;
|
|
a.firstName = names.slice(0, names.length - 1).join(" ");
|
|
a.lastName = names[names.length -1];
|
|
if(localData.affiliations[i]) {
|
|
let affiliation = Object.keys(localData.affiliations[i])[0];
|
|
if ((typeof localData.affiliations[i]) === "string") {
|
|
affiliation = localData.affiliations[i]
|
|
} else {
|
|
a.affiliationURL = localData.affiliations[i][affiliation];
|
|
}
|
|
a.affiliation = affiliation;
|
|
}
|
|
return a;
|
|
});
|
|
|
|
|
|
}
|