diff --git a/package-lock.json b/package-lock.json index 2fb4c6f..f36ce96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pages", - "version": "1.4.1", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pages", - "version": "1.4.1", + "version": "1.0.0", "license": "MIT", "dependencies": { "@astrojs/mdx": "^2.0.4", diff --git a/src/content/config.ts b/src/content/config.ts index 35b7c4f..24ecc8f 100755 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -8,13 +8,17 @@ const authorsCollection = defineCollection({ email: z.string().optional(), image: z.string().optional(), description: z.string().optional(), - social: z.array( - z.object({ + social: z + .array( + z + .object({ name: z.string().optional(), icon: z.string().optional(), link: z.string().optional(), - }).optional(), - ).optional(), + }) + .optional(), + ) + .optional(), draft: z.boolean().optional(), }), }); @@ -43,21 +47,9 @@ const docsCollection = defineCollection({ }), }); -// Pages collection schema -const pagesCollection = defineCollection({ - schema: z.object({ - title: z.string(), - meta_title: z.string().optional(), - description: z.string().optional(), - image: z.string().optional(), - draft: z.boolean().optional(), - }), -}); - // Export collections export const collections = { authors: authorsCollection, blog: blogCollection, docs: docsCollection, - pages: pagesCollection, }; diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index 8b53e08..328ef29 100755 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -63,7 +63,7 @@ const { title, meta_title, description, image, noindex, canonical } = @@ -74,7 +74,7 @@ const { title, meta_title, description, image, noindex, canonical } = @@ -82,7 +82,7 @@ const { title, meta_title, description, image, noindex, canonical } = @@ -95,7 +95,7 @@ const { title, meta_title, description, image, noindex, canonical } = @@ -103,7 +103,7 @@ const { title, meta_title, description, image, noindex, canonical } = @@ -126,11 +126,11 @@ const { title, meta_title, description, image, noindex, canonical } = + />
diff --git a/src/layouts/DocSingle.astro b/src/layouts/DocSingle.astro index 6853c86..55d0c2d 100644 --- a/src/layouts/DocSingle.astro +++ b/src/layouts/DocSingle.astro @@ -1,6 +1,6 @@ --- -import DocBrowser from '@/components/DocBrowser.astro'; -import DocContents from '@/components/DocContents.astro'; +import DocBrowser from "@/components/DocBrowser.astro"; +import DocContents from "@/components/DocContents.astro"; const { post } = Astro.props; const { Content, headings } = await post.render(); @@ -21,7 +21,7 @@ const currentPage = new URL(Astro.request.url).pathname;
-

{ title }

+

{title}

@@ -30,10 +30,10 @@ const currentPage = new URL(Astro.request.url).pathname; - \ No newline at end of file + diff --git a/src/layouts/components/BlogCard.astro b/src/layouts/components/BlogCard.astro index fe96578..62dd83b 100644 --- a/src/layouts/components/BlogCard.astro +++ b/src/layouts/components/BlogCard.astro @@ -2,7 +2,11 @@ import config from "@/config/config.json"; import { humanize, plainify, slugify } from "@/lib/utils/textConverter"; import { Image } from "astro:assets"; -import { FaRegFolder, FaRegUserCircle, FaRegClock } from "react-icons/fa/index.js"; +import { + FaRegFolder, + FaRegUserCircle, + FaRegClock, +} from "react-icons/fa/index.js"; import readingTime from "@/lib/utils/readingTime"; const { @@ -49,7 +53,7 @@ const { title, image, date, author, categories } = data.data; )) } -
  • +
  • {readingTime(data.body)}
  • diff --git a/src/layouts/components/BlogSidebar.astro b/src/layouts/components/BlogSidebar.astro index 6b24fbc..2352790 100644 --- a/src/layouts/components/BlogSidebar.astro +++ b/src/layouts/components/BlogSidebar.astro @@ -13,7 +13,7 @@ const { tags, categories, allCategories } = Astro.props; { categories.map((category: any) => { const count = allCategories.filter( - (c: any) => c === category + (c: any) => c === category, ).length; return (
  • diff --git a/src/layouts/components/DocBrowser.astro b/src/layouts/components/DocBrowser.astro index 024fe0e..14a01c9 100644 --- a/src/layouts/components/DocBrowser.astro +++ b/src/layouts/components/DocBrowser.astro @@ -3,18 +3,18 @@ import docs from "@/config/docs.json"; const { currentPage } = Astro.props; const currentPageMatch = currentPage ? currentPage.slice(1) : null; -const isCurrentPage = (item) => { +const isCurrentPage = (item: doc_child) => { if (item.url) { return item.url.includes(currentPageMatch); } return false; }; -const getLinkClasses = (url) => { +const getLinkClasses = (item: doc_child) => { const baseClasses = "text-xl block py-1 px-2 my-1 rounded hover:bg-theme-light dark:hover:bg-darkmode-theme-light"; - if (isCurrentPage(url)) { + if (isCurrentPage(item)) { return baseClasses + "rounded bg-theme-light dark:bg-darkmode-theme-light"; } else { return baseClasses; @@ -34,22 +34,26 @@ export interface doc_parent { const { main }: { main: doc_parent[] } = docs; --- -
  • diff --git a/src/layouts/components/Pagination.astro b/src/layouts/components/Pagination.astro index 95c63db..14c3658 100644 --- a/src/layouts/components/Pagination.astro +++ b/src/layouts/components/Pagination.astro @@ -87,7 +87,7 @@ for (let i = 1; i <= totalPages; i++) { > {pagination} - ) + ), )} {/* next page */} diff --git a/src/layouts/components/SearchBar.astro b/src/layouts/components/SearchBar.astro index 8015c60..c088338 100644 --- a/src/layouts/components/SearchBar.astro +++ b/src/layouts/components/SearchBar.astro @@ -24,7 +24,7 @@ import { IoSearch, IoClose } from "react-icons/io5/index.js"; diff --git a/src/layouts/components/Share.astro b/src/layouts/components/Share.astro index ec0b272..2fb01e9 100644 --- a/src/layouts/components/Share.astro +++ b/src/layouts/components/Share.astro @@ -14,15 +14,21 @@ const { folder, slug, className, -}: { title?: string; description?: string; folder?: string; slug?: string; className?: string } = - Astro.props; +}: { + title?: string; + description?: string; + folder?: string; + slug?: string; + className?: string; +} = Astro.props; --- \ No newline at end of file + diff --git a/src/layouts/components/Social.astro b/src/layouts/components/Social.astro index 1e2bd12..8f50747 100755 --- a/src/layouts/components/Social.astro +++ b/src/layouts/components/Social.astro @@ -20,7 +20,7 @@ export interface ISocial { rel="noopener noreferrer nofollow" > {social.name} - + )) diff --git a/src/layouts/components/ThemeSwitcher.astro b/src/layouts/components/ThemeSwitcher.astro index b89e534..8964650 100755 --- a/src/layouts/components/ThemeSwitcher.astro +++ b/src/layouts/components/ThemeSwitcher.astro @@ -62,7 +62,9 @@ const { document.documentElement.classList.toggle("dark"); localStorage.setItem( "theme", - document.documentElement.classList.contains("dark") ? "dark" : "light" + document.documentElement.classList.contains("dark") + ? "dark" + : "light", ); }); }); diff --git a/src/layouts/helpers/DynamicIcon.tsx b/src/layouts/helpers/DynamicIcon.tsx index 9182886..f87c322 100755 --- a/src/layouts/helpers/DynamicIcon.tsx +++ b/src/layouts/helpers/DynamicIcon.tsx @@ -1,13 +1,6 @@ import React, { type FC } from "react"; import type { IconType } from "react-icons"; import * as FaIcons from "react-icons/fa6/index.js"; -// import * as AiIcons from "react-icons/ai/index.js"; -// import * as BsIcons from "react-icons/bs/index.js"; -// import * as FiIcons from "react-icons/fi/index.js"; -// import * as Io5Icons from "react-icons/io5/index.js"; -// import * as RiIcons from "react-icons/ri/index.js"; -// import * as TbIcons from "react-icons/tb/index.js"; -// import * as TfiIcons from "react-icons/tfi/index.js"; type IconMap = Record; diff --git a/src/lib/contentParser.astro b/src/lib/contentParser.astro index 1b59cc3..ddf39a4 100644 --- a/src/lib/contentParser.astro +++ b/src/lib/contentParser.astro @@ -3,8 +3,8 @@ import { getCollection } from "astro:content"; export const getSinglePage = async (collection: any) => { const allPage = await getCollection(collection); - const removeIndex = allPage.filter((data) => data.id.match(/^(?!-)/)); - const removeDrafts = removeIndex.filter((data) => !data.data.draft); + const removeIndex = allPage.filter((data: any) => data.id.match(/^(?!-)/)); + const removeDrafts = removeIndex.filter((data: any) => !data.data.draft); return removeDrafts; }; --- diff --git a/src/lib/taxonomyParser.astro b/src/lib/taxonomyParser.astro index deecaf4..4b27bf8 100644 --- a/src/lib/taxonomyParser.astro +++ b/src/lib/taxonomyParser.astro @@ -5,7 +5,7 @@ import { slugify } from "./utils/textConverter"; // get all taxonomies from frontmatter export const getTaxonomy = async (collection: string, name: string) => { const singlePages = await getSinglePage(collection); - const taxonomyPages = singlePages.map((page) => page.data[name]); + const taxonomyPages = singlePages.map((page: any) => page.data[name]); let taxonomies: string[] = []; for (let i = 0; i < taxonomyPages.length; i++) { const categoryArray = taxonomyPages[i]; @@ -19,7 +19,7 @@ export const getTaxonomy = async (collection: string, name: string) => { export const getAllTaxonomy = async (collection: string, name: string) => { const singlePages = await getSinglePage(collection); - const taxonomyPages = singlePages.map((page) => page.data[name]); + const taxonomyPages = singlePages.map((page: any) => page.data[name]); let taxonomies: string[] = []; for (let i = 0; i < taxonomyPages.length; i++) { const categoryArray = taxonomyPages[i]; diff --git a/src/lib/utils/similarItems.ts b/src/lib/utils/similarItems.ts index d368f87..982821a 100644 --- a/src/lib/utils/similarItems.ts +++ b/src/lib/utils/similarItems.ts @@ -30,24 +30,6 @@ const similerItems = (currentItem: any, allItems: any, slug: string) => { const filterBySlug = mergedItems.filter((product) => product.slug !== slug); return filterBySlug; - - // // The code below needs more testing before the above can be replaced. - // // merged after filter - // const mergedItems = [...filterByCategories, ...filterByTags, ...filterBySpirits, ...filterByBottles]; - // // Remove self from list - // const filterBySlug = mergedItems.filter((item) => item.slug !== slug); - // // count instances of each item - // const itemCount = filterBySlug.reduce((accumulator: any, currentItem: any) => { - // accumulator[currentItem.slug] = (accumulator[currentItem.slug] || 0) + 1; - // return accumulator; - // }, {}); - // // sort items by number of instances - // const sortedItems = filterBySlug.sort((a: any, b: any) => itemCount[b.slug] - itemCount[a.slug]); - // // remove duplicates - // const uniqueItems = [...new Set(sortedItems.map((item: any) => item.slug))].map((slug: string) => { - // return sortedItems.find((item: any) => item.slug === slug); - // }); - // return uniqueItems; }; export default similerItems; diff --git a/src/pages/authors/[single].astro b/src/pages/authors/[single].astro index ea68c34..c9cb3c8 100755 --- a/src/pages/authors/[single].astro +++ b/src/pages/authors/[single].astro @@ -25,7 +25,7 @@ const { title, social, meta_title, description, image } = author.data; const { Content } = await author.render(); const posts = await getSinglePage(blog_folder); const postFilterByAuthor = posts.filter( - (post) => slugify(post.data.author) === slugify(title), + (post: any) => slugify(post.data.author) === slugify(title), ); --- diff --git a/src/pages/blog/categories/[category].astro b/src/pages/blog/categories/[category].astro index a24fcc2..d93a054 100755 --- a/src/pages/blog/categories/[category].astro +++ b/src/pages/blog/categories/[category].astro @@ -10,7 +10,7 @@ import PageHeader from "@/components/PageHeader.astro"; export async function getStaticPaths() { const categories = await getTaxonomy( config.settings.blog_folder, - "categories" + "categories", ); return categories.map((category) => { diff --git a/src/pages/blog/tags/index.astro b/src/pages/blog/tags/index.astro index 6d39b43..3d7df0b 100755 --- a/src/pages/blog/tags/index.astro +++ b/src/pages/blog/tags/index.astro @@ -2,7 +2,6 @@ import config from "@/config/config.json"; import Base from "@/layouts/Base.astro"; import { getAllTaxonomy, getTaxonomy } from "@/lib/taxonomyParser.astro"; -import { humanize } from "@/lib/utils/textConverter"; import PageHeader from "@/components/PageHeader.astro"; const { blog_folder }: { blog_folder: string } = config.settings; diff --git a/src/pages/docs/[...id].astro b/src/pages/docs/[...id].astro index 49b9166..3335b2e 100644 --- a/src/pages/docs/[...id].astro +++ b/src/pages/docs/[...id].astro @@ -6,7 +6,7 @@ import config from "@/config/config.json"; export async function getStaticPaths() { const docs = await getSinglePage(config.settings.docs_folder); - return docs.map(post => ({ + return docs.map((post) => ({ params: { id: post.slug }, props: { post }, })); @@ -16,9 +16,6 @@ const { post } = Astro.props; const { title } = post.data; --- - + diff --git a/src/pages/docs/index.astro b/src/pages/docs/index.astro index 7744017..8db22dd 100644 --- a/src/pages/docs/index.astro +++ b/src/pages/docs/index.astro @@ -1,6 +1,6 @@ --- -import DocBrowser from '@/components/DocBrowser.astro'; -import DocContents from '@/components/DocContents.astro'; +import DocBrowser from "@/components/DocBrowser.astro"; +import DocContents from "@/components/DocContents.astro"; import Base from "@/layouts/Base.astro"; --- @@ -16,12 +16,12 @@ import Base from "@/layouts/Base.astro"; -
    +
    -

    { "Docs" }

    +

    {"Docs"}

    - { "Documentation lives here." } + {"Documentation lives here."}

    diff --git a/src/pages/terms.astro b/src/pages/terms.astro index a42ed9d..274cfdf 100644 --- a/src/pages/terms.astro +++ b/src/pages/terms.astro @@ -8,13 +8,10 @@ const { Content } = await terms.render(); const { title, meta_title } = terms.data; --- - +
    -
    +