MCPcopy Create free account
hub / github.com/SpringRoll/SpringRoll / _addBaselineStyles

Function _addBaselineStyles

docs/assets/anchor.js:299–346  ·  view source on GitHub ↗

* _addBaselineStyles * Adds baseline styles to the page, used by all AnchorJS links irregardless of configuration.

()

Source from the content-addressed store, hash-verified

297 * Adds baseline styles to the page, used by all AnchorJS links irregardless of configuration.
298 */
299 function _addBaselineStyles() {
300 // We don't want to add global baseline styles if they've been added before.
301 if (document.head.querySelector('style.anchorjs') !== null) {
302 return;
303 }
304
305 var style = document.createElement('style'),
306 linkRule =
307 ' .anchorjs-link {' +
308 ' opacity: 0;' +
309 ' text-decoration: none;' +
310 ' -webkit-font-smoothing: antialiased;' +
311 ' -moz-osx-font-smoothing: grayscale;' +
312 ' }',
313 hoverRule =
314 ' *:hover > .anchorjs-link,' +
315 ' .anchorjs-link:focus {' +
316 ' opacity: 1;' +
317 ' }',
318 anchorjsLinkFontFace =
319 ' @font-face {' +
320 ' font-family: "anchorjs-icons";' + // Icon from icomoon; 10px wide & 10px tall; 2 empty below & 4 above
321 ' src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype");' +
322 ' }',
323 pseudoElContent =
324 ' [data-anchorjs-icon]::after {' +
325 ' content: attr(data-anchorjs-icon);' +
326 ' }',
327 firstStyleEl;
328
329 style.className = 'anchorjs';
330 style.appendChild(document.createTextNode('')); // Necessary for Webkit.
331
332 // We place it in the head with the other style tags, if possible, so as to
333 // not look out of place. We insert before the others so these styles can be
334 // overridden if necessary.
335 firstStyleEl = document.head.querySelector('[rel="stylesheet"], style');
336 if (firstStyleEl === undefined) {
337 document.head.appendChild(style);
338 } else {
339 document.head.insertBefore(style, firstStyleEl);
340 }
341
342 style.sheet.insertRule(linkRule, style.sheet.cssRules.length);
343 style.sheet.insertRule(hoverRule, style.sheet.cssRules.length);
344 style.sheet.insertRule(pseudoElContent, style.sheet.cssRules.length);
345 style.sheet.insertRule(anchorjsLinkFontFace, style.sheet.cssRules.length);
346 }
347 }
348
349 return AnchorJS;

Callers 1

AnchorJSFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected