teamon-rubber 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown ADDED
@@ -0,0 +1,43 @@
1
+ rubber v. 0.0.5
2
+ ===============
3
+ Edytor szablonów Joggera
4
+
5
+ Instalacja
6
+ ----------
7
+ gem sources -a http://gems.github.com
8
+ sudo gem install teamon-rubber
9
+
10
+
11
+ Konfiguracja
12
+ ------------
13
+ mkdir my_jogger
14
+ cd my_jogger
15
+ rubber configure
16
+
17
+
18
+ Pobranie plików z Joggera
19
+ -------------------------
20
+ rubber download
21
+
22
+
23
+ Wysłanie zmodyfikowanych plików na Joggera
24
+ ------------------------------------------
25
+ rubber upload files/my_file.html
26
+
27
+
28
+ Wysłanie wszystkich plików na Joggera
29
+ -------------------------------------
30
+ rubber upload files/*
31
+
32
+
33
+ Uruchomienie serwera
34
+ --------------------
35
+ rubber server
36
+
37
+
38
+ Twój jogger jest dostępny pod adresem http://localhost:1337
39
+ Przykładowe treści można zmienić w pliku content.yml
40
+
41
+ Podgląd nowego wpisu
42
+ --------------------
43
+ Dodając plik do folderu posty o nazwie np. "nowy post.html" będzie on dostępny pod adresem http://localhost:1337/nowy%20post
data/Rakefile CHANGED
@@ -3,10 +3,10 @@ require 'rake/gempackagetask'
3
3
 
4
4
  PLUGIN = "rubber"
5
5
  GEM_NAME = "rubber"
6
- GEM_VERSION = "0.0.5"
6
+ GEM_VERSION = "0.0.6"
7
7
  AUTHOR = "Tymon Tobolski"
8
8
  EMAIL = "i@teamon.eu"
9
- HOMEPAGE = "http://teamon.eu/projekty/"
9
+ HOMEPAGE = "http://blog.teamon.eu/projekty/"
10
10
  SUMMARY = "Edytor szablonów Joggera"
11
11
 
12
12
  spec = Gem::Specification.new do |s|
@@ -21,7 +21,7 @@ spec = Gem::Specification.new do |s|
21
21
  s.require_path = 'lib'
22
22
  s.bindir = 'bin'
23
23
  s.executables = %w( rubber )
24
- s.files = %w( LICENSE README.textile Rakefile ) + Dir.glob("{bin,lib}/**/*")
24
+ s.files = %w( LICENSE README.markdown Rakefile ) + Dir.glob("{bin,lib}/**/*")
25
25
  s.add_dependency('mechanize', '>= 0.9.0')
26
26
  s.add_dependency('thin')
27
27
  s.add_dependency('ezcrypto', '>= 0.7.0')
data/bin/rubber CHANGED
@@ -3,5 +3,4 @@ require 'rubygems'
3
3
  # require 'rubber'
4
4
  require File.dirname(__FILE__) + '/../lib/rubber.rb'
5
5
 
6
-
7
6
  Rubber.new(ARGV).run
@@ -0,0 +1 @@
1
+ <p>Blah blah blah</p>
data/lib/rubber.rb CHANGED
@@ -81,6 +81,10 @@ class Rubber
81
81
  File.open(filename, 'w') {|f| f.write @agent.get("https://login.jogger.pl#{url}").forms.first.templatesContent }
82
82
  end
83
83
  end
84
+
85
+ # posty
86
+ Dir.mkdir("posty") unless File.exists?("posty")
87
+ File.open(File.join("posty", "new_one.html"), 'w') {|f| f.write File.read(File.join(File.dirname(__FILE__), "new_entry.html.sample"))} unless File.exists?(File.join("posty", "new_one.html"))
84
88
  end
85
89
 
86
90
  def upload(files = [])
@@ -129,9 +133,9 @@ class Rubber
129
133
 
130
134
  def get_pagesmap
131
135
  @pagesmap = Hash[*@agent.get('https://login.jogger.pl/templates/edit/').links.select{|e| e.href =~ %r[/templates/edit/\?page_id] }.map {|e| ["strony/#{e.text}.html", e.href]}.flatten]
132
- @pagesmap["Szablon wpisów.html"] ='/templates/edit/?file=entries'
133
- @pagesmap["Szablon komentarzy.html"] ='/templates/edit/?file=comments'
134
- @pagesmap["Szablon logowania.html"] ='/templates/edit/?file=login'
136
+ @pagesmap["Szablon_wpisow.html"] ='/templates/edit/?file=entries'
137
+ @pagesmap["Szablon_komentarzy.html"] ='/templates/edit/?file=comments'
138
+ @pagesmap["Szablon_logowania.html"] ='/templates/edit/?file=login'
135
139
  end
136
140
 
137
141
  def get_filemap
data/lib/server.ru CHANGED
@@ -1,8 +1,12 @@
1
1
  require 'rack/response'
2
-
2
+ require 'uri'
3
3
 
4
4
  MONTHS = %w(stycznia lutego marca kwietnia maja czerwca lipa sierpnia września pażdziernika listopada grudnia)
5
5
 
6
+ def colorize(content)
7
+ content.gsub!(%r|\{geshi +lang=(.+?)\}(.+?)\{/geshi\}|m) { "<pre>#{$2}</pre>" }
8
+ end
9
+
6
10
  def tag(body, pattern, replacement)
