razor 0.5 → 0.5.1

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.md ADDED
@@ -0,0 +1,3 @@
1
+ == Razor
2
+
3
+ See https://github.com/aumgn/razor_sample_blog for an example.
data/lib/razor.rb CHANGED
@@ -29,7 +29,7 @@ module Razor
29
29
  require 'rack'
30
30
  port = (port and port.to_i or 3300)
31
31
  on_request = lambda do |env|
32
- page = Razor.http_request src, env['PATH_INFO']
32
+ page = http_request src, env['PATH_INFO']
33
33
  if page
34
34
  [
35
35
  200,
@@ -0,0 +1,117 @@
1
+ require 'rake'
2
+ require 'rake/tasklib'
3
+ require 'tmpdir'
4
+
5
+ require 'razor'
6
+
7
+ module Razor
8
+
9
+ module Rake
10
+
11
+ module Git
12
+
13
+ class BranchError < RuntimeError
14
+
15
+ def initialize(branch)
16
+ super("Must be on #{branch}")
17
+ end
18
+
19
+ end
20
+
21
+ class CleanBranchError < RuntimeError
22
+
23
+ def initialize
24
+ super("Current branch must be clean.")
25
+ end
26
+
27
+ end
28
+
29
+ class Generate < ::Rake::TaskLib
30
+
31
+ attr_accessor :template_branch
32
+ attr_accessor :site_branch
33
+ attr_accessor :url_base
34
+
35
+ def initialize(name='git:generate')
36
+ @name = name
37
+ @template_branch = 'master'
38
+ @site_branch = 'site'
39
+ @url_base = ''
40
+ yield self if block_given?
41
+ define_task
42
+ end
43
+
44
+ def define_task
45
+ task(@name, [:message]) { |t, args|
46
+ hl = HighLine.new
47
+ ensure_on_branch template_branch
48
+ ensure_branch_is_clean # needed ?
49
+ # .gitinore workaround
50
+ #TODO: Solve this problem
51
+ gitignore = File.read '.gitignore' rescue ''
52
+ Dir.mktmpdir { |tmp|
53
+ Razor.generate(generate_options, '.', tmp)
54
+ checkout site_branch do
55
+ sh 'git rm -r .'
56
+ sh "cp -r #{tmp}/* ."
57
+ # .gitignore workaround
58
+ File.open('.gitignore', 'w') {|f| f << gitignore }
59
+ sh 'git add .'
60
+ msg = args.message
61
+ if msg.nil? or msg.empty?
62
+ sh 'git commit'
63
+ else
64
+ sh "git commit -m #{msg}"
65
+ end
66
+ end
67
+ }
68
+ }
69
+ end
70
+
71
+ def current_branch
72
+ `git status` =~ /^# On branch (.+)/
73
+ return $1
74
+ end
75
+
76
+ def checkout(branch)
77
+ if block_given?
78
+ old = current_branch
79
+ begin
80
+ `git checkout #{branch}`
81
+ yield
82
+ ensure
83
+ `git checkout #{old}`
84
+ end
85
+ else
86
+ `git checkout #{branch}`
87
+ end
88
+ end
89
+
90
+ def ensure_on_branch(branch)
91
+ current_branch == branch and return
92
+ ensure_branch_is_clean
93
+ checkout branch
94
+ rescue CleanBranchError
95
+ raise BranchError.new(branch)
96
+ end
97
+
98
+ def ensure_branch_is_clean
99
+ clean = (`git status` =~ /nothing to commit \(working directory clean\)\n$/ )
100
+ p clean
101
+ clean and return
102
+ raise CleanBranchError
103
+ end
104
+
105
+ def generate_options
106
+ {
107
+ :url_base => @url_base
108
+ }
109
+ end
110
+
111
+ end
112
+
113
+ end
114
+
115
+ end
116
+
117
+ end
@@ -47,7 +47,6 @@ module Razor
47
47
  begin
48
48
  str = File.open(filepath, 'rb') { |f| f.read }
49
49
  rescue
50
- puts $!
51
50
  str = nil
52
51
  end
53
52
  ext = File.extname filename
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Razor
2
- Version = '0.5'
2
+ Version = '0.5.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: razor
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-03-10 00:00:00.000000000 +01:00
12
+ date: 2011-03-11 00:00:00.000000000 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mustache
17
- requirement: &24114740 !ruby/object:Gem::Requirement
17
+ requirement: &21799560 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *24114740
25
+ version_requirements: *21799560
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rack
28
- requirement: &24114220 !ruby/object:Gem::Requirement
28
+ requirement: &21799040 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *24114220
36
+ version_requirements: *21799040
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: highline
39
- requirement: &24113740 !ruby/object:Gem::Requirement
39
+ requirement: &21798560 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *24113740
47
+ version_requirements: *21798560
48
48
  description: ! '''Razor is a static website generator. Describe layouts and pages
49
49
  in ruby. Write them with html and Mustache.
50
50
 
@@ -58,7 +58,7 @@ executables:
58
58
  extensions: []
59
59
  extra_rdoc_files: []
60
60
  files:
61
- - README
61
+ - README.md
62
62
  - LICENSE
63
63
  - lib/razor.rb
64
64
  - lib/razor/generable.rb
@@ -67,10 +67,11 @@ files:
67
67
  - lib/razor/template.rb
68
68
  - lib/razor/rake/ftp.rb
69
69
  - lib/razor/rake/ftp_push.rb
70
+ - lib/razor/rake/git_generate.rb
70
71
  - lib/version.rb
71
72
  - bin/razor
72
73
  has_rdoc: true
73
- homepage: https://github.com/aumgn/razor
74
+ homepage: https://aumgn.fr/razor
74
75
  licenses:
75
76
  - MIT License. See LICENSE file.
76
77
  post_install_message:
data/README DELETED
File without changes