This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-09-06
Channels
- # admin-announcements (10)
- # alda (78)
- # arachne (33)
- # bangalore-clj (2)
- # beginners (11)
- # boot (70)
- # chestnut (8)
- # cljsjs (5)
- # cljsrn (4)
- # clojure (212)
- # clojure-art (1)
- # clojure-berlin (1)
- # clojure-brasil (27)
- # clojure-canada (6)
- # clojure-colombia (12)
- # clojure-dev (6)
- # clojure-greece (29)
- # clojure-hk (2)
- # clojure-italy (7)
- # clojure-russia (51)
- # clojure-spec (12)
- # clojure-uk (18)
- # clojurescript (115)
- # clojurex (8)
- # component (1)
- # crypto (41)
- # css (5)
- # cursive (31)
- # datomic (17)
- # defnpodcast (7)
- # emacs (9)
- # flambo (1)
- # funcool (4)
- # juxt (29)
- # off-topic (1)
- # om (122)
- # onyx (12)
- # pedestal (1)
- # planck (10)
- # portland-or (1)
- # re-frame (30)
- # reagent (4)
- # rum (3)
- # slack-help (2)
- # specter (20)
- # sql (3)
Yep! Pretty happy with where theyâre at (although I have no actual asset modules yet, and havenât done docs)
Itâs backed by an immutable fileset implementation inspired by boot: https://github.com/arachne-framework/arachne-fileset
@luke what's the kind of use case for asset pipelines, is that for SASS/image processing? I haven't used an asset pipeline in ages... (favoring static builds instead of dynamic ones)
@martinklepsch This asset pipeline is for all processing of static assets (i.e, anything your server isnât generating on the fly in response to each request.
So yes, useful for scss, coffeescript, minifying, image compression, creating thumbnails, compressing, etc, etc.
if you have an Arachne app that only contains the asset pipeline, not an HTTP server, you in fact have a static site generator đ
ah ok, so asset pipeline, even in arachne, is a build-time component? image compression/thumbnails sounds like something that'd be on the fly
Well it actually slots in at âstartupâ time, which is slightly different from build time; Arachne doesnât really do anything during build to keep things simple. But you can âbuildâ in a static way by having an Arachne app that starts (and processes the assets) and immediately exits.
great, I think this work will be great for the clojure community, without doubts đ.
Sure, you could do compression/thumbnails at runtime too. kind of depends on what you want.
but if your inputs are static files on the file system doing them ahead of time is better
Ok, I think I understand
I couldnât wire things into âbuildâ time without creating a hard dependency on a particular build tool (lein vs boot) or building my own.
Well, there's an obvious choice đ
So it just does all the âstaticâ type things as part of its startup process. And deployment tools will be able to hook into that pretty easily to upload to CDNs or whatever.
Anyways thanks for clarifying. đ
It is possible to have some kind of task (I donât know how to make this independently, in elixir we have mix tasks and in rails rake tasks) to precompile the assets statically
so you can decouple this kind of stuff from build time, but generate as you want the static precompiled assets.
Yeah, the vocabulary is a bit different bot thatâs totally doable. In Arachne you can have multiple runtimes, which load up a different set of modules/components. Youâd just set up a runtime which only did static stuff and then terminated, and run that. It would effectively be the same as a âbuild taskâ.
@marciol I generate everything static using a build (boot) task and upload to S3/CloudFront
I really like the way boot does things, but like I said didnât want to create a hard dependency on a particular build tool, and also I wanted to keep all Arachne-related things as homogenous as possible. So your build tool of choice does a minimal amount of bootstrapping (basically just figuring out a classpath and starting a JVM) and Arachne takes it from there.
So a lot of things that are currently âbuildâ time activities, like CLJS compilation and asset deployment, are actually first-class modules in Arachne that work like any other module.
and then you also donât have to do anything magic to support file watchers that rebuild your assets when an input file is changed. You just keep the asset component running, instead of letting it shut down.
I'm not yet seeing the benefits but it's early so I'll just wait until things get specific đ