diff --git a/nuxt.config.ts b/nuxt.config.ts index 469505a..21febe9 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -3,6 +3,9 @@ import { defineNuxtConfig } from 'nuxt/config' export default defineNuxtConfig({ compatibilityDate: '2026-05-27', srcDir: 'src/', + dir: { + public: 'public' + }, modules: ['@nuxtjs/tailwindcss', '@pinia/nuxt'], css: ['~/assets/css/fonts.css'], tailwindcss: { @@ -17,6 +20,12 @@ export default defineNuxtConfig({ dir: 'rtl' }, title: 'استودیو نورو | Noro Studio', + link: [ + { rel: 'icon', href: '/favicon.ico', sizes: 'any' }, + { rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' }, + { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon.png' }, + { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' } + ], meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, @@ -25,10 +34,9 @@ export default defineNuxtConfig({ content: 'استودیو نورو — طراحی هویت بصری، UI/UX، سوشال مدیا و محتوای دیجیتال' }, - { name: 'color-scheme', content: 'dark light' } - ], - link: [ - { rel: 'icon', type: 'image/png', href: '/favicon.png' } + { name: 'color-scheme', content: 'dark light' }, + { name: 'theme-color', content: '#39c0c4', media: '(prefers-color-scheme: light)' }, + { name: 'theme-color', content: '#050808', media: '(prefers-color-scheme: dark)' } ] } }, @@ -40,5 +48,5 @@ export default defineNuxtConfig({ cmsApiUrl: process.env.NUXT_PUBLIC_CMS_API_URL || 'http://localhost:4000' } }, - devtools: { enabled: true } + devtools: { enabled: false } }) diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..f90a1c5 Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/favicon-32.png b/public/favicon-32.png new file mode 100644 index 0000000..dc0d65d Binary files /dev/null and b/public/favicon-32.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..dc0d65d Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/favicon.png b/public/favicon.png index 6caba6b..dc0d65d 100644 Binary files a/public/favicon.png and b/public/favicon.png differ diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..b2c2fbb --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,14 @@ + + + + + diff --git a/public/icon-192.png b/public/icon-192.png new file mode 100644 index 0000000..fe3c412 Binary files /dev/null and b/public/icon-192.png differ diff --git a/public/icon-512.png b/public/icon-512.png new file mode 100644 index 0000000..9ed4267 Binary files /dev/null and b/public/icon-512.png differ diff --git a/src/assets/css/tailwind.css b/src/assets/css/tailwind.css index b96d909..d81fdef 100644 --- a/src/assets/css/tailwind.css +++ b/src/assets/css/tailwind.css @@ -174,4 +174,52 @@ .noro-btn-secondary { @apply inline-flex items-center justify-center rounded-xl border border-[rgb(var(--noro-btn-secondary-border))] bg-[rgb(var(--noro-btn-secondary-bg))] px-6 py-3 text-sm font-semibold text-[rgb(var(--noro-btn-secondary-text))] transition hover:opacity-90; } + + .blog-article-html h2 { + @apply pt-4 text-2xl font-bold text-noro-text; + } + + .blog-article-html h3 { + @apply pt-2 text-xl font-bold text-noro-text; + } + + .blog-article-html h4 { + @apply pt-1 text-lg font-semibold text-noro-text; + } + + .blog-article-html p { + @apply my-3 whitespace-pre-line; + } + + .blog-article-html ul { + @apply my-4 list-disc space-y-2 pr-6 marker:text-noro-brand; + } + + .blog-article-html ol { + @apply my-4 list-decimal space-y-2 pr-6 marker:text-noro-brand; + } + + .blog-article-html blockquote { + @apply my-6 border-r-4 border-noro-brand/30 bg-noro-surface/60 px-4 py-3 italic; + } + + .blog-article-html a { + @apply text-noro-brand underline decoration-noro-brand/30 underline-offset-2 transition hover:decoration-noro-brand; + } + + .blog-article-html hr { + @apply my-8 border-noro-border; + } + + .blog-article-html img { + @apply my-6 w-full rounded-2xl border border-noro-border object-cover; + } + + .blog-article-html figure { + @apply my-6 overflow-hidden rounded-2xl border border-noro-border bg-noro-surface; + } + + .blog-article-html figcaption { + @apply px-4 py-3 text-center text-sm text-noro-muted; + } } diff --git a/src/pages/blog/[slug].vue b/src/pages/blog/[slug].vue index 1ac8afc..850d749 100644 --- a/src/pages/blog/[slug].vue +++ b/src/pages/blog/[slug].vue @@ -1,5 +1,5 @@