vendor: 2 bytes, line 1
1
2<script> 3 // Move overflowing .dropdown__menu elements into the viewport as they otherwise mess up the mobile layout. 4 window.addEventListener('load', function() { 5 document.body.addEventListener('mouseover', function(event) { 6 var hoverTip = event.target.closest('.hoverTip'); 7 if (hoverTip) { 8 hoverTip.querySelectorAll('.dropdown__menu').forEach(function(menu) { 9 var preShowWidth = window.innerWidth; 10 menu.style.maxWidth = preShowWidth - 16 + 'px'; 11 menu.style.left = ''; 12 menu.style.display = 'block'; 13 var rect = menu.getBoundingClientRect(); 14 var overflow = rect.right - preShowWidth; 15 menu.style.left = overflow > 0 ? (-overflow - 8) + 'px' : ''; 16 }); 17 } 18 }); 19 }); 20</script>
20<!doctype html> 21<html lang="en" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default"> 22<head> 23<link rel="stylesheet" href="/blog/assets/css/styles.3a042fc8.css"> 24<link href="/base.min.css?v=1713343445" rel="stylesheet" type="text/css" /> 25<link href="/blog.min.css?v=1748351140" rel="stylesheet" type="text/css" /> 26<link rel="shortcut icon" href="/favicon.ico?v=1694716108" type="image/ico"> 27<style type="text/css"> 28 /* open-sans-300 - latin */ 29 @font-face { 30 font-family: 'Open Sans'; 31 font-style: normal; 32 font-weight: 300; 33 src: url('/fonts/open-sans-v17-latin-300.eot'); /* IE9 Compat Modes */ 34 src: local('Open Sans Light'), local('OpenSans-Light'), 35 url('/fonts/open-sans-v17-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 36 url('/fonts/open-sans-v17-latin-300.woff2') format('woff2'), /* Super Modern Browsers */ 37 url('/fonts/open-sans-v17-latin-300.woff') format('woff'), /* Modern Browsers */ 38 url('/fonts/open-sans-v17-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */ 39 url('/fonts/open-sans-v17-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */ 40 } 41 42 /* open-sans-regular - latin */ 43 @font-face { 44 font-family: 'Open Sans'; 45 font-style: normal; 46 font-weight: 400; 47 src: url('//fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */ 48 src: local('Open Sans Regular'), local('OpenSans-Regular'), 49 url('/fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 50 url('/fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ 51 url('/fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */ 52 url('/fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 53 url('/fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ 54 } 55 56 /* open-sans-700 - latin */ 57 @font-face { 58 font-family: 'Open Sans'; 59 font-style: normal; 60 font-weight: 700; 61 src: url('/fonts/open-sans-v17-latin-700.eot'); /* IE9 Compat Modes */ 62 src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), 63 url('/fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 64 url('/fonts/open-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ 65 url('/fonts/open-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */ 66 url('/fonts/open-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ 67 url('/fonts/open-sans-v17-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */ 68 } 69</style> 70 71<meta name="viewport" content="width=device-width"> 72<meta charset="UTF-8"> 73<meta name="keywords" content="PureRef, reference image viewer, reference, image, viewer, image viewer, photo viewer, referenceviewer, puref, image management, slim, lightweight, unbloated, program, 3D, graphics, simple, reference pictures"> 74<meta name="description" content="PureRef, the simple reference image viewer."> 75 76 <meta name="facebook-domain-verification" content="glm6yt35r695cppyr9tya2sy76atj5" /> 77<link rel="stylesheet" type="text/css" href="/styles/cookieconsent.min.css" />
78<script src="/scripts/cookieconsent.min.js"></script>
vendor: 2 bytes, line 78
78
79<script> 80window.addEventListener("load", function() 81{ 82 if (window.cookieconsent && window.cookieconsent.initialise) { 83 window.cookieconsent.initialise({ 84 "palette": { 85 "popup": { 86 "background": "#030308" 87 } 88 }, 89 "content": { 90 "message": "We use cookies to ensure you get the best experience on our website.", 91 "href": "/privacy_policy.php" 92 } 93 }); 94 } 95}); 96</script>
vendor: 2 bytes, line 96
96
97<script src="/scripts/jquery-3.6.0.min.js"></script>
vendor: 2 bytes, line 97
97
98<script src="/scripts/jquery-ui-easings-1.13.2.min.js"></script>
vendor: 2 bytes, line 98
98
99<script src="/scripts/jquery.validate.min.js"></script>
vendor: 2 bytes, line 99
99
100<script type="text/javascript"> 101 "use strict"; 102 103 var isMobile = function() { 104 return /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent); 105 }; 106 if (isMobile()) { 107 $("html").addClass("mobile"); 108 } 109 110 $.validator.setDefaults({ 111 showErrors: function(map, list) { 112 this.currentElements.removeAttr("title").removeClass("error"); 113 $.each(list, function(index, error) { 114 $(error.element).attr("title", error.message).addClass("error"); 115 }); 116 } 117 }); 118 119 $(function() { 120 var originalHeaderHeight = $('#navbar').height(); 121 var adjustHeader = function () { 122 if ($(window).scrollTop() > originalHeaderHeight) { 123 $('#navbar').addClass('fixed'); 124 } 125 else { 126 $('#navbar').removeClass('fixed'); 127 } 128 }; 129 adjustHeader(); 130 $(window).scroll(function() { 131 adjustHeader(); 132 }); 133 134 $("body").show(); 135 136 if (window.cookieconsent && window.cookieconsent.utils) { 137 window.cookieconsent.utils.isMobile = function() {return false;}; 138 } 139 }); 140 141 $.ajaxSetup({ 142 cache: true 143 }); 144</script>
144 145<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Blog | PureRef RSS Feed"> 146<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Blog | PureRef Atom Feed"><title data-rh="true">Blog | PureRef</title><meta data-rh="true" property="og:title" content="Blog | PureRef"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://www.pureref.com/blog/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="description" content="Blog"><meta data-rh="true" property="og:description" content="Blog"><meta data-rh="true" name="docusaurus_tag" content="blog_posts_list"><meta data-rh="true" name="docsearch:docusaurus_tag" content="blog_posts_list"><link data-rh="true" rel="canonical" href="https://www.pureref.com/blog/"><link data-rh="true" rel="alternate" href="https://www.pureref.com/blog/" hreflang="en"><link data-rh="true" rel="alternate" href="https://www.pureref.com/blog/" hreflang="x-default">
146<script data-rh="true">function maybeInsertBanner(){window.__DOCUSAURUS_INSERT_BASEURL_BANNER&&insertBanner()}function insertBanner(){var n=document.getElementById("docusaurus-base-url-issue-banner-container");if(n){n.innerHTML='\n<div id="docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseurl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/blog/</span> </p>\n <p>We suggest trying baseUrl = <span id="docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n';var e=document.getElementById("docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,r="/"===s.substr(-1)?s:s+"/";e.innerHTML=r}}window.__DOCUSAURUS_INSERT_BASEURL_BANNER=!0,document.addEventListener("DOMContentLoaded",maybeInsertBanner)</script>
146<script id="versions" type="application/json"> 147["2.1","2.0","1.11","1.10"]</script>
147 148<link rel="preload" href="/blog/assets/js/runtime~main.11c0e641.js" as="script"> 149<link rel="preload" href="/blog/assets/js/main.00dd0a87.js" as="script"> 150</head> 151<body class="navigation-with-keyboard"> 152 153<div class="wrapper" id="blog"> 154 <header id="navbar"> 155 <div id="headerWrapper"> 156 <a href="/index.php" id="logo"> 157 <img src="/images/PureRef.svg"> 158 </a> 159 <div id="menuToggle"> 160 <input type="checkbox" /> 161 <div class="ham" id="ham1"></div> 162 <div class="ham" id="ham2"></div> 163 <div class="ham" id="ham3"></div> 164 <div id="nav"> 165 <span id="home" class="navbutton"> 166 <a href="/index.php" class="button"> 167 Home 168 </a> 169 </span> 170 <span class="navbutton"> 171 <a id="downloadNavButton" href="/download.php" class="button"> 172 Download 173 </a> 174 </span> 175 <span class="navbutton"> 176 <a href="/forum" class="button"> 177 Forum 178 </a> 179 </span> 180 <span class="navbutton"> 181 <a href="/support.php" class="button"> 182 Support 183 </a> 184 </span> 185 </div> 186 </div> 187 </div> 188 </header> 189 <div class="contentWrapper"> 190<div class="section"> 191<div class="sectionContent"> 192<a href="/blog/"><h1 class="pageTitle">Blog</h1></a>
193<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script>
193<div id="__docusaurus"> 194<div id="docusaurus-base-url-issue-banner-container"></div><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><a class="navbar__brand" href="/blog/"></a></div><div class="navbar__items navbar__items--right"><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><main class="col col--9 col--offset-1" itemscope="" itemtype="http://schema.org/Blog"><nav class="pagination-nav" aria-label="Blog list page navigation"></nav></main></div></div></div></div>
195<script src="/blog/assets/js/runtime~main.11c0e641.js"></script>
vendor: 1 bytes, line 195
195
196<script src="/blog/assets/js/main.00dd0a87.js"></script>
196 197</div> 198</div> 199 </div> 200 <footer> 201 <div id="footerWrapper"> 202 <div id="footerLinks"> 203 <div> 204 <h3 class="chevronright"> 205 Support 206 </h3> 207 <div> 208 <a href="/forum"><h6>Forum</h6></a> 209 <a href="/handbook"><h6>Handbook</h6></a> 210 <a href="/handbook/shortcuts/all-shortcuts"><h6>Keyboard shortcuts</h6></a> 211 <a href="/support.php#faq"><h6>F.A.Q</h6></a> 212 <a href="/support.php#contact"><h6>Contact us</h6></a> 213 </div> 214 </div> 215 <div> 216 <h3 class="chevronright"> 217 Download 218 </h3> 219 <div> 220 <a href="/download.php?forcePlatform=windows"><h6>Windows</h6></a> 221 <a href="/download.php?forcePlatform=mac"><h6>Mac</h6></a> 222 <a href="/download.php?forcePlatform=linux"><h6>Linux</h6></a> 223 <a id="changelogFooterLink" href="/changelog.php"><h6>Changelog</h6></a> 224 </div> 225 </div> 226 <div> 227 <h3 class="chevronright"> 228 About us 229 </h3> 230 <div> 231 <a href="/blog"><h6>Blog</h6></a> 232 <a href="/support_us.php"><h6>Support us â¥</h6></a> 233 <a href="/about_us.php"><h6>About PureRef</h6></a> 234 <a href="/privacy_policy.php"><h6>Privacy Policy</h6></a> 235 <a href="/license.php"><h6>License Agreement</h6></a> 236 <a target="_blank" rel="nofollow noopener noreferrer" href="http://idyllicpixel.com"><h6>Idyllic Pixel</h6></a> 237 <a target="_blank" rel="nofollow noopener noreferrer" href="http://cookie
237s.insites.com/"><h6>Cookies</h6></a> 238 </div> 239 </div> 240 <div> 241 <h3 class="chevronright"> 242 Connect 243 </h3> 244 <div id="social"> 245 <a target="_blank" rel="nofollow noopener noreferrer" href="https://www.facebook.com/Pureref"><img src="/images/facebook.svg"></a> 246 <a target="_blank" rel="nofollow noopener noreferrer" href="https://twitter.com/PureRef"><img src="/images/twitter.svg"></a> 247 <a target="_blank" rel="nofollow noopener noreferrer" href="https://www.youtube.com/channel/UC_mQmVruXH3-lq9qkcUiDZg"><img src="/images/youtube.png"></a> 248 </div> 249 </div> 250 </div> 251 <div id="newsletterSubscribe"> 252 <form action="https://idyllicpixel.us15.list-manage.com/subscribe/post" method="post" target="_blank" rel="nofollow noopener noreferrer"> 253 <input type="hidden" name="u" value="99709407cebd0ca870dce21ad"> 254 <input type="hidden" name="id" value="0a780352af"> 255 <input type="hidden" name="group[6357][1]" value="1" checked> 256 <p>Subscribe to Idyllic Pixel's newsletter for news</p> 257 <div id="subscribe"> 258 <input value="" autocapitalize="off" autocorrect="off" name="MERGE0" placeholder="Enter your e-mail address" required="" type="email"> 259 <input value="Subscribe" name="subscribe" type="submit"> 260 </div> 261 </form> 262 </div> 263 </div> 264 <h6 id="copyright"> 265 Copyright © 2026 <a href="http://idyllicpixel.com">Idyllic Pixel</a> 266 </h6> 267
267<script type="text/javascript"> 268 $(document).ready(function () { 269 var footerCategories = $('footer #footerWrapper #footerLinks > div h3'); 270 var openCategories = function(categories) { 271 for (let cat of categories) { 272 var elem = $(cat); 273 if (elem.next().css('display') == 'none') { 274 elem.next().css("display", "flex").hide().slideToggle('fast'); 275 elem.addClass('openFooterCategory'); 276 } 277 } 278 } 279 var closeCategories = function(categories) { 280 for (let cat of categories) { 281 var elem = $(cat); 282 var div = elem.next(); 283 if (div[0].hasAttribute("style") && div.css('display') != 'none') { 284 div.css("display", "flex").slideToggle('fast', function() { 285 $(this).removeAttr("style"); 286 }); 287 elem.removeClass('openFooterCategory'); 288 } 289 } 290 } 291 footerCategories.click(function() { 292 var elem = $(this); 293 if (elem.next().css('display') == 'none') { 294 var self = this; 295 var cats = jQuery.grep(footerCategories, function(value) { 296 return value != self; 297 });
298 closeCategories(cats); 299 openCategories(elem); 300 } 301 else 302 { 303 closeCategories(footerCategories); 304 } 305 }); 306 }); 307 </script>
307 308 </footer> 309 </div> 310 <!-- Matomo --> 311
311<script> 312 var _paq = window._paq = window._paq || []; 313 /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 314 _paq.push(['trackPageView']); 315 _paq.push(['enableLinkTracking']); 316 (function() { 317 var u="https://matomo.pureref.com/"; 318 _paq.push(['setTrackerUrl', u+'matomo.php']); 319 _paq.push(['setSiteId', '1']); 320 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 321 g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 322 })(); 323 </script>
323 324 <noscript><p><img src="https://matomo.pureref.com/matomo.php?idsite=1&rec=1" style="border:0;" alt="" /></p></noscript> 325 <!-- End Matomo Code --> 326 </body> 327</html> 328</body> 329</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.