reinit the project

Signed-off-by: nurRiyad <asadnurriyad@gmail.com>
This commit is contained in:
nurRiyad
2023-01-05 22:16:03 +06:00
parent bb2c026901
commit e8b02f2414
38 changed files with 506 additions and 3417 deletions

22
.gitignore vendored
View File

@@ -1,9 +1,17 @@
node_modules
*.log*
.nuxt
.nitro
.cache
.output
*.log
nuxt.d.ts
# private config
.env
.vscode
# deps
node_modules
# build or generate
.nuxt
dist
.output
# IDE
.idea
.vercel

52
app.vue
View File

@@ -1,55 +1,5 @@
<script setup lang="ts">
import type { ParsedContent } from "@nuxt/content/dist/runtime/types";
useHead({
htmlAttrs: {
lang: "en",
},
title: "",
titleTemplate: "%s",
meta: [
{ name: "description", content: "Al Asad Nur riyad's Personal Blog Site" },
{ name: "twitter:card", content: "summary_large_image" },
{ name: "twitter:site", content: "@nuxt_js" },
{ name: "twitter:creator", content: "@nuxt_js" },
],
});
const { data } = await useAsyncData("index", () => queryContent("/").find());
useState("blogData", () => (data.value as Array<ParsedContent>) || []);
</script>
<template>
<div>
<NuxtLayout>
<NuxtLoadingIndicator :height="5" :duration="3000" :throttle="400" />
<NuxtPage />
</NuxtLayout>
<NuxtWelcome />
</div>
</template>
<style>
.page-enter-active {
transition: all 0.1s ease-out;
}
.page-leave-active {
transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1);
}
.page-enter-from,
.page-leave-to {
transform: translateY(20px);
opacity: 0;
}
.layout-enter-active {
transition: all 0.1s ease-out;
}
.layout-leave-active {
transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1);
}
.layout-enter-from,
.layout-leave-to {
transform: translateY(-20px);
opacity: 0;
}
</style>

View File

@@ -1,5 +0,0 @@
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap");
@tailwind base;
@tailwind components;
@tailwind utilities;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,32 +0,0 @@
<script setup lang="ts">
const props = defineProps({
title: String,
path: String,
date: String,
type: String,
});
</script>
<template>
<div
class="font-ibmmono px-10 mb-4 text-slate-800 group shadow-sm bg-white rounded-lg py-4"
>
<div class="flex items-center space-x-3 space-y-2">
<icon name="ant-design:arrow-right-outlined" />
<div>
<nuxt-link
:to="path"
class="group-hover:underline group-hover:text-sky-500 text-lg"
>
{{ title }}
</nuxt-link>
<div class="flex italic text-sm text-slate-600 items-center space-x-2">
<icon name="material-symbols:calendar-month" />
<p>{{ date }}</p>
<p>|</p>
<p>{{ type }}</p>
</div>
</div>
</div>
</div>
</template>

View File

@@ -1,33 +0,0 @@
<script setup lang="ts">
const props = defineProps({
title: String,
description: String,
date: String,
type: String,
path: String,
});
</script>
<template>
<div class="space-y-2 my-5 text-slate-800 group">
<nuxt-link
:to="path"
class="text-xl font-semibold group-hover:text-sky-500"
>
{{ title }}
</nuxt-link>
<div class="flex italic text-xs text-slate-600 items-center space-x-2">
<icon name="material-symbols:calendar-month" />
<p>{{ date }}</p>
<p>|</p>
<p>{{ type }}</p>
</div>
<p class="text-slate-600 pb-2">
{{ description }}
</p>
<nuxt-link :to="path" class="font-semibold group-hover:text-sky-500">
Read more
<span class="hidden group-hover:inline"> ->> </span>
</nuxt-link>
</div>
</template>

View File

