diff --git a/.eslintrc.json b/.eslintrc.json
index bffb357..4f51e35 100755
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,3 +1,6 @@
{
- "extends": "next/core-web-vitals"
+ "extends": [
+ "next/core-web-vitals",
+ "eslint:recommended"
+ ]
}
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..cbf9411
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,9 @@
+@Library('jenkins-lib')
+import FrontendBuild
+
+FrontendBuild({
+ name = 'portfolio'
+ port = "92:3000"
+ runSonar = true
+ appType = "nextjs"
+})
diff --git a/README.md b/README.md
index c87e042..c4c9d80 100755
--- a/README.md
+++ b/README.md
@@ -1,34 +1,7 @@
-This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
-
## Getting Started
First, run the development server:
```bash
npm run dev
-# or
-yarn dev
-```
-
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
-
-You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
-
-[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
-
-The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
-
-## Learn More
-
-To learn more about Next.js, take a look at the following resources:
-
-- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
-- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
-
-You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
-
-## Deploy on Vercel
-
-The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
-
-Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
+```
\ No newline at end of file
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..c06291c
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,31 @@
+# Install dependencies only when needed
+FROM node:16-alpine
+RUN apk add --no-cache libc6-compat
+
+WORKDIR /app
+
+ENV NODE_ENV production
+ENV NEXT_TELEMETRY_DISABLED 1
+
+RUN addgroup --system --gid 1001 nodejs
+RUN adduser --system --uid 1001 nextjs
+
+RUN ls -a
+
+COPY .next/ .next/
+COPY public/ public/
+COPY node_modules/ node_modules/
+COPY package.json package.json
+
+RUN ls -a
+RUN ls -a .next
+
+RUN chown -R nextjs:nodejs .next
+
+USER nextjs
+
+EXPOSE 3000
+
+ENV PORT 3000
+
+CMD ["node", "server.js"]
\ No newline at end of file
diff --git a/next.config.js b/next.config.js
index a843cbe..55612aa 100755
--- a/next.config.js
+++ b/next.config.js
@@ -1,6 +1,11 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
- reactStrictMode: true,
-}
+ reactStrictMode: true,
+ i18n: {
+ locales: ["cs"],
+ defaultLocale: "cs",
+ },
+ output: "standalone",
+};
-module.exports = nextConfig
+module.exports = nextConfig;
diff --git a/package-lock.json b/package-lock.json
index 1000126..4d22bec 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,18 +1,19 @@
{
"name": "portfolio",
- "version": "0.1.0",
+ "version": "0.1.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "portfolio",
- "version": "0.1.0",
+ "version": "0.1.1",
"dependencies": {
"@reduxjs/toolkit": "1.8.0",
"@treejs/components": "0.17.0",
"@treejs/constants": "0.17.0",
"@treejs/styles": "0.17.0",
"next": "12.2.0",
+ "next-seo": "^5.4.0",
"ramda": "^0.27.0",
"react": "17.0.2",
"react-dom": "17.0.2",
@@ -2589,6 +2590,16 @@
}
}
},
+ "node_modules/next-seo": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-5.4.0.tgz",
+ "integrity": "sha512-R9DhajPwJnR/lsF2hZ8cN8uqr5CVITsRrCG1AF5+ufcaybKYOvnH8sH9MaH4/hpkps3PQ9H71S7J7SPYixAYzQ==",
+ "peerDependencies": {
+ "next": "^8.1.1-canary.54 || >=9.0.0",
+ "react": ">=16.0.0",
+ "react-dom": ">=16.0.0"
+ }
+ },
"node_modules/next/node_modules/postcss": {
"version": "8.4.5",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
@@ -5560,6 +5571,12 @@
}
}
},
+ "next-seo": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-5.4.0.tgz",
+ "integrity": "sha512-R9DhajPwJnR/lsF2hZ8cN8uqr5CVITsRrCG1AF5+ufcaybKYOvnH8sH9MaH4/hpkps3PQ9H71S7J7SPYixAYzQ==",
+ "requires": {}
+ },
"node-releases": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz",
diff --git a/package.json b/package.json
index 2770360..146a005 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,13 @@
{
"name": "portfolio",
- "version": "0.1.0",
+ "version": "0.1.1",
"private": true,
"scripts": {
+ "ci:lint": "eslint .",
+ "ci:build": "npm run build",
+ "ci:test": "echo 1",
+ "ci:test-e2e": "echo 1",
+ "ci:increase-version": "npm version --git-tag-version=false",
"dev": "next dev",
"build": "next build",
"start": "next start",
@@ -14,6 +19,7 @@
"@treejs/constants": "0.17.0",
"@treejs/styles": "0.17.0",
"next": "12.2.0",
+ "next-seo": "^5.4.0",
"ramda": "^0.27.0",
"react": "17.0.2",
"react-dom": "17.0.2",
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..14267e9
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Allow: /
\ No newline at end of file
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..86f6e12
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,5 @@
+
- Je mi {age} let a již {work} let se profesionálně
- věnuji vývoji a správě webových aplikací ☺️ .
- Od roku 2020 pracuji pouze na IČO.
+ Je mi {age} let a již {work} let se profesionálně věnuji
+ vývoji a správě webových aplikací. Aktuálně pracuji pouze na IČO.
+
- Obchodní nabídky prosím zasílejte{" "}
- sem.
-
- Jiné dotazy prosím sem.
-
-
-
- LinkedIn
-
-
-
- Gitea (Git)
-
-
- Pokud potřebujete zadat tiket na podporu, použijte prosím{" "}
-
- tento formulář
-
- .
-
+ Obchodní nabídky prosím zasílejte{" "}
+ sem.
+
+ Jiné dotazy prosím sem.
+
+
+ LinkedIn
+
+
+ Pokud potřebujete zadat tiket na podporu, použijte prosím{" "}
+
+ tento formulář
+
+ .
+
+
+ Gitea (Git)
+
+
IČO 08738734
+DIČ CZ9307111946
+
+ Bražec 50
+
+ Bochov 36471
+
+ Česká Republika
+
+ Jsem plátce DPH. Fyzická osoba zapsaná v živnostenském + rejstříku v Karlových Varech (CZ0412) od 02.12.2019. +
+Tento web nepoužívá cookies.
+