الزَهرُ المحروم .. من عِشقِ اليَشّموم
والقلب المأفون .. في بَحرٍ مجنون
أمواجٌ تعْصِف.. برياحٍ غَضْبى
صرخاتٌ تُسمَع.. وأفواهـ تَسْكُت
ووداعٌ صَعبٌ ..بدموعٍ تُسكَب صَرَخاتٌ تُطلق..في سنيني المنّفى ..
أوراقٌ تُحرق.. بحروفٍ تعصر
وورودٌ حَارت.. في فهمِ المعنى
ألحان تُنحَر بأنفاس ٍ تَذّو
كُلُ المعاني كُنتُ.. وكُنتِ أنتِ كُلُ المعاني
سهامٌ أسُقِطِت مشتعلةٌ لأضلاعٍ أحرقت
فَجّرَت صرخات وسالت لأجِلَهَا مدامعي
وكان أنتحار جماعي جمع فصول السنه على مذبح الوداع وقدمت السعاده قربان على مذبح الفراق وأريقت دمائها وأصطبغت الأرض بالسواد وحلقت غربان الفراق
وصدق شؤمها والأماني
قدمت وهي تحمل أكفانها وكافورها والروح في رمقها الأخيره
تقول أحبك
بقلم
الهاجس
اتعبتي اناملي هذا المساء وانا اطآرد
مواضيعك الشيقه التي لايمكن لانسآن
يريد الاستمتآع بروائع الطرح ان يفوت علي
نفسه لذة الاستمتاع والطرب والنشووووه
مع مثل هذه الاطروحات البالغه في المتعه
وقد اسمتعت ذائقتي بهذه الابيات الرائعه
الجميله .. اشكرك علي دقة الاختيآرات
ويبقى في جعبت القلم الكثير من البوح
ولكن خشيت الاطاله اكتفي بالقول
لله درك مااروعك
دمت كمآ تحب ~
const config = {
siteUrl: 'https://www.jnob-jo.com',
whitelist: [
'youtube.com',
'youtu.be',
'facebook.com',
'twitter.com',
'iinkor.com',
'forum.iinkor.com',
'instagram.com',
'up.jnob-jo.com',
'drive.google.com',
'docs.google.com',
'apps.moe.gov.jo',
'nccd.gov.jo''instagram.com'
]
};
function isWhitelisted(url) {
return config.whitelist.some(domain => url.includes(domain));
}
function isExternalLink(url) {
try {
const urlObj = new URL(url);
const siteUrlObj = new URL(config.siteUrl);
return urlObj.hostname !== siteUrlObj.hostname;
} catch (e) {
return false;
}
}
function convertExternalLink(url, replaceWithStars = false) {
if (!url) return url;
// تجاهل الروابط الداخلية والمستثناة
if (!isExternalLink(url) || isWhitelisted(url)) {
return url;
}
if (replaceWithStars) {
return '****';
}
return config.siteUrl;
}
function processBBCodeLinks() {
const textNodes = document.evaluate(
"//text()[contains(., '[URL')]",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (let i = 0; i < textNodes.snapshotLength; i++) {
const node = textNodes.snapshotItem(i);
let text = node.textContent;
text = text.replace(
/\[URL[^\]]*\](https?:\/\/[^\[]+)\[\/URL\]/g,
(match, url) => {
const isUrlAlone = text.trim() === match;
const newUrl = convertExternalLink(url.trim(), isUrlAlone);
return `[URL]${newUrl}[/URL]`;
}
);
if (text !== node.textContent) {
node.textContent = text;
}
}
}
function processPlainTextLinks() {
const textNodes = document.evaluate(
"//text()[contains(., 'http://') or contains(., 'https://')]",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (let i = 0; i < textNodes.snapshotLength; i++) {
const node = textNodes.snapshotItem(i);
let text = node.textContent;
text = text.replace(
/(https?:\/\/[^\s\[\]<>"']+)/g,
(match) => {
// تحقق مما إذا كان الرابط وحده في النص
const isUrlAlone = text.trim() === match;
return convertExternalLink(match, isUrlAlone);
}
);
if (text !== node.textContent) {
node.textContent = text;
}
}
}
function processPageLinks() {
const links = document.querySelectorAll('.message-body a, .p-body-pageContent a');
links.forEach(link => {
const href = link.getAttribute('href');
if (href) {
const isUrlAlone = link.textContent.trim() === href;
const newHref = convertExternalLink(href, isUrlAlone);
if (newHref !== href) {
link.setAttribute('href', newHref);
if (isUrlAlone) {
link.textContent = '****';
}
link.classList.add('external-redirect');
}
}
});
processBBCodeLinks();
processPlainTextLinks();
}
document.addEventListener('DOMContentLoaded', processPageLinks);
document.addEventListener('XFContentLoaded', processPageLinks);
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes && mutation.addedNodes.length > 0) {
processPageLinks();
}
});
});
observer.observe(document.body, {
childList: true,
subtree: true
});