Git Product home page Git Product logo

clojurescript-unraveled's Introduction

ClojureScript Unraveled

An open source ClojureScript book. Read an HTML version here.

If you found this book useful, consider sponsoring my work on it.

This books aims to serve as:

  • A comprehensive introduction to the ClojureScript language and its idiomatic usage, assuming no previous experience with Clojure or functional programming;
  • a detailed guide of the ClojureScript compiler and the tooling around it; and
  • a mixed bag of topics that are useful in day-to-day ClojureScript programming.

As such, it is divided into three main sections: Language, Tooling & Compiler, and Mixed Bag.

How to Contribute

This is a quick and dirty FAQ:

  • If you found some typo or wording improvements (that do not imply any structural changes) open a pull-request directly.
  • If you want to propose a new chapter, please open an issue for discussing it.
  • If you want to propose a structural change, please open an issue for discussing it.
  • If you want to suggest an additional topic, please open an issue for discussing it.

Please, maintain the commit size small for easy commits picking.

Rules for text formatting:

  • Use correct asciidoctor syntax.
  • Max line width should be 84 chars.

General note:

At this moment, we do not have plans to accept new chapters until the the basic book structure is finished. This is not because we don't want to, but because it's very difficult to handle that at this stage of the book. That being said, proposals are very welcome.

How to build

The book is written using asciidoctor, so you should install the last version of asciidoctor using your package manager. The asciidoctor is responsible of the generation of the online html format. So if you are happy with a local copy in html format, this is a unique dependency that you need.

This is a command for generate the html:

make html
chromium dist/index.html

PDF (Linux)

If you want to generate a pdf. Some additional depencies are needed. For this process we are using fopub tool (included in the repo) that requires the JDK 7 or 8.

For generate pdf, having jdk installed, execute this:

make git
make pdf
# This will generate dist/clojurescript-unraveled.pdf

And finally, if you want to generate epub or mobi, you should install calibre and docbook-xsl using the package manager of you distribution. Once you have this installed, execute the following commands:

make epub
make mobi

PDF (OS X)

In order to build the pdf on OS X, please follow the notes on this issue.

License

This book is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

clojurescript-unraveled's People

Contributors

niwinz avatar shaunlebron avatar jdeisenberg avatar tyler-anderson avatar paasar avatar iamjarvo avatar jasoncourcoux avatar dottedmag avatar ykomatsu avatar mishelashala avatar dsevilla avatar bowd avatar anler avatar oemmerson avatar marcelopereirascmspain avatar kostspielig avatar davidpham87 avatar customcommander avatar wenxin-wang avatar tiensonqin avatar t-gebauer avatar spencercrissman avatar ul avatar o-i avatar maraujop avatar martinklepsch avatar julianbonilla avatar jhchabran avatar stephenwakely avatar tenzaej avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.