-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the aleostube.github.io wiki!
<script type='application/ld+json'> { "@context": "https://schema.org", "@type": "Blog", "name": "Aleoโs Tube Daily Vlog Anak Rantau", "url": "https://aleos-tube-daily-vlog-anak-rantau.blogspot.com/", "author": { "@type": "Person", "name": "Aleoโs Tube" }, "description": "Vlog keseharian anak rantau yang berbagi cerita, hiburan, dan peluang bisnis afiliasi online.", "inLanguage": "id-ID", "publisher": { "@type": "Organization", "name": "Aleoโs Tube", "logo": { "@type": "ImageObject", "url": "https://your-logo-link.png" } } } </script> <script async='async' src='https://www.googletagmanager.com/gtag/js?id=G-71BR09BJ1R'/> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-71BR09BJ1R'); </script><b:if cond='data:blog.pageType == "index"'>
<title></title><b:if cond='data:blog.pageType == "item"'>
<title> โ </title> <script type='application/ld+json'> { "@context": "https://schema.org", "@type": "BlogPosting", "mainEntityOfPage": { "@type": "WebPage", "@id": "" }, "headline": "", "description": "", "image": "", "author": { "@type": "Person", "name": "" }, "publisher": { "@type": "Organization", "name": "Aleoโs Tube", "logo": { "@type": "ImageObject", "url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-your-logo.webp" } }, "datePublished": "", "dateModified": "" } </script></b:if>
<b:if cond='data:blog.pageType == "static_page"'>
<title> โ </title><b:if cond='data:blog.pageType == "archive"'>
<title>Arsip: โ </title><b:if cond='data:blog.pageType == "error_page"'>
<title>Halaman Tidak Ditemukan โ </title><b:if cond='data:blog.pageType != "preview"'>
<script type='text/javascript'> // </script>gtag('config', 'G-2F6SD6VRNM');
/* Responsive iframe (YouTube/Video) / .video-container { position: relative; width: 100%; padding-bottom: 56.25%; / 16:9 */ height: 0; overflow: hidden; } .video-container iframe, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style>
<script> document.addEventListener("DOMContentLoaded", function() { // === Auto Lazy Load untuk IMG === let imgs = document.querySelectorAll("img"); imgs.forEach(img => { if (img.hasAttribute("src")) { img.setAttribute("data-src", img.getAttribute("src")); img.removeAttribute("src"); } }); let lazyImages = [].slice.call(document.querySelectorAll("img[data-src]")); if ("IntersectionObserver" in window) { let lazyImageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { let lazyImage = entry.target; lazyImage.src = lazyImage.dataset.src; lazyImage.classList.add("lazyloaded"); lazyImageObserver.unobserve(lazyImage); } }); }); lazyImages.forEach(function(lazyImage) { lazyImageObserver.observe(lazyImage); }); } // === Auto Lazy Load untuk iframe (YouTube / Video) === let iframes = document.querySelectorAll("iframe"); iframes.forEach(iframe => { if (iframe.hasAttribute("src")) { iframe.setAttribute("data-src", iframe.getAttribute("src")); iframe.removeAttribute("src"); } }); const lazyIframes = document.querySelectorAll("iframe[data-src]"); if ("IntersectionObserver" in window) { let iframeObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { let lazyIframe = entry.target; lazyIframe.src = lazyIframe.dataset.src; iframeObserver.unobserve(lazyIframe); } }); }); lazyIframes.forEach(function(lazyIframe) { iframeObserver.observe(lazyIframe); }); } }); </script><meta content='Akdxkd6UOpPuTJGNwRgYs8a-hO_77_YOJk4E46iEK9o' name='google-site-verification'/>
<script type='text/javascript'>
//<![CDATA[ //
<style> html { scroll-behavior: smooth; } body { font-family: "Poppins", sans-serif; margin: 0; padding: 0; background: var(--bg); color: var(--text); transition: background 0.6s, color 0.6s; overflow-x: hidden; } img, iframe { max-width: 100%; height: auto; display: block; border-radius: 10px; } /* Pesan sambutan */ #welcome-message { position: fixed; top: 45%; left: 50%; transform: translate(-50%, -50%); background: rgba(255,255,255,0.9); backdrop-filter: blur(10px); padding: 20px 40px; border-radius: 20px; font-size: 1.2rem; font-weight: 500; text-align: center; color: #333; opacity: 0; z-index: 9999; animation: fadeInOut 8s ease-in-out forwards; box-shadow: 0 4px 15px rgba(0,0,0,0.15); } @keyframes fadeInOut { 0% { opacity: 0; transform: translate(-50%, -60%); } 15% { opacity: 1; transform: translate(-50%, -50%); } 85% { opacity: 1; transform: translate(-50%, -50%); } 100% { opacity: 0; transform: translate(-50%, -40%); } } /* Mode siang/malam */ :root { --bg: #fefefe; --text: #222; } body.dark-mode { --bg: #080d1a; --text: #f0f0f0; } body.dark-mode #welcome-message { background: rgba(20,20,30,0.8); color: #fafafa; } /* Canvas bintang (di belakang) */ #starfield { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -3; background: transparent; } /* Canvas partikel (di atas bintang, namun di bawah konten) */ #particle-canvas { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2; pointer-events: none; } /* Tombol Musik */ #music-control { position: fixed; right: 14px; bottom: 14px; width: 48px; height: 48px; border-radius: 12px; background: rgba(0,0,0,0.6); color: #fff; display: grid; place-items: center; z-index: 10000; box-shadow: 0 6px 18px rgba(0,0,0,0.25); cursor: pointer; backdrop-filter: blur(6px); transition: transform .15s ease, opacity .2s; opacity: .9; } #music-control:hover { transform: scale(1.06); opacity: 1; } #music-control[data-state="off"] { background: rgba(0,0,0,0.45); } #music-control svg { width: 22px; height: 22px; pointer-events: none; } #music-control.hidden { display: none; } </style>
<!-- Meta Pixel Code (Safe for Blogger) -->
<b:if cond='data:blog.pageType != "preview"'>
<script type='text/javascript'> // </script><b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.firstImageUrl'> <b:else/> <script> (function() { var images = [ "https://images.unsplash.com/photo-1618477388954-5c58a3b16130?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80", "https://images.unsplash.com/photo-1635771132116-9c6f5f7d98b1?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80", "https://images.unsplash.com/photo-1620117799704-ecf95df8333d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80" ]; var chosen = images[Math.floor(Math.random() * images.length)]; var og = document.createElement("meta"); og.setAttribute("property", "og:image"); og.setAttribute("content", chosen); document.head.appendChild(og);
var tw = document.createElement("meta");
tw.setAttribute("name", "twitter:image");
tw.setAttribute("content", chosen);
document.head.appendChild(tw);
})();
</script>
</b:if> </b:if>
<script> (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l!='dataLayer' ? '&l='+l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MKB9TPDR'); </script> <script> (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l!='dataLayer' ? '&l='+l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MKB9TPDR'); </script> <title></title><b:skin><![CDATA[/*-----------------------------------------------
Blogger Template Style Name: Picture Window Designer: Blogger URL: www.blogger.com ----------------------------------------------- */
<script> (function(){ // Bahasa utama blog (ganti 'id' kalau blog utama bukan Indonesia) const siteLang = 'id';// Deteksi bahasa browser pengunjung const userLang = (navigator.language || navigator.userLanguage || 'en').split('-')[0];
// Kalau sama dengan bahasa utama, tidak usah redirect if(userLang === siteLang) return;
// Biar tidak looping saat sudah di translate.google if(window.location.hostname.includes("translate.google")) return;
// Redirect otomatis ke Google Translate const url = encodeURIComponent(window.location.href); const translateUrl = 'https://translate.google.com/translate?sl=auto&tl=' + encodeURIComponent(userLang) + '&u=' + url; window.location.href = translateUrl; })(); </script>
*/
/* Content
----------------------------------------------- */
body {
font:
html body .region-inner { min-width: 0; max-width: 100%; width: auto; }
.content-outer { font-size: 90%; }
a:link { text-decoration:none; color: $(link.color); }
a:visited { text-decoration:none; color: $(link.visited.color); }
a:hover { text-decoration:underline; color: $(link.hover.color); }
.content-outer { background: $(content.background);
-moz-border-radius:
-moz-box-shadow: 0 0
margin: $(content.margin) auto; }
.content-inner { padding: $(content.padding); }
/* Header
----------------------------------------------- */
.header-outer {
background:
color: $(header.text.color);
-moz-border-radius:
.Header img, .Header #header-inner {
-moz-border-radius:
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left:
.Header h1 { font: $(header.font); text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }
.Header h1 a { color: $(header.text.color); }
.Header .description { font-size: 130%; }
/* Tabs
----------------------------------------------- */
.tabs-inner {
margin: .5em
.tabs-inner .section { margin: 0; }
.tabs-inner .widget ul { padding: 0;
background:
-moz-border-radius:
.tabs-inner .widget li { border: none; }
.tabs-inner .widget li a { display: inline-block;
padding: .5em 1em; margin-$endSide: $(tabs.spacing);
color:
-moz-border-radius:
background: $(tab.background);
border-$endSide: 1px solid $(tabs.separator.color); }
.tabs-inner .widget li:first-child a { padding-$startSide: 1.25em;
-moz-border-radius-top$startSide: $(tab.first.border.radius); -moz-border-radius-bottom$startSide: $(tabs.border.radius); -webkit-border-top-$startSide-radius: $(tab.first.border.radius); -webkit-border-bottom-$startSide-radius: $(tabs.border.radius); -goog-ms-border-top-$startSide-radius: $(tab.first.border.radius); -goog-ms-border-bottom-$startSide-radius: $(tabs.border.radius); border-top-$startSide-radius: $(tab.first.border.radius); border-bottom-$startSide-radius: $(tabs.border.radius); }
.tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover { position: relative; z-index: 1;
background: $(tabs.selected.background.color) $(tab.selected.background.gradient) repeat scroll bottom; color: $(tabs.selected.text.color);
-moz-box-shadow: 0 0
/* Headings
----------------------------------------------- */
h2 {
font:
/* Main ----------------------------------------------- */ .main-outer { background: $(main.background);
-moz-border-radius:
-moz-box-shadow: 0
.main-inner { padding: 15px $(main.padding.sides) 20px; }
.main-inner .column-center-inner { padding: 0 0; }
.main-inner .column-left-inner { padding-left: 0; }
.main-inner .column-right-inner { padding-right: 0; }
/* Posts ----------------------------------------------- */ h3.post-title { margin: 0; font: $(post.title.font); }
.comments h4 { margin: 1em 0 0; font: $(post.title.font); }
.date-header span { color: $(date.header.color); }
.post-outer {
background-color:
-moz-border-radius:
padding: 15px 20px; margin: 0 $(post.margin.sides) 20px; }
.post-body { line-height: 1.4; font-size: 110%; position: relative; }
.post-header { margin: 0 0 1.5em;
color: $(post.footer.text.color); line-height: 1.6; }
.post-footer { margin: .5em 0 0;
color: $(post.footer.text.color); line-height: 1.6; }
#blog-pager { font-size: 140% }
#comments .comment-author { padding-top: 1.5em;
border-top: dashed 1px #ccc; border-top: dashed 1px rgba(128, 128, 128, .5);
background-position: 0 1.5em; }
#comments .comment-author:first-child { padding-top: 0;
border-top: none; }
.avatar-image-container { margin: .2em 0 0; }
/* Comments ----------------------------------------------- */ .comments .comments-content .icon.blog-author { background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9sLFwMeCjjhcOMAAAD+SURBVDjLtZSvTgNBEIe/WRRnm3U8RC1neQdsm1zSBIU9VVF1FkUguQQsD9ITmD7ECZIJSE4OZo9stoVjC/zc7ky+zH9hXwVwDpTAWWLrgS3QAe8AZgaAJI5zYAmc8r0G4AHYHQKVwII8PZrZFsBFkeRCABYiMh9BRUhnSkPTNCtVXYXURi1FpBDgArj8QU1eVXUzfnjv7yP7kwu1mYrkWlU33vs1QNu2qU8pwN0UpKoqokjWwCztrMuBhEhmh8bD5UDqur75asbcX0BGUB9/HAMB+r32hznJgXy2v0sGLBcyAJ1EK3LFcbo1s91JeLwAbwGYu7TP/3ZGfnXYPgAVNngtqatUNgAAAABJRU5ErkJggg==); }
.comments .comments-content .loadmore a {
border-top: 1px solid
.comments .continue { border-top: 2px solid $(link.hover.color); }
/* Widgets ----------------------------------------------- */ .widget ul, .widget #ArchiveList ul.flat { padding: 0; list-style: none; }
.widget ul li, .widget #ArchiveList ul.flat li { border-top: dashed 1px #ccc; border-top: dashed 1px rgba(128, 128, 128, .5); }
.widget ul li:first-child, .widget #ArchiveList ul.flat li:first-child { border-top: none; }
.widget .post-body ul { list-style: disc; }
.widget .post-body ul li { border: none; }
/* Footer ----------------------------------------------- */ .footer-outer { color:$(footer.text.color); background: $(footer.background);
-moz-border-radius:
-moz-box-shadow: 0
.footer-inner { padding: 10px $(main.padding.sides) 20px; }
.footer-outer a { color: $(footer.link.color); }
.footer-outer a:visited { color: $(footer.link.visited.color); }
.footer-outer a:hover { color: $(footer.link.hover.color); }
.footer-outer .widget h2 { color: $(footer.widget.title.text.color); }
/* Mobile ----------------------------------------------- */ html body.mobile { height: auto; }
html body.mobile { min-height: 480px; background-size: 100% auto; }
.mobile .body-fauxcolumn-outer { background: $(mobile.background.overlay); }
html .mobile .mobile-date-outer, html .mobile .blog-pager { border-bottom: none; background: $(main.background); margin-bottom: 10px; }
.mobile .date-outer { background: $(main.background); }
.mobile .header-outer, .mobile .main-outer, .mobile .post-outer, .mobile .footer-outer { -moz-border-radius: 0; -webkit-border-radius: 0; -goog-ms-border-radius: 0; border-radius: 0; }
.mobile .content-outer, .mobile .main-outer, .mobile .post-outer { background: inherit; border: none; }
.mobile .content-outer { font-size: 100%; }
.mobile-link-button { background-color: $(link.color); }
.mobile-link-button a:link, .mobile-link-button a:visited { color: $(post.background.color); }
.mobile-index-contents { color: $(body.text.color); }
.mobile .tabs-inner .PageList .widget-content { background: $(tabs.selected.background.color) $(tab.selected.background.gradient) repeat scroll bottom; color: $(tabs.selected.text.color); }
.mobile .tabs-inner .PageList .widget-content .pagelist-arrow { border-$startSide: 1px solid $(tabs.separator.color); } ]]></b:skin>
<b:template-skin>
<b:variable default='960px' name='content.width' type='length' value='700px'/>
<b:variable default='100%' name='main.column.left.width' type='length' value='0px'/>
<b:variable default='310px' name='main.column.right.width' type='length' value='0px'/>
<![CDATA[
body {
min-width: $(content.width);
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: $(content.width);
max-width: $(content.width);
_width: $(content.width);
}
.main-inner .columns {
padding-left: $(main.column.left.width);
padding-right: $(main.column.right.width);
}
.main-inner .fauxcolumn-center-outer {
left: $(main.column.left.width);
right: $(main.column.right.width);
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("$(main.column.left.width)") -
parseInt("$(main.column.right.width)") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: $(main.column.left.width);
}
.main-inner .fauxcolumn-right-outer {
width: $(main.column.right.width);
}
.main-inner .column-left-outer {
width: $(main.column.left.width);
right: 100%;
margin-left: -$(main.column.left.width);
}
.main-inner .column-right-outer {
width: $(main.column.right.width);
margin-right: -$(main.column.right.width);
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
body#layout div.add_widget {
padding: 8px;
}
body#layout div.add_widget a {
margin-left: 32px;
}
]]>
</b:template-skin>
<b:if cond='data:skin.vars.body_background.image.isResizable'>
<b:include cond='not data:view.isPreview' data='{ image: data:skin.vars.body_background.image, selector: "body" }' name='responsiveImageStyle'/>
</b:if>
<b:include data='blog' name='google-analytics'/>
rotate(${hour}deg) translate(-50%, -50%);
document.querySelector('.analog-clock-footer .hand.minute').style.transform =
rotate(${minute}deg) translate(-50%, -50%);
document.querySelector('.analog-clock-footer .hand.second').style.transform =
rotate(${second}deg) translate(-50%, -50%);
}
setInterval(updateClockFooter, 1000); updateClockFooter(); //]]> </script>
<style> :root { --primary-color: #ffcc00; --subscribe-color: #ff0000; --light-bg: rgba(255,255,255,0.8); --light-text: #222; --dark-bg: rgba(20,20,20,0.8); --dark-text: #fff; }/* Footer mungil lonjong */ footer.mini-footer { position: fixed; bottom: 58px; left: 50%; transform: translateX(-50%); background: var(--light-bg); color: var(--light-text); border-radius: 20px; padding: 3px 10px; font-size: 10px; font-family: Arial, sans-serif; box-shadow: 0 2px 6px rgba(0,0,0,0.15); z-index: 900; opacity: 0; animation: fadeUp 0.6s ease forwards; } @media (prefers-color-scheme: dark) { footer.mini-footer { background: var(--dark-bg); color: var(--dark-text); } }
/* Navbar mungil */ .mini-nav { position: fixed; bottom: 8px; left: 50%; transform: translateX(-50%); background: var(--light-bg); border-radius: 30px; display: flex; gap: 12px; padding: 4px 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 1000; opacity: 0; animation: fadeUp 0.8s ease forwards; } .mini-nav a { color: var(--light-text); font-size: 11px; text-decoration: none; display: flex; align-items: center; transition: all 0.2s ease; } .mini-nav a i { font-size: 13px; margin-right: 3px; } .mini-nav a:hover { color: var(--primary-color); } @media (prefers-color-scheme: dark) { .mini-nav { background: var(--dark-bg); } .mini-nav a { color: var(--dark-text); } }
/* Tombol Subscribe mungil dengan border pelangi + glow + floating */ .mini-subscribe { position: fixed; right: 12px; bottom: 100px; background: var(--subscribe-color); color: #fff; font-size: 11px; padding: 5px 12px; border-radius: 30px; text-decoration: none; font-weight: bold; z-index: 1100; display: inline-block !important; opacity: 0; animation: fadeUp 1s ease forwards, glowPulse 2s infinite, floatBounce 3s ease-in-out infinite; border: 2px solid transparent; background-clip: padding-box; position: relative; }
/* Border pelangi */ .mini-subscribe::before { content: ""; position: absolute; inset: -2px; border-radius: 30px; padding: 2px; background: linear-gradient(90deg, red, orange, yellow, green, blue, indigo, violet, red); background-size: 400%; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: rainbow 4s linear infinite; }
.mini-subscribe:hover { background: #cc0000; transform: scale(1.1); }
/* Animasi border pelangi */ @keyframes rainbow { 0% { background-position: 0% 50%; } 100% { background-position: 400% 50%; } }
/* Efek glow kedip */ @keyframes glowPulse { 0%, 100% { box-shadow: 0 0 6px rgba(255,0,0,0.6); } 50% { box-shadow: 0 0 14px rgba(255,0,0,0.9); } }
/* Animasi melayang naik-turun */ @keyframes floatBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
/* Animasi muncul */ @keyframes fadeUp { from { opacity: 0; transform: translateY(15px) translateX(-50%); } to { opacity: 1; transform: translateY(0) translateX(-50%); } } </style>
<iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-T5PTHLRB' style='display:none;visibility:hidden' width='0'/> <iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-MKB9TPDR' style='display:none;visibility:hidden' width='0'/> <iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-WR546M4D>m_auth=7_SAhutJuvX_5wv88hZpYg>m_preview=env-10>m_cookies_win=x' style='display:none;visibility:hidden' width='0'/> <script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://draft.blogger.com/navbar/8956348688248328686?origin\x3dhttp://localhost:80', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script><script type="text/javascript"> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js'; var head = document.getElementsByTagName('head')[0]; if (head) { head.appendChild(script); }})(); </script><b:if cond='data:blog.pageType == "index"'>
/* Avatar efek api */ .avatar-fire { position: relative; display: inline-block; margin-bottom: 20px; } .avatar-fire img { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; z-index: 3; position: relative; }
/* Lidah api */ .flame { position: absolute; top: -25px; left: -25px; right: -25px; bottom: -25px; border-radius: 50%; filter: blur(28px); z-index: 1; opacity: 0.7; animation: flicker 2s infinite ease-in-out alternate; } .flame1 { background: radial-gradient(circle, rgba(255,140,0,0.8) 20%, transparent 70%); animation-delay: 0s; } .flame2 { background: radial-gradient(circle, rgba(255,69,0,0.8) 15%, transparent 80%); animation-delay: 0.5s; } .flame3 { background: radial-gradient(circle, rgba(255,215,0,0.7) 10%, transparent 80%); animation-delay: 1s; }
@keyframes flicker { 0% { transform: scale(1) rotate(0deg); opacity: 0.7; } 50% { transform: scale(1.2) rotate(12deg); opacity: 1; } 100% { transform: scale(1) rotate(-12deg); opacity: 0.6; } }
/* Sparks (percikan api) */ .spark { position: absolute; width: 6px; height: 6px; background: radial-gradient(circle, #ffec85 20%, #ff9900 70%, transparent 100%); border-radius: 50%; animation: sparkFly 3s linear infinite; opacity: 0.8; z-index: 2; } .spark:nth-child(4) { top: 10%; left: 40%; animation-delay: 0s; } .spark:nth-child(5) { top: 30%; left: 70%; animation-delay: 0.5s; } .spark:nth-child(6) { top: 60%; left: 20%; animation-delay: 1s; } .spark:nth-child(7) { top: 80%; left: 50%; animation-delay: 1.5s; } .spark:nth-child(8) { top: 40%; left: 10%; animation-delay: 2s; }
@keyframes sparkFly { 0% { transform: translateY(0) scale(1); opacity: 0.9; } 50% { transform: translateY(-40px) scale(0.8); opacity: 1; } 100% { transform: translateY(-80px) scale(0.5); opacity: 0; } }
/* Tombol oval horizontal */ .btn-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; } .btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 25px; font-size: 0.9rem; font-weight: 600; color: #fff; text-decoration: none; position: relative; overflow: hidden; z-index: 1; } .btn::before { content: ""; position: absolute; inset: -2px; border-radius: 30px; background: linear-gradient(90deg, red, orange, yellow, green, blue, violet); background-size: 400% 100%; animation: rainbowMove 6s linear infinite; z-index: -2; } .btn::after { content: ""; position: absolute; inset: 2px; border-radius: 25px; z-index: -1; } .btn-wa::after { background: #25D366; } .btn-yt::after { background: #FF0000; } .btn-ig::after { background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4); } .btn-fb::after { background: #1877F2; } .btn-pin::after { background: #E60023; } .btn-th::after { background: #000; }
.btn i { font-size: 1rem; }
@keyframes rainbowMove { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } </style>
<style> .aleo-monkey-widget { position: fixed; bottom: 12px; right: 12px; width: 78px; height: 84px; z-index: 99999; cursor: pointer; transition: transform 0.3s; } .aleo-monkey-widget:hover {transform: scale(1.18) rotate(-10deg);} .monkey-body { position: absolute; bottom: 5px; left: 15px; width: 50px; height: 45px; background: #d35400; border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; border: 3px solid #a0522d; animation: monkeyDance 2s infinite; } @keyframes monkeyDance { 0%,100%{transform:rotate(-3deg) scale(1);} 25%{transform:rotate(3deg) scale(1.03);} 75%{transform:rotate(-5deg) scale(0.97);} } .monkey-head { position: absolute; top: 5px; left: 20px; width: 45px; height: 47px; background: #d35400; border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; border: 3px solid #a0522d; display: flex; align-items: center; justify-content: center; font-size: 25px; animation: headBob 1.5s infinite; } @keyframes headBob {0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}} .monkey-arms {position: absolute; top: 26px; left: 4px; display: flex; gap: 50px;} .monkey-arms .arm { width: 18px; height: 25px; background: #d35400; border: 2px solid #a0522d; border-radius: 50px; transform-origin: top center; } .monkey-arms .arm.left {animation: armSwing 1.2s infinite;} .monkey-arms .arm.right {animation: armSwing 1.2s infinite reverse;} @keyframes armSwing {0%,100%{transform:rotate(-20deg);}50%{transform:rotate(25deg);}} .coconut { position: absolute; top: -5px; right: 5px; font-size: 15px; animation: coconutSpin 2.5s infinite; color: #8b4513; } @keyframes coconutSpin {0%,100%{transform:rotate(0deg);}100%{transform:rotate(360deg);}} .monkey-speech { position: absolute; right: 85px; bottom: 35px; background: #e74c3c; color: white; border-radius: 20px; font-size: 10px; padding: 7px 12px; font-family: Arial, sans-serif; white-space: nowrap; opacity: 0; transition: opacity 0.4s; box-shadow: 0 3px 15px rgba(231,76,60,0.4); animation: speechWiggle 3s infinite; pointer-events: none; } @keyframes speechWiggle {0%,100%{transform:rotate(0);}25%{transform:rotate(-2deg);}75%{transform:rotate(2deg);}} .monkey-speech:after { content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); border: 5px solid transparent; border-left-color: #e74c3c; } .aleo-monkey-widget:hover .monkey-speech {opacity: 1;} </style><b:if cond='data:useImage'> <b:if cond='data:imagePlacement == "BEHIND"'> <b:if cond='data:mobile'>
<b:else/> </b:if> <b:else/>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'/>
<div class='region-inner tabs-inner'>
<b:section class='tabs' id='crosscol' maxwidgets='1' name='Cross-Column' showaddelement='yes'>
<b:widget id='HTML2' locked='false' title='L3' type='HTML'>
<b:widget-settings>
<b:widget-setting name='content'><![CDATA[<!-- Linktree Horizontal Oval dengan Avatar Efek Api + Spark -->
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
, <b:if cond='data:blog.pageType != "preview"'>
<script type='text/javascript'> // </script><!doctype html>
SEO Status โ Aleo's Tube
<style> body{font-family:Segoe UI, Roboto, Arial; background:#f6f8fb; color:#0b1220; padding:28px;} .card{background:white;border-radius:12px;padding:18px;box-shadow:0 8px 28px rgba(13,41,77,0.06);max-width:920px;margin:0 auto;} h1{margin:0 0 12px;font-size:20px} .row{display:flex;gap:12px;align-items:center;margin-top:10px;flex-wrap:wrap} .badge{padding:8px 12px;border-radius:10px;background:linear-gradient(90deg,#ff6b00,#0077ff);color:#fff;font-weight:700} button{padding:8px 12px;border-radius:10px;border:none;background:#0077ff;color:#fff;cursor:pointer;font-weight:700} .muted{color:#5b6782;font-size:13px} pre{background:#0b1220;color:#dff4ff;padding:12px;border-radius:8px;overflow:auto} </style><div class="row" style="margin-top:18px">
<div>
<div class="muted">Consent analytics</div>
<div id="consentStatus" class="badge">โ</div>
</div>
<div>
<div class="muted">Last auto-ping</div>
<div id="lastPing" style="padding:8px 12px;border-radius:8px;background:#f1f5f9;color:#0b1220;font-weight:700">โ</div>
</div>
<div style="margin-left:auto; display:flex; gap:8px;">
<button id="manualPing">Ping Sekarang</button>
<button id="clearPing" style="background:#ff4d4f">Reset</button>
</div>
</div>
<section style="margin-top:18px;">
<h3 style="margin:8px 0">Log Ringkas</h3>
<div class="muted">Log di bawah hanya untuk debugging & tersimpan sementara di sessionStorage.</div>
<pre id="logArea" style="height:160px">โ</pre>
</section>
<section style="margin-top:16px;">
<small class="muted">Catatan: Ping dilakukan via <code>fetch</code> ke endpoint publik (Google/Bing) dengan mode <code>no-cors</code>. Browser tidak menampilkan respons yang bisa dibaca โ operasi bersifat "fire-and-forget".</small>
</section>
</!doctype>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> </b:section> <b:section class='tabs' id='crosscol-overflow' name='Cross-Column 2' showaddelement='no'/>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'/>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'/>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'/>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'/>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>
<div class='column-center-outer'>
<div class='column-center-inner'>
<b:section class='main' id='main' name='Main' showaddelement='no'>
<b:widget id='Blog1' locked='false' title='Postingan Blog' type='Blog' version='1'>
<b:widget-settings>
<b:widget-setting name='commentLabel'>comments</b:widget-setting>
<b:widget-setting name='showShareButtons'>true</b:widget-setting>
<b:widget-setting name='authorLabel'>By Aleo</b:widget-setting>
<b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
<b:widget-setting name='timestampLabel'>at</b:widget-setting>
<b:widget-setting name='reactionsLabel'/>
<b:widget-setting name='showAuthorProfile'>true</b:widget-setting>
<b:widget-setting name='style.layout'>1x1</b:widget-setting>
<b:widget-setting name='showLocation'>false</b:widget-setting>
<b:widget-setting name='showTimestamp'>true</b:widget-setting>
<b:widget-setting name='postsPerAd'>1</b:widget-setting>
<b:widget-setting name='style.bordercolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showDateHeader'>true</b:widget-setting>
<b:widget-setting name='style.textcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showCommentLink'>true</b:widget-setting>
<b:widget-setting name='style.urlcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='postLocationLabel'>Location: Indonesia</b:widget-setting>
<b:widget-setting name='showAuthor'>true</b:widget-setting>
<b:widget-setting name='style.linkcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showLabels'>false</b:widget-setting>
<b:widget-setting name='postLabelsLabel'>Labels: Daily Vlog Anak Rantau Indonesia,</b:widget-setting>
<b:widget-setting name='showBacklinks'>false</b:widget-setting>
<b:widget-setting name='showInlineAds'>false</b:widget-setting>
<b:widget-setting name='showReactions'>false</b:widget-setting>
</b:widget-settings>
<b:includable id='main' var='top'>
<b:if cond='!data:mobile'>
<b:include data='top' name='status-message'/>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.isDateStart and not data:post.isFirstPost'>
</div></div>
</b:if>
<b:if cond='data:post.isDateStart'>
<div class="date-outer">
</b:if>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><span><data:post.dateHeader/></span></h2>
</b:if>
<b:if cond='data:post.isDateStart'>
<div class="date-posts">
</b:if>
<div class='post-outer'>
<b:include data='post' name='post'/>
<b:include cond='data:blog.pageType in {"static_page","item"}' data='post' name='comment_picker'/>
</div>
<!-- Ad -->
<b:if cond='data:post.includeAd'>
<div class='inline-ad'>
<data:adCode/>
</div>
</b:if>
</b:loop>
<b:if cond='data:numPosts != 0'>
</div></div>
</b:if>
</div>
<!-- navigation -->
<b:include name='nextprev'/>
<!-- feed links -->
<b:include name='feedLinks'/>
<b:else/> <b:include name='mobile-main'/> </b:if> </b:includable> <b:includable id='backlinkDeleteIcon' var='backlink'/> <b:includable id='backlinks' var='post'/> <b:includable id='comment-form' var='post'>
<b:if cond='data:post.commentPagingRequired'>
<span class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
 
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
 
</b:if>
<data:post.commentRangeText/>
<b:if cond='data:post.hasNewerLinks'>
 
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
 
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
</b:if>
</span>
</b:if>
<div expr:id='data:widget.instanceId + "_comments-block-wrapper"'>
<dl expr:class='data:post.avatarIndentClass' id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt expr:class='"comment-author " + data:comment.authorClass' expr:id='data:comment.anchorName'>
<b:if cond='data:comment.favicon'>
<img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/>
</b:if>
<a expr:name='data:comment.anchorName'/>
<b:if cond='data:blog.enabledCommentProfileImages'>
<data:comment.authorAvatarImage/>
</b:if>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p>
<data:comment.body/>
</p>
</b:if>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='data:comment.url' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</dd>
</b:loop>
</dl>
</div>
<b:if cond='data:post.commentPagingRequired'>
<span class='paging-control-container'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:post.oldestLinkText/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:post.olderLinkText/>
</a>
 
<data:post.commentRangeText/>
 
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:post.newerLinkText/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:post.newestLinkText/>
</a>
</span>
</b:if>
<p class='comment-footer'>
<b:if cond='data:post.embedCommentForm'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='comment-form'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:elseif cond='data:post.allowComments'/>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
</b:if>
</p>
</b:if>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
<b:else/>
<div class='mobile-post-outer'>
<a expr:href='data:post.url'>
<h3 class='mobile-index-title entry-title' itemprop='name'>
<data:post.title/>
</h3>
<div class='mobile-index-arrow'>&rsaquo;</div>
<div class='mobile-index-contents'>
<b:if cond='data:post.thumbnailUrl'>
<div class='mobile-index-thumbnail'>
<div class='Image'>
<img expr:src='data:post.thumbnailUrl'/>
</div>
</div>
</b:if>
<div class='post-body'>
<b:if cond='data:post.snippet'><data:post.snippet/></b:if>
</div>
</div>
<div style='clear: both;'/>
</a>
<div class='mobile-index-comment'>
<b:include cond='data:blog.pageType != "static_page" and data:post.allowComments and data:post.numComments != 0' data='post' name='comment_count_picker'/>
</div>
</div>
<b:include data='top' name='status-message'/>
<b:if cond='data:blog.pageType == "index"'>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='mobile-index-post'/>
</b:loop>
<b:else/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='mobile-post'/>
</b:loop>
</b:if>
</div>
<b:include name='mobile-nextprev'/> </b:includable> <b:includable id='mobile-nextprev'>
<b:if cond='data:olderPageUrl'>
<div class='mobile-link-button' id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'>&rsaquo;</a>
</div>
</b:if>
<div class='mobile-link-button' id='blog-pager-home-link'>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
</div>
<div class='mobile-desktop-link'>
<a class='home-link' expr:href='data:desktopLinkUrl'><data:desktopLinkMsg/></a>
</div>
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<b:if cond='data:post.thumbnailUrl'>
<meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
</b:if>
<meta expr:content='data:blog.blogId' itemprop='blogId'/>
<meta expr:content='data:post.id' itemprop='postId'/>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title'>
<h3 class='post-title entry-title' itemprop='name'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:elseif cond='data:post.url and data:blog.url != data:post.url'/>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
<div class='post-header'>
<div class='post-header-line-1'/>
</div>
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='articleBody'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
<b:if cond='data:top.showAuthor'>
<b:if cond='data:post.authorProfileUrl'>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
<a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</span>
<b:else/>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<span itemprop='name'><data:post.author/></span>
</span>
</b:if>
</b:if>
</span>
<span class='post-timestamp'>
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<meta expr:content='data:post.url.canonical' itemprop='url'/>
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
</b:if>
</b:if>
</span>
<span class='post-comment-link'>
<b:include cond='data:blog.pageType not in {"item","static_page"} and data:post.allowComments' data='post' name='comment_count_picker'/>
</span>
</div>
<div class='post-footer-line post-footer-line-2'>
<b:if cond='data:top.showMobileShare'>
<div class='mobile-link-button goog-inline-block' id='mobile-share-button'>
<a href='javascript:void(0);'><data:shareMsg/></a>
</div>
</b:if>
</div>
</div>
</div>
<b:include cond='data:blog.pageType in {"static_page","item"}' data='post' name='comment_picker'/>
</div>
</div>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
<b:if cond='data:mobileLinkUrl'>
<div class='blog-mobile-link'>
<a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
</div>
</b:if>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title'>
<h3 class='post-title entry-title' itemprop='name'>
<b:if cond='data:post.link or (data:post.url and data:blog.url != data:post.url)'>
<a expr:href='data:post.link ? data:post.link : data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
<div class='post-header'>
<div class='post-header-line-1'/>
</div>
<!-- Then use the post body as the schema.org description, for good G+/FB snippeting. -->
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' expr:itemprop='(data:blog.metaDescription ? "" : "description ") + "articleBody"'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<b:if cond='data:post.hasJumpLink'>
<div class='jump-link'>
<a expr:href='data:post.url + "#more"' expr:title='data:post.title'><data:post.jumpText/></a>
</div>
</b:if>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/>
<b:if cond='data:post.authorProfileUrl'>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
<a class='g-profile' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</span>
<b:else/>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<span itemprop='name'><data:post.author/></span>
</span>
</b:if>
</b:if>
</span>
<span class='post-timestamp'>
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<meta expr:content='data:post.url.canonical' itemprop='url'/>
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
</b:if>
</b:if>
</span>
<span class='post-comment-link'>
<b:include cond='data:blog.pageType not in {"item","static_page"} and data:post.allowComments' data='post' name='comment_count_picker'/>
</span>
<span class='post-icons'>
<!-- email post links -->
<b:if cond='data:post.emailPostUrl'>
<span class='item-action'>
<a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
<img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/>
</a>
</span>
</b:if>
<!-- quickedit pencil -->
<b:include data='post' name='postQuickEdit'/>
</span>
<!-- share buttons -->
<div class='post-share-buttons goog-inline-block'>
<b:include cond='data:post.sharePostUrl' data='post' name='shareButtons'/>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
<b:if cond='data:top.showPostLabels and data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='not data:label.isLast'>,</b:if>
</b:loop>
</b:if>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
<b:if cond='data:top.showLocation and data:post.location'>
<data:postLocationLabel/>
<a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a>
</b:if>
</span>
</div>
<b:if cond='data:post.authorAboutMe'>
<div class='author-profile' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<b:if cond='data:post.authorPhoto.url'>
<img expr:src='data:post.authorPhoto.url' itemprop='image' width='50px'/>
</b:if>
<div>
<a class='g-profile' expr:href='data:post.authorProfileUrl' itemprop='url' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</div>
<span itemprop='description'><data:post.authorAboutMe/></span>
</div>
</b:if>
</div>
</b:includable> <b:includable id='threaded_comments' var='post'>
:
<div class='comments-content'>
<b:include cond='data:post.embedCommentForm' data='post' name='threaded_comment_js'/>
<div id='comment-holder'>
<data:post.commentHtml/>
</div>
</div>
<p class='comment-footer'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='threaded-comment-form'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
</p>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
<div id='backlinks-container'>
<div expr:id='data:widget.instanceId + "_backlinks-container"'>
</div>
</div>
<b:include name='quickedit'/> </b:includable> <b:includable id='content'>
</b:includable> </b:widget> <b:widget id='PopularPosts1' locked='false' title='' type='PopularPosts'> <b:widget-settings> <b:widget-setting name='numItemsToShow'>5</b:widget-setting> <b:widget-setting name='showThumbnails'>false</b:widget-setting> <b:widget-setting name='showSnippets'>true</b:widget-setting> <b:widget-setting name='timeRange'>ALL_TIME</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if> <div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
<macro:include id='main-column-left-sections' name='sections'>
<macro:param default='0' name='num' value='0'/>
<macro:param default='sidebar-left' name='idPrefix'/>
<macro:param default='sidebar' name='class'/>
<macro:param default='true' name='includeBottom'/>
</macro:include>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<macro:include id='main-column-right-sections' name='sections'>
<macro:param default='2' name='num' value='0'/>
<macro:param default='sidebar-right' name='idPrefix'/>
<macro:param default='sidebar' name='class'/>
<macro:param default='true' name='includeBottom'/>
</macro:include>
</aside>
</div>
</div>
</div>
<div style='clear: both'/>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'/>
<div class='region-inner footer-inner'>
<macro:include id='footer-sections' name='sections'>
<macro:param default='2' name='num' value='3'/>
<macro:param default='footer' name='idPrefix'/>
<macro:param default='foot' name='class'/>
<macro:param default='false' name='includeBottom'/>
</macro:include>
<!-- outside of the include in order to lock Attribution widget -->
<b:section class='foot' id='footer-3' name='Footer' showaddelement='no'>
<b:widget id='Attribution1' locked='false' title='' type='Attribution'>
<b:widget-settings>
<b:widget-setting name='copyright'><![CDATA[ยฉ 2025 Aleo's Tube. All Rights Reserved.]]></b:widget-setting>
</b:widget-settings>
<b:includable id='main'>
<div class='widget-content' style='text-align: center;'>
<b:if cond='data:attribution != ""'>
<data:attribution/>
</b:if>
</div>
<b:include name='quickedit'/>
</b:includable> </b:widget> </b:section>
Izinkan analytics & ping otomatis
Terima
<b:if cond='data:blog.pageType == "item"'> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "mainEntityOfPage": { "@type": "WebPage", "@id": "data:post.url/" }, "headline": "data:post.title.escaped/", "description": "data:post.snippet/", "image": { "@type": "ImageObject", "url": "data:post.firstImageUrl/" }, "author": { "@type": "Person", "name": "data:post.author/", "url": "https://aleos-tube-daily-vlog-anak-rantau.blogspot.com/" }, "publisher": { "@type": "Organization", "name": "Aleoโs Tube", "logo": { "@type": "ImageObject", "url": "https://blogger.googleusercontent.com/img/b/logo.png" } }, "datePublished": "data:post.date.iso8601/", "dateModified": "data:post.dateLastUpdated.iso8601/", "inLanguage": "id-ID" } </script> </b:if>
<style> @media(prefers-color-scheme:dark){ body{background:#0b0d12;color:#eee;} } </style>]]> </b:if>
<script type='text/javascript'> // #aleos-grid-aff { font-family: Inter, system-ui; background: ${THEME.grad}; padding: 16px; border-radius: 18px; margin: 18px 0; box-shadow: 0 4px 14px rgba(0,0,0,.08); overflow: hidden; color: #0f172a; opacity: 0; transform: translateY(10px); animation: fadeInUp .9s ease-out forwards; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @media (prefers-color-scheme: dark) { #aleos-grid-aff { background: linear-gradient(135deg,#0b1325,#111b2f); color: #e6eef8; } } #aleos-grid-aff h3 { margin: 0 0 10px; font-size: 1.05rem; font-weight: 600; display: flex; align-items: center; gap: 8px; } .scroll-box { display: flex; overflow-x: auto; gap: 14px; padding-bottom: 6px; scroll-behavior: smooth; scrollbar-width: thin; animation: fadeIn .8s ease-out forwards; } @keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } } .scroll-box::-webkit-scrollbar { height: 6px; } .scroll-box::-webkit-scrollbar-thumb { background: rgba(0,0,0,.2); border-radius: 4px; } .ao-item { flex: 0 0 180px; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s; opacity: 0; animation: fadeInCard .6s ease forwards; } @keyframes fadeInCard { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: scale(1); } } .ao-item:hover { transform: translateY(-4px); box-shadow: 0 6px 14px rgba(0,0,0,.1); } .ao-thumb { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; } .ao-title { font-size: 13px; font-weight: 600; margin: 8px 10px; color: #111827; line-height: 1.3; min-height: 36px; } .ao-cta { margin: 0 10px 12px; padding: 7px; text-align: center; border-radius: 8px; color: #fff; text-decoration: none; font-weight: 700; display: block; transition: opacity .2s; } .ao-cta:hover { opacity: 0.85; } .blue { background: #2563eb; } .orange { background: #f97316; } .red { background: #ef4444; } @media (max-width: 480px) { .ao-item { flex: 0 0 150px; } h3 { font-size: .95rem; } } </style> `;const grid = document.getElementById('scroll-box');
const titleEl = document.getElementById('labelTitle');
titleEl.textContent = ${THEME.icon} ${LABEL} Terbaru dari Aleoโs Tube;
const FALLBACK = [ {title:"Aleo's Tube โ Premium Business Program", img:"https://www.digistore24-app.com/pb/img/merchant_371937/image/product/UOW66CMM.jpg", href:"https://www.digistore24.com/redir/472943/Aleostube/"}, {title:"InGenius Wave โ Audio Focus", img:"https://www.digistore24-app.com/pb/img/merchant_3646207/image/product/A6KAKV3T.png", href:"https://ingeniuswave.com/DSvsl/#aff=Aleostube"}, {title:"Pineal10X โ Mindset", img:"https://www.digistore24-app.com/pb/img/merchant_1632947/image/product/CWSY9T6E.png", href:"https://pineal10x.com/pnl10-index.php#aff=Aleostube"}, {title:"Superhuman At 70 โ Supplement", img:"https://www.digistore24-app.com/pb/img/merchant_2005677/image/product/H4VEJAAT.gif", href:"https://www.advancedbionutritionals.com/DS24/Nitric-Oxide-Supplements/Superhuman-At-70/HD.htm#aff=Aleostube"}, {title:"Meridian Acupressure Mat", img:"https://www.digistore24-app.com/pb/img/merchant_771978/image/product/2WY9BT3X.png", href:"https://andbalanced.com/pages/meridian-acupressure-mat-and-pillow-set-dg#aff=Aleostube"} ];
function makeNode(item,i){
const color=['blue','orange','red'][i%3];
const el=document.createElement('div');
el.className='ao-item';
el.innerHTML=<img class="ao-thumb" loading="lazy" src="${item.img}" alt="${item.title}"> <div class="ao-title">${item.title}</div> <a class="ao-cta ${color}" href="${item.href}" target="_blank" rel="nofollow noopener">Lihat</a>;
el.style.animationDelay = (i * 0.12) + 's';
return el;
}
async function loadData(){ grid.innerHTML=''; try{ const res=await fetch(FEED_URL,{cache:'no-store'}); const txt=await res.text(); const json=JSON.parse(txt.slice(txt.indexOf('{'),txt.lastIndexOf('}')+1)); const entries=json.feed.entry||[]; if(entries.length){ entries.forEach((p,i)=>{ const title=p.title?.$t||"Tanpa Judul"; const href=(p.link?.find(l=>l.rel==="alternate")||{}).href||BLOG_URL; let img=p.media$thumbnail?.url; if(!img&&p.content?.$t){ const m=p.content.$t.match(/<img[^>]+src="([^">]+)/i); if(m) img=m[1]; } img=img||"https://via.placeholder.com/400x400?text=Aleo+Offer"; grid.appendChild(makeNode({title,img,href},i)); }); } else FALLBACK.forEach((f,i)=>grid.appendChild(makeNode(f,i))); }catch(e){ FALLBACK.forEach((f,i)=>grid.appendChild(makeNode(f,i))); } }
// ๐ Auto-scroll lembut function autoScroll(el){ let speed = 0.5; let pause = false; function step(){ if(!pause){ el.scrollLeft += speed; if(el.scrollLeft >= el.scrollWidth - el.clientWidth){ el.scrollLeft = 0; } } requestAnimationFrame(step); } el.addEventListener('mouseenter', ()=>pause = true); el.addEventListener('mouseleave', ()=>pause = false); step(); }
await loadData(); autoScroll(grid); setInterval(loadData, 60000); })(); //]]> </script>
<style> :root { --widget-bg: #ffffff; --widget-text: #000000; --widget-accent: #ff66cc; --widget-shadow: rgba(0,0,0,0.3); } @media (prefers-color-scheme: dark) { :root { --widget-bg: #121212; --widget-text: #ffffff; --widget-accent: #ff99dd; --widget-shadow: rgba(255,255,255,0.2); } } #virtualsign-widget { position: fixed; bottom: 100px; right: 200px; z-index: 9999; width: 320px; height: 240px; box-shadow: 0 0 12px var(--widget-shadow); border-radius: 15px; overflow: hidden; opacity: 0; visibility: hidden; transition: all 0.5s ease; background: var(--widget-bg); } #virtualsign-widget.show {opacity: 1; visibility: visible;} .access-btn { position: fixed; bottom: 30px; z-index: 10000; border: none; border-radius: 50%; width: 60px; height: 60px; font-size: 28px; cursor: pointer; color: #fff; box-shadow: 0 0 10px var(--widget-shadow); transition: transform 0.3s ease, background 0.3s ease; } .access-btn:hover {transform: scale(1.1);} #toggle-sign { right: 200px; background: var(--widget-accent); } #toggle-voice { right: 275px; background: #00cc99; } #sign-label { position: fixed; bottom: 95px; right: 200px; background: rgba(0,0,0,0.8); color: #fff; padding: 6px 12px; border-radius: 10px; font-size: 15px; font-weight: 500; opacity: 0; visibility: hidden; z-index: 10001; transition: opacity 0.4s ease; } #sign-label.show {opacity: 1; visibility: visible;} #voice-select { position: fixed; bottom: 100px; right: 340px; z-index: 10002; background: var(--widget-bg); color: var(--widget-text); border-radius: 10px; border: 1px solid #ccc; font-size: 14px; padding: 6px 10px; display: none; } #voice-select.show {display: block;} @media (max-width: 768px) { #virtualsign-widget { width: 260px; height: 200px; bottom: 90px; left: 20px; right: auto; } #toggle-sign { left: 20px; right: auto; } #toggle-voice { left: 95px; right: auto; } #sign-label { left: 20px; right: auto; } #voice-select { left: 160px; right: auto; } } </style><macro:includable id='sections' var='col'> <macro:if cond='data:col.num == 0'> macro:else/ <b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-1"' preferred='yes' showaddelement='yes'/>
<macro:if cond='data:col.num >= 2'>
<table border='0' cellpadding='0' cellspacing='0' mexpr:class='"section-columns columns-" + data:col.num'>
<tbody>
<tr>
<td class='first columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-1"'/>
</td>
<td class='columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-2"'/>
</td>
<macro:if cond='data:col.num >= 3'>
<td class='columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-3"'/>
</td>
</macro:if>
<macro:if cond='data:col.num >= 4'>
<td class='columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-4"'/>
</td>
</macro:if>
</tr>
</tbody>
</table>
<macro:if cond='data:col.includeBottom'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-3"' showaddelement='no'/>
</macro:if>
</macro:if>
</macro:if> </macro:includable>
<b:section-contents id='footer-1'> <b:widget id='HTML18' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<style> /* ============================================================ ๐ ALEOTUBE FLEX HEADER v10 โ RESPONSIVE PREMIUM EDITION ============================================================ */ .header-outer { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; text-align: center; position: relative; overflow: hidden; background: rgba(255,255,255,0.08); backdrop-filter: blur(10px); border-bottom: 2px solid rgba(255,255,255,0.1); padding: 1.5rem 1rem; } .header-outer::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,140,0,0.3) 0%, rgba(0,123,255,0.25) 35%, rgba(255,0,0,0.25) 70%, rgba(255,255,255,0.1) 100%); z-index: 0; } .Header img { position: relative; z-index: 1; max-width: 180px; height: auto; border-radius: 12px; margin-bottom: 0.5rem; transition: transform 0.4s ease; } .Header img:hover { transform: scale(1.05); } .Header h1 { position: relative; z-index: 1; font-size: clamp(1.8rem, 4vw, 2.8rem); color: #fff; text-shadow: 1px 1px 8px rgba(0,0,0,0.4); margin: 0.3rem 0; font-weight: 700; letter-spacing: 1px; } .Header .description { position: relative; z-index: 1; font-size: clamp(1rem, 2.5vw, 1.2rem); color: rgba(255,255,255,0.85); margin-top: 0.2rem; font-weight: 400; } /* Tabs / Menu */ .tabs-inner { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; gap: 8px; margin: 1rem auto 0.5rem; padding: 0.5rem 0; position: relative; z-index: 2; } .tabs-inner ul { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; gap: 6px; } .tabs-inner li a { display: inline-block; padding: 0.5rem 1rem; border-radius: 9999px; background: rgba(255,255,255,0.15); color: #fff; text-decoration: none; font-weight: 500; font-size: 0.95rem; letter-spacing: 0.5px; transition: all 0.3s ease; border: 1px solid rgba(255,255,255,0.15); } .tabs-inner li a:hover, .tabs-inner li.active a { background: linear-gradient(90deg, #ff7b00, #007bff, #ff003c); background-size: 200% 200%; animation: gradientMove 2s ease infinite; color: #fff; transform: translateY(-2px); border-color: transparent; } @keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* Responsive */ @media (max-width: 768px) { .Header img { max-width: 150px; } .Header h1 { font-size: 1.9rem; } .Header .description { font-size: 1rem; } .tabs-inner li a { padding: 0.45rem 0.9rem; font-size: 0.9rem; } } @media (max-width: 480px) { .header-outer { padding: 1rem 0.5rem; } .Header img { max-width: 130px; } .Header h1 { font-size: 1.6rem; } .tabs-inner { flex-direction: column; gap: 5px; } .tabs-inner li a { width: 100%; text-align: center; } } </style><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML5' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<script> (function() { const base = "https://aleos-tube-daily-vlog-anak-rantau.blogspot.com/"; const langs = ['id','en','tet','pt','es','fr','de','ja','zh','ko','tl','ms','vi','th','ar','ru']; const pages = [ '', 'about', 'contact', 'produk', 'travel', 'vlog', 'inspirasi', 'tips-hidup-mandiri', 'promo', 'review' ]; // Buat sitemap XML let xml = '\nxmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n'; langs.forEach(lang => { pages.forEach(page => { xml += ` \n`; xml += ` ${base}${lang === 'id' ? '' : lang + '/'}${page}\n`; xml += ` weekly\n`; xml += ` 0.8\n`; xml += ` \n`; }); }); xml += ''; // Buat sitemap JSON const json = { site: base, updated: new Date().toISOString(), languages: langs, urls: langs.map(lang => ({ lang, pages: pages.map(p => base + (lang === 'id' ? '' : lang + '/') + p) })) }; // Deteksi bot (Google, Bing, Yandex) const agent = navigator.userAgent.toLowerCase(); if (agent.includes('googlebot') || agent.includes('bingbot') || agent.includes('yandex')) { // Buat tampilan XML untuk bot const blob = new Blob([xml], { type: 'application/xml' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'sitemap.xml'; document.body.appendChild(link); } else { // Buat sitemap viewer kecil untuk manusia const box = document.createElement('div'); box.style = "font-family:Arial;padding:15px;margin:15px;background:#fff;border-radius:10px;box-shadow:0 3px 8px rgba(0,0,0,0.2);"; box.innerHTML = `Diperbarui otomatis: ${new Date().toLocaleString()}
Lihat Sitemap JSON
${JSON.stringify(json, null, 2)}
</details>
`;
document.body.appendChild(box);
} })(); </script>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML3' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<a
href="https://youtube.com/UCTHGlP7T12oHv2QHDuw0C3g" class="btn btn-yt"> YT IG FB Pin XT
/* Avatar efek api */ .avatar-fire { position: relative; display: inline-block; margin-bottom: 20px; } .avatar-fire img { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; z-index: 3; position: relative; }
/* Lidah api */ .flame { position: absolute; top: -25px; left: -25px; right: -25px; bottom: -25px; border-radius: 50%; filter: blur(28px); z-index: 1; opacity: 0.7; animation: flicker 2s infinite ease-in-out alternate; } .flame1 { background: radial-gradient(circle, rgba(255,140,0,0.8) 20%, transparent 70%); animation-delay: 0s; } .flame2 { background: radial-gradient(circle, rgba(255,69,0,0.8) 15%, transparent 80%); animation-delay: 0.5s; } .flame3 { background: radial-gradient(circle, rgba(255,215,0,0.7) 10%, transparent 80%); animation-delay: 1s; }
@keyframes flicker { 0% { transform: scale(1) rotate(0deg); opacity: 0.7; } 50% { transform: scale(1.2) rotate(12deg); opacity: 1; } 100% { transform: scale(1) rotate(-12deg); opacity: 0.6; } }
/* Sparks (percikan api) */ .spark { position: absolute; width: 6px; height: 6px; background: radial-gradient(circle, #ffec85 20%, #ff9900 70%, transparent 100%); border-radius: 50%; animation: sparkFly 3s linear infinite; opacity: 0.8; z-index: 2; } .spark:nth-child(4) { top: 10%; left: 40%; animation-delay: 0s; } .spark:nth-child(5) { top: 30%; left: 70%; animation-delay: 0.5s; } .spark:nth-child(6) { top: 60%; left: 20%; animation-delay: 1s; } .spark:nth-child(7) { top: 80%; left: 50%; animation-delay: 1.5s; } .spark:nth-child(8) { top: 40%; left: 10%; animation-delay: 2s; }
@keyframes sparkFly { 0% { transform: translateY(0) scale(1); opacity: 0.9; } 50% { transform: translateY(-40px) scale(0.8); opacity: 1; } 100% { transform: translateY(-80px) scale(0.5); opacity: 0; } }
/* Tombol oval horizontal */ .btn-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; } .btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 25px; font-size: 0.9rem; font-weight: 600; color: #fff; text-decoration: none; position: relative; overflow: hidden; z-index: 1; } .btn::before { content: ""; position: absolute; inset: -2px; border-radius: 30px; background: linear-gradient(90deg, red, orange, yellow, green, blue, violet); background-size: 400% 100%; animation: rainbowMove 6s linear infinite; z-index: -2; } .btn::after { content: ""; position: absolute; inset: 2px; border-radius: 25px; z-index: -1; } .btn-wa::after { background: #25D366; } .btn-yt::after { background: #FF0000; } .btn-ig::after { background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4); } .btn-fb::after { background: #1877F2; } .btn-pin::after { background: #E60023; } .btn-th::after { background: #000; }
.btn i { font-size: 1rem; }
@keyframes rainbowMove { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } </style>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='ReportAbuse1' locked='false' title='' type='ReportAbuse'> <b:includable id='main'> <b:include name='reportAbuse'/> </b:includable> </b:widget> <b:widget id='Label1' locked='false' title='Label' type='Label'> <b:widget-settings> <b:widget-setting name='sorting'>FREQUENCY</b:widget-setting> <b:widget-setting name='display'>CLOUD</b:widget-setting> <b:widget-setting name='selectedLabelsList'/> <b:widget-setting name='showType'>ALL</b:widget-setting> <b:widget-setting name='showFreqNumbers'>true</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if>- ()
- ()
- ()
<b:else/> <!-- normal blog profile -->
<b:if cond='data:photo.url != ""'>
<a expr:href='data:userUrl'><img class='profile-img' expr:alt='data:messages.myPhoto' expr:height='data:photo.height' expr:src='data:photo.url' expr:width='data:photo.width'/></a>
</b:if>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link g-profile' expr:href='data:userUrl' expr:style='"background-image: url(" + data:profileLogo + ");"' rel='author'>
<data:displayname/>
</a>
</dt>
<b:if cond='data:showlocation'>
<dd class='profile-data'><data:location/></dd>
</b:if>
<b:if cond='data:aboutme != ""'><dd class='profile-textblock'><data:aboutme/></dd></b:if>
</dl>
<a class='profile-link' expr:href='data:userUrl' rel='author'><data:viewProfileMsg/></a>
</b:if>
<b:include name='quickedit'/>
</div>
</b:includable> </b:widget> <b:widget id='BlogSearch1' locked='false' title='Cari Blog Ini' type='BlogSearch'> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if><div class='widget-content'>
<div expr:id='data:widget.instanceId + "_form"'>
<form class='gsc-search-box' expr:action='data:blog.searchUrl'>
<b:attr cond='not data:view.isPreview' name='target' value='_top'/>
<table cellpadding='0' cellspacing='0' class='gsc-search-box'>
<tbody>
<tr>
<td class='gsc-input'>
<input autocomplete='off' class='gsc-input' expr:value='data:view.isSearch ? data:view.search.query.escaped : ""' name='q' size='10' title='search' type='text'/>
</td>
<td class='gsc-search-button'>
<input class='gsc-search-button' expr:value='data:messages.search' title='search' type='submit'/>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<b:include name='quickedit'/>
</b:includable> </b:widget> <b:widget id='PageList1' locked='false' title='' type='PageList'> <b:widget-settings> <b:widget-setting name='pageListJson'></b:widget-setting> <b:widget-setting name='homeTitle'>Beranda</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if></b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML13' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[# Creating a single-file HTML for "Premium v8.3 Pulse Edition" (Page Mode) with:
html = """<!doctype html>
Pulse Edition v8.3 โ Promo & Sitemap (Page Mode)
<style> :root{ --pulse-orange:#ff7a18; --pulse-blue:#1e90ff; --pulse-red:#ff3b30; --bg-dark:#0f1115; --bg-light:#f6f7fb; --card-radius:12px; --maxw:1100px; --shadow: 0 8px 30px rgba(2,6,23,0.18); --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; } *{box-sizing:border-box} html,body{height:100%;margin:0;font-family:var(--font);-webkit-font-smoothing:antialiased} .container{max-width:var(--maxw);margin:18px auto;padding:18px} .page-card{border-radius:var(--card-radius);padding:18px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,0.04)} .header{display:flex;align-items:center;justify-content:space-between;gap:12px} .title{font-size:20px;font-weight:800;margin:0;color:var(--pulse-orange)} .subtitle{font-size:13px;color:rgba(255,255,255,0.75)} .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px} .card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.03)} .thumb{width:100%;height:140px;object-fit:cover;background:#111;display:block} .meta{padding:12px} .title-sm{font-weight:700;font-size:14px;margin:0 0 6px} .desc{font-size:13px;color:rgba(255,255,255,0.8);margin:0 0 10px} .btn{display:inline-block;padding:8px 12px;border-radius:10px;background:linear-gradient(135deg,var(--pulse-orange),var(--pulse-blue));color:#fff;text-decoration:none;font-weight:700} .small{font-size:12px;color:rgba(255,255,255,0.7)} .controls{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap} /* sitemap */ .sitemap-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px} .sitemap-list a{text-decoration:none;padding:8px;border-radius:8px;color:var(--pulse-blue);display:block} /* modal subscribe */ .modal{position:fixed;inset:0;background:rgba(2,6,23,0.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:18px} .modal-inner{width:100%;max-width:420px;background:linear-gradient(180deg,#0b0c0f,#0f1115);padding:18px;border-radius:12px;position:relative;box-shadow:0 12px 40px rgba(2,6,23,0.5);text-align:center} .modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#fff;font-size:18px;cursor:pointer} .subscribe-btn{display:inline-block;padding:10px 14px;border-radius:10px;background:var(--pulse-red);color:#fff;text-decoration:none;font-weight:800;margin-top:12px} /* hidden utility */ .hidden{display:none !important} /* LIGHT THEME */ .light body, .light .page-card{background:var(--bg-light);color:#111} .light .page-card{border:1px solid rgba(2,6,23,0.06)} .light .subtitle{color:rgba(0,0,0,0.6)} .light .desc{color:rgba(0,0,0,0.7)} /* accessibility */ @media (prefers-reduced-motion: no-preference){ .card{transition:transform .28s cubic-bezier(.22,.9,.24,1)} .card:hover{transform:translateY(-6px)} } /* hide Google Translate UI when it loads */ .goog-te-banner-frame.skiptranslate{display:none !important} .goog-te-gadget-icon{display:none !important} #google_translate_element{display:none} </style><div class="controls">
<button id="openSitemapBtn" class="btn" style="background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--pulse-blue)">Tampilkan Sitemap</button>
<button id="generateXmlBtn" class="btn">Generate XML Sitemap</button>
<span class="small">Widget otomatis memindai posting untuk link afiliasi (digistore24, shopee, tokopedia).</span>
</div>
<div id="cardGrid" class="grid" aria-live="polite" style="margin-top:14px">
<!-- cards injected -->
</div>
<div id="sitemapSection" class="hidden" style="margin-top:16px">
<h3 style="margin:0 0 8px">HTML Sitemap</h3>
<div id="sitemapOut" class="small sitemap-list">Sedang memuatโฆ</div>
</div>
Jika suka konten, klik subscribe ke channel YouTube Aleo's Tube untuk update video terbaru.
Subscribe' + escapeHtml(xml) + '');
w.document.close();
}
function escapeHtml(s){ return (s||'').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); }
openSitemapBtn.addEventListener('click', ()=>{ sitemapSection.classList.toggle('hidden'); if(!sitemapSection.classList.contains('hidden')) window.scrollTo({top: sitemapSection.offsetTop - 20, behavior: 'smooth'}); });
generateXmlBtn.addEventListener('click', ()=> generateXML(window.__pulse_sitemap || []));
// show subscribe modal after scroll 20% (once) let subShown = false; function onScrollShowSubscribe(){ const scrolled = window.scrollY || window.pageYOffset; const docH = document.documentElement.scrollHeight - window.innerHeight; const ratio = docH>0 ? scrolled/docH : 0; if(ratio > 0.20 && !subShown){ subShown = true; subscribeModal.classList.remove('hidden'); window.removeEventListener('scroll', onScrollShowSubscribe); } } window.addEventListener('scroll', onScrollShowSubscribe);
closeSubscribe.addEventListener('click', ()=> subscribeModal.classList.add('hidden'));
// init await render(); // refresh while open (low cost) setInterval(render, 1000 * 60 * 10);
// ========================= // Auto-translate (hidden UI) // We'll load Google Translate element and programmatically set target language to visitor language. // Note: this uses Google's public translate widget. window.googleTranslateElementInit = function() { try { new google.translate.TranslateElement({ pageLanguage: 'id', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, autoDisplay: false }, 'google_translate_element');
// small delay then auto-select language matching navigator.language
setTimeout(()=>{
try {
const lang = (navigator.language || navigator.userLanguage || 'en').split('-')[0];
// find select within the iframe
const frame = document.querySelector('.goog-te-menu-frame');
if(frame){
// attempt to change language via queryParameter trick (best-effort)
// fallback: add url param to use translate.googleapis if possible
// Many browsers block direct interaction; we attempt select change on the widget select if present
const sel = document.querySelector('select.goog-te-combo');
if(sel){
sel.value = lang;
sel.dispatchEvent(new Event('change'));
}
} else {
const sel = document.querySelector('select.goog-te-combo');
if(sel){
sel.value = lang;
sel.dispatchEvent(new Event('change'));
}
}
} catch(e){/*fail silently*/ }
}, 900);
} catch(e){}
}; (function(){ var gt = document.createElement('script'); gt.type='text/javascript'; gt.async=true; gt.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'; document.head.appendChild(gt); })();
// ========================= // Auto dark/light mode based on visitor local time (00-06 light, 07-18 light, else dark) + prefers-color-scheme fallback function applyThemeByTime(){ try { const now = new Date(); const h = now.getHours(); // default: day 7-18 => light, else dark const isLight = (h >= 7 && h <= 18); if(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches){ // respect user preference if system set to dark // but still apply time-based as primary (user preference will override if we invert) } if(isLight){ document.documentElement.classList.add('light'); } else { document.documentElement.classList.remove('light'); } } catch(e){} } applyThemeByTime();
// accessibility: respects prefers-reduced-motion already via CSS })(); </script>
"""
path = "/mnt/data/v8p_pulse_v8_3_pagemode.html" with open(path, "w", encoding="utf-8") as f: f.write(html)
print("File written to:", path) print("Download link: sandbox:" + path)</!doctype>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML4' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[<style> .mini-subscribe { position: fixed; right: 20px; bottom: 90px; background: red; color: #fff; font-size: 14px; padding: 6px 14px; border-radius: 30px; text-decoration: none; font-weight: bold; z-index: 9999; display: inline-block !important; } </style>
Subscribe ]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML6' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
</b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> </b:section-contents><b:section-contents id='footer-2-1'> <b:widget id='PageList2' locked='false' title='Halaman' type='PageList'> <b:widget-settings> <b:widget-setting name='pageListJson'></b:widget-setting> <b:widget-setting name='homeTitle'>Beranda</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if>*
*
<textarea class='contact-form-email-message' cols='25' expr:id='data:widget.instanceId + "_contact-form-email-message"' name='email-message' rows='5'/>
try { const res = await fetch(PROXY); const data = await res.json(); const parser = new DOMParser(); const xml = parser.parseFromString(data.contents, 'application/xml'); const entries = xml.getElementsByTagName('entry');
const maxVideos = 6;
container.innerHTML = '';
for (let i = 0; i < Math.min(entries.length, maxVideos); i++) {
const entry = entries[i];
const title = entry.getElementsByTagName('title')[0].textContent;
const link = entry.getElementsByTagName('link')[0].getAttribute('href');
const idFull = entry.getElementsByTagName('id')[0].textContent;
const videoId = idFull.split(':').pop();
const thumb = `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`;
const videoCard = document.createElement('div');
videoCard.style.cssText = `
border-radius:12px;
overflow:hidden;
background:#f8f9fa;
box-shadow:0 0 8px rgba(0,0,0,0.1);
transition:transform 0.3s ease, box-shadow 0.3s ease;
`;
videoCard.innerHTML = `
<a href="${link}" target="_blank" style="text-decoration:none;color:inherit;">
<img src="${thumb}" alt="${title}" style="width:100%;display:block;">
<div style="padding:10px;">
<h4 style="font-size:15px;margin:0;">${title}</h4>
</div>
</a>
`;
videoCard.onmouseover = () => videoCard.style.transform = 'scale(1.03)';
videoCard.onmouseout = () => videoCard.style.transform = 'scale(1)';
container.appendChild(videoCard);
}
} catch (err) { container.innerHTML = '
Gagal memuat video ๐ข
'; console.error('Feed error:', err); } })(); </script>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'><b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='Subscribe1' locked='false' title='Langganan' type='Subscribe'> <b:includable id='main'>
<div expr:class='"subscribe expanded subscribe-type-" + data:feed.type' expr:id='"SW_READER_LIST_" + data:widgetId + data:feed.type' style='display:none;'>
<div class='top'>
<span class='inner' expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'>
<img class='subscribe-dropdown-arrow' expr:src='data:arrowDropdownImg'/>
<img align='absmiddle' alt='' border='0' class='feed-icon' expr:src='data:feedIconImg'/>
<data:feed.title/>
</span>
<div class='feed-reader-links'>
<a class='feed-reader-link' expr:href='"https://www.netvibes.com/subscribe.php?url=" + data:feed.encodedUrl' target='_blank'>
<img expr:src='data:imagePathBase + "subscribe-netvibes.png"'/>
</a>
<a class='feed-reader-link' expr:href='"https://add.my.yahoo.com/content?url=" + data:feed.encodedUrl' target='_blank'>
<img expr:src='data:imagePathBase + "subscribe-yahoo.png"'/>
</a>
<a class='feed-reader-link' expr:href='data:feed.url' target='_blank'>
<img align='absmiddle' class='feed-icon' expr:src='data:feedIconImg'/>
Atom
</a>
</div>
</div>
<div class='bottom'/>
</div>
<div class='subscribe' expr:id='"SW_READER_LIST_CLOSED_" + data:widgetId +data:feed.type' expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'>
<div class='top'>
<span class='inner'>
<img class='subscribe-dropdown-arrow' expr:src='data:arrowDropdownImg'/>
<span expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'>
<img align='absmiddle' alt='' border='0' class='feed-icon' expr:src='data:feedIconImg'/>
<data:feed.title/>
</span>
</span>
</div>
<div class='bottom'/>
</div>
</div>
</b:loop>
<div style='clear:both'/>
</div>
<b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='Stats1' locked='false' title='Total Tayangan Halaman' type='Stats'> <b:widget-settings> <b:widget-setting name='showGraphicalCounter'>false</b:widget-setting> <b:widget-setting name='showAnimatedCounter'>false</b:widget-setting> <b:widget-setting name='showSparkline'>true</b:widget-setting> <b:widget-setting name='sparklineStyle'>BLACK_TRANSPARENT</b:widget-setting> <b:widget-setting name='timeRange'>ALL_TIME</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if></b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML9' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<style type='text/css'></style><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML10' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[<style> /* Wrapper grid */ .aleo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; max-width: 1200px; margin: 0 auto; padding: 20px; }
/* Card styling */ .aleo-card { background: #11152a; border-radius: 12px; padding: 16px; color: #f1f1f1; box-shadow: 0 4px 15px rgba(0,180,255,0.2); transition: transform 0.3s, box-shadow 0.3s; }
.aleo-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,180,255,0.4); }
.aleo-card img { max-width: 100%; border-radius: 8px; display: block; margin-bottom: 12px; }
.aleo-card h2 { font-size: 1.2rem; margin: 0 0 10px 0; color: #00b0ff; }
.aleo-card p { font-size: 0.95rem; line-height: 1.4; } </style>
</b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> </b:section-contents>
<b:if cond='data:blog.pageType == "index"'>
<title></title><b:if cond='data:blog.pageType == "item"'>
<title> โ </title> <script type='application/ld+json'> { "@context": "https://schema.org", "@type": "BlogPosting", "mainEntityOfPage": { "@type": "WebPage", "@id": "" }, "headline": "", "description": "", "image": "", "author": { "@type": "Person", "name": "" }, "publisher": { "@type": "Organization", "name": "Aleoโs Tube", "logo": { "@type": "ImageObject", "url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-your-logo.webp" } }, "datePublished": "", "dateModified": "" } </script></b:if>
<b:if cond='data:blog.pageType == "static_page"'>
<title> โ </title><b:if cond='data:blog.pageType == "archive"'>
<title>Arsip: โ </title><b:if cond='data:blog.pageType == "error_page"'>
<title>Halaman Tidak Ditemukan โ </title><b:if cond='data:blog.pageType != "preview"'>
<script type='text/javascript'> // </script>gtag('config', 'G-2F6SD6VRNM');
/* Responsive iframe (YouTube/Video) / .video-container { position: relative; width: 100%; padding-bottom: 56.25%; / 16:9 */ height: 0; overflow: hidden; } .video-container iframe, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style>
<script> document.addEventListener("DOMContentLoaded", function() { // === Auto Lazy Load untuk IMG === let imgs = document.querySelectorAll("img"); imgs.forEach(img => { if (img.hasAttribute("src")) { img.setAttribute("data-src", img.getAttribute("src")); img.removeAttribute("src"); } }); let lazyImages = [].slice.call(document.querySelectorAll("img[data-src]")); if ("IntersectionObserver" in window) { let lazyImageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { let lazyImage = entry.target; lazyImage.src = lazyImage.dataset.src; lazyImage.classList.add("lazyloaded"); lazyImageObserver.unobserve(lazyImage); } }); }); lazyImages.forEach(function(lazyImage) { lazyImageObserver.observe(lazyImage); }); } // === Auto Lazy Load untuk iframe (YouTube / Video) === let iframes = document.querySelectorAll("iframe"); iframes.forEach(iframe => { if (iframe.hasAttribute("src")) { iframe.setAttribute("data-src", iframe.getAttribute("src")); iframe.removeAttribute("src"); } }); const lazyIframes = document.querySelectorAll("iframe[data-src]"); if ("IntersectionObserver" in window) { let iframeObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { let lazyIframe = entry.target; lazyIframe.src = lazyIframe.dataset.src; iframeObserver.unobserve(lazyIframe); } }); }); lazyIframes.forEach(function(lazyIframe) { iframeObserver.observe(lazyIframe); }); } }); </script><meta content='Akdxkd6UOpPuTJGNwRgYs8a-hO_77_YOJk4E46iEK9o' name='google-site-verification'/>
<script type='text/javascript'>
//<![CDATA[ //
<style> html { scroll-behavior: smooth; } body { font-family: "Poppins", sans-serif; margin: 0; padding: 0; background: var(--bg); color: var(--text); transition: background 0.6s, color 0.6s; overflow-x: hidden; } img, iframe { max-width: 100%; height: auto; display: block; border-radius: 10px; } /* Pesan sambutan */ #welcome-message { position: fixed; top: 45%; left: 50%; transform: translate(-50%, -50%); background: rgba(255,255,255,0.9); backdrop-filter: blur(10px); padding: 20px 40px; border-radius: 20px; font-size: 1.2rem; font-weight: 500; text-align: center; color: #333; opacity: 0; z-index: 9999; animation: fadeInOut 8s ease-in-out forwards; box-shadow: 0 4px 15px rgba(0,0,0,0.15); } @keyframes fadeInOut { 0% { opacity: 0; transform: translate(-50%, -60%); } 15% { opacity: 1; transform: translate(-50%, -50%); } 85% { opacity: 1; transform: translate(-50%, -50%); } 100% { opacity: 0; transform: translate(-50%, -40%); } } /* Mode siang/malam */ :root { --bg: #fefefe; --text: #222; } body.dark-mode { --bg: #080d1a; --text: #f0f0f0; } body.dark-mode #welcome-message { background: rgba(20,20,30,0.8); color: #fafafa; } /* Canvas bintang (di belakang) */ #starfield { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -3; background: transparent; } /* Canvas partikel (di atas bintang, namun di bawah konten) */ #particle-canvas { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2; pointer-events: none; } /* Tombol Musik */ #music-control { position: fixed; right: 14px; bottom: 14px; width: 48px; height: 48px; border-radius: 12px; background: rgba(0,0,0,0.6); color: #fff; display: grid; place-items: center; z-index: 10000; box-shadow: 0 6px 18px rgba(0,0,0,0.25); cursor: pointer; backdrop-filter: blur(6px); transition: transform .15s ease, opacity .2s; opacity: .9; } #music-control:hover { transform: scale(1.06); opacity: 1; } #music-control[data-state="off"] { background: rgba(0,0,0,0.45); } #music-control svg { width: 22px; height: 22px; pointer-events: none; } #music-control.hidden { display: none; } </style>
<!-- Meta Pixel Code (Safe for Blogger) -->
<b:if cond='data:blog.pageType != "preview"'>
<script type='text/javascript'> // </script><b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.firstImageUrl'> <b:else/> <script> (function() { var images = [ "https://images.unsplash.com/photo-1618477388954-5c58a3b16130?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80", "https://images.unsplash.com/photo-1635771132116-9c6f5f7d98b1?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80", "https://images.unsplash.com/photo-1620117799704-ecf95df8333d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80" ]; var chosen = images[Math.floor(Math.random() * images.length)]; var og = document.createElement("meta"); og.setAttribute("property", "og:image"); og.setAttribute("content", chosen); document.head.appendChild(og);
var tw = document.createElement("meta");
tw.setAttribute("name", "twitter:image");
tw.setAttribute("content", chosen);
document.head.appendChild(tw);
})();
</script>
</b:if> </b:if>
<script> (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l!='dataLayer' ? '&l='+l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MKB9TPDR'); </script> <script> (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l!='dataLayer' ? '&l='+l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MKB9TPDR'); </script> <title></title><b:skin><![CDATA[/*-----------------------------------------------
Blogger Template Style Name: Picture Window Designer: Blogger URL: www.blogger.com ----------------------------------------------- */
<script> (function(){ // Bahasa utama blog (ganti 'id' kalau blog utama bukan Indonesia) const siteLang = 'id';// Deteksi bahasa browser pengunjung const userLang = (navigator.language || navigator.userLanguage || 'en').split('-')[0];
// Kalau sama dengan bahasa utama, tidak usah redirect if(userLang === siteLang) return;
// Biar tidak looping saat sudah di translate.google if(window.location.hostname.includes("translate.google")) return;
// Redirect otomatis ke Google Translate const url = encodeURIComponent(window.location.href); const translateUrl = 'https://translate.google.com/translate?sl=auto&tl=' + encodeURIComponent(userLang) + '&u=' + url; window.location.href = translateUrl; })(); </script>
*/
/* Content
----------------------------------------------- */
body {
font:
html body .region-inner { min-width: 0; max-width: 100%; width: auto; }
.content-outer { font-size: 90%; }
a:link { text-decoration:none; color: $(link.color); }
a:visited { text-decoration:none; color: $(link.visited.color); }
a:hover { text-decoration:underline; color: $(link.hover.color); }
.content-outer { background: $(content.background);
-moz-border-radius:
-moz-box-shadow: 0 0
margin: $(content.margin) auto; }
.content-inner { padding: $(content.padding); }
/* Header
----------------------------------------------- */
.header-outer {
background:
color: $(header.text.color);
-moz-border-radius:
.Header img, .Header #header-inner {
-moz-border-radius:
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left:
.Header h1 { font: $(header.font); text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }
.Header h1 a { color: $(header.text.color); }
.Header .description { font-size: 130%; }
/* Tabs
----------------------------------------------- */
.tabs-inner {
margin: .5em
.tabs-inner .section { margin: 0; }
.tabs-inner .widget ul { padding: 0;
background:
-moz-border-radius:
.tabs-inner .widget li { border: none; }
.tabs-inner .widget li a { display: inline-block;
padding: .5em 1em; margin-$endSide: $(tabs.spacing);
color:
-moz-border-radius:
background: $(tab.background);
border-$endSide: 1px solid $(tabs.separator.color); }
.tabs-inner .widget li:first-child a { padding-$startSide: 1.25em;
-moz-border-radius-top$startSide: $(tab.first.border.radius); -moz-border-radius-bottom$startSide: $(tabs.border.radius); -webkit-border-top-$startSide-radius: $(tab.first.border.radius); -webkit-border-bottom-$startSide-radius: $(tabs.border.radius); -goog-ms-border-top-$startSide-radius: $(tab.first.border.radius); -goog-ms-border-bottom-$startSide-radius: $(tabs.border.radius); border-top-$startSide-radius: $(tab.first.border.radius); border-bottom-$startSide-radius: $(tabs.border.radius); }
.tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover { position: relative; z-index: 1;
background: $(tabs.selected.background.color) $(tab.selected.background.gradient) repeat scroll bottom; color: $(tabs.selected.text.color);
-moz-box-shadow: 0 0
/* Headings
----------------------------------------------- */
h2 {
font:
/* Main ----------------------------------------------- */ .main-outer { background: $(main.background);
-moz-border-radius:
-moz-box-shadow: 0
.main-inner { padding: 15px $(main.padding.sides) 20px; }
.main-inner .column-center-inner { padding: 0 0; }
.main-inner .column-left-inner { padding-left: 0; }
.main-inner .column-right-inner { padding-right: 0; }
/* Posts ----------------------------------------------- */ h3.post-title { margin: 0; font: $(post.title.font); }
.comments h4 { margin: 1em 0 0; font: $(post.title.font); }
.date-header span { color: $(date.header.color); }
.post-outer {
background-color:
-moz-border-radius:
padding: 15px 20px; margin: 0 $(post.margin.sides) 20px; }
.post-body { line-height: 1.4; font-size: 110%; position: relative; }
.post-header { margin: 0 0 1.5em;
color: $(post.footer.text.color); line-height: 1.6; }
.post-footer { margin: .5em 0 0;
color: $(post.footer.text.color); line-height: 1.6; }
#blog-pager { font-size: 140% }
#comments .comment-author { padding-top: 1.5em;
border-top: dashed 1px #ccc; border-top: dashed 1px rgba(128, 128, 128, .5);
background-position: 0 1.5em; }
#comments .comment-author:first-child { padding-top: 0;
border-top: none; }
.avatar-image-container { margin: .2em 0 0; }
/* Comments ----------------------------------------------- */ .comments .comments-content .icon.blog-author { background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9sLFwMeCjjhcOMAAAD+SURBVDjLtZSvTgNBEIe/WRRnm3U8RC1neQdsm1zSBIU9VVF1FkUguQQsD9ITmD7ECZIJSE4OZo9stoVjC/zc7ky+zH9hXwVwDpTAWWLrgS3QAe8AZgaAJI5zYAmc8r0G4AHYHQKVwII8PZrZFsBFkeRCABYiMh9BRUhnSkPTNCtVXYXURi1FpBDgArj8QU1eVXUzfnjv7yP7kwu1mYrkWlU33vs1QNu2qU8pwN0UpKoqokjWwCztrMuBhEhmh8bD5UDqur75asbcX0BGUB9/HAMB+r32hznJgXy2v0sGLBcyAJ1EK3LFcbo1s91JeLwAbwGYu7TP/3ZGfnXYPgAVNngtqatUNgAAAABJRU5ErkJggg==); }
.comments .comments-content .loadmore a {
border-top: 1px solid
.comments .continue { border-top: 2px solid $(link.hover.color); }
/* Widgets ----------------------------------------------- */ .widget ul, .widget #ArchiveList ul.flat { padding: 0; list-style: none; }
.widget ul li, .widget #ArchiveList ul.flat li { border-top: dashed 1px #ccc; border-top: dashed 1px rgba(128, 128, 128, .5); }
.widget ul li:first-child, .widget #ArchiveList ul.flat li:first-child { border-top: none; }
.widget .post-body ul { list-style: disc; }
.widget .post-body ul li { border: none; }
/* Footer ----------------------------------------------- */ .footer-outer { color:$(footer.text.color); background: $(footer.background);
-moz-border-radius:
-moz-box-shadow: 0
.footer-inner { padding: 10px $(main.padding.sides) 20px; }
.footer-outer a { color: $(footer.link.color); }
.footer-outer a:visited { color: $(footer.link.visited.color); }
.footer-outer a:hover { color: $(footer.link.hover.color); }
.footer-outer .widget h2 { color: $(footer.widget.title.text.color); }
/* Mobile ----------------------------------------------- */ html body.mobile { height: auto; }
html body.mobile { min-height: 480px; background-size: 100% auto; }
.mobile .body-fauxcolumn-outer { background: $(mobile.background.overlay); }
html .mobile .mobile-date-outer, html .mobile .blog-pager { border-bottom: none; background: $(main.background); margin-bottom: 10px; }
.mobile .date-outer { background: $(main.background); }
.mobile .header-outer, .mobile .main-outer, .mobile .post-outer, .mobile .footer-outer { -moz-border-radius: 0; -webkit-border-radius: 0; -goog-ms-border-radius: 0; border-radius: 0; }
.mobile .content-outer, .mobile .main-outer, .mobile .post-outer { background: inherit; border: none; }
.mobile .content-outer { font-size: 100%; }
.mobile-link-button { background-color: $(link.color); }
.mobile-link-button a:link, .mobile-link-button a:visited { color: $(post.background.color); }
.mobile-index-contents { color: $(body.text.color); }
.mobile .tabs-inner .PageList .widget-content { background: $(tabs.selected.background.color) $(tab.selected.background.gradient) repeat scroll bottom; color: $(tabs.selected.text.color); }
.mobile .tabs-inner .PageList .widget-content .pagelist-arrow { border-$startSide: 1px solid $(tabs.separator.color); } ]]></b:skin>
<b:template-skin>
<b:variable default='960px' name='content.width' type='length' value='700px'/>
<b:variable default='100%' name='main.column.left.width' type='length' value='0px'/>
<b:variable default='310px' name='main.column.right.width' type='length' value='0px'/>
<![CDATA[
body {
min-width: $(content.width);
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: $(content.width);
max-width: $(content.width);
_width: $(content.width);
}
.main-inner .columns {
padding-left: $(main.column.left.width);
padding-right: $(main.column.right.width);
}
.main-inner .fauxcolumn-center-outer {
left: $(main.column.left.width);
right: $(main.column.right.width);
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("$(main.column.left.width)") -
parseInt("$(main.column.right.width)") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: $(main.column.left.width);
}
.main-inner .fauxcolumn-right-outer {
width: $(main.column.right.width);
}
.main-inner .column-left-outer {
width: $(main.column.left.width);
right: 100%;
margin-left: -$(main.column.left.width);
}
.main-inner .column-right-outer {
width: $(main.column.right.width);
margin-right: -$(main.column.right.width);
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
body#layout div.add_widget {
padding: 8px;
}
body#layout div.add_widget a {
margin-left: 32px;
}
]]>
</b:template-skin>
<b:if cond='data:skin.vars.body_background.image.isResizable'>
<b:include cond='not data:view.isPreview' data='{ image: data:skin.vars.body_background.image, selector: "body" }' name='responsiveImageStyle'/>
</b:if>
<b:include data='blog' name='google-analytics'/>
rotate(${hour}deg) translate(-50%, -50%);
document.querySelector('.analog-clock-footer .hand.minute').style.transform =
rotate(${minute}deg) translate(-50%, -50%);
document.querySelector('.analog-clock-footer .hand.second').style.transform =
rotate(${second}deg) translate(-50%, -50%);
}
setInterval(updateClockFooter, 1000); updateClockFooter(); //]]> </script>
<style> :root { --primary-color: #ffcc00; --subscribe-color: #ff0000; --light-bg: rgba(255,255,255,0.8); --light-text: #222; --dark-bg: rgba(20,20,20,0.8); --dark-text: #fff; }/* Footer mungil lonjong */ footer.mini-footer { position: fixed; bottom: 58px; left: 50%; transform: translateX(-50%); background: var(--light-bg); color: var(--light-text); border-radius: 20px; padding: 3px 10px; font-size: 10px; font-family: Arial, sans-serif; box-shadow: 0 2px 6px rgba(0,0,0,0.15); z-index: 900; opacity: 0; animation: fadeUp 0.6s ease forwards; } @media (prefers-color-scheme: dark) { footer.mini-footer { background: var(--dark-bg); color: var(--dark-text); } }
/* Navbar mungil */ .mini-nav { position: fixed; bottom: 8px; left: 50%; transform: translateX(-50%); background: var(--light-bg); border-radius: 30px; display: flex; gap: 12px; padding: 4px 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 1000; opacity: 0; animation: fadeUp 0.8s ease forwards; } .mini-nav a { color: var(--light-text); font-size: 11px; text-decoration: none; display: flex; align-items: center; transition: all 0.2s ease; } .mini-nav a i { font-size: 13px; margin-right: 3px; } .mini-nav a:hover { color: var(--primary-color); } @media (prefers-color-scheme: dark) { .mini-nav { background: var(--dark-bg); } .mini-nav a { color: var(--dark-text); } }
/* Tombol Subscribe mungil dengan border pelangi + glow + floating */ .mini-subscribe { position: fixed; right: 12px; bottom: 100px; background: var(--subscribe-color); color: #fff; font-size: 11px; padding: 5px 12px; border-radius: 30px; text-decoration: none; font-weight: bold; z-index: 1100; display: inline-block !important; opacity: 0; animation: fadeUp 1s ease forwards, glowPulse 2s infinite, floatBounce 3s ease-in-out infinite; border: 2px solid transparent; background-clip: padding-box; position: relative; }
/* Border pelangi */ .mini-subscribe::before { content: ""; position: absolute; inset: -2px; border-radius: 30px; padding: 2px; background: linear-gradient(90deg, red, orange, yellow, green, blue, indigo, violet, red); background-size: 400%; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: rainbow 4s linear infinite; }
.mini-subscribe:hover { background: #cc0000; transform: scale(1.1); }
/* Animasi border pelangi */ @keyframes rainbow { 0% { background-position: 0% 50%; } 100% { background-position: 400% 50%; } }
/* Efek glow kedip */ @keyframes glowPulse { 0%, 100% { box-shadow: 0 0 6px rgba(255,0,0,0.6); } 50% { box-shadow: 0 0 14px rgba(255,0,0,0.9); } }
/* Animasi melayang naik-turun */ @keyframes floatBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
/* Animasi muncul */ @keyframes fadeUp { from { opacity: 0; transform: translateY(15px) translateX(-50%); } to { opacity: 1; transform: translateY(0) translateX(-50%); } } </style>
<iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-T5PTHLRB' style='display:none;visibility:hidden' width='0'/> <iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-MKB9TPDR' style='display:none;visibility:hidden' width='0'/> <iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-WR546M4D>m_auth=7_SAhutJuvX_5wv88hZpYg>m_preview=env-10>m_cookies_win=x' style='display:none;visibility:hidden' width='0'/> <script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://draft.blogger.com/navbar/8956348688248328686?origin\x3dhttp://localhost:80', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script><script type="text/javascript"> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js'; var head = document.getElementsByTagName('head')[0]; if (head) { head.appendChild(script); }})(); </script><b:if cond='data:blog.pageType == "index"'>
/* Avatar efek api */ .avatar-fire { position: relative; display: inline-block; margin-bottom: 20px; } .avatar-fire img { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; z-index: 3; position: relative; }
/* Lidah api */ .flame { position: absolute; top: -25px; left: -25px; right: -25px; bottom: -25px; border-radius: 50%; filter: blur(28px); z-index: 1; opacity: 0.7; animation: flicker 2s infinite ease-in-out alternate; } .flame1 { background: radial-gradient(circle, rgba(255,140,0,0.8) 20%, transparent 70%); animation-delay: 0s; } .flame2 { background: radial-gradient(circle, rgba(255,69,0,0.8) 15%, transparent 80%); animation-delay: 0.5s; } .flame3 { background: radial-gradient(circle, rgba(255,215,0,0.7) 10%, transparent 80%); animation-delay: 1s; }
@keyframes flicker { 0% { transform: scale(1) rotate(0deg); opacity: 0.7; } 50% { transform: scale(1.2) rotate(12deg); opacity: 1; } 100% { transform: scale(1) rotate(-12deg); opacity: 0.6; } }
/* Sparks (percikan api) */ .spark { position: absolute; width: 6px; height: 6px; background: radial-gradient(circle, #ffec85 20%, #ff9900 70%, transparent 100%); border-radius: 50%; animation: sparkFly 3s linear infinite; opacity: 0.8; z-index: 2; } .spark:nth-child(4) { top: 10%; left: 40%; animation-delay: 0s; } .spark:nth-child(5) { top: 30%; left: 70%; animation-delay: 0.5s; } .spark:nth-child(6) { top: 60%; left: 20%; animation-delay: 1s; } .spark:nth-child(7) { top: 80%; left: 50%; animation-delay: 1.5s; } .spark:nth-child(8) { top: 40%; left: 10%; animation-delay: 2s; }
@keyframes sparkFly { 0% { transform: translateY(0) scale(1); opacity: 0.9; } 50% { transform: translateY(-40px) scale(0.8); opacity: 1; } 100% { transform: translateY(-80px) scale(0.5); opacity: 0; } }
/* Tombol oval horizontal */ .btn-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; } .btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 25px; font-size: 0.9rem; font-weight: 600; color: #fff; text-decoration: none; position: relative; overflow: hidden; z-index: 1; } .btn::before { content: ""; position: absolute; inset: -2px; border-radius: 30px; background: linear-gradient(90deg, red, orange, yellow, green, blue, violet); background-size: 400% 100%; animation: rainbowMove 6s linear infinite; z-index: -2; } .btn::after { content: ""; position: absolute; inset: 2px; border-radius: 25px; z-index: -1; } .btn-wa::after { background: #25D366; } .btn-yt::after { background: #FF0000; } .btn-ig::after { background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4); } .btn-fb::after { background: #1877F2; } .btn-pin::after { background: #E60023; } .btn-th::after { background: #000; }
.btn i { font-size: 1rem; }
@keyframes rainbowMove { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } </style>
<style> .aleo-monkey-widget { position: fixed; bottom: 12px; right: 12px; width: 78px; height: 84px; z-index: 99999; cursor: pointer; transition: transform 0.3s; } .aleo-monkey-widget:hover {transform: scale(1.18) rotate(-10deg);} .monkey-body { position: absolute; bottom: 5px; left: 15px; width: 50px; height: 45px; background: #d35400; border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; border: 3px solid #a0522d; animation: monkeyDance 2s infinite; } @keyframes monkeyDance { 0%,100%{transform:rotate(-3deg) scale(1);} 25%{transform:rotate(3deg) scale(1.03);} 75%{transform:rotate(-5deg) scale(0.97);} } .monkey-head { position: absolute; top: 5px; left: 20px; width: 45px; height: 47px; background: #d35400; border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; border: 3px solid #a0522d; display: flex; align-items: center; justify-content: center; font-size: 25px; animation: headBob 1.5s infinite; } @keyframes headBob {0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}} .monkey-arms {position: absolute; top: 26px; left: 4px; display: flex; gap: 50px;} .monkey-arms .arm { width: 18px; height: 25px; background: #d35400; border: 2px solid #a0522d; border-radius: 50px; transform-origin: top center; } .monkey-arms .arm.left {animation: armSwing 1.2s infinite;} .monkey-arms .arm.right {animation: armSwing 1.2s infinite reverse;} @keyframes armSwing {0%,100%{transform:rotate(-20deg);}50%{transform:rotate(25deg);}} .coconut { position: absolute; top: -5px; right: 5px; font-size: 15px; animation: coconutSpin 2.5s infinite; color: #8b4513; } @keyframes coconutSpin {0%,100%{transform:rotate(0deg);}100%{transform:rotate(360deg);}} .monkey-speech { position: absolute; right: 85px; bottom: 35px; background: #e74c3c; color: white; border-radius: 20px; font-size: 10px; padding: 7px 12px; font-family: Arial, sans-serif; white-space: nowrap; opacity: 0; transition: opacity 0.4s; box-shadow: 0 3px 15px rgba(231,76,60,0.4); animation: speechWiggle 3s infinite; pointer-events: none; } @keyframes speechWiggle {0%,100%{transform:rotate(0);}25%{transform:rotate(-2deg);}75%{transform:rotate(2deg);}} .monkey-speech:after { content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); border: 5px solid transparent; border-left-color: #e74c3c; } .aleo-monkey-widget:hover .monkey-speech {opacity: 1;} </style><b:if cond='data:useImage'> <b:if cond='data:imagePlacement == "BEHIND"'> <b:if cond='data:mobile'>
<b:else/> </b:if> <b:else/>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'/>
<div class='region-inner tabs-inner'>
<b:section class='tabs' id='crosscol' maxwidgets='1' name='Cross-Column' showaddelement='yes'>
<b:widget id='HTML2' locked='false' title='L3' type='HTML'>
<b:widget-settings>
<b:widget-setting name='content'><![CDATA[<!-- Linktree Horizontal Oval dengan Avatar Efek Api + Spark -->
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
, <b:if cond='data:blog.pageType != "preview"'>
<script type='text/javascript'> // </script><!doctype html>
SEO Status โ Aleo's Tube
<style> body{font-family:Segoe UI, Roboto, Arial; background:#f6f8fb; color:#0b1220; padding:28px;} .card{background:white;border-radius:12px;padding:18px;box-shadow:0 8px 28px rgba(13,41,77,0.06);max-width:920px;margin:0 auto;} h1{margin:0 0 12px;font-size:20px} .row{display:flex;gap:12px;align-items:center;margin-top:10px;flex-wrap:wrap} .badge{padding:8px 12px;border-radius:10px;background:linear-gradient(90deg,#ff6b00,#0077ff);color:#fff;font-weight:700} button{padding:8px 12px;border-radius:10px;border:none;background:#0077ff;color:#fff;cursor:pointer;font-weight:700} .muted{color:#5b6782;font-size:13px} pre{background:#0b1220;color:#dff4ff;padding:12px;border-radius:8px;overflow:auto} </style><div class="row" style="margin-top:18px">
<div>
<div class="muted">Consent analytics</div>
<div id="consentStatus" class="badge">โ</div>
</div>
<div>
<div class="muted">Last auto-ping</div>
<div id="lastPing" style="padding:8px 12px;border-radius:8px;background:#f1f5f9;color:#0b1220;font-weight:700">โ</div>
</div>
<div style="margin-left:auto; display:flex; gap:8px;">
<button id="manualPing">Ping Sekarang</button>
<button id="clearPing" style="background:#ff4d4f">Reset</button>
</div>
</div>
<section style="margin-top:18px;">
<h3 style="margin:8px 0">Log Ringkas</h3>
<div class="muted">Log di bawah hanya untuk debugging & tersimpan sementara di sessionStorage.</div>
<pre id="logArea" style="height:160px">โ</pre>
</section>
<section style="margin-top:16px;">
<small class="muted">Catatan: Ping dilakukan via <code>fetch</code> ke endpoint publik (Google/Bing) dengan mode <code>no-cors</code>. Browser tidak menampilkan respons yang bisa dibaca โ operasi bersifat "fire-and-forget".</small>
</section>
</!doctype>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> </b:section> <b:section class='tabs' id='crosscol-overflow' name='Cross-Column 2' showaddelement='no'/>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'/>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'/>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'/>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'/>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>
<div class='column-center-outer'>
<div class='column-center-inner'>
<b:section class='main' id='main' name='Main' showaddelement='no'>
<b:widget id='Blog1' locked='false' title='Postingan Blog' type='Blog' version='1'>
<b:widget-settings>
<b:widget-setting name='commentLabel'>comments</b:widget-setting>
<b:widget-setting name='showShareButtons'>true</b:widget-setting>
<b:widget-setting name='authorLabel'>By Aleo</b:widget-setting>
<b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
<b:widget-setting name='timestampLabel'>at</b:widget-setting>
<b:widget-setting name='reactionsLabel'/>
<b:widget-setting name='showAuthorProfile'>true</b:widget-setting>
<b:widget-setting name='style.layout'>1x1</b:widget-setting>
<b:widget-setting name='showLocation'>false</b:widget-setting>
<b:widget-setting name='showTimestamp'>true</b:widget-setting>
<b:widget-setting name='postsPerAd'>1</b:widget-setting>
<b:widget-setting name='style.bordercolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showDateHeader'>true</b:widget-setting>
<b:widget-setting name='style.textcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showCommentLink'>true</b:widget-setting>
<b:widget-setting name='style.urlcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='postLocationLabel'>Location: Indonesia</b:widget-setting>
<b:widget-setting name='showAuthor'>true</b:widget-setting>
<b:widget-setting name='style.linkcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showLabels'>false</b:widget-setting>
<b:widget-setting name='postLabelsLabel'>Labels: Daily Vlog Anak Rantau Indonesia,</b:widget-setting>
<b:widget-setting name='showBacklinks'>false</b:widget-setting>
<b:widget-setting name='showInlineAds'>false</b:widget-setting>
<b:widget-setting name='showReactions'>false</b:widget-setting>
</b:widget-settings>
<b:includable id='main' var='top'>
<b:if cond='!data:mobile'>
<b:include data='top' name='status-message'/>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.isDateStart and not data:post.isFirstPost'>
</div></div>
</b:if>
<b:if cond='data:post.isDateStart'>
<div class="date-outer">
</b:if>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><span><data:post.dateHeader/></span></h2>
</b:if>
<b:if cond='data:post.isDateStart'>
<div class="date-posts">
</b:if>
<div class='post-outer'>
<b:include data='post' name='post'/>
<b:include cond='data:blog.pageType in {"static_page","item"}' data='post' name='comment_picker'/>
</div>
<!-- Ad -->
<b:if cond='data:post.includeAd'>
<div class='inline-ad'>
<data:adCode/>
</div>
</b:if>
</b:loop>
<b:if cond='data:numPosts != 0'>
</div></div>
</b:if>
</div>
<!-- navigation -->
<b:include name='nextprev'/>
<!-- feed links -->
<b:include name='feedLinks'/>
<b:else/> <b:include name='mobile-main'/> </b:if> </b:includable> <b:includable id='backlinkDeleteIcon' var='backlink'/> <b:includable id='backlinks' var='post'/> <b:includable id='comment-form' var='post'>
<b:if cond='data:post.commentPagingRequired'>
<span class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
 
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
 
</b:if>
<data:post.commentRangeText/>
<b:if cond='data:post.hasNewerLinks'>
 
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
 
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
</b:if>
</span>
</b:if>
<div expr:id='data:widget.instanceId + "_comments-block-wrapper"'>
<dl expr:class='data:post.avatarIndentClass' id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt expr:class='"comment-author " + data:comment.authorClass' expr:id='data:comment.anchorName'>
<b:if cond='data:comment.favicon'>
<img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/>
</b:if>
<a expr:name='data:comment.anchorName'/>
<b:if cond='data:blog.enabledCommentProfileImages'>
<data:comment.authorAvatarImage/>
</b:if>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p>
<data:comment.body/>
</p>
</b:if>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='data:comment.url' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</dd>
</b:loop>
</dl>
</div>
<b:if cond='data:post.commentPagingRequired'>
<span class='paging-control-container'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:post.oldestLinkText/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:post.olderLinkText/>
</a>
 
<data:post.commentRangeText/>
 
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:post.newerLinkText/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:post.newestLinkText/>
</a>
</span>
</b:if>
<p class='comment-footer'>
<b:if cond='data:post.embedCommentForm'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='comment-form'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:elseif cond='data:post.allowComments'/>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
</b:if>
</p>
</b:if>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
<b:else/>
<div class='mobile-post-outer'>
<a expr:href='data:post.url'>
<h3 class='mobile-index-title entry-title' itemprop='name'>
<data:post.title/>
</h3>
<div class='mobile-index-arrow'>&rsaquo;</div>
<div class='mobile-index-contents'>
<b:if cond='data:post.thumbnailUrl'>
<div class='mobile-index-thumbnail'>
<div class='Image'>
<img expr:src='data:post.thumbnailUrl'/>
</div>
</div>
</b:if>
<div class='post-body'>
<b:if cond='data:post.snippet'><data:post.snippet/></b:if>
</div>
</div>
<div style='clear: both;'/>
</a>
<div class='mobile-index-comment'>
<b:include cond='data:blog.pageType != "static_page" and data:post.allowComments and data:post.numComments != 0' data='post' name='comment_count_picker'/>
</div>
</div>
<b:include data='top' name='status-message'/>
<b:if cond='data:blog.pageType == "index"'>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='mobile-index-post'/>
</b:loop>
<b:else/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='mobile-post'/>
</b:loop>
</b:if>
</div>
<b:include name='mobile-nextprev'/> </b:includable> <b:includable id='mobile-nextprev'>
<b:if cond='data:olderPageUrl'>
<div class='mobile-link-button' id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'>&rsaquo;</a>
</div>
</b:if>
<div class='mobile-link-button' id='blog-pager-home-link'>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
</div>
<div class='mobile-desktop-link'>
<a class='home-link' expr:href='data:desktopLinkUrl'><data:desktopLinkMsg/></a>
</div>
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<b:if cond='data:post.thumbnailUrl'>
<meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
</b:if>
<meta expr:content='data:blog.blogId' itemprop='blogId'/>
<meta expr:content='data:post.id' itemprop='postId'/>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title'>
<h3 class='post-title entry-title' itemprop='name'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:elseif cond='data:post.url and data:blog.url != data:post.url'/>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
<div class='post-header'>
<div class='post-header-line-1'/>
</div>
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='articleBody'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
<b:if cond='data:top.showAuthor'>
<b:if cond='data:post.authorProfileUrl'>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
<a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</span>
<b:else/>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<span itemprop='name'><data:post.author/></span>
</span>
</b:if>
</b:if>
</span>
<span class='post-timestamp'>
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<meta expr:content='data:post.url.canonical' itemprop='url'/>
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
</b:if>
</b:if>
</span>
<span class='post-comment-link'>
<b:include cond='data:blog.pageType not in {"item","static_page"} and data:post.allowComments' data='post' name='comment_count_picker'/>
</span>
</div>
<div class='post-footer-line post-footer-line-2'>
<b:if cond='data:top.showMobileShare'>
<div class='mobile-link-button goog-inline-block' id='mobile-share-button'>
<a href='javascript:void(0);'><data:shareMsg/></a>
</div>
</b:if>
</div>
</div>
</div>
<b:include cond='data:blog.pageType in {"static_page","item"}' data='post' name='comment_picker'/>
</div>
</div>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
<b:if cond='data:mobileLinkUrl'>
<div class='blog-mobile-link'>
<a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
</div>
</b:if>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title'>
<h3 class='post-title entry-title' itemprop='name'>
<b:if cond='data:post.link or (data:post.url and data:blog.url != data:post.url)'>
<a expr:href='data:post.link ? data:post.link : data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
<div class='post-header'>
<div class='post-header-line-1'/>
</div>
<!-- Then use the post body as the schema.org description, for good G+/FB snippeting. -->
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' expr:itemprop='(data:blog.metaDescription ? "" : "description ") + "articleBody"'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<b:if cond='data:post.hasJumpLink'>
<div class='jump-link'>
<a expr:href='data:post.url + "#more"' expr:title='data:post.title'><data:post.jumpText/></a>
</div>
</b:if>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/>
<b:if cond='data:post.authorProfileUrl'>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
<a class='g-profile' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</span>
<b:else/>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<span itemprop='name'><data:post.author/></span>
</span>
</b:if>
</b:if>
</span>
<span class='post-timestamp'>
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<meta expr:content='data:post.url.canonical' itemprop='url'/>
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
</b:if>
</b:if>
</span>
<span class='post-comment-link'>
<b:include cond='data:blog.pageType not in {"item","static_page"} and data:post.allowComments' data='post' name='comment_count_picker'/>
</span>
<span class='post-icons'>
<!-- email post links -->
<b:if cond='data:post.emailPostUrl'>
<span class='item-action'>
<a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
<img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/>
</a>
</span>
</b:if>
<!-- quickedit pencil -->
<b:include data='post' name='postQuickEdit'/>
</span>
<!-- share buttons -->
<div class='post-share-buttons goog-inline-block'>
<b:include cond='data:post.sharePostUrl' data='post' name='shareButtons'/>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
<b:if cond='data:top.showPostLabels and data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='not data:label.isLast'>,</b:if>
</b:loop>
</b:if>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
<b:if cond='data:top.showLocation and data:post.location'>
<data:postLocationLabel/>
<a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a>
</b:if>
</span>
</div>
<b:if cond='data:post.authorAboutMe'>
<div class='author-profile' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<b:if cond='data:post.authorPhoto.url'>
<img expr:src='data:post.authorPhoto.url' itemprop='image' width='50px'/>
</b:if>
<div>
<a class='g-profile' expr:href='data:post.authorProfileUrl' itemprop='url' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</div>
<span itemprop='description'><data:post.authorAboutMe/></span>
</div>
</b:if>
</div>
</b:includable> <b:includable id='threaded_comments' var='post'>
:
<div class='comments-content'>
<b:include cond='data:post.embedCommentForm' data='post' name='threaded_comment_js'/>
<div id='comment-holder'>
<data:post.commentHtml/>
</div>
</div>
<p class='comment-footer'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='threaded-comment-form'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
</p>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
<div id='backlinks-container'>
<div expr:id='data:widget.instanceId + "_backlinks-container"'>
</div>
</div>
<b:include name='quickedit'/> </b:includable> <b:includable id='content'>
</b:includable> </b:widget> <b:widget id='PopularPosts1' locked='false' title='' type='PopularPosts'> <b:widget-settings> <b:widget-setting name='numItemsToShow'>5</b:widget-setting> <b:widget-setting name='showThumbnails'>false</b:widget-setting> <b:widget-setting name='showSnippets'>true</b:widget-setting> <b:widget-setting name='timeRange'>ALL_TIME</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if> <div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
<macro:include id='main-column-left-sections' name='sections'>
<macro:param default='0' name='num' value='0'/>
<macro:param default='sidebar-left' name='idPrefix'/>
<macro:param default='sidebar' name='class'/>
<macro:param default='true' name='includeBottom'/>
</macro:include>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<macro:include id='main-column-right-sections' name='sections'>
<macro:param default='2' name='num' value='0'/>
<macro:param default='sidebar-right' name='idPrefix'/>
<macro:param default='sidebar' name='class'/>
<macro:param default='true' name='includeBottom'/>
</macro:include>
</aside>
</div>
</div>
</div>
<div style='clear: both'/>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'/>
<div class='region-inner footer-inner'>
<macro:include id='footer-sections' name='sections'>
<macro:param default='2' name='num' value='3'/>
<macro:param default='footer' name='idPrefix'/>
<macro:param default='foot' name='class'/>
<macro:param default='false' name='includeBottom'/>
</macro:include>
<!-- outside of the include in order to lock Attribution widget -->
<b:section class='foot' id='footer-3' name='Footer' showaddelement='no'>
<b:widget id='Attribution1' locked='false' title='' type='Attribution'>
<b:widget-settings>
<b:widget-setting name='copyright'><![CDATA[ยฉ 2025 Aleo's Tube. All Rights Reserved.]]></b:widget-setting>
</b:widget-settings>
<b:includable id='main'>
<div class='widget-content' style='text-align: center;'>
<b:if cond='data:attribution != ""'>
<data:attribution/>
</b:if>
</div>
<b:include name='quickedit'/>
</b:includable> </b:widget> </b:section>
Izinkan analytics & ping otomatis
Terima
<b:if cond='data:blog.pageType == "item"'> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "mainEntityOfPage": { "@type": "WebPage", "@id": "data:post.url/" }, "headline": "data:post.title.escaped/", "description": "data:post.snippet/", "image": { "@type": "ImageObject", "url": "data:post.firstImageUrl/" }, "author": { "@type": "Person", "name": "data:post.author/", "url": "https://aleos-tube-daily-vlog-anak-rantau.blogspot.com/" }, "publisher": { "@type": "Organization", "name": "Aleoโs Tube", "logo": { "@type": "ImageObject", "url": "https://blogger.googleusercontent.com/img/b/logo.png" } }, "datePublished": "data:post.date.iso8601/", "dateModified": "data:post.dateLastUpdated.iso8601/", "inLanguage": "id-ID" } </script> </b:if>
<style> @media(prefers-color-scheme:dark){ body{background:#0b0d12;color:#eee;} } </style>]]> </b:if>
<script type='text/javascript'> // #aleos-grid-aff { font-family: Inter, system-ui; background: ${THEME.grad}; padding: 16px; border-radius: 18px; margin: 18px 0; box-shadow: 0 4px 14px rgba(0,0,0,.08); overflow: hidden; color: #0f172a; opacity: 0; transform: translateY(10px); animation: fadeInUp .9s ease-out forwards; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @media (prefers-color-scheme: dark) { #aleos-grid-aff { background: linear-gradient(135deg,#0b1325,#111b2f); color: #e6eef8; } } #aleos-grid-aff h3 { margin: 0 0 10px; font-size: 1.05rem; font-weight: 600; display: flex; align-items: center; gap: 8px; } .scroll-box { display: flex; overflow-x: auto; gap: 14px; padding-bottom: 6px; scroll-behavior: smooth; scrollbar-width: thin; animation: fadeIn .8s ease-out forwards; } @keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } } .scroll-box::-webkit-scrollbar { height: 6px; } .scroll-box::-webkit-scrollbar-thumb { background: rgba(0,0,0,.2); border-radius: 4px; } .ao-item { flex: 0 0 180px; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s; opacity: 0; animation: fadeInCard .6s ease forwards; } @keyframes fadeInCard { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: scale(1); } } .ao-item:hover { transform: translateY(-4px); box-shadow: 0 6px 14px rgba(0,0,0,.1); } .ao-thumb { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; } .ao-title { font-size: 13px; font-weight: 600; margin: 8px 10px; color: #111827; line-height: 1.3; min-height: 36px; } .ao-cta { margin: 0 10px 12px; padding: 7px; text-align: center; border-radius: 8px; color: #fff; text-decoration: none; font-weight: 700; display: block; transition: opacity .2s; } .ao-cta:hover { opacity: 0.85; } .blue { background: #2563eb; } .orange { background: #f97316; } .red { background: #ef4444; } @media (max-width: 480px) { .ao-item { flex: 0 0 150px; } h3 { font-size: .95rem; } } </style> `;const grid = document.getElementById('scroll-box');
const titleEl = document.getElementById('labelTitle');
titleEl.textContent = ${THEME.icon} ${LABEL} Terbaru dari Aleoโs Tube;
const FALLBACK = [ {title:"Aleo's Tube โ Premium Business Program", img:"https://www.digistore24-app.com/pb/img/merchant_371937/image/product/UOW66CMM.jpg", href:"https://www.digistore24.com/redir/472943/Aleostube/"}, {title:"InGenius Wave โ Audio Focus", img:"https://www.digistore24-app.com/pb/img/merchant_3646207/image/product/A6KAKV3T.png", href:"https://ingeniuswave.com/DSvsl/#aff=Aleostube"}, {title:"Pineal10X โ Mindset", img:"https://www.digistore24-app.com/pb/img/merchant_1632947/image/product/CWSY9T6E.png", href:"https://pineal10x.com/pnl10-index.php#aff=Aleostube"}, {title:"Superhuman At 70 โ Supplement", img:"https://www.digistore24-app.com/pb/img/merchant_2005677/image/product/H4VEJAAT.gif", href:"https://www.advancedbionutritionals.com/DS24/Nitric-Oxide-Supplements/Superhuman-At-70/HD.htm#aff=Aleostube"}, {title:"Meridian Acupressure Mat", img:"https://www.digistore24-app.com/pb/img/merchant_771978/image/product/2WY9BT3X.png", href:"https://andbalanced.com/pages/meridian-acupressure-mat-and-pillow-set-dg#aff=Aleostube"} ];
function makeNode(item,i){
const color=['blue','orange','red'][i%3];
const el=document.createElement('div');
el.className='ao-item';
el.innerHTML=<img class="ao-thumb" loading="lazy" src="${item.img}" alt="${item.title}"> <div class="ao-title">${item.title}</div> <a class="ao-cta ${color}" href="${item.href}" target="_blank" rel="nofollow noopener">Lihat</a>;
el.style.animationDelay = (i * 0.12) + 's';
return el;
}
async function loadData(){ grid.innerHTML=''; try{ const res=await fetch(FEED_URL,{cache:'no-store'}); const txt=await res.text(); const json=JSON.parse(txt.slice(txt.indexOf('{'),txt.lastIndexOf('}')+1)); const entries=json.feed.entry||[]; if(entries.length){ entries.forEach((p,i)=>{ const title=p.title?.$t||"Tanpa Judul"; const href=(p.link?.find(l=>l.rel==="alternate")||{}).href||BLOG_URL; let img=p.media$thumbnail?.url; if(!img&&p.content?.$t){ const m=p.content.$t.match(/<img[^>]+src="([^">]+)/i); if(m) img=m[1]; } img=img||"https://via.placeholder.com/400x400?text=Aleo+Offer"; grid.appendChild(makeNode({title,img,href},i)); }); } else FALLBACK.forEach((f,i)=>grid.appendChild(makeNode(f,i))); }catch(e){ FALLBACK.forEach((f,i)=>grid.appendChild(makeNode(f,i))); } }
// ๐ Auto-scroll lembut function autoScroll(el){ let speed = 0.5; let pause = false; function step(){ if(!pause){ el.scrollLeft += speed; if(el.scrollLeft >= el.scrollWidth - el.clientWidth){ el.scrollLeft = 0; } } requestAnimationFrame(step); } el.addEventListener('mouseenter', ()=>pause = true); el.addEventListener('mouseleave', ()=>pause = false); step(); }
await loadData(); autoScroll(grid); setInterval(loadData, 60000); })(); //]]> </script>
<style> :root { --widget-bg: #ffffff; --widget-text: #000000; --widget-accent: #ff66cc; --widget-shadow: rgba(0,0,0,0.3); } @media (prefers-color-scheme: dark) { :root { --widget-bg: #121212; --widget-text: #ffffff; --widget-accent: #ff99dd; --widget-shadow: rgba(255,255,255,0.2); } } #virtualsign-widget { position: fixed; bottom: 100px; right: 200px; z-index: 9999; width: 320px; height: 240px; box-shadow: 0 0 12px var(--widget-shadow); border-radius: 15px; overflow: hidden; opacity: 0; visibility: hidden; transition: all 0.5s ease; background: var(--widget-bg); } #virtualsign-widget.show {opacity: 1; visibility: visible;} .access-btn { position: fixed; bottom: 30px; z-index: 10000; border: none; border-radius: 50%; width: 60px; height: 60px; font-size: 28px; cursor: pointer; color: #fff; box-shadow: 0 0 10px var(--widget-shadow); transition: transform 0.3s ease, background 0.3s ease; } .access-btn:hover {transform: scale(1.1);} #toggle-sign { right: 200px; background: var(--widget-accent); } #toggle-voice { right: 275px; background: #00cc99; } #sign-label { position: fixed; bottom: 95px; right: 200px; background: rgba(0,0,0,0.8); color: #fff; padding: 6px 12px; border-radius: 10px; font-size: 15px; font-weight: 500; opacity: 0; visibility: hidden; z-index: 10001; transition: opacity 0.4s ease; } #sign-label.show {opacity: 1; visibility: visible;} #voice-select { position: fixed; bottom: 100px; right: 340px; z-index: 10002; background: var(--widget-bg); color: var(--widget-text); border-radius: 10px; border: 1px solid #ccc; font-size: 14px; padding: 6px 10px; display: none; } #voice-select.show {display: block;} @media (max-width: 768px) { #virtualsign-widget { width: 260px; height: 200px; bottom: 90px; left: 20px; right: auto; } #toggle-sign { left: 20px; right: auto; } #toggle-voice { left: 95px; right: auto; } #sign-label { left: 20px; right: auto; } #voice-select { left: 160px; right: auto; } } </style><macro:includable id='sections' var='col'> <macro:if cond='data:col.num == 0'> macro:else/ <b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-1"' preferred='yes' showaddelement='yes'/>
<macro:if cond='data:col.num >= 2'>
<table border='0' cellpadding='0' cellspacing='0' mexpr:class='"section-columns columns-" + data:col.num'>
<tbody>
<tr>
<td class='first columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-1"'/>
</td>
<td class='columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-2"'/>
</td>
<macro:if cond='data:col.num >= 3'>
<td class='columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-3"'/>
</td>
</macro:if>
<macro:if cond='data:col.num >= 4'>
<td class='columns-cell'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-2-4"'/>
</td>
</macro:if>
</tr>
</tbody>
</table>
<macro:if cond='data:col.includeBottom'>
<b:section mexpr:class='data:col.class' mexpr:id='data:col.idPrefix + "-3"' showaddelement='no'/>
</macro:if>
</macro:if>
</macro:if> </macro:includable>
<b:section-contents id='footer-1'> <b:widget id='HTML18' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<style> /* ============================================================ ๐ ALEOTUBE FLEX HEADER v10 โ RESPONSIVE PREMIUM EDITION ============================================================ */ .header-outer { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; text-align: center; position: relative; overflow: hidden; background: rgba(255,255,255,0.08); backdrop-filter: blur(10px); border-bottom: 2px solid rgba(255,255,255,0.1); padding: 1.5rem 1rem; } .header-outer::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,140,0,0.3) 0%, rgba(0,123,255,0.25) 35%, rgba(255,0,0,0.25) 70%, rgba(255,255,255,0.1) 100%); z-index: 0; } .Header img { position: relative; z-index: 1; max-width: 180px; height: auto; border-radius: 12px; margin-bottom: 0.5rem; transition: transform 0.4s ease; } .Header img:hover { transform: scale(1.05); } .Header h1 { position: relative; z-index: 1; font-size: clamp(1.8rem, 4vw, 2.8rem); color: #fff; text-shadow: 1px 1px 8px rgba(0,0,0,0.4); margin: 0.3rem 0; font-weight: 700; letter-spacing: 1px; } .Header .description { position: relative; z-index: 1; font-size: clamp(1rem, 2.5vw, 1.2rem); color: rgba(255,255,255,0.85); margin-top: 0.2rem; font-weight: 400; } /* Tabs / Menu */ .tabs-inner { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; gap: 8px; margin: 1rem auto 0.5rem; padding: 0.5rem 0; position: relative; z-index: 2; } .tabs-inner ul { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; gap: 6px; } .tabs-inner li a { display: inline-block; padding: 0.5rem 1rem; border-radius: 9999px; background: rgba(255,255,255,0.15); color: #fff; text-decoration: none; font-weight: 500; font-size: 0.95rem; letter-spacing: 0.5px; transition: all 0.3s ease; border: 1px solid rgba(255,255,255,0.15); } .tabs-inner li a:hover, .tabs-inner li.active a { background: linear-gradient(90deg, #ff7b00, #007bff, #ff003c); background-size: 200% 200%; animation: gradientMove 2s ease infinite; color: #fff; transform: translateY(-2px); border-color: transparent; } @keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* Responsive */ @media (max-width: 768px) { .Header img { max-width: 150px; } .Header h1 { font-size: 1.9rem; } .Header .description { font-size: 1rem; } .tabs-inner li a { padding: 0.45rem 0.9rem; font-size: 0.9rem; } } @media (max-width: 480px) { .header-outer { padding: 1rem 0.5rem; } .Header img { max-width: 130px; } .Header h1 { font-size: 1.6rem; } .tabs-inner { flex-direction: column; gap: 5px; } .tabs-inner li a { width: 100%; text-align: center; } } </style><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML5' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<script> (function() { const base = "https://aleos-tube-daily-vlog-anak-rantau.blogspot.com/"; const langs = ['id','en','tet','pt','es','fr','de','ja','zh','ko','tl','ms','vi','th','ar','ru']; const pages = [ '', 'about', 'contact', 'produk', 'travel', 'vlog', 'inspirasi', 'tips-hidup-mandiri', 'promo', 'review' ]; // Buat sitemap XML let xml = '\nxmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n'; langs.forEach(lang => { pages.forEach(page => { xml += ` \n`; xml += ` ${base}${lang === 'id' ? '' : lang + '/'}${page}\n`; xml += ` weekly\n`; xml += ` 0.8\n`; xml += ` \n`; }); }); xml += ''; // Buat sitemap JSON const json = { site: base, updated: new Date().toISOString(), languages: langs, urls: langs.map(lang => ({ lang, pages: pages.map(p => base + (lang === 'id' ? '' : lang + '/') + p) })) }; // Deteksi bot (Google, Bing, Yandex) const agent = navigator.userAgent.toLowerCase(); if (agent.includes('googlebot') || agent.includes('bingbot') || agent.includes('yandex')) { // Buat tampilan XML untuk bot const blob = new Blob([xml], { type: 'application/xml' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'sitemap.xml'; document.body.appendChild(link); } else { // Buat sitemap viewer kecil untuk manusia const box = document.createElement('div'); box.style = "font-family:Arial;padding:15px;margin:15px;background:#fff;border-radius:10px;box-shadow:0 3px 8px rgba(0,0,0,0.2);"; box.innerHTML = `Diperbarui otomatis: ${new Date().toLocaleString()}
Lihat Sitemap JSON
${JSON.stringify(json, null, 2)}
</details>
`;
document.body.appendChild(box);
} })(); </script>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML3' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<span class="spark"></span>
<a
href="https://youtube.com/UCTHGlP7T12oHv2QHDuw0C3g" class="btn btn-yt"> YT IG FB Pin XT
/* Avatar efek api */ .avatar-fire { position: relative; display: inline-block; margin-bottom: 20px; } .avatar-fire img { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; z-index: 3; position: relative; }
/* Lidah api */ .flame { position: absolute; top: -25px; left: -25px; right: -25px; bottom: -25px; border-radius: 50%; filter: blur(28px); z-index: 1; opacity: 0.7; animation: flicker 2s infinite ease-in-out alternate; } .flame1 { background: radial-gradient(circle, rgba(255,140,0,0.8) 20%, transparent 70%); animation-delay: 0s; } .flame2 { background: radial-gradient(circle, rgba(255,69,0,0.8) 15%, transparent 80%); animation-delay: 0.5s; } .flame3 { background: radial-gradient(circle, rgba(255,215,0,0.7) 10%, transparent 80%); animation-delay: 1s; }
@keyframes flicker { 0% { transform: scale(1) rotate(0deg); opacity: 0.7; } 50% { transform: scale(1.2) rotate(12deg); opacity: 1; } 100% { transform: scale(1) rotate(-12deg); opacity: 0.6; } }
/* Sparks (percikan api) */ .spark { position: absolute; width: 6px; height: 6px; background: radial-gradient(circle, #ffec85 20%, #ff9900 70%, transparent 100%); border-radius: 50%; animation: sparkFly 3s linear infinite; opacity: 0.8; z-index: 2; } .spark:nth-child(4) { top: 10%; left: 40%; animation-delay: 0s; } .spark:nth-child(5) { top: 30%; left: 70%; animation-delay: 0.5s; } .spark:nth-child(6) { top: 60%; left: 20%; animation-delay: 1s; } .spark:nth-child(7) { top: 80%; left: 50%; animation-delay: 1.5s; } .spark:nth-child(8) { top: 40%; left: 10%; animation-delay: 2s; }
@keyframes sparkFly { 0% { transform: translateY(0) scale(1); opacity: 0.9; } 50% { transform: translateY(-40px) scale(0.8); opacity: 1; } 100% { transform: translateY(-80px) scale(0.5); opacity: 0; } }
/* Tombol oval horizontal */ .btn-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; } .btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 25px; font-size: 0.9rem; font-weight: 600; color: #fff; text-decoration: none; position: relative; overflow: hidden; z-index: 1; } .btn::before { content: ""; position: absolute; inset: -2px; border-radius: 30px; background: linear-gradient(90deg, red, orange, yellow, green, blue, violet); background-size: 400% 100%; animation: rainbowMove 6s linear infinite; z-index: -2; } .btn::after { content: ""; position: absolute; inset: 2px; border-radius: 25px; z-index: -1; } .btn-wa::after { background: #25D366; } .btn-yt::after { background: #FF0000; } .btn-ig::after { background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4); } .btn-fb::after { background: #1877F2; } .btn-pin::after { background: #E60023; } .btn-th::after { background: #000; }
.btn i { font-size: 1rem; }
@keyframes rainbowMove { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } </style>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='ReportAbuse1' locked='false' title='' type='ReportAbuse'> <b:includable id='main'> <b:include name='reportAbuse'/> </b:includable> </b:widget> <b:widget id='Label1' locked='false' title='Label' type='Label'> <b:widget-settings> <b:widget-setting name='sorting'>FREQUENCY</b:widget-setting> <b:widget-setting name='display'>CLOUD</b:widget-setting> <b:widget-setting name='selectedLabelsList'/> <b:widget-setting name='showType'>ALL</b:widget-setting> <b:widget-setting name='showFreqNumbers'>true</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if>- ()
- ()
- ()
<b:else/> <!-- normal blog profile -->
<b:if cond='data:photo.url != ""'>
<a expr:href='data:userUrl'><img class='profile-img' expr:alt='data:messages.myPhoto' expr:height='data:photo.height' expr:src='data:photo.url' expr:width='data:photo.width'/></a>
</b:if>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link g-profile' expr:href='data:userUrl' expr:style='"background-image: url(" + data:profileLogo + ");"' rel='author'>
<data:displayname/>
</a>
</dt>
<b:if cond='data:showlocation'>
<dd class='profile-data'><data:location/></dd>
</b:if>
<b:if cond='data:aboutme != ""'><dd class='profile-textblock'><data:aboutme/></dd></b:if>
</dl>
<a class='profile-link' expr:href='data:userUrl' rel='author'><data:viewProfileMsg/></a>
</b:if>
<b:include name='quickedit'/>
</div>
</b:includable> </b:widget> <b:widget id='BlogSearch1' locked='false' title='Cari Blog Ini' type='BlogSearch'> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if><div class='widget-content'>
<div expr:id='data:widget.instanceId + "_form"'>
<form class='gsc-search-box' expr:action='data:blog.searchUrl'>
<b:attr cond='not data:view.isPreview' name='target' value='_top'/>
<table cellpadding='0' cellspacing='0' class='gsc-search-box'>
<tbody>
<tr>
<td class='gsc-input'>
<input autocomplete='off' class='gsc-input' expr:value='data:view.isSearch ? data:view.search.query.escaped : ""' name='q' size='10' title='search' type='text'/>
</td>
<td class='gsc-search-button'>
<input class='gsc-search-button' expr:value='data:messages.search' title='search' type='submit'/>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<b:include name='quickedit'/>
</b:includable> </b:widget> <b:widget id='PageList1' locked='false' title='' type='PageList'> <b:widget-settings> <b:widget-setting name='pageListJson'></b:widget-setting> <b:widget-setting name='homeTitle'>Beranda</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if></b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML13' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[# Creating a single-file HTML for "Premium v8.3 Pulse Edition" (Page Mode) with:
html = """<!doctype html>
Pulse Edition v8.3 โ Promo & Sitemap (Page Mode)
<style> :root{ --pulse-orange:#ff7a18; --pulse-blue:#1e90ff; --pulse-red:#ff3b30; --bg-dark:#0f1115; --bg-light:#f6f7fb; --card-radius:12px; --maxw:1100px; --shadow: 0 8px 30px rgba(2,6,23,0.18); --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; } *{box-sizing:border-box} html,body{height:100%;margin:0;font-family:var(--font);-webkit-font-smoothing:antialiased} .container{max-width:var(--maxw);margin:18px auto;padding:18px} .page-card{border-radius:var(--card-radius);padding:18px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,0.04)} .header{display:flex;align-items:center;justify-content:space-between;gap:12px} .title{font-size:20px;font-weight:800;margin:0;color:var(--pulse-orange)} .subtitle{font-size:13px;color:rgba(255,255,255,0.75)} .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px} .card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.03)} .thumb{width:100%;height:140px;object-fit:cover;background:#111;display:block} .meta{padding:12px} .title-sm{font-weight:700;font-size:14px;margin:0 0 6px} .desc{font-size:13px;color:rgba(255,255,255,0.8);margin:0 0 10px} .btn{display:inline-block;padding:8px 12px;border-radius:10px;background:linear-gradient(135deg,var(--pulse-orange),var(--pulse-blue));color:#fff;text-decoration:none;font-weight:700} .small{font-size:12px;color:rgba(255,255,255,0.7)} .controls{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap} /* sitemap */ .sitemap-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px} .sitemap-list a{text-decoration:none;padding:8px;border-radius:8px;color:var(--pulse-blue);display:block} /* modal subscribe */ .modal{position:fixed;inset:0;background:rgba(2,6,23,0.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:18px} .modal-inner{width:100%;max-width:420px;background:linear-gradient(180deg,#0b0c0f,#0f1115);padding:18px;border-radius:12px;position:relative;box-shadow:0 12px 40px rgba(2,6,23,0.5);text-align:center} .modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#fff;font-size:18px;cursor:pointer} .subscribe-btn{display:inline-block;padding:10px 14px;border-radius:10px;background:var(--pulse-red);color:#fff;text-decoration:none;font-weight:800;margin-top:12px} /* hidden utility */ .hidden{display:none !important} /* LIGHT THEME */ .light body, .light .page-card{background:var(--bg-light);color:#111} .light .page-card{border:1px solid rgba(2,6,23,0.06)} .light .subtitle{color:rgba(0,0,0,0.6)} .light .desc{color:rgba(0,0,0,0.7)} /* accessibility */ @media (prefers-reduced-motion: no-preference){ .card{transition:transform .28s cubic-bezier(.22,.9,.24,1)} .card:hover{transform:translateY(-6px)} } /* hide Google Translate UI when it loads */ .goog-te-banner-frame.skiptranslate{display:none !important} .goog-te-gadget-icon{display:none !important} #google_translate_element{display:none} </style><div class="controls">
<button id="openSitemapBtn" class="btn" style="background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--pulse-blue)">Tampilkan Sitemap</button>
<button id="generateXmlBtn" class="btn">Generate XML Sitemap</button>
<span class="small">Widget otomatis memindai posting untuk link afiliasi (digistore24, shopee, tokopedia).</span>
</div>
<div id="cardGrid" class="grid" aria-live="polite" style="margin-top:14px">
<!-- cards injected -->
</div>
<div id="sitemapSection" class="hidden" style="margin-top:16px">
<h3 style="margin:0 0 8px">HTML Sitemap</h3>
<div id="sitemapOut" class="small sitemap-list">Sedang memuatโฆ</div>
</div>
Jika suka konten, klik subscribe ke channel YouTube Aleo's Tube untuk update video terbaru.
Subscribe' + escapeHtml(xml) + '');
w.document.close();
}
function escapeHtml(s){ return (s||'').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); }
openSitemapBtn.addEventListener('click', ()=>{ sitemapSection.classList.toggle('hidden'); if(!sitemapSection.classList.contains('hidden')) window.scrollTo({top: sitemapSection.offsetTop - 20, behavior: 'smooth'}); });
generateXmlBtn.addEventListener('click', ()=> generateXML(window.__pulse_sitemap || []));
// show subscribe modal after scroll 20% (once) let subShown = false; function onScrollShowSubscribe(){ const scrolled = window.scrollY || window.pageYOffset; const docH = document.documentElement.scrollHeight - window.innerHeight; const ratio = docH>0 ? scrolled/docH : 0; if(ratio > 0.20 && !subShown){ subShown = true; subscribeModal.classList.remove('hidden'); window.removeEventListener('scroll', onScrollShowSubscribe); } } window.addEventListener('scroll', onScrollShowSubscribe);
closeSubscribe.addEventListener('click', ()=> subscribeModal.classList.add('hidden'));
// init await render(); // refresh while open (low cost) setInterval(render, 1000 * 60 * 10);
// ========================= // Auto-translate (hidden UI) // We'll load Google Translate element and programmatically set target language to visitor language. // Note: this uses Google's public translate widget. window.googleTranslateElementInit = function() { try { new google.translate.TranslateElement({ pageLanguage: 'id', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, autoDisplay: false }, 'google_translate_element');
// small delay then auto-select language matching navigator.language
setTimeout(()=>{
try {
const lang = (navigator.language || navigator.userLanguage || 'en').split('-')[0];
// find select within the iframe
const frame = document.querySelector('.goog-te-menu-frame');
if(frame){
// attempt to change language via queryParameter trick (best-effort)
// fallback: add url param to use translate.googleapis if possible
// Many browsers block direct interaction; we attempt select change on the widget select if present
const sel = document.querySelector('select.goog-te-combo');
if(sel){
sel.value = lang;
sel.dispatchEvent(new Event('change'));
}
} else {
const sel = document.querySelector('select.goog-te-combo');
if(sel){
sel.value = lang;
sel.dispatchEvent(new Event('change'));
}
}
} catch(e){/*fail silently*/ }
}, 900);
} catch(e){}
}; (function(){ var gt = document.createElement('script'); gt.type='text/javascript'; gt.async=true; gt.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'; document.head.appendChild(gt); })();
// ========================= // Auto dark/light mode based on visitor local time (00-06 light, 07-18 light, else dark) + prefers-color-scheme fallback function applyThemeByTime(){ try { const now = new Date(); const h = now.getHours(); // default: day 7-18 => light, else dark const isLight = (h >= 7 && h <= 18); if(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches){ // respect user preference if system set to dark // but still apply time-based as primary (user preference will override if we invert) } if(isLight){ document.documentElement.classList.add('light'); } else { document.documentElement.classList.remove('light'); } } catch(e){} } applyThemeByTime();
// accessibility: respects prefers-reduced-motion already via CSS })(); </script>
"""
path = "/mnt/data/v8p_pulse_v8_3_pagemode.html" with open(path, "w", encoding="utf-8") as f: f.write(html)
print("File written to:", path) print("Download link: sandbox:" + path)</!doctype>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML4' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[<style> .mini-subscribe { position: fixed; right: 20px; bottom: 90px; background: red; color: #fff; font-size: 14px; padding: 6px 14px; border-radius: 30px; text-decoration: none; font-weight: bold; z-index: 9999; display: inline-block !important; } </style>
Subscribe ]]></b:widget-setting> </b:widget-settings> <b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML6' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
</b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> </b:section-contents><b:section-contents id='footer-2-1'> <b:widget id='PageList2' locked='false' title='Halaman' type='PageList'> <b:widget-settings> <b:widget-setting name='pageListJson'></b:widget-setting> <b:widget-setting name='homeTitle'>Beranda</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if>*
*
<textarea class='contact-form-email-message' cols='25' expr:id='data:widget.instanceId + "_contact-form-email-message"' name='email-message' rows='5'/>
try { const res = await fetch(PROXY); const data = await res.json(); const parser = new DOMParser(); const xml = parser.parseFromString(data.contents, 'application/xml'); const entries = xml.getElementsByTagName('entry');
const maxVideos = 6;
container.innerHTML = '';
for (let i = 0; i < Math.min(entries.length, maxVideos); i++) {
const entry = entries[i];
const title = entry.getElementsByTagName('title')[0].textContent;
const link = entry.getElementsByTagName('link')[0].getAttribute('href');
const idFull = entry.getElementsByTagName('id')[0].textContent;
const videoId = idFull.split(':').pop();
const thumb = `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`;
const videoCard = document.createElement('div');
videoCard.style.cssText = `
border-radius:12px;
overflow:hidden;
background:#f8f9fa;
box-shadow:0 0 8px rgba(0,0,0,0.1);
transition:transform 0.3s ease, box-shadow 0.3s ease;
`;
videoCard.innerHTML = `
<a href="${link}" target="_blank" style="text-decoration:none;color:inherit;">
<img src="${thumb}" alt="${title}" style="width:100%;display:block;">
<div style="padding:10px;">
<h4 style="font-size:15px;margin:0;">${title}</h4>
</div>
</a>
`;
videoCard.onmouseover = () => videoCard.style.transform = 'scale(1.03)';
videoCard.onmouseout = () => videoCard.style.transform = 'scale(1)';
container.appendChild(videoCard);
}
} catch (err) { container.innerHTML = '
Gagal memuat video ๐ข
'; console.error('Feed error:', err); } })(); </script>]]></b:widget-setting> </b:widget-settings> <b:includable id='main'><b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='Subscribe1' locked='false' title='Langganan' type='Subscribe'> <b:includable id='main'>
<div expr:class='"subscribe expanded subscribe-type-" + data:feed.type' expr:id='"SW_READER_LIST_" + data:widgetId + data:feed.type' style='display:none;'>
<div class='top'>
<span class='inner' expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'>
<img class='subscribe-dropdown-arrow' expr:src='data:arrowDropdownImg'/>
<img align='absmiddle' alt='' border='0' class='feed-icon' expr:src='data:feedIconImg'/>
<data:feed.title/>
</span>
<div class='feed-reader-links'>
<a class='feed-reader-link' expr:href='"https://www.netvibes.com/subscribe.php?url=" + data:feed.encodedUrl' target='_blank'>
<img expr:src='data:imagePathBase + "subscribe-netvibes.png"'/>
</a>
<a class='feed-reader-link' expr:href='"https://add.my.yahoo.com/content?url=" + data:feed.encodedUrl' target='_blank'>
<img expr:src='data:imagePathBase + "subscribe-yahoo.png"'/>
</a>
<a class='feed-reader-link' expr:href='data:feed.url' target='_blank'>
<img align='absmiddle' class='feed-icon' expr:src='data:feedIconImg'/>
Atom
</a>
</div>
</div>
<div class='bottom'/>
</div>
<div class='subscribe' expr:id='"SW_READER_LIST_CLOSED_" + data:widgetId +data:feed.type' expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'>
<div class='top'>
<span class='inner'>
<img class='subscribe-dropdown-arrow' expr:src='data:arrowDropdownImg'/>
<span expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'>
<img align='absmiddle' alt='' border='0' class='feed-icon' expr:src='data:feedIconImg'/>
<data:feed.title/>
</span>
</span>
</div>
<div class='bottom'/>
</div>
</div>
</b:loop>
<div style='clear:both'/>
</div>
<b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='Stats1' locked='false' title='Total Tayangan Halaman' type='Stats'> <b:widget-settings> <b:widget-setting name='showGraphicalCounter'>false</b:widget-setting> <b:widget-setting name='showAnimatedCounter'>false</b:widget-setting> <b:widget-setting name='showSparkline'>true</b:widget-setting> <b:widget-setting name='sparklineStyle'>BLACK_TRANSPARENT</b:widget-setting> <b:widget-setting name='timeRange'>ALL_TIME</b:widget-setting> </b:widget-settings> <b:includable id='main'> <b:if cond='data:title != ""'>
</b:if></b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML9' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[
<style type='text/css'></style><b:include name='quickedit'/> </b:includable> </b:widget> <b:widget id='HTML10' locked='false' title='' type='HTML'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[<style> /* Wrapper grid */ .aleo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; max-width: 1200px; margin: 0 auto; padding: 20px; }
/* Card styling */ .aleo-card { background: #11152a; border-radius: 12px; padding: 16px; color: #f1f1f1; box-shadow: 0 4px 15px rgba(0,180,255,0.2); transition: transform 0.3s, box-shadow 0.3s; }
.aleo-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,180,255,0.4); }
.aleo-card img { max-width: 100%; border-radius: 8px; display: block; margin-bottom: 12px; }
.aleo-card h2 { font-size: 1.2rem; margin: 0 0 10px 0; color: #00b0ff; }
.aleo-card p { font-size: 0.95rem; line-height: 1.4; } </style>
</b:widget-settings>
<b:includable id='main'>
<b:if cond='data:title != ""'>
</b:if><b:include name='quickedit'/> </b:includable> </b:widget> </b:section-contents>