امکان لینک دهی درون پستی وبلاگ

اگر طی چند سال اخیر به عادت‌ خوانندگان وب دقت کرده باشید، متوجه کم میلی خوانندگان به مطالب طولانی و بلند شده اید و یکی از دلایل اصلی این کم میلی، عدم توجه نویسندگان و به خصوص ما وبلاگنویس‌ها به موضوع مدیریت درست مطلب است. وبلاگ‌ها معمولا برای نوشتن مطالب طولانی و بررسی‌های تکمیلی شناخته می‌شوند و اگر به وبلاگ‌های فاخر و با محتوا نگاه کنید متوجه این موضوع می‌شوید، اما راه حل مدیریت مطالب طولانی و بلند چیست؟

وقتی بحث از نوشته و نوشتار می‌شود ناخودآگاه به یاد کتاب‌ها و روزنامه‌ها شاید بیافتیم. و با نگاهی ساده به آن‌ها به راحتی می‌توانیم به روش کارآمد بخش‌بندی و فصل‌بندی برای مدیریت محتوا پی ببریم. اما یک وبلاگ و یک پست که در حالت عادی تنها یک صفحه است را چگونه می‌توان بخش‌بندی کرد؟

استفاده از عناوین و سرنویس‌ها

یکی از بهترین روش‌ها برای تقسیم یک پست طولانی، استفاده مناسب از عناوین و سرنویس‌ها است. در این روش شما به یک یا چند پاراگراف با مضمون مرتبط، عنوانی را اختصاص می‌دهید که پیام محتوای زیرین خود را در قالب چند کلمه به خواننده می‌رساند. هر چه عنوان‌ها قابل فهم‌تر و ساده‌تر باشند به درک خواننده از مطلب، کمک بیشتری می‌کند. همچنین عنوان‌های یک مطلب همچون یک کتاب به امکان فهرست‌بندی پست هم می‌توانند کمک کنند تا خواننده با تنها نگاه به فهرست پست به کلیات محتوای پست اشراف پیدا کرده و نه تنها مقدمه‌ و انگیزه‌ای برای مطالعه پست پیدا کند بلکه به صورت مستقیم بتواند به قسمت مورد نظر خود برسد.

چالش‌های عنوان‌بندی مطلب برای من

خیلی از مواقع پیش می‌آمد که می‌خواسته‌ام قسمت خاصی از پست خود را با یکی از دوستانم به اشتراک بگذارم. به عنوان مثال می‌خواسته‌ام «بازی نام»  را که در پست «بازی‌های متنی مناسب چت و چت‌روم‌ها» نوشته ام برای دوستی توضیح دهم و بهترین کار اشتراک آن پست با دوستم بود. اما دوستم می‌بایست قسمت قابل توجهی از پست را طی می‌کرد تا به این عنوان می‌رسید و اینجا بود که احساس نیاز وجود سیستم لینک‌دهی درون پستی را حس کردم.

همچنین برای ساخت فهرستی از عناوین یک پست نیاز به وجود لینک‌هایی برای ارجاع به قسمت خاصی از پست بود تا خواننده‌ به صورت مستقیم و بدون نیاز به اسکرول کردن صفحه به عنوان مورد نظرش برسد.

اما برای ایجاد یک چنین سیستمی می‌بایست به تمامی عناوین پست‌ها به صورت تک به تک صفت id را نامگذاری و اضافه می‌کردم که عملا چنین کاری برایم مقدور نبود، چرا که تعداد پست‌ها و همچنین تعداد عناوین هر پست بسیار بود و انجام این عملیات به صورت یکه هم وقت‌گیر بود. پس تصمیم به استفاده از زبان برنامه‌نویسی جاواسکریپت برای حل این مشکل گرفتم.

راه من برای حل چالش لینک‌دهی

سرنویس‌هایی که ما در ویرایشگر متن وبلاگ‌هایمان از آن‌ها استفاده می‌کنیم در حقیقت تگ‌های h1 تا h6 زبان HTML هستند. در وبلاگ آسمانم، بنده از تگ h1 برای عنوان اصلی مطلب و همچنین از تگ h2 برای عناوین لیست پستها استفاده می‌کنم، پس این دو تگ بخشی از پست‌های من نخواهند بود. تگ‌های دیگری که می‌ماند تگ‌های h3 و h4 و h5 هستد که به دلیل عدم استفاده از تگ h6 در هیچ کدام از پست‌هایم آن‌ را نیز حذف کردم. و خروجی کارم را در قالب کد زیر نوشتم:

