detroit-github 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/.ruby CHANGED
@@ -1,4 +1,6 @@
1
1
  ---
2
+ source:
3
+ - meta
2
4
  authors:
3
5
  - name: T. Sawyer
4
6
  email: transfire@gmail.com
@@ -6,26 +8,28 @@ copyrights:
6
8
  - holder: Thomas Sawyer
7
9
  year: '2011'
8
10
  license: GPL3
9
- replacements: []
10
- conflicts: []
11
11
  requirements:
12
12
  - name: detroit
13
+ version: 0.3.0+
14
+ - name: grit
13
15
  dependencies: []
16
+ alternatives: []
17
+ conflicts: []
14
18
  repositories: []
15
19
  resources:
16
20
  home: http://detroit.github.com/
17
21
  code: http://github.com/detroit/detroit-github
18
22
  mail: http://groups.google.com/group/rubyworks-mailinglist
23
+ extra: {}
19
24
  load_path:
20
25
  - lib
21
- extra: {}
22
26
  revision: 0
23
- name: detroit-github
24
- source:
25
- - Profile
26
- alternatives: []
27
- title: Detroit GitHub
28
- version: 0.1.0
27
+ created: '2011-10-16'
29
28
  summary: GitHub plugin for Detroit
29
+ title: Detroit GitHub
30
+ version: 0.2.0
31
+ name: detroit-github
32
+ suite: detroit
30
33
  description: GitHub plugin for Detroit build system.
31
- date: '2011-10-16'
34
+ organization: rubyworks
35
+ date: '2012-04-01'
File without changes
data/README.rdoc CHANGED
@@ -1,7 +1,11 @@
1
1
  = Detroit GitHub Tool
2
2
 
3
+ {Website}[http://rubyworks.github.com/detroit-github] /
4
+ {Report Issue}[http://github.com/rubyworks/detroit-github/issues] /
5
+ {Repository}[http://github.com/rubyworks/detroit-github]
3
6
 
4
- == DESCRIPTION
7
+
8
+ == Description
5
9
 
6
10
  The GitHub tool provides services tied to your project's
7
11
  github repository.
@@ -10,16 +14,19 @@ Currently it only supports gh-pages publishing from a
10
14
  project's website directory.
11
15
 
12
16
 
13
- == INSTALL
17
+ == Installation
18
+
19
+ Per the usual gem install process:
14
20
 
15
21
  $ gem install detroit-github
16
22
 
17
23
 
18
- == COPYRIGHT
24
+ == Copyrights
19
25
 
20
26
  Copyright (c) 2011 Thomas Sawyer
21
27
 
22
- GPL v.3 license
28
+ Detroit GitHub is distributable in accordance with the GPL, GNU General Public
29
+ License, version 3 or higher.
23
30
 
24
- See COPYING.rdoc and GPL3.txt file for details.
31
+ See COPYING.rdoc and LICENSE.txt file for details.
25
32
 
@@ -18,11 +18,14 @@ module Detroit
18
18
  #
19
19
  PAGES_BRANCH = "gh-pages"
20
20
 
21
+ # The project directory to store the gh-pages git repo.
22
+ DEFAULT_FOLDER = "web"
23
+
21
24
  #
22
25
  DEFAULT_REMOTE = "origin"
23
26
 
24
- #
25
- DEFAULT_MESSAGE ="Update by Detroit. [admin]"
27
+ # Default commit message.
28
+ DEFAULT_MESSAGE = "Update pages via Detroit."
26
29
 
27
30
 
28
31
  # A T T R I B U T E S
@@ -33,13 +36,22 @@ module Detroit
33
36
  # Commit message.
34
37
  attr_accessor :message
35
38
 
36
- # List of directories and files to transfer.
39
+ # Pages folder to use (defaults to 'pages').
40
+ attr_accessor :folder
41
+
42
+ # Alias for `#folder`.
43
+ alias_accessor :gh_pages, :folder
44
+
45
+ # Use a local check out?
46
+ #attr_accessor :local
47
+
48
+ # List of directories and files to copy to pages.
37
49
  # If a single directory entry is given then the contents
38
- # of that directory will be transfered.
39
- attr_reader :sitemap
50
+ # of that directory will be copied.
51
+ #attr_reader :sitemap
40
52
 
41
53
  # List of any files/directory to not overwrite in branch.
42
- attr_reader :keep
54
+ #attr_reader :keep
43
55
 
44
56
  # Set sitemap.
45
57
  def sitemap=(entries)
@@ -64,62 +76,66 @@ module Detroit
64
76
  # The repository branch (ALWAYS "gh-pages").
65
77
  attr_reader :branch
66
78
 
79
+ # A S S E M B L Y
67
80
 
68
- # A S S E M B L Y S T A T I O N S
69
-
70
- #
71
- def station_publish
72
- publish
81
+ # Do not need to `prepare` if gh_pages directory is already created.
82
+ def assemble?(station, options={})
83
+ case station
84
+ when :prepare
85
+ child ? false : true
86
+ when :publish, :clean
87
+ true
88
+ end
73
89
  end
74
90
 
75
- #
76
- def station_clean
77
- clean
91
+ # Attach to `prepare`, `publish` and `clean`.
92
+ def assemble(station, options={})
93
+ case station
94
+ when :prepare then prepare
95
+ when :publish then publish
96
+ when :clean then clean
97
+ end
78
98
  end
79
99
 
80
-
81
100
  # S E R V I C E M E T H O D S
82
101
 
83
- # Publish sitemap files to branch (gh-pages).
84
- def publish
85
- if expanded_sitemap.empty?
86
- report "No files selected for publishing."
87
- return
88
- end
102
+ #
103
+ def prepare
104
+ return if child
89
105
 
90
- url = repo.config["remote.#{remote}.url"]
91
- dir = Dir.pwd # project.root
92
- new = !repo.branches.find{ |b| b.name == branch }
106
+ if File.exist?(pgdir)
107
+ abort "Can't setup gh-pages at #{folder}. Directory already exists."
108
+ end
93
109
 
94
- create_branch if new
110
+ # does the master repo have a gh-pages branch?
111
+ new = !master.branches.find{ |b| b.name == branch }
95
112
 
96
- chdir(tmpdir) do
97
- sh %[git clone --local #{dir} .]
98
- sh %[git checkout #{branch}]
113
+ if new
114
+ create_branch
115
+ else
116
+ clone_branch
99
117
  end
100
118
 
101
- paths_to_remove.each do |path|
102
- path = File.join(tmpdir, path)
103
- rm path if File.file?(path)
104
- end
119
+ update_gitignore
120
+ end
105
121
 
106
- expanded_sitemap.each do |(src, dest)|
107
- trace "transfer: #{src} => #{dest}"
108
- if directory?(src)
109
- out = File.join(tmpdir, dest)
110
- mkdir_p(out) unless File.directory?(out)
111
- else
112
- out = File.join(tmpdir, dest)
113
- mkdir_p(File.dirname(out))
114
- install(src, out) unless keep.include?(dest)
115
- end
122
+ #
123
+ # Publish sitemap files to branch (gh-pages).
124
+ #
125
+ # @todo Should we all `git add --all` ?
126
+ #
127
+ def publish
128
+ if !File.directory?(pgdir)
129
+ report "No pages folder found (#{folder})."
130
+ return
116
131
  end
117
132
 
118
- chdir(tmpdir) do
119
- sh %[git add --all]
133
+ #copy_files # post_generate assembly ?
134
+
135
+ chdir(pgdir) do
136
+ #sh %[git add -A]
120
137
  sh %[git commit -q -a -m "#{message}"]
121
- sh %[git push #{remote} #{branch}] # TODO: add --dry-run if trial?
122
- sh %[git push #{url} #{branch}] # TODO: add --dry-run if trial?
138
+ sh %[git push #{remote} #{branch}]
123
139
  end
124
140
  end
125
141
 
@@ -130,54 +146,93 @@ module Detroit
130
146
 
131
147
  private
132
148
 
133
- # If the gh-pages branch doesn't exist we will need to create it.
134
- #--
149
+ # NOTE: Considered using `sh %[git clone --local . #{pgdir}]` but
150
+ # that appeared to require duplicate commits, once in pgdir and
151
+ # then in root.
152
+
153
+ # Clone the repo to a local folder, checkout the pages
154
+ # branch and remove the master branch.
155
+ #
156
+ def clone_branch
157
+ sh %[git clone #{url} #{pgdir}]
158
+ Dir.chdir(pgdir) do
159
+ sh %[git checkout #{branch}]
160
+ sh %[git branch -d master]
161
+ end
162
+ end
163
+
135
164
  # TODO: This assumes we started out on master. Look up current and swtich back to that.
136
- #++
165
+
166
+ # If the gh-pages branch doesn't exist we need to create it.
137
167
  def create_branch
138
- size = repo.status.changed.size +
139
- repo.status.added.size +
140
- repo.status.deleted.size
141
- if size > 0
142
- abort "Cannot create gh-pages branch in dirty repo."
168
+ sh %[git clone #{url} #{pgdir}]
169
+ Dir.chdir(pgdir) do
170
+ sh %[git symbolic-ref HEAD refs/heads/#{branch}]
171
+ sh %[rm .git/index]
172
+ sh %[git clean -fdxq]
173
+ sh %[echo "My GitHub Page" > index.html]
174
+ sh %[git add .]
175
+ sh %[git commit -a -m "First pages commit."]
176
+ sh %[git push origin #{branch}]
177
+ sh %[git checkout #{branch}]
178
+ sh %[git branch -d master]
179
+ end
180
+ end
181
+
182
+ # Only updates .gitignore if folder is not already present.
183
+ def update_gitignore
184
+ file = File.join(root, '.gitignore')
185
+ if File.exist?(file)
186
+ done = false
187
+ File.readlines(file).each do |line|
188
+ done = true if line.strip == folder
189
+ end
190
+ append(file, folder) unless done
191
+ else
192
+ write(file, folder)
143
193
  end
144
- ## save any outstadning changes
145
- sh 'git stash save'
146
- ## yes, only a (git) fanboy could possibly think this
147
- ## is a good way to handle websites
148
- sh 'git symbolic-ref HEAD refs/heads/gh-pages'
149
- sh 'rm .git/index'
150
- sh 'git clean -fdxq'
151
- sh 'echo "My GitHub Page" > index.html'
152
- sh 'git add .'
153
- sh 'git commit -a -m "First pages commit"'
154
- sh 'git push origin gh-pages'
155
- ## gh-pages is made, let's get back to master
156
- sh 'git checkout master'
157
- sh 'git stash pop'
158
- end
159
-
160
- #--
161
- # TODO: Does the POM Project provide the site directory?
162
- #++
194
+ end
195
+
196
+ # TODO: Does the POM Project provide the site folder?
197
+
198
+ #
163
199
  def initialize_defaults
164
200
  @branch ||= PAGES_BRANCH
201
+ @folder ||= DEFAULT_FOLDER
165
202
  @remote ||= DEFAULT_REMOTE
166
203
  @message ||= DEFAULT_MESSAGE
167
- @sitemap ||= default_sitemap
168
- @keep ||= []
169
204
  end
170
205
 
171
- # Require Grit.
172
- #
173
206
  # TODO: Switch to `scm` gem if it is better than grit.
207
+
208
+ # Require Grit.
174
209
  def initialize_requires
175
210
  require 'grit'
176
211
  end
177
212
 
178
213
  # Get a cached Grit::Repo instance.
179
- def repo
180
- @repo ||= Grit::Repo.new(project ? project.root : Dir.pwd)
214
+ def master
215
+ @master ||= Grit::Repo.new(root)
216
+ end
217
+
218
+ # Remote URL for master.
219
+ def url
220
+ @url ||= master.config["remote.#{remote}.url"]
221
+ end
222
+
223
+ # Child Grit::Repo instance, i.e. a repo just for gh-pages.
224
+ def child
225
+ @child ||= \
226
+ begin
227
+ Grit::Repo.new(pgdir) if File.directory?(pgdir)
228
+ rescue Grit::InvalidGitRepositoryError
229
+ nil
230
+ end
231
+ end
232
+
233
+ # Location of child folder.
234
+ def pgdir
235
+ @pgdir ||= File.join(root,folder)
181
236
  end
182
237
 
183
238
  # Cached system temporary directory.
@@ -189,6 +244,35 @@ module Detroit
189
244
  )
190
245
  end
191
246
 
247
+ #
248
+ def root
249
+ project ? project.root : Dir.pwd
250
+ end
251
+
252
+ # TODO: Add support to copy files from project root to gh-pages folder.
253
+ # This can be helpful when serving generated content.
254
+
255
+ =begin
256
+ # Copy files from project root to gh-pages folder.
257
+ def copy_files
258
+ paths_to_remove.each do |path|
259
+ path = File.join(tmpdir, path)
260
+ rm path if File.file?(path)
261
+ end
262
+
263
+ expanded_sitemap.each do |(src, dest)|
264
+ trace "transfer: #{src} => #{dest}"
265
+ if directory?(src)
266
+ out = File.join(tmpdir, dest)
267
+ mkdir_p(out) unless File.directory?(out)
268
+ else
269
+ out = File.join(tmpdir, dest)
270
+ mkdir_p(File.dirname(out))
271
+ install(src, out) unless keep.include?(dest)
272
+ end
273
+ end
274
+ end
275
+
192
276
  # Default sitemap includes the `site` directoy, if it exists.
193
277
  # Otherwise the `doc` directory.
194
278
  def default_sitemap
@@ -232,6 +316,7 @@ module Detroit
232
316
  paths = arrival - present - keep
233
317
  paths
234
318
  end
319
+ =end
235
320
 
236
321
  public
237
322
 
@@ -0,0 +1,93 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "DETROIT\-GITHUB" "5" "October 2011" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBdetroit\-github\fR \- github services for detroit
8
+ .
9
+ .SH "DESCRIPTION"
10
+ The GitHub tool provides services tied to your project\'s github repository\. Presently it only supports gh\-pages publishing\.
11
+ .
12
+ .SH "OPTIONS"
13
+ The following options can be used in Detroit assembly files for defining a github service\.
14
+ .
15
+ .IP "\(bu" 4
16
+ \fBremote\fR \- The remote to use (defaults to \'origin\')\.
17
+ .
18
+ .IP "\(bu" 4
19
+ \fBmessage\fR \- Commit message\.
20
+ .
21
+ .IP "\(bu" 4
22
+ \fBsitemap\fR \- List of directories and files to transfer\. If a single directory entry is given then the contents of that directory will be transfered\. Defaults to \fBsite\fR, \fBwebsite\fR or \fBdoc\fR\.
23
+ .
24
+ .IP "\(bu" 4
25
+ \fBkeep\fR \- List of any files/directory to not overwrite in branch\.
26
+ .
27
+ .IP "" 0
28
+ .
29
+ .SH "EXAMPLES"
30
+ If you keep your website in a project subdirectory called either \fBsite\fR, \fBweb\fR, \fBwebsite\fR or \fBwww\fR, and failing those, \fBdoc\fR or \fBdocs\fR, then the defaults settings are likely sufficiant\.
31
+ .
32
+ .IP "" 4
33
+ .
34
+ .nf
35
+
36
+ github:
37
+ active: true
38
+ .
39
+ .fi
40
+ .
41
+ .IP "" 0
42
+ .
43
+ .P
44
+ If the files to copy to the gh\-pages branch are more entailed, use a mapping of source to destination\. For example, if we want to copy all the files in \fBsite/\fR to gh\-pages, but also all the files in \fBdoc/\fR to a directory called \fBdoc\fR we could use:
45
+ .
46
+ .IP "" 4
47
+ .
48
+ .nf
49
+
50
+ github:
51
+ sitemap:
52
+ site: \.
53
+ doc: doc
54
+ .
55
+ .fi
56
+ .
57
+ .IP "" 0
58
+ .
59
+ .P
60
+ However, this isn\'t usually necessary, since a soft link could be used instead\.
61
+ .
62
+ .IP "" 4
63
+ .
64
+ .nf
65
+
66
+ $ ln \-s doc site/doc
67
+ .
68
+ .fi
69
+ .
70
+ .IP "" 0
71
+ .
72
+ .P
73
+ You can check soft\-links into with git and they will be transfered as if the real file when copied to the gh\-pages file\. So a more complex \fBsitemap\fR is really only needed when more specific selections or complex globs are needed\.
74
+ .
75
+ .SH "RESOURCES"
76
+ For more information:
77
+ .
78
+ .IP "\(bu" 4
79
+ API Documentation \fIhttp://rubydoc\.info/gems/detroit\-github\fR
80
+ .
81
+ .IP "\(bu" 4
82
+ Development Site \fIhttp://github\.com/detroit/detroit\-github\fR
83
+ .
84
+ .IP "" 0
85
+ .
86
+ .SH "COPYRIGHT"
87
+ Copyright (c) 2010 Thomas Sawyer, Rubyworks
88
+ .
89
+ .P
90
+ Detroit GitHub is distributable in accordance with the GPLv3 license\.
91
+ .
92
+ .SH "SEE ALSO"
93
+ detroit(1), git(1), detroit\-grancher(5)
@@ -0,0 +1,159 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
5
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
6
+ <title>detroit-github(5) - github services for detroit</title>
7
+ <style type='text/css' media='all'>
8
+ /* style: man */
9
+ body#manpage {margin:0}
10
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
11
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
12
+ .mp h2 {margin:10px 0 0 0}
13
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
14
+ .mp h3 {margin:0 0 0 4ex}
15
+ .mp dt {margin:0;clear:left}
16
+ .mp dt.flush {float:left;width:8ex}
17
+ .mp dd {margin:0 0 0 9ex}
18
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
19
+ .mp pre {margin-bottom:20px}
20
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
21
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
22
+ .mp img {display:block;margin:auto}
23
+ .mp h1.man-title {display:none}
24
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
25
+ .mp h2 {font-size:16px;line-height:1.25}
26
+ .mp h1 {font-size:20px;line-height:2}
27
+ .mp {text-align:justify;background:#fff}
28
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
29
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
30
+ .mp u {text-decoration:underline}
31
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
32
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
33
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
34
+ .mp b.man-ref {font-weight:normal;color:#434241}
35
+ .mp pre {padding:0 4ex}
36
+ .mp pre code {font-weight:normal;color:#434241}
37
+ .mp h2+pre,h3+pre {padding-left:0}
38
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
39
+ ol.man-decor {width:100%}
40
+ ol.man-decor li.tl {text-align:left}
41
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
42
+ ol.man-decor li.tr {text-align:right;float:right}
43
+ </style>
44
+ </head>
45
+ <!--
46
+ The following styles are deprecated and will be removed at some point:
47
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
48
+
49
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
50
+ .man-navigation should be used instead.
51
+ -->
52
+ <body id='manpage'>
53
+ <div class='mp' id='man'>
54
+
55
+ <div class='man-navigation' style='display:none'>
56
+ <a href="#NAME">NAME</a>
57
+ <a href="#DESCRIPTION">DESCRIPTION</a>
58
+ <a href="#OPTIONS">OPTIONS</a>
59
+ <a href="#EXAMPLES">EXAMPLES</a>
60
+ <a href="#RESOURCES">RESOURCES</a>
61
+ <a href="#COPYRIGHT">COPYRIGHT</a>
62
+ <a href="#SEE-ALSO">SEE ALSO</a>
63
+ </div>
64
+
65
+ <ol class='man-decor man-head man head'>
66
+ <li class='tl'>detroit-github(5)</li>
67
+ <li class='tc'></li>
68
+ <li class='tr'>detroit-github(5)</li>
69
+ </ol>
70
+
71
+ <h2 id="NAME">NAME</h2>
72
+ <p class="man-name">
73
+ <code>detroit-github</code> - <span class="man-whatis">github services for detroit</span>
74
+ </p>
75
+
76
+ <h2 id="DESCRIPTION">DESCRIPTION</h2>
77
+
78
+ <p>The GitHub tool provides services tied to your project's
79
+ github repository. Presently it only supports gh-pages
80
+ publishing.</p>
81
+
82
+ <h2 id="OPTIONS">OPTIONS</h2>
83
+
84
+ <p>The following options can be used in Detroit assembly files
85
+ for defining a github service.</p>
86
+
87
+ <ul>
88
+ <li><p><code>remote</code> - The remote to use (defaults to 'origin').</p></li>
89
+ <li><p><code>message</code> - Commit message.</p></li>
90
+ <li><p><code>sitemap</code> - List of directories and files to transfer.
91
+ If a single directory entry is given then the contents
92
+ of that directory will be transfered. Defaults to <code>site</code>,
93
+ <code>website</code> or <code>doc</code>.</p></li>
94
+ <li><p><code>keep</code> - List of any files/directory to not overwrite in branch.</p></li>
95
+ </ul>
96
+
97
+
98
+ <h2 id="EXAMPLES">EXAMPLES</h2>
99
+
100
+ <p>If you keep your website in a project subdirectory called either
101
+ <code>site</code>, <code>web</code>, <code>website</code> or <code>www</code>, and failing those, <code>doc</code> or <code>docs</code>,
102
+ then the defaults settings are likely sufficiant.</p>
103
+
104
+ <pre><code>github:
105
+ active: true
106
+ </code></pre>
107
+
108
+ <p>If the files to copy to the gh-pages branch are more entailed, use
109
+ a mapping of source to destination. For example, if we want to copy
110
+ all the files in <code>site/</code> to gh-pages, but also all the files in <code>doc/</code>
111
+ to a directory called <code>doc</code> we could use:</p>
112
+
113
+ <pre><code>github:
114
+ sitemap:
115
+ site: .
116
+ doc: doc
117
+ </code></pre>
118
+
119
+ <p>However, this isn't usually necessary, since a soft link could be used
120
+ instead.</p>
121
+
122
+ <pre><code>$ ln -s doc site/doc
123
+ </code></pre>
124
+
125
+ <p>You can check soft-links into with git and they will be transfered as
126
+ if the real file when copied to the gh-pages file. So a more complex
127
+ <code>sitemap</code> is really only needed when more specific selections or
128
+ complex globs are needed.</p>
129
+
130
+ <h2 id="RESOURCES">RESOURCES</h2>
131
+
132
+ <p>For more information:</p>
133
+
134
+ <ul>
135
+ <li><p><a href="http://rubydoc.info/gems/detroit-github">API Documentation</a></p></li>
136
+ <li><p><a href="http://github.com/detroit/detroit-github">Development Site</a></p></li>
137
+ </ul>
138
+
139
+
140
+ <h2 id="COPYRIGHT">COPYRIGHT</h2>
141
+
142
+ <p>Copyright (c) 2010 Thomas Sawyer, Rubyworks</p>
143
+
144
+ <p>Detroit GitHub is distributable in accordance with the GPLv3 license.</p>
145
+
146
+ <h2 id="SEE-ALSO">SEE ALSO</h2>
147
+
148
+ <p><span class="man-ref">detroit<span class="s">(1)</span></span>, <span class="man-ref">git<span class="s">(1)</span></span>, <span class="man-ref">detroit-grancher<span class="s">(5)</span></span></p>
149
+
150
+
151
+ <ol class='man-decor man-foot man foot'>
152
+ <li class='tl'></li>
153
+ <li class='tc'>October 2011</li>
154
+ <li class='tr'>detroit-github(5)</li>
155
+ </ol>
156
+
157
+ </div>
158
+ </body>
159
+ </html>
@@ -0,0 +1,74 @@
1
+ detroit-github(5) - github services for detroit
2
+ ===============================================
3
+
4
+ ## DESCRIPTION
5
+
6
+ The GitHub tool provides services tied to your project's
7
+ github repository. Presently it only supports gh-pages
8
+ publishing.
9
+
10
+ ## OPTIONS
11
+
12
+ The following options can be used in Detroit assembly files
13
+ for defining a github service.
14
+
15
+ * `remote` - The remote to use (defaults to 'origin').
16
+
17
+ * `message` - Commit message.
18
+
19
+ * `sitemap` - List of directories and files to transfer.
20
+ If a single directory entry is given then the contents
21
+ of that directory will be transferred. Defaults to `site`,
22
+ `website` or `doc`.
23
+
24
+ * `keep` - List of any files/directory to not overwrite in branch.
25
+
26
+ ## EXAMPLES
27
+
28
+ If you keep your website in a project sub-directory called either
29
+ `site`, `web`, `website` or `www`, and failing those, `doc` or `docs`,
30
+ then the defaults settings are likely sufficient.
31
+
32
+ github:
33
+ active: true
34
+
35
+ If the files to copy to the gh-pages branch are more entailed, use
36
+ a mapping of source to destination. For example, if we want to copy
37
+ all the files in `site/` to gh-pages, but also all the files in `doc/`
38
+ to a directory called `doc` we could use:
39
+
40
+ github:
41
+ sitemap:
42
+ site: .
43
+ doc: doc
44
+
45
+ However, this isn't usually necessary, since a soft link could be used
46
+ instead.
47
+
48
+ $ ln -s doc site/doc
49
+
50
+ You can check soft-links into with git and they will be transferred as
51
+ if the real file when copied to the gh-pages file. So a more complex
52
+ `sitemap` is really only needed when more specific selections or
53
+ complex globs are needed.
54
+
55
+
56
+ ## RESOURCES
57
+
58
+ For more information:
59
+
60
+ * [API Documentation](http://rubydoc.info/gems/detroit-github)
61
+
62
+ * [Development Site](http://github.com/detroit/detroit-github)
63
+
64
+
65
+ ## COPYRIGHT
66
+
67
+ Copyright (c) 2010 Thomas Sawyer, Rubyworks
68
+
69
+ Detroit GitHub is distributable in accordance with the GPLv3 license.
70
+
71
+
72
+ ## SEE ALSO
73
+
74
+ detroit(1), git(1), detroit-grancher(5)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: detroit-github
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-19 00:00:00.000000000 Z
12
+ date: 2012-04-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: detroit
16
- requirement: &16829080 !ruby/object:Gem::Requirement
16
+ requirement: &16794180 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.3.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *16794180
25
+ - !ruby/object:Gem::Dependency
26
+ name: grit
27
+ requirement: &16786740 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,24 +32,28 @@ dependencies:
21
32
  version: '0'
22
33
  type: :runtime
23
34
  prerelease: false
24
- version_requirements: *16829080
35
+ version_requirements: *16786740
25
36
  description: GitHub plugin for Detroit build system.
26
37
  email:
27
38
  - transfire@gmail.com
28
39
  executables: []
29
40
  extensions: []
30
41
  extra_rdoc_files:
31
- - GPL3.txt
42
+ - LICENSE.txt
32
43
  - README.rdoc
33
44
  - COPYING.rdoc
34
45
  files:
35
46
  - .ruby
36
47
  - lib/detroit-github.rb
48
+ - man/detroit-github.5
49
+ - man/detroit-github.5.html
50
+ - man/detroit-github.5.ronn
51
+ - LICENSE.txt
37
52
  - README.rdoc
38
- - GPL3.txt
39
53
  - COPYING.rdoc
40
54
  homepage: http://detroit.github.com/
41
- licenses: []
55
+ licenses:
56
+ - GPL3
42
57
  post_install_message:
43
58
  rdoc_options: []
44
59
  require_paths:
@@ -57,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
72
  version: '0'
58
73
  requirements: []
59
74
  rubyforge_project:
60
- rubygems_version: 1.8.5
75
+ rubygems_version: 1.8.11
61
76
  signing_key:
62
77
  specification_version: 3
63
78
  summary: GitHub plugin for Detroit