Files
grecia/vendor/assets/javascripts/annotator.document.min.js
2015-12-16 11:45:46 +01:00

12 lines
4.4 KiB
JavaScript

/*
** Annotator v2.0.0-alpha.3-6a22d86
** https://github.com/okfn/annotator/
**
** Copyright 2015, the Annotator project contributors.
** Dual licensed under the MIT and GPLv3 licenses.
** https://github.com/okfn/annotator/blob/master/LICENSE
**
** Built at: 2015-07-03 04:09:40Z
*/
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){(function(global){"use strict";var annotator=typeof window!=="undefined"?window.annotator:typeof global!=="undefined"?global.annotator:null;var util=annotator.util;var $=util.$;function isEmpty(obj){if(typeof obj==="undefined"||obj===null){return true}for(var k in obj){if(obj.hasOwnProperty(k)){return false}}return true}function absoluteUrl(url){var d=global.document.createElement("a");d.href=url;return d.href}function getMetaTags(prefix,attribute,delimiter){var tags={},matchRe=new RegExp("^"+prefix+delimiter+"(.+)$","i");$("meta").each(function(_,meta){var name=$(meta).attr(attribute),content=$(meta).prop("content");if(name){var match=name.match(matchRe);if(match){var n=match[1];if(tags[n]){tags[n].push(content)}else{tags[n]=[content]}}}});return tags}function getHighwire(){return getMetaTags("citation","name","_")}function getFacebook(){return getMetaTags("og","property",":")}function getTwitter(){return getMetaTags("twitter","name",":")}function getDublinCore(){return getMetaTags("dc","name",".")}function getPrism(){return getMetaTags("prism","name",".")}function getEprints(){return getMetaTags("eprints","name",".")}function getFavicon(){var result=null;$("link").each(function(_,link){var rel=$(link).prop("rel");if(rel==="shortcut icon"||rel==="icon"){result=absoluteUrl(link.href);return}});return result}function getTitle(d,keys){for(var i=0,len=keys.length;i<len;i++){var k=keys[i];if(!d.hasOwnProperty(k)){continue}if(!d[k].hasOwnProperty("title")){continue}if(d[k].title.length===0){continue}return d[k].title[0]}return global.document.title}function getLinks(){var results=[{href:global.document.location.href}];$("link").each(function(_,link){var $l=$(link),rel=$l.prop("rel");if(!(rel==="alternate"||rel==="canonical"||rel==="shortlink"||rel==="bookmark")){return}var type=$l.prop("type"),lang=$l.prop("hreflang");if(rel==="alternate"){if(type&&type.match(/^application\/(rss|atom)\+xml/)){return}if(lang){return}}var href=absoluteUrl($l.prop("href"));results.push({href:href,rel:rel,type:type})});return results}function getHighwireLinks(meta){var i,len,results=[];var dois=meta.doi;if(typeof dois!=="undefined"&&dois!==null){for(i=0,len=dois.length;i<len;i++){var doi=dois[i];if(doi.slice(0,4)!=="doi:"){doi="doi:"+doi}results.push({href:doi})}}var urls=meta.pdf_url;if(typeof urls!=="undefined"&&urls!==null){for(i=0,len=urls.length;i<len;i++){results.push({href:absoluteUrl(urls[i]),type:"application/pdf"})}}return results}function getDublinCoreLinks(meta){var results=[];var ident=meta.identifier;if(typeof ident!=="undefined"&&ident!==null){for(var i=0,len=ident.length;i<len;i++){if(ident[i].slice(0,4)==="doi:"){results.push({href:ident[i]})}}}return results}var METADATA_FIELDS={dc:getDublinCore,eprints:getEprints,facebook:getFacebook,highwire:getHighwire,prism:getPrism,twitter:getTwitter};var METADATA_TITLE_ORDER=["highwire","eprints","prism","facebook","twitter","dc"];function getDocumentMetadata(){var out={};for(var name in METADATA_FIELDS){var result=METADATA_FIELDS[name]();if(!isEmpty(result)){out[name]=result}}var favicon=getFavicon();if(favicon){out.favicon=favicon}out.title=getTitle(out,METADATA_TITLE_ORDER);var link=getLinks();if("highwire"in out){link=link.concat(getHighwireLinks(out.highwire))}if("dc"in out){link=link.concat(getDublinCoreLinks(out.dc))}if(link.length>0){out.link=link}return out}var doc=function(){var metadata=getDocumentMetadata();return{beforeAnnotationCreated:function(ann){ann.document=JSON.parse(JSON.stringify(metadata))}}};annotator.ext.document=doc;exports.document=doc;exports.absoluteUrl=absoluteUrl;exports.getDocumentMetadata=getDocumentMetadata}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}]},{},[1]);