<script>
  // Capture All hn tags of post content
  let headers = document.querySelectorAll('h3, h4, h5, h6');

  // Loop through all hn tags and add id attribute
  for (let i = 0; i < headers.length; i++) {
    headers[i].setAttribute('id', 'title-' + i);
  }


  // Capture hn's after the loop again
  let headerss = document.querySelectorAll('h3, h4, h5, h6');

  // Loop through captured tags and Create an a element
  // then replace them with it's inner html
  for (let j = 0; j < headers.length; j++) {
    let isame = headerss[j].getAttribute('id');
    let kisame = document.createElement('a');
    kisame.setAttribute('href', '#' + isame);
    kisame.innerHTML = headerss[j].innerHTML;
    headerss[j].innerHTML = kisame.outerHTML;
  }
</script>

چگونه از این کد استفاده کنیم؟

تنها کافی است که این کد جاواسکریپت را به انتهای فایل ساختار قالب وبلاگتان قبل از تگ بسته‌ی html اضافه کنید تا تمامی سرنویس‌های ۳ تا ۶ مطالب وبلاگتان دارای لینک شوند و قابلیت لینک‌دهی به عناوین پست خود را به دست آورید.

این کد چگونه کار می‌کند؟

این کد به صورت خودکار تگ‌های h3 تا h6 وبلاگ شما را جمع آوری می‌کند و در قالب حلقه‌هایی به تک تک آنها صفت id را اضافه کرده و سپس محتوای درون این تگ‌ها را لینک‌دار می‌کند.

همکاری و همفکری

اگر پیشنهادی برای بهبود این امکان دارید یا راه حل دیگری برای حل این چالش دارید می‌توانید در ادامه و از طریق فرم ارسال کامنت، نظرتان را با وبلاگنویسان دیگر در میان بگذارید و همچنین اگر برنامه نویس هستید می‌توانید از طریق گیتهاب آسمانم، مخزن جعبه ابزار به بهبود و گسترش این امکان کمک کنید.

برچسب‌ها
پیشنهادهای آسمانم

تا حالا۶ تا نظر داشتیم!

محمدرضا ...

چه امکان خوبی!

چقدر راهگشاست

ممنون بابت آماده سازی و انتشارش🙏🏻

۱۳ اسفند ۱۳۹۹
خوشحالم که متوجه اهمیتش شدین و خوشتون اومد ... 
خواهش می‌کنم ... کاری نکردم ... 😊🌹
۱۳ اسفند ۱۳۹۹

استفاده از سرنویس ها راه نجات یه پسته کد جالبیه خسته نباشی محمدرضای عزیز

۱۳ اسفند ۱۳۹۹
همینطوره ... میشه گفت که یک پست طولانی و خسته کننده نجات پیدا می‌کنه و برچسب مفید و خوانا می‌گیره ...
قربانت ... سلامت باشی پسر زمستان عزیز ... 😊🌹
۱۳ اسفند ۱۳۹۹
یک ابزار مفید مثل بقیه ابزارهای دیگه 💙:)
۱۳ اسفند ۱۳۹۹
مرسی عرفان جان ... نظر لفظته ... 😊⁦❤️⁩🌹
۱۳ اسفند ۱۳۹۹

قبلا تو وبلاگ قدیمیم میرفتم تو بخش متن مطلب و به چند قسمت <a name=> میدادم ‌😅

بعد هر جا لازم بود لینک میکردم 😁

ولی این حتما ابزار خوبی خواهد بود 👌

۱۳ اسفند ۱۳۹۹
در حالت دستی ... بهترین روش ...همین روشی هست که شما استفاده کردین ... و سریع میشه نه تنها سرنویس‌ها رو لینک کرد ... بلکه هر قسمتی که مد نظرمونه ... اما از یه طرف خواننده هم اگر بخواد قسمت خاصی رو لینک کنه ... این امکان رو نداره اگر شما قبلا عملیات لینک‌دهی رو انجام نداده باشین ...
از نقاط منفی روشی که من ارائه کردم نیاز این روش به خرید امکان اختیاری جاوااسکریپت هست و از نقاط مثبت روش شما عدم نیاز به خرید این امکان هست...
مرسی ... خیلی کامنت خوبی بود ... 😊🌹

۱۳ اسفند ۱۳۹۹

سلام وقتتون بخیر، میشه نحوه استفاده از تگ <a name=> رو توضیح بدین؟

و آیا میشه چند بار از این تگ در یک مطلب استفاده کرد؟

۱۹ تیر ۱۴۰۳
سلام ... وقت شما هم بخیر ...
شما می‌تونین با سرچ این موضوع در اینترنت به توضیحات خوب از قبل نوشته شده برسین مثل این پست.

همینطوره ... می‌تونین بارها از این تگ در مطالبتون استفاده کنین و ارجاع بدین.
۲۰ تیر ۱۴۰۳

سپاسگزارم

۲۰ تیر ۱۴۰۳
خواهش می‌کنم ... درود و سپاس بر شما
۲۰ تیر ۱۴۰۳
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
چت درباره من تماس جعبه ابزارها آسمانی‌ساز لینک رسان موزیک‌ها 💙 برنامه وبلاگ CKEditor Quill TinyMCE Froala کانال آپارات