✦ CODE SNIPPET
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:css='false' b:js='true' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta charset='UTF-8'/>
<meta content='width=device-width, initial-scale=1.0' name='viewport'/>
<title><data:blog.pageTitle/></title>
<!-- Google Fonts: Hind Siliguri -->
<link href='https://fonts.googleapis.com' rel='preconnect'/>
<link crossorigin='' href='https://fonts.gstatic.com' rel='preconnect'/>
<link href='https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap' rel='stylesheet'/>
<!-- FontAwesome & html2canvas -->
<link href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css' rel='stylesheet'/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js'/>
<b:skin><![CDATA[
:root {
--primary: #C00000;
--primary-dark: #990000;
--dark: #111111;
--bg-light: #f4f6f9;
--bg-white: #ffffff;
--text-main: #222222;
--text-muted: #666666;
--border-color: #e0e0e0;
--card-bg: #ffffff;
}
[data-theme="dark"] {
--bg-light: #121212;
--bg-white: #1e1e1e;
--text-main: #f0f0f0;
--text-muted: #aaaaaa;
--border-color: #333333;
--card-bg: #1a1a1a;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Hind Siliguri', sans-serif;
transition: background-color 0.3s ease, color 0.3s ease;
}
body {
background-color: var(--bg-light);
color: var(--text-main);
line-height: 1.6;
}
a {
text-decoration: none;
color: inherit;
}
.top-bar {
background: var(--dark);
color: #fff;
font-size: 13px;
padding: 6px 0;
border-bottom: 2px solid var(--primary);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 15px;
}
.top-bar-flex {
display: flex;
justify-content: space-between;
align-items: center;
}
.main-header {
background: var(--bg-white);
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
padding: 15px 0;
position: sticky;
top: 0;
z-index: 1000;
}
.header-flex {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo-area h1 {
font-size: 32px;
font-weight: 700;
color: var(--primary);
letter-spacing: -1px;
}
.header-actions {
display: flex;
align-items: center;
gap: 15px;
}
.theme-toggle, .search-btn {
background: none;
border: none;
font-size: 20px;
cursor: pointer;
color: var(--text-main);
}
.nav-bar {
background: var(--primary);
color: #fff;
position: sticky;
top: 70px;
z-index: 999;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.nav-list {
display: flex;
list-style: none;
overflow-x: auto;
white-space: nowrap;
scrollbar-width: none;
}
.nav-list::-webkit-scrollbar {
display: none;
}
.nav-list li a {
display: block;
padding: 12px 18px;
color: #fff;
font-weight: 500;
font-size: 15px;
}
.nav-list li a:hover {
background: rgba(0,0,0,0.15);
}
.breaking-ticker {
background: var(--bg-white);
border-left: 4px solid var(--primary);
margin: 15px 0;
padding: 10px 15px;
display: flex;
align-items: center;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.ticker-badge {
background: var(--primary);
color: #fff;
padding: 3px 10px;
font-size: 13px;
font-weight: 600;
border-radius: 3px;
margin-right: 15px;
}
.ticker-content marquee {
font-weight: 500;
font-size: 15px;
}
.main-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 20px;
margin-bottom: 30px;
}
@media(max-width: 768px) {
.main-grid {
grid-template-columns: 1fr;
}
}
.news-card {
background: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: 6px;
overflow: hidden;
margin-bottom: 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}
.news-card img {
width: 100%;
height: auto;
max-height: 400px;
object-fit: cover;
display: block;
}
.news-details {
padding: 15px;
}
.category-tag {
background: rgba(192, 0, 0, 0.1);
color: var(--primary);
font-size: 12px;
font-weight: 600;
padding: 2px 8px;
border-radius: 3px;
display: inline-block;
margin-bottom: 8px;
}
.news-card h3 {
font-size: 18px;
margin-bottom: 8px;
line-height: 1.4;
}
.news-card p, .post-body {
color: var(--text-muted);
font-size: 15px;
margin-bottom: 12px;
line-height: 1.7;
}
.post-body img {
max-width: 100%;
height: auto;
border-radius: 6px;
margin: 15px 0;
}
.news-meta {
font-size: 12px;
color: var(--text-muted);
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid var(--border-color);
padding-top: 10px;
margin-top: 10px;
}
.card-actions {
display: flex;
gap: 8px;
margin-top: 12px;
flex-wrap: wrap;
}
.action-btn {
background: var(--primary);
color: #fff;
border: none;
padding: 6px 12px;
font-size: 13px;
font-weight: 600;
border-radius: 4px;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 5px;
}
.action-btn.share-btn-action {
background: #333;
}
.action-btn:hover {
opacity: 0.9;
}
/* Framed Professional Photocard Modal */
.modal-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.85);
z-index: 2000;
justify-content: center;
align-items: center;
padding: 10px;
}
.modal-content {
background: var(--card-bg);
width: 100%;
max-width: 600px;
border-radius: 12px;
padding: 15px;
max-height: 95vh;
overflow-y: auto;
}
.photocard-preview {
width: 100%;
background: #111;
color: #fff;
border: 6px solid #C00000;
position: relative;
box-shadow: 0 10px 30px rgba(0,0,0,0.6);
margin-bottom: 15px;
border-radius: 4px;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 15px;
}
.pc-header-box {
display: flex;
justify-content: space-between;
align-items: center;
background: #1a1a1a;
border-bottom: 2px solid #C00000;
padding: 10px 14px;
border-radius: 4px;
margin-bottom: 12px;
z-index: 3;
}
.pc-brand {
font-size: 16px;
font-weight: 700;
color: #fff;
letter-spacing: 0.5px;
text-transform: uppercase;
}
.pc-brand span {
color: #C00000;
}
.pc-headline-box {
background: rgba(0, 0, 0, 0.85);
padding: 14px;
border-radius: 4px;
margin-bottom: 12px;
border-left: 4px solid #C00000;
z-index: 3;
}
.pc-headline {
font-size: 21px;
font-weight: 700;
line-height: 1.4;
color: #fff;
}
.pc-image-box {
width: 100%;
max-height: 280px;
border-radius: 4px;
overflow: hidden;
margin-bottom: 12px;
border: 1px solid #333;
background: #000;
display: flex;
align-items: center;
justify-content: center;
}
.pc-image-box img {
width: 100%;
height: auto;
max-height: 280px;
object-fit: cover;
display: block;
}
.pc-footer-box {
display: flex;
justify-content: space-between;
align-items: center;
background: #1a1a1a;
padding: 10px 14px;
border-radius: 4px;
font-size: 13px;
border-top: 2px solid #333;
z-index: 3;
}
.sidebar-widget {
background: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: 6px;
padding: 15px;
margin-bottom: 20px;
}
.sidebar-widget h3 {
font-size: 16px;
border-bottom: 2px solid var(--primary);
padding-bottom: 8px;
margin-bottom: 12px;
color: var(--primary);
}
.ad-slot {
background: #e9ecef;
text-align: center;
padding: 30px;
color: #6c757d;
font-size: 14px;
border: 1px dashed #ccc;
margin-bottom: 15px;
border-radius: 4px;
}
footer {
background: var(--dark);
color: #fff;
padding: 40px 0 20px;
margin-top: 40px;
}
.footer-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-bottom: 30px;
}
@media(max-width: 768px) {
.footer-grid {
grid-template-columns: 1fr;
}
}
.footer-bottom {
text-align: center;
border-top: 1px solid #333;
padding-top: 15px;
font-size: 13px;
color: #aaa;
}
]]></b:skin>
</head>
<body>
<div class='top-bar'>
<div class='container top-bar-flex'>
<div class='date-display'>সোমবার, ২৮ সেপ্টেম্বর ২০২৬</div>
<div class='social-icons'>
<a href='#'><i class='fab fa-facebook-f'/></a>
<a href='#'><i class='fab fa-youtube'/></a>
<a href='#'><i class='fab fa-telegram-plane'/></a>
</div>
</div>
</div>
<header class='main-header'>
<div class='container header-flex'>
<div class='logo-area'>
<a expr:href='data:blog.homepageUrl'>
<h1>MORRELGONJ NEWS</h1>
</a>
</div>
<div class='header-actions'>
<button class='search-btn' id='searchToggle'><i class='fa fa-search'/></button>
<button class='theme-toggle' id='themeToggle'><i class='fa fa-moon' id='themeIcon'/></button>
</div>
</div>
</header>
<nav class='nav-bar'>
<div class='container'>
<ul class='nav-list'>
<li><a expr:href='data:blog.homepageUrl'>হোম</a></li>
<li><a href='#'>সর্বশেষ</a></li>
<li><a href='#'>জাতীয়</a></li>
<li><a href='#'>স্থানীয়</a></li>
<li><a href='#'>রাজনীতি</a></li>
<li><a href='#'>বাংলাদেশ</a></li>
<li><a href='#'>আন্তর্জাতিক</a></li>
<li><a href='#'>খেলাধুলা</a></li>
<li><a href='#'>বিনোদন</a></li>
<li><a href='#'>প্রযুক্তি</a></li>
<li><a href='#'>অর্থনীতি</a></li>
<li><a href='#'>লাইফস্টাইল</a></li>
</ul>
</div>
</nav>
<div class='container'>
<div class='breaking-ticker'>
<span class='ticker-badge'>ব্রেকিং নিউজ</span>
<div class='ticker-content'>
<marquee direction='left' scrollamount='5'>সর্বশেষ সংবাদ জানতে MORRELGONJ NEWS-এর সঙ্গে থাকুন। যে কোনো গুরুত্বপূর্ণ তথ্যের জন্য চোখ রাখুন আমাদের পোর্টালে।</marquee>
</div>
</div>
</div>
<div class='container'>
<div class='main-grid'>
<main>
<b:section id='main-content' showaddelement='yes'>
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog' version='2' visible='true'>
<b:widget-settings>
<b:widget-setting name='showDateHeader'>false</b:widget-setting>
<b:widget-setting name='style.textcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showShareButtons'>false</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='showAuthor'>true</b:widget-setting>
<b:widget-setting name='style.linkcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
<b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='timestampLabel'/>
<b:widget-setting name='reactionsLabel'/>
<b:widget-setting name='showAuthorProfile'>false</b:widget-setting>
<b:widget-setting name='style.layout'>1x1</b:widget-setting>
<b:widget-setting name='showLabels'>true</b:widget-setting>
<b:widget-setting name='showLocation'>true</b:widget-setting>
<b:widget-setting name='postLabelsLabel'/>
<b:widget-setting name='showTimestamp'>true</b:widget-setting>
<b:widget-setting name='postsPerAd'>1</b:widget-setting>
<b:widget-setting name='showBacklinks'>false</b:widget-setting>
<b:widget-setting name='style.bordercolor'>#ffffff</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'>
<b:if cond='data:blog.pageType == "index" or data:blog.pageType == "archive"'>
<b:loop values='data:posts' var='post'>
<div class='news-card' expr:data-date='data:post.date' expr:data-image='data:post.featuredImage' expr:data-title='data:post.title' expr:data-url='data:post.url'>
<b:if cond='data:post.featuredImage'>
<a expr:href='data:post.url'>
<img crossorigin='anonymous' expr:alt='data:post.title' expr:src='data:post.featuredImage'/>
</a>
</b:if>
<div class='news-details'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<span class='category-tag'><data:label.name/></span>
</b:loop>
</b:if>
<h3><a expr:href='data:post.url'><data:post.title/></a></h3>
<p><data:post.snippets.short/></p>
<div class='card-actions'>
<button class='action-btn photocard-trigger' onclick='openPhotoCard(this)'><i class='fa fa-camera'/> ফটোকার্ড তৈরি করুন</button>
<button class='action-btn share-btn-action' onclick='sharePost(this)'><i class='fa fa-share-alt'/> শেয়ার করুন</button>
</div>
<div class='news-meta'>
<span><i class='far fa-clock'/> <data:post.date/></span>
<a expr:href='data:post.url' style='color:var(--primary); font-weight:600;'>বিস্তারিত পড়ুন »</a>
</div>
</div>
</div>
</b:loop>
<b:else/>
<b:loop values='data:posts' var='post'>
<div class='news-card' expr:data-date='data:post.date' expr:data-image='data:post.featuredImage' expr:data-title='data:post.title' expr:data-url='data:post.url'>
<div class='news-details'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<span class='category-tag'><data:label.name/></span>
</b:loop>
</b:if>
<h1 style='font-size:24px; margin-bottom:12px; line-height:1.4;'><data:post.title/></h1>
<div class='news-meta' style='margin-bottom:15px; border-bottom:1px solid var(--border-color); padding-bottom:10px;'>
<span><i class='far fa-clock'/> <data:post.date/></span>
</div>
<b:if cond='data:post.featuredImage'>
<img crossorigin='anonymous' expr:alt='data:post.title' expr:src='data:post.featuredImage' style='margin-bottom:15px; border-radius:6px;'/>
</b:if>
<div class='post-body'>
<data:post.body/>
</div>
<div class='card-actions' style='margin-top:20px;'>
<button class='action-btn photocard-trigger' onclick='openPhotoCard(this)'><i class='fa fa-camera'/> ফটোকার্ড তৈরি করুন</button>
<button class='action-btn share-btn-action' onclick='sharePost(this)'><i class='fa fa-share-alt'/> শেয়ার করুন</button>
</div>
</div>
</div>
</b:loop>
</b:if>
</b:includable>
<b:includable id='aboutPostAuthor'>
<div class='author-name'>
<a class='g-profile' expr:href='data:post.author.profileUrl' rel='author' title='author profile'>
<span>
<data:post.author.name/>
</span>
</a>
</div>
<div>
<span class='author-desc'>
<data:post.author.aboutMe/>
</span>
</div>
</b:includable>
<b:includable id='addComments'>
<a expr:href='data:post.commentsUrl' expr:onclick='data:post.commentsUrlOnclick'>
<b:message name='messages.postAComment'/>
</a>
</b:includable>
<b:includable id='commentAuthorAvatar'>
<div class='avatar-image-container'>
<img class='author-avatar' expr:src='data:comment.authorAvatarSrc' height='35' width='35'/>
</div>
</b:includable>
<b:includable id='commentDeleteIcon' var='comment'>
<span expr:class='"item-control " + data:comment.adminClass'>
<b:if cond='data:showCmtPopup'>
<div class='goog-toggle-button'>
<div class='goog-inline-block comment-action-icon'/>
</div>
<b:else/>
<a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:messages.deleteComment'>
<img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
</a>
</b:if>
</span>
</b:includable>
<b:includable id='commentForm' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<h4 id='comment-post-message'><data:messages.postAComment/></h4>
<b:if cond='data:this.messages.blogComment != ""'>
<p><data:this.messages.blogComment/></p>
</b:if>
<b:include data='post' name='commentFormIframeSrc'/>
<iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight ?: "90px"' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>');
</script>
</div>
</b:includable>
<b:includable id='commentFormIframeSrc' var='post'>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
</b:includable>
<b:includable id='commentItem' var='comment'>
<div class='comment' expr:id='"c" + data:comment.id'>
<b:include cond='data:blog.enabledCommentProfileImages' name='commentAuthorAvatar'/>
<div class='comment-block'>
<div class='comment-author'>
<b:if cond='data:comment.authorUrl'>
<b:message name='messages.authorSaidWithLink'>
<b:param expr:value='data:comment.author' name='authorName'/>
<b:param expr:value='data:comment.authorUrl' name='authorUrl'/>
</b:message>
<b:else/>
<b:message name='messages.authorSaid'>
<b:param expr:value='data:comment.author' name='authorName'/>
</b:message>
</b:if>
</div>
<div expr:class='"comment-body" + (data:comment.isDeleted ? " deleted" : "")'>
<data:comment.body/>
</div>
<div 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>
</div>
</div>
</div>
</b:includable>
<b:includable id='commentList' var='comments'>
<div id='comments-block'>
<b:loop values='data:comments' var='comment'>
<b:include data='comment' name='commentItem'/>
</b:loop>
</div>
</b:includable>
<b:includable id='commentPicker' var='post'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threadedComments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:includable>
<b:includable id='comments' var='post'>
<section expr:class='"comments" + (data:post.embedCommentForm ? " embed" : "")' expr:data-num-comments='data:post.numberOfComments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.allowComments'>
<b:include name='commentsTitle'/>
<div expr:id='data:widget.instanceId + "_comments-block-wrapper"'>
<b:include cond='data:post.comments' data='post.comments' name='commentList'/>
</div>
<b:if cond='data:post.commentPagingRequired'>
<div class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:messages.oldest/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:messages.older/>
</a>
</b:if>
<span class='comment-range-text'>
<data:post.commentRangeText/>
</span>
<b:if cond='data:post.hasNewerLinks'>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:messages.newer/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:messages.newest/>
</a>
</b:if>
</div>
</b:if>
<div class='footer'>
<b:if cond='data:post.embedCommentForm'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='commentForm'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:else/>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='addComments'/>
</b:if>
</b:if>
</div>
</b:if>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='allowtransparency' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
</section>
</b:includable>
<b:includable id='commentsTitle'>
<h3 class='title'><data:messages.comments/></h3>
</b:includable>
<b:includable id='feedLinks'>
<b:if cond='!data:view.isPost'> <!-- Blog feed links -->
<b:if cond='data:feedLinks'>
<div class='blog-feeds'>
<b:include data='feedLinks' name='feedLinksBody'/>
</div>
</b:if>
<b:else/> <!--Post feed links -->
<div class='post-feeds'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.allowComments and data:post.feedLinks'>
<b:include data='post.feedLinks' name='feedLinksBody'/>
</b:if>
</b:loop>
</div>
</b:if>
</b:includable>
<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:messages.subscribeTo/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>
<b:includable id='homePageLink'>
<a class='home-link' expr:href='data:blog.homepageUrl'>
<data:messages.home/>
</a>
</b:includable>
<b:includable id='iframeComments' var='post'>
<!-- G+ comments, no longer available. The includable is retained for backwards-compatibility. -->
</b:includable>
<b:includable id='inlineAd' var='post'>
<b:if cond='!data:view.isPreview'>
<b:if cond='data:this.adCode or data:this.adClientId or data:blog.adsenseClientId'>
<!-- Ad -->
<div class='inline-ad'>
<b:if cond='data:this.adCode != ""'>
<data:this.adCode/>
<b:else/>
<b:include cond='data:this.adClientId or data:blog.adsenseClientId' name='defaultAdUnit'/>
</b:if>
</div>
</b:if>
<b:else/>
<div class='inline-ad'>
<div class='inline-ad-placeholder'>
<span><b:message name='messages.adsGoHere'/></span>
</div>
</div>
</b:if>
</b:includable>
<b:includable id='nextPageLink'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:messages.olderPosts'>
<data:messages.olderPosts/>
</a>
</b:includable>
<b:includable id='post' var='post'>
<div class='post'>
<b:include data='post' name='postMeta'/>
<b:include data='post' name='postTitle'/>
<b:include name='headerByline'/>
<b:if cond='data:view.isSingleItem'>
<b:include data='post' name='postBody'/>
<b:else/>
<b:include data='post' name='postBodySnippet'/>
<b:include data='post' name='postJumpLink'/>
</b:if>
<b:include data='post' name='postFooter'/>
</div>
</b:includable>
<b:includable id='postBody' var='post'>
<!-- If metaDescription is empty, use the post body as the schema.org description too, for G+/FB snippeting. -->
<div class='post-body entry-content float-container' expr:id='"post-body-" + data:post.id'>
<data:post.body/>
</div>
</b:includable>
<b:includable id='postBodySnippet' var='post'>
<b:include data='post' name='postBody'/>
</b:includable>
<b:includable id='postCommentsAndAd' var='post'>
<article class='post-outer-container'>
<!-- Post title and body -->
<div class='post-outer'>
<b:include data='post' name='post'/>
</div>
<!-- Comments -->
<b:include cond='data:view.isSingleItem' data='post' name='commentPicker'/>
<!-- Show ad inside post container, after comments, if single item. -->
<b:include cond='data:view.isSingleItem and data:post.includeAd' data='post' name='inlineAd'/>
</article>
<!-- Show ad outside post container (between posts) for feed pages. -->
<b:include cond='data:view.isMultipleItems and data:post.includeAd' data='post' name='inlineAd'/>
</b:includable>
<b:includable id='postCommentsLink'>
<b:if cond='data:view.isMultipleItems'>
<span class='byline post-comment-link container'>
<b:include cond='data:post.commentSource != 1' name='commentsLink'/>
</span>
</b:if>
</b:includable>
<b:includable id='postFooter' var='post'>
<div class='post-footer'>
<b:include name='footerBylines'/>
<b:include data='post' name='postFooterAuthorProfile'/>
</div>
</b:includable>
<b:includable id='postFooterAuthorProfile' var='post'>
<b:if cond='data:post.author.aboutMe and data:view.isPost'>
<div class='author-profile'>
<b:if cond='data:post.author.authorPhoto.url'>
<img class='author-image' expr:src='data:post.author.authorPhoto.url' width='50px'/>
<div class='author-about'>
<b:include data='post' name='aboutPostAuthor'/>
</div>
<b:else/>
<b:include data='post' name='aboutPostAuthor'/>
</b:if>
</div>
</b:if>
</b:includable>
<b:includable id='postHeader' var='post'>
<b:include name='headerByline'/>
</b:includable>
<b:includable id='postMeta' var='post'>
<b:include data='post' name='postMetadataJSON'/>
</b:includable>
<b:includable id='postPagination'>
<div class='blog-pager container' id='blog-pager'>
<b:include cond='data:newerPageUrl' name='previousPageLink'/>
<b:include cond='data:olderPageUrl' name='nextPageLink'/>
<b:include cond='data:view.url != data:blog.homepageUrl' name='homePageLink'/>
</div>
</b:includable>
<b:includable id='postTitle' var='post'>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title != ""'>
<h3 class='post-title entry-title'>
<b:if cond='data:post.link or (data:post.url and data:view.url != data:post.url)'>
<a expr:href='data:post.link ?: data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
</b:includable>
<b:includable id='previousPageLink'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:messages.newerPosts'>
<data:messages.newerPosts/>
</a>
</b:includable>
<b:includable id='threadedCommentForm' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<h4 id='comment-post-message'><data:messages.postAComment/></h4>
<b:if cond='data:this.messages.blogComment != ""'>
<p><data:this.messages.blogComment/></p>
</b:if>
<b:include data='post' name='commentFormIframeSrc'/>
<iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight ?: "90px"' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>');
</script>
</div>
</b:includable>
<b:includable id='threadedCommentJs' var='post'>
<script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
<b:template-script inline='true' name='threaded_comments'/>
<script type='text/javascript'>
blogger.widgets.blog.initThreadedComments(
<data:post.commentJso/>,
<data:post.commentMsgs/>,
<data:post.commentConfig/>);
</script>
</b:includable>
<b:includable id='threadedComments' var='post'>
<section class='comments threaded' expr:data-embed='data:post.embedCommentForm' expr:data-num-comments='data:post.numberOfComments' id='comments'>
<a name='comments'/>
<b:include name='commentsTitle'/>
<div class='comments-content'>
<b:if cond='data:post.embedCommentForm'>
<b:include data='post' name='threadedCommentJs'/>
</b:if>
<div id='comment-holder'>
<data:post.commentHtml/>
</div>
</div>
<p class='comment-footer'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='threadedCommentForm'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:if cond='data:post.showManageComments'>
<b:include data='post' name='manageComments'/>
</b:if>
</p>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='allowtransparency' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
</section>
</b:includable>
<b:includable id='tooltipCss'>
<!-- LINT.IfChange -->
<style>
.post-body a.b-tooltip-container {
position: relative;
display: inline-block;
}
.post-body a.b-tooltip-container .b-tooltip {
display: block !important;
position: absolute;
top: 100%;
left: 50%;
transform: translate(-20%, 1px);
visibility: hidden;
opacity: 0;
z-index: 1;
transition: opacity 0.2s ease-in-out;
}
.post-body a.b-tooltip-container .b-tooltip iframe {
width: 200px;
height: 198px;
max-width: none;
border: none;
border-radius: 20px;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
}
@media (hover: hover) {
.post-body a.b-tooltip-container:hover .b-tooltip {
visibility: visible;
opacity: 1;
}
}
</style>
<!-- LINT.ThenChange(//depot/google3/java/com/google/blogger/b2/layouts/widgets/v2-style.css) -->
</b:includable>
</b:widget>
</b:section>
</main>
<aside>
<div class='sidebar-widget'>
<h3>সর্বশেষ সংবাদ</h3>
<p style='font-size:14px; color:var(--text-muted);'>এখানে সাম্প্রতিক সংবাদ তালিকা প্রদর্শিত হবে।</p>
</div>
<div class='ad-slot'>
বিজ্ঞাপন স্থান (300 × 250)
</div>
<div class='sidebar-widget'>
<h3>জনপ্রিয় সংবাদ</h3>
<p style='font-size:14px; color:var(--text-muted);'>সবচেয়ে বেশি পঠিত সংবাদগুলো এখানে দেখা যাবে।</p>
</div>
</aside>
</div>
</div>
<!-- Framed Professional Photocard Modal -->
<div class='modal-overlay' id='photoCardModal'>
<div class='modal-content'>
<h3 style='color:var(--primary); margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; font-size:17px;'>
<span>ফ্রেমযুক্ত স্মার্ট এইচডি ফটোকার্ড</span>
<button onclick='closeModal()' style='background:none; border:none; font-size:24px; cursor:pointer;'>×</button>
</h3>
<div class='photocard-preview' id='captureCard'>
<div class='pc-header-box'>
<div class='pc-brand'><i class='fa fa-newspaper' style='color:#C00000;'/> MORRELGONJ <span>NEWS</span></div>
<div id='modalDate' style='font-size:12px; color:#aaa;'/>
</div>
<div class='pc-headline-box'>
<div class='pc-headline' id='modalHeadline'>
সংবাদের শিরোনাম এখানে প্রদর্শিত হবে
</div>
</div>
<div class='pc-image-box'>
<img crossorigin='anonymous' id='modalImageTag' src=''/>
</div>
<div class='pc-footer-box'>
<span style='font-weight:600; color:#ccc;'>সত্য ও নির্ভরযোগ্য সংবাদ</span>
<span style='font-weight:700; color:#fff;'>www.morrelganj.site</span>
</div>
</div>
<div style='display:flex; gap:10px; margin-top:12px;'>
<button class='action-btn' onclick='downloadPhotoCard()' style='flex:1; justify-content:center; padding:10px; font-size:14px;'><i class='fa fa-download'/> এইচডি ডাউনলোড</button>
<button class='action-btn share-btn-action' onclick='shareToFacebook()' style='flex:1; justify-content:center; padding:10px; font-size:14px;'><i class='fab fa-facebook'/> শেয়ার</button>
</div>
</div>
</div>
<footer>
<div class='container'>
<div class='footer-grid'>
<div>
<h2 style='color:#fff; margin-bottom:10px;'>MORRELGONJ NEWS</h2>
<p style='font-size:14px; color:#aaa;'>সত্য ও নির্ভরযোগ্য সংবাদে আমরা আপনার পাশে।</p>
</div>
<div>
<h3 style='font-size:16px; margin-bottom:10px; border-bottom:1px solid #444; padding-bottom:5px;'>গুরুত্বপূর্ণ লিঙ্ক</h3>
<ul style='list-style:none; font-size:14px; color:#aaa;'>
<li><a href='#'>আমাদের সম্পর্কে</a></li>
<li><a href='#'>যোগাযোগ</a></li>
<li><a href='#'>গোপনীয়তা নীতি</a></li>
</ul>
</div>
<div>
<h3 style='font-size:16px; margin-bottom:10px; border-bottom:1px solid #444; padding-bottom:5px;'>সোশ্যাল মিডিয়া</h3>
<p style='font-size:14px; color:#aaa;'>ফেসবুক, ইউটিউব ও টেলিগ্রামে আমাদের সাথে যুক্ত থাকুন।</p>
</div>
</div>
<div class='footer-bottom'>
© MORRELGONJ NEWS — All Rights Reserved.
</div>
</div>
</footer>
<script type='text/javascript'>
//<![CDATA[
const themeToggle = document.getElementById('themeToggle');
const themeIcon = document.getElementById('themeIcon');
const htmlElement = document.documentElement;
const currentTheme = localStorage.getItem('theme') || 'light';
if (currentTheme === 'dark') {
htmlElement.setAttribute('data-theme', 'dark');
themeIcon.classList.replace('fa-moon', 'fa-sun');
}
themeToggle.addEventListener('click', () => {
if (htmlElement.getAttribute('data-theme') === 'dark') {
htmlElement.removeAttribute('data-theme');
localStorage.setItem('theme', 'light');
themeIcon.classList.replace('fa-sun', 'fa-moon');
} else {
htmlElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
themeIcon.classList.replace('fa-moon', 'fa-sun');
}
});
function getHDImageUrl(url) {
if (!url) return '';
if (url.includes('blogger.googleusercontent.com') || url.includes('bp.blogspot.com')) {
return url.replace(/\/s[0-9]+(\-c)?\//, '/s1600/');
}
return url;
}
window.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.news-card img').forEach(img => {
if (img.src) {
img.src = getHDImageUrl(img.src);
}
});
});
let currentShareUrl = window.location.href;
function openPhotoCard(btn) {
const card = btn.closest('.news-card');
const title = card.getAttribute('data-title');
let image = card.getAttribute('data-image');
const date = card.getAttribute('data-date');
currentShareUrl = card.getAttribute('data-url') || window.location.href;
document.getElementById('modalHeadline').innerText = title;
document.getElementById('modalDate').innerText = date;
const imgTag = document.getElementById('modalImageTag');
if(image) {
const hdImage = getHDImageUrl(image);
imgTag.src = hdImage;
imgTag.style.display = 'block';
} else {
imgTag.style.display = 'none';
}
document.getElementById('photoCardModal').style.display = 'flex';
}
function closeModal() {
document.getElementById('photoCardModal').style.display = 'none';
}
function downloadPhotoCard() {
const captureElement = document.getElementById('captureCard');
html2canvas(captureElement, {
scale: 3,
useCORS: true,
allowTaint: true,
logging: false,
backgroundColor: '#111111'
}).then(canvas => {
const link = document.createElement('a');
link.download = 'morrelganj-news-photocard.png';
link.href = canvas.toDataURL('image/png', 1.0);
link.click();
});
}
function sharePost(btn) {
const card = btn.closest('.news-card');
const title = card.getAttribute('data-title');
const postUrl = card.getAttribute('data-url') || window.location.href;
if (navigator.share) {
navigator.share({
title: title,
url: postUrl
}).catch(() => {});
} else {
alert('এই নিউজের লিঙ্কটি কপি করা হয়েছে!');
navigator.clipboard.writeText(postUrl);
}
}
function shareToFacebook() {
const url = encodeURIComponent(currentShareUrl);
window.open(`https://www.facebook.com/sharer/sharer.php?u=${url}`, '_blank');
}
//]]>
</script>
</body>
</html>
