🔗 Ignite is a library that helps Swift developers create static websites.
I have been managing my weekly retrospective blog using a similar library called 🔗 Publish.
However, while Publish requires knowledge of HTML and CSS for customizations, Ignite is much more intuitive and simple, using SwiftUI-like syntax, which led me to switch.
Ignite is easy to use. After installing the CLI, you can implement the UI by combining the provided components, referencing the 🔗 Sample Site.
When you build the package, a Build folder is created. By deploying the files inside that folder, a static website is complete.
I created a separate repository to manage the source code, then implemented a GitHub action to transfer the files from the Build folder to my github.io repository.
Ignite provides a component called ContentPreview, but it’s not customizable. I modified the open source to accept a closure for customization, but after a PR review, I was advised to pass it to the modifier and revised the implementation accordingly.
🔗 GitHub Docs - Managing Multiple Accounts
To manage multiple GitHub accounts on a single device, some additional steps are required when using the HTTPS method.
While using GitHub tokens for each repository can solve the issue by authenticating at the repository level instead of the account level, it results in multiple entries in the keychain and requires authentication for each repository, which can be inconvenient. Using SSH seems to be a better approach.
Managing Multiple Accounts with HTTPS
$ git config --get credential.helper
# Enter
$ git credential-osxkeychain erase
host=github.com
protocol=https
$ git config --global credential.https://github.com.useHttpPath true
Managing Multiple Accounts with SSH
# Generate SSH keys for each account
$ ssh-keygen -t ed25519 -C "your_email@example.com"
# Create SSH config file
$ ~/.ssh/config
#######
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
#######
# Use different hostnames for each repository when cloning
git clone git@github-personal:username/repo.git
git clone git@github-work:username/repo.git