@@ -1,33 +0,0 @@
<script setup lang="ts">
const props = defineProps({
type: String,
count: Number,
path: String,
});
</script>
<template>
<div
class="basis-1/5 bg-white mx-5 my-2 p-5 rounded-md shadow-lg max-w-[530px] group text-slate-800"
>
<nuxt-link :to="`/tags/${path}`" class="group-hover:text-sky-500">
<div class="flex items-center">
<h4 class="text-2xl font-medium py-1">{{ type }}</h4>
</div>
</nuxt-link>
<div class="flex space-x-3 items-start text-slate-600">
<p class="pb-2">Total Post</p>
<div class="text-sm">
<icon calss="bg-red" name="ant-design:arrow-right-outlined" />
</div>
<p>{{ count }}</p>
</div>
<nuxt-link class="group-hover:text-sky-500" :to="`/tags/${path}`">
<p class="font-medium text-sm">
Read All Post <span class="hidden group-hover:inline"> ->> </span>
</p>
</nuxt-link>
</div>
</template>

View File

@@ -1,41 +0,0 @@
<script setup lang="ts">
const theme = ref("light");
</script>
<template>
<footer class="p-3 mt-10 bg-[#a2d9ff] font-ibmmono">
<div class="container px-4 mx-auto max-w-6xl flex justify-between">
<ul class="flex space-x-2 text-sm text-slate-800 items-end justify-start">
<li>Copyright &#169; 2022 - Present</li>
<li>|</li>
<li>
All Rights Reserved by
<nuxt-link
class="underline"
target="_blank"
to="https://nurriyad.xyz"
>
Riyad
</nuxt-link>
</li>
</ul>
<ul class="flex space-x-2 text-sm text-slate-800 items-end justify-start">
<li>
<nuxt-link to="/">
<icon size="22px" name="uil:github" />
</nuxt-link>
</li>
<li>
<nuxt-link to="/">
<icon size="22px" name="uil:linkedin" />
</nuxt-link>
</li>
<li>
<nuxt-link to="/">
<icon size="22px" name="mdi:stackoverflow" />
</nuxt-link>
</li>
</ul>
</div>
</footer>
</template>

View File

@@ -1,9 +0,0 @@
<template>
<div class="text-center text-stone-800 font-ibmmono bg-[#a2d9ff]">
<h1 class="text-4xl pt-16 pb-2 font-bold">Al Asad Nur Riyad</h1>
<p class="mt-3 max-w-md mx-auto text-base">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus eum
nam magni rem. Nihil reprehenderit dolorum quas, facere soluta commodi.
</p>
</div>
</template>

View File

@@ -1,44 +0,0 @@
<script setup lang="ts">
const props = defineProps({
title: String,
description: String,
date: String,
author: String,
path: String,
});
</script>
<template>
<div
class="basis-1/2 bg-white mx-5 my-2 p-5 max-w-[530px] rounded-md shadow-lg group"
>
<nuxt-link :to="path" class="group-hover:text-sky-500">
<h4 class="text-xl font-medium py-1">{{ title }}</h4>
</nuxt-link>
<div class="text-xs text-slate-500 pb-3 flex space-x-4">
<div class="flex items-center space-x-1">
<icon name="material-symbols:av-timer" />
<span class=""> Create {{ date }}</span>
</div>
<div class="flex items-center space-x-1">
<icon name="mdi:face-man" />
<nuxt-link
class="hover:underline"
target="_blank"
to="https://www.nurriyad.xyz/"
>by {{ author }}</nuxt-link
>
</div>
</div>
<p class="pb-2 text-slate-600">
{{ description }}
</p>
<nuxt-link :to="path" class="group-hover:text-sky-500">
<p class="font-medium">
Read More
<span class="hidden group-hover:inline"> ->> </span>
</p>
</nuxt-link>
</div>
</template>

View File

