├── .deepsource.toml ├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ └── nuxthub.yml ├── .gitignore ├── .npmrc ├── .nuxtignore ├── .vercelignore ├── .vscode └── settings.json ├── LEARN.md ├── LICENSE ├── README.md ├── app ├── app.config.ts ├── app.vue ├── assets │ ├── css │ │ └── main.css │ └── icons │ │ ├── konkamon-logo.svg │ │ └── konkamon.svg ├── components │ ├── AboutMe.vue │ ├── Blog │ │ ├── BlogCard.vue │ │ ├── SearchModal.client.vue │ │ └── SlugHeader.vue │ ├── Bookmark │ │ ├── Fallback.vue │ │ └── Item.vue │ ├── FeaturedWork.vue │ ├── FullBleedBorder.vue │ ├── Hero.vue │ ├── Home │ │ └── TechStack.vue │ ├── LatestBlogs.vue │ ├── MainFooter.vue │ ├── MainNavbar.vue │ ├── Motion │ │ └── SlideBlur.vue │ ├── Navbar │ │ ├── LangSwitch.vue │ │ ├── MobileNav.vue │ │ └── ThemeSwitch.vue │ ├── PageHeader.vue │ ├── Project │ │ └── ProjectCard.vue │ ├── SocialLinks.vue │ ├── Technology.vue │ ├── Technology │ │ └── GridItems.vue │ ├── WhatIsInMyBag │ │ └── ItemContainer.vue │ └── content │ │ └── ProsePre.vue ├── composables │ └── getHostname.ts ├── layouts │ └── default.vue ├── pages │ ├── Bookmarks.vue │ ├── Projects.vue │ ├── WhatIsInMyBag.vue │ ├── blog.vue │ ├── blog │ │ ├── [slug].vue │ │ └── index.vue │ └── index.vue ├── plugins │ └── i18n-fix.client.ts ├── spa-loading-template.html └── utils │ ├── ShikiHighlight.ts │ └── cn.ts ├── content.config.ts ├── content ├── blog │ ├── 1.nuxt-content-3-tutorial.md │ └── 2.apache-arch-linux.md ├── en │ └── projects │ │ ├── new-spa.json │ │ ├── nuxt-ui-builder.json │ │ ├── promptkai.json │ │ └── spa.json └── th │ └── projects │ ├── new-spa.json │ ├── nuxt-ui-builder.json │ ├── promptkai.json │ └── spa.json ├── eslint.config.mjs ├── i18n ├── i18n.config.ts └── locales │ ├── en.json │ └── th.json ├── nuxt.config.ts ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── public ├── Resume_กรกมล_ศรีอ่อน.pdf ├── favicon.ico ├── me-rmutsv-square.webp ├── nuxt-ui-builder.webp ├── ogImage-blogs.webp ├── ogImage-bookmarks.webp ├── ogImage-index.webp ├── ogImage-myBag.webp ├── ogImage-projects.webp └── ogImage-resume.webp ├── stores └── slugCache.ts ├── tsconfig.json ├── types ├── BagItemInterface.d.ts ├── BookmarkItemsInterface.d.ts ├── FrameworkListInterface.d.ts ├── ItemInterface.d.ts └── workListInterface.d.ts └── vercel.json /.deepsource.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.deepsource.toml -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/nuxthub.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.github/workflows/nuxthub.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | strict-peer-dependencies=false -------------------------------------------------------------------------------- /.nuxtignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.nuxtignore -------------------------------------------------------------------------------- /.vercelignore: -------------------------------------------------------------------------------- 1 | cms/ 2 | .vscode/ -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LEARN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/LEARN.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/README.md -------------------------------------------------------------------------------- /app/app.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/app.config.ts -------------------------------------------------------------------------------- /app/app.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/app.vue -------------------------------------------------------------------------------- /app/assets/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/assets/css/main.css -------------------------------------------------------------------------------- /app/assets/icons/konkamon-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/assets/icons/konkamon-logo.svg -------------------------------------------------------------------------------- /app/assets/icons/konkamon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/assets/icons/konkamon.svg -------------------------------------------------------------------------------- /app/components/AboutMe.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/AboutMe.vue -------------------------------------------------------------------------------- /app/components/Blog/BlogCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Blog/BlogCard.vue -------------------------------------------------------------------------------- /app/components/Blog/SearchModal.client.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Blog/SearchModal.client.vue -------------------------------------------------------------------------------- /app/components/Blog/SlugHeader.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Blog/SlugHeader.vue -------------------------------------------------------------------------------- /app/components/Bookmark/Fallback.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Bookmark/Fallback.vue -------------------------------------------------------------------------------- /app/components/Bookmark/Item.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Bookmark/Item.vue -------------------------------------------------------------------------------- /app/components/FeaturedWork.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/FeaturedWork.vue -------------------------------------------------------------------------------- /app/components/FullBleedBorder.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/FullBleedBorder.vue -------------------------------------------------------------------------------- /app/components/Hero.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Hero.vue -------------------------------------------------------------------------------- /app/components/Home/TechStack.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Home/TechStack.vue -------------------------------------------------------------------------------- /app/components/LatestBlogs.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/LatestBlogs.vue -------------------------------------------------------------------------------- /app/components/MainFooter.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/MainFooter.vue -------------------------------------------------------------------------------- /app/components/MainNavbar.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/MainNavbar.vue -------------------------------------------------------------------------------- /app/components/Motion/SlideBlur.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Motion/SlideBlur.vue -------------------------------------------------------------------------------- /app/components/Navbar/LangSwitch.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Navbar/LangSwitch.vue -------------------------------------------------------------------------------- /app/components/Navbar/MobileNav.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Navbar/MobileNav.vue -------------------------------------------------------------------------------- /app/components/Navbar/ThemeSwitch.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Navbar/ThemeSwitch.vue -------------------------------------------------------------------------------- /app/components/PageHeader.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/PageHeader.vue -------------------------------------------------------------------------------- /app/components/Project/ProjectCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Project/ProjectCard.vue -------------------------------------------------------------------------------- /app/components/SocialLinks.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/SocialLinks.vue -------------------------------------------------------------------------------- /app/components/Technology.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Technology.vue -------------------------------------------------------------------------------- /app/components/Technology/GridItems.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/Technology/GridItems.vue -------------------------------------------------------------------------------- /app/components/WhatIsInMyBag/ItemContainer.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/WhatIsInMyBag/ItemContainer.vue -------------------------------------------------------------------------------- /app/components/content/ProsePre.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/components/content/ProsePre.vue -------------------------------------------------------------------------------- /app/composables/getHostname.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/composables/getHostname.ts -------------------------------------------------------------------------------- /app/layouts/default.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/layouts/default.vue -------------------------------------------------------------------------------- /app/pages/Bookmarks.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/Bookmarks.vue -------------------------------------------------------------------------------- /app/pages/Projects.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/Projects.vue -------------------------------------------------------------------------------- /app/pages/WhatIsInMyBag.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/WhatIsInMyBag.vue -------------------------------------------------------------------------------- /app/pages/blog.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/blog.vue -------------------------------------------------------------------------------- /app/pages/blog/[slug].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/blog/[slug].vue -------------------------------------------------------------------------------- /app/pages/blog/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/blog/index.vue -------------------------------------------------------------------------------- /app/pages/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/pages/index.vue -------------------------------------------------------------------------------- /app/plugins/i18n-fix.client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/plugins/i18n-fix.client.ts -------------------------------------------------------------------------------- /app/spa-loading-template.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/spa-loading-template.html -------------------------------------------------------------------------------- /app/utils/ShikiHighlight.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/utils/ShikiHighlight.ts -------------------------------------------------------------------------------- /app/utils/cn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/app/utils/cn.ts -------------------------------------------------------------------------------- /content.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content.config.ts -------------------------------------------------------------------------------- /content/blog/1.nuxt-content-3-tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/blog/1.nuxt-content-3-tutorial.md -------------------------------------------------------------------------------- /content/blog/2.apache-arch-linux.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/blog/2.apache-arch-linux.md -------------------------------------------------------------------------------- /content/en/projects/new-spa.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/en/projects/new-spa.json -------------------------------------------------------------------------------- /content/en/projects/nuxt-ui-builder.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/en/projects/nuxt-ui-builder.json -------------------------------------------------------------------------------- /content/en/projects/promptkai.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/en/projects/promptkai.json -------------------------------------------------------------------------------- /content/en/projects/spa.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/en/projects/spa.json -------------------------------------------------------------------------------- /content/th/projects/new-spa.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/th/projects/new-spa.json -------------------------------------------------------------------------------- /content/th/projects/nuxt-ui-builder.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/th/projects/nuxt-ui-builder.json -------------------------------------------------------------------------------- /content/th/projects/promptkai.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/th/projects/promptkai.json -------------------------------------------------------------------------------- /content/th/projects/spa.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/content/th/projects/spa.json -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /i18n/i18n.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/i18n/i18n.config.ts -------------------------------------------------------------------------------- /i18n/locales/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/i18n/locales/en.json -------------------------------------------------------------------------------- /i18n/locales/th.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/i18n/locales/th.json -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/nuxt.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /public/Resume_กรกมล_ศรีอ่อน.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/Resume_กรกมล_ศรีอ่อน.pdf -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/me-rmutsv-square.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/me-rmutsv-square.webp -------------------------------------------------------------------------------- /public/nuxt-ui-builder.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/nuxt-ui-builder.webp -------------------------------------------------------------------------------- /public/ogImage-blogs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/ogImage-blogs.webp -------------------------------------------------------------------------------- /public/ogImage-bookmarks.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/ogImage-bookmarks.webp -------------------------------------------------------------------------------- /public/ogImage-index.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/ogImage-index.webp -------------------------------------------------------------------------------- /public/ogImage-myBag.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/ogImage-myBag.webp -------------------------------------------------------------------------------- /public/ogImage-projects.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/ogImage-projects.webp -------------------------------------------------------------------------------- /public/ogImage-resume.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/public/ogImage-resume.webp -------------------------------------------------------------------------------- /stores/slugCache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/stores/slugCache.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/BagItemInterface.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/types/BagItemInterface.d.ts -------------------------------------------------------------------------------- /types/BookmarkItemsInterface.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/types/BookmarkItemsInterface.d.ts -------------------------------------------------------------------------------- /types/FrameworkListInterface.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/types/FrameworkListInterface.d.ts -------------------------------------------------------------------------------- /types/ItemInterface.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/types/ItemInterface.d.ts -------------------------------------------------------------------------------- /types/workListInterface.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/types/workListInterface.d.ts -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bKoZii/nuxt-portfolio-blog/HEAD/vercel.json --------------------------------------------------------------------------------