Practical benefits of Blogging:
- Allows you to build your reputation and portfolio
- Encourages continuous learning
- Creates a community around your work
Practical benefits of Obsidian:
- Free, local-first note-taking applications that stores notes as markdown files
- Works well with Version Control Systems (like GitHub)
- Allows formats like tables, call outs, and links
- Link ideas together creating connections across your notes
- Has a vast library of community plugins
- Customization :)
More information exists on Obsidian Community Plug-Ins tools page for customization.
This is a start of making a blog using GitHub Pages. There are more plugins, capabilities, and information that is outside the scope of these instructions; explore more and find out cool things you can do with Obsidian and GitHub!
Follow a Google Slides Presentation Here: GitHub Journal Demo
Making the GitHub repository
Create a public GitHub repository and name it journal or anything that you want the path of the URL to be in the future (e.g. itsvivianmill.github.io/journal).
- Enable a README
- Add a license (GNU Public License)
Configuring GitHub actions
Go to the settings of the newly made repository.
- On the Pages tab
- Select GitHub Actions in the drop down menu to change the deployment source
Creating folders and cloning the repository
Get the SSH link of your journal repository to clone it to your local system. Ensure that SSH keys of the local machine are imported in GitHub
- On the GitHub Repository:
- Click Code
- Click SSH
- Copy the SSH link
To copy the repository onto your local storage, first create the folders the repository will live in.
- Create a directory for Obsidian that stores the
journalpermanently, open a Powershell (Windows) or CMD (Linux).mkdir ~/Documents/Obsidian(I decided to store it in the Documents folder but choose whatever folder you’d like)cd ~/Documents/Obsidian
- Install git (if not yet installed)
winget install git.git(Windows) orsudo apt install git(Linux)
- Clone the repository in the Obsidian folder
git clone [ssh github link]
To make the GitHub Actions usable, create the workflow and copy a pre-built YAML configuration file contributed by
- In the
journaldirectory, create the workflow directory.mkdir -p [journal name]/.github/workflowscd [journal name]/.github/workflowswinget install curl.curl(Windows) orsudo apt install curl(Linux)
- Go to one of the two link to get the configuration file
- https://www.raspberrypiclub.org/blogging/deploy.yml
- https://github.com/btc-raspberrypiclub/github_journal/blob/main/assets/deploy.yml
- Click the RAW button to get the URL of the YAML configuration file
- Copy the link from the address bar
- In the same terminal (make sure the path is in the workflow folder) curl the link and output it into a file
curl [url link] -o deploy.yml
Installing Obsidian
Install on any choice of OS on Obsidian on Obsidian.md/Downloads and follow through with the installation setup.
- To set up the vault, select the following:
- Select Only for me
- Choose Destination Folder
- Select the path where the
journalexists (e.g. ~/Documents/Obsidian/journal)
- Select the path where the
- Install and run application
Installing and configuring the GitHub Sync Plugin
In the bottom left corner of the Obsidian Vault, select the settings gear icon to begin installing the plugin.
- In Options, go to Community Plugins and turn it on:
- Click Browse and search up
GitHub Sync- Install and Enable the plugin
Under Community Plugins, go to GitHub Sync and click the settings icon to configure the plugin.
- In Remote URL, copy the SSH GitHub Link
- Select Enable Auto sync on startup
Create the following files to push to the GitHub repository.
- On the top left hand side of the Obsidian Vault, create a new folder called
publish(it must be lowercase for the future GitHub workflow) - Create a file called
indexin thepublishfolder (must also be lowercase)- Make sure to have content inside the note (in index write anything you’d like)
Push the new files!
- Click Sync with Remote on the left side panel in the Obsidian Vault (Notice the files getting pushed!)
Checkout GitHub Actions run the workflow, when the files are pushed, the workflow should be automatically triggered!
Check out GitHub page
To visit your GitHub page, in a browser type:
[github username].github.io/[journal name](e.g. itsvivianmill.github.io/journal)