Skip to content

Commit

Permalink
chore: improving better SEO
Browse files Browse the repository at this point in the history
  • Loading branch information
gabriel-logan committed May 29, 2024
1 parent c5773af commit 98c01bc
Show file tree
Hide file tree
Showing 16 changed files with 116 additions and 6 deletions.
Binary file added docs/public/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/bgstyle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/logo_circle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions docs/src/app/(doc-session)/documentation/js/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { Metadata } from "next";

export const metadata: Metadata = {
title: "Javascript",
};

export default function JavascriptDocumentationLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return <>{children}</>;
}
13 changes: 13 additions & 0 deletions docs/src/app/(doc-session)/documentation/py/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { Metadata } from "next";

export const metadata: Metadata = {
title: "Python",
};

export default function PythonDocumentationLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return <>{children}</>;
}
5 changes: 4 additions & 1 deletion docs/src/app/(doc-session)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ const t = (text: string) =>
translation({ text, subject: "DocumentationLayout" });

export const metadata: Metadata = {
title: t("Documentation"),
title: {
template: `${t("Documentation")} | %s`,
default: t("Documentation"),
},
description: t("Documentation for the Multiform Validator library."),
};

Expand Down
11 changes: 11 additions & 0 deletions docs/src/app/about/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
import "@/css/infos.css";
import { Metadata } from "next";

import translation, { getBrowserLang } from "@/components/Internationalization";
import MainBg from "@/components/MainBg";

export function generateMetadata(): Metadata {
const t = (text: string) => translation({ text, subject: "About" });

return {
title: t("About_Page"),
description: t("About_Page_Description"),
};
}

export default function AboutPage() {
const browserLang = getBrowserLang();

Expand Down
Binary file modified docs/src/app/favicon.ico
Binary file not shown.
11 changes: 11 additions & 0 deletions docs/src/app/info/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
import "@/css/infos.css";
import { Metadata } from "next";

import translation from "@/components/Internationalization";
import MainBg from "@/components/MainBg";

export function generateMetadata(): Metadata {
const t = (text: string) => translation({ text, subject: "Info" });

return {
title: t("Info_Page"),
description: t("info_title"),
};
}

export default function InfoPage() {
const t = (text: string) => translation({ text, subject: "Info" });

Expand Down
32 changes: 29 additions & 3 deletions docs/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,32 @@ const inter = Inter({ subsets: ["latin"] });
const t = (text: string) => translation({ text, subject: "HomeLayout" });

export const metadata: Metadata = {
title: t("Multiform Validator"),
metadataBase: new URL(
process.env.NEXT_PUBLIC_WEBSITE_URL ||
"https://multiform-validator.3utilities.com",
),

title: {
template: `${t("Multiform Validator")} | %s`,
default: t("Multiform Validator"),
},

description: t("Description"),

authors: { name: "Gabriel Logan", url: "https://github.com/gabriel-logan" },
classification: t("Classification"),
generator: "Gabriel Logan",
generator: "Next.js",
publisher: "Gabriel Logan",
creator: "Gabriel Logan",

openGraph: {
title: t("Multiform Validator"),
description: t("Description"),
url: process.env.NEXT_PUBLIC_WEBSITE_URL,
siteName: t("Multiform Validator"),
type: "website",
},

keywords: [
"validation",
"form",
Expand Down Expand Up @@ -45,16 +66,21 @@ export const metadata: Metadata = {
"Validator",
"validate",
],

verification: {
google: process.env.NEXT_PUBLIC_GOOGLE_SEARCH_CONSOLE_API_KEY,
},

appleWebApp: {
title: t("Multiform Validator"),
capable: true,
statusBarStyle: "black-translucent",
},
applicationName: t("Multiform Validator"),

manifest: "/manifest.webmanifest",

category: "technology",

icons: [
{
rel: "android-chrome-192x192",
Expand Down
6 changes: 5 additions & 1 deletion docs/src/app/manifest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export default function manifest(): MetadataRoute.Manifest {
icons: [
{
src: "/favicon.ico",
sizes: "48x48",
sizes: "256x256",
type: "image/x-icon",
},
{
Expand Down Expand Up @@ -83,6 +83,10 @@ export default function manifest(): MetadataRoute.Manifest {
src: "/safari-pinned-tab.svg",
type: "image/svg+xml",
},
{
src: "/opengraph-image.png",
type: "image/png",
},
],
};
}
Binary file added docs/src/app/opengraph-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/src/app/privacity-polices/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
import "@/css/infos.css";

import { Metadata } from "next";

import translation from "@/components/Internationalization";
import MainBg from "@/components/MainBg";

export function generateMetadata(): Metadata {
const t = (text: string) => translation({ text, subject: "PrivacyPolices" });

return {
title: t("Privacy Policy"),
description: t("privacy_title"),
};
}

export default function PrivacityPolicesPage() {
const t = (text: string) => translation({ text, subject: "PrivacyPolices" });

Expand Down
2 changes: 2 additions & 0 deletions docs/src/app/robots.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ export default function robots(): MetadataRoute.Robots {
return {
rules: {
userAgent: "*",
allow: "/",
disallow: ["/_next", "/api"],
},
sitemap: `${hostUrl}/sitemap.xml`,
};
Expand Down
11 changes: 11 additions & 0 deletions docs/src/app/terms/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
import "@/css/infos.css";

import { Metadata } from "next";

import translation from "@/components/Internationalization";
import MainBg from "@/components/MainBg";

export function generateMetadata(): Metadata {
const t = (text: string) => translation({ text, subject: "Terms" });

return {
title: t("Terms and Conditions"),
description: t("Terms and Conditions of Multiform Validator library"),
};
}

export default function TermsPage() {
const t = (text: string) => translation({ text, subject: "Terms" });

Expand Down
7 changes: 6 additions & 1 deletion docs/src/locales/en/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
"Support me on Buy me a coffee": "Support me on Buy me a coffee!"
},
"About": {
"About_Page": "About Page",
"About_Page_Description": "Get to know Gabriel Logan, the creator of the multiform-validator library, and learn about his passion for web development, innovative solutions, and dedication to user experience.",
"about_title": "Hello, I'm Gabriel Logan",
"about_intro": "I consider myself a versatile programmer with a passion for both front-end and back-end development. Crafting exceptional web experiences is what drives me, and I take immense pride in the work I produce.",
"about_frontend": "As a front-end developer, I have a keen eye for user experience and interface design. I love transforming creative concepts into visually captivating and interactive web applications using React and Nextjs with typescript. From seamless navigation to smooth animations, I pay attention to every detail to ensure that my front-end projects exude elegance and functionality.",
Expand All @@ -46,6 +48,7 @@
"about_conclusion": "In conclusion, I am Gabriel Logan, a passionate programmer who seamlessly weaves front-end and back-end skills to create exceptional web experiences. My innovative mindset, attention to detail, and dedication to efficiency have led me to develop a groundbreaking page that I believe will make a significant impact on the world of form validation. As the digital landscape continues to evolve, I stand at the forefront, ready to embrace new challenges and make a difference through my exceptional work in web development."
},
"Info": {
"Info_Page": "Information Page",
"info_title": "multiform-validator - Multi Library for Form Field Validation",
"info_intro": "Introducing multiform-validator, a powerful Multi Library developed by Gabriel Logan. This versatile library is designed to validate numerous form fields, including email addresses, phone numbers, passwords, CPF (Brazilian individual taxpayer registry numbers), credit card numbers, and more.",
"info_ensure": "With multiform-validator, you can ensure that the data submitted through your forms is accurate and secure. Whether you're building a registration form, checkout process, or any data input system, this library has got you covered.",
Expand All @@ -56,6 +59,7 @@
"info_conclusion": "So, if you're seeking a comprehensive solution for form field validation, look no further than multiform-validator. Embrace the power of this library, and rest assured that your data collection process will be streamlined, accurate, and secure."
},
"PrivacyPolices": {
"Privacy Policy": "Privacy Policy",
"privacy_title": "Privacy Policies - Your Data is Safe with Us",
"privacy_intro": "At Gabriel Logan Web Services, we take your privacy seriously. We want to assure you that we do not collect any data on our website, and we do not use any data through the \"multiform-validator\" library. Your information remains entirely confidential, and your privacy is paramount to us.",
"privacy_no_personal_data": "When you visit our website, rest assured that no personal data, such as your name, email address, or contact information, is gathered or stored. We believe in providing you with a safe and anonymous browsing experience.",
Expand All @@ -73,7 +77,8 @@
"We do not collect any personal data through this website, and your privacy is important to us.": "We do not collect any personal data through this website, and your privacy is important to us.",
"Unauthorized use of this website is strictly prohibited.": "Unauthorized use of this website is strictly prohibited.",
"Your use of this website and any disputes arising are subject to the laws of [Your Country/Region].": "Your use of this website and any disputes arising are subject to the laws of [Your Country/Region].",
"Thank you for visiting our website and using our services. If you have any questions or concerns, please don’t hesitate to contact us.": "Thank you for visiting our website and using our services. If you have any questions or concerns, please don’t hesitate to contact us."
"Thank you for visiting our website and using our services. If you have any questions or concerns, please don’t hesitate to contact us.": "Thank you for visiting our website and using our services. If you have any questions or concerns, please don’t hesitate to contact us.",
"Terms and Conditions of Multiform Validator library": "Terms and Conditions of Multiform Validator library"
},
"Manifest": {
"Name": "Multiform Validator - Your Multilingual Validation Library",
Expand Down

0 comments on commit 98c01bc

Please sign in to comment.