From 4bdcde7a79c52c21b026e72049fcc2f44e4f645b Mon Sep 17 00:00:00 2001 From: Martin Klepsch Date: Mon, 26 Jan 2015 13:28:10 +0100 Subject: [PATCH] rewrite website text --- index.markdown | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/index.markdown b/index.markdown index 7cbe1326..df24019c 100644 --- a/index.markdown +++ b/index.markdown @@ -5,39 +5,23 @@ title: Javascript Libraries packaged for Clojurescript ### Why -

TLDR CLJSJS provides Javascript -libraries and appropriate extern files. It also tries to be a vehicle -for discussion about developing a standard way to depend on Javascript -libraries from Clojurescript projects.

- -In Clojure, Java interoperability or "interop" is a core feature. In -Clojurescript, interop with Javascript libraries does not work -out-of-the-box across optimization modes. Extern files or "externs" -required for advanced optimizations are often hard to find. To fix -this, all CLJSJS artifacts ship with proper [externs] for the Closure -compiler. - -Besides the issue of externs, there is another problem: there is no -standard way to depend on Javascript projects. Om and Reagent depend -on React but use [wildly][reagent-template] -[different][chestnut-devmode] [ways][mies-om-template] to import -React.js. Besides being a hub for externs, CLJSJS also attempts to -provide artifacts for Javascript libraries that Clojurescript projects -can depend on. +Since Clojurescript 0.0-2727 the `:foreign-libs` option provides an +excellent way to integrate Javascript into Clojurescript +applications. CLJSJS provides Javascript libraries and their +appropriate extern files packaged up with `deps.cljs`. CLJSJS aims to +concentrate packaging efforts to make everyone's live a little easier. ### Documentation -Currently there are [tasks for Boot][boot-cljsjs] for adding externs -and Javascript files to builds. As externs and preamble are specified -explicitly as filepaths in `lein-cljsbuild` there is no such mechanism -for it yet. - -Creating packages is straightforward as well and detailed instructions -can be found in the [packages repository][packages-repo]. +CLJSJS packages are gathered on Github in +[cljsjs/packages][packages-repo]. There you can also find usage +instructions, request new libraries to be packaged or contribute +yourself. -Please refer to the documentation of the separate projects in the -[CLJSJS organization][cljsjs-org] on Github for more. Thanks. +We use [Boot][boot] to make packaging quick and easy but it is not +required to make use of CLJSJS packaged Jars. +[boot]: https://github.com/boot-clj/boot [externs]: https://developers.google.com/closure/compiler/docs/api-tutorial3 [reagent-template]: https://github.com/reagent-project/reagent-template/blob/master/src/leiningen/new/reagent/resources/templates/index.html#L11-L19 [chestnut-devmode]: https://github.com/plexus/chestnut/blob/ae3140e76a145aa2275cc9b056d8dbc0a738794c/src/leiningen/new/chestnut/src/clj/chestnut/dev.clj#L10-L15