diff --git a/API.md b/API.md index fba632efc..8df1015ce 100644 --- a/API.md +++ b/API.md @@ -1,133 +1 @@ -# How to register -* First you need to create a pull request with your `domains/my-domain.json` file -* This PR will be reviewed -* The changes will take effect soon after the PR gets merged -* And that's it - -### Simple cname record -* A github pages json file will look something like this - -```json -{ - "description": "Add some description", - "repo": "https://github.com/github-username", - "owner": { - "username": "github-username", - "email": "any@email" - }, - "record": { - "CNAME": "the-domain-you-own.com" - } -} -``` -* After the pull request is merged, configure your server (apache, nginx, whatever) to work with `subdomain.is-a.dev` - - -### For github pages users -* You can take a look at the [github pages guide](https://guides.github.com/features/pages/) if you need help with setting up a website with github pages. -* Your json file will look something like this - -```json -{ - "description": "Add some description", - "repo": "https://github.com/github-username/github-username.github.io", - "owner": { - "username": "github-username", - "email": "any@email" - }, - "record": { - "CNAME": "github-username.github.io" - } -} -``` -* After the pull request is merged, you will see a 404 error on `your-domain.is-a.dev`. To fix this go to your github page repo's `Settings > Github pages > Custom domain` and add `your-domain.is-a.dev` in the given field -* Check the `Enforce HTTPS` checkbox below the custom domain input - - - -# Domains json file -The way you register your own domain name is through a pull request. -To register `my-domain.is-a.dev`, you need to create a `domains/my-domain.json` file - -### Filename -The file name must pass the following criteria - -* Must be alpha-numeric in lowercase with dashes as seperators -* Must be more than 2 characters long -* Must have a `.json` file extension - - -The file needs to have the following fields - - -### owner (required) -You need to specify some information about yourself here. -This is so that you can be contacted if required. - -In the owner object, the fields `username` and `email` are required. You can however add more information in this object if you need. -```json -{ - "owner": { - "username": "github-username", - "email": "any@email" - }, -} -``` - -If you don't wish to share your email address here, please share your twitter or any other social media account. -```json -{ - "owner": { - "username": "github-username", - "email": "", - "twitter": "twitter-handle" - }, -} -``` - - -### description -Describe your domain name and your usage. This is purely for documentation purpose and is optional. - - -### repo -This is a link to your website repository or your github account. This is purely for documentation purpose and is optional. - - -### record (required) -This is where you specify how you want to link to your server/webpage. - -Currently, only `CNAME`, `A`, `URL` record types are supported. - -Here's a few different use cases for the given record types - - -* **CNAME** -CNAME must be a host name (Eg - `something.tld`) -```json -{ - "record": { - "CNAME": "username.github.io" - } -} -``` - -* **A record** -A record must be a list of ips -```json -{ - "record": { - "A": [ - "999.999.991.999", - "999.999.992.999", - "999.999.993.999", - "999.999.994.999" - ] - } -} -``` - -* **URL redirection** -```json -{ - "record": { - "URL": "https://my-other-website.com" - } -} -``` - +Moved to [./docs](./docs) diff --git a/README.md b/README.md index c5e4b3c5e..12f97d998 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,13 @@
-is-a-dev is a service that allows developers to get a sweet-looking `.is-a.dev` domain for their personal websites. - +**is-a-dev** is a service that allows developers to get a sweet-looking `.is-a.dev` domain for their personal websites. ## How do I register? * Fork this project -* Add a `your-domain-name.json` new file in `domains/` directory to register `your-domain-name.is-a.dev` -* [Read the docs for information about the json file](./API.md) +* Add a new `domains/your-domain-name.json` file directory to register `your-domain-name.is-a.dev` +* [Read the docs](./docs) * The PR will be reviewed and merged * After merging, the changes will take effect within a day * That's it! Done! Now go show off your cool `.is-a.dev` domain diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..150f61f59 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,7 @@ +# How to register +You can read the [domains.json file api reference](./domains-json.md) for more information about the json file structure. + +### Websites hosted at +* [For github pages users](./hosted-at/github-pages.md) +* [For other services](./hosted-at/others.md) + diff --git a/docs/domains-json.md b/docs/domains-json.md new file mode 100644 index 000000000..11cdafab8 --- /dev/null +++ b/docs/domains-json.md @@ -0,0 +1,88 @@ +# Domains json file +The way you register your own domain name is through a pull request. +To register `my-domain.is-a.dev`, you need to create a `domains/my-domain.json` file + +### Filename +The file name must pass the following criteria - +* Must be alpha-numeric in lowercase with dashes as seperators +* Must be more than 2 characters long +* Must have a `.json` file extension + + +The file needs to have the following fields - + +### owner (required) +You need to specify some information about yourself here. +This is so that you can be contacted if required. + +In the owner object, the fields `username` and `email` are required. You can however add more information in this object if you need. +```json +{ + "owner": { + "username": "github-username", + "email": "any@email" + }, +} +``` + +If you don't wish to share your email address here, please share your twitter or any other social media account. +```json +{ + "owner": { + "username": "github-username", + "email": "", + "twitter": "twitter-handle" + }, +} +``` + + +### description +Describe your domain name and your usage. This is purely for documentation purpose and is optional. + + +### repo +This is a link to your website repository or your github account. This is purely for documentation purpose and is optional. + + +### record (required) +This is where you specify how you want to link to your server/webpage. + +Currently, only `CNAME`, `A`, `URL` record types are supported. + +Here's a few different use cases for the given record types - + +* **CNAME** +CNAME must be a host name (Eg - `something.tld`) +```json +{ + "record": { + "CNAME": "username.github.io" + } +} +``` + +* **A record** +A record must be a list of ips +```json +{ + "record": { + "A": [ + "999.999.991.999", + "999.999.992.999", + "999.999.993.999", + "999.999.994.999" + ] + } +} +``` + +* **URL redirection** +```json +{ + "record": { + "URL": "https://my-other-website.com" + } +} +``` + diff --git a/docs/hosted-at/github-pages.md b/docs/hosted-at/github-pages.md new file mode 100644 index 000000000..14b04b524 --- /dev/null +++ b/docs/hosted-at/github-pages.md @@ -0,0 +1,28 @@ +# For github pages + +### Creating a github pages repo +You can create a github pages website by creating a repo with the name `.github.io`. +For more information about github pages, please read through [their guide](https://guides.github.com/features/pages/). + + +### Domains file +Create a json file inside the `domains` directory (`domains/.json`) with the following contents +```json +{ + "description": "Add some description", + "repo": "https://github.com/github-username/github-username.github.io", + "owner": { + "username": "github-username", + "email": "any@email", + "twitter": "your-twitter-username" + }, + "record": { + "CNAME": "github-username.github.io" + } +} +``` + +### Configuring your repo +* After the pull request is merged, you will see a 404 error on `your-domain.is-a.dev`. To fix this go to your github page repo's `Settings > Github pages > Custom domain` and add `your-domain.is-a.dev` in the given field +* Check the `Enforce HTTPS` checkbox below the custom domain input + diff --git a/docs/hosted-at/others.md b/docs/hosted-at/others.md new file mode 100644 index 000000000..0d0c534e8 --- /dev/null +++ b/docs/hosted-at/others.md @@ -0,0 +1,53 @@ +# For other hosting services + +### Domains file +Create a json file inside the `domains` directory (`domains/.json`) with the following contents +```json +{ + "description": "Add some description", + "repo": "https://github.com/github-username", + "owner": { + "username": "github-username", + "email": "any@email" + }, + "record": {} +} +``` + +### Record +In your `record` key of the json file, you need to add one of the following - +* CNAME record +```json +{ + "record": { + "CNAME": "the-domain-you-own.com" + } +} +``` + +* A records +```json +{ + "record": { + "A": [ + "69.69.69.69", + "69.69.69.70" + ] + } +} +``` + +* URL redirection +```json +{ + "record": { + "URL": "https://your-website.com" + } +} +``` + +### Configuring your server +After the pull request is merged, **configure your server** (apache, nginx, whatever) to work with `.is-a.dev`. If you are unsure how to configure your server, you can create an issue for support. + +You should also, include `.is-a.dev` in your **ssl certificate** to get rid of certificate errors +