@@ -1,38 +0,0 @@
<script setup lang="ts">
import { ParsedContent } from "@nuxt/content/dist/runtime/types";
const route = useRoute();
const routeType = computed(() => {
return route.params.topic || "";
});
const data = useState("blogData");
const typeName = computed(() => {
const allpost = (data.value as Array<ParsedContent>) || [];
const filteredType = allpost.filter((post) => post._dir === routeType.value);
return filteredType.at(0)?.type || "";
});
const title = computed(() => {
const path = route.fullPath;
const splitPath = path.split("/");
const name = splitPath.at(1);
const tagName = splitPath.at(2);
if (name === "blogs") return "All Blogs Post";
else if (name === "tags") {
if (tagName) {
return `All ${typeName.value} Related Post`;
} else {
return "All Tags";
}
} else return "About Me";
});
</script>
<template>
<div class="text-center text-stone-800 bg-[#a2d9ff] mb-5 font-ibmmono">
<h1 class="text-4xl p-16 font-bold">{{ title }}</h1>
</div>
</template>

View File

@@ -1,63 +0,0 @@
<script setup lang="ts">
const route = useRoute();
const theme = ref("light");
const activeNavbar = computed(() => {
const path = route.fullPath;
const splitedPath = path.split("/");
const navbarName = splitedPath[1];
return navbarName;
});
</script>
<template>
<header class="sticky top-0 p-3 bg-[#a2d9ff] font-ibmmono">
<div
class="container px-4 mx-auto max-w-6xl flex justify-between text-slate-800"
>
<ul class="flex space-x-8 items-end justify-start">
<li>
<nuxt-link
class="font-semibold text-base"
:class="{ underline: activeNavbar === '' }"
to="/"
>
NurRiyad
</nuxt-link>
</li>
<li>
<nuxt-link
:class="{ underline: activeNavbar === 'blogs' }"
to="/blogs"
>Blogs</nuxt-link
>
</li>
<li>
<nuxt-link :class="{ underline: activeNavbar === 'tags' }" to="/tags"
>Tags</nuxt-link
>
</li>
</ul>
<ul class="flex space-x-8 items-end">
<li>
<nuxt-link
:class="{ underline: activeNavbar === 'about' }"
to="/about"
>About</nuxt-link
>
</li>
<li v-show="theme === 'light'" @click="theme = 'dark'">
<nuxt-link to="/">
<icon size="25px" name="ph:sun-dim" />
</nuxt-link>
</li>
<li v-show="theme === 'dark'" @click="theme = 'light'">
<nuxt-link to="/">
<icon size="25px" name="ph:moon-stars" />
</nuxt-link>
</li>
</ul>
</div>
</header>
</template>

View File

@@ -1,21 +0,0 @@
<script setup lang="ts">
const props = defineProps({
title: String,
dir: String,
});
const router = useRouter();
const onClick = () => {
router.push(`/tags/${props.dir}`);
};
</script>
<template>
<button
@click="onClick"
class="bg-[#a2d9ff] px-2 py-1 m-2 transition hover:scale-105 rounded-md"
>
{{ title }}
</button>
</template>

View File

@@ -1,9 +0,0 @@
<template>
<div class="text-xs font-ibmmono antialiased text-slate-600 flex space-x-2">
<div class="flex">
<p class="mr-1">Created</p>
<slot name="time" />
</div>
<slot name="author" />
</div>
</template>

View File

@@ -1,20 +0,0 @@
---
title: "Title of the page 4sdf"
description: "meta description of the page"
draft: false
head: true
author: riyad
date: 26 Jan 2022
type: Docker
---
# Hi there!
This Markdown file creates a page at `your-domain.com/page-1/`
It probably isn't styled much, but Markdown does support:
- **bold** and _italics._
- lists
- [links](https://astro.build)
- and more!

View File

@@ -1,47 +0,0 @@
---
title: "Thi is hello git"
description: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley"
draft: false
head: true
author: riyad
date: 29 Jan 2022
type: Git
---
::info-component
#time
22 January 2022
#author
by Md. [Al Asad Nur Riyad](https://www.nurriyad.xyz)
::
# How to install nuxt 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley
## Step 01
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
<img src="/img/sdf.jpg" class="mx-auto" alt="drawing" width="200"/>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
## This is a sub header
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
[google](google.com)
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

View File

@@ -1,47 +0,0 @@
---
title: "Thi is hello git"
description: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley"
draft: false
head: true
author: riyad
date: 29 Jan 2022
type: Git
---
::info-component
#time
22 January 2022
#author
by Md. [Al Asad Nur Riyad](https://www.nurriyad.xyz)
::
# How to install nuxt 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley
## Step 01
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
<img src="/img/sdf.jpg" class="mx-auto" alt="drawing" width="200"/>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
## This is a sub header
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
[google](google.com)
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

View File

@@ -1,47 +0,0 @@
---
title: "Thi is hello git"
description: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley"
draft: false
head: true
author: riyad
date: 29 Jan 2022
type: Git
---
::info-component
#time
22 January 2022
#author
by Md. [Al Asad Nur Riyad](https://www.nurriyad.xyz)
::
# How to install nuxt 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley
## Step 01
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
<img src="/img/sdf.jpg" class="mx-auto" alt="drawing" width="200"/>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
## This is a sub header
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
[google](google.com)
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

View File

@@ -1,47 +0,0 @@
---
title: "Title of the page"
description: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley"
draft: false
head: true
author: riyad
date: 22 Jan 2022
type: JavaScript
---
::info-component
#time
22 January 2022
#author
by Md. [Al Asad Nur Riyad](https://www.nurriyad.xyz)
::
# How to install nuxt 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley
## Step 01
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
<img src="/img/sdf.jpg" class="mx-auto" alt="drawing" width="200"/>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
## This is a sub header
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
[google](google.com)
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

View File

@@ -1,47 +0,0 @@
---
title: "Title of the page 2"
description: "meta description of the page 2"
draft: false
head: true
author: riyad
date: 23 Jan 2022
type: JavaScript
---
::info-component
#time
22 January 2022
#author
by Md. [Al Asad Nur Riyad](https://www.nurriyad.xyz)
::
# How to install nuxt 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley
## Step 01
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
<img src="/img/sdf.jpg" class="mx-auto" alt="drawing" width="200"/>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
## This is a sub header
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
[google](google.com)
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

View File

@@ -1,20 +0,0 @@
---
title: "Title of the page 3"
description: "meta description of the page"
draft: false
head: true
author: riyad
date: 24 Jan 2022
type: Typescript
---
# Hi there!
This Markdown file creates a page at `your-domain.com/page-1/`
It probably isn't styled much, but Markdown does support:
- **bold** and _italics._
- lists
- [links](https://astro.build)
- and more!

View File

@@ -1,20 +0,0 @@
---
title: "Title of the page 4"
description: "meta description of the page"
draft: false
head: true
author: riyad
date: 25 Jan 2022
type: Typescript
---
# Hi there!
This Markdown file creates a page at `your-domain.com/page-1/`
It probably isn't styled much, but Markdown does support:
- **bold** and _italics._
- lists
- [links](https://astro.build)
- and more!

View File

@@ -1,9 +0,0 @@
<template>
<div class="bg-slate-200">
<navbar-com />
<div>
<slot />
</div>
<footer-com class="mt-0" />
</div>
</template>

View File

@@ -1,11 +0,0 @@
<template>
<div>
<navbar-com />
<index-hero />
<img src="@/assets/img/wave.png" class="w-full" alt="this is wave image" />
<div>
<slot />
</div>
<footer-com />
</div>
</template>

View File

@@ -1,10 +0,0 @@
<template>
<div class="bg-slate-200">
<navbar-com />
<list-hero />
<div>
<slot />
</div>
<footer-com />
</div>
</template>

View File

@@ -1,47 +1,4 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
// server side rendering mode
ssr: true,
// typescripts
typescript: {
strict: true,
typeCheck: true,
},
app: {
head: {
viewport: "width=device-width, initial-scale=2",
charset: "utf-16",
},
// global transition
pageTransition: { name: "page", mode: "out-in" },
layoutTransition: { name: "layout", mode: "out-in" },
},
// experimental features
experimental: {
reactivityTransform: false,
},
// auto import components
components: true,
modules: [
"@nuxtjs/tailwindcss",
"@nuxt/content",
"@nuxtjs/robots",
"nuxt-icon",
],
// content
content: {
documentDriven: true,
markdown: {
mdc: true,
},
highlight: {
theme: "github-dark",
},
},
});
})

View File

@@ -8,15 +8,6 @@
"postinstall": "nuxt prepare"
},
"devDependencies": {
"@nuxt/content": "^2.2.2",
"@nuxtjs/robots": "^3.0.0",
"@nuxtjs/tailwindcss": "^6.1.3",
"@tailwindcss/typography": "^0.5.8",
"nuxt": "3.0.0",
"nuxt-icon": "^0.1.8",
"prettier": "^2.8.0",
"typescript": "^4.9.4",
"vue-content-loader": "^2.0.1",
"vue-tsc": "^1.0.22"
"nuxt": "3.0.0"
}
}

View File

@@ -1,13 +0,0 @@
<script setup lang="ts">
definePageMeta({
layout: "blog",
});
</script>
<template>
<main
class="container mx-auto bg-white max-w-6xl p-6 min-h-screen prose prose-slate"
>
<ContentDoc />
</main>
</template>

View File

@@ -1,41 +0,0 @@
<script setup lang="ts">
definePageMeta({
layout: "list",
});
</script>
<template>
<div
class="container mx-auto max-w-6xl font-ibmmono antialiased min-h-screen"
>
<div class="flex gap-14">
<div class="m-2 rounded-lg object-cover">
<img
class="ring ring-blue-500 rounded-lg h-48"
src="@/assets/img/sdf.jpg"
alt="profile pic"
/>
</div>
<div class="basis-3/4 bg-white p-4 rounded-lg">
<div class="pb-3">
<h1 class="font-semibold text-xl">Md. AL Asad Nur Riyad</h1>
<h3 class="text-sm">Software Engineer @AppsCode</h3>
</div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum sint,
perspiciatis, tenetur commodi quasi doloremque magni minus hic itaque
in saepe a assumenda totam quidem suscipit impedit, aliquam earum
molestias.
</p>
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Delectus
quibusdam tempore minus dignissimos nam sed ipsa eos odio numquam amet
hic similique quae rem repellat fugit perspiciatis excepturi quidem,
sequi obcaecati maiores laboriosam optio nostrum, modi eligendi?
Accusamus, quidem nobis!
</p>
</div>
</div>
</div>
</template>

View File

@@ -1,45 +0,0 @@
<script setup lang="ts">
import type { ParsedContent } from "@nuxt/content/dist/runtime/types";
definePageMeta({
layout: "list",
});
const data = useState("blogData");
// get all blog post
const getAllPost = computed(() => {
const allpost = (data.value as Array<ParsedContent>) || [];
const alltypes = allpost.map((post) => {
return {
title: post.title,
path: post._path,
date: post.date as string,
type: post.type,
};
});
alltypes.sort(function (a, b) {
const c = new Date(a.date);
const d = new Date(b.date);
return c < d ? 1 : -1;
});
return alltypes;
});
</script>
<template>
<div
class="container mx-auto max-w-6xl font-ibmmono antialiased min-h-screen"
>
<div>
<template v-for="pp in getAllPost" :key="pp">
<archiev-card
:title="pp.title"
:date="pp.date"
:path="pp.path"
:type="pp.type"
/>
</template>
</div>
</div>
</template>

View File

@@ -1,68 +0,0 @@
<script setup lang="ts">
import type { ParsedContent } from "@nuxt/content/dist/runtime/types";
const data = useState("blogData");
// get all the unique types from content
const getTopCategory = computed(() => {
const allpost = (data.value as Array<ParsedContent>) || [];
const alltypes = allpost.map((post) => {
return {
type: post.type,
dir: post._dir,
};
});
return [...new Map(alltypes.map((item) => [item["dir"], item])).values()];
});
// get all post in recent time order
const getRecentContent = computed(() => {
const allpost = (data.value as Array<ParsedContent>) || [];
const customizePost = allpost.map((post) => {
return {
title: post.title,
description: post.description,
path: post._path,
date: post.date as string,
type: post.type,
};
});
customizePost.sort(function (a, b) {
const c = new Date(a.date);
const d = new Date(b.date);
return c < d ? 1 : -1;
});
return customizePost.filter((post, idx) => idx < 6);
});
</script>
<template>
<div
class="container px-4 mx-auto max-w-6xl flex font-ibmmono gap-14 antialiased min-h-screen"
>
<div class="flex-1">
<h1 class="text-xl pb-8 text-[#e60067]">RECENTLY PUBLISHED</h1>
<div class="space-y-8">
<template v-for="rp in getRecentContent" :key="rp">
<blog-card
:title="rp.title"
:description="rp.description"
:path="rp.path"
:date="rp.date"
:type="rp.type"
/>
</template>
</div>
</div>
<div class="basis-1/4">
<div>
<h2 class="text-xl pb-8 text-[#e60067]">TOP CATEGORIES</h2>
<template v-for="cat in getTopCategory" :key="cat">
<topic-card :title="cat.type" :dir="cat.dir" />
</template>
</div>
</div>
</div>
</template>

View File

@@ -1,57 +0,0 @@
<script setup lang="ts">
import { ParsedContent } from "@nuxt/content/dist/runtime/types";
definePageMeta({
layout: "list",
});
const route = useRoute();
const routeType = computed(() => {
return route.params.topic || "";
});
const data = useState("blogData");
const getRecentContent = computed(() => {
const allpost = (data.value as Array<ParsedContent>) || [];
const modifedPost = allpost.map((post) => {
return {
title: post.title,
description: post.description,
path: post._path,
date: post.date as string,
author: post.author,
dir: post._dir,
};
});
const filteredPost = modifedPost.filter(
(post) => post.dir === routeType.value
);
filteredPost.sort(function (a, b) {
const c = new Date(a.date);
const d = new Date(b.date);
return c < d ? 1 : -1;
});
return filteredPost;
});
</script>
<template>
<div
class="container mx-auto max-w-6xl font-ibmmono antialiased min-h-[82vh]"
>
<div class="flex justify-between flex-wrap">
<template v-for="pp in getRecentContent" :key="pp">
<latest-blog-card
:title="pp.title"
:description="pp.description"
:date="pp.date"
:author="pp.author"
:path="pp.path"
/>
</template>
</div>
</div>
</template>

View File

@@ -1,39 +0,0 @@
<script setup lang="ts">
import { ParsedContent } from "@nuxt/content/dist/runtime/types";
definePageMeta({
layout: "list",
});
const data = useState("blogData");
const getTopCategory = computed(() => {
const allpost = (data.value as Array<ParsedContent>) || [];
const alltypes = allpost.map((post) => post.type);
const uniqType = new Set(alltypes);
const cobj = <Array<{ type: string; count: number; path: string }>>[];
uniqType.forEach((type) => {
const filterwithType = allpost.filter((post) => post.type === type);
const path = filterwithType[0]._path?.split("/").at(1);
cobj.push({
type: type,
count: filterwithType.length || 0,
path: path || "",
});
});
return cobj;
});
</script>
<template>
<div
class="container mx-auto max-w-6xl font-ibmmono antialiased min-h-[82vh]"
>
<div class="flex justify-start flex-wrap">
<template v-for="ct in getTopCategory" :key="ct">
<category-card :type="ct.type" :count="ct.count" :path="ct.path" />
</template>
</div>
</div>
</template>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

View File

@@ -1,12 +0,0 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
theme: {
extend: {
fontFamily: {
poppins: ["Poppins", "sans-serif"],
ibmmono: ["IBM Plex Mono", "monospace"],
},
},
},
plugins: [require("@tailwindcss/typography")],
};

2865
yarn.lock

File diff suppressed because it is too large Load Diff