I write my notes using Obsidian which then get pushed to the remote Github repository, using the Obsidian-Git plugin, after a time-interval of $360$ minutes.
On push, a GitHub Action gets triggered which performs the following tasks:
# This is a basic workflow to help you get started with Actionsname:Publish# Controls when the action will run. Triggers the workflow on push or pull request# events but only for the master branchon:push:branches:[master]# A workflow run is made up of one or more jobs that can run sequentially or in paralleljobs:# This workflow contains a single job called "build"deploy:# The type of runner that the job will run onruns-on:ubuntu-latestconcurrency:group:${{ github.workflow }}-${{ github.ref }}# Steps represent a sequence of tasks that will be executed as part of the jobsteps:# - name: Remove everything# run: rm -rf .- name:Checkout zola template repouses:actions/checkout@v2with:repository:aadimator/zolidianpath:./- name:Checkout notesuses:actions/checkout@v2with:path:raw_notes- name:Run obsidian-export scriptrun:| ls
chmod +x export.bin
mkdir ./content
./export.bin --frontmatter=never --hard-linebreaks --no-recursive-embeds raw_notes ./content- run:rm -rf raw_notes- name:Set up Python 3.8uses:actions/setup-python@v2with:# Semantic version range syntax or exact version of a Python versionpython-version:"3.8"# Optional - x64 or x86 architecture, defaults to x64architecture:"x64"- run:python convert.py- name:build_and_deployuses:shalzz/zola-deploy-action@v0.14.1env:# Target branchPAGES_BRANCH:gh-pages# Provide personal access tokenTOKEN:${{ secrets.TOKEN }}# - name: Checkout theme repo# uses: actions/checkout@v2# with:# repository: aadimator/obsidian-digital-garden# path: ./# - name: Checkout notes# uses: actions/checkout@v2# with:# path: raw_notes# - name: Setup Cargo# uses: actions-rs/toolchain@v1# with:# toolchain: stable# - name: Cargo install obsidian-export# uses: actions/checkout@v2# with:# repository: aadimator/obsidian-export# path: obsidian-export# - run: cargo install --path obsidian-export# - run: mkdir content# - run: obsidian-export raw_notes content/ --frontmatter=always --hard-linebreaks# - run: rm -rf raw_notes# - run: rm -rf obsidian-export# - run: ls# - name: Deploy to GitHub Pages# uses: peaceiris/actions-gh-pages@v3# with:# github_token: ${{ secrets.GITHUB_TOKEN }}# publish_dir: ./# - name: Checkout python script# uses: actions/checkout@v2# with:# repository: aadimator/auto-front-matter# path: auto-fm# - name: Set up Python 3.9.6# uses: actions/setup-python@v2# with:# # Semantic version range syntax or exact version of a Python version# python-version: '3.9.6'# # Optional - x64 or x86 architecture, defaults to x64# architecture: 'x64'# - name: Install dependencies# run: |# python -m pip install --upgrade pip# pip install -r auto-fm/requirements.txt# - name: Run Python script# run: |# cd raw_notes# python ../auto-fm/main.py --output ../_notes# cd ..# rm -rf raw_notes# rm -rf auto-fm# # Use GitHub Actions' cache to shorten build times and decrease load on servers# - uses: actions/cache@v1# with:# path: vendor/bundle# key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}# restore-keys: |# ${{ runner.os }}-gems-# - uses: helaili/jekyll-action@2.0.1# env:# JEKYLL_PAT: ${{ secrets.JEKYLL_PAT }}# # Runs a single command using the runners shell# - name: Run a one-line script# run: ls $GITHUB_WORKSPACE# # Runs a set of commands using the runners shell# - name: Run a multi-line script# run: |# ls $GITHUB_WORKSPACE/_notes# echo test, and deploy your project.