diff --git a/.github/labeler-config.yml b/.github/labeler-config.yml new file mode 100644 index 000000000..279ff1153 --- /dev/null +++ b/.github/labeler-config.yml @@ -0,0 +1,80 @@ +filters: + - label: 'goal: new-feature' + regexs: + - /\bfeat\b/ + - /feature/i + events: [pull_request] + targets: [title] + + - label: 'documentation' + regexs: + - /docs/i + events: [pull_request] + targets: [title] + + - label: 'bug' + regexs: + - /bug/i + events: [pull_request] + targets: [title] + - label: 'bug' + regexs: + - /fix/i + events: [pull_request] + targets: [title] + + - label: 'chore' + regexs: + - /category/i + events: [pull_request] + targets: [title] + - label: 'goal: new-category' + regexs: + - /category/i + events: [pull_request] + targets: [title] + + - label: 'chore' + regexs: + - /\blink\b/ + - /link/i + events: [pull_request] + targets: [title] + - label: 'goal: new-link' + regexs: + - /\blink\b/ + - /link/i + events: [pull_request] + targets: [title] + + - label: 'chore' + regexs: + - /description/i + events: [pull_request] + targets: [title] + + - label: 'chore' + regexs: + - /chore/i + events: [pull_request] + targets: [title] + + - label: 'goal: build' + regexs: + - /build/i + events: [pull_request] + targets: [title] + + - label: 'goal: refactor' + regexs: + - /\brefactor\b/ + - /refactor/i + events: [pull_request] + targets: [title] + + - label: 'accessibility' + regexs: + - /\baccessibility\b/ + - /accessibility/i + events: [issues, pull_request] # default + targets: [title, comment] # default diff --git a/.github/workflows/add-labels-pr.yml b/.github/workflows/add-labels-pr.yml new file mode 100644 index 000000000..92188d3b5 --- /dev/null +++ b/.github/workflows/add-labels-pr.yml @@ -0,0 +1,24 @@ +# reference: https://github.com/hoho4190/issue-pr-labeler +name: PR Labeler + +on: + pull_request_target: + types: + - opened + - reopened + +jobs: + main: + runs-on: ubuntu-latest + + permissions: + contents: read # to read configuration yml file + pull-requests: write # to add labels to pull requests + + steps: + - name: Run PR Labeler + uses: hoho4190/issue-pr-labeler@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + config-file-name: labeler-config.yml + # disable-bot: true # this will prevent issues, PRs created by bots diff --git a/README.md b/README.md index 3493d88a0..375656ebc 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,6 @@ LinksHub Logo
-## Table of Contents - -- [Welcome to LinksHub ๐Ÿ‘‹](#welcome-to-linkshub-) - - [Demo ๐Ÿ’ป](#demo-) - - [Tech stack ๐Ÿ“š](#tech-stack-) - - [Socials ๐Ÿ“ฑ](#socials-) - - [Getting Started ๐Ÿ‘ฉโ€๐Ÿ’ป](#getting-started-) - - [Let's jump right in๐ŸŒŸ](#lets-jump-right-in) - - [_Want to add your favourite links to the Hub? make sure to follow CONTRIBUTING guidelines._](#want-to-add-your-favourite-links-to-the-hub-make-sure-to-follow-contributing-guidelines) - - [Want to add or update the descriptions of subcategories?](#want-to-add-or-update-the-descriptions-of-subcategories) - - [Building with Gitpod ๐Ÿ’ฃ](#building-with-gitpod-) - - [Top 50 Contributors โœจ](#top-50-contributors-) - - [License ๐Ÿ“](#license-) - - [Support โญ](#support-) - # Welcome to LinksHub ๐Ÿ‘‹ @@ -27,6 +12,21 @@ We recognize that there's a wealth of information available, but often, it's a m +## Table of Contents + +- [Welcome to LinksHub ๐Ÿ‘‹](#welcome-to-linkshub-) +- [Demo ๐Ÿ’ป](#demo-) +- [Tech stack ๐Ÿ“š](#tech-stack-) +- [Socials ๐Ÿ“ฑ](#socials-) +- [Getting Started ๐Ÿ‘ฉโ€๐Ÿ’ป](#getting-started-) + - [Let's jump right in๐ŸŒŸ](#lets-jump-right-in) + - [_Want to add your favourite links to the Hub? make sure to follow CONTRIBUTING guidelines._](#want-to-add-your-favourite-links-to-the-hub-make-sure-to-follow-contributing-guidelines) + - [Want to add or update the descriptions of subcategories?](#want-to-add-or-update-the-descriptions-of-subcategories) +- [Building with Gitpod ๐Ÿ’ฃ](#building-with-gitpod-) +- [Top 50 Contributors โœจ](#top-50-contributors-) +- [License ๐Ÿ“](#license-) +- [Support โญ](#support-) + ## Demo ๐Ÿ’ป You can see the live demo at: https://linkshub.vercel.app diff --git a/components/ForkButton/GitHubForkButton.tsx b/components/ForkButton/GitHubForkButton.tsx index 2c3254040..f3bc025ae 100644 --- a/components/ForkButton/GitHubForkButton.tsx +++ b/components/ForkButton/GitHubForkButton.tsx @@ -28,9 +28,7 @@ export const GitHubForkButton: FC<{ repo: string }> = ({ repo }) => { rel="noopener noreferrer" aria-label={`Fork ${repo} on GitHub`} > -
+
Fork {forkCount} diff --git a/components/Searchbar/Searchbar.tsx b/components/Searchbar/Searchbar.tsx index 7ab87f302..033f279b8 100644 --- a/components/Searchbar/Searchbar.tsx +++ b/components/Searchbar/Searchbar.tsx @@ -67,10 +67,12 @@ export const Searchbar: React.FC = ({ setSearch }) => { return (
-
+
+ = ({ setSearch }) => { />
{suggestions.length > 0 && ( diff --git a/components/StarButton/GitHubStarButton.tsx b/components/StarButton/GitHubStarButton.tsx index da43200ad..5ed6bf70b 100644 --- a/components/StarButton/GitHubStarButton.tsx +++ b/components/StarButton/GitHubStarButton.tsx @@ -28,7 +28,7 @@ export const GitHubStarButton: FC<{ repo: string }> = ({ repo }) => { rel="noopener noreferrer" aria-label={`Star ${repo} on GitHub`} > -
+
Star {starCount} diff --git a/components/TopBar/CategoryDescriptions.ts b/components/TopBar/CategoryDescriptions.ts index e63f7386c..b10dcce5f 100644 --- a/components/TopBar/CategoryDescriptions.ts +++ b/components/TopBar/CategoryDescriptions.ts @@ -3,6 +3,13 @@ type CategoryDescriptions = { } const categoryDescriptions: CategoryDescriptions = { + // devops + cicd: 'Continuous integration and continuous delivery (CI/CD) is a set of practices that combines continuous integration (CI) and continuous delivery (CD) to automate the process of software development and deployment.', + devopsLifecycle: 'DevOps is a set of practices that combines software development (Dev) and information technology operations (Ops) to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.', + devopsMethodologies: 'DevOps methodologies are a set of practices that combine software development and information technology operations to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.', + docker: 'Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers. These are isolated from one another and bundle their own software, libraries, and configuration files; they can also communicate with each other through well-defined channels.', + kubernetes: 'Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.', + microservices: 'Microservices are a software development techniqueโ€”a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services.', //frontend accessibility: 'Accessibility is the concept of whether a product or service can be used by everyoneโ€”however they encounter it. Accessibility laws exist to aid people with disabilities, but designers should try to accommodate all potential users in many contexts of use anyway. ', animations: 'Animation is the state of being full of life and energy, like a room full of excited kids at a birthday party. It is a method of photographing successive drawings, models, or even puppets, to create an illusion of movement in a sequence.', @@ -45,7 +52,7 @@ const categoryDescriptions: CategoryDescriptions = { // resources blogs: 'The term โ€œblogโ€ is short for โ€œweblog.โ€ Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video.', ebook: 'An ebook (short for electronic book) is a book publication made available in digital form, consisting of text, images, or both readable on the flat-panel display of computers or other electronic devices.', - hosting: 'Web hosting is an online service that makes your content of your website accessible on the internet. When you purchase a hosting plan, you are renting space on a physical server to store all the files and data.', + hosting: 'Web hosting is an online service that makes the content of your website accessible on the internet. When you purchase a hosting plan, you are renting space on a physical server to store all the files and data.', officialdocs: 'Official docs is short for official documentation. Official documentation is an important resource for users of software products and services as it provides a comprehensive guide to using the software.', 'project ideas': 'Projects play an important role in your resume. So here is a list of some great projects and their repositories.', // youtube diff --git a/data/maintainersData.ts b/data/maintainersData.ts index b4ec997b1..1740bcabb 100644 --- a/data/maintainersData.ts +++ b/data/maintainersData.ts @@ -1,5 +1,6 @@ export const maintainersData = [ - { login: 'rupali-codes', name: 'Rupali Codes' }, - { login: 'CBID2', name: 'CBID2' }, + { login: 'rupali-codes', name: 'Rupali Haldiya' }, + { login: 'CBID2', name: 'Christine Belzie' }, { login: 'ujjawaltyagii', name: 'Ujjawal Tyagi' }, + { login: 'k-deepak04', name: 'Deepak Singh' }, ] diff --git a/database/DevOps/cicd.json b/database/DevOps/cicd.json new file mode 100644 index 000000000..30fcca5f2 --- /dev/null +++ b/database/DevOps/cicd.json @@ -0,0 +1,9 @@ +[ + { + "name": "Learn CI/CD by building projects", + "description": "This is an amazing blog provides projects to help you understand CI/CD.", + "url": "https://www.freecodecamp.org/news/what-is-ci-cd/", + "category": "DevOps", + "subcategory": "cicd" + } +] diff --git a/database/DevOps/devopsLifecycle.json b/database/DevOps/devopsLifecycle.json new file mode 100644 index 000000000..630c10c6d --- /dev/null +++ b/database/DevOps/devopsLifecycle.json @@ -0,0 +1,9 @@ +[ + { + "name": "DevOps Lifecycle", + "description": "Learn everything about 7 different phases of the DevOps lifecycle", + "url": "https://www.simform.com/blog/devops-lifecycle/", + "category": "DevOps", + "subcategory": "devopsLifecycle" + } +] \ No newline at end of file diff --git a/database/DevOps/devopsMethodologies.json b/database/DevOps/devopsMethodologies.json new file mode 100644 index 000000000..70bcc2bf7 --- /dev/null +++ b/database/DevOps/devopsMethodologies.json @@ -0,0 +1,9 @@ +[ + { + "name": "DevOps Methodology", + "description": "This blog post describes the approach and philosophy behind DevOps.", + "url": "https://www.cloudbees.com/blog/devops-methodology-understanding-the-approach-and-philosophy", + "category": "DevOps", + "subcategory": "devopsMethodologies" + } +] diff --git a/database/DevOps/docker.json b/database/DevOps/docker.json new file mode 100644 index 000000000..7ab86f000 --- /dev/null +++ b/database/DevOps/docker.json @@ -0,0 +1,9 @@ +[ + { + "name": "Docker", + "description": "In this blog post, you will learn how to use Docker.", + "url": "https://www.mygreatlearning.com/blog/docker-tutorial/", + "category": "DevOps", + "subcategory": "docker" + } +] diff --git a/database/DevOps/kubernetes.json b/database/DevOps/kubernetes.json new file mode 100644 index 000000000..18b9d5539 --- /dev/null +++ b/database/DevOps/kubernetes.json @@ -0,0 +1,9 @@ +[ + { + "name": "Kubernetes Basics", + "description": "This part of Kubernetes' docs teaches the basics of this program.", + "url": "https://kubernetes.io/docs/tutorials/kubernetes-basics/", + "category": "DevOps", + "subcategory": "kubernetes" + } +] diff --git a/database/DevOps/microservices.json b/database/DevOps/microservices.json new file mode 100644 index 000000000..2ce7b1fb2 --- /dev/null +++ b/database/DevOps/microservices.json @@ -0,0 +1,9 @@ +[ + { + "name": "Microservices Architecture", + "description": "Learn Microservice System Design by reading this article.", + "url": "https://sivanaikk0903.medium.com/microservices-architecture-a61fe9e48b41", + "category": "DevOps", + "subcategory": "microservices" + } +] diff --git a/database/backend/authentication.json b/database/backend/authentication.json index 34e17f976..59caf418e 100644 --- a/database/backend/authentication.json +++ b/database/backend/authentication.json @@ -26,5 +26,12 @@ "url": "https://www.passportjs.org/", "category": "backend", "subcategory": "authentication" + }, + { + "name": "AWS Amplify Authentication", + "description": "AWS Amplify Authentication is a fully managed service within AWS Amplify that offers easy-to-use and secure authentication capabilities for web and mobile applications. It supports various authentication methods, including social sign-in, multi-factor authentication, and user management, enabling developers to add user authentication and access control to their applications with minimal effort.", + "url": "https://docs.amplify.aws/lib/auth/getting-started/", + "category": "backend", + "subcategory": "authentication" } ] diff --git a/database/backend/database.json b/database/backend/database.json index b7a101104..4f1a03e01 100644 --- a/database/backend/database.json +++ b/database/backend/database.json @@ -54,6 +54,12 @@ "url": "https://appwrite.io/docs", "category": "backend", "subcategory": "database" + }, + { + "name": "AWS Amplify", + "description": "AWS Amplify is a comprehensive development platform offered by Amazon Web Services (AWS) that simplifies building scalable and secure web and mobile applications. It provides a set of tools, services, and libraries that enable developers to quickly create and deploy full-stack applications with seamless integration to various AWS services.", + "url": "https://docs.aws.amazon.com/amplify/", + "category": "backend", + "subcategory": "database" } - -] +] \ No newline at end of file diff --git a/database/data.ts b/database/data.ts index 9a3c26e53..379e4b47b 100644 --- a/database/data.ts +++ b/database/data.ts @@ -49,6 +49,21 @@ export const sidebarData: ISidebar[] = [ { name: 'videos', url: '/videos', resources: DB.videos }, ], }, + { + category: 'devops', + subcategory: [ + { name: 'CI/CD', url: '/cicd', resources: DB.cicd }, + { name: 'DevOps Life Cycle', url: '/devopsLifecycle', resources: DB.devopsLifecycle }, + { name: 'DevOps Methodologies', url: '/devopsMethodologies', resources: DB.devopsMethodologies }, + { name: 'docker', url: '/docker', resources: DB.docker }, + { + name: 'kubernetes', + url: '/kubernetes', + resources: DB.kubernetes, + }, + { name: 'microservices', url: '/microservices', resources: DB.microservices }, + ], + }, { category: 'backend', subcategory: [ @@ -118,6 +133,11 @@ export const sidebarData: ISidebar[] = [ url: '/open-source-tools', resources: DB.openSourceTools, }, + { + name: 'Videos', + url: '/open-source-videos', + resources: DB.openSourceVideos, + }, ], }, { diff --git a/database/frontend/react.json b/database/frontend/react.json index 5d0972851..5a08184c9 100644 --- a/database/frontend/react.json +++ b/database/frontend/react.json @@ -99,5 +99,13 @@ "category": "frontend", "subcategory": "react", "language": "hindi" + }, + { + "name": "React js", + "description": "In this series, you will learn the basics of React.js while creating projects to gain a better understanding of concepts and their working.", + "url": "https://www.youtube.com/watch?v=v02P0AsTm2o&list=PLt5mNkGuWcuWSUHxSzWP74IU9U4BTVLt0", + "category": "frontend", + "subcategory": "react", + "language": "hindi" } ] \ No newline at end of file diff --git a/database/index.ts b/database/index.ts index 643693727..e6d441cc7 100644 --- a/database/index.ts +++ b/database/index.ts @@ -22,6 +22,15 @@ export { default as validation } from './backend/validation.json' export { default as systemDesign } from './backend/system-design.json' export { default as database } from './backend/database.json' export {default as api} from './backend/api.json' + +//devops +export { default as cicd } from './DevOps/cicd.json' +export { default as devopsLifecycle } from './DevOps/devopsLifecycle.json' +export { default as devopsMethodologies } from './DevOps/devopsMethodologies.json' +export { default as docker } from './DevOps/docker.json' +export { default as kubernetes } from './DevOps/kubernetes.json' +export { default as microservices } from './DevOps/microservices.json' + // languages export { default as javascript } from './languages/javascript.json' export { default as python } from './languages/python.json' @@ -55,6 +64,7 @@ export { default as deepLearning } from './machine_learning/deep-learning.json' export { default as openSourceBlogs } from './open_source/blogs.json' export { default as openSourceProjects } from './open_source/projects.json' export { default as openSourceTools } from './open_source/tools.json' +export { default as openSourceVideos } from './open_source/videos.json' // resources export { default as blogs } from './resources/blogs.json' export { default as officialdocs } from './resources/official-docs.json' diff --git a/database/open_source/blogs.json b/database/open_source/blogs.json index cdaa3998d..55f224163 100644 --- a/database/open_source/blogs.json +++ b/database/open_source/blogs.json @@ -33,5 +33,19 @@ "url": "https://www.youtube.com/playlist?list=PLnCV5fTAsUgpaLMY_Z8FqPxZ89v-_pcfY", "category": "open source", "subcategory": "open-source-blogs" + }, + { + "name": "Open Source With Pradumna", + "description": "This blog provides tips on how to get your open source journey started", + "url": "https://os.pradumnasaraf.dev/#/", + "category": "open source", + "subcategory": "open-source-blogs" + }, + { + "name": "Beginner's Guide to Open Source", + "description": "A complete guide for beginners to start their open source journey.", + "url": "https://sulagnaduttaro.hashnode.dev/open-source-a-beginner-guide-2022", + "category": "open source", + "subcategory": "open-source-blogs" } ] diff --git a/database/open_source/videos.json b/database/open_source/videos.json new file mode 100644 index 000000000..ab890d3f8 --- /dev/null +++ b/database/open_source/videos.json @@ -0,0 +1,9 @@ +[ + { + "name": "How I choose Maintainers", + "description": "Even though the focus is on a specific project, this video provides great advice on how to maintain someone else's open source project.", + "url": "https://youtu.be/WPaN9vIyqt4", + "category": "open source", + "subcategory": "open-source-videos" + } +] \ No newline at end of file diff --git a/database/other/communities.json b/database/other/communities.json index 5300d14c7..81c7d8391 100644 --- a/database/other/communities.json +++ b/database/other/communities.json @@ -33,5 +33,19 @@ "url": "https://aistudent.community/", "category": "other", "subcategory": "communities" + }, + { + "name": "Zuno Foundit Community", + "description": "Your go-to place for internships & fresher jobs that are verified and pay well. Be a community leader.", + "url": "https://t.me/zunobyfoundit", + "category": "other", + "subcategory": "communities" + }, + { + "name": "AWS Educate Cloud Ambassador Program", + "description": "The AWS Educate Cloud Ambassador Program recognizes individuals for their innovation and contributions that prepare students for careers in the modern technology workforce.", + "url": "https://aws.amazon.com/education/awseducate/", + "category": "other", + "subcategory": "communities" } -] +] \ No newline at end of file diff --git a/database/other/podcasts.json b/database/other/podcasts.json index 61584d1bb..4337b487e 100644 --- a/database/other/podcasts.json +++ b/database/other/podcasts.json @@ -5,5 +5,12 @@ "url": "https://www.opensourcestories.org/", "category": "other", "subcategory": "podcasts" + }, + { + "name": "CodeNewbie Podcast", + "description": "In this podcast, Saron Yitbarek interviews a new guest every week about their coding journey, how they landed their first coding job, and more.", + "url": "https://www.codenewbie.org/podcast", + "category": "other", + "subcategory": "podcasts" } -] +] \ No newline at end of file diff --git a/database/resources/official-docs.json b/database/resources/official-docs.json index fdc383fa7..d1dc8160c 100644 --- a/database/resources/official-docs.json +++ b/database/resources/official-docs.json @@ -75,6 +75,13 @@ "url": "https://svelte.dev/docs/introduction", "category": "resources", "subcategory": "officialdocs" + } , + { + "name": "Express", + "description": "Express is a fast, unopinionated, and minimalist web framework for Node.js", + "url": "https://svelte.dev/docs/introduction", + "category": "resources", + "subcategory": "officialdocs" } diff --git a/database/youtube/data-structures.json b/database/youtube/data-structures.json index 462fedbf1..44a8c2ae6 100644 --- a/database/youtube/data-structures.json +++ b/database/youtube/data-structures.json @@ -111,6 +111,14 @@ "subcategory": "data-structures", "language": "english" }, + { + "name": "Data Structure & Algorithms Full Course In Hindi", + "description": "DSA playlist for understanding concepts of core coding using the c++ language", + "url": "https://www.youtube.com/playlist?list=PLzjZaW71kMwQ1DIWTn0d_KDHU4_E52-rq", + "category": "youtube", + "subcategory": "data-structures", + "language": "hindi" + }, { "name": "CODING NINJAS", "description": "This channel provides DSA course in Python from beginner to advance level.", diff --git a/database/youtube/testing.json b/database/youtube/testing.json index df3fcb035..19bcec235 100644 --- a/database/youtube/testing.json +++ b/database/youtube/testing.json @@ -1,7 +1,7 @@ [ { "name": "SoftwaretestingbyMKT", - "description": "This channel is for everyone who wants to learn Manual testing and Automation Testing for FREE.The reason he have made this YouTube channel is to educate people who want to learn in easy language. I have a good theory and practical knowledge on testing.", + "description": "This channel is for everyone who wants to learn Manual testing and Automation Testing for FREE. The reason he has made this channel is to educate people who want to learn an easy language. I have a good theory and practical knowledge on testing.", "url": "https://www.youtube.com/@SoftwaretestingbyMKT", "category": "youtube", "subcategory": "testing", @@ -9,7 +9,7 @@ }, { "name": "Automation Bro-Dilpreet johal", - "description": "This channel is beginner friendly as well take you up to advanced level in automation with almost every framework", + "description": "This channel teaches Automation from beginner to advanced with almost every framework", "url": "https://www.youtube.com/@dilpreetjohal", "category": "youtube", "subcategory": "testing", @@ -17,10 +17,34 @@ }, { "name": "JoanMedia", - "description": "In this channel you will find free content related to the Software Engineer Area(Front End, Backend, Software Quality Assurance/Quality Control, and Devops).", + "description": "In this channel, you will find free content related to the Software Engineer Area(Front End, Backend, Software Quality Assurance/Quality Control, and DevOps).", "url": "https://www.youtube.com/@joanmedia", "category": "youtube", "subcategory": "testing", "language": "english" + }, + { + "name": "Software Testing Mentor", + "description": "This channel to share practical knowledge about Jira, Confluence, Software Testing, Test Automation, Testing Tools, Jenkins, Docker, GIT, Agile, and many more topics", + "url": "https://www.youtube.com/@softwaretestingmentor", + "category": "youtube", + "subcategory": "testing", + "language": "english" + }, + { + "name": "Automation Step by Step", + "description": "This beginner-friendly step-by-step course teaches automation in different tools and technologies like Automation Testing, DevOps and CI, API Testing, Mobile Testing, Performance Testing, and UI Testing.", + "url": "https://www.youtube.com/@RaghavPal", + "category": "youtube", + "subcategory": "testing", + "language": "english" + }, + { + "name": "EDUREKA! (Testing)", + "description": "Learn fullstack testing from scratch using Selenium with Java Combination along with Concepts related to Selenium WebDriver, IDE, Grid & Selenium's industry implementation methodologies", + "url": "https://www.youtube.com/watch?v=9p6NNapsUvQ&t=2s", + "category": "youtube", + "subcategory": "testing", + "language": "english" } ] diff --git a/database/youtube/ui-ux.json b/database/youtube/ui-ux.json new file mode 100644 index 000000000..a3dec3f01 --- /dev/null +++ b/database/youtube/ui-ux.json @@ -0,0 +1,26 @@ +[ + { + "name": "UI/UX Design Course For Beginners", + "description": "The UI/UX Design Specialization brings a design-centric approach to user interface and user experience design, and offers practical, skill-based instruction centered around a visual communications perspective, rather than on one focused on marketing or programming alone", + "url": "https://www.youtube.com/watch?v=pyQAiRuqUSM", + "category": "youtube", + "subcategory": "ux-designing", + "language": "English" + }, + { + "name": "Step by Step Roadmap for how to become a UX Designer", + "description": "In this video, Ansh Mehra provides a step-by-step method to becoming a UX designer. If you want to become a UX designer and need a roadmap to achieve this goal, this video is a perfect fit for you!", + "url": "https://www.youtube.com/watch?v=cwPU547bCDs", + "category": "youtube", + "subcategory": "ux-designing", + "language": "Hindi" + }, + { + "name": "UI / UX Design Tutorial: Wireframe, Mockup and Design in Figma", + "description": "In this video, you will learn how a professional designer builds a full website design from scratch following the process of user experience and user interface. The tutorial also covers wireframing, prototyping, and designing in Figma.", + "url": "https://www.youtube.com/watch?v=c9Wg6Cb_YlU&t=4094s", + "category": "youtube", + "subcategory": "ux-designing", + "language": "English" + } +] diff --git a/pages/_document.tsx b/pages/_document.tsx index 1686ac461..1445e9f7e 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -2,61 +2,59 @@ import { Html, Head, Main, NextScript } from 'next/document' import Script from 'next/script' export default function Document() { + const metaDescription = + 'LinksHub is the ultimate hub of ready-to-use tech resources. Discover free tools and libraries to streamline your development process and build better projects.' + const ogImageUrl = + 'https://res.cloudinary.com/dhnkuonev/image/upload/v1683805184/linkshub_gcahgs.png' + return ( - LinksHub + {/* Common Meta Tags */} + - + - {/* Should be changed on hosting the website */} + {/* Open Graph Meta Tags */} - - + + - {/* */} + + {/* Twitter Meta Tags */} - - - + + + + {/* Discord Meta Tags */} + + {/* Google Tag Manager Script */}