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.
- data/README +35 -0
- data/lib/jeanny/engine.rb +6 -7
- metadata +3 -3
- 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
|
|
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
|
|
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]
|
|
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:
|
|
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:
|
|
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
|
|
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
|