THE VILLAINESS IS ADORED BY THE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<style>
body {
font-family: Arial, sans-serif;
padding: 2rem;
background: #f0f4f8;
}
h1 {
color: #2c3e50;
margin-bottom: 1rem;
}
a.tag {
display: block;
margin: 5px 0;
font-size: 14px;
color: #0000ee;
text-decoration: underline;
}
a.tag:hover {
color: #551A8B;
}
</style>
</head>
<body>
<div id="result" style="margin-top: 20px;"></div>
<script>
const count = 100;
const language = 'en';
const minLength = 0; // poți crește limitele dacă vrei să păstrezi titluri mai lungi
const maxLength = 0;
const linkBases = [
'https://headlines-world.com/search.html?q=',
'https://aepiot.com/search.html?q=',
'https://aepiot.ro/search.html?q=',
'https://allgraph.ro/search.html?q=',
'https://search.headlines-world.com/search.html?q=',
'https://search.aepiot.com/search.html?q=',
'https://search.aepiot.ro/search.html?q=',
'https://search.allgraph.ro/search.html?q='
];
const customLinks = [
`<p><a href="https://www.sheetmusicplus.com?aff_id=541503" target="_blank" class="tag">SHEET MUSIC</a></p>`,
`<p><a href="https://realitatea.net" target="_blank" class="tag">NEWS</a></p>`,
`<p><a href="https://realitatea.net/live" target="_blank" class="tag">LIVE TV</a></p>`,
`<p><a href="https://wikipedia.org" target="_blank" class="tag">WIKIPEDIA</a></p>`,
`<p><a href="https://ladys.ro?affId=PIFlOq3T" target="_blank" class="tag">BEAUTY</a></p>`,
`<p><a href="https://ladys.ro/parfumuri-c-12.html?affId=PIFlOq3T" target="_blank" class="tag">FRAGRANCES</a></p>`,
`<p><a href="https://ladys.ro/cosmetice-c-366.html?affId=PIFlOq3T" target="_blank" class="tag">COSMETICS</a></p>`,
`<p><a href="https://ladys.ro/terapeutice-c-367.html?affId=PIFlOq3T" target="_blank" class="tag">THERAPEUTIC</a></p>`,
`<p><a href="https://ladys.ro/accesorii-c-1.html?affId=PIFlOq3T" target="_blank" class="tag">ACCESSORIES</a></p>`,
`<p><a href="https://ladys.ro/aromaterapie-c-853.html?affId=PIFlOq3T" target="_blank" class="tag">AROMATHERAPY</a></p>`,
`<p><a href="https://ladys.ro/noutati-c-368.html?affId=PIFlOq3T" target="_blank" class="tag">NEW</a></p>`,
`<p><a href="https://ladys.ro/catalog-c-3.html?affId=PIFlOq3T" target="_blank" class="tag">CATALOG</a></p>`,
`<p><a href="https://ladys.ro/castig_simplu_rapid_prin_Programul_de_afiliere_Ladys.php?affId=PIFlOq3T" target="_blank" class="tag">BUSINESS</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/category/ensembles/band-and-orchestra/?aff_id=541503" target="_blank" class="tag">BAND ORCHESTRA</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/choir-and-voice.html?aff_id=541503" target="_blank" class="tag">CHOIR VOICE</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/piano-and-keyboard.html?aff_id=541503" target="_blank" class="tag">PIANO KEYBOARD METHODS</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/instrumental-landing.html?aff_id=541503" target="_blank" class="tag">INSTRUMENTAL MUSIC</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/category/genres/?aff_id=541503" target="_blank" class="tag">GENRE MUSICAL</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/category/formats/musical-instruments/?aff_id=541503" target="_blank" class="tag">INSTRUMENTS MUSICAL</a></p>`,
`<p><a href="https://www.sheetmusicplus.com/en/digital-downloads.html?aff_id=541503" target="_blank" class="tag">DIGITAL DOWNLOADS</a></p>`
];
function shuffle(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
async function generateTags(count, language, minLength, maxLength) {
const result = document.getElementById("result");
result.innerHTML = "";
const apiUrl = `https://${language}.wikipedia.org/w/api.php?action=query&list=recentchanges&rcnamespace=0&rclimit=${count}&rcprop=title|timestamp&rctype=edit&format=json&origin=*`;
try {
const response = await fetch(apiUrl);
const data = await response.json();
const titles = data.query.recentchanges.map(item => item.title);
const tags = [];
/* --- MODIFICAREA ESENȚIALĂ --- */
titles.forEach(title => {
const tag = title
.replace(/[^\p{L}\d\s]/gu, ' ') // înlocuiește semnele cu spațiu
.replace(/\s+/g, ' ') // normalizează spațiile multiple
.toUpperCase()
.trim();
if (
tag.length >= minLength &&
(maxLength === 0 || tag.length <= maxLength)
) {
tags.push(tag);
}
});
/* -------------------------------- */
const uniqueTags = [...new Set(tags)];
if (uniqueTags.length) {
let tagLinks = [];
uniqueTags.forEach((tag, index) => {
const randomLinkBase = linkBases[Math.floor(Math.random() * linkBases.length)];
tagLinks.push(`<p><a href="${randomLinkBase + encodeURIComponent(tag)}" target="_self" class="tag">${tag}</a></p>`);
if (index === 0) {
tagLinks.push(`<p><a href="${randomLinkBase + encodeURIComponent(tag)}" target="_blank" class="tag">${randomLinkBase + encodeURIComponent(tag)}</a></p>`);
}
});
const insertMin = 2;
const insertMax = Math.max(tagLinks.length - 2, 2);
const positions = [];
while (positions.length < customLinks.length) {
const pos = insertMin + Math.floor(Math.random() * (insertMax - insertMin + 1));
if (!positions.includes(pos)) positions.push(pos);
}
const shuffledCustomLinks = shuffle([...customLinks]);
positions.sort((a, b) => a - b);
positions.forEach((pos, i) => {
tagLinks.splice(pos + i, 0, shuffledCustomLinks[i]);
});
result.innerHTML = tagLinks.join(' ');
} else {
result.innerHTML = "<p>No relevant tags found.</p>";
}
} catch (err) {
console.error(err);
result.innerHTML = "<p>Error loading data.</p>";
}
}
window.addEventListener('DOMContentLoaded', () => {
generateTags(count, language, minLength, maxLength);
});
</script>
<p><a href="https://instapaper.com/p/15869302" target="_blank" class="tag">INSTAPAPER</a></p>
<p><a href="https://instapaper.com/p/15869302" target="_blank" class="tag">https://instapaper.com/p/15869302</a></p>
<p>Discover Fresh Ideas in the Universe of aéPiot</p>
<a id="output" href="#" target="_self" style="color: #888; text-decoration: none;">aéPiot</a>
<script>
document.addEventListener("DOMContentLoaded", function () {
var now = new Date();
var year = now.getFullYear();
var day = now.getDate();
var month = now.getMonth() + 1;
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var domains = [
'headlines-world.com',
'aepiot.com',
'aepiot.ro',
'allgraph.ro'
];
var domain = domains[Math.floor(Math.random() * domains.length)];
var subdomain = domain;
var link = 'https://' + subdomain;
var outputLink = document.getElementById('output');
outputLink.href = link;
outputLink.textContent = link;
});
</script>
</body>
</html>