diff --git a/API.md b/API.md index 8df1015ce..c819ef1cb 100644 --- a/API.md +++ b/API.md @@ -1 +1 @@ -Moved to [./docs](./docs) +Moved to [docs](https://docs.is-a.dev) diff --git a/README.md b/README.md index 33dbd976d..a9c5209af 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ## How do I register? * Fork this repository * Add a new `domains/your-domain-name.json` file directory to register `your-domain-name.is-a.dev` -* [Read the docs](./docs) +* [Read the docs](https://docs.is-a.dev) * 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 deleted file mode 100644 index 554b0d71c..000000000 --- a/docs/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# 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 hashnode blogs](./hosted-at/hashnode.md) -* [For other services](./hosted-at/others.md) - -### Vercel & Netlify Note -You will encounter an SSL certificate issue when using Vercel and Netlify. Neither service will work with our domains. It is recommend to use [Github Pages](https://github.com/is-a-dev/register/blob/add-hosting-warning/docs/hosted-at/github-pages.md) or [Railway](https://railway.app/) instead. diff --git a/docs/domains-json.md b/docs/domains-json.md deleted file mode 100644 index c1f0c19e6..000000000 --- a/docs/domains-json.md +++ /dev/null @@ -1,113 +0,0 @@ -# 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 - - -> NOTE: You can use `.` (dots) in your file name (for registering `blog.mysubdomain.is-a.dev`) but each of the following criteria must be valid for all part of your subdomain - -* 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, discord 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 the DNS records you wish to use. - -The supported record types are: `CNAME`, `A`, `URL`, `MX` and `TXT` - -Here's a few different use cases for the given record types - - -* **CNAME** -CNAME must be a host name (Eg - `something.tld`). CNAME cannot be used in conjunction with any other record types. -```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" - } -} -``` - -* **MX** -MX must be a list of host names -```json -{ - "record": { - "MX": [ - "mx1.improvmx.com", - "mx2.improvmx.com" - ] - } -} -``` - -* **TXT** -TXT can be any string value. **You can only have 1 TXT record.** -```json -{ - "record": { - "TXT": "hello world" - } -} -``` diff --git a/docs/hosted-at/github-pages.md b/docs/hosted-at/github-pages.md deleted file mode 100644 index cf7962014..000000000 --- a/docs/hosted-at/github-pages.md +++ /dev/null @@ -1,28 +0,0 @@ -# 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.io", - "owner": { - "username": "", - "email": "", - "twitter": "" - }, - "record": { - "CNAME": ".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/hashnode.md b/docs/hosted-at/hashnode.md deleted file mode 100644 index 20b2276c3..000000000 --- a/docs/hosted-at/hashnode.md +++ /dev/null @@ -1,27 +0,0 @@ -When you create your Hashnode blog, hashnode provides a free **yourdomain.hashnode.dev** subdomain for you. However, you can set up your own **.is-a.dev** subdomain. - -In this guide, you will learn how to accomplish this. - ---- - -1. Log in to your Hashnode account. - -2. Click on your **profile picture** at the bottom-left corner of the page on *desktop* screen or top-right corner on *mobile* screen. - -![Hashnode's Feed](https://cdn.hashnode.com/res/hashnode/image/upload/v1614932849541/cBNDGKXMj.png?auto=compress) - -3. Click on the **Blog Dashboard** option from the popup modal to access your blog's dashboard. - -![Hashnode's Feed](https://cdn.hashnode.com/res/hashnode/image/upload/v1614937218081/InvxVHXDy.png?auto=compress) - -4. Navigate to the **DOMAIN** tab and enter your domain without the **www** or **https://** prefix in the text field provided. Then click on the **Update** button to proceed. - -![Hashnode's Blog Domain Tab](https://cdn.hashnode.com/res/hashnode/image/upload/v1614937377176/0cwddAywO.png?auto=compress) - -5. Go To Your Fork Of The `is-a-dev/register` repo, edit your subdomain's JSON file, make sure you remove any old records, then add this: -```json -"CNAME": "hashnode.network" -``` - -Once Done, your hashnode blog is setup to use your subdomain, all you have to do is wait sometime for the DNS to propogate. These changes could take from 1 hour to around 48 hours, so please be patient, It'll most likely be ready within a hour. -Enjoy Your Hashnode Blog, With Your Sweet `.is-a.dev` Subdomain! **If You Need More Help:** please read this support article on hashnode support: https://support.hashnode.com/docs/mapping-domain/, this should help you more, if you need more help related to [Hashnode](https://hashnode.com), then please visit the [Hashnode Support Center](https://support.hashnode.com/). Remeber, is-a.dev has no links with hashnode, so please do not create issues on our github, saying that your hashnode blog is having issues, we simply will not respond to them. diff --git a/docs/hosted-at/others.md b/docs/hosted-at/others.md deleted file mode 100644 index 0d0c534e8..000000000 --- a/docs/hosted-at/others.md +++ /dev/null @@ -1,53 +0,0 @@ -# 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 - diff --git a/docs/maintainers/pr-review.md b/docs/maintainers/pr-review.md deleted file mode 100644 index e3a871ac0..000000000 --- a/docs/maintainers/pr-review.md +++ /dev/null @@ -1,72 +0,0 @@ -# Reviewing pull requests -There are a few things you'll need to look out for when reviewing pull requests for domain registrations. This list is not exhaustive and will be updated. - ---- - -### CI errors -A lot of minor issues will be caught in the CI checks -* JSON parsing issues -* Schema issues - -If the CI is failing, tag the user and comment on the pr. - ---- - -### Contents of the website -We need to make sure that the contents being hosted via the record being registered is not used for malicious purposes. -To do this, we must try our best to verify the contents of website and if required ask some questions regarding the contents in the PR. - ---- - -### Invalid email/social link -A way to contact the user is important in case we need to inform the users of some changes to the project. -Confirm if the email looks valid or the social user name/link works. -The user should have either an email or a valid social link. - -❌ `"owner": { "username": "gh-username" }` is invalid as it doesn't contain an email or any social links - -❌ `"email": "28372878+user-name@users.noreply.github.com"` is invalid as the email cannot be used - -✅ `"owner": { "username": "phenax", "twitter": "twitter-username" }` is valid as it contains a social link - -✅ `"owner": { "username": "phenax", "email": "email@gmail.com" }` is valid as it contains an email - ---- - -### Invalid CNAME -CNAME has to be a hostname. Something like `example.com`. - -❌ `http://example.com` is invalid as it contains a protocol `https://` - -❌ `example.com/some/path` is invalid as it contains the path name `/some/path` - -✅ `example.com` is valid as it is the hostname of the website - ---- - -### Invalid A -A record has to be an array of ips. - -❌ `"A": "211.211.211.211"` is invalid as it must be an array - -❌ `"A": ["example.com"]` is invalid as it is not an ip address - -✅ `"A": ["211.211.211.211", "211.211.211.212"]` is valid as it is an array of ips - ---- - -### Invalid URL -The URL must have a protocol (`http://` or `https://`) and must be something like `https://example.com` or `https://example.com/some/path`. - -❌ `example.com` is invalid as it doesn't contain the protocol - -✅ `https://example.com/some/path` is valid as it contains a protocol - ---- - -### Only one record type -Earlier, is-a-dev used to allow for handling https redirections along with CNAME but the way we handle requests has changed since then. -This is why a record file can only contain one record type. Either `CNAME` or `A` or `URL`. - -❌ `"CNAME": "example.com", "URL": "https://something.com"` is invalid as it should only contain one type of record, either CNAME or URL. - diff --git a/docs/maintainers/publishing-records.md b/docs/maintainers/publishing-records.md deleted file mode 100644 index 2c363e8a1..000000000 --- a/docs/maintainers/publishing-records.md +++ /dev/null @@ -1,11 +0,0 @@ -# Publishing records -> NOTE: This is only for maintainers with publishing access - -Currently, the records are published using a manual github actions workflow. -When all the PR's are merged and ready, go to `Actions > Publish records` and click on the `Run workflow` button to publish the merged records. - - - -Sometimes it may log an error message while publishing saying some record(s) couldn't be published. -Usually, the cause is related to some conflict while deleting and re-publishing. -In those situations, running the workflow again will fix the issues.