jeanny 0.96 → 0.96.3

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 +35 -0
  2. data/lib/jeanny/engine.rb +6 -7
  3. metadata +3 -3
  4. data/README.md +0 -44
data/README ADDED
@@ -0,0 +1,35 @@
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
+ ===Установка===
data/lib/jeanny/engine.rb CHANGED
@@ -435,7 +435,7 @@ module Jeanny
435
435
  def replace classes
436
436
 
437
437
  tags = []
438
- @code.gsub! /\[%(.*?)%\]/ do |tag|
438
+ @code.gsub! /\[%(.*?)%\]/m do |tag|
439
439
  tags << $1
440
440
 
441
441
  "__tt2-tag__#{tags.length}__"
@@ -446,8 +446,8 @@ module Jeanny
446
446
  tags.map! do |tag|
447
447
 
448
448
  # Пропускаем конструкции в которых точно ничего нет
449
- unless tag =~ /^\s*(#|BLOCK|PROCESS|INCLUDE|INSERT|END\s*$|ELSE\s*$)/im
450
- each_string :in => tag do |string|
449
+ #unless tag =~ /^\s*(#|BLOCK|PROCESS|INCLUDE|INSERT)/im
450
+ each_string :in => tag.dup do |string|
451
451
  unless string =~ /\.(tt2|css|js|png|jpg|gif)\s*$/
452
452
  string_after = string.dup
453
453
  classes.each do |full_class, short_class|
@@ -455,11 +455,10 @@ module Jeanny
455
455
  string_after[pos, full_class.length] = short_class
456
456
  end
457
457
  end
458
- tag = tag.sub string, string_after
458
+ tag.gsub! string, string_after
459
459
  end
460
- tag
461
460
  end
462
- end
461
+ #end
463
462
  tag
464
463
  end
465
464
 
@@ -481,7 +480,7 @@ module Jeanny
481
480
 
482
481
  value = ''
483
482
  status = :in_code
484
- scanner = StringScanner.new args[:in].dup || ''
483
+ scanner = StringScanner.new args[:in] || ''
485
484
 
486
485
  until scanner.eos?
487
486
 
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.96"
4
+ version: 0.96.3
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: 2010-02-02 00:00:00 +02:00
12
+ date: 2009-12-01 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.md
25
+ - README
26
26
  - lib/jeanny.rb
27
27
  - lib/jeanny/engine.rb
28
28
  - lib/jeanny/sugar.rb
data/README.md DELETED
@@ -1,44 +0,0 @@
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