Added metadata export
+Added basic metadata to the exported svg
This commit is contained in:
parent
6a04b5feec
commit
cfe28689ff
@ -1,5 +1,6 @@
|
||||
const Constants = {
|
||||
buildVersion: '1.6.2',
|
||||
originalPublicBuildUrl: 'https://maseuko.pl/soft/td2-visualizer-2/', // do NOT change
|
||||
map: {
|
||||
zoomSensitivity: 0.002,
|
||||
zoomMin: 0.03,
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import Constants from "./constants";
|
||||
|
||||
const applyStyles = ['fill', 'stroke', 'stroke-width', 'font-size', 'font-family', 'text-anchor', 'dominant-baseline'];
|
||||
|
||||
function processExportNode(svgNode, currentGroupStyles = {}) {
|
||||
@ -105,6 +107,23 @@ function serializeAndDownload(svgNode, filename) {
|
||||
URL.revokeObjectURL(url);
|
||||
}
|
||||
|
||||
function addMetadata(svg) {
|
||||
const metadata = document.createElementNS('http://www.w3.org/2000/svg', 'metadata');
|
||||
const rdf = document.createElementNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf:RDF');
|
||||
const description = document.createElementNS('http://purl.org/dc/elements/1.1/', 'dc:description');
|
||||
description.textContent = `Exported using TD2 Visualizer v${Constants.buildVersion}`;
|
||||
const source = document.createElementNS('http://purl.org/dc/elements/1.1/', 'dc:source');
|
||||
source.textContent = Constants.originalPublicBuildUrl;
|
||||
|
||||
rdf.appendChild(description);
|
||||
rdf.appendChild(source);
|
||||
metadata.appendChild(rdf);
|
||||
svg.appendChild(metadata);
|
||||
|
||||
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
|
||||
svg.setAttribute('version', '1.1');
|
||||
}
|
||||
|
||||
function exportSvg(filename) {
|
||||
const mapElement = document.getElementsByClassName('map')[0];
|
||||
if (!mapElement) return false;
|
||||
@ -119,8 +138,7 @@ function exportSvg(filename) {
|
||||
mapElement.appendChild(exportContainer);
|
||||
exportContainer.appendChild(svg);
|
||||
|
||||
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
|
||||
svg.setAttribute('version', '1.1');
|
||||
addMetadata(svg);
|
||||
processExportNode(svg);
|
||||
removeNonVisibleObjects(svg);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user