7
11
  body.gsub! %r|<#{pattern}/>|, replacement.to_s
8
12
  body.gsub! %r|&#{pattern};|, replacement.to_s
@@ -42,9 +46,9 @@ def parse_with_entry(body, entry, counter = 0)
42
46
  tag body, "ENTRY_ID", rand(100)
43
47
  tag body, "ENTRY_LEVEL", rand(3)
44
48
 
45
- tag body, "ENTRY_CONTENT", entry[:content].sub(%r|<EXCERPT>|, "")
46
- tag body, "ENTRY_CONTENT_LONG", entry[:content].split(%r|<EXCERPT>|).last
47
- tag body, "ENTRY_CONTENT_SHORT", entry[:content].split(%r|<EXCERPT>|).first
49
+ tag body, "ENTRY_CONTENT", colorize(entry[:content].sub(%r|<EXCERPT>|, ""))
50
+ tag body, "ENTRY_CONTENT_LONG", colorize(entry[:content].split(%r|<EXCERPT>|).last)
51
+ tag body, "ENTRY_CONTENT_SHORT", colorize(entry[:content].split(%r|<EXCERPT>|).first)
48
52
  body.gsub!(%r|<ENTRY_CONTENT_SHORT_EXIST>(.+?)</ENTRY_CONTENT_SHORT_EXIST>|m) { entry[:content]["<EXCERPT>"] ? parse_with_entry($1, entry) : "" }
49
53
  body.gsub!(%r|<ENTRY_CONTENT_SHORT_NOT_EXIST>(.+?)</ENTRY_CONTENT_SHORT_NOT_EXIST>|m) { entry[:content]["<EXCERPT>"] ? "" : parse_with_entry($1, entry) }
50
54
 
@@ -328,18 +332,27 @@ app = Proc.new do |env|
328
332
 
329
333
  content = case path
330
334
  when "/"
331
- parse :entries, File.read("Szablon wpisów.html")
335
+ parse :entries, File.read("Szablon_wpisow.html")
332
336
  when "/entry"
333
- parse :comments, File.read("Szablon komentarzy.html")
337
+ parse :comments, File.read("Szablon_komentarzy.html")
334
338
  when "/login"
335
- parse :login, File.read("Szablon logowanie.html")
339
+ parse :login, File.read("Szablon_logowanie.html")
336
340
  else
337
- path = "strony/#{path.gsub('-', ' ').gsub('/', '').capitalize}.html"
338
- if File.exists?(path)
339
- parse :page, File.read(path)
341
+ page_path = "strony/#{path.gsub('-', ' ').gsub('/', '').capitalize}.html"
342
+ title = URI.unescape(path.gsub('/', ''))
343
+ entry_path = "posty/#{title}.html"
344
+
345
+ if File.exists?(page_path)
346
+ parse :page, File.read(page_path)
347
+ elsif File.exists?(entry_path)
348
+ @Jogger[:entries][0][:subject] = title
349
+ @Jogger[:entries][0][:content] = File.read(entry_path)
350
+ parse :comments, File.read("Szablon_komentarzy.html")
351
+
340
352
  else
341
353
  "NotFound"
342
354
  end
355
+
343
356
  end
344
357
 
345
358
  [200, {"Content-type" => "text/html"}, content || ""]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamon-rubber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tymon Tobolski
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-16 00:00:00 -07:00
12
+ date: 2009-05-29 00:00:00 -07:00
13
13
  default_executable: rubber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -52,14 +52,15 @@ extra_rdoc_files: []
52
52
 
53
53
  files:
54
54
  - LICENSE
55
- - README.textile
55
+ - README.markdown
56
56
  - Rakefile
57
57
  - bin/rubber
58
58
  - lib/content.yml.sample
59
+ - lib/new_entry.html.sample
59
60
  - lib/rubber.rb
60
61
  - lib/server.ru
61
62
  has_rdoc: false
62
- homepage: http://teamon.eu/projekty/
63
+ homepage: http://blog.teamon.eu/projekty/
63
64
  post_install_message:
64
65
  rdoc_options: []
65
66
 
data/README.textile DELETED
@@ -1,46 +0,0 @@
1
- h2. rubber v. 0.0.5
2
-
3
- Edytor szablonów Joggera
4
-
5
- h3. Instalacja
6
-
7
- <pre><code>
8
- gem sources -a http://gems.github.com
9
- sudo gem install teamon-rubber
10
- </pre></code>
11
-
12
- h3. Inicjalizacja
13
-
14
- <pre><code>
15
- mkdir my_jogger
16
- cd my_jogger
17
- rubber configure
18
- </pre></code>
19
-
20
- h3. Pobranie plików z Joggera
21
-
22
- <pre><code>
23
- rubber download
24
- </pre></code>
25
-
26
- h3. Wysłanie zmodyfikowanych plików na Joggera
27
-
28
- <pre><code>
29
- rubber upload files/my_file.html
30
- </pre></code>
31
-
32
- h3. Wysłanie wszystkich plików na Joggera
33
-
34
- <pre><code>
35
- rubber upload files/*
36
- </pre></code>
37
-
38
- h3. Uruchomienie serwera
39
-
40
- <pre><code>
41
- rubber server
42
- </pre></code>
43
-
44
- Twój jogger jest dostępny pod adresem http://localhost:1337
45
-
46
- Przykładowe treści można zmienić w pliku content.yml