Deploy Hugo as a GitHub Pages project or personal/organizational site and automate the whole process with Github Action Workflow.
- GitHub provides free and fast static hosting over SSL for personal, organization, or project pages directly from a GitHub repository via its GitHub Pages service and automating development workflows and build with GitHub Actions.
Branches for GitHub Actions
You have Git 2.8 or greater installed on your machine. You have a GitHub account. Signing up for GitHub is free. You have a ready-to-publish Hugo website or have at least completed the Quick Start. There are two types of GitHub Pages:. User/Organization Pages (https://
Project Pages (https://
This applies regardless of what type of GitHub Pages you are using. This is a clean setup as your Hugo files are stored in one branch and your generated files are published into a separate branch. As mentioned in the GitHub Pages documentation, you can host a user/organization page in addition to project pages.
Build Hugo With GitHub Action
- Here are the key differences in GitHub Pages websites for Users and Organizations:.
- You must create a repository named
.github.io or .github.io to host your pages.
- By default, content from the main branch is used to publish GitHub Pages - rather than the gh-pages branch which is the default for project sites.
- However, the GitHub Actions in these instructions publish to the gh-pages branch.
- Therefore, if you are publishing Github pages for a user or organization, you will need to change the publishing branch to gh-pages.
- See the instructions later in this document.
- GitHub executes your software development workflows.
- Everytime you push your code on the Github repository, Github Actions will build the site automatically.
Create a file in .github/workflows/gh-pages.yml containing the following content (based on actions-hugo):. For more advanced settings actions-hugo and actions-gh-pages.
By default, the GitHub action pushes the generated content to the gh-pages branch. This means GitHub has to serve your gh-pages branch as a GitHub Pages branch.
You can change this setting by going to Settings > GitHub Pages, and change the source branch to gh-pages. Don’t forget to rename your baseURL in config.toml with the value https://
Github pages setting
|This content applies to Vortex 1.1.15 or lower.|
If you’d like to use a custom domain for your GitHub Pages site, create a file static/CNAME. Your custom domain name should be the only contents inside CNAME. Since it’s inside static, the published site will contain the CNAME file at the root of the published site, which is a requirement of GitHub Pages.
Refer to the official documentation for custom domains for further information. For the last six years a script in my Mikrotik Routerboard would update my free no-ip domain name with my dynamic ip, allowing me to vpn into my router.
Use a Custom Domain
At some point because of an update in RouterOS the script stopped updating my ddns and i had to find another script or fix the current one.
Then i decided to use a new feature of Mikrotik, IP Cloud. Although IP Cloud seems unsuitable for ddns usage, since it assigns you with a difficult to remember domain derived from the mac of the Routerboard, we can map our free no-ip domain name with a CNAME to our ip cloud domain which never changes since it is tied to the equipment.That way we can also have a proxy with a human friendly domain to access internal services.
Remove ddns script and disable the scheduler of the script if there is any.Go to system->scripts and system->scheduler.
Types of GitHub Pages
For NTP either the SNTP client of Mikrotik or the NTP server of Mikrotik’s cloud servers can be used.I chose to go with Cloud NTP server.
We can disable the SNTP client of the routerboard by going to system->SNTP client.
Enable Cloud by going to IP->Cloud. The router will contact Mikrotik servers,create a domain based on the router and assign it.From now on this domain is tied to the specific router and will persist on reset too.
Now that the domain of our RB is known we can proceed on changing the free domain registered with no-ip from A record to a CNAME(canonical name), meaning that instead of pointing to an ip address our no-ip domain will point to another domain, our Mikrotik router domain.
Login to no-ip dashboard , go to My Services->DNS Records , select CNAME and copy paste the DNS name assigned to the RB to the target entry in no-ip dashboard.
Change baseURL in config.toml
changing a hostname to CNAME. Instead of an IP , example.ddns.net is mapped to example.sn.mynetname.net.
To confirm that the CNAME is working do >nslookup example.ddns.net .
- Now we can keep using our vpn to our router or accessing our proxy using our regular domain without maintaining a script.
- Version - This is recommended, add the current version of the script extender, so you know if you need to update.
- Mod Type - This is required change this to "dinput".
Now you can enable this mod. If you have automatic deployment turned off, you will need to click "Deploy Mods" to all the installation into the game folder.
GitHub User or Organization Pages
You have to edit the script extender settings. So check your dashboard where handly shortcuts to the script extender are already set up.
There you have to click the 3 dots on the Skyrim Script Extender App. Then click "Edit"
You have to delete the skse Version Folder skse64_2_00_10\ in your SKSE Settings, otherwise you could not start skse within vortex with skse running
Target: c:\games\steam\steamapps\common\Skyrim Special Edition\
Start in: c:\games\steam\steamapps\common\Skyrim Special Edition\
Check it's working
To verify the script extending is working, check your dashboard where handly shortcuts to the script extender are already set up. Click the play button and if the game launches via the script extender it has been installed correctly.
You can set the script extender as default by clicking the menu icon next to the tool. This will mean when you click the launch button at the top of Vortex, the script extender will be started.