mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-03 19:17:02 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* vim:fileencoding=utf-8
 | 
						|
 * 
 | 
						|
 * Copyright (C) 2019 Kovid Goyal <kovid at kovidgoyal.net>
 | 
						|
 *
 | 
						|
 * Distributed under terms of the GPLv3 license
 | 
						|
 */
 | 
						|
 | 
						|
(function() {
 | 
						|
    "use strict";
 | 
						|
 | 
						|
    var num_tries = 0;
 | 
						|
 | 
						|
    function fix_google_markup() {
 | 
						|
        var cc = document.getElementById('center_col');
 | 
						|
        var max_width = 'calc(100vw - 25px)';
 | 
						|
        if (!cc) {
 | 
						|
            if (++num_tries > 10) return;
 | 
						|
            setTimeout(fix_google_markup, 100);
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        cc.style.maxWidth = max_width;
 | 
						|
        cc.style.marginLeft = '0';
 | 
						|
        var rcnt = document.getElementById('rcnt');
 | 
						|
        if (rcnt) rcnt.style.marginLeft = '0';
 | 
						|
        cc = document.getElementById('cnt');
 | 
						|
        if (cc) cc.style.paddingTop = '0';
 | 
						|
        var s = document.getElementById('search');
 | 
						|
        if (s) s.style.maxWidth = max_width;
 | 
						|
        var params = new URLSearchParams(document.location.search.substring(1));
 | 
						|
        var q = params.get('q');
 | 
						|
        if (q && q.startsWith('define:')) {
 | 
						|
            cc.style.position = 'absolute';
 | 
						|
            cc.style.top = '0';
 | 
						|
            cc.style.left = '0';
 | 
						|
            var remove = ['sfcnt', 'top_nav', 'before-appbar', 'appbar', 'searchform', 'easter-egg', 'topstuff'];
 | 
						|
            remove.forEach(function(id) {
 | 
						|
                var elem = document.getElementById(id);
 | 
						|
                if (elem) elem.style.display = 'none';
 | 
						|
            });
 | 
						|
            // make definitions text wrap
 | 
						|
            document.querySelectorAll('[data-topic]').forEach(function(elem) { elem.style.maxWidth = max_width; });
 | 
						|
        }
 | 
						|
        var promo = document.getElementById('promos');
 | 
						|
        if (promo) promo.parentNode.removeChild(promo);
 | 
						|
 | 
						|
        // make search results wrap
 | 
						|
        document.querySelectorAll('[data-ved]').forEach(function(elem) { elem.style.maxWidth = max_width; });
 | 
						|
 | 
						|
        // the above wrapping causing overlapping text of the 
 | 
						|
        // search results and the citation, fix that
 | 
						|
        document.querySelectorAll('cite').forEach(function(elem) { 
 | 
						|
            var d = elem.closest('div');
 | 
						|
            if (d) d.style.position = 'static';
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    if (window.location.hostname === 'www.google.com') {
 | 
						|
        window.addEventListener('DOMContentLoaded', fix_google_markup);
 | 
						|
    }
 | 
						|
})();
 |