Tip
Don't care about million little options and just need a good site quickly? This guide is for you!
- A personal website showcasing your work is a great way to comprehensively introduce yourself to the world. A portfolio with a custom domain name looks good on your resume.
- This guide is for researchers and students who quickly want to get a personal website and blog with a custom domain.
- While there are a million ways to go about doing this, here is one way that many AI researchers and students follow.
- If this is your first time doing this, expect the whole process to take about an hour or so.
Steps:
- Buy a domain from Namecheap.
- Setup a GitHub Pages using al-folio Jekyll theme.
- Configure your domain's DNS settings.
- Customize your page and add content to it.
Namecheap is a domain registrar with a good reputation among hobbyists. Gandi is another good alternative. Stay away from GoDaddy, as they are known for many unethical practices and bad customer experience.
- Pick something from
.comor.orgTLDs (top level domains). - While there are other TLDs that are very cheap to buy, their renewal costs can be very high.
.comand.orgrenewal costs are fairly nominal. - Let the domain name be something small, very large domain names are hard to communicate and prone to errors when typing.
- <first_name><abbreviated_last_name>[dot]com is a pretty good one.
- Let it be inoffensive and relavent to you, like your name. While
dragonkingpizzaslayer.commay sound cool, but it does not belong on a professional resume. - Avoid numbers, emojis and special characters.
- GitHub Pages is a free static website hosting service provided by GitHub.
al-folioJekyll theme is a popular Jekyll theme which has become popular among AI researches and students.- Jekyll is a static site generator that takes your plain text files and turns them into websites.
Instructions for this part are taken from the al-folio project. You can see the full guide here.
- Create a new repository using this template. For this, click on Use this template -> Create a new repository above the file list. If you plan to upload your site to
<your-github-username>.github.io, note that the name of your repository⚠️ MUST BE⚠️ <your-github-username>.github.ioor<your-github-orgname>.github.io, as stated in the GitHub pages docs. - In this new repository, go to
Settings -> Actions -> General -> Workflow permissionsand giveRead and write permissionsto GitHub Actions. - Open file
_config.yml, seturltohttps://<your-github-username>.github.ioand leavebaseurlempty (do NOT delete it). - Wait until the GitHub actions finish (check your repository Actions tab). Now, in addition to the master branch, your repository has a newly built gh-pages branch.
- Finally, in the repository page go to
Settings -> Pages -> Build and deployment, make sure thatSourceis set toDeploy from a branchand set the branch togh-pages(NOT to master). - Wait until the GitHub actions finish (check your repository Actions tab), then simply navigate to
https://<your-github-username>.github.ioin your browser. At this point you should see a copy of the theme's demo website.
After everything is set up, you can clone the repository on your machine and start customizing it. Run $ git clone [email protected]:<your-username>/<your-repo-name>.git on your terminal. al-folio will automatically re-deploy your webpage each time you push new changes to your repository.
See the full general guide here from GitHub.
Below are steps for namecheap specifically.
- Login to namecheap.
- Set up multi-factor-authentication if you have not already (do not skip this).
- Click on Domain List on the left navigation pane.
- Find your domain in the list (you probably just have one) and click on Manage on the right.
- Optional: Scroll all the way down and turn off parking page.
- On the top nav bar click on Advanced DNS
- Delete all the previous records there.
- Create four A records and point one each to:
185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153 - To create these, set the type as
A, host as@, value as the above ip address, and TTL as5 mins. - Create one
CNAMErecord with host aswww, and value as<your_domain>.com.(notice the dot at the end). This redirectswww.yourdomain.comtoyourdomain.com. - The DNS records may take 10-15 mins to propagate throughout the world.
- Verify the domain on Github by following this page.
- Everytime you push any changes to GitHub, al-folio automatically redeploys the page using GitHub Actions in the background.
- The full guide to customizing al-folio can be found here.
- Remove the unwanted pages from
_pages/. - To make the CV button open your CV pdf file directly, add your file to
/assets/pdf. And if the filename iscv.pdf, then replace the contents of/_pages/cv.mdwith the following.--- permalink: /assets/pdf/cv.pdf title: CV nav: true nav_order: 4 --- - Use the al-folio guide to explore other customization options.
- Add your profile picture, blog posts, publications, news etc!
That's it! You now have your own website!