jeanny 0.95 → 0.96

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.
Files changed (4) hide show
  1. data/README.md +44 -0
  2. data/lib/jeanny/engine.rb +2 -2
  3. metadata +3 -3
  4. data/README +0 -35
data/README.md ADDED
@@ -0,0 +1,44 @@
1
+ #Jeanny
2
+
3
+ Библиотека для сокращения имён css классов.
4
+
5
+ ##Пример использования
6
+
7
+ #!/usr/bin/env ruby
8
+
9
+ require 'rubygems'
10
+ require 'jeanny'
11
+
12
+ include Jeanny::Sugar
13
+
14
+ analyze('serp/css/_*.css', :compare_with => 'classes.saved') and save
15
+
16
+ group :html, :title => 'replacing in template files' do
17
+ replace :in => 'serp/static/*.html'
18
+ end
19
+
20
+ group :css, :title => 'replacing in stylesheets' do
21
+ replace :include => ['serp/css/_*.css', 'serp/block/*/*.css']
22
+ end
23
+
24
+ group :js, :title => 'replacing in scripts' do
25
+ replace :in => 'serp/js/_serp.js'
26
+ end
27
+
28
+ ##Ещё один пример
29
+ #!/usr/bin/env ruby
30
+
31
+ require 'rubygems'
32
+ require 'jeanny'
33
+
34
+ j = Jeanny::Engine.new
35
+ j.analyze '.l-head { ... } .l-head__l, .l-head__r { ... } .z-colors { ololo } .z-colors__text { blah-blah-blah... }'
36
+
37
+ data = '<div class = "l-head"><div class = "l-head__l">Left</div><div class = "l-head__r">Right</div></div><div class = "z-colors"><div class = "z-colors__text">Colors Wizard</div></div>'
38
+ puts j.replace data, :html
39
+
40
+ # На выходе будет:
41
+ # => <div class="a"><div class="d">Left</div><div class="e">Right</div></div><div class="b"><div class="f">Colors Wizard</div></div>
42
+
43
+ ##Установка
44
+ sudo gem sources -a http://gemcutter.org && sudo gem install jeanny
data/lib/jeanny/engine.rb CHANGED
@@ -455,7 +455,7 @@ module Jeanny
455
455
  string_after[pos, full_class.length] = short_class
456
456
  end
457
457
  end
458
- tag.gsub! string, string_after
458
+ tag = tag.sub string, string_after
459
459
  end
460
460
  tag
461
461
  end
@@ -481,7 +481,7 @@ module Jeanny
481
481
 
482
482
  value = ''
483
483
  status = :in_code
484
- scanner = StringScanner.new args[:in] || ''
484
+ scanner = StringScanner.new args[:in].dup || ''
485
485
 
486
486
  until scanner.eos?
487
487
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jeanny
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.95"
4
+ version: "0.96"
5
5
  platform: ruby
6
6
  authors:
7
7
  - gfranco
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-27 00:00:00 +02:00
12
+ date: 2010-02-02 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -22,7 +22,7 @@ extensions: []
22
22
  extra_rdoc_files: []
23
23
 
24
24
  files:
25
- - README
25
+ - README.md
26
26
  - lib/jeanny.rb
27
27
  - lib/jeanny/engine.rb
28
28
  - lib/jeanny/sugar.rb
data/README DELETED
@@ -1,35 +0,0 @@
1
- Jeanny GEM
2
- ---------------------
3
-
4
- Usage:
5
-
6
- #!/usr/bin/env ruby
7
-
8
- require 'rubygems'
9
- require 'jeanny'
10
-
11
- include Jeanny::Sugar
12
-
13
- analyze('serp/css/_*.css', :compare_with => 'classes.saved') and save
14
-
15
- group :css, :title => 'replacing in stylesheets' do
16
- replace :include => ['serp/css/_*.css', 'serp/block/*/*.css']
17
- end
18
-
19
- group :js, :title => 'replacing in scripts' do
20
- replace :in => 'serp/js/_serp.js'
21
- end
22
-
23
- group :html, :title => 'replacing in template files' do
24
- replace :in => 'serp/static/*.html'
25
- end
26
-
27
-
28
- ===О чём речь?===
29
- Jeanny — библиотека для обфускации имен css классов. Следует учесть, что это именно библиотека, а не отдельная тулза, т.е. jeanny сама по себе ничего не делает.
30
- Чтобы заставить её работать, необходимо написать скрипт в котором будет указано, что и где она (jeanny) должна делать.
31
-
32
- Библиотека написана на Ruby, следовательно на "машине" должен быть установлен его интерпретатор. На MacOS X все установлено по-умолчанию.
33
- В unix-like операционных системах тоже можно легко установить Ruby (TODO: написать как устанавливать). Для Windows существует One-click installer.
34
-
35
- ===Установка===