في هذا المقال، سنتعلم كيفية إنشاء صندوق لعرض الأكواد أو النصوص القابلة للنسخ بسهولة داخل تدوينات مدونات بلوجر. الصندوق سيكون بتصميم عصري ومميز بخلفية سوداء، مع نص أبيض، وزر "نسخ" في الجزء العلوي من الصندوق. بعد الضغط على الزر، سيتغير لونه إلى الأخضر مع ظهور رسالة تؤكد نجاح النسخ. سنتعرف على كيفية تخصيص هذا الصندوق ليتناسب مع احتياجات مدونتك "مدونة سايكو"، وسنشرح فوائد هذا الكود واستخداماته.
فوائد استخدام هذا الصندوق في المدونة:
- تحسين تجربة المستخدم: يجعل هذا الصندوق من السهل على الزوار نسخ الأكواد أو النصوص من دون الحاجة لتحديدها يدويًا.
- تصميم احترافي: الخلفية السوداء مع النص الأبيض وزر النسخ يعطون مظهرًا جذابًا وعصريًا، خاصة إذا كانت المدونة تستهدف المبرمجين أو تقدم محتوى تقني.
- سهولة التخصيص: يمكن تغيير الألوان والخطوط لتناسب تصميم المدونة الخاصة بك.
خطوات تركيب الكود:
1. إضافة الكود إلى التدوينة:
أول خطوة هي نسخ الكود التالي ولصقه داخل تدوينتك في محرر
<style>
.code-box {
position: relative;
background-color: #000; /* خلفية سوداء */
border: 1px solid #3e3e3e; /* إطار داكن */
padding: 15px;
border-radius: 8px;
margin: 20px 0;
font-family: monospace;
white-space: pre-wrap;
word-wrap: break-word;
color: #fff; /* لون الخط أبيض */
max-height: 300px; /* أقصى ارتفاع للصندوق */
overflow-y: auto; /* شريط تمرير */
}
.copy-btn {
position: absolute;
top: 10px;
right: 10px;
padding: 5px 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
display: flex;
align-items: center;
}
.copy-btn:hover {
background-color: #0056b3;
}
.copy-btn.copied {
background-color: #28a745; /* لون أخضر عند النسخ */
}
.copy-btn i {
margin-right: 5px; /* مسافة صغيرة بين الأيقونة والنص */
}
</style>
<div class="code-box">
<button class="copy-btn" id="copyButton" onclick="copyToClipboard()">
<i class="fas fa-copy"></i> نسخ
</button>
<div id="codeBox">
<!--
<style>
.code-box {
position: relative;
background-color: #000; /* خلفية سوداء */
border: 1px solid #3e3e3e; /* إطار داكن */
padding: 15px;
border-radius: 8px;
margin: 20px 0;
font-family: monospace;
white-space: pre-wrap;
word-wrap: break-word;
color: #fff; /* لون الخط أبيض */
max-height: 300px; /* أقصى ارتفاع للصندوق */
overflow-y: auto; /* شريط تمرير */
}
.copy-btn {
position: absolute;
top: 10px;
right: 10px;
padding: 5px 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
display: flex;
align-items: center;
}
.copy-btn:hover {
background-color: #0056b3;
}
.copy-btn.copied {
background-color: #28a745; /* لون أخضر عند النسخ */
}
.copy-btn i {
margin-right: 5px; /* مسافة صغيرة بين الأيقونة والنص */
}
</style>
<div class="code-box">
<button class="copy-btn" id="copyButton" onclick="copyToClipboard()">
<i class="fas fa-copy"></i> نسخ
</button>
<div id="codeBox">
<!-- ضع النص أو الكود هنا -->
هذا هو النص أو الكود الذي ترغب في نسخه. يمكنك وضع أكواد طويلة وستظهر مع شريط تمرير.
</div>
</div>
<script>
function copyToClipboard() {
var codeBox = document.getElementById("codeBox").innerText;
var tempInput = document.createElement("textarea");
tempInput.value = codeBox;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand("copy");
document.body.removeChild(tempInput);
// تغيير لون الزر عند النسخ
var copyButton = document.getElementById("copyButton");
copyButton.classList.add("copied");
copyButton.innerHTML = '<i class="fas fa-check"></i> تم النسخ';
// إعادة النص الأصلي بعد ثوانٍ
setTimeout(function() {
copyButton.classList.remove("copied");
copyButton.innerHTML = '<i class="fas fa-copy"></i> نسخ';
}, 2000);
}
</script>
<!-- مكتبة أيقونات FontAwesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
-->
هذا هو النص أو الكود الذي ترغب في نسخه. يمكنك وضع أكواد طويلة وستظهر مع شريط تمرير.
</div>
</div>
<script>
function copyToClipboard() {
var codeBox = document.getElementById("codeBox").innerText;
var tempInput = document.createElement("textarea");
tempInput.value = codeBox;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand("copy");
document.body.removeChild(tempInput);
// تغيير لون الزر عند النسخ
var copyButton = document.getElementById("copyButton");
copyButton.classList.add("copied");
copyButton.innerHTML = '<i class="fas fa-check"></i> تم النسخ';
// إعادة النص الأصلي بعد ثوانٍ
setTimeout(function() {
copyButton.classList.remove("copied");
copyButton.innerHTML = '<i class="fas fa-copy"></i> نسخ';
}, 2000);
}
</script>
<!-- مكتبة أيقونات FontAwesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
Tags:
اكود للمواقع والمدونات