emmaxshen / APCSA_Blog

MIT License
0 stars 0 forks source link

Blog site using GitHub Pages and Jekyll

This site is intended for Students. This is to record plans, complete hacks, and do work for your learnings.

  • This can be customized to support computer science as you work through pathway (JavaScript, Python/Flask, Java/Spring)
  • All tangible artifact work is in a _posts or in a _notebooks.
  • Front matter (aka meta data) in ipynb and md files is used to organize information according to week and column in running web site.

GitHub Pages

All GitHub Pages websites are managed on GitHub infrastructure. GitHub uses Jekyll to tranform your content into static websites and blogs. Each time we change files in GitHub it initiates a GitHub Action that rebuilds and publishes the site with Jekyll.

Preparing a Preview Site

In all development, it is recommended to test your code before deployment. The GitHub Pages development process is optimized by testing your development on your local machine, prior to files on GitHub

Development Cycle. For GitHub pages, the tooling described below will create a development cycle make-code-save-preview. In the development cycle, it is a requirement to preview work locally, prior to doing a VSCode commit to git.

Deployment Cycle. In the deplopyment cycle, sync-github-action-review, it is a requirement to complete the development cycle prior to doing a VSCode sync. The sync triggers github repository update. The action starts the jekyll build to publish the website. Any step can have errors and will require you to do a review.

WSL and/or Ubuntu installation requirements

bash commands, install user requirements.

echo "=== GitHub pages build tools ===" export GEM_HOME="$HOME/gems" export PATH="$HOME/gems/bin:$PATH" echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc echo "=== Gem install starting, thinking... ===" gem install jekyll bundler head -30 ./teacher/scripts/activate.sh echo "=== !!!Start a new Terminal!!! ==="


### MacOs installation requirements 
- Ihe result of these step are MacOS tools to run preview server.  These procedures were created using [jekyllrb.com](https://jekyllrb.com/docs/installation/macos/). Run scripts in scripts directory of teacher repo: setup_macos.sh and activate_macos.sh.  Or, follow commands below.
```bash
# MacOS commands
# brew install, installs packages for MacOS
echo "=== Ugrade Packages ==="
brew update
brew upgrade
#
echo "=== Install Ruby ==="
brew install chruby ruby-install xz
ruby-install ruby 3.1.3
#
echo "=== Install Python ==="
brew install python
#    
echo "=== Install Jupyter Notebook ==="
brew install jupyter

# bash commands, install user requirements.
export GEM_HOME="$HOME/gems"
export PATH="$HOME/gems/bin:$PATH"
echo '# Install Ruby Gems to ~/gems' >> ~/.zshrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.zshrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.zshrc
echo "=== Gem install starting, thinking... ==="
gem install jekyll bundler
head -30 ./teacher/scripts/activate.sh
echo "=== !!!Start a new Terminal!!! ==="

Preview