برنامه نویسی

ایجاد صفحه پیوندهای خود در Nuxt

این یک نمونه کد سریع از نحوه ایجاد صفحه “Where to find me” خود برای وبلاگم است.

من از Nuxt، Font Awesome و Tailwind (v2) استفاده می کنم، اما با تنظیمات جزئی می توانید آن را با هر پشته ای که دوست دارید تطبیق دهید.

مولفه اجتماعی من

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

پس از راه اندازی اولیه، متوجه شدم که راهی برای پیوند دادن از صفحه پیوندهای خود به وبلاگ واقعی خود ندارم، بنابراین آن را به عنوان یک پیوند و یک لینک اضافه کردم. isHome() ویژگی محاسبه شده برای بررسی اینکه آیا کاربر قبلاً در صفحه اصلی من بوده است یا خیر.

<template>
  <div class="max-w-4xl mx-auto py-4 text-center">
    <h2 class="my-4 text-3xl font-display font-bold">
      Find me around the internet
    </h2>
    <ul
      class="flex flex-wrap justify-around max-w-lg mx-auto text-center list-none"
    >
      <li v-if="isHome" class="w-1/2 md:w-1/4 mt-4">
        <a href="https://terabytetiger.com/">
          <div>
            <font-awesome-icon
              :icon="['fas', 'home']"
              :style="{
                fontSize: '3rem',
              }"
              class="text-purple-0"
            />
          </div>
          Blog
        </a>
      </li>
      <li class="w-1/2 md:w-1/4 mt-4">
        <a href="https://dev.to/terabytetiger">
          <div>
            <font-awesome-icon
              :icon="['fab', 'dev']"
              :style="{
                fontSize: '3rem',
              }"
            />
          </div>
          Dev.to
        </a>
      </li>
      <li class="w-1/2 md:w-1/4 mt-4">
        <a href="https://github.com/TerabyteTiger">
          <div>
            <font-awesome-icon
              :icon="['fab', 'github']"
              :style="{
                fontSize: '3rem',
              }"
            />
          </div>
          Github
        </a>
      </li>
      <li class="w-1/2 md:w-1/4 mt-4">
        <a rel="me" href="https://dftba.club/@TerabyteTiger">
          <div>
            <font-awesome-icon
              :icon="['fab', 'mastodon']"
              :style="{
                fontSize: '3rem',
              }"
              class="text-blue-700"
            />
          </div>
          Mastodon
        </a>
      </li>
      <li class="w-1/2 md:w-1/4 mt-4">
        <a href="https://www.instagram.com/t.vanblargan/">
          <div>
            <font-awesome-icon
              :icon="['fab', 'instagram']"
              :style="{
                fontSize: '3rem',
              }"
              class="text-pink-500"
            />
          </div>
          Instagram
        </a>
      </li>
      <li class="w-1/2 md:w-1/4 mt-4">
        <a href="https://www.youtube.com/channel/UCZeMnP2XoSh724u4v8Oskwg">
          <div>
            <font-awesome-icon
              :icon="['fab', 'youtube']"
              :style="{
                fontSize: '3rem',
              }"
              class="text-red-500"
            />
          </div>
          YouTube
        </a>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "Social",
  computed: {
    isHome() {
      return !(this.$route.fullPath === "/")
    },
  },
}
</script>
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

طرح بندی صفحه پیوندها

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

<template>
  <div class="bg-gradient-to-br from-blue-400 to-purple-400 w-screen h-screen p-12">
    <Nuxt />
  </div>
</template>
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

صفحه پیوندها

در مرحله بعد صفحه پیوندهای خود را طوری تنظیم کردم که یک کارت ساده با آن باشد Social کامپوننت و یک عکس نمایه به شکل سرگرم کننده در بالا.

<template>
  <div class="">
    <img
      src="/profileImg.png"
      alt="(your alt text goes here)"
      class="rounded-full h-48 mx-auto mb-8 py-4 filter drop-shadow-2xl"
    />
    <div
      class="bg-white mx-auto w-7/8 lg:w-1/2 rounded-lg p-4 filter drop-shadow-2xl"
    >
      <Social></Social>
    </div>
  </div>
</template>

<script>
export default {
  layout: "links",
}
</script>
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و این تمام چیزی است که برای به دست آوردن یک مکان مرکزی که می‌توانم از حساب‌های اجتماعی مختلف به آن پیوند بزنم، لازم بود!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا