See the confluence page for user instructions, and use the blog tool for an easy way to publish blog posts
Sparse checkout requires Git 2.25.0
Ensure that you have configured SSH to connect to private GitHub repositories.
If you wish to develop changes to the blog locally, you may find that there's a lot of content, and prefer just to download the bits you need.
# see comment above about configuring SSH, and modify the clone URL accordingly to use the correct SSH identity
# you may also consider forking the blog repository, and cloning your personal fork instead
git clone --depth 1 --filter=blob:none --no-checkout git@github.com:ScottLogic/blog.git
cd blog
git sparse-checkout init --cone
# modify this variable with the author name you wish to write posts under (typically derived from your SL email address)
AUTHOR='abirch'
git sparse-checkout set _includes _layouts _data category scripts scss assets "$AUTHOR"
git checkout gh-pages
This gets the repository down to ~8MB and ~150 files (whereas checking out all authors' posts would take hundreds of megabytes).
NOTE: Instructions are work in progress.
The blog consists of static HTML pages with content generated using Jekyll markdown.
Use a bash-compatible shell.
Install gem dependencies
First, output gem dependencies to a directory container_gem_cache
on our host machine:
./shell/docker-gem-install.sh
Run dev watch
Now we can serve the blog:
BLOG_USERNAME=abirch ./shell/docker-dev-watch.sh
Visit the blog at:
http://localhost:4000
- sudo apt-get install ruby2.3 ruby2.3-dev build-essential dh-autoreconf
- sudo gem update
- sudo gem install jekyll bundler
- Run 'jekyll -v' to check whether Jekyll is working
- bundle config path vendor/bundle
- gem install bundler
- sudo apt-get install libxslt-dev libxml2-dev zlib1g-dev
- sudo gem install nokogiri
- bundle install
- bundle exec jekyll serve
- Uncomment the lines in _config.yml
- Access on http://localhost:4000
To minify JS, run:
npm run scripts
To minify SCSS, run:
npm run style