jekyll-less 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +2 -1
- data/lib/jekyll-less.rb +47 -22
- data/lib/jekyll-less/version.rb +1 -1
- data/readme.md +8 -0
- metadata +3 -3
data/Rakefile
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
require 'bundler
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
data/lib/jekyll-less.rb
CHANGED
@@ -1,37 +1,62 @@
|
|
1
1
|
require "jekyll-less/version"
|
2
|
+
require 'less'
|
2
3
|
|
3
4
|
module Jekyll
|
4
5
|
module Less
|
5
|
-
class LessConverter < Converter
|
6
|
-
pygments_prefix "\n"
|
7
|
-
pygments_suffix "\n"
|
8
|
-
|
9
|
-
def setup
|
10
|
-
return if @setup
|
11
|
-
require 'less'
|
12
|
-
@setup = true
|
13
|
-
rescue LoadError
|
14
|
-
STDERR.puts 'You are missing a library required for less. Please run:'
|
15
|
-
STDERR.puts ' $ [sudo] gem install less'
|
16
|
-
raise FatalException.new("Missing dependency: less")
|
17
|
-
end
|
18
6
|
|
19
|
-
|
20
|
-
ext =~ /less/i
|
21
|
-
end
|
7
|
+
class LessCssFile < Jekyll::StaticFile
|
22
8
|
|
23
|
-
|
24
|
-
|
9
|
+
# Obtain destination path.
|
10
|
+
# +dest+ is the String path to the destination dir
|
11
|
+
#
|
12
|
+
# Returns destination file path.
|
13
|
+
def destination(dest)
|
14
|
+
File.join(dest, @dir, @name.sub(/less$/, 'css'))
|
25
15
|
end
|
26
16
|
|
27
|
-
|
28
|
-
|
17
|
+
# Convert the less file into a css file.
|
18
|
+
# +dest+ is the String path to the destination dir
|
19
|
+
#
|
20
|
+
# Returns false if the file was not modified since last time (no-op).
|
21
|
+
def write(dest)
|
22
|
+
dest_path = destination(dest)
|
23
|
+
|
24
|
+
return false if File.exist? dest_path and !modified?
|
25
|
+
@@mtimes[path] = mtime
|
26
|
+
|
27
|
+
FileUtils.mkdir_p(File.dirname(dest_path))
|
29
28
|
begin
|
30
|
-
|
29
|
+
content = File.read(path)
|
30
|
+
content = ::Less::Parser.new().parse(content).to_css
|
31
|
+
File.open(dest_path, 'w') do |f|
|
32
|
+
f.write(content)
|
33
|
+
end
|
31
34
|
rescue => e
|
32
|
-
puts "Less Exception: #{e.message}"
|
35
|
+
STDERR.puts "Less Exception: #{e.message}"
|
33
36
|
end
|
37
|
+
|
38
|
+
true
|
34
39
|
end
|
40
|
+
|
35
41
|
end
|
42
|
+
|
43
|
+
class LessCssGenerator < Jekyll::Generator
|
44
|
+
safe true
|
45
|
+
|
46
|
+
# Jekyll will have already added the *.less files as Jekyll::StaticFile
|
47
|
+
# objects to the static_files array. Here we replace those with a
|
48
|
+
# LessCssFile object.
|
49
|
+
def generate(site)
|
50
|
+
site.static_files.each do |sf|
|
51
|
+
if sf.kind_of?(Jekyll::StaticFile) && sf.path =~ /\.less$/
|
52
|
+
site.static_files.delete(sf)
|
53
|
+
name = File.basename(sf.path)
|
54
|
+
destination = File.dirname(sf.path).sub(site.source, '')
|
55
|
+
site.static_files << LessCssFile.new(site, site.source, destination, name)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
36
61
|
end
|
37
62
|
end
|
data/lib/jekyll-less/version.rb
CHANGED
data/readme.md
CHANGED
@@ -22,6 +22,9 @@ css file would end up at _css/my-stuff/styles.css_.
|
|
22
22
|
|
23
23
|
Important Note
|
24
24
|
--------------
|
25
|
+
|
26
|
+
__As of v0.0.2, this is no longer required, and the header must be removed.__
|
27
|
+
|
25
28
|
All .less files __MUST__ have a [YAML Front Matter](http://wiki.github.com/mojombo/jekyll/yaml-front-matter)
|
26
29
|
header, even if empty. Jekyll will only convert files that have a valid Front
|
27
30
|
Matter header, so if you do not include this, the files will not be converted.
|
@@ -42,3 +45,8 @@ of the gems specified in your Gemfile.
|
|
42
45
|
require "rubygems"
|
43
46
|
require "bundler/setup"
|
44
47
|
Bundler.require(:default)
|
48
|
+
|
49
|
+
Credit
|
50
|
+
------
|
51
|
+
This gem was originally based on this [gist](https://gist.github.com/760265) by
|
52
|
+
[joshbrown](https://github.com/joshbrown). As of v0.0.2 it is a complete rewrite.
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "Roger L\xC3\xB3pez"
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-07-08 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|