Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timothypratley/enterprise-clojure-training
A Clojure training course for Developers and Senior Developers
https://github.com/timothypratley/enterprise-clojure-training
clojure training training-materials
Last synced: 3 months ago
JSON representation
A Clojure training course for Developers and Senior Developers
- Host: GitHub
- URL: https://github.com/timothypratley/enterprise-clojure-training
- Owner: timothypratley
- License: epl-1.0
- Created: 2018-02-16T06:12:52.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-07T19:43:26.000Z (over 1 year ago)
- Last Synced: 2024-04-18T03:20:46.674Z (10 months ago)
- Topics: clojure, training, training-materials
- Language: JavaScript
- Homepage:
- Size: 16.4 MB
- Stars: 75
- Watchers: 6
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= Enterprise Clojure Training
> "Clojure is serious business!" -- Timothy Pratley
A Clojure training course for Developers and Senior Developers working on Enterprise software.
Please visit the https://timothypratley.github.io/enterprise-clojure-training[Website] to see the precompiled course material.
A list of companies and individuals offering Clojure training is here https://clojure.org/community/training[this page].
== Rationale
Clojure has been in the "adopt" zone of the Thoughtworks tech radar since 2014.
But companies face the challenge of how to prepare their staff to be productive using Clojure.
Creating a structured enterprise style course material will enable more people to offer Clojure courses suitable for companies wanting to adopt Clojure.== Usage
Slides have https://github.com/hakimel/reveal.js/wiki/Keyboard-Shortcuts[Keyboard shortcuts].
== Contributing
If you have suggestions on how to improve this course, I would love to hear them.
Issues welcome. Pull requests welcome.== Developing
The manual and slides source material are under the `docs` directory.
The material is written in asciidoc (.adoc) format, which gets compiled to HTML and PDF.
They are built to HTML and PDF using https://asciidoctor.org[Asciidoctor], and output to the `site` directory.
Refer to the https://asciidoctor.org/docs/asciidoc-writers-guide[Writer's Guide] for syntax.
Asciidoctor provides excellent document producing features and allows slides to be generated as RevealJS slideshows.When editing the material, there are many live preview tools to chooose from https://asciidoctor.org/docs/editing-asciidoc-with-live-preview[here].
I use the IntelliJ plugin as it is simple to install and works well.
There is also a `./watch.sh` command to build when the source file changes.
The Web (Epiphany) browser reloads from disk when the HTML file changes.=== Building
The easiest way to build is to run
./bb.sh
This script relies on bundler (See The Ruby way for more info).
It will install dependencies and build the documents into html/pdf.=== With installed CLI tools.
You can install asciidoctor, asciidoctor-pdf, and ascidoctor-revealjs locally and run
./build.sh
But installing these tools is a bit of a pain... so two ways to get the dependencies are provided:
==== The Ruby way
Requires https://www.ruby-lang.org/en/documentation/installation[Ruby].
You don't need to install Asciidoctor.
Asciidoctor is a dependency specified in the Gemfile.
However you will need Ruby and Bundler to pull down the Asciidoctor and RevealJS plugin dependencies.Requires Bundler:
gem install bundler
Pull the dependencies:
bundle --path=.bundle/gems --binstubs=.bundle/.bin
Now you can call the build script:
bundle exec ./build.sh
The `./bb.sh` just does these two steps for you.
=== Rebuild on file modified
To have the build watch for file changes and rebuild automatically:
./watch.sh
You need `entr` (Event Notify Test Runner) installed for watch to work, I highly recomend it.
brew install entr
Or
apt install entr
==== The Docker way
Alternatively, if you prefer pulling a Docker image over installing dependencies:
docker run -v $(pwd):/documents/ asciidoctor/docker-asciidoctor /documents/build.sh
== Deploying
TravisCI automatically deploys the latest version to https://timothypratley.github.io/enterprise-clojure-training[GitHub Pages].
image:https://travis-ci.org/timothypratley/enterprise-clojure-training.svg?branch=master[Build Status, link=https://travis-ci.org/timothypratley/enterprise-clojure-training]Manual deployment:
./deploy.sh