jeanny 0.96 → 0.96.3

Sign up to get free protection for your applications and to get access to all the features.
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