japr 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +26 -27
- data/lib/japr/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjRiOTE0NjFhNzVmZWUwMzBjYWIyYTVjNWQwZmI4ZjY1YzZmN2JiMQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTVlYTQ1MTI0MTA4YTRmNTg0MWI2MmZiNGFiNGZlOWFlOTlhZTllMQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YmFkZmY2ODZmODNkNDJkOWExMzg1NTM3Y2FkZDZmYWI3Yjc4ZDk3MTM3MzU4
|
10
|
+
MTM1Y2Y3MTIwMTBhNWE2NWE3YTNjNTM5YmI3M2QzMDU2NmNiMTIyNzA2MjY4
|
11
|
+
OWMxODljYmZiZmIzOTk3ZTg3M2U4OTMwZTJiY2QwZGVhNjYzYjk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NGFlYTU2ZTEyN2JhYjY5Y2M3ZDMwZThhOWVmODgyNjMwYmYzNTE5MDA1ZDUw
|
14
|
+
YjczOTAwMzliMTVkZGJkZWU4Zjk0MDc0ODI0MzdjNDM2YmNkOTZlYTUzMWM5
|
15
|
+
ZGM3MWM1YTMzNDU4NzVhYzQ4Mjc3MTlhMjA1NWU1ZTBiNTAzMjM=
|
data/README.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
-
# Jekyll Asset Pipeline Reborn
|
1
|
+
# JAPR (Jekyll Asset Pipeline Reborn)
|
2
2
|
|
3
|
-
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/japr.png)](http://badge.fury.io/rb/japr) [![Build Status](https://secure.travis-ci.org/kitsched/japr.png)](https://travis-ci.org/kitsched/japr) [![Coverage Status](https://coveralls.io/repos/kitsched/japr/badge.png)](https://coveralls.io/r/kitsched/japr) [![Dependency Status](https://gemnasium.com/kitsched/japr.png)](https://gemnasium.com/kitsched/japr) [![Code Climate](https://codeclimate.com/github/kitsched/japr.png)](https://codeclimate.com/github/kitsched/japr)
|
4
|
+
|
5
|
+
JAPR is a powerful asset pipeline that automatically collects, converts and compresses / minifies your site's JavaScript and CSS assets when you compile your Jekyll site.
|
6
|
+
|
7
|
+
This project is a fork of [Jekyll Asset Pipeline](https://github.com/matthodan/jekyll-asset-pipeline) which, unfortunately, was pretty much abandonware.
|
4
8
|
|
5
9
|
## Table of Contents
|
6
10
|
|
@@ -29,7 +33,7 @@ Jekyll Asset Pipeline Reborn is a powerful asset pipeline that automatically col
|
|
29
33
|
|
30
34
|
## How It Works
|
31
35
|
|
32
|
-
|
36
|
+
JAPR's workflow can be summarized as follows:
|
33
37
|
|
34
38
|
1. Review site markup for instances of the `css_asset_tag` and `javascript_asset_tag` Liquid tags. Each occurrence of either of these tags identifies when a new bundle needs to be created and outlines (via a manifest) which assets to include in the bundle.
|
35
39
|
2. Collect raw assets based on the manifest and run them through converters/preprocessors (if necessary) to convert them into valid CSS or JavaScript.
|
@@ -38,7 +42,7 @@ Jekyll Asset Pipeline's workflow can be summarized as follows:
|
|
38
42
|
|
39
43
|
## Getting Started
|
40
44
|
|
41
|
-
|
45
|
+
JAPR is extremely easy to add to your Jekyll project and has no incremental dependancies beyond those required by Jekyll. Once you have a basic Jekyll site up and running, follow the steps below to install and configure JAPR.
|
42
46
|
|
43
47
|
1. Install the "japr" gem via [Rubygems](http://rubygems.org/).
|
44
48
|
|
@@ -71,7 +75,7 @@ Jekyll Asset Pipeline is extremely easy to add to your Jekyll project and has no
|
|
71
75
|
```
|
72
76
|
> *Asset manifests must be formatted as YAML arrays and include full paths to each asset from the root of the project. YAML [does not allow tabbed markup](http://www.yaml.org/faq.html), so you must use spaces when indenting your YAML manifest or you will get an error when you compile your site. If you are using assets that must be preprocessed, you should append the appropriate extension (e.g. '.js.coffee', '.css.less') as discussed in the [Asset Preprocessing](#asset-preprocessing) section.*
|
73
77
|
|
74
|
-
5. Run the `jekyll build` command to compile your site. You should see an output that includes the following
|
78
|
+
5. Run the `jekyll build` command to compile your site. You should see an output that includes the following JAPR status messages.
|
75
79
|
|
76
80
|
``` bash
|
77
81
|
$ jekyll build
|
@@ -88,7 +92,7 @@ That is it! You should now have bundled assets. Look in the "_site" folder of
|
|
88
92
|
|
89
93
|
## Asset Preprocessing
|
90
94
|
|
91
|
-
Asset preprocessing (i.e. conversion) allows us to write our assets in languages such as [CoffeeScript](http://coffeescript.org/), [Sass](http://sass-lang.com/), [Less](http://lesscss.org/), [Erb](http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html) or any other language. One of
|
95
|
+
Asset preprocessing (i.e. conversion) allows us to write our assets in languages such as [CoffeeScript](http://coffeescript.org/), [Sass](http://sass-lang.com/), [Less](http://lesscss.org/), [Erb](http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html) or any other language. One of JAPR's key strengths is that it works with __any__ preprocessing library that has a ruby wrapper. Adding a preprocessor is straightforward, but requires a small amount of additional code.
|
92
96
|
|
93
97
|
In the following example, we will add a preprocessor that converts CoffeeScript into JavaScript.
|
94
98
|
|
@@ -154,11 +158,11 @@ You probably get the gist of how converters work, but I thought I'd add an examp
|
|
154
158
|
|
155
159
|
If you would like to run an asset through multiple preprocessors successively, you can do so by naming your assets with nested file extensions. Nest the extensions in the order (right to left) that the asset should be processed. For example, `.css.scss.erb` would first be processed by an "erb" preprocessor then by a "scss" preprocessor before being rendered. This convention is very similar to the convention used by the [Ruby on Rails asset pipeline](http://guides.rubyonrails.org/asset_pipeline.html#preprocessing).
|
156
160
|
|
157
|
-
> *Don't forget to define preprocessors for the extensions you use in your filenames, otherwise
|
161
|
+
> *Don't forget to define preprocessors for the extensions you use in your filenames, otherwise JAPR will not process your asset.*
|
158
162
|
|
159
163
|
## Asset Compression
|
160
164
|
|
161
|
-
Asset compression allows us to decrease the size of our assets and increase the speed of our site. One of
|
165
|
+
Asset compression allows us to decrease the size of our assets and increase the speed of our site. One of JAPR's key strengths is that it works with __any__ compression library that has a ruby wrapper. Adding asset compression is straightforward, but requires a small amount of additional code.
|
162
166
|
|
163
167
|
In the following example, we will add a compressor that uses Yahoo's YUI Compressor to compress our CSS and JavaScript assets.
|
164
168
|
|
@@ -229,7 +233,7 @@ You probably get the gist of how compressors work, but I thought I'd add an exam
|
|
229
233
|
|
230
234
|
## Templates
|
231
235
|
|
232
|
-
When
|
236
|
+
When JAPR creates a bundle, it returns an HTML tag that points to the bundle. This tag is either a "link" tag for CSS or a "script" tag for JavaScript. Under most circumstances the default tags will suffice, but you may want to customize this output for special cases (e.g. if you want to add a CSS media attribute).
|
233
237
|
|
234
238
|
In the following example, we will override the default CSS link tag by adding a custom template that produces a link tag with a "media" attribute.
|
235
239
|
|
@@ -259,7 +263,7 @@ That is it! Your asset pipeline used your template to generate an HTML "link" t
|
|
259
263
|
|
260
264
|
## Configuration
|
261
265
|
|
262
|
-
|
266
|
+
JAPR provides the following configuration options that can be controlled by adding the following to the end of your project's "\_config.yml" file.
|
263
267
|
|
264
268
|
``` yaml
|
265
269
|
asset_pipeline:
|
@@ -272,15 +276,15 @@ asset_pipeline:
|
|
272
276
|
|
273
277
|
> *If you don't have a "\_config.yml" file, consider reading the [configuration section](https://github.com/mojombo/jekyll/wiki/Configuration) of the Jekyll documentation.*
|
274
278
|
>
|
275
|
-
> - The "bundle" setting controls whether
|
276
|
-
> - The "compress" setting tells
|
279
|
+
> - The "bundle" setting controls whether JAPR bundles the assets defined in each manifest. If "bundle" is set to false, each asset will be saved individually and individual html tags pointing to each unbundled asset will be produced when you compile your site. It is useful to set this to false while you are debugging your site.
|
280
|
+
> - The "compress" setting tells JAPR whether or not to compress the bundled assets. It is useful to set this setting to "false" while you are debugging your site.
|
277
281
|
> - The "output\_path" setting defines where generated bundles should be saved within the "\_site" folder of your project.
|
278
282
|
> - The "display\_path" setting overrides the path to assets in generated html tags. This is useful if you are hosting your site at a path other than the root of your domain (e.g. "http://example.com/blog/").
|
279
|
-
> - The "gzip" setting controls whether
|
283
|
+
> - The "gzip" setting controls whether JAPR saves gzipped versions of your assets alongside un-gzipped versions.
|
280
284
|
|
281
285
|
## Octopress
|
282
286
|
|
283
|
-
[Octopress](http://octopress.org/) is a popular framework for Jekyll that can help you get a blog up and running quickly.
|
287
|
+
[Octopress](http://octopress.org/) is a popular framework for Jekyll that can help you get a blog up and running quickly. JAPR can be added to an Octopress site using the [Getting Started](#getting-started) steps above with the following modifications:
|
284
288
|
|
285
289
|
1. Octopress uses Bundler to manage your site's dependencies. You should add `gem "japr"` to your Gemfile and then run `bundle install` to install.
|
286
290
|
|
@@ -292,37 +296,32 @@ asset_pipeline:
|
|
292
296
|
|
293
297
|
5. Instead of running the `jekyll` command to compile your site, you should use Octopress' rake commands (e.g. `rake generate`) as outlined [here](http://octopress.org/docs/blogging/).
|
294
298
|
|
295
|
-
If you have any difficulties using
|
299
|
+
If you have any difficulties using JAPR with Octopress, please [open an issue](http://github.com/kitsched/japr/issues).
|
296
300
|
|
297
301
|
## Contribute
|
298
302
|
|
299
|
-
You can contribute to the
|
303
|
+
You can contribute to the JAPR by submitting a pull request [via GitHub](https://github.com/matthodan/japr). I have identified the following areas for improvement:
|
300
304
|
|
301
|
-
- __Tests, tests, tests.__ I'm embarrassed to say that I didn't write a single test while building
|
302
|
-
- __Handle remote assets.__ Right now,
|
303
|
-
- __Successive preprocessing.__ Currently you can only preprocess a file once. It would be better if you could run an asset through multiple preprocessors before it gets compressed and bundled. **As of v0.1.0,
|
305
|
+
- __Tests, tests, tests.__ I'm embarrassed to say that I didn't write a single test while building JAPR. This started as a hack for my blog and quickly grew into a library as I tweaked it to support my own needs. **This project is now fully tested.**
|
306
|
+
- __Handle remote assets.__ Right now, JAPR does not provide any way to include remote assets in bundles unless you save them locally before generating your site. Moshen's [Jekyll Asset Bundler](https://github.com/moshen/jekyll-asset_bundler) allows you to include remote assets, which I thought was pretty interesting. That said, I think it is generally better to keep remote assets separate so that they load asynchronously. **After some thought, I've decided that this is not a priority. If you disagree, let me know.**
|
307
|
+
- __Successive preprocessing.__ Currently you can only preprocess a file once. It would be better if you could run an asset through multiple preprocessors before it gets compressed and bundled. **As of v0.1.0, JAPR now supports successive preprocessing.**
|
304
308
|
|
305
309
|
Feel free to message me on [Twitter](http://twitter.com/matthodan) or [Facebook](http://facebook.com/matthodan).
|
306
310
|
|
307
311
|
## Community
|
308
312
|
|
309
|
-
- Here is a list of [sites that use
|
310
|
-
|
311
|
-
## Code Status
|
313
|
+
- Here is a list of [sites that use JAPR](http://github.com/kitsched/japr/wiki/Sites-that-use-JAPR). Feel free to add your site to the list if you want.
|
312
314
|
|
313
|
-
- [![Build Status](https://secure.travis-ci.org/kitsched/japr.png)](https://travis-ci.org/kitsched/japr)
|
314
|
-
- [![Dependency Status](https://gemnasium.com/kitsched/japr.png)](https://gemnasium.com/kitsched/japr)
|
315
|
-
- [![Code Climate](https://codeclimate.com/github/kitsched/japr.png)](https://codeclimate.com/github/kitsched/japr)
|
316
315
|
|
317
316
|
## Credits
|
318
317
|
|
319
|
-
As I was building
|
318
|
+
As I was building JAPR, I came across a number of tools that I was able to draw inspiration and best practices from, but one stood out in particular... I have to give credit to [Moshen](https://github.com/moshen/) for creating the [Jekyll Asset Bundler](https://github.com/moshen/jekyll-asset_bundler).
|
320
319
|
|
321
320
|
I also have to give credit to [Mojombo](https://github.com/mojombo) for creating [Jekyll](https://github.com/mojombo/jekyll) in the first place.
|
322
321
|
|
323
322
|
## License
|
324
323
|
|
325
|
-
|
324
|
+
JAPR is released under the [MIT License](http://opensource.org/licenses/MIT).
|
326
325
|
|
327
326
|
---
|
328
327
|
|
data/lib/japr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: japr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Hodan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '5.2'
|
69
|
-
description: Jekyll Asset Pipeline
|
69
|
+
description: JAPR (Jekyll Asset Pipeline Reborn) adds asset preprocessing (CoffeeScript,
|
70
70
|
Sass, Less, ERB, etc.) and asset compression/minification/gzip (Yahoo YUI Compressor,
|
71
71
|
Google Closure Compiler, etc.) to Jekyll.
|
72
72
|
email: japr@clicktrackheart.com
|