• Stars
    star
    473
  • Rank 89,925 (Top 2 %)
  • Language XSLT
  • License
    Other
  • Created about 9 years ago
  • Updated 3 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
939
star
2

buddy

Security library for Clojure
Clojure
826
star
3

promesa

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

cuerdas

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

buddy-auth

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

catacumba

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

beicon

Reactive Streams for ClojureScript
JavaScript
149
star
8

buddy-core

Cryptographic api for Clojure
Clojure
141
star
9

urania

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

bide

A simple routing library for ClojureScript
JavaScript
131
star
11

struct

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

buddy-sign

High level message signing library.
Clojure
114
star
13

clojure.jdbc

JDBC library for Clojure
Clojure
105
star
14

lentes

Functional references for Clojure and ClojureScript
Clojure
92
star
15

rumext

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

suricatta

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

octet

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

buddy-hashers

Collection of password hashers.
Java
73
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
57
star
22

potok

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

codeina

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

tubax

Clojurescript XML parser
JavaScript
23
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

fs

File system utilities for Clojure (helpers for java.io.File)
Clojure
8
star
32

canal

DEPRECATED: A channel monad for cats library
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

wydra

Messaging library for Clojure
Clojure
4
star
40

cljs-testrunners

ClojureScript test runners facilities/helpers.
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