کتابخانه دانشنامه کتاب مقدس: تفاوت میان نسخهها
ظاهر
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۵: | خط ۵: | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>کتابخانه انتشارات دانشنامه کتاب مقدس</title> | <title>کتابخانه انتشارات دانشنامه کتاب مقدس</title> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |||
<style> | <style> | ||
* { | * { | ||
خط ۲۳: | خط ۲۴: | ||
margin: 0 auto; | margin: 0 auto; | ||
background: white; | background: white; | ||
} | } | ||
خط ۳۰: | خط ۳۰: | ||
color: white; | color: white; | ||
padding: 20px 15px; | padding: 20px 15px; | ||
text-align: center; | text-align: center; | ||
} | } | ||
خط ۴۴: | خط ۴۳: | ||
font-size: 13px; | font-size: 13px; | ||
margin-top: 8px; | margin-top: 8px; | ||
} | } | ||
خط ۶۵: | خط ۶۳: | ||
text-align: justify; | text-align: justify; | ||
font-size: 14px; | font-size: 14px; | ||
} | } | ||
خط ۹۱: | خط ۸۸: | ||
font-size: 13px; | font-size: 13px; | ||
color: #666; | color: #666; | ||
} | } | ||
خط ۱۰۴: | خط ۱۰۰: | ||
display: flex; | display: flex; | ||
gap: 10px; | gap: 10px; | ||
} | } | ||
خط ۱۲۸: | خط ۱۲۳: | ||
background: white; | background: white; | ||
cursor: pointer; | cursor: pointer; | ||
} | } | ||
.searchable-select { | .searchable-select { | ||
position: relative; | position: relative; | ||
خط ۱۵۱: | خط ۱۳۷: | ||
background: white; | background: white; | ||
cursor: pointer; | cursor: pointer; | ||
text-align: right; | text-align: right; | ||
position: relative; | position: relative; | ||
خط ۱۷۵: | خط ۱۵۹: | ||
border: 1px solid #ced4da; | border: 1px solid #ced4da; | ||
border-radius: 6px; | border-radius: 6px; | ||
max-height: | max-height: 400px; | ||
overflow-y: auto; | overflow-y: auto; | ||
z-index: 1000; | z-index: 1000; | ||
خط ۱۸۸: | خط ۱۷۲: | ||
position: sticky; | position: sticky; | ||
top: 0; | top: 0; | ||
} | } | ||
خط ۱۹۷: | خط ۱۸۰: | ||
border-radius: 4px; | border-radius: 4px; | ||
font-size: 13px; | font-size: 13px; | ||
} | } | ||
.options-container { | .options-container { | ||
max-height: | max-height: 300px; | ||
overflow-y: auto; | overflow-y: auto; | ||
} | } | ||
خط ۲۱۴: | خط ۱۹۲: | ||
border-bottom: 1px solid #f1f1f1; | border-bottom: 1px solid #f1f1f1; | ||
font-size: 13px; | font-size: 13px; | ||
} | } | ||
خط ۲۳۸: | خط ۲۱۵: | ||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
padding: 10px; | |||
border-top: 1px solid #e9ecef; | |||
background: #f8f9fa; | |||
gap: 5px; | gap: 5px; | ||
} | } | ||
خط ۲۴۸: | خط ۲۲۷: | ||
cursor: pointer; | cursor: pointer; | ||
border-radius: 4px; | border-radius: 4px; | ||
font-size: 12px; | |||
} | } | ||
خط ۲۵۳: | خط ۲۳۳: | ||
background: #3e6f73; | background: #3e6f73; | ||
color: white; | color: white; | ||
} | |||
.page-info { | |||
font-size: 12px; | |||
color: #6c757d; | |||
margin: 0 10px; | |||
display: flex; | |||
align-items: center; | |||
} | } | ||
خط ۲۵۸: | خط ۲۴۶: | ||
margin: 0 15px; | margin: 0 15px; | ||
border: 1px solid #dee2e6; | border: 1px solid #dee2e6; | ||
overflow: hidden; | overflow: hidden; | ||
background: white; | background: white; | ||
height: 500px; | height: 500px; | ||
} | } | ||
.content-header { | .content-header { | ||
padding: 12px 15px; | padding: 12px 15px; | ||
خط ۲۹۲: | خط ۲۷۸: | ||
cursor: pointer; | cursor: pointer; | ||
font-size: 12px; | font-size: 12px; | ||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
gap: 4px; | gap: 4px; | ||
} | } | ||
خط ۳۴۸: | خط ۳۲۵: | ||
padding: 10px 15px; | padding: 10px 15px; | ||
border-radius: 4px; | border-radius: 4px; | ||
font-size: 13px; | font-size: 13px; | ||
text-align: center; | text-align: center; | ||
خط ۳۵۷: | خط ۳۳۲: | ||
justify-content: center; | justify-content: center; | ||
gap: 6px; | gap: 6px; | ||
} | } | ||
خط ۳۶۶: | خط ۳۴۰: | ||
.view-link { | .view-link { | ||
background: #4a7c59; | background: #4a7c59; | ||
} | } | ||
خط ۳۸۱: | خط ۳۵۰: | ||
top: 0; | top: 0; | ||
right: 0; | right: 0; | ||
} | } | ||
خط ۴۲۶: | خط ۳۸۵: | ||
<div class="container"> | <div class="container"> | ||
<header class="header"> | <header class="header"> | ||
<h1>کتابخانه دانشنامه کتاب مقدس | <h1>کتابخانه دانشنامه کتاب مقدس</h1> | ||
<p class="description">مطالعه آنلاین کتابها و مقالات مسیحی | <p class="description">مطالعه آنلاین کتابها و مقالات مسیحی</p> | ||
</header> | </header> | ||
<section class="seo-content"> | <section class="seo-content"> | ||
<h2>کتابخانه جامع منابع مسیحی | <h2>کتابخانه جامع منابع مسیحی</h2> | ||
<p> | <p>کتابخانهٔ دانشنامهٔ کتاب مقدس مرجع کامل و تخصصی برای مطالعهٔ آنلاین کتابها و مقالات مسیحی است.</p> | ||
<div class="content-list"> | <div class="content-list"> | ||
<div class="content-item"> | <div class="content-item"> | ||
<h3> | <h3>کتابها</h3> | ||
<p> | <p>انتشار همهٔ کتابها در دانشنامه با اجازهٔ رسمی نویسندگان یا ناشران انجام شده است.</p> | ||
</div> | </div> | ||
<div class="content-item"> | <div class="content-item"> | ||
<h3> | <h3>مقالات</h3> | ||
<p> | <p>مقالات دانشنامه با اجازهٔ نویسندگان یا بر اساس منابع عمومی منتشر میشوند.</p> | ||
</div> | </div> | ||
<div class="content-item"> | <div class="content-item"> | ||
<h3> | <h3>فروشگاه کتاب</h3> | ||
<p> | <p>در فروشگاه کتاب دانشنامه، امکان خرید کتابهای چاپی و الکترونیکی فراهم شده است.</p> | ||
</div> | </div> | ||
</div> | </div> | ||
</section> | </section> | ||
<section class="filter-section | <section class="filter-section"> | ||
<div class="filter-row"> | <div class="filter-row"> | ||
<div class="form-group"> | <div class="form-group"> | ||
خط ۴۶۰: | خط ۴۱۵: | ||
<select id="categorySelect"> | <select id="categorySelect"> | ||
<option value="">لطفاً دستهبندی انتخاب کنید</option> | <option value="">لطفاً دستهبندی انتخاب کنید</option> | ||
<option value="کتاب">کتاب | <option value="کتاب">کتاب</option> | ||
<option value="مقاله">مقاله | <option value="مقاله">مقاله</option> | ||
<option value="فروشگاه کتاب">فروشگاه کتاب | <option value="فروشگاه کتاب">فروشگاه کتاب</option> | ||
</select> | </select> | ||
</div> | </div> | ||
<div class="form-group"> | <div class="form-group"> | ||
<label for="contentSelect"><i class="fas fa-book-open"></i> | <label for="contentSelect"><i class="fas fa-book-open"></i> انتخاب محتوا:</label> | ||
<div class="searchable-select"> | <div class="searchable-select"> | ||
<div class="select-display" id="selectDisplay"> | <div class="select-display" id="selectDisplay">لطفاً دستهبندی انتخاب کنید</div> | ||
<div class="options-list" id="optionsList"> | <div class="options-list" id="optionsList"> | ||
<div class="search-box"> | <div class="search-box"> | ||
خط ۴۷۷: | خط ۴۳۲: | ||
<div class="no-results">لطفاً در کادر بالا جستجو کنید</div> | <div class="no-results">لطفاً در کادر بالا جستجو کنید</div> | ||
</div> | </div> | ||
<div class="pagination" id="paginationContainer" style="display: none;"> | <div class="pagination" id="paginationContainer" style="display: none;"></div> | ||
</div> | </div> | ||
</div> | </div> | ||
خط ۴۸۷: | خط ۴۴۰: | ||
</section> | </section> | ||
<section class="content-frame | <section class="content-frame"> | ||
<div class="content-header"> | <div class="content-header"> | ||
<div class="content-title" id="contentTitle">هیچ محتوایی انتخاب نشده است</div> | <div class="content-title" id="contentTitle">هیچ محتوایی انتخاب نشده است</div> | ||
خط ۵۲۴: | خط ۴۷۷: | ||
<script> | <script> | ||
const ITEMS_PER_PAGE = 20; | |||
const ITEMS_PER_PAGE = 20; | |||
let currentPage = 1; | let currentPage = 1; | ||
let totalPages = 1; | let totalPages = 1; | ||
خط ۵۳۱: | خط ۴۸۳: | ||
let currentCategory = ''; | let currentCategory = ''; | ||
let currentSearchTerm = ''; | let currentSearchTerm = ''; | ||
let searchTimeout = null; | |||
function generateLargeDataset() { | function generateLargeDataset() { | ||
const categories = { | const categories = { | ||
خط ۵۴۰: | خط ۴۹۲: | ||
}; | }; | ||
for (let i = 1; i <= 450; i++) { | for (let i = 1; i <= 450; i++) { | ||
categories['کتاب'].push({ | categories['کتاب'].push({ | ||
value: `کتاب_${i}`, | value: `کتاب_${i}`, | ||
text: `کتاب مسیحی شماره ${i} | text: `کتاب مسیحی شماره ${i}` | ||
}); | }); | ||
} | } | ||
for (let i = 1; i <= 680; i++) { | for (let i = 1; i <= 680; i++) { | ||
categories['مقاله'].push({ | categories['مقاله'].push({ | ||
value: `مقاله_${i}`, | value: `مقاله_${i}`, | ||
text: `مقاله مسیحی شماره ${i} | text: `مقاله مسیحی شماره ${i}` | ||
}); | }); | ||
} | } | ||
for (let i = 1; i <= 120; i++) { | for (let i = 1; i <= 120; i++) { | ||
categories['فروشگاه کتاب'].push({ | categories['فروشگاه کتاب'].push({ | ||
value: `فروشگاه_${i}`, | value: `فروشگاه_${i}`, | ||
text: `کتاب قابل خرید شماره ${i} | text: `کتاب قابل خرید شماره ${i}` | ||
}); | }); | ||
} | } | ||
خط ۵۶۹: | خط ۵۱۸: | ||
const largeBooksData = generateLargeDataset(); | const largeBooksData = generateLargeDataset(); | ||
const categorySelect = document.getElementById('categorySelect'); | const categorySelect = document.getElementById('categorySelect'); | ||
const selectDisplay = document.getElementById('selectDisplay'); | const selectDisplay = document.getElementById('selectDisplay'); | ||
خط ۵۹۱: | خط ۵۳۹: | ||
let currentContent = ''; | let currentContent = ''; | ||
categorySelect.addEventListener('change', function() { | categorySelect.addEventListener('change', function() { | ||
const selectedCategory = this.value; | const selectedCategory = this.value; | ||
خط ۶۰۸: | خط ۵۵۵: | ||
totalPages = Math.ceil(currentItems.length / ITEMS_PER_PAGE); | totalPages = Math.ceil(currentItems.length / ITEMS_PER_PAGE); | ||
currentPage = 1; | currentPage = 1; | ||
currentSearchTerm = ''; | |||
selectDisplay.textContent = `آماده برای جستجو | selectDisplay.textContent = `آماده برای جستجو`; | ||
selectDisplay.style.color = '#333'; | selectDisplay.style.color = '#333'; | ||
selectedContentValue.value = ''; | selectedContentValue.value = ''; | ||
خط ۶۱۶: | خط ۵۶۴: | ||
}); | }); | ||
selectDisplay.addEventListener('click', function() { | selectDisplay.addEventListener('click', function() { | ||
if (!currentCategory) return; | if (!currentCategory) return; | ||
خط ۶۳۳: | خط ۵۸۰: | ||
}); | }); | ||
searchInput.addEventListener('input', function() { | searchInput.addEventListener('input', function() { | ||
clearTimeout(searchTimeout); | clearTimeout(searchTimeout); | ||
currentSearchTerm = this.value.toLowerCase(); | currentSearchTerm = this.value.toLowerCase(); | ||
searchTimeout = setTimeout(() => { | searchTimeout = setTimeout(() => { | ||
currentPage = 1; | currentPage = 1; | ||
showPage(1); | showPage(1); | ||
}, 300); | }, 300); | ||
}); | }); | ||
function showPage(page) { | function showPage(page) { | ||
currentPage = page; | currentPage = page; | ||
let filteredItems = currentItems; | let filteredItems = currentItems; | ||
if (currentSearchTerm) { | if (currentSearchTerm) { | ||
خط ۶۶۱: | خط ۶۰۳: | ||
if (totalPages === 0) totalPages = 1; | if (totalPages === 0) totalPages = 1; | ||
const startIndex = (page - 1) * ITEMS_PER_PAGE; | const startIndex = (page - 1) * ITEMS_PER_PAGE; | ||
const endIndex = Math.min(startIndex + ITEMS_PER_PAGE, filteredItems.length); | const endIndex = Math.min(startIndex + ITEMS_PER_PAGE, filteredItems.length); | ||
const pageItems = filteredItems.slice(startIndex, endIndex); | const pageItems = filteredItems.slice(startIndex, endIndex); | ||
populateOptions(pageItems); | populateOptions(pageItems); | ||
showPagination(filteredItems.length); | showPagination(filteredItems.length); | ||
} | } | ||
function populateOptions(itemsList) { | function populateOptions(itemsList) { | ||
optionsContainer.innerHTML = ''; | optionsContainer.innerHTML = ''; | ||
خط ۶۸۴: | خط ۶۲۱: | ||
return; | return; | ||
} | } | ||
const fragment = document.createDocumentFragment(); | |||
itemsList.forEach(item => { | itemsList.forEach(item => { | ||
خط ۷۰۷: | خط ۶۴۶: | ||
}); | }); | ||
fragment.appendChild(option); | |||
}); | }); | ||
optionsContainer.appendChild(fragment); | |||
} | } | ||
function showPagination(totalItems) { | function showPagination(totalItems) { | ||
paginationContainer.innerHTML = ''; | paginationContainer.innerHTML = ''; | ||
خط ۷۲۲: | خط ۶۶۲: | ||
paginationContainer.style.display = 'flex'; | paginationContainer.style.display = 'flex'; | ||
const prevButton = document.createElement('button'); | |||
prevButton.innerHTML = '« قبلی'; | |||
prevButton.disabled = currentPage === 1; | |||
prevButton.addEventListener('click', () => showPage(currentPage - 1)); | |||
paginationContainer.appendChild(prevButton); | |||
const startPage = Math.max(1, currentPage - 2); | const startPage = Math.max(1, currentPage - 2); | ||
const endPage = Math.min(totalPages, currentPage + 2); | const endPage = Math.min(totalPages, currentPage + 2); | ||
if (startPage > 1) { | |||
const firstButton = document.createElement('button'); | |||
firstButton.textContent = '1'; | |||
firstButton.addEventListener('click', () => showPage(1)); | |||
paginationContainer.appendChild(firstButton); | |||
} | |||
for (let i = startPage; i <= endPage; i++) { | for (let i = startPage; i <= endPage; i++) { | ||
خط ۷۴۴: | خط ۶۸۸: | ||
} | } | ||
if (endPage < totalPages) { | |||
if ( | const lastButton = document.createElement('button'); | ||
const | lastButton.textContent = totalPages; | ||
lastButton.addEventListener('click', () => showPage(totalPages)); | |||
paginationContainer.appendChild(lastButton); | |||
paginationContainer.appendChild( | |||
} | } | ||
const nextButton = document.createElement('button'); | |||
nextButton.innerHTML = 'بعدی »'; | |||
nextButton.disabled = currentPage === totalPages; | |||
nextButton.addEventListener('click', () => showPage(currentPage + 1)); | |||
paginationContainer.appendChild(nextButton); | |||
const infoText = document.createElement('div'); | const infoText = document.createElement('div'); | ||
infoText. | infoText.className = 'page-info'; | ||
infoText.textContent = `صفحه ${currentPage} از ${totalPages}`; | |||
infoText.textContent = ` | |||
paginationContainer.appendChild(infoText); | paginationContainer.appendChild(infoText); | ||
} | } | ||
function showContent(bookValue, bookText) { | function showContent(bookValue, bookText) { | ||
const contentUrl = `https://www.pediabible.com/index.php/${bookValue}?action=render`; | const contentUrl = `https://www.pediabible.com/index.php/${bookValue}?action=render`; | ||
const wikiUrl = `https://www.pediabible.com/index.php/${bookValue}`; | const wikiUrl = `https://www.pediabible.com/index.php/${bookValue}`; | ||
خط ۷۷۰: | خط ۷۱۴: | ||
contentTitle.textContent = bookText; | contentTitle.textContent = bookText; | ||
contentFrame.style.display = 'none'; | contentFrame.style.display = 'none'; | ||
iframePlaceholder.style.display = 'flex'; | iframePlaceholder.style.display = 'flex'; | ||
خط ۷۷۷: | خط ۷۲۰: | ||
<i class="fas fa-spinner fa-spin" style="font-size: 1.5rem; color: #3e6f73; margin-bottom: 10px;"></i> | <i class="fas fa-spinner fa-spin" style="font-size: 1.5rem; color: #3e6f73; margin-bottom: 10px;"></i> | ||
<p>در حال بارگذاری "${bookText}"...</p> | <p>در حال بارگذاری "${bookText}"...</p> | ||
</div> | </div> | ||
`; | `; | ||
let progress = 0; | let progress = 0; | ||
const progressInterval = setInterval(() => { | const progressInterval = setInterval(() => { | ||
خط ۷۸۹: | خط ۷۳۰: | ||
}, 200); | }, 200); | ||
setTimeout(() => { | setTimeout(() => { | ||
clearInterval(progressInterval); | clearInterval(progressInterval); | ||
خط ۷۹۷: | خط ۷۳۷: | ||
}, 500); | }, 500); | ||
contentFrame.style.display = 'block'; | contentFrame.style.display = 'block'; | ||
iframePlaceholder.style.display = 'none'; | iframePlaceholder.style.display = 'none'; | ||
applyZoom(); | applyZoom(); | ||
contentFrame.contentDocument.write(` | contentFrame.contentDocument.write(` | ||
<html dir="rtl"> | <html dir="rtl"> | ||
خط ۸۰۹: | خط ۷۴۷: | ||
<h1>${bookText}</h1> | <h1>${bookText}</h1> | ||
<p>این یک نمایش نمونه از محتوای "${bookText}" است.</p> | <p>این یک نمایش نمونه از محتوای "${bookText}" است.</p> | ||
</body> | </body> | ||
</html> | </html> | ||
خط ۸۱۸: | خط ۷۵۳: | ||
}, 1500); | }, 1500); | ||
wikiLink.href = wikiUrl; | wikiLink.href = wikiUrl; | ||
wikiLink.style.display = 'flex'; | wikiLink.style.display = 'flex'; | ||
خط ۸۲۹: | خط ۷۶۳: | ||
} | } | ||
directView.addEventListener('click', function() { | directView.addEventListener('click', function() { | ||
if (currentContent) { | if (currentContent) { | ||
خط ۸۳۷: | خط ۷۷۰: | ||
}); | }); | ||
function applyZoom() { | function applyZoom() { | ||
contentFrame.style.zoom = `${currentZoom}%`; | contentFrame.style.zoom = `${currentZoom}%`; | ||
خط ۸۷۴: | خط ۸۰۶: | ||
} | } | ||
document.addEventListener('click', function(event) { | document.addEventListener('click', function(event) { | ||
if (!event.target.closest('.searchable-select')) { | if (!event.target.closest('.searchable-select')) { | ||
خط ۸۸۱: | خط ۸۱۲: | ||
}); | }); | ||
searchInput.addEventListener('keydown', function(event) { | searchInput.addEventListener('keydown', function(event) { | ||
if (event.key === 'Escape') { | if (event.key === 'Escape') { | ||
خط ۸۸۸: | خط ۸۱۸: | ||
}); | }); | ||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> |
نسخهٔ ۱۶ اکتبر ۲۰۲۵، ساعت ۰۳:۲۴
<!DOCTYPE html>
کتابخانه دانشنامه کتاب مقدس
مطالعه آنلاین کتابها و مقالات مسیحی
کتابخانه جامع منابع مسیحی
کتابخانهٔ دانشنامهٔ کتاب مقدس مرجع کامل و تخصصی برای مطالعهٔ آنلاین کتابها و مقالات مسیحی است.
کتابها
انتشار همهٔ کتابها در دانشنامه با اجازهٔ رسمی نویسندگان یا ناشران انجام شده است.
مقالات
مقالات دانشنامه با اجازهٔ نویسندگان یا بر اساس منابع عمومی منتشر میشوند.
فروشگاه کتاب
در فروشگاه کتاب دانشنامه، امکان خرید کتابهای چاپی و الکترونیکی فراهم شده است.
لطفاً دستهبندی انتخاب کنید
هیچ محتوایی انتخاب نشده است
لطفاً یک کتاب یا مقاله از لیست انتخاب کنید