A complete beginner's tutorial shows you how to build your personal cv with hugo and display it using github.io.
# MacOS Ventura 13.2
# hugo version -> hugo v0.110.0+extended darwin/arm64 BuildDate=unknown
If you want to skip the git-tools installation and hugo installation and local build process, then execute the following command.
$ chmod +x build.sh
$ echo "hugo server" >> build.sh
$ . ./build.sh # Don't forget space between first . and second .
After executing this build script, please jump directly to step-configure-ssh and step-create-repository. Then jump to step-deply.
For most people who use github, I assume they have git installed correctly. But if you are new to github and don't have git installed, plz check out link.
Homebrew is a free and open source package management system that simplifies the installation of software on macOS systems.
# When you execute the command plz remove '$' first.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Adding the ssh key is for our later operations to go on smoothly.
$ cd ~/.ssh # If you don't have this folder, please google for how to generate ssh key.
$ ls
id_rsa id_rsa.pub ...
$ cat id_rsa.pub # Copy all your output.
.
.
.
Access your github account settings page. (ps:If you are already logged in then just click -> link) Find option called SSH key and GPG keys. Create SSH key like 👇🏻. Put the text of the id_rsa.pub you copied into the place of the key below.
Notice: repository name should be like your_account_name.github.io. When you visit your github homepage, the string at the end of your link is your_account_name. For me the link is "https://github.com/MGMCN". So my_account_name is "MGMCN".
$ brew install hugo
$ hugo version # Success if version output is available
...
$ mkdir hugoServer
$ cd hugoServer
$ hugo new site mycv
$ cd mycv/themes
$ git clone https://gitlab.com/mertbakir/resume-a4.git
$ cd resume-a4
$ cp config.yaml ../../
$ cp -r exampleSite/data ../../
$ cd ../../
$ rm config.toml # using config.yaml as our config file
$ hugo server --disableFastRender # Now you can check your hugo-server is working locally by access http://localhost:1313/ .
$ hugo -D
$ cd public
$ git init
$ git remote add origin [email protected]:your_account_name/your_account_name.github.io.git
$ git pull origin main
$ git checkout main # Make sure you are on the main branch.
$ git add .
$ git commit -m "first commit"
$ git push -u origin main
...
# Now you can view your cv by visiting your_account_name.github.io
Edit these two files. See what has changed by using the local hugo server.
$ ls # Now back to our root directory.
.
├── archetypes
├── config.yaml # 👈🏻 This is a configuration file where you can configure.
├── content
├── data # 👈🏻 Your cv details are all in this folder.
│ ├── education.yaml
│ ├── experience.yaml
│ ├── features.yaml
│ ├── projects.yaml
│ └── publications.yaml
├── layouts
├── public
├── resources
├── static
└── themes
When you have edited any one or more of these two files and you want to change the content displayed on github.io.
$ ls # First back to our root directory.
.
├── archetypes
├── config.yaml
├── content
├── data
├── layouts
├── public
├── resources
├── static
└── themes
# Then run 👇🏻
$ hugo -D
$ cd public
$ git checkout main
$ git add .
$ git commit -m "cv updated"
$ git push
# Now you can view your changes by visiting your_account_name.github.io
Thanks to resume-a4. If you need more details about Hugo Themes, please check out HugoThemes.