2024-06-16 22:24:01 +03:00
|
|
|
import config from "./config";
|
2023-11-25 18:52:25 +02:00
|
|
|
|
2023-11-06 19:32:15 +02:00
|
|
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
|
|
export default defineNuxtConfig({
|
2023-11-10 17:42:55 +02:00
|
|
|
app: {
|
|
|
|
head: {
|
|
|
|
htmlAttrs: {
|
2024-06-16 22:24:01 +03:00
|
|
|
lang: config.locale || "en",
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
2023-11-13 22:37:35 +02:00
|
|
|
link: [
|
|
|
|
{
|
2024-06-16 22:24:01 +03:00
|
|
|
rel: "icon",
|
|
|
|
type: "image/x-icon",
|
|
|
|
href: "/favicon.ico",
|
2023-11-13 22:37:35 +02:00
|
|
|
},
|
|
|
|
],
|
2023-11-10 17:42:55 +02:00
|
|
|
meta: [
|
|
|
|
{
|
2024-06-16 22:24:01 +03:00
|
|
|
charset: "utf-8",
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
|
|
|
{
|
2024-06-16 22:24:01 +03:00
|
|
|
name: "viewport",
|
|
|
|
content: "width=device-width, initial-scale=1",
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
|
|
|
{
|
2024-06-16 22:24:01 +03:00
|
|
|
"http-equiv": "X-UA-Compatible",
|
|
|
|
content: "ie=edge",
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2024-06-16 22:24:01 +03:00
|
|
|
pageTransition: { name: "page", mode: "out-in" },
|
|
|
|
rootId: "ender-app",
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
2024-06-15 13:14:34 +03:00
|
|
|
devtools: {
|
|
|
|
enabled: true,
|
|
|
|
},
|
2024-01-27 18:17:30 +02:00
|
|
|
features: {
|
|
|
|
inlineStyles: false,
|
|
|
|
},
|
2024-02-20 20:15:29 +02:00
|
|
|
experimental: {
|
|
|
|
inlineRouteRules: true,
|
|
|
|
},
|
2023-11-10 17:42:55 +02:00
|
|
|
components: {
|
|
|
|
dirs: [
|
|
|
|
{
|
2024-06-16 22:24:01 +03:00
|
|
|
path: "~/components",
|
2023-11-10 17:42:55 +02:00
|
|
|
pathPrefix: false,
|
2024-06-16 22:24:01 +03:00
|
|
|
extensions: [".vue"],
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2024-06-16 22:24:01 +03:00
|
|
|
css: ["~/assets/styles/main.scss"],
|
2023-11-10 17:42:55 +02:00
|
|
|
plugins: [],
|
2023-11-13 22:37:35 +02:00
|
|
|
modules: [
|
2024-06-16 22:24:01 +03:00
|
|
|
"@pinia/nuxt",
|
|
|
|
"@nuxt/content",
|
|
|
|
"@nuxtjs/seo",
|
|
|
|
"@nuxtjs/google-fonts",
|
|
|
|
"@nuxtjs/tailwindcss",
|
|
|
|
"@nuxtjs/color-mode",
|
|
|
|
"@nuxt/eslint",
|
|
|
|
["@nuxtjs/stylelint-module", { failOnError: true, lintOnStart: false }],
|
2023-11-13 22:37:35 +02:00
|
|
|
],
|
2024-06-16 22:24:01 +03:00
|
|
|
colorMode: {
|
|
|
|
preference: "system",
|
|
|
|
fallback: "dark",
|
|
|
|
classPrefix: "",
|
|
|
|
classSuffix: "",
|
|
|
|
componentName: "NuxtTheme",
|
|
|
|
storageKey: "ecmatheme",
|
|
|
|
},
|
2024-02-18 10:30:50 +02:00
|
|
|
content: {
|
|
|
|
markdown: {
|
2024-06-16 22:24:01 +03:00
|
|
|
remarkPlugins: ["remark-reading-time"],
|
2024-02-18 10:30:50 +02:00
|
|
|
},
|
2024-02-19 00:18:50 +02:00
|
|
|
highlight: {
|
2024-06-16 22:24:01 +03:00
|
|
|
theme: "github-dark",
|
2024-02-19 00:18:50 +02:00
|
|
|
langs: [
|
2024-06-16 22:24:01 +03:00
|
|
|
"shell",
|
|
|
|
"batch",
|
|
|
|
"vb",
|
|
|
|
"ini",
|
|
|
|
"asm",
|
|
|
|
"c",
|
|
|
|
"cpp",
|
|
|
|
"java",
|
|
|
|
"python",
|
|
|
|
"csv",
|
|
|
|
"xml",
|
|
|
|
"json",
|
|
|
|
"yaml",
|
|
|
|
"html",
|
|
|
|
"css",
|
|
|
|
"sass",
|
|
|
|
"php",
|
|
|
|
"js",
|
|
|
|
"ts",
|
|
|
|
"vue",
|
|
|
|
"md",
|
|
|
|
"mdc",
|
|
|
|
"pascal",
|
|
|
|
"lisp",
|
|
|
|
"sql",
|
2024-02-19 00:18:50 +02:00
|
|
|
],
|
|
|
|
},
|
2024-02-18 10:30:50 +02:00
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
nitro: {
|
|
|
|
prerender: {
|
|
|
|
crawlLinks: true,
|
|
|
|
autoSubfolderIndex: true,
|
|
|
|
failOnError: true,
|
2024-06-16 22:24:01 +03:00
|
|
|
routes: ["/robots.txt", "/sitemap.xml"],
|
2024-01-23 22:53:21 +02:00
|
|
|
},
|
2023-11-18 19:28:27 +02:00
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
googleFonts: {
|
|
|
|
download: true,
|
|
|
|
families: {
|
|
|
|
Lato: true,
|
|
|
|
Alexandria: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
site: {
|
2024-01-27 18:17:30 +02:00
|
|
|
env: process.env.NODE_ENV,
|
|
|
|
url: config.url,
|
|
|
|
name: config.name,
|
|
|
|
indexable: true,
|
|
|
|
trailingSlash: false,
|
|
|
|
},
|
|
|
|
linkChecker: {
|
|
|
|
failOnError: true,
|
|
|
|
report: {
|
|
|
|
html: true,
|
|
|
|
markdown: true,
|
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
},
|
2024-02-20 20:15:29 +02:00
|
|
|
// routeRules: {
|
|
|
|
// '/': {
|
|
|
|
// sitemap: {
|
|
|
|
// changefreq: 'yearly',
|
|
|
|
// priority: 1,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// '/about': {
|
|
|
|
// sitemap: {
|
|
|
|
// changefreq: 'yearly',
|
|
|
|
// priority: 0.6,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// '/projects': {
|
|
|
|
// sitemap: {
|
|
|
|
// changefreq: 'monthly',
|
|
|
|
// priority: 0.7,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// '/social': {
|
|
|
|
// sitemap: {
|
|
|
|
// changefreq: 'yearly',
|
|
|
|
// priority: 0.7,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// },
|
2023-11-25 18:52:25 +02:00
|
|
|
sitemap: {
|
2024-06-16 22:24:01 +03:00
|
|
|
sources: ["/api/__sitemap__/content"],
|
2023-11-25 18:52:25 +02:00
|
|
|
cacheMaxAgeSeconds: 360,
|
|
|
|
exclude: [],
|
|
|
|
credits: false,
|
|
|
|
xslColumns: [
|
2024-06-16 22:24:01 +03:00
|
|
|
{ label: "URL", width: "50%" },
|
|
|
|
{ label: "Last Modified", select: "sitemap:lastmod", width: "25%" },
|
|
|
|
{ label: "Priority", select: "sitemap:priority", width: "12.5%" },
|
2023-11-25 18:52:25 +02:00
|
|
|
{
|
2024-06-16 22:24:01 +03:00
|
|
|
label: "Change Frequency",
|
|
|
|
select: "sitemap:changefreq",
|
|
|
|
width: "12.5%",
|
2023-11-25 18:52:25 +02:00
|
|
|
},
|
|
|
|
],
|
2024-02-20 20:15:29 +02:00
|
|
|
defaults: {
|
2024-06-16 22:24:01 +03:00
|
|
|
changefreq: "yearly",
|
2024-02-20 20:15:29 +02:00
|
|
|
priority: 0.7,
|
|
|
|
lastmod: config.build.date,
|
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
},
|
|
|
|
robots: {
|
2024-01-27 18:17:30 +02:00
|
|
|
enabled: true,
|
|
|
|
metaTag: true,
|
2023-11-25 18:52:25 +02:00
|
|
|
blockNonSeoBots: true,
|
|
|
|
credits: false,
|
|
|
|
},
|
2024-06-15 13:14:34 +03:00
|
|
|
tailwindcss: {
|
|
|
|
exposeConfig: true,
|
|
|
|
},
|
2023-11-10 17:42:55 +02:00
|
|
|
typescript: {
|
|
|
|
typeCheck: true,
|
|
|
|
},
|
2024-01-28 20:22:05 +02:00
|
|
|
vue: {
|
|
|
|
compilerOptions: {
|
2024-06-16 22:24:01 +03:00
|
|
|
isCustomElement: (tag) => tag === "iconify-icon",
|
2024-01-28 20:22:05 +02:00
|
|
|
},
|
|
|
|
},
|
2024-06-16 22:24:01 +03:00
|
|
|
});
|