-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
171 lines (156 loc) · 8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rave Book Search</title>
<link rel="stylesheet" href="css/index.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<meta name="description" content="Find the safest free download links to your favorite eBooks and Audiobooks">
<meta name="keywords" content="eBooks, Audiobooks, free download links">
<meta name="author" content="Rave Book Search">
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow">
<meta property="og:title" content="Rave Book Search">
<meta property="og:description" content="Find the safest free download links to your favorite eBooks and Audiobooks">
<meta property="og:image" content="https://ravebooksearch.com/img/ravesearch.png">
<meta property="og:url" content="https://ravebooksearch.com/">
<meta property="og:type" content="website">
<meta name="twitter:title" content="Rave Book Search">
<meta name="twitter:description" content="Find the safest free download links to your favorite eBooks and Audiobooks">
<meta name="twitter:image" content="https://ravebooksearch.com/img/ravesearch.png">
<meta name="twitter:card" content="summary_large_image">
<link href="img/favicon.png" rel="shortcut icon">
</head>
<body>
<div class="container">
<!-- Engine Switcher -->
<div class="engine-swticher">
<a href="https://ravegamesearch.pages.dev">Game Search</a>
<a href="https://ravebooksearch.com">> Book Search</a>
<a href="https://ravesoftwaresearch.pages.dev">Software Search</a>
</div>
<!-- Mobile engine switcher -->
<div class="toggle-container">
<a href="https://ravegamesearch.pages.dev" class="toggle-btn">Games</a>
<a href="https://ravebooksearch.com" id="primary" class="toggle-btn">Books</a>
<a href="https://ravesoftwaresearch.pages.dev" class="toggle-btn">Software</a>
</div>
<!-- Notification Centre -->
<div class="engine-swticher-2">
<!-- First Item: Donation message and button-->
<div class="item">
<div id="donate-button-container">
<a class="tips">If you think this website has helped you, please consider donating...</a>
<div id="donate-button"></div>
<!-- Script for Donation button, provided by PayPal -->
<script src="https://www.paypalobjects.com/donate/sdk/donate-sdk.js" charset="UTF-8"></script>
<script>
PayPal.Donation.Button({
env:'production',
hosted_button_id:'XMFZ3K79YGDFG',
image: {
src:'https://www.paypalobjects.com/en_GB/i/btn/btn_donate_SM.gif',
alt:'Donate with PayPal button',
title:'PayPal - The safer, easier way to pay online!',
}
}).render('#donate-button');
</script>
</div>
<span class="close-btn">X</span>
</div>
<div class="item">
<span>It is recommended to use an AdBlocker such as uBlock Origin when visiting download pages.</span>
<span class="close-btn">X</span>
</div>
<div class="item">
<span>If the search result is a website homepage, it indicates that the website hosts the book, and you may need to search within the site to locate the download page.</span>
<span class="close-btn">X</span>
</div>
<div class="item">
<span>For more precise results, include the Author Name and prefixes such as 'The' and 'A' with the Book Titles</span>
<span class="close-btn">X</span>
</div>
</div>
<!-- Notification Centre javascript, controls cross-refresh hiding of items -->
<script>
document.addEventListener("DOMContentLoaded", function() {
// Retrieve hidden items from localStorage
let hiddenItems = JSON.parse(localStorage.getItem("hiddenItems")) || [];
// Get all items
const items = document.querySelectorAll(".engine-swticher-2 .item");
// Loop through items and add 'hidden' class if in hiddenItems array
items.forEach(item => {
if (hiddenItems.includes(item.textContent.trim())) {
item.classList.add("hidden");
}
});
// Add click event listener to close buttons
const closeButtons = document.querySelectorAll(".engine-swticher-2 .close-btn");
closeButtons.forEach(button => {
button.addEventListener("click", function() {
const item = this.parentNode;
item.classList.add("hidden");
// Add item text to hiddenItems array
const itemName = item.textContent.trim();
if (!hiddenItems.includes(itemName)) {
hiddenItems.push(itemName);
}
// Save updated hiddenItems array to localStorage
localStorage.setItem("hiddenItems", JSON.stringify(hiddenItems));
});
});
});
</script>
<!-- Search Box -->
<div class="maindiv">
<div class="searchlogo">
<img id="searchlogo" class="searchlogo" src="img/search-logo.png" onclick="location.href='index.html';">
<!-- Script to cycle between banner images with a fade effect in between -->
<script>
var images = ['img/search-logo.png', 'img/search-logo-2.png'];
var index = 0;
var logo = document.getElementById("searchlogo");
function changeImage() {
logo.style.opacity = 0; // Start fade out
setTimeout(function() {
index = (index + 1) % images.length; // Loop back to the first image
logo.src = images[index];
logo.style.opacity = 1; // Fade back in
}, 1000); // Match this timeout with the CSS transition duration
}
setInterval(changeImage, 6000); // Changes image every 6 seconds
</script>
<script>
(function() {
var cx = "001315572920893299880:mcnnf1udq8e";
var gcse = document.createElement("script");
gcse.type = "text/javascript";
gcse.async = true;
gcse.src = "https://cse.google.com/cse.js?cx=" + cx;
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(gcse, s);
})();
window.onload = function()
{
var searchBox = document.getElementById("gsc-i-id1");
searchBox.placeholder="Search for your favourite eBooks";
searchBox.title="Rave Book Search Engine";
}
</script>
<gcse:search class="searchbox"></gcse:search>
<div class="bookswitch">
<a href="index-audiobooks.html" class="bookswitch">Switch to Audiobook Search ></a>
</div>
</div>
</div>
<!-- Games Found Counter -->
<div class="games-found">
<a></a>
</div>
<!-- Terms of Use, Privacy Policy and GitHub Link -->
<div class="terms">
<a href="https://github.com/IdleEndeavor/booksearch">GitHub</a>
</div>
</body>
</html>