Skip to content

A simple module to manage multiple subdomains with just one project

License

Notifications You must be signed in to change notification settings

madhusudanbabar/k-domains

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to k-domains 👋

Version Documentation npm License: MIT Twitter: MadhusudanBabar

k-domains

✨ Demo

portfolio & blog

What is this ?? 🤔

A simple nuxt module to manage multiple subdomains with just a single nuxtJS project

What problem does this solves??

     Ever wondered how will you setup 3 sites of your own where you have same layouts & few shared components like feedback forms and so??
The simple way to do is copy, paste the same in all those 3 projects... isn't it??
But when you have to make changes, so you will require to copy the same thing in all the other projects...
This is not the right way... ❌❌❌
     k-domains let's you manage any number of subdomains with ease and that too without even need to create separate project for each subdomain (site). All your layouts, shared components and the code for these sites will live in one project only.
     All you have to is to just add k-domains and configure it in your nuxt.config.js file as shown in the #setup.

Install

yarn add k-domains # or npm i k-domains

Setup

  1. Add k-domains to your project
yarn add k-domains # or npm i k-domains
  1. Add @nuxtjs/router to your project
yarn add @nuxtjs/router
  1. Configure k-domains and @nuxtjs/router to the buildModules section of nuxt.config.js as follows:
  export default {
    buildModules: [
      [ "k-domains", {
          subDomains: [ ], // List of directories to hold te pages for your subdomains
          rootDomain: "root-domain" //  directory to hold the pages for root domain  
      }
      ],
      ["@nuxtjs/router",{
          keepDefaultRouter: true // this line is mandatory...
      }
      ]
    ]
}
  1. Example
  export default {
    buildModules: [
      [ "k-domains", {
          subDomains: ["blog", "projects", "anotherSubDomain" ], // List of directories to hold te pages for your subdomains
          rootDomain: "main-domain" //  directory to hold the pages for root domain  
      }
      ],
      ["@nuxtjs/router",{
          keepDefaultRouter: true // this line is mandatory...
      }
      ]
    ]
}

and the tree for the pages should look like this:

|   
|─pages
|   ├───blog
|   ├───projects
|   ├───main-domain
|   └───anotherSubDomain
  1. That's it, now create pages in respective directories and it'll be mapped to that subdomains.

Options

subDomains

  • Type: Array<String> Add your subdomains here

rootDomain

  • Type: String directory name for the pages of root-domain

Author

👤 krypton < madhusudanbabar@gmail.com >

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Consider giving a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator