• Stars
    star
    474
  • Rank 92,640 (Top 2 %)
  • Language XSLT
  • License
    Other
  • Created almost 10 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An open source book about ClojureScript

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.

More Repositories

1

cats

Category Theory and Algebraic abstractions for Clojure and ClojureScript.
Clojure
938
star
2

buddy

Security library for Clojure
Clojure
827
star
3

promesa

A promise library & concurrency toolkit for Clojure and ClojureScript.
Clojure
491
star
4

cuerdas

String manipulation library for Clojure(Script)
Clojure
304
star
5

buddy-auth

Authentication and Authorization facilities for ring and ring based web applications.
Clojure
292
star
6

catacumba

Asynchronous web toolkit for clojure built on top of Ratpack / Netty
Clojure
193
star
7

beicon

Reactive Streams for ClojureScript
JavaScript
152
star
8

buddy-core

Cryptographic api for Clojure
Clojure
145
star
9

urania

Elegant and Efficient remote data access for Clojure(Script)
Clojure
138
star
10

bide

A simple routing library for ClojureScript
JavaScript
132
star
11

struct

Structural validation library for Clojure(Script)
Clojure
119
star
12

buddy-sign

High level message signing library.
Clojure
118
star
13

clojure.jdbc

JDBC library for Clojure
Clojure
105
star
14

lentes

Functional references for Clojure and ClojureScript
Clojure
93
star
15

rumext

Simple and decomplected ui library for ClojureScript (based on React)
Clojure
88
star
16

suricatta

High level sql toolkit for clojure (backed by jooq library)
Clojure
83
star
17

octet

A library that makes working with bytebuffers painless.
Clojure
83
star
18

buddy-hashers

Collection of password hashers.
Java
76
star
19

httpurr

A ring-inspired, promise-returning, simple Clojure(Script) HTTP client.
Clojure
67
star
20

hodgepodge

A idiomatic ClojureScript interface to local and session storage
Clojure
66
star
21

datoteka

A filesystem toolset and storage implementation for Clojure.
Clojure
58
star
22

potok

Reactive streams based state management toolkit for ClojureScript
Clojure
43
star
23

codeina

Api documentation generator for Clojure and ClojureScript (codox fork)
Clojure
29
star
24

tubax

Clojurescript XML parser
JavaScript
24
star
25

promissum

DEPRECATED: use funcool/promesa
Clojure
18
star
26

vertx-clojure

A lightweight clojure adapter for vertx toolkit.
Clojure
17
star
27

boot-codeina

Beautiful api documentation generator for Clojure.
Clojure
14
star
28

decimal

An arbitrary-precision Decimal type for ClojureScript
JavaScript
13
star
29

yetti

Adapter for Ring (with H2C and WebSocket support).
Clojure
11
star
30

okulary

Fast Atom and DerivedAtom for ClojureScript.
Clojure
9
star
31

canal

DEPRECATED: A channel monad for cats library
Clojure
7
star
32

fs

File system utilities for Clojure (helpers for java.io.File)
Clojure
7
star
33

tools

A general purpose set of utils for Clojure & Clojurescript (Logging, Exceptions, ...)
Clojure
7
star
34

dost

A cryptographic API & signing toolkit for ClojureScript (nodejs target only) (wip)
Clojure
6
star
35

rxhttp

A reactive streams based http client for ClojureScript
Clojure
6
star
36

clojure-course

A Clojure & ClojureScript course material
6
star
37

zaek

A lightweight RabbitMQ client for Clojure (built on top of java client).
Clojure
5
star
38

log4j2-clojure

A clojure specific appender implementation for Log4j2.
Java
4
star
39

cljs-testrunners

ClojureScript test runners facilities/helpers.
Clojure
4
star
40

wydra

Messaging library for Clojure
Clojure
4
star
41

futura

DEPRECATED
Clojure
4
star
42

catacumba-prone

A prone (error reporting middleware) integration for catacumba.
Clojure
3
star
43

funcool.github.io

Clojure
3
star
44

postal

A postal client for ClojureScript
Clojure
2
star
45

web

HTML
1
star
46

bootutils

A collection tasks for boot for deploy and similar operations.
Clojure
1
star
47

doc

funcool homepage
CSS
1
star