From bff6c1d4eb23fcd331ddce0224891a3a2c41ccf0 Mon Sep 17 00:00:00 2001 From: Blaquewithaq Date: Mon, 16 Jun 2025 08:59:59 -0500 Subject: [PATCH 1/2] feat: added blog page --- app/pages/blog.vue | 8 +-- app/pages/blog/[slug].vue | 89 ++++++++++++++++++++++++++++- app/pages/blog/index.vue | 47 ++++++++++++++- content.config.ts | 19 +++++- content/4.blog.yml | 4 ++ content/4.blog/.navigation.yml | 1 - content/4.blog/1.getting-started.md | 60 +++++++++++++++++++ content/app.yml | 2 +- 8 files changed, 214 insertions(+), 16 deletions(-) create mode 100644 content/4.blog.yml delete mode 100644 content/4.blog/.navigation.yml create mode 100644 content/4.blog/1.getting-started.md diff --git a/app/pages/blog.vue b/app/pages/blog.vue index 9fe125d..8f62b8b 100644 --- a/app/pages/blog.vue +++ b/app/pages/blog.vue @@ -1,9 +1,3 @@ - - diff --git a/app/pages/blog/[slug].vue b/app/pages/blog/[slug].vue index 9fe125d..cc2b31d 100644 --- a/app/pages/blog/[slug].vue +++ b/app/pages/blog/[slug].vue @@ -1,9 +1,92 @@ diff --git a/app/pages/blog/index.vue b/app/pages/blog/index.vue index 9fe125d..32942e3 100644 --- a/app/pages/blog/index.vue +++ b/app/pages/blog/index.vue @@ -1,9 +1,50 @@ diff --git a/content.config.ts b/content.config.ts index 4babc56..30d8644 100644 --- a/content.config.ts +++ b/content.config.ts @@ -155,8 +155,25 @@ const collections = { }), blog: defineCollection({ type: 'page', - source: '4.blog/**/*', + source: '4.blog.yml', schema: z.object({}) + }), + posts: defineCollection({ + type: 'page', + source: '4.blog/**/*', + schema: z.object({ + icon: z.string().optional(), + image: z.object({ src: z.string().nonempty().editor({ input: 'media' }) }), + authors: z.array( + z.object({ + name: z.string().nonempty(), + to: z.string().nonempty(), + avatar: z.object({ src: z.string().nonempty().editor({ input: 'media' }) }) + }) + ), + date: z.date(), + badge: z.object({ label: z.string().nonempty() }) + }) }) } diff --git a/content/4.blog.yml b/content/4.blog.yml new file mode 100644 index 0000000..5ab0122 --- /dev/null +++ b/content/4.blog.yml @@ -0,0 +1,4 @@ +icon: i-lucide-newspaper +title: Blog +description: Latest articles and updates +navigation.icon: i-lucide-newspaper diff --git a/content/4.blog/.navigation.yml b/content/4.blog/.navigation.yml deleted file mode 100644 index ab36760..0000000 --- a/content/4.blog/.navigation.yml +++ /dev/null @@ -1 +0,0 @@ -navigation.icon: i-lucide-pen diff --git a/content/4.blog/1.getting-started.md b/content/4.blog/1.getting-started.md new file mode 100644 index 0000000..c88695a --- /dev/null +++ b/content/4.blog/1.getting-started.md @@ -0,0 +1,60 @@ +--- +title: Our New Website +description: "We are excited to announce the launch of our new website, designed to enhance your experience and provide better access to our resources." +image: + src: /assets/images/blog/website-example.png +date: 2025-06-15 +badge: + label: New +--- + +## Welcome to Our New Website + +We’re thrilled to officially unveil our brand-new website—a central hub built with purpose, clarity, and accessibility in mind. Whether you're discovering our work for the first time or you've been with us from the beginning, this site was designed to provide a better experience for everyone. + +## Why a New Site? + +Over time, our projects and resources have grown significantly. From open-source tools and creative experiments to research and documentation, it became clear that we needed a unified platform to: + +- Organize our growing body of work +- Share updates and announcements more efficiently +- Offer easy access to downloads, source code, and documentation +- Support contributors and collaborators + +This new website brings all of that into one cohesive space. + +## What’s Inside + +Here’s a quick overview of what you’ll find: + +### 🚀 Projects + +A curated showcase of our active and past projects, with direct links to GitHub repositories, live demos, and changelogs. + +### 📚 Resources + +Useful guides, API references, and helpful links for developers, designers, and contributors. We aim to make it easier than ever to get started. + +### 📰 Blog + +You’re reading it! This blog is where we’ll post updates, behind-the-scenes insights, release notes, and other content to keep you informed. + +### 🤝 Get Involved + +We’ve made it easier to contribute—whether it’s reporting bugs, submitting pull requests, or helping with documentation. Our new site includes clear contribution guidelines and collaboration tips. + +## What’s Next? + +This launch is just the beginning. We have plans to roll out: + +- A searchable archive of past releases 🗂️ +- Deeper integration with our GitHub activity 📦 + +## Feedback Welcome + +We’d love to hear what you think! If you encounter any bugs or have suggestions for improvement, feel free to open an issue or contact us directly. + +Thank you for being part of this journey—we’re excited for what’s ahead! + +--- +Stay connected, stay curious. diff --git a/content/app.yml b/content/app.yml index 8b43ecf..d2900f0 100644 --- a/content/app.yml +++ b/content/app.yml @@ -25,7 +25,7 @@ links: - label: Blog icon: i-lucide-pencil to: /blog - disabled: true + disabled: false - label: GitHub icon: i-simple-icons-github to: https://github.com/projectm-visualizer From c12d62582dca994a9724568e73f4ffe905e95fbb Mon Sep 17 00:00:00 2001 From: Blaquewithaq Date: Mon, 16 Jun 2025 13:42:55 -0500 Subject: [PATCH 2/2] fix: localized remaining assets and removed discord widget --- .gitignore | 3 +- .npmrc | 1 + app/pages/blog/index.vue | 3 +- app/pages/index.vue | 47 +++++++------ bun.lock | 89 ++++++++++++++++++++++--- content.config.ts | 3 +- content/0.index.yml | 9 ++- content/2.download.yml | 6 +- nuxt.config.ts | 45 ++++++++++++- package.json | 3 +- scripts/extract-icons.ts | 129 ++++++++++++++++++++++++++++++++++++ scripts/generate-reports.ts | 115 +++++++++++++++++++++++++++----- 12 files changed, 400 insertions(+), 53 deletions(-) create mode 100644 .npmrc create mode 100644 scripts/extract-icons.ts diff --git a/.gitignore b/.gitignore index 10aaae5..4f43501 100644 --- a/.gitignore +++ b/.gitignore @@ -27,5 +27,6 @@ logs .history # Project +.private public/assets -TODO.md +package-lock.json diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..bf2e764 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +shamefully-hoist=true diff --git a/app/pages/blog/index.vue b/app/pages/blog/index.vue index 32942e3..a392bd7 100644 --- a/app/pages/blog/index.vue +++ b/app/pages/blog/index.vue @@ -14,6 +14,7 @@ useSeoMeta({ ogDescription: description }) +// TODO: Figure out OgImage component usage in static builds if (import.meta.client) defineOgImageComponent('myOgImage') @@ -33,7 +34,7 @@ if (import.meta.client) defineOgImageComponent('myOgImage') :icon="post.icon" :title="post.title" :description="post.description" - :image="post.image" + :image="{ src: useRuntimeConfig().public.siteUrl + post.image.src }" :date="new Date(post.date).toLocaleDateString('en', { year: 'numeric', month: 'short', day: 'numeric' })" :authors="post.authors" :badge="post.badge" diff --git a/app/pages/index.vue b/app/pages/index.vue index dfd0d3d..daaa058 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -37,18 +37,7 @@ const batchTwo = computed(() => { return contributors.value.slice(mid) }) -const discordWidgetSrc = computed(() => { - const widgetId = page.value?.connect?.discordWidgetId - const color = useColorMode().value === 'dark' ? 'light' : 'dark' - - return widgetId ? `https://discord.com/widget?id=${widgetId}&theme=${color}` : undefined -}) - -const isClient = ref(false) - onMounted(async () => { - isClient.value = true - try { projects.value = dataStore.getProjects({ itemsToShow: page.value?.projects?.itemsToShow || 6, @@ -250,17 +239,35 @@ onMounted(async () => { -